diff --git a/CMGTools/Common/.cdtproject b/CMGTools/Common/.cdtproject deleted file mode 100644 index 404fe3e8a29c..000000000000 --- a/CMGTools/Common/.cdtproject +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/Common/.project b/CMGTools/Common/.project deleted file mode 100644 index 61b93205a26c..000000000000 --- a/CMGTools/Common/.project +++ /dev/null @@ -1,88 +0,0 @@ - - - Common - - - - - - org.python.pydev.PyDevBuilder - - - - - org.eclipse.cdt.make.core.makeBuilder - - - - org.eclipse.cdt.make.core.enableCleanBuild - false - - - org.eclipse.cdt.make.core.append_environment - true - - - org.eclipse.cdt.make.core.stopOnError - false - - - org.eclipse.cdt.make.core.enabledIncrementalBuild - false - - - org.eclipse.cdt.make.core.build.command - scram - - - org.eclipse.cdt.make.core.build.target.inc - all - - - org.eclipse.cdt.make.core.build.arguments - b - - - org.eclipse.cdt.make.core.environment - - - - org.eclipse.cdt.make.core.useDefaultBuildCmd - false - - - org.eclipse.cdt.make.core.enableAutoBuild - false - - - org.eclipse.cdt.make.core.build.target.auto - all - - - org.eclipse.cdt.make.core.enableFullBuild - false - - - org.eclipse.cdt.make.core.build.target.clean - clean - - - org.eclipse.cdt.core.errorOutputParser - org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser; - - - - - org.eclipse.cdt.make.core.ScannerConfigBuilder - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.make.core.makeNature - org.eclipse.cdt.make.core.ScannerConfigNature - org.eclipse.cdt.core.ccnature - org.python.pydev.pythonNature - - diff --git a/CMGTools/Common/.pydevproject b/CMGTools/Common/.pydevproject deleted file mode 100644 index f8c0075c7652..000000000000 --- a/CMGTools/Common/.pydevproject +++ /dev/null @@ -1,7 +0,0 @@ - - - - -Default -python 2.6 - diff --git a/CMGTools/Common/BuildFile.xml b/CMGTools/Common/BuildFile.xml deleted file mode 100644 index fba1ce777221..000000000000 --- a/CMGTools/Common/BuildFile.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/Common/bin/installCMGTools.py b/CMGTools/Common/bin/installCMGTools.py deleted file mode 100755 index d83f417abd07..000000000000 --- a/CMGTools/Common/bin/installCMGTools.py +++ /dev/null @@ -1,172 +0,0 @@ -#!/usr/bin/env python - -import sys -import os -from optparse import OptionParser -import subprocess -import urllib - - -ENABLE=True - -def isInputDict(seq): - '''Duck-typing a sequence to see if its a dictionary''' - try: - seq.keys() - return True - except: - return False - - -def getCPUCount(): - - result = 1 - try: - import multiprocessing - result = multiprocessing.cpu_count() - except (ImportError, NotImplementedError): - import platform - if platform.node().lower().startswith('lxplus'): - result = 4 - pass - - return result - -class InstallCMGTools(object): - """ - A class to make the installation of CMGTools easier - @author Luke Heo - seong.gu.heo@cern.ch - """ - - def setReleaseInfo(self, version, recipe=None): - - try: - repo_url = "http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi" - file_name_base = version - if recipe: - file_name_base = "%s_%s" % (file_name_base, recipe) - full_url = '%s/UserCode/CMG/CMGTools/Common/python/release_info/%s.py?view=co' % \ - (repo_url, file_name_base) - release_info = urllib.urlopen(full_url) - content = release_info.read() - if content.find('404 Not Found') != -1: - raise Exception("The file '%s' does not exist or could not be accessed" % full_url) - if content is not None and content: - self.dic_list = eval(content) - except Exception, e: - message = "Release info can not be found for version '%s' " \ - "(recipe: %s) - the error was '%s'" % \ - (version, recipe, str(e)) - raise Exception(message) - - def __init__(self): - self.options, self.args = self.parseOptions() - - self.setReleaseInfo(self.options.cmssw_version, self.options.recipe) - - pwd = os.getcwd() - try: - self.init() - finally: - os.chdir(pwd) - - if self.options.build: - try: - src = os.path.join(self.options.installation_directory,self.options.cmssw_version,'src') - os.chdir(src) - subprocess.call(['scram', 'b', '-j', str(getCPUCount())]) - finally: - os.chdir(pwd) - - def parseOptions(self): - """ Accept arguments""" - parser = OptionParser() - parser.add_option("-d", "--dir", type="string", dest="installation_directory", default='CMGTools', - help="write a installation directory, e.g. '--dir ~/scratch0/CMGTools'") - parser.add_option("-r", "--release",type="string", dest="cmssw_version", default="${CMSSW_VERSION}", - help="write a CMSSW version, e.g. '--release=${CMSSW_VERSION}'") - parser.add_option("", "--recipe", type="string", - dest="recipe", default=None, - help="Recipe to follow (useful for 'experimental' releases)") - parser.add_option("-b", "--build", action="store_true", dest="build", default=False, - help="Build the packages after checking out") - options, args = parser.parse_args() - - #expand environment variables etc - options.cmssw_version = os.path.expandvars(options.cmssw_version) - options.installation_directory = os.path.abspath(os.path.expanduser(options.installation_directory)) - - return options, args - - def init(self): - """Checkout CMGTools""" - - self.installCMSSW() - - pwd = os.getcwd() - try: - src = os.path.join(self.options.installation_directory,self.options.cmssw_version,'src') - os.chdir(src) - self.checkoutCMGTools() - finally: - os.chdir(pwd) - - - def installCMSSW(self): - """Install CMSSW""" - if not os.path.exists(self.options.installation_directory): - os.mkdir(self.options.installation_directory) - - try: - os.chdir("%s" % self.options.installation_directory) - finally: - subprocess.call(['scram', 'project', 'CMSSW', '%s' % self.options.cmssw_version]) - - - def checkout(self, pack, cvsmod, tag, doit = True): - '''Check out one package.''' - - tagcmd = ' '.join( ['-r', tag] ) - if tag.lower() == 'head': - tagcmd = '' - - dircmd = '' - if pack != cvsmod: - dircmd = ' '.join( ['-d', pack] ) - - cmd = ' '.join( ['cvs co', tagcmd, dircmd, cvsmod] ) - print cmd - if doit: - os.system(cmd) - - - def checkoutCMGTools(self): - """Checkout CMGTools""" - if not isInputDict( self.dic_list): - for pack, cvsmod, tag in self.dic_list: - self.checkout( pack, cvsmod, tag, doit=ENABLE) - else: - # the following is kept for backward compatibility - for key in self.dic_list.keys(): - cmd = 'cvs checkout ' - #add a tag if needed - if not self.dic_list[key][0].lower() == 'head': - cmd += '-r %s ' % self.dic_list[key][0] - #specify a target directory if needed - if self.dic_list[key][1] and key != self.dic_list[key][1]: - cmd += '-d %s ' % self.dic_list[key][1] - cmd = '%s %s' % (cmd,key) - print cmd - os.system(cmd) - - -###################################################################### - -if __name__ == '__main__': - - try: - m = InstallCMGTools() - except Exception, e: - print "ERROR %s" % str(e) - -###################################################################### diff --git a/CMGTools/Common/interface/AnalysisHistograms.h b/CMGTools/Common/interface/AnalysisHistograms.h deleted file mode 100644 index 8da59bb9e8ed..000000000000 --- a/CMGTools/Common/interface/AnalysisHistograms.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef CMGTools_Common_AnalysisHistograms_h -#define CMGTools_Common_AnalysisHistograms_h - -// Base class for histogram managing. -// -// Original Author: Artur Kalinowski -// Created: Tue Oct 24 15:06:12 CEST 2006 -// $Id: AnalysisHistograms.h,v 1.1 2010/11/11 14:09:03 wreece Exp $ -// -// -#include -#include -#include -#include -#include -#include - -#include "CommonTools/Utils/interface/TFileDirectory.h" - -//ROOT include files -#include "TH1.h" -#include "TH2.h" -#include "TH3.h" -#include "TProfile.h" - -//TODO Colin: no need to copy strings as arguments -//TODO Colin: many map searches are unnecessary - -class AnalysisHistograms { - public: - - - AnalysisHistograms():histosInitialized_(false){}; - - /* - AnalysisHistograms(TFileDirectory *myDir, - const std::string & name=""): - histosInitialized_(false), name_(name){}; - */ - - virtual ~AnalysisHistograms(); - - - void fillProfile(const std::string& name, float x, float val, float weight=1.0); - void fill1DHistogram(std::string name, float val, float weight=1.0); - void fill2DHistogram(std::string name, float val1, float val2, float weight=1.0); - void fill3DHistogram(std::string name, float val1, float val2, float val3, float weight=1.0); - - TProfile* getProfile(const std::string& name); - TH1F* get1DHistogram(std::string name); - TH2F* get2DHistogram(std::string name); - TH3F* get3DHistogram(std::string name); - - - protected: - - void clear(); - - void write(); - - virtual void init(TFileDirectory *myDir, const std::string & name=""); - - ///Method for backward compatibility. - ///Will be removed at some time - virtual void init(const TFileDirectory *myDir); - - virtual void init(const std::string & name=""){}; - - virtual void defineHistograms() = 0; - - virtual void finalizeHistograms(); - - - - /// The ROOT file with histograms - TFileDirectory *file_; - - ///The secondary directory. - std::vector mySecondaryDirs_; - - /// The histograms - std::map myProfiles_; - std::map my1Dhistograms_; - std::map my2Dhistograms_; - std::map my3Dhistograms_; - - void addProfile(const std::string& name, const std::string& title, - int nBinsX, float xlow, float xhigh, - const TFileDirectory* myDir); - - void add1DHistogram(std::string name, std::string title, - int nBinsX, float xlow, float xhigh, - const TFileDirectory* myDir); - - void add1DHistogram(std::string name, std::string title, - int nBinsX, float* bins, - const TFileDirectory* myDir); - - void add2DHistogram(std::string name, std::string title, - int nBinsX, float xlow, float xhigh, - int nBinsY, float ylow, float yhigh, - const TFileDirectory* myDir); - void add2DHistogram(std::string name, std::string title, - int nBinsX, float* binsX, - int nBinsY, float* binsY, - const TFileDirectory* myDir); - void add2DHistogram(std::string name, std::string title, - int nBinsX, float xlow, float xhigh, - int nBinsY, double* binsY, - const TFileDirectory* myDir); - void add3DHistogram(std::string name, std::string title, - int nBinsX, float xlow, float xhigh, - int nBinsY, float ylow, float yhigh, - int nBinsZ, float zlow, float zhigh, - const TFileDirectory* myDir); - void add3DHistogram(std::string name, std::string title, - int nBinsX, double* binsX, - int nBinsY, double* binsY, - int nBinsZ, double* binsZ, - const TFileDirectory* myDir); - - static void resetHistos(std::pair aPair); - - - double* equalRanges(int nSteps, double min, double max, double *ranges); - bool histosInitialized_; - - - ///Name of the histograms set instance - std::string name_; - -}; - -#endif diff --git a/CMGTools/Common/interface/Cut.h b/CMGTools/Common/interface/Cut.h deleted file mode 100644 index 635b8af3d283..000000000000 --- a/CMGTools/Common/interface/Cut.h +++ /dev/null @@ -1,143 +0,0 @@ -#ifndef _CMGTools_Common_Cut_H_ -#define _CMGTools_Common_Cut_H_ - -#include -#include - -template< class Selector > -class Cut { - public: - - typedef Selector SelectorType; - - Cut() {} - Cut( const std::string& name, const std::string& cutString = ""): - name_(name), cutString_(cutString), selector_(cutString) {} - - - const std::string& name() const {return name_;} - const std::string& cutString() const {return cutString_;} - const Selector& selector() const {return selector_;} - - friend std::ostream& operator<<(std::ostream& out, const Cut& cut) { - if(!out) return out; - out<<"cut: "< -class CutTree { - public: - /// a Node is a sub-cuttree. Each CutTree can contain several CutTrees. - typedef typename std::vector< CutTree > Nodes; - typedef typename Nodes::const_iterator NI; - - /// Type for the set of leaves, each of them being a Cut. - typedef typename std::vector< CutType > Cuts; - typedef typename Cuts::const_iterator CI; - - CutTree() {} - CutTree( const std::string& name ) : name_( name ) {} - - void addNode( const CutTree& cutTree ) {nodes_.push_back(cutTree); } - void addCut( const CutType& cut ) {cuts_.push_back(cut); } - - CutTree& lastNode() { return nodes_.back(); } - - const Cuts& cuts() const {return cuts_;} - const Nodes& nodes() const {return nodes_;} - const char* name() const {return name_.c_str();} - - class Visitor{ - public: - virtual void accept( const CutTree*) = 0; - }; - - void visit(Visitor* v) const{ - // visiting all nodes - for(NI it = nodes_.begin(); it != nodes_.end(); ++it){ - it->visit(v); - } - - // doing actual work - v->accept(this); - } - - void print() const{ - std::cout << "Cut tree: " < -class CutTreePrinter : public CutTreeType::Visitor { - public: - virtual void accept(const CutTreeType* c){ - c->print(); - } -}; - -template -class CutTreeTester : public CutTreeType::Visitor { - public: - - typedef ObjectType object_type; - - CutTreeTester( object_type* object ) : object_( object ) {} - - virtual void accept(const CutTreeType* cutTree){ -/* std::cout<<"testing "<<(*object_)<<" with tree "<name()<cuts(); - - bool andResult = true; - for( typename CutTreeType::CI ic = cuts.begin(); ic!=cuts.end(); ++ic ) { -/* std::cout<<" accessing "<<(*ic)<selector(); - - bool result = selector( *object_ ); - object_->addSelection( ic->name(), result); -/* std::cout<<"result "<nodes(); - for( typename CutTreeType::NI in = nodes.begin(); in!=nodes.end();++in) { - bool result = object_->getSelection( in->name() ); - andResult = andResult && result; - } - - object_->addSelection( cutTree->name(), andResult ); - } - - private: - object_type* object_; - -}; - - - -#endif diff --git a/CMGTools/Common/interface/GenericHistograms.h b/CMGTools/Common/interface/GenericHistograms.h deleted file mode 100644 index 0449830d4edf..000000000000 --- a/CMGTools/Common/interface/GenericHistograms.h +++ /dev/null @@ -1,172 +0,0 @@ -#ifndef GENERICHISTOGRAMS_H_ -#define GENERICHISTOGRAMS_H_ - -#include "CommonTools/Utils/interface/StringObjectFunction.h" -#include "CMGTools/Common/interface/HistogramCreator.h" - -#include -#include -#include -#include - -#include "TAxis.h" - -namespace cmg { - - template - class GenericHistograms : public cmg::HistogramCreator { - protected: - - typedef StringObjectFunction function; - struct HistogramAxis { - public: - function fn_; - std::string obs_; - float low_; - float high_; - int nbins_; - std::string title_; - HistogramAxis(const std::string& obs, - const float low, const float high, - const int nbins, const std::string& title): - fn_(obs), - obs_(obs), low_(low), high_(high),nbins_(nbins), title_(title) { - } - }; - typedef std::map > Histograms; - - public: - - GenericHistograms(const edm::ParameterSet& ps): - cmg::HistogramCreator::HistogramCreator(ps), - histos_(new Histograms){ - initHistograms(ps.getUntrackedParameter("histograms",edm::ParameterSet())); - } - - virtual void fill(const T& cand, const T& cand1, const T& cand2); - virtual void fill(const edm::Event& iEvent, const edm::EventSetup& iSetup){ - cmg::HistogramCreator::fill(iEvent,iSetup); - } - - protected: - - virtual void defineHistograms(); - void initHistograms(const edm::ParameterSet& ps); - const std::auto_ptr histos_; - -}; - -} // namespace cmg - -template -void cmg::GenericHistograms::initHistograms(const edm::ParameterSet& ps) -{ - - std::vector parameterNames = ps.getParameterNames(); - for(std::vector::const_iterator n = parameterNames.begin(); - n != parameterNames.end(); n++) { - std::string name = *n; - std::vector axes = - ps.getUntrackedParameter >(name); - std::vector ax; - for(std::vector::const_iterator a = axes.begin(); a != axes.end(); a++) { - // Parameters for the histogram. - const std::string var = a->getUntrackedParameter("var"); - const double low = a->getUntrackedParameter("low"); - const double high = a->getUntrackedParameter("high"); - const int nbins = a->getUntrackedParameter("nbins"); - const std::string title = a->getUntrackedParameter("title", var); - ax.push_back(HistogramAxis(var, low, high, nbins, title)); - } - (*histos_)[name] = ax; - } -} - -template -void cmg::GenericHistograms::defineHistograms() -{ - - if(cmg::HistogramCreator::histosInitialized_) - return; - - for(typename Histograms::const_iterator it = histos_->begin(); it != histos_->end(); it++) { - const unsigned int size = it->second.size(); - switch(size) { - case 1: - { - HistogramAxis axis = it->second.at(0); - this->add1DHistogram(it->first,it->first, - axis.nbins_,axis.low_,axis.high_, - &cmg::HistogramCreator::fs_->tFileDirectory()); - - this->get1DHistogram(it->first)->GetXaxis()->SetTitle(axis.title_.c_str()); - break; - } - case 2: - { - HistogramAxis axisX = it->second.at(0); - HistogramAxis axisY = it->second.at(1); - this->add2DHistogram(it->first,it->first, - axisX.nbins_,axisX.low_,axisX.high_, - axisY.nbins_,axisY.low_,axisY.high_, - &cmg::HistogramCreator::fs_->tFileDirectory()); - - this->get2DHistogram(it->first)->GetXaxis()->SetTitle(axisX.title_.c_str()); - this->get2DHistogram(it->first)->GetYaxis()->SetTitle(axisY.title_.c_str()); - break; - } - case 3: - { - HistogramAxis axisX = it->second.at(0); - HistogramAxis axisY = it->second.at(1); - HistogramAxis axisZ = it->second.at(2); - - this->add3DHistogram(it->first,it->first, - axisX.nbins_,axisX.low_,axisX.high_, - axisY.nbins_,axisY.low_,axisY.high_, - axisZ.nbins_,axisZ.low_,axisZ.high_, - &cmg::HistogramCreator::fs_->tFileDirectory()); - - this->get3DHistogram(it->first)->GetXaxis()->SetTitle(axisX.title_.c_str()); - this->get3DHistogram(it->first)->GetYaxis()->SetTitle(axisY.title_.c_str()); - this->get3DHistogram(it->first)->GetZaxis()->SetTitle(axisZ.title_.c_str()); - break; - } - default: - std::cerr << "Unsupported number of variables for histogram " << it->first << std::endl; - } - } - cmg::HistogramCreator::histosInitialized_ = true; -} - -template -void cmg::GenericHistograms::fill(const T& cand0, const T& cand1, const T& cand2){ - - for(typename Histograms::const_iterator it = histos_->begin(); it != histos_->end(); it++) { - const unsigned int size = it->second.size(); - switch(size) { - case 1: { - HistogramAxis axis = it->second.at(0); - this->fill1DHistogram(it->first, axis.fn_(cand0)); - break; - } - case 2: { - HistogramAxis axisX = it->second.at(0); - HistogramAxis axisY = it->second.at(1); - this->fill2DHistogram(it->first, axisX.fn_(cand0), axisY.fn_(cand1)); - break; - } - case 3: { - HistogramAxis axisX = it->second.at(0); - HistogramAxis axisY = it->second.at(1); - HistogramAxis axisZ = it->second.at(2); - this->fill3DHistogram(it->first, axisX.fn_(cand0), axisY.fn_(cand1), axisZ.fn_(cand2)); - break; - } - default: - std::cerr << "Unsupported number of variables for histogram " << it->first << std::endl; - } - } -} - -#endif /*GENERICHISTOGRAMS_H_*/ diff --git a/CMGTools/Common/interface/GenericPhysicsObjectSelectorDefinition.h b/CMGTools/Common/interface/GenericPhysicsObjectSelectorDefinition.h deleted file mode 100644 index 16f425d37bee..000000000000 --- a/CMGTools/Common/interface/GenericPhysicsObjectSelectorDefinition.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef __CMGTools_Common_GenericPhysicsObjectSelectorDefinition__ -#define __CMGTools_Common_GenericPhysicsObjectSelectorDefinition__ - -/** - \class pf2pat::GenericPhysicsObjectSelectorDefinition - \brief Selects PhysicsObjects basing on cuts provided with string cut parser - - \author Giovanni Petrucciani - \version $Id: GenericPhysicsObjectSelectorDefinition.h,v 1.5 2013/06/12 16:23:09 steggema Exp $ -*/ - -#include "DataFormats/Candidate/interface/CandidateFwd.h" -#include "CommonTools/Utils/interface/StringCutObjectSelector.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/ConsumesCollector.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" - -#include "boost/iterator/transform_iterator.hpp" -#include - -#include - -namespace cmg { - - template< class T > - struct GenericPhysicsObjectSelectorDefinition { - - typedef std::vector< T > collection; - typedef edm::Handle< collection > HandleToCollection; - typedef collection container; - - struct Pointer : public std::unary_function { - const T * operator()(const T &c) const { return &c; } - }; - - typedef boost::transform_iterator const_iterator; - - const_iterator begin() const { return const_iterator(selected_.begin()); } - - const_iterator end() const { return const_iterator(selected_.end()); } - - size_t size() const { return selected_.size(); } - - const container& selected() const {return selected_;} - - GenericPhysicsObjectSelectorDefinition ( const edm::ParameterSet & cfg, edm::ConsumesCollector && iC) : - // selector_( cfg, iC ) { }//cfg.getParameter< std::string >( "cut" ) - selector_(cfg.getParameter< std::string >( "cut" )) { } - - void select( const HandleToCollection & hc, - const edm::Event & e, - const edm::EventSetup& s) { - selected_.clear(); - - unsigned key=0; - for( typename collection::const_iterator pfc = hc->begin(); - pfc != hc->end(); ++pfc, ++key) { - - if( selector_(*pfc) ) { - selected_.push_back( T(*pfc) ); - reco::CandidatePtr ptrToMother( hc, key ); - selected_.back().setSourceCandidatePtr( ptrToMother ); - } - } - } - - private: - StringCutObjectSelector selector_; - protected: - container selected_; - - }; -} - -#endif diff --git a/CMGTools/Common/interface/GenericRooDataSets.h b/CMGTools/Common/interface/GenericRooDataSets.h deleted file mode 100644 index a9b5996b9ab2..000000000000 --- a/CMGTools/Common/interface/GenericRooDataSets.h +++ /dev/null @@ -1,240 +0,0 @@ -#ifndef CMGTOOLS_COMMON_GENERICROODATASETS_H_ -#define CMGTOOLS_COMMON_GENERICROODATASETS_H_ - -#include "CMGTools/Common/interface/UnSet.h" -#include "CommonTools/Utils/interface/StringObjectFunction.h" -#include "CommonTools/Utils/interface/StringCutObjectSelector.h" -#include "CMGTools/Common/interface/GenericHistograms.h" - -#include -#include -#include -#include -#include -#include - -#include "RooArgSet.h" -#include "RooCategory.h" -#include "RooDataSet.h" -#include "RooRealVar.h" - -namespace cmg{ - - template - class GenericRooDataSets : public cmg::GenericHistograms{ - protected: - - typedef StringObjectFunction function; - struct RealVar{ - public: - /// used to parse the expression and get the value - function fn_; - /// the string expression to use - std::string obs_; - /// the index of the object in the ordered collection - unsigned int index_; - /// the min value of the RooRealVar - float low_; - /// the max value of the RooRealVar - float high_; - /// The number of bins (for RooHist*). Set to -0 for no binning - int nbins_; - /// The name of the RooRealVar - std::string name_; - /// The title of the RooRealVar - std::string title_; - /// The unit of the RooRealVar - std::string unit_; - /// Whether or not to set a range - bool setrange_; - RealVar(const std::string& obs,unsigned int index, - const float low,const float high,const int nbins, - const std::string& name, const std::string& title, const std::string& unit, - const bool setrange): - fn_(obs), - obs_(obs),index_(index), - low_(low),high_(high),nbins_(nbins), - name_(name),title_(title),unit_(unit), - setrange_(setrange){ - } - }; - typedef std::list RealVars; - - typedef StringCutObjectSelector selector; - struct Category{ - public: - /// selector used to decide cat - selector sel_; - /// name of the category - std::string name_; - /// the index of the object in the ordered collection - unsigned int index_; - Category(const std::string& cut, const std::string& name, const unsigned int index): - sel_(cut),name_(name),index_(index){ - } - }; - typedef std::map > Categories; - - public: - - GenericRooDataSets(const edm::ParameterSet& ps): - cmg::GenericHistograms::GenericHistograms(ps), - vars_(new RealVars), - cats_(new Categories), - dataset_(0){ - initArgSet(ps.getUntrackedParameter("argset",edm::ParameterSet())); - initCategories(ps.getUntrackedParameter("categories",edm::ParameterSet())); - std::auto_ptr args = argSet(); - const TFileDirectory* myDir = &cmg::HistogramCreator::fs_->tFileDirectory(); - dataset_ = myDir->make("GenericDataSet","GenericDataSet",*args); - } - - virtual void fill(const T& cand){ - } - virtual void fill(const edm::Event& iEvent, const edm::EventSetup&); - - ///create a new RooArgSet from the ParameterSet - std::auto_ptr argSet() const; - - static const std::string weightVarName_; - - protected: - void initArgSet(const edm::ParameterSet& ps); - void initCategories(const edm::ParameterSet& ps); - const std::auto_ptr vars_; - const std::auto_ptr cats_; - RooDataSet* dataset_; - -}; - -} - -template -const std::string cmg::GenericRooDataSets::weightVarName_ = "weightVar"; - -template -void cmg::GenericRooDataSets::initArgSet(const edm::ParameterSet& ps){ - - std::vector parameterNames = ps.getParameterNames(); - for(std::vector::const_iterator n = parameterNames.begin(); n != parameterNames.end(); n++){ - std::string name = *n; - - edm::ParameterSet a = ps.getUntrackedParameter(name); - //parameters for the RooRealVar - const std::string var = a.getUntrackedParameter("var"); - const unsigned int index = a.getUntrackedParameter("index",0); - const double low = a.getUntrackedParameter("low",DBL_MIN); - const double high = a.getUntrackedParameter("high",DBL_MAX); - const int nbins = a.getUntrackedParameter("nbins",-1); - const std::string title = a.getUntrackedParameter("title",var); - const std::string unit = a.getUntrackedParameter("unit",""); - const bool setrange = a.getUntrackedParameter("setrange",true); - vars_->push_back(RealVar(var,index,low,high,nbins,name,title,unit,setrange)); - } -} - -template -void cmg::GenericRooDataSets::initCategories(const edm::ParameterSet& ps){ - - std::vector parameterNames = ps.getParameterNames(); - for(std::vector::const_iterator n = parameterNames.begin(); n != parameterNames.end(); n++){ - - std::string name = *n; - std::list categories; - - std::vector cats = ps.getUntrackedParameter >(name); - for(std::vector::const_iterator a = cats.begin(); a != cats.end(); a++){ - //parameters for the RooCategory - const std::string cut = a->getUntrackedParameter("cut"); - const std::string catname = a->getUntrackedParameter("name"); - const unsigned int index = a->getUntrackedParameter("index",0); - categories.push_back(Category(cut,catname,index)); - } - (*cats_)[name] = categories; - } -} - -template -std::auto_ptr cmg::GenericRooDataSets::argSet() const{ - - RooArgSet* set = new RooArgSet(); - //define the RooRealVars - for(typename RealVars::const_iterator it = vars_->begin(); it != vars_->end(); ++it){ - RooRealVar v(it->name_.c_str(),it->title_.c_str(),UnSet(double)); - if(it->nbins_ > 0){ - v.setBins(it->nbins_); - } - if(it->setrange_){ - v.setMin(it->low_); - v.setMax(it->high_); - } - set->addClone(v); - } - - //define the RooCategories - for(typename Categories::const_iterator it = cats_->begin(); it != cats_->end(); ++it){ - RooCategory c(it->first.c_str(),it->first.c_str()); - for(typename Categories::mapped_type::const_iterator jt = it->second.begin(); jt != it->second.end(); ++jt){ - c.defineType(jt->name_.c_str()); - } - set->addClone(c); - } - - //also add a standard weight var - RooRealVar w(cmg::GenericRooDataSets::weightVarName_.c_str(),"Weight var",1); - set->addClone(w); - - RooRealVar run("Run","Run Number",0); - set->addClone(run); - - RooRealVar lumi("Lumi","Lumi Section",0); - set->addClone(lumi); - - RooRealVar event("Event","Event Number",0); - set->addClone(event); - - return std::auto_ptr(set); -} - - -template -void cmg::GenericRooDataSets::fill(const edm::Event& iEvent, const edm::EventSetup&){ - - edm::Handle::view> cands; - iEvent.getByLabel(cmg::HistogramCreator::labelX_,cands); - - const unsigned int run = iEvent.id().run(); - const unsigned int lumi = iEvent.id().luminosityBlock(); - const unsigned int event = iEvent.id().event(); - - std::auto_ptr args = argSet(); - for(typename RealVars::const_iterator it = vars_->begin(); it != vars_->end(); ++it){ - unsigned int index = it->index_; - if(cands->size() > index){ - args->setRealValue(it->name_.c_str(),it->fn_(cands->at(index))); - } - } - args->setRealValue("Run",run); - args->setRealValue("Lumi",lumi); - args->setRealValue("Event",event); - - for(typename Categories::const_iterator it = cats_->begin(); it != cats_->end(); ++it){ - for(typename Categories::mapped_type::const_iterator jt = it->second.begin(); jt != it->second.end(); ++jt){ - unsigned int index = jt->index_; - //categories set according to index in collection - if(cands->size() > index){ - //test the cut - const bool set = jt->sel_(cands->at(index)); - //if its true, set the cat to this one and break. Categories should be exclusive - if(set){ - args->setCatLabel(it->first.c_str(),jt->name_.c_str()); - break; - } - } - } - } - dataset_->add(*args); -} - - -#endif /*CMGTOOLS_COMMON_GENERICROODATASETS_H_*/ diff --git a/CMGTools/Common/interface/HemiBalanceAlgos.h b/CMGTools/Common/interface/HemiBalanceAlgos.h deleted file mode 100644 index 4bf8c6c0eb87..000000000000 --- a/CMGTools/Common/interface/HemiBalanceAlgos.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef HEMIBALANCEALGOS_H_ -#define HEMIBALANCEALGOS_H_ - -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Math/interface/LorentzVector.h" - -#include -#include - -namespace cmg{ - - class Balance{ - public: - enum Algorithms {PtBalance=0,MassBalance=1, TopMassBalance=2}; - typedef std::vector > Candidates; - virtual double balance(const Candidates& a, const Candidates& b) const = 0; - }; - - class PtBalance : public Balance{ - public: - virtual double balance(const Candidates& a, const Candidates& b) const{ - /** Implements the alpha_T algorithm*/ - double partSum = 0; - for(Candidates::const_iterator it = a.begin(); it != a.end(); it++){ - partSum += (*it)->et(); - } - double fullSum = partSum; - for(Candidates::const_iterator it = b.begin(); it != b.end(); it++){ - fullSum += (*it)->et(); - } - return abs(fullSum - (2*partSum)); - } - }; - - class MassBalance : public Balance{ - public: - virtual double balance(const Candidates& a, const Candidates& b) const{ - /** Implements the Razor algorithm*/ - reco::Candidate::LorentzVector aSum(0., 0., 0., 0.); - for(Candidates::const_iterator it = a.begin(); it != a.end(); it++){ - aSum += (*it)->p4(); - } - reco::Candidate::LorentzVector bSum(0., 0., 0., 0.); - for(Candidates::const_iterator it = b.begin(); it != b.end(); it++){ - bSum += (*it)->p4(); - } - return aSum.M2() + bSum.M2(); - } - }; - - class TopMassBalance : public Balance{ - public: - virtual double balance(const Candidates& a, const Candidates& b) const{ - /** Implements the Razor algorithm for top decays*/ - reco::Candidate::LorentzVector aSum(0., 0., 0., 0.); - for(Candidates::const_iterator it = a.begin(); it != a.end(); it++){ - aSum += (*it)->p4(); - } - reco::Candidate::LorentzVector bSum(0., 0., 0., 0.); - for(Candidates::const_iterator it = b.begin(); it != b.end(); it++){ - bSum += (*it)->p4(); - } - //PDG 2011 top mass is 172.9 \pm 0.6 \pm 0.9 - const double mt = 172.9; - return ((aSum.mass()-mt)*(aSum.mass()-mt)) + ((bSum.mass()-mt)*(bSum.mass()-mt)); - } - }; - -} - - -#endif /*HEMIBALANCEALGOS_H_*/ diff --git a/CMGTools/Common/interface/HistogramCreator.h b/CMGTools/Common/interface/HistogramCreator.h deleted file mode 100644 index 982136a0240b..000000000000 --- a/CMGTools/Common/interface/HistogramCreator.h +++ /dev/null @@ -1,98 +0,0 @@ -#ifndef HISTOGRAMCREATOR_H_ -#define HISTOGRAMCREATOR_H_ - -#include "CommonTools/Utils/interface/TFileDirectory.h" - -#include "FWCore/Common/interface/EventBase.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/ServiceRegistry/interface/Service.h" -#include "FWCore/Utilities/interface/InputTag.h" -#include "CommonTools/UtilAlgos/interface/TFileService.h" - -#include "CMGTools/Common/interface/AnalysisHistograms.h" - -#include -#include -#include -#include - -namespace cmg{ - - template - class HistogramCreator : public AnalysisHistograms{ - public: - HistogramCreator(const edm::ParameterSet& ps): - AnalysisHistograms::AnalysisHistograms(), - labelX_(ps.getParameter("inputCollection")) - { - labelY_ = ps.getUntrackedParameter("inputCollectionY", - edm::InputTag("", "", "")); - labelZ_ = ps.getUntrackedParameter("inputCollectionZ", - edm::InputTag("", "", "")); - } - - virtual ~HistogramCreator(){ - } - - void init(){ - AnalysisHistograms::init( &fs_->tFileDirectory() ); - } - - // Fill the histograms after getting a collection from the event. - virtual void fill(const edm::Event& iEvent, const edm::EventSetup&) { - edm::Handle candsX; - iEvent.getByLabel(labelX_, candsX); - if (labelY_.encode() == "") { - // Only X-collection given. - for(typename view::const_iterator it = candsX->begin(); it != candsX->end(); ++it) { - fill(*it, *it, *it); - } - } else if (labelZ_.encode() == "") { - // X- and Y-collections given, no Z-collection. - edm::Handle candsY; - iEvent.getByLabel(labelY_, candsY); - size_t sizeX = candsX->size(); - size_t sizeY = candsY->size(); - size_t sizeMin = std::min(sizeX, sizeY); - for (size_t i = 0; i != sizeMin; ++i) { - fill(candsX->at(i), candsY->at(i), candsX->at(i)); - } - } else { - // All three input collections given. - edm::Handle candsY; - iEvent.getByLabel(labelY_, candsY); - edm::Handle candsZ; - iEvent.getByLabel(labelZ_, candsZ); - size_t sizeX = candsX->size(); - size_t sizeY = candsY->size(); - size_t sizeZ = candsZ->size(); - size_t sizeMin = std::min(std::min(sizeX, sizeY), sizeZ); - for (size_t i = 0; i != sizeMin; ++i) { - fill(candsX->at(i), candsY->at(i), candsZ->at(i)); - } - } - } - - // Fill on a per-PhysicsObject basis. - virtual void fill(const T& cand0, const T& cand1, const T& cand2) - {} - - typedef T type; - typedef edm::View view; - - protected: - - // Can define any histograms here. - virtual void defineHistograms() = 0; - - const edm::Service fs_; - const edm::InputTag labelX_; - edm::InputTag labelY_; - edm::InputTag labelZ_; - const std::string name_; - }; - -} - -#endif /*HISTOGRAMCREATOR_H_*/ diff --git a/CMGTools/Common/interface/JetComponentHistograms.h b/CMGTools/Common/interface/JetComponentHistograms.h deleted file mode 100644 index 0b3ce84a980d..000000000000 --- a/CMGTools/Common/interface/JetComponentHistograms.h +++ /dev/null @@ -1,36 +0,0 @@ -#ifndef _CMGTools_Common_JetComponentHistograms_h_ -#define _CMGTools_Common_JetComponentHistograms_h_ - -/** JetComponentHistograms -\brief holds histograms specific to jet components. - -Used e.g. to make the famous fraction vs eta plot -\author Colin -*/ - -#include "DataFormats/PatCandidates/interface/Jet.h" -#include "CMGTools/Common/interface/AnalysisHistograms.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" - -#include - -namespace cmg { - -class JetComponentHistograms: public AnalysisHistograms { - public: - JetComponentHistograms(TFileDirectory *myDir, const std::string & name=""); - - virtual ~JetComponentHistograms(); - - void fill(const reco::PFCandidate::ParticleType& component, const pat::Jet& jet); - - virtual void defineHistograms(); - - private: - - -}; - -} - -#endif diff --git a/CMGTools/Common/interface/JetHistograms.h b/CMGTools/Common/interface/JetHistograms.h deleted file mode 100644 index 7d43cb4d7c9a..000000000000 --- a/CMGTools/Common/interface/JetHistograms.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef _CMGTools_Common_JetHistograms_h_ -#define _CMGTools_Common_JetHistograms_h_ - -/** JetHistograms -\brief holds jet specific histograms. - -\author Colin -*/ - -#include "CMGTools/Common/interface/HistogramCreator.h" -#include "CMGTools/Common/interface/JetComponentHistograms.h" - -#include - -namespace cmg { - -class JetHistograms: public cmg::HistogramCreator { - public: - - JetHistograms(const edm::ParameterSet& ps); - - virtual ~JetHistograms(); - - virtual void fill(const type& cand, const type& dummy1, const type& dummy2); - virtual void fill(const edm::Event& iEvent, const edm::EventSetup& iSetup){ - cmg::HistogramCreator::fill(iEvent,iSetup); - } - - private: - - virtual void defineHistograms(); - - typedef std::vector CHists; - typedef CHists::iterator CHI; - - /// vector of JetComponentHistograms, for each component (charged hadrons, photons, ...) - CHists cHists_; - -}; - -} - -#endif diff --git a/CMGTools/Common/interface/LorentzHistograms.h b/CMGTools/Common/interface/LorentzHistograms.h deleted file mode 100644 index 359259f1fe0a..000000000000 --- a/CMGTools/Common/interface/LorentzHistograms.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef CMGTools_Common_LorentzHistograms_h -#define CMGTools_Common_LorentzHistograms_h - -/** LorentzHistograms -\brief holds lorentz vector histograms - -This class can be used for all lorentz vector physics objects, including MET -Specific histograms can be found in other histogram classes. - -\author Colin -*/ - -#include "DataFormats/Candidate/interface/Candidate.h" -#include "CMGTools/Common/interface/HistogramCreator.h" -#include "DataFormats/Common/interface/View.h" - -namespace cmg{ - //NS change the file name. add FF everytime we have a name clash with previous system - class LorentzHistogramsFF : public cmg::HistogramCreator{ - public: - LorentzHistogramsFF(const edm::ParameterSet& ps): - cmg::HistogramCreator::HistogramCreator(ps){ - } - virtual void fill(const type& cand); - virtual void fill(const edm::Event& iEvent, const edm::EventSetup& iSetup){ - cmg::HistogramCreator::fill(iEvent,iSetup); - } - - protected: - virtual void defineHistograms(); -}; - -} - -#endif diff --git a/CMGTools/Common/interface/MetUtilities.h b/CMGTools/Common/interface/MetUtilities.h deleted file mode 100644 index a79b6e1732c5..000000000000 --- a/CMGTools/Common/interface/MetUtilities.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef PH_METUTILITIES_H -#define PH_METUTILITIES_H - -#include -#include -#include "DataFormats/Math/interface/Vector3D.h" -#include "DataFormats/Math/interface/LorentzVector.h" - -class MetUtilities { - public: - typedef math::XYZVector Vector; - typedef math::XYZTLorentzVector LorentzVector; - struct JetInfo { - LorentzVector p4; - double mva; - double neutFrac; - }; - - MetUtilities(unsigned workingPointId); - virtual ~MetUtilities(); - - bool passMVA (std::pair iJet); - LorentzVector *leadPt (std::vector &iJets,bool iFirst); - int NJets (std::vector &iJets,double iPt); - double deltaR (LorentzVector &iVec1,LorentzVector &iVec2); - void cleanJets(std::vector &iVis,std::vector &iJets); - void cleanMet (std::vector &iVis,std::vector &iJets,std::pair &iMet,bool iMVA,bool iAdd); - - std::pair TKMet (std::vector > &iCands,double iDZ,int iLowDz); - std::pair JetMet (std::vector &iJets ,bool iPassMVA); - std::pair NoPUMet (std::vector > &iCands,std::vector &iJets,double iDZ); - std::pair PUMet (std::vector > &iCands,std::vector &iJets,double iDZ); - std::pair PUCMet (std::vector > &iCands,std::vector &iJets,double iDZ); - - std::pair PFRecoil (double iSumEt,LorentzVector iVis,std::vector > &iCands,double iDZ); - std::pair TKRecoil (double iSumEt,LorentzVector iVis,std::vector > &iCands,double iDZ); - std::pair NoPURecoil(double iSumEt,LorentzVector iVis, - std::vector > &iCands,std::vector &iJets,double iDZ); - std::pair PUCRecoil(double iSumEt,LorentzVector iVis, - std::vector > &iCands ,std::vector &iJets,double iDZ); - - std::pair Recoil(double iSumEt,double iPtVis,double iPhiVis,std::pair &iMet); - //colin: a friend declaration - double fJetPtMin; - unsigned workingPointId_; - protected: - // PU jet identifier - double fMVACut[4][4][4]; //Jet Id MVA -}; - -#endif diff --git a/CMGTools/Common/interface/RunInfoAccounting.h b/CMGTools/Common/interface/RunInfoAccounting.h deleted file mode 100644 index da2a3ef8e1cc..000000000000 --- a/CMGTools/Common/interface/RunInfoAccounting.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef _CMGTools_Common_RunInfoAccounting_h_ -#define _CMGTools_Common_RunInfoAccounting_h_ - -#include "CommonTools/Utils/interface/TFileDirectory.h" -#include "FWCore/Framework/interface/Run.h" - -#include "TTree.h" - -#include - -namespace cmg { - - class RunInfoAccounting - { - public: - RunInfoAccounting(TFileDirectory& myDir, const std::string& name); - void processRunInfo(const edm::Run& aRun, - unsigned int nTotal, unsigned int nPassed, - unsigned int nGenTotal, unsigned int nGenPassed); - - double getPreSelectionWeight(){ - return preselectionWeight_; - } - - double getEventWeight(){ - return eventWeight_; - } - - private: - double initialGenEvents_; - double finalGenEvents_; - double initialEvents_; - double finalEvents_; - double preselectionWeight_; - double genCrossSection_; - double genFilterEfficiency_; - double eventWeight_; - - TTree* tree_; - }; - -} - -#endif diff --git a/CMGTools/Common/interface/SettingTool.h b/CMGTools/Common/interface/SettingTool.h deleted file mode 100644 index c05392385f28..000000000000 --- a/CMGTools/Common/interface/SettingTool.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef SETTINGTOOL_H_ -#define SETTINGTOOL_H_ - -#include "FWCore/Framework/interface/Event.h" - -#include - -namespace cmg{ - -template -class SettingTool : public std::binary_function{ - public: - /// set something without using the event - virtual void set(const InputType& input, OutputType* const output) const{ - } - /// set something using the event - virtual void set(const InputType& input, OutputType* const output, const edm::Event&, const edm::EventSetup&) const{ - set(input,output); - } - /// an adapter for std::binary_function - OutputType* const operator()(const InputType& input, OutputType* const output) const{ - set(input,output); - return output; - } -}; - -} - -#endif /*SETTINGTOOL_H_*/ diff --git a/CMGTools/Common/interface/SpecificIsolation.h b/CMGTools/Common/interface/SpecificIsolation.h deleted file mode 100644 index 5f98cac4b2bd..000000000000 --- a/CMGTools/Common/interface/SpecificIsolation.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef __CMGTools_Common_interface_SpecificIsolation__ -#define __CMGTools_Common_interface_SpecificIsolation__ - - -#include "FWCore/ParameterSet/interface/ProcessDesc.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/PythonParameterSet/interface/PythonProcessDesc.h" - -#include "DataFormats/RecoCandidate/interface/IsoDepositVetos.h" - -#include -#include -#include -#include - - -/** - \class Specific isolation - \brief Holds parameters (vetoes, cone size) for specific isolation -*/ - -class SpecificIsolation { - - public: - - // default construcor - SpecificIsolation() {} - - // destructor: free the AbsVetoes - virtual ~SpecificIsolation(){ - for(unsigned i = 0; i< AbsVetos_.size(); i++){ - delete AbsVetos_[i]; - } - } - - // init from a pset - void initialize( const edm::ParameterSet& pset ) - { - coneSize_ = pset.getParameter("coneSize"); - - // lower pT threshold is defined as a veto. - setVetoesParam( pset ); - createAbsVetoes(); - } - - const double coneSize() const{ - return coneSize_; - } - - const std::map< std::string , std::vector >& vetoes(){ - return vetoesParam_; - } - - // set parameters for vetoes from a pset: implemented in the .cc - void setVetoesParam( const edm::ParameterSet& pset ); - - // create the AbsVetos: implemented in the .cc - void createAbsVetoes(); - - // return the AbsVetoes - reco::isodeposit::AbsVetos getAbsVetoes() const{ - return AbsVetos_; - } - - // print out of the parameters - friend std::ostream& operator<<(std::ostream& out, const SpecificIsolation& isoDepParam); - - private: - - /// cone size - double coneSize_; - - /// vetoes with names and cuts - std::map< std::string, std::vector > vetoesParam_; - - /// AbsVetoes - reco::isodeposit::AbsVetos AbsVetos_; - -}; - - -#endif diff --git a/CMGTools/Common/interface/TriBool.h b/CMGTools/Common/interface/TriBool.h deleted file mode 100644 index 829135f1c8b6..000000000000 --- a/CMGTools/Common/interface/TriBool.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef TRIBOOL_H_ -#define TRIBOOL_H_ - -namespace cmg{ - - //a boolean type that has three states - enum TriBool{ tbUnset = -1, tbFalse = 0, tbTrue = 1}; - - bool toBool(const TriBool& b); - TriBool toTriBool(const bool& b); - -} - -#endif /*TRIBOOL_H_*/ diff --git a/CMGTools/Common/interface/TriggerResultHistograms.h b/CMGTools/Common/interface/TriggerResultHistograms.h deleted file mode 100644 index e442ace1ed17..000000000000 --- a/CMGTools/Common/interface/TriggerResultHistograms.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef CMGTOOLS_COMMON_TRIGGERRESULTHISTOGRAMS_H_ -#define CMGTOOLS_COMMON_TRIGGERRESULTHISTOGRAMS_H_ - -#include "CMGTools/Common/interface/HistogramCreator.h" -#include "DataFormats/Common/interface/TriggerResults.h" - -#include -#include -#include -#include -#include - -namespace cmg { - -///A class for plotting whether a particular Trigger has passed or failed -class TriggerResultHistograms: public cmg::HistogramCreator { - public: - - TriggerResultHistograms(const edm::ParameterSet& ps); - - virtual ~TriggerResultHistograms(){ - } - - virtual void fill(const type& cand){ - } - virtual void fill(const edm::Event& iEvent, const edm::EventSetup& iSetup); - - private: - - virtual void defineHistograms(){ - //do nothing as we need the names - } - void defineHistograms(const std::vector&); - - const std::vector names_; - -}; - -} - -#endif /*CMGTOOLS_COMMON_TRIGGERRESULTHISTOGRAMS_H_*/ diff --git a/CMGTools/Common/interface/UnSet.h b/CMGTools/Common/interface/UnSet.h deleted file mode 100644 index 51a0bbeb82d4..000000000000 --- a/CMGTools/Common/interface/UnSet.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef UNSET_H_ -#define UNSET_H_ - -#include "CMGTools/Common/interface/TriBool.h" - -namespace cmg{ - - const TriBool unsetTB = tbUnset; - - const double unsetD = -9999.; - const double unsetF = -9999.; - - const unsigned int unsetUI = 0; - const int unsetI = -9999; - - const unsigned long unsetUL = 0; - const long unsetL = -9999; - - char const* const unsetS = ""; - - TriBool unset(const TriBool&); - double unset(const double&); - float unset(const float&); - unsigned int unset(const unsigned int&); - int unset(const int&); - unsigned long unset(const unsigned long&); - long unset(const long&); - char const* const unset(const char*); - -#define UnSet(T) cmg::unset( T() ) - - template - bool isUnset(const T& v){ - return fabs(v - UnSet(T)) < 1e-6; - } - -} - -#endif /*UNSET_H_*/ diff --git a/CMGTools/Common/interface/next_combination.h b/CMGTools/Common/interface/next_combination.h deleted file mode 100644 index 2083ae367366..000000000000 --- a/CMGTools/Common/interface/next_combination.h +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef NEXT_COMBINATION_H -#define NEXT_COMBINATION_H - -//-------------------------------------------------------------------- - -// Happily copy-pasted from here: -// http://photon.poly.edu/~hbr/boost/combinations.html -// until this is accepted into the BOOST library. -template -bool next_combination(BidirectionalIterator first1, - BidirectionalIterator last1, - BidirectionalIterator first2, - BidirectionalIterator last2) -{ - if ((first1 == last1) || (first2 == last2)) { - return false; - } - - BidirectionalIterator m1 = last1; - BidirectionalIterator m2 = last2; --m2; - - // Find first m1 not less than *m2 (i.e., lower_bound(first1, last1, *m2)). - // Actually, this loop stops at one position before that, except perhaps - // if m1 == first1 (in which case one must compare *first1 with *m2). - while (--m1 != first1 && !(*m1 < *m2)) { - } - - // Test if all elements in [first1, last1) not less than *m2. - bool result = (m1 == first1) && !(*first1 < *m2); - - if (!result) { - - // Find first first2 greater than *m1 (since *m1 < *m2, we know it - // can't pass m2 and there's no need to test m2). - while (first2 != m2 && !(*m1 < *first2)) { - ++first2; - } - - first1 = m1; - std::iter_swap (first1, first2); - ++first1; - ++first2; - } - - // Merge [first1, last1) with [first2, last2), given that the rest of the - // original ranges are sorted and compare appropriately. - if ((first1 != last1) && (first2 != last2)) { - for (m1 = last1, m2 = first2; (m1 != first1) && (m2 != last2); ++m2) { - std::iter_swap (--m1, m2); - } - - std::reverse (first1, m1); - std::reverse (first1, last1); - - std::reverse (m2, last2); - std::reverse (first2, last2); - } - - return !result; -} - -//-------------------------------------------------------------------- - -template -bool next_combination(BidirectionalIterator first, - BidirectionalIterator middle, - BidirectionalIterator last) -{ - return next_combination(first, middle, middle, last); -} - -//-------------------------------------------------------------------- - -#endif /* NEXT_COMBINATION_H */ diff --git a/CMGTools/Common/macros/jetStack.C b/CMGTools/Common/macros/jetStack.C deleted file mode 100644 index b2989102a1d3..000000000000 --- a/CMGTools/Common/macros/jetStack.C +++ /dev/null @@ -1,67 +0,0 @@ -{ - - gSystem->Load("libFWCoreFWLite.so"); - gSystem->Load("libCMGToolsCommon.so"); - gSystem->Load("libPFAnalysesRootTools.so"); - AutoLibraryLoader::enable(); - gSystem->Load("libCintex.so"); - ROOT::Cintex::Cintex::Enable(); - - TFile f("histograms.root"); - f.cd("JetMETAnalyzer"); - - // change the following to get the fraction plot - // vs pt, eta, or phi - // in barrel, endcaps, or HF - // string dim("RvsPt_endcaps"); - string dim("RvsEta"); - - - TProfile* p1 = (TProfile*)gDirectory->Get( (string("pfJetHistograms/ChargedHadrons/")+dim).c_str() ); - TProfile* p2 = (TProfile*)gDirectory->Get( (string("pfJetHistograms/Photons/")+dim).c_str()); - TProfile* p3 = (TProfile*)gDirectory->Get( (string("pfJetHistograms/NeutralHadrons/")+dim).c_str()); - TProfile* p4 = (TProfile*)gDirectory->Get( (string("pfJetHistograms/Electrons/")+dim).c_str()); - TProfile* p5 = (TProfile*)gDirectory->Get( (string("pfJetHistograms/HFHAD/")+dim).c_str()); - TProfile* p6 = (TProfile*)gDirectory->Get( (string("pfJetHistograms/HFEM/")+dim).c_str()); - - // converting the profiles into histograms - TH1F* h1 = (TH1F*) p1->ProjectionX(); - TH1F* h2 = (TH1F*) p2->ProjectionX(); - TH1F* h3 = (TH1F*) p3->ProjectionX(); - TH1F* h4 = (TH1F*) p4->ProjectionX(); - TH1F* h5 = (TH1F*) p5->ProjectionX(); - TH1F* h6 = (TH1F*) p6->ProjectionX(); - - THStack vsEta("vsEta",""); - - Styles styles; - - bool solid=true; - Styles::FormatHisto(h1, styles.spred, solid); - Styles::FormatHisto(h2, styles.spblue, solid); - Styles::FormatHisto(h3, styles.spgreen, solid); - Styles::FormatHisto(h4, styles.spyellow, solid); - Styles::FormatHisto(h5, styles.sppink1, solid); - Styles::FormatHisto(h6, styles.sppink2, solid); - - - vsEta.Add(h1); - vsEta.Add(h2); - vsEta.Add(h4); - vsEta.Add(h3); - vsEta.Add(h5); - vsEta.Add(h6); - - vsEta.Draw("A,HIST"); - h1.Draw("AXIS,SAME"); - // other possible draw options: - // vsEta.Draw("nostack"); - // vsEta.Draw(); - // vsEta.Draw("hist"); - - TLine l(-5,1,5,1); - l.SetLineStyle(2); - l.Draw("same"); - - -} diff --git a/CMGTools/Common/plugins/BuildFile.xml b/CMGTools/Common/plugins/BuildFile.xml deleted file mode 100644 index 862ac0e4223f..000000000000 --- a/CMGTools/Common/plugins/BuildFile.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/CMGTools/Common/plugins/CollectionSizeProducer.h b/CMGTools/Common/plugins/CollectionSizeProducer.h deleted file mode 100644 index ce0d0d8890e8..000000000000 --- a/CMGTools/Common/plugins/CollectionSizeProducer.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef _CMGTools_Common_CollectionSizeProducer_H_ -#define _CMGTools_Common_CollectionSizeProducer_H_ - -// #include "DataFormats/Common/interface/OrphanHandle.h" -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - - -#include - -template -class CollectionSizeProducer : public edm::EDFilter{ - public: - - CollectionSizeProducer(const edm::ParameterSet& ps): - src_(ps.getParameter("src")), - verbose_(ps.getUntrackedParameter("verbose",false)) { - produces(); - } - - virtual bool filter(edm::Event&, const edm::EventSetup&); - - private: - edm::InputTag src_; - bool verbose_; -}; - - -template -bool CollectionSizeProducer::filter(edm::Event& iEvent, const edm::EventSetup& iSetup){ - - edm::Handle< CollectionClass > handle; - iEvent.getByLabel( src_, handle ); - - std::auto_ptr output( new int(handle->size()) ); - iEvent.put( output ); - - return true; -} - -#endif diff --git a/CMGTools/Common/plugins/DeltaPhiProducer.cc b/CMGTools/Common/plugins/DeltaPhiProducer.cc deleted file mode 100644 index 738289927c31..000000000000 --- a/CMGTools/Common/plugins/DeltaPhiProducer.cc +++ /dev/null @@ -1,79 +0,0 @@ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/Exception.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -#include "DataFormats/Candidate/interface/LeafCandidate.h" -#include "DataFormats/Math/interface/deltaPhi.h" - -#include - -class DeltaPhiProducer : public edm::EDProducer { - -public: - - explicit DeltaPhiProducer(const edm::ParameterSet & iConfig); - virtual ~DeltaPhiProducer() {} - -private: - - void produce(edm::Event & iEvent, const edm::EventSetup & iSetup); - - edm::InputTag metIT_; - edm::InputTag objectsIT_; - - bool verbose_; -}; - - -DeltaPhiProducer::DeltaPhiProducer(const edm::ParameterSet & iConfig) : - metIT_( iConfig.getParameter("met") ), - objectsIT_( iConfig.getParameter("objects") ), - verbose_( iConfig.getUntrackedParameter("verbose", false ) ) - -{ - - produces(); -} - - -void DeltaPhiProducer::produce(edm::Event & iEvent, const edm::EventSetup & iSetup) { - - edm::Handle > metH; - iEvent.getByLabel(metIT_, metH); - - edm::Handle > objectsH; - iEvent.getByLabel(objectsIT_, objectsH); - - if( metH->size()!=1 ) { - std::ostringstream err; - err<<"'met' collection "<::const_iterator IC; - for (IC icand = objectsH->begin(); icand != objectsH->end(); ++icand) { - const reco::LeafCandidate& cand = *icand; - - double deltaPhi = fabs(reco::deltaPhi( met.phi(), cand.phi() ) ); - if(deltaPhi -#include - -namespace cmg{ - -/** - * A producer that makes a copy of the inputCollection, vetoing objects that - * lie within minDeltaR of *any* object in the vetoCollection. - * - * Algorithm is order N^2, so please use reduced collections as input - */ -template -class DeltaRVetoProducer : public edm::EDProducer { - -public: - - explicit DeltaRVetoProducer(const edm::ParameterSet & iConfig); - virtual ~DeltaRVetoProducer() {} - -private: - - void produce(edm::Event & iEvent, const edm::EventSetup & iSetup); - - const edm::InputTag inputCollection_; - const std::vector vpset_; - const bool verbose_; - - unsigned int nColl_; - std::vector vetoCollection_; - std::vector minDeltaR_; - std::vector removeMatched_; - - - std::vector selNames_; - std::vector selFlags_; - typedef std::vector collection; - -}; - -} - -template -cmg::DeltaRVetoProducer::DeltaRVetoProducer(const edm::ParameterSet & iConfig) : - inputCollection_(iConfig.getParameter("inputCollection")), - vpset_(iConfig.getParameter >("MatchingParams")), - verbose_( iConfig.getUntrackedParameter("verbose",false ) ){ - - nColl_=vpset_.size(); - - // for (std::vector::const_iterator iPSet = vpset_.begin(); - // iPSet != vpset_.end(); ++iPSet) { - for(unsigned int iColl=0;iColl("vetoCollection")); - minDeltaR_.push_back(iPSet.getParameter("minDeltaR")); - removeMatched_.push_back(iPSet.getParameter("removeMatchedObject")); - } - - produces(); -}//end constructor - -template -void cmg::DeltaRVetoProducer::produce(edm::Event & iEvent, const edm::EventSetup & iSetup) { - - edm::Handle input; - iEvent.getByLabel(inputCollection_, input); - //Order N^2 so lets hope there aren't too many veto objects. Will be fine for any sensible use - unsigned int key = 0; - std::auto_ptr result(new collection); - - for(typename collection::const_iterator it = input->begin(); it != input->end(); ++it, ++key){ - bool accept = true; - - - for(unsigned int iColl=0;iColl > vetos; - iEvent.getByLabel(vetoCollection_.at(iColl), vetos); - std::string selName=vetoCollection_.at(iColl).label(); - std::string instanceName=vetoCollection_.at(iColl).instance(); - if(instanceName!="")selName=selName+"_"+instanceName; - selNames_.push_back("matched_"+selName); - - - if(verbose_&& vetos->size()==0)std::cout<<"Empty veto Collection named "<::const_iterator jt = vetos->begin(); jt != vetos->end(); ++jt){ - const double dR = reco::deltaR(*it,*jt); - matched = (dR < minDeltaR_.at(iColl)); - if(verbose_){ - std::cout << "DeltaRVetoProducer (dR < "<pt() << "/" << jt->pt() << "/" << dR << " Reject: " << matched << std::endl; - } - - if(matched){ - accept = false; - break; - } - - }//end loop on veto Collection - selFlags_.push_back(matched); - }//end loop on list of veto Collections to be matched - - //after having looped over all the veto Collections, we store in the CMG object - //the individual results of the matching and - if none of them was positive - - //we save it in the output - T accepted(*it); - //set the source pointer for the TopProjector - accepted.setSourceCandidatePtr( reco::CandidatePtr( input, key ) ); - bool store=true; - for(unsigned int iColl=0;iCollpush_back(accepted); - } - }//end loop on input objects - iEvent.put(result); - }//end produce - -#endif - -/* #include "FWCore/Framework/interface/MakerMacros.h" */ -/* #include "DataFormats/PatCandidates/interface/Jet.h" */ -/* #include "DataFormats/PatCandidates/interface/Electron.h" */ -/* #include "DataFormats/PatCandidates/interface/Muon.h" */ -/* #include "DataFormats/PatCandidates/interface/Tau.h" */ -/* #include "DataFormats/PatCandidates/interface/Photon.h" */ -/* typedef cmg::DeltaRVetoProducer DeltaRVetoProducerJet; */ -/* typedef cmg::DeltaRVetoProducer DeltaRVetoProducerElectron; */ -/* typedef cmg::DeltaRVetoProducer DeltaRVetoProducerMuon; */ -/* typedef cmg::DeltaRVetoProducer DeltaRVetoProducerTau; */ -/* typedef cmg::DeltaRVetoProducer DeltaRVetoProducerPhoton; */ - -/* DEFINE_FWK_MODULE(DeltaRVetoProducerJet); */ -/* DEFINE_FWK_MODULE(DeltaRVetoProducerElectron); */ -/* DEFINE_FWK_MODULE(DeltaRVetoProducerMuon); */ -/* DEFINE_FWK_MODULE(DeltaRVetoProducerTau); */ -/* DEFINE_FWK_MODULE(DeltaRVetoProducerPhoton); */ diff --git a/CMGTools/Common/plugins/DirectionalIsolationProducer.cc b/CMGTools/Common/plugins/DirectionalIsolationProducer.cc deleted file mode 100644 index 19819602fa1b..000000000000 --- a/CMGTools/Common/plugins/DirectionalIsolationProducer.cc +++ /dev/null @@ -1,8 +0,0 @@ -#include "CMGTools/Common/plugins/DirectionalIsolationProducer.h" - -#include "FWCore/Framework/interface/MakerMacros.h" -typedef DirectionalIsolationProducer DirectionalIsolationProducerElectron; -DEFINE_FWK_MODULE(DirectionalIsolationProducerElectron); - -typedef DirectionalIsolationProducer DirectionalIsolationProducerMuon; -DEFINE_FWK_MODULE(DirectionalIsolationProducerMuon); diff --git a/CMGTools/Common/plugins/DirectionalIsolationProducer.h b/CMGTools/Common/plugins/DirectionalIsolationProducer.h deleted file mode 100644 index 3d571e85207e..000000000000 --- a/CMGTools/Common/plugins/DirectionalIsolationProducer.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef _CMGTools_Susy_DirectionalIsolationProducer_H_ -#define _CMGTools_Susy_DirectionalIsolationProducer_H_ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" -#include "DataFormats/PatCandidates/interface/Isolation.h" -#include "DataFormats/PatCandidates/interface/Electron.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" -#include "DataFormats/VertexReco/interface/Vertex.h" - -#include "TMath.h" -#include "Math/VectorUtil.h" - -#include -#include -#include -#include - -namespace reco{ - typedef edm::Handle > > PFCandidateFwdPtrHandle; - typedef std::vector > PFCandidateFwdPtrCollection; -} - -template -class DirectionalIsolationProducer : public edm::EDProducer{ - public: - - typedef std::vector collection; - - - DirectionalIsolationProducer(const edm::ParameterSet& ps): - src_(ps.getParameter("src")), - pfCands_(ps.getParameter("pfCands")), - vertexCollection_(ps.getParameter("vertexCollection")){ - produces(); - } - - bool isLooseLepton(const Lepton& lepton, const math::XYZPoint & primaryVertex, const reco::PFCandidateFwdPtrCollection & pfCandidates) const; - - virtual void produce(edm::Event& iEvent, const edm::EventSetup&){ - - //the leptons - edm::Handle handle; - iEvent.getByLabel( src_, handle ); - - //the pf candidates - reco::PFCandidateFwdPtrHandle pfhandle; - iEvent.getByLabel( pfCands_, pfhandle ); - const reco::PFCandidateFwdPtrCollection* pf = pfhandle.product(); - - //the vertex to use - edm::Handle vhandle; - iEvent.getByLabel( vertexCollection_, vhandle ); - - std::auto_ptr result(new collection); - if(vhandle->size()){ - const reco::Vertex::Point& leadingVertex = vhandle->at(0).position(); - for(typename collection::const_iterator it = handle->begin(); it != handle->end(); ++it){ - bool selected = false; - if(it->isMuon()){ - selected = isLooseLepton(*it, leadingVertex, *pf); - }else if(it->isElectron()){ - selected = isLooseLepton(*it, leadingVertex, *pf); - } - - Lepton lep = *it; - float f_selected = selected; - lep.addUserFloat(std::string("isLooseLeptonSAK"),f_selected); - result->push_back(lep); - } - } - iEvent.put( result ); - } - - private: - edm::InputTag src_; - edm::InputTag pfCands_; - edm::InputTag vertexCollection_; - -}; - -template <> -bool DirectionalIsolationProducer::isLooseLepton(const pat::Electron& lepton, const math::XYZPoint& primaryVertex, const reco::PFCandidateFwdPtrCollection & pfCandidates) const{ - throw cms::Exception("Loose leptons are not yet supported in this release"); - //return isLooseElectron(lepton, primaryVertex, pfCandidates); -} - -template <> -bool DirectionalIsolationProducer::isLooseLepton(const pat::Muon& lepton, const math::XYZPoint& primaryVertex, const reco::PFCandidateFwdPtrCollection & pfCandidates) const{ - throw cms::Exception("Loose leptons are not yet supported in this release"); - //return isLooseMuon(lepton, primaryVertex, pfCandidates); -} - - -#endif diff --git a/CMGTools/Common/plugins/EENoiseFilter.cc b/CMGTools/Common/plugins/EENoiseFilter.cc deleted file mode 100644 index 22bec67381a1..000000000000 --- a/CMGTools/Common/plugins/EENoiseFilter.cc +++ /dev/null @@ -1,49 +0,0 @@ -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" - - -class EENoiseFilter : public edm::EDFilter { - - public: - - explicit EENoiseFilter(const edm::ParameterSet & iConfig); - ~EENoiseFilter() {} - - private: - - virtual bool filter(edm::Event & iEvent, const edm::EventSetup & iSetup); - - edm::InputTag eeRHSrc_; - unsigned int maxNrRecHits_; - bool taggingMode_; -}; - - -EENoiseFilter::EENoiseFilter(const edm::ParameterSet & iConfig) { - eeRHSrc_ = iConfig.getParameter("EERecHitSource"); - maxNrRecHits_ = iConfig.getParameter("MaxNrRecHits"); - taggingMode_ = iConfig.getParameter("TaggingMode"); - - produces("Result"); -} - - -bool EENoiseFilter::filter(edm::Event & iEvent, const edm::EventSetup & iSetup) { - edm::Handle eeRHs; - iEvent.getByLabel(eeRHSrc_, eeRHs); - - bool result = eeRHs->size() < maxNrRecHits_; - - std::auto_ptr pOut(new bool(result) ); - iEvent.put( pOut, "Result" ); - - if(taggingMode_) return true; else return result; -} - - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(EENoiseFilter); diff --git a/CMGTools/Common/plugins/EventCounter.cc b/CMGTools/Common/plugins/EventCounter.cc deleted file mode 100644 index eb95406dc283..000000000000 --- a/CMGTools/Common/plugins/EventCounter.cc +++ /dev/null @@ -1,42 +0,0 @@ -#include "CMGTools/Common/plugins/EventCounter.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -EventCounter::EventCounter(const edm::ParameterSet& iConfig): - name_(iConfig.getParameter("name")) -{ - DQMStore* store = &*edm::Service(); - evCount = store->bookFloat(name_.c_str()); - if(evCount) - { - evCount->Fill(0); - } - -} - - -EventCounter::~EventCounter() -{ - - // 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 -EventCounter::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) -{ - using namespace edm; - if(evCount) - { - evCount->Fill(evCount->getFloatValue()+1.0); - } -} - -DEFINE_FWK_MODULE(EventCounter); diff --git a/CMGTools/Common/plugins/EventCounter.h b/CMGTools/Common/plugins/EventCounter.h deleted file mode 100644 index 291e4463f477..000000000000 --- a/CMGTools/Common/plugins/EventCounter.h +++ /dev/null @@ -1,28 +0,0 @@ -// system include files -#include - - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "DQMServices/Core/interface/MonitorElement.h" -#include "DQMServices/Core/interface/DQMStore.h" - -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/Run.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ServiceRegistry/interface/Service.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - - -class EventCounter : public edm::EDProducer { - public: - explicit EventCounter(const edm::ParameterSet&); - ~EventCounter(); - - private: - virtual void produce(edm::Event&, const edm::EventSetup&); - MonitorElement *evCount; - std::string name_; -}; diff --git a/CMGTools/Common/plugins/HistogramAnalyzer.h b/CMGTools/Common/plugins/HistogramAnalyzer.h deleted file mode 100644 index 027225b31035..000000000000 --- a/CMGTools/Common/plugins/HistogramAnalyzer.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef HISTOGRAMANALYZER_H_ -#define HISTOGRAMANALYZER_H_ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" - -#include -#include - -namespace cmg{ - -template -class HistogramAnalyzer : public edm::EDAnalyzer { - public: - HistogramAnalyzer(const edm::ParameterSet& ps): - histo_(new HC(ps)) { - histo_->init(); - } - virtual void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup){ - histo_->fill(iEvent,iSetup); - } - private: - std::auto_ptr histo_; -}; - -} - -#endif /*HISTOGRAMANALYZER_H_*/ diff --git a/CMGTools/Common/plugins/IndexObjectsSelector.h b/CMGTools/Common/plugins/IndexObjectsSelector.h deleted file mode 100644 index b8112f2bf377..000000000000 --- a/CMGTools/Common/plugins/IndexObjectsSelector.h +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef __CMGTools_Common_IndexObjectsSelector_h__ -#define __CMGTools_Common_IndexObjectsSelector_h__ - -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/EventSetup.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include "DataFormats/Candidate/interface/CandidateFwd.h" - -#include -#include -#include - -namespace cmg{ - -/** - * A class to select the events from 0 to index in a collection. - * - * If the index is negative, or greater than the number of entries - * in the collection, we copy all elements. - * - */ -template -class IndexObjectsSelector : public edm::EDProducer { - - public: - - typedef std::vector collection; - typedef std::auto_ptr event_ptr; - typedef edm::View view; - - explicit IndexObjectsSelector(const edm::ParameterSet& ps): - src_(ps.getParameter("inputCollection")), - min_(ps.getParameter("min")), - max_(ps.getParameter("max")), - verbose_(ps.getUntrackedParameter("verbose",false)){ - produces(""); - } - void produce(edm::Event& iEvent, const edm::EventSetup&); - - private: - - const edm::InputTag src_; - const int min_; - const int max_; - const bool verbose_ ; - -}; -} - -template -void cmg::IndexObjectsSelector::produce(edm::Event& iEvent, const edm::EventSetup&){ - - edm::Handle cands; - iEvent.getByLabel(src_,cands); - - if(verbose_){ - std::cout << "The collection " << src_.label() << " has " << cands->size() << " entries." << std::endl; - } - typename cmg::IndexObjectsSelector::event_ptr result(new collection()); - if(cands->size()){ - - //the max index - unsigned int max = 0; - if( (max_ < 0) || (static_cast(max_) >= cands->size() ) ){ - max = cands->size()-1; - }else{ - max = static_cast(max_); - } - - unsigned int min = 0; - if( min_ > 0 ) min = static_cast(min_); - - if(verbose_){ - std::cout << "IndexSelector: min = " << min << ", max = "<< max << std::endl; - } - for(unsigned int i = min; i <= max; i++){ - reco::CandidatePtr ptrToMother( cands, i ); - result->push_back(cands->at(i)); - result->back().setSourceCandidatePtr( ptrToMother ); - } - if(verbose_){ - std::cout << "Copied " << result->size() << " objects" << std::endl; - } - } - iEvent.put(result); - return; -} - - -#endif diff --git a/CMGTools/Common/plugins/JetExtendedProducer.cc b/CMGTools/Common/plugins/JetExtendedProducer.cc deleted file mode 100644 index 421eed3a4887..000000000000 --- a/CMGTools/Common/plugins/JetExtendedProducer.cc +++ /dev/null @@ -1,433 +0,0 @@ -// system include files -#include -#include -#include -#include - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/ESHandle.h" -#include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "DataFormats/Common/interface/ValueMap.h" -#include "DataFormats/JetReco/interface/PFJet.h" -#include "DataFormats/PatCandidates/interface/Jet.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h" -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" - -#include "CondFormats/JetMETObjects/interface/JetCorrectorParameters.h" -#include "CondFormats/JetMETObjects/interface/JetCorrectionUncertainty.h" -#include "JetMETCorrections/Objects/interface/JetCorrectionsRecord.h" -#include "JetMETCorrections/Objects/interface/JetCorrector.h" - -#include "TMath.h" -#include "TLorentzVector.h" -#define GENPTOLOR(a) TLorentzVector((a).px(), (a).py(), (a).pz(), (a).energy()) - -class JetExtendedProducer : public edm::EDProducer { - public: - explicit JetExtendedProducer(const edm::ParameterSet&); - virtual ~JetExtendedProducer(); - - private: - virtual void beginJob() ; - virtual void produce(edm::Event&, const edm::EventSetup&); - virtual void endJob() ; - - // ----------member data -------------------------- - edm::InputTag src_,vtx_, srcQGTagPOG_; - std::string payload_; - bool isJecUncSet_,debug_; - JetCorrectionUncertainty *jecUnc_; -}; - -JetExtendedProducer::JetExtendedProducer(const edm::ParameterSet& iConfig) -{ - src_ = iConfig.getParameter ("jets"); - vtx_ = iConfig.getParameter ("vertices"); - payload_ = iConfig.getParameter ("payload"); - debug_ = iConfig.getUntrackedParameter ("debug",false); - srcQGTagPOG_ = iConfig.getParameter ("qgtagPOG"); - - produces(); - isJecUncSet_ = false; -} - -JetExtendedProducer::~JetExtendedProducer() -{ - -} - -// ------------ method called to produce the data ------------ -void JetExtendedProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) -{ - using namespace edm; - using namespace reco; - - edm::Handle > jets; - iEvent.getByLabel(src_,jets); - edm::View pat_jets = *jets; - - std::auto_ptr result (new pat::JetCollection); //Extended jets - const int size = pat_jets.size(); - result->reserve(size); - - //-------------- Vertex Info ----------------------------------- - Handle recVtxs; - iEvent.getByLabel(vtx_,recVtxs); - - //-------------- Quark Gluon Tagger Info ----------------------------------- - std::vector QGvars{ "qg", "axis2","mult","ptD" }; - std::vector>> QGhandles(QGvars.size()); - for (unsigned int i = 0, n = QGvars.size(); i < n; ++i) { - iEvent.getByLabel(edm::InputTag(srcQGTagPOG_.label(), QGvars[i]+"Likelihood", srcQGTagPOG_.process()), QGhandles[i]); - } - - //-------------- Set the JEC uncertainty object ---------------- - if (!isJecUncSet_ && payload_ != "") { - if (debug_) { - std::cout<<"Initializing the JEC uncertainty object"< JetCorParColl; - iSetup.get().get(payload_,JetCorParColl); - JetCorrectorParameters const& par = (*JetCorParColl)["Uncertainty"]; - jecUnc_ = new JetCorrectionUncertainty(par); - isJecUncSet_ = true; - } - - unsigned int jetIdx = 0; - for(edm::View::const_iterator ijet = pat_jets.begin(); ijet != pat_jets.end(); ++ijet) { - //Secondary vertex infos - int nConstituents = ijet->getPFConstituents().size(); - float vtxMass(0),vtx3dL(0),vtx3deL(0); - int vtxNTracks(0); - TLorentzVector vtxP4; - const reco::SecondaryVertexTagInfo * tf = ijet->tagInfoSecondaryVertex(); - if (tf) { - math::XYZTLorentzVectorD vertexSum; - for(size_t vi=0;vinVertices();vi++) { - vertexSum+=tf->secondaryVertex(vi).p4(); - } - if (tf->nVertices() > 0) { - vtxP4 = GENPTOLOR(vertexSum); - vtxMass = tf->secondaryVertex(0).p4().mass(); - vtxNTracks = tf->secondaryVertex(0).nTracks(); - - Measurement1D m = tf->flightDistance(0); - vtx3dL = m.value(); - vtx3deL = m.error(); - } - } - - //----- calculations based on the constituents ----- - std::vector pfConst(ijet->getPFConstituents()); - int n_pf = pfConst.size(); - float phiJet = ijet->phi(); - float etaJet = ijet->eta(); - float deta,dphi,dR,weight,weight2,sumW(0.0),sumW2(0.0),sum_deta(0.0),sum_dphi(0.0),sum_deta2(0.0),sum_dphi2(0.0),sum_detadphi(0.0); - float Teta(0),Tphi(0),Ttheta(-9),jetPtMax(0),axis1(-999),axis2(-999),tana(-999),ptD(-999),ptD_QC(-999); - - float sumW_QC(0.0),sumW2_QC(0.0),sum_deta_QC(0.0),sum_dphi_QC(0.0),sum_deta2_QC(0.0),sum_dphi2_QC(0.0),sum_detadphi_QC(0.0); - float axis1_QC(-999),axis2_QC(-999); - - float ave_deta(0.0),ave_dphi(0.0),ave_deta2(0.0),ave_dphi2(0.0); - float ave_deta_QC(0.0),ave_dphi_QC(0.0),ave_deta2_QC(0.0),ave_dphi2_QC(0.0); - float pull(0.0),pull_QC(0.0); - - float pTMax(0.0),pTMaxChg(0.0),pTMaxNeutral(0.0),pTMaxChg_QC(0.0); - int nChg_QC(0),nChg_ptCut(0),nChg_ptCut_QC(0),nNeutral_ptCut(0); - std::vector jetPart_pt,jetPart_deta,jetPart_dphi; - std::vector jetPart_forMult,jetPart_forAxis; - - for(int j=0;jgetPFConstituent(j); - if (part.isNonnull()) - itrk = (*part).trackRef(); - if (part->pt() > pTMax) - pTMax = part->pt(); - if (itrk.isNonnull() && part->pt() > pTMaxChg) - pTMaxChg = part->pt(); - if (!itrk.isNonnull() && part->pt() > pTMaxNeutral) - pTMaxNeutral = part->pt(); - if (!itrk.isNonnull() && part->pt() > 1.0) - nNeutral_ptCut++; - - bool trkForAxis = false; - bool trkForMult = false; - - //-----matching with vertex tracks------- - if (!itrk.isNonnull()) { - trkForMult = true; - trkForAxis = true; - } - else { - if (part->pt() > 1.0) - nChg_ptCut++; - float dZmin = 999; - int index_min = 999; - reco::VertexCollection::const_iterator vtxClose; - for(unsigned ivtx = 0;ivtx < recVtxs->size();ivtx++) { - float dZ_cut = fabs(itrk->dz((*recVtxs)[ivtx].position())); - float sumpT = 0; - for(reco::Vertex::trackRef_iterator itk = (*recVtxs)[ivtx].tracks_begin();itk!=(*recVtxs)[ivtx].tracks_end(); ++itk) { - sumpT = sumpT + ((*itk)->pt())*((*itk)->pt()); - } - if (dZ_cut < dZmin) { - dZmin = dZ_cut; - index_min = ivtx; - // std::cout<<"dz=="<dz((*recVtxs)[0].position()); - float d0 = itrk->dxy((*recVtxs)[0].position()); - float vtx_xError = (*recVtxs)[0].xError(); - float vtx_yError = (*recVtxs)[0].yError(); - float vtx_zError = (*recVtxs)[0].zError(); - float d0_sigma=sqrt(pow(itrk->d0Error(),2) + pow(vtx_xError,2) + pow(vtx_yError,2)); - float dz_sigma=sqrt(pow(itrk->dzError(),2) + pow(vtx_zError,2)); - if (itrk->quality(reco::TrackBase::qualityByName("highPurity")) && fabs(dz/dz_sigma) < 5.) { - trkForAxis = true; - if (fabs(d0/d0_sigma) < 5.) - trkForMult = true; - }// - } - if (trkForMult) - nChg_QC++; - if (itrk.isNonnull() && trkForMult && part->pt() > 1.0) - nChg_ptCut_QC++; - if (part->pt() > pTMaxChg_QC && trkForAxis) - pTMaxChg_QC = part->pt(); - }// for charged particles only - - //-----------Store part info----------------------- - jetPart_pt.push_back(pfConst[j]->pt()); - jetPart_forMult.push_back(trkForMult); - jetPart_forAxis.push_back(trkForAxis); - - deta = pfConst[j]->eta() - etaJet; - dphi = 2*atan(tan((pfConst[j]->phi()-phiJet)/2)); - dR = sqrt(deta*deta + dphi*dphi); - weight = pfConst[j]->pt(); // used for the thrust and ptD variables - weight2 = weight * weight; // used for the jet axis, ptD variables - sumW += weight; - sumW2 += weight2; - Teta += weight * dR * deta; - Tphi += weight * dR * dphi; - sum_deta += deta*weight2; - sum_dphi += dphi*weight2; - sum_deta2 += deta*deta*weight2; - sum_detadphi += deta*dphi*weight2; - sum_dphi2 += dphi*dphi*weight2; - //-----Axis using charged tracks with quality cuts--- - if (trkForAxis) { - sumW2_QC += weight2; - sumW_QC += weight; - sum_deta_QC += deta*weight2; - sum_dphi_QC += dphi*weight2; - sum_deta2_QC += deta*deta*weight2; - sum_detadphi_QC += deta*dphi*weight2; - sum_dphi2_QC += dphi*dphi*weight2; - } - jetPart_deta.push_back(deta); - jetPart_dphi.push_back(dphi); - //----------------------------------- - if (fabs(pfConst[j]->charge()) > 0) { - jetPtMax = TMath::Max(jetPtMax,float(pfConst[j]->pt())); - } - }// loop over the constituents - if (sumW > 0) { - Teta = Teta/sumW; - Tphi = Tphi/sumW; - if (Teta != 0 && Tphi !=0 ) { - Ttheta = atan2(Tphi,Teta); - } - ptD = sqrt(sumW2)/sumW; - ave_deta = sum_deta/sumW2; - ave_dphi = sum_dphi/sumW2; - ave_deta2 = sum_deta2/sumW2; - ave_dphi2 = sum_dphi2/sumW2; - float a = ave_deta2-ave_deta*ave_deta; - float b = ave_dphi2-ave_dphi*ave_dphi; - float c = -(sum_detadphi/sumW2-ave_deta*ave_dphi); - float delta = sqrt(fabs((a-b)*(a-b)+4*c*c)); - if (a+b+delta > 0) { - axis1 = sqrt(0.5*(a+b+delta)); - } - if (a+b-delta > 0) { - axis2 = sqrt(0.5*(a+b-delta)); - } - if (c != 0) { - tana = 0.5*(b-a+delta)/c; - } - } - if (sumW_QC > 0) { - ptD_QC = sqrt(sumW2_QC)/sumW_QC; - ave_deta_QC = sum_deta_QC/sumW2_QC; - ave_dphi_QC = sum_dphi_QC/sumW2_QC; - ave_deta2_QC = sum_deta2_QC/sumW2_QC; - ave_dphi2_QC = sum_dphi2_QC/sumW2_QC; - - float a_QC = ave_deta2_QC-ave_deta_QC*ave_deta_QC; - float b_QC = ave_dphi2_QC-ave_dphi_QC*ave_dphi_QC; - float c_QC = -(sum_detadphi_QC/sumW2_QC-ave_deta_QC*ave_dphi_QC); - float delta_QC = sqrt(fabs((a_QC-b_QC)*(a_QC-b_QC)+4*c_QC*c_QC)); - - if (a_QC+b_QC+delta_QC > 0) { - axis1_QC = sqrt(0.5*(a_QC+b_QC+delta_QC)); - } - if (a_QC+b_QC-delta_QC > 0) { - axis2_QC = sqrt(0.5*(a_QC+b_QC-delta_QC)); - } - } - //-------calculate pull------ - float ddetaR_sum(0.0), ddphiR_sum(0.0),ddetaR_sum_QC(0.0), ddphiR_sum_QC(0.0); - for(unsigned int i=0; i 0) { - float ddetaR_ave = ddetaR_sum/sumW2; - float ddphiR_ave = ddphiR_sum/sumW2; - pull = sqrt(ddetaR_ave*ddetaR_ave+ddphiR_ave*ddphiR_ave); - } - if (sumW2_QC > 0) { - float ddetaR_ave_QC = ddetaR_sum_QC/sumW2_QC; - float ddphiR_ave_QC = ddphiR_sum_QC/sumW2_QC; - pull_QC = sqrt(ddetaR_ave_QC*ddetaR_ave_QC+ddphiR_ave_QC*ddphiR_ave_QC); - } - int nChg = ijet->chargedMultiplicity(); - int nNeutral = ijet->neutralMultiplicity(); - float jetRchg = pTMaxChg/sumW; - float jetRneutral = pTMaxNeutral/sumW; - float jetR = pTMax/sumW; - float jetRchg_QC = pTMaxChg_QC/sumW_QC; - - //---- vertex association ----------- - //---- get the vector of tracks ----- - const reco::PFJet& pfJet = dynamic_cast (*(ijet->originalObject())); - reco::TrackRefVector vTrks(pfJet.getTrackRefs()); - float sumTrkPt(0.0),sumTrkPtBeta(0.0),beta(0.0); - float sumTrkPx(0.0),sumTrkPy(0.0),sumTrkP(0.0),leadTrkPt(0); - //---- loop over the tracks of the jet ---- - for(reco::TrackRefVector::const_iterator i_trk = vTrks.begin(); i_trk != vTrks.end(); i_trk++) { - sumTrkPt += (*i_trk)->pt(); - sumTrkPx+= (*i_trk)->px(); - sumTrkPy+= (*i_trk)->py(); - sumTrkP+=(*i_trk)->p(); - leadTrkPt=TMath::Max(leadTrkPt,float((*i_trk)->pt())); - //---- loop over all vertices ---------------------------- - for(unsigned ivtx = 0;ivtx < recVtxs->size();ivtx++) { - //---- loop over the tracks associated with the vertex --- - for(reco::Vertex::trackRef_iterator i_vtxTrk = (*recVtxs)[ivtx].tracks_begin(); i_vtxTrk != (*recVtxs)[ivtx].tracks_end(); ++i_vtxTrk) { - //---- match the jet track to the track from the vertex ---- - reco::TrackRef trkRef(i_vtxTrk->castTo()); - //---- check if the tracks match ------------------------- - if (trkRef == (*i_trk)) { - if (ivtx > 0) { - sumTrkPtBeta += (*i_trk)->pt(); - } - break; - } - } - } - } - if (sumTrkPt > 0) { - beta = 1.-sumTrkPtBeta/sumTrkPt; - } - pat::Jet extendedJet = *ijet; // copy original jet - jecUnc_->setJetEta(ijet->eta()); - jecUnc_->setJetPt(ijet->pt()); - extendedJet.addUserFloat("jecUnc",jecUnc_->getUncertainty(true)); - extendedJet.addUserFloat("beta",beta); - extendedJet.addUserFloat("ptMax",jetPtMax); - extendedJet.addUserFloat("ptD",ptD); - extendedJet.addUserFloat("ptD_QC",ptD_QC); - extendedJet.addUserFloat("axis1",axis1); - extendedJet.addUserFloat("axis2",axis2); - extendedJet.addUserFloat("tana",tana); - extendedJet.addUserFloat("ttheta",Ttheta); - - extendedJet.addUserFloat("axis1_QC",axis1_QC); - extendedJet.addUserFloat("axis2_QC",axis2_QC); - extendedJet.addUserFloat("pull",pull); - extendedJet.addUserFloat("pull_QC",pull_QC); - - extendedJet.addUserInt("nChg",nChg); - extendedJet.addUserInt("nNeutral",nNeutral); - extendedJet.addUserInt("nChg_QC",nChg_QC); - extendedJet.addUserInt("nChg_ptCut",nChg_ptCut); - extendedJet.addUserInt("nChg_ptCut_QC",nChg_ptCut_QC); - extendedJet.addUserInt("nNeutral_ptCut",nNeutral_ptCut); - - extendedJet.addUserFloat("jetRchg",jetRchg); - extendedJet.addUserFloat("jetRneutral",jetRneutral); - extendedJet.addUserFloat("jetR",jetR); - extendedJet.addUserFloat("jetRchg_QC",jetRchg_QC); - - extendedJet.addUserFloat("vtxMass",vtxMass); - extendedJet.addUserFloat("vtx3dL",vtx3dL); - extendedJet.addUserFloat("vtx3deL",vtx3deL); - extendedJet.addUserFloat("sumTrkPt",sumTrkPt); - extendedJet.addUserFloat("sumTrkP",sumTrkP); - float sumTrkPtV = sqrt(sumTrkPx*sumTrkPx+sumTrkPy*sumTrkPy); - extendedJet.addUserFloat("sumTrkPtV",sumTrkPtV); - extendedJet.addUserFloat("leadTrkPt",leadTrkPt); - float vtxPt=vtxP4.Pt(); - extendedJet.addUserFloat("vtxPt",vtxPt); - extendedJet.addUserInt("vtxNTracks",vtxNTracks); - extendedJet.addUserInt("nConstituents",nConstituents); - - edm::Ptr jetPtr(pat_jets.ptrAt(jetIdx)); - for (unsigned int i = 0, n = QGvars.size(); i < n; ++i) { - extendedJet.addUserFloat("POG_QGL_"+QGvars[i], (*QGhandles[i])[jetPtr]); - } - - if (debug_) { - std::cout<<"pt = "< -#include -#include - -namespace cmg{ - -/** - * A class to select the events from 0 to index in a collection. - * - * If the index is negative, or greater than the number of entries - * in the collection, we copy all elements. - * - */ -template -class LeadingObjectsSelector : public edm::EDProducer { - - public: - - typedef std::vector collection; - typedef std::auto_ptr event_ptr; - typedef edm::View view; - - explicit LeadingObjectsSelector(const edm::ParameterSet& ps): - src_(ps.getParameter("inputCollection")), - index_(ps.getParameter("index")), - verbose_(ps.getUntrackedParameter("verbose",false)){ - produces(""); - } - void produce(edm::Event& iEvent, const edm::EventSetup&); - - private: - - const edm::InputTag src_; - const int index_; - const bool verbose_ ; - -}; -} - -template -void cmg::LeadingObjectsSelector::produce(edm::Event& iEvent, const edm::EventSetup&){ - - edm::Handle cands; - iEvent.getByLabel(src_,cands); - - if(verbose_){ - std::cout << "The collection " << src_.label() << " has " << cands->size() << " entries." << std::endl; - } - typename cmg::LeadingObjectsSelector::event_ptr result(new collection()); - if(cands->size()){ - - //the index - unsigned int index = 0; - if( (index_ < 0) || (static_cast(index_) > cands->size()) ){ - index = cands->size(); - }else{ - index = static_cast(index_); - } - if(verbose_){ - std::cout << "The selected index was " << index << std::endl; - } - for(unsigned int i = 0; i < index; i++){ - reco::CandidatePtr ptrToMother( cands, i ); - result->push_back(cands->at(i)); - result->back().setSourceCandidatePtr( ptrToMother ); - } - if(verbose_){ - std::cout << "Copied " << result->size() << " events" << std::endl; - } - } - iEvent.put(result); - return; -} - - -#endif //SinglePATMuonNuPairProducer_h diff --git a/CMGTools/Common/plugins/MetFlavorProducer.cc b/CMGTools/Common/plugins/MetFlavorProducer.cc deleted file mode 100644 index 3860b483108a..000000000000 --- a/CMGTools/Common/plugins/MetFlavorProducer.cc +++ /dev/null @@ -1,203 +0,0 @@ -// system include files -#include -#include -#include -#include - -#include "DataFormats/JetReco/interface/Jet.h" -#include "DataFormats/GsfTrackReco/interface/GsfTrack.h" -#include "DataFormats/GsfTrackReco/interface/GsfTrackFwd.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/TrackReco/interface/TrackFwd.h" - -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" -#include "DataFormats/METReco/interface/CommonMETData.h" -#include "DataFormats/METReco/interface/PFMETFwd.h" -#include "DataFormats/METReco/interface/PFMETCollection.h" -#include "DataFormats/METReco/interface/PFMET.h" - -#include "RecoMET/METAlgorithms/interface/PFSpecificAlgo.h" - -#include "DataFormats/PatCandidates/interface/Jet.h" - -#include "FWCore/Utilities/interface/Exception.h" -#include "CMGTools/Common/plugins/MetFlavorProducer.h" - - -MetFlavorProducer::MetFlavorProducer(const edm::ParameterSet& iConfig) { - produces(); - //fPatJetName = iConfig.getParameter("CorrJetName"); - fCorrJetName = iConfig.getParameter("CorrJetName"); - // fUnCorrJetName = iConfig.getParameter("JetName"); - fPFCandName = iConfig.getParameter("PFCandidateName"); - fVertexName = iConfig.getParameter("VertexName"); - fRhoName = iConfig.getParameter("RhoName"); - fJetPtMin = iConfig.getParameter ("JetPtMin"); - fDZMin = iConfig.getParameter ("dZMin"); - fMetFlavor = iConfig.getParameter ("MetFlavor"); - fUtils = new MetUtilities( iConfig.getParameter("WorkingPointId") ); - fPUJetIDName = iConfig.getParameter("puJetIDName"); - fPUJetIDNameLowPt = iConfig.getParameter("puJetIDNameLowPt"); - // fPUJetIdAlgo = new PileupJetIdAlgo(iConfig.getParameter("PUJetId")); - // fPUJetIdAlgoLowPt = new PileupJetIdAlgo(iConfig.getParameter("PUJetIdLowPt")); -} -MetFlavorProducer::~MetFlavorProducer() { - delete fUtils; -} -void MetFlavorProducer::beginJob() { } - -void MetFlavorProducer::endJob() { } - -void MetFlavorProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - //Uncorrected Jets -// edm::Handle lHUCJets; -// iEvent.getByLabel(fUnCorrJetName, lHUCJets); -// PFJetCollection lUCJets = *lHUCJets; - - //Corrected Jets - edm::Handle< std::vector > lHCJets; - iEvent.getByLabel(fCorrJetName , lHCJets); - const std::vector& lCJets = *lHCJets; - - //Pat Jets - //Handle lHCJets; - //iEvent.getByLabel(fCorrJetName , lHCJets); - //PFJetCollection lCJets = *lHCJets; - - //Get pfCandidates - // edm::Handle lHCands; - edm::Handle> lHCands; - iEvent.getByLabel(fPFCandName , lHCands); - const std::vector& lCands = *lHCands; - - // vertices - edm::Handle lHVertices; - iEvent.getByLabel(fVertexName , lHVertices); - const reco::VertexCollection& lVertices = *lHVertices; - const reco::Vertex *lPV = 0; - if(lVertices.size() > 0) - lPV = &lVertices[0]; - - //Get Rho - edm::Handle lHRho; - iEvent.getByLabel(fRhoName, lHRho); - double lRho = *lHRho; - - //Make Generic Objects - std::vector > lPFInfo; - makeCandidates(lPFInfo, lCands,lPV); - - std::vector lJetInfo; - makeJets(lJetInfo, lCJets, lVertices, lRho); - - std::vector lVtxInfo; - makeVertices(lVtxInfo, lVertices); - - //Calculate the Met - std::pair lMetInfo; //MET, SumEt - if(fMetFlavor == 0) lMetInfo = fUtils->TKMet (lPFInfo,fDZMin,2); - if(fMetFlavor == 1) lMetInfo = fUtils->TKMet (lPFInfo,fDZMin,0); - if(fMetFlavor == 2) lMetInfo = fUtils->NoPUMet(lPFInfo,lJetInfo,fDZMin); - if(fMetFlavor == 3) lMetInfo = fUtils->PUMet (lPFInfo,lJetInfo,fDZMin);//0.2 for DZ - if(fMetFlavor == 4) lMetInfo = fUtils->PUCMet (lPFInfo,lJetInfo,fDZMin); - - //Add a PF Met object and put it in the event - reco::PFMET lDummy; - reco::PFMET lMet(lDummy.getSpecific(), lMetInfo.second, lMetInfo.first, lPV->position()); //Use PFMET sum Et - - std::auto_ptr lPFMetColl; - lPFMetColl.reset(new reco::PFMETCollection); - lPFMetColl->push_back(lMet); - iEvent.put(lPFMetColl); -} - -void MetFlavorProducer::makeJets(std::vector &iJetInfo, - const std::vector& iCJets, - const reco::VertexCollection &iVertices,double iRho) { - - for(int i1 = 0; i1 < (int) iCJets .size(); i1++) { // corrected jets collection - const pat::Jet* pCJet = &(iCJets.at(i1)); - - //std::cout<<" MetFlavorProducer::makeJets input : "<pt()<<" "<eta()<<" "<correctedJet(0).pt()<<" "<neutralEmEnergy()<<" "<neutralHadronEnergy()<pt() < fJetPtMin) continue; - - if( !passPFLooseId(pCJet) ) continue; - - //std::cout<<" MetFlavorProducer::makeJets PFLooseId : "<pt()<<" "<eta()<<" "<correctedJet(0).pt()<<" "<neutralEmEnergy()<<" "<neutralHadronEnergy()<correctedJet(0).pt()/pCJet->pt()*pCJet->energy(); - // COLIN 53 - double lNeuFrac = 1.; - if (fabs(pCJet->eta())<2.5) - lNeuFrac = (pCJet->neutralEmEnergy() + pCJet->neutralHadronEnergy())/lJetEnergy; - // Old 52 recipe: - // double lNeuFrac = (pCJet->neutralEmEnergy() + pCJet->neutralHadronEnergy())/lJetEnergy; - MetUtilities::JetInfo pJetObject; - pJetObject.p4 = pCJet->p4(); - pJetObject.mva = lMVA; - pJetObject.neutFrac = lNeuFrac; - //std::cout<<" MetFlavorProducer::makeJets final: "< > &iPFInfo,const std::vector &iCands,const reco::Vertex *iPV) { - for(int i0 = 0; i0 < (int)iCands.size(); i0++) { - const pat::PackedCandidate* pflowCand = &(iCands.at(i0)); - double pDZ = -999; - if(iPV != 0) pDZ = pfCandDz(pflowCand,iPV); //If there is no track return negative number -999 - //LorentzVector pVec; pVec.SetCoordinates(pflowCand->pt(),pflowCand->eta(),pflowCand->phi(),pflowCand->mass()); - std::pair pPFObject(pflowCand->p4(),pDZ); - iPFInfo.push_back(pPFObject); - } -} -void MetFlavorProducer::makeVertices(std::vector &iPVInfo,const reco::VertexCollection &iVertices) { - for(int i0 = 0; i0 < (int)iVertices.size(); i0++) { - const reco::Vertex *pVertex = &(iVertices.at(i0)); - - if(fabs(pVertex->z()) > 24.) continue; - if(pVertex->ndof() < 4.) continue; - if(pVertex->position().Rho() > 2.) continue; - - Vector pVec; pVec.SetCoordinates(pVertex->x(),pVertex->y(),pVertex->z()); - iPVInfo.push_back(pVec); - } -} -bool MetFlavorProducer::passPFLooseId(const pat::Jet *iJet) { - - - //std::cout << " ==> " << iJet->pt() << " - " << iJet->eta() << " : " << iJet->energy() << " - " << iJet->neutralEmEnergy() << " - " << iJet->nConstituents() << " - " << iJet->chargedHadronEnergy() << " _ " << iJet->chargedEmEnergy() << " - " << iJet->chargedMultiplicity() << std::endl; - //if(iJet->energy()== 0) return false; - - double lJetEnergy = iJet->correctedJet(0).pt()/iJet->pt()*iJet->energy(); - //if((iJet->neutralHadronEnergy()+iJet->HFHadronEnergy())/lJetEnergy > 0.99) return false;//Jose: this is the correct PFLoose id - if((iJet->neutralHadronEnergy())/lJetEnergy > 0.99) return false;//Jose: HF energy is not used in the MVA Met training - if(iJet->neutralEmEnergy()/lJetEnergy > 0.99) return false; - if(iJet->nConstituents() < 2) return false; - if(iJet->chargedHadronEnergy()/lJetEnergy <= 0 && fabs(iJet->eta()) < 2.4 ) return false; - if(iJet->chargedEmEnergy()/lJetEnergy > 0.99 && fabs(iJet->eta()) < 2.4 ) return false; - if(iJet->chargedMultiplicity() < 1 && fabs(iJet->eta()) < 2.4 ) return false; - return true; -} -double MetFlavorProducer::pfCandDz(const pat::PackedCandidate* iPFCand, const reco::Vertex *iPV) { - double lDz = -999; - // FIXME - JAN - does pseudoTrack give something different from - // PackedCandidate::dz(..) ? - lDz = fabs(iPFCand->dz(iPV->position())); - return lDz; -} -double MetFlavorProducer::jetMVA (const pat::Jet *iCorrJet) { - // JAN - this returns the pre-computed PU jet ID present in miniAOD - // if you need another primary vertex, simply redo the PU jet ID production - if (iCorrJet->pt() > 10.) - return iCorrJet->userFloat(fPUJetIDName); - - return iCorrJet->userFloat(fPUJetIDNameLowPt); -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE (MetFlavorProducer); diff --git a/CMGTools/Common/plugins/MetFlavorProducer.h b/CMGTools/Common/plugins/MetFlavorProducer.h deleted file mode 100644 index 84a9d7cc43a4..000000000000 --- a/CMGTools/Common/plugins/MetFlavorProducer.h +++ /dev/null @@ -1,69 +0,0 @@ -// user include files -#include -#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/Math/interface/Vector.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include "DataFormats/JetReco/interface/Jet.h" -#include "DataFormats/JetReco/interface/PFJet.h" -#include "DataFormats/PatCandidates/interface/PackedCandidate.h" - -#include "CMGTools/Common/interface/MetUtilities.h" - - -namespace pat { - class Jet; -} - -class MetFlavorProducer : public edm::EDProducer { - public: - typedef math::XYZTLorentzVector LorentzVector; - typedef math::XYZVector Vector; - struct JetInfo { - LorentzVector p4; - double mva; - double neutFrac; - }; - - explicit MetFlavorProducer(const edm::ParameterSet&); - ~MetFlavorProducer(); - - private: - virtual void beginJob() ; - virtual void produce(edm::Event&, const edm::EventSetup&); - virtual void endJob() ; - - //edm::InputTag fPatJetName; - edm::InputTag fCorrJetName; - edm::InputTag fUnCorrJetName; - edm::InputTag fPFCandName; - edm::InputTag fVertexName; - edm::InputTag fRhoName; - - std::string fPUJetIDName; - std::string fPUJetIDNameLowPt; - - double fJetPtMin; - double fDZMin; - MetUtilities *fUtils; - int fMetFlavor; - - void makeCandidates(std::vector > &iPFInfo, - const std::vector &iCands,const reco::Vertex *iPV); - void makeVertices (std::vector& iPVInfo, - const reco:: VertexCollection &iVertices); - - void makeJets (std::vector &iJetInfo, - const std::vector& CJets, - const reco::VertexCollection& iVertices,double iRho); - - bool passPFLooseId(const pat::Jet *iJet); - double pfCandDz(const pat::PackedCandidate* iPFCand, const reco::Vertex *iPV) ; - double jetMVA (const pat::Jet *iuncorrJet); -}; diff --git a/CMGTools/Common/plugins/PFMETModificationProducer.cc b/CMGTools/Common/plugins/PFMETModificationProducer.cc deleted file mode 100644 index 052d9f9b1ed0..000000000000 --- a/CMGTools/Common/plugins/PFMETModificationProducer.cc +++ /dev/null @@ -1,109 +0,0 @@ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/Exception.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -#include "DataFormats/METReco/interface/PFMET.h" -#include "DataFormats/Candidate/interface/LeafCandidate.h" - -#include -#include -#include - -class PFMetModificationProducer : public edm::EDProducer { - -public: - // will template the filterr later - typedef reco::PFMET MET; - typedef std::vector< MET > METCollection; - - explicit PFMetModificationProducer(const edm::ParameterSet & iConfig); - virtual ~PFMetModificationProducer() {} - -private: - - void produce(edm::Event & iEvent, const edm::EventSetup & iSetup); - - edm::InputTag metSrc_; - edm::InputTag candSrc_; - const std::string operator_; - bool verbose_; -}; - - - -PFMetModificationProducer::PFMetModificationProducer(const edm::ParameterSet & iConfig) : - metSrc_( iConfig.getParameter("metSrc") ), - candSrc_( iConfig.getParameter("candSrc") ), - operator_( iConfig.getParameter("operator")), - verbose_( iConfig.getUntrackedParameter("verbose", false ) ) -{ - produces< std::vector< reco::PFMET > >(); -} - - -void PFMetModificationProducer::produce(edm::Event & iEvent, const edm::EventSetup & iSetup) { - - if(verbose_) std::cout<<"LeptonRemover"< metH; - iEvent.getByLabel(metSrc_, metH); - - edm::Handle< edm::View< reco::LeafCandidate > > candH; - iEvent.getByLabel(candSrc_, candH); - - typedef std::auto_ptr< METCollection > OutPtr; - OutPtr pOut( new METCollection() ); - - - for( unsigned i=0; isize(); ++i) { - const MET& met = metH->at(i); - - double sumEx = 0; - double sumEy = 0; - double sumEt = 0; - - for( unsigned i=0; isize(); ++i) { - const reco::LeafCandidate& cand = candH->at(i); - double et = cand.et(); - sumEt += et; - sumEx += et*cos(cand.phi()); - sumEy += et*sin(cand.phi()); - } - - const LorentzVector missingEt( -sumEx, -sumEy, 0, sqrt( sumEx*sumEx + sumEy*sumEy) ); - const LorentzVector metVector(met.p4()); - - if(operator_ == "+"){ - /// we add the extra contribution - /// reco::PFMET bm(reco::LeafCandidate(metCharge+sumCharge,metVector+missingEt)); - reco::PFMET bm( met.getSpecific(), - met.sumEt() + sumEt, - metVector+missingEt, - met.vertex() ); - pOut->push_back(bm); - } - else if(operator_ == "-"){ - ///default is '-' - reco::PFMET bm( met.getSpecific(), - met.sumEt() - sumEt, - metVector - missingEt, - met.vertex() ); - pOut->push_back(bm); - } - else assert(false); - } - - iEvent.put(pOut); - -} - - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(PFMetModificationProducer); diff --git a/CMGTools/Common/plugins/PFVertexProducer.cc b/CMGTools/Common/plugins/PFVertexProducer.cc deleted file mode 100644 index fcd6324c859a..000000000000 --- a/CMGTools/Common/plugins/PFVertexProducer.cc +++ /dev/null @@ -1,143 +0,0 @@ -#include "CMGTools/Common/plugins/PFVertexProducer.h" - -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/Common/interface/ValueMap.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" - - -PFVertexProducer::PFVertexProducer(const edm::ParameterSet & iConfig) { - - inputTagPFCandidates_ - = iConfig.getParameter("PFCandidate"); - - inputTagVertices_ - = iConfig.getParameter("Vertices"); - - checkClosestZVertex_ = iConfig.getParameter("checkClosestZVertex"); - - produces >(); - -} - -PFVertexProducer::~PFVertexProducer() {;} - -void -PFVertexProducer::beginRun(edm::Run& run,const edm::EventSetup & es) {;} - -void -PFVertexProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - - std::auto_ptr > - vOutput(new edm::ValueMap()); - edm::ValueMap::Filler vertexFiller(*vOutput); - - edm::Handle pfCandidates; - iEvent.getByLabel( inputTagPFCandidates_, pfCandidates ); - - edm::Handle vertices; - iEvent.getByLabel( inputTagVertices_, vertices); - - reco::VertexRefVector vertexRefs; - - for( unsigned i=0; isize(); ++i) { - - const reco::PFCandidate& cand = (*pfCandidates)[i]; - - int ivertex; - - switch( cand.particleId() ) { - case reco::PFCandidate::h: - case reco::PFCandidate::e: - case reco::PFCandidate::mu: - ivertex = chargedHadronVertex( *vertices, cand ); - break; - default: - ivertex = 0; - break; - } - - reco::VertexRef vertexRef(vertices,ivertex); - vertexRefs.push_back(vertexRef); - - } - - vertexFiller.insert(pfCandidates,vertexRefs.begin(),vertexRefs.end()); - vertexFiller.fill(); - iEvent.put(vOutput); -} - -int -PFVertexProducer::chargedHadronVertex( const reco::VertexCollection& vertices, - const reco::PFCandidate& pfcand ) const { - - - reco::TrackBaseRef trackBaseRef( pfcand.trackRef() ); - - size_t iVertex = 0; - unsigned index=0; - unsigned nFoundVertex = 0; - typedef reco::VertexCollection::const_iterator IV; - typedef reco::Vertex::trackRef_iterator IT; - float bestweight=0; - for(IV iv=vertices.begin(); iv!=vertices.end(); ++iv, ++index) { - - const reco::Vertex& vtx = *iv; - - // loop on tracks in vertices - for(IT iTrack=vtx.tracks_begin(); - iTrack!=vtx.tracks_end(); ++iTrack) { - - const reco::TrackBaseRef& baseRef = *iTrack; - - // one of the tracks in the vertex is the same as - // the track considered in the function - if(baseRef == trackBaseRef ) { - float w = vtx.trackWeight(baseRef); - //select the vertex for which the track has the highest weight - if (w > bestweight){ - bestweight=w; - iVertex=index; - nFoundVertex++; - } - } - } - } - - if (nFoundVertex>0){ - if (nFoundVertex!=1) - edm::LogWarning("TrackOnTwoVertex")<<"a track is shared by at least two verteces. Used to be an assert"; - return iVertex; - } - // no vertex found with this track. - - // optional: as a secondary solution, associate the closest vertex in z - if ( checkClosestZVertex_ ) { - - double dzmin = 10000; - double ztrack = pfcand.vertex().z(); - bool foundVertex = false; - index = 0; - for(IV iv=vertices.begin(); iv!=vertices.end(); ++iv, ++index) { - - double dz = fabs(ztrack - iv->z()); - if(dz -#include - -// user include files -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/Framework/interface/MakerMacros.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" - -#include - -class PFVertexProducer : public edm::EDProducer { - public: - - typedef edm::Handle > > PFCandidateFwdPtrHandle; - - explicit PFVertexProducer(const edm::ParameterSet&); - - ~PFVertexProducer(); - - virtual void produce(edm::Event&, const edm::EventSetup&); - - virtual void beginRun(edm::Run& run,const edm::EventSetup & es); - - int chargedHadronVertex( const reco::VertexCollection& vertices, - const reco::PFCandidate& pfcand ) const; - - private: - - /// Input PFCandidates - edm::InputTag inputTagPFCandidates_; - edm::InputTag inputTagVertices_; - - bool checkClosestZVertex_; - -}; - -#endif diff --git a/CMGTools/Common/plugins/PhysicsObjectPrinter.h b/CMGTools/Common/plugins/PhysicsObjectPrinter.h deleted file mode 100644 index 482296607c73..000000000000 --- a/CMGTools/Common/plugins/PhysicsObjectPrinter.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef CMGTOOLS_COMMON_PHYSICSOBJECTPRINTER_H_ -#define CMGTOOLS_COMMON_PHYSICSOBJECTPRINTER_H_ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDAnalyzer.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include -#include -#include -#include -#include - -namespace cmg{ - -/// A simple analyzer that prints out a collection -class PhysicsObjectPrinter : public edm::EDAnalyzer{ - public: - PhysicsObjectPrinter(const edm::ParameterSet& ps): - inputLabel_(ps.getUntrackedParameter("inputCollection")), - printSelections_(ps.getUntrackedParameter("printSelections",false)), - reportEvery_(ps.getUntrackedParameter("reportEvery",100)), - eventCount_(0){ - } - virtual void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup); - - private: - const edm::InputTag inputLabel_; - const bool printSelections_; - const unsigned int reportEvery_; - - unsigned int eventCount_; - -}; - -} - -#endif /*CMGTOOLS_COMMON_PHYSICSOBJECTPRINTER_H_*/ diff --git a/CMGTools/Common/plugins/RecovRecHitFilter.cc b/CMGTools/Common/plugins/RecovRecHitFilter.cc deleted file mode 100644 index acba2267f88e..000000000000 --- a/CMGTools/Common/plugins/RecovRecHitFilter.cc +++ /dev/null @@ -1,74 +0,0 @@ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" -#include "DataFormats/EcalRecHit/interface/EcalRecHit.h" - - -class RecovRecHitFilter : public edm::EDFilter { - - public: - - explicit RecovRecHitFilter(const edm::ParameterSet & iConfig); - ~RecovRecHitFilter() {} - - private: - - virtual bool filter(edm::Event & iEvent, const edm::EventSetup & iSetup); - - edm::InputTag eeRHSrc_; - double minRecovE_; - bool taggingMode_; - -}; - - -RecovRecHitFilter::RecovRecHitFilter(const edm::ParameterSet & iConfig) { - eeRHSrc_ = iConfig.getParameter("EERecHitSource"); - minRecovE_ = iConfig.getParameter("MinRecovE"); - taggingMode_ = iConfig.getParameter("TaggingMode"); - produces("Result"); -} - - -bool RecovRecHitFilter::filter(edm::Event & iEvent, const edm::EventSetup & iSetup) { - - edm::Handle eeRHs; - iEvent.getByLabel(eeRHSrc_, eeRHs); - - double recovE = 0; - for (EcalRecHitCollection::const_iterator eerh = eeRHs->begin(); eerh != eeRHs->end(); ++eerh) { - if (eerh->time()!=0 || - eerh->energy()<=0 || - eerh->checkFlag(EcalRecHit::kPoorReco) || - eerh->checkFlag(EcalRecHit::kOutOfTime) || - eerh->checkFlag(EcalRecHit::kFaultyHardware) || - eerh->checkFlag(EcalRecHit::kNoisy) || - eerh->checkFlag(EcalRecHit::kPoorCalib) || - eerh->checkFlag(EcalRecHit::kSaturated) || - eerh->checkFlag(EcalRecHit::kLeadingEdgeRecovered) || - eerh->checkFlag(EcalRecHit::kNeighboursRecovered) || - eerh->checkFlag(EcalRecHit::kTowerRecovered) || - eerh->checkFlag(EcalRecHit::kDead) || - eerh->checkFlag(EcalRecHit::kKilled) || - eerh->checkFlag(EcalRecHit::kL1SpikeFlag) || - eerh->checkFlag(EcalRecHit::kWeird) || - eerh->checkFlag(EcalRecHit::kDiWeird)) continue; - recovE += eerh->energy(); - if (recovE > minRecovE_) break; - } - bool result = (recovE < minRecovE_); - - std::auto_ptr pOut(new bool(result) ); - iEvent.put( pOut, "Result" ); - - if(taggingMode_) return true; else return result; - -} - - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(RecovRecHitFilter); diff --git a/CMGTools/Common/plugins/RunInfoAccountingAnalyzer.cc b/CMGTools/Common/plugins/RunInfoAccountingAnalyzer.cc deleted file mode 100644 index 1e04b03ec1ea..000000000000 --- a/CMGTools/Common/plugins/RunInfoAccountingAnalyzer.cc +++ /dev/null @@ -1,115 +0,0 @@ -#include "CMGTools/Common/plugins/RunInfoAccountingAnalyzer.h" -#include "FWCore/Framework/interface/LuminosityBlock.h" -#include "FWCore/Framework/interface/FileBlock.h" - -#include - - - -using namespace std; - -cmg::RunInfoAccountingAnalyzer::RunInfoAccountingAnalyzer(const edm::ParameterSet& ps) : - name_( ps.getUntrackedParameter("name","RunInfoAccounting")), - runInfoAccounting_( fs_->tFileDirectory(), name_ ), runNumber_(-1), - fileChanged_(false), currentRun_(0), nTotal_(0), nPassed_(0), nGenTotal_(0), nGenPassed_(0), - genFilterInfoSrc_(ps.getParameter("genFilterInfoSrc") ), - filterInfoSrc_(ps.getParameter("filterInfoSrc") ), - runOnMC_(ps.getParameter("runOnMC") ) -{} - -void cmg::RunInfoAccountingAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) { - - // if( fileChanged_ ) { - -// cout<<"file changed"<Print(); - -// edm::Run* run; -// runTree->SetBranchAddress( "Runs", &run ); -// runTree->GetEntry(0); - -// cout<GetEntries()< filter; - iLumi.getByLabel(filterInfoSrc_, filter); - - std::cout<<"Preselection Filter Efficiency: "<numEventsTried(); - nPassed_ += filter->numEventsPassed(); - - // getting the number of events being generated, and passing the filter after generation. - // this numbers will be used to derive the generator filtering efficiency - - edm::Handle genFilter; - iLumi.getByLabel(genFilterInfoSrc_, genFilter); - - if( genFilter.failedToGet() ) { - if( runOnMC_ ) { - std::cout<<"Failed to get GenFilterInfo for filtering after generation."<numEventsTried(); - nGenPassed_ += genFilter->numEventsPassed(); - - std::cout<<"Gen Filter Efficiency: "< - -namespace cmg{ - - class RunInfoAccountingAnalyzer : public edm::EDAnalyzer { - public: - RunInfoAccountingAnalyzer(const edm::ParameterSet& ps); - - virtual void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup); - virtual void respondToOpenInputFile(edm::FileBlock const& fb); - virtual void respondToCloseInputFile(edm::FileBlock const& fb); - - virtual void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&); - virtual void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&); - - virtual void beginRun(edm::Run const&, edm::EventSetup const&); - virtual void endRun(edm::Run const&, edm::EventSetup const&); - - private: - void printFilterInfo(const edm::LuminosityBlock& iLumi, const GenFilterInfo& filter); - - std::string name_; - - cmg::RunInfoAccounting runInfoAccounting_; - - edm::Service fs_; - - edm::RunNumber_t runNumber_; - - bool fileChanged_; - - const edm::Run* currentRun_; - - /// number of events before preselection - unsigned int nTotal_; - - /// number of events after preselection - unsigned int nPassed_; - - /// number of events generated (for the lumi sections seen) - unsigned int nGenTotal_; - - /// number of events passing generator filter (for the lumi sections seen) - unsigned int nGenPassed_; - - /// keeping track of the filtering efficiency after generator - edm::InputTag genFilterInfoSrc_; - - /// keeping track of another filtering efficiency, e.g. at PF2PAT+PAT+CMG level - edm::InputTag filterInfoSrc_; - - /// run on MC? - bool runOnMC_; - - }; - -} - -#endif /*HISTOGRAMANALYZER_H_*/ diff --git a/CMGTools/Common/plugins/SimpleParticleProducer.cc b/CMGTools/Common/plugins/SimpleParticleProducer.cc deleted file mode 100644 index ff86b48bb737..000000000000 --- a/CMGTools/Common/plugins/SimpleParticleProducer.cc +++ /dev/null @@ -1,43 +0,0 @@ -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDProducer.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Candidate/interface/LeafCandidate.h" - -#include - -class SimpleParticleProducer : public edm::EDProducer{ - public: - - typedef std::vector OutType; - - SimpleParticleProducer(const edm::ParameterSet& ps): - src_(ps.getParameter("src")) { - produces< OutType >(); - } - - virtual void produce(edm::Event&, const edm::EventSetup&); - - private: - edm::InputTag src_; -}; - - -void SimpleParticleProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup){ - - edm::Handle< edm::View< reco::Candidate > > handle; - iEvent.getByLabel( src_, handle ); - - std::auto_ptr< OutType > output( new OutType(handle->size()) ); - - for(unsigned i=0; isize(); ++i) { - const reco::Candidate& cand = handle->at(i); - output->push_back( reco::LeafCandidate(cand) ); - } - - iEvent.put( output ); -} - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(SimpleParticleProducer); diff --git a/CMGTools/Common/plugins/TopProjector.h b/CMGTools/Common/plugins/TopProjector.h deleted file mode 100644 index bfbc7827a4f4..000000000000 --- a/CMGTools/Common/plugins/TopProjector.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef CMGTOOLS_COMMON_TOPPROJECTOR_H_ -#define CMGTOOLS_COMMON_TOPPROJECTOR_H_ - -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" -#include "CommonTools/ParticleFlow/plugins/TopProjector.h" - -//// IN PRINCIPLE THESE CAN BE ISTANTIATED IF WE WANT -//// BUT THE CandPtrProjector SHOULD BE ABLE TO HANDLE -//// THIS WITHOUT ISSUES AND IN A SIMPLER WAY -// -//typedef TopProjector TPCMGMuonOnPFCandidate; -//typedef TopProjector TPCMGTauOnPFCandidate; -//typedef TopProjector TPCMGPFJetOnPFJet; - - -#endif /*CMGTOOLS_COMMON_TOPPROJECTOR_H_*/ diff --git a/CMGTools/Common/plugins/TotalKinematicsFilterCMG.cc b/CMGTools/Common/plugins/TotalKinematicsFilterCMG.cc deleted file mode 100644 index 9da723a4ff7c..000000000000 --- a/CMGTools/Common/plugins/TotalKinematicsFilterCMG.cc +++ /dev/null @@ -1,109 +0,0 @@ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/JetReco/interface/Jet.h" -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" - -//http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/GeneratorInterface/GenFilters/src/TotalKinematicsFilterCMG.cc?view=log -//http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/GeneratorInterface/GenFilters/interface/TotalKinematicsFilterCMG.h?view=log - -class TotalKinematicsFilterCMG : public edm::EDFilter { - - public: - - explicit TotalKinematicsFilterCMG(const edm::ParameterSet & iConfig); - ~TotalKinematicsFilterCMG() {} - - private: - - virtual bool filter(edm::Event & iEvent, const edm::EventSetup & iSetup); - - bool taggingMode_; - bool debugOn_; - edm::InputTag src_; - double tolerance_; - bool verbose_; - -}; - - -TotalKinematicsFilterCMG::TotalKinematicsFilterCMG(const edm::ParameterSet & iConfig) { - - debugOn_ = iConfig.getUntrackedParameter("debugOn",false); - taggingMode_ = iConfig.getParameter("TaggingMode"); - src_ = iConfig.getParameter("src"); - tolerance_ = iConfig.getParameter("tolerance"); - - produces("Result"); -} - - -bool TotalKinematicsFilterCMG::filter(edm::Event & iEvent, const edm::EventSetup & iSetup) { - - float nEcms = 0.; - unsigned int nInit = 0; - - std::vector p4tot(4,0.); - unsigned int nPart = 0; - - // Gather information on the reco::GenParticle collection - edm::Handle genParticles; - iEvent.getByLabel(src_, genParticles ); - - for (reco::GenParticleCollection::const_iterator iter=genParticles->begin();iter!=genParticles->end();++iter){ - if ( nInit < 3 && (*iter).status() == 3 && (*iter).pdgId() == 2212 ) { - nInit++; - nEcms += (*iter).energy(); - } - if ( (*iter).status() == 1) { - nPart++; - if (debugOn_) { - std::cout << "Status 1 part # " << std::setw(4) << std::fixed << nPart - << std::setw(14) << std::fixed << (*iter).pdgId() - << std::setw(14) << std::fixed << (*iter).px() - << std::setw(14) << std::fixed << (*iter).py() - << std::setw(14) << std::fixed << (*iter).pz() << std::endl; - } - p4tot[0] += (*iter).px(); - p4tot[1] += (*iter).py(); - p4tot[2] += (*iter).pz(); - p4tot[3] += std::sqrt( (*iter).px()*(*iter).px() + - (*iter).py()*(*iter).py() + - (*iter).pz()*(*iter).pz() + - (*iter).mass()*(*iter).mass()) ; - } - } - - if ( debugOn_ ) { - std::cout << "Initial sqrt(s) = " << nEcms << std::endl; - for (unsigned int i=0; i<4; i++) { - std::cout << "p4tot["< tolerance_ || std::abs(p4tot[1]) > tolerance_ || std::abs(p4tot[2]) > tolerance_ || std::abs(p4tot[3]-nEcms) > tolerance_ ) - { pass = false; } - - - bool result = pass; - std::auto_ptr pOut(new bool(result) ); - iEvent.put( pOut, "Result" ); - - //if (!result) - // std::cout << "Failed TotalKinematicsFilterCMG: " - // << iEvent.id().run() << " : " << iEvent.id().luminosityBlock() << " : " << iEvent.id().event() - // << std::endl; - - if(taggingMode_) return true; else return result; -} - - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(TotalKinematicsFilterCMG); diff --git a/CMGTools/Common/plugins/TrackIsolationFilter.cc b/CMGTools/Common/plugins/TrackIsolationFilter.cc deleted file mode 100644 index 76a0622f95b3..000000000000 --- a/CMGTools/Common/plugins/TrackIsolationFilter.cc +++ /dev/null @@ -1,40 +0,0 @@ -#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/Framework/interface/ESHandle.h" - -#include "CMGTools/Common/plugins/TrackIsolationFilter.h" - -#include -#include - -bool TrackIsolationFilter::filter(edm::Event& iEvent, const edm::EventSetup&){ - - edm::Handle > pfcandsptH; - edm::Handle > pfcandstrkisoH; - edm::Handle > pfcandschgH; - - iEvent.getByLabel(pfcands_trkiso_tag_,pfcandsptH); - iEvent.getByLabel(pfcands_pt_tag_,pfcandstrkisoH); - iEvent.getByLabel(pfcands_chg_tag_,pfcandschgH); - - bool result = true; - for(unsigned int i = 0; i < pfcandsptH->size(); i++){ - const double pt = pfcandsptH->at(i); - //we only consifer charged tracks with pt above the threshold - if( (pt < pt_cut_) || (pfcandschgH->at(i) == 0) ) continue; - const double relIso = pfcandstrkisoH->at(i)/pt; - if(relIso <= relIso_cut_){ - //we have an isolated track - result = false; - break; - } - } - return result; - -} - -//define this as a plug-in -DEFINE_FWK_MODULE(TrackIsolationFilter); diff --git a/CMGTools/Common/plugins/TrackIsolationFilter.h b/CMGTools/Common/plugins/TrackIsolationFilter.h deleted file mode 100644 index 5ba73d7acc21..000000000000 --- a/CMGTools/Common/plugins/TrackIsolationFilter.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef _CMGTOOLS_COMMON_TRACKISOLATIONFILTER_H_ -#define _CMGTOOLS_COMMON_TRACKISOLATIONFILTER_H_ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -class TrackIsolationFilter : public edm::EDFilter{ - public: - - TrackIsolationFilter(const edm::ParameterSet& ps): - pfcands_trkiso_tag_(ps.getParameter("pfcands_trkiso")), - pfcands_pt_tag_(ps.getParameter("pfcands_pt")), - pfcands_chg_tag_(ps.getParameter("pfcands_chg")), - pt_cut_(ps.getParameter("pt_cut")), - relIso_cut_(ps.getParameter("relIso_cut")){ - } - - virtual bool filter(edm::Event&, const edm::EventSetup&); - - private: - - edm::InputTag pfcands_trkiso_tag_; - edm::InputTag pfcands_pt_tag_; - edm::InputTag pfcands_chg_tag_; - - double pt_cut_; - double relIso_cut_; - - -}; - - -#endif /*_CMGTOOLS_COMMON_TRACKISOLATIONFILTER_H_*/ diff --git a/CMGTools/Common/plugins/TrackIsolationMaker.cc b/CMGTools/Common/plugins/TrackIsolationMaker.cc deleted file mode 100644 index 63f6ef7bd719..000000000000 --- a/CMGTools/Common/plugins/TrackIsolationMaker.cc +++ /dev/null @@ -1,215 +0,0 @@ -//----------------------------------------------------------------------------------------- -// -// Computation of the trackIsolation, for use with the isolated track veto -// used for the stop quark search in the single lepton channel -// Author: Ben Hooberman -// -// For each PFCandidate above threshold minPt_PFCandidate store 4 quantities: -// pT of PFCandidate -// charge of PFCandidate -// dz of PFCandidate w.r.t. the 1st good vertex -// the trackIsolation value -// -// In the analysis, we veto any event containing IN ADDITION TO the selected lepton a charged PFCandidate with: -// pT > 10 GeV, dz < 0.05 cm, and trackIso/pT < 0.1 -// -//----------------------------------------------------------------------------------------- - -// 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 "FWCore/Framework/interface/ESHandle.h" - -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" -#include "RecoParticleFlow/PFProducer/interface/PFMuonAlgo.h" -#include "DataFormats/ParticleFlowReco/interface/PFBlock.h" -#include "DataFormats/Common/interface/ValueMap.h" - -#include "CMGTools/Common/plugins/TrackIsolationMaker.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/Math/interface/deltaPhi.h" -#include "TMath.h" - -typedef math::XYZTLorentzVectorF LorentzVector; -typedef math::XYZPoint Point; -using namespace reco; -using namespace edm; -using namespace std; - -// -// class decleration -// - -// -// constructors and destructor -// - -TrackIsolationMaker::TrackIsolationMaker(const edm::ParameterSet& iConfig) { - - pfCandidatesTag_ = iConfig.getParameter ("pfCandidatesTag"); - vertexInputTag_ = iConfig.getParameter ("vertexInputTag"); - - dR_ = iConfig.getParameter ("dR_ConeSize"); // dR value used to define the isolation cone (default 0.3 ) - dzcut_ = iConfig.getParameter ("dz_CutValue"); // cut value for dz(trk,vtx) for track to include in iso sum (default 0.05) - minPt_ = iConfig.getParameter ("minPt_PFCandidate"); // store PFCandidates with pt above this cut (default 0 ) - - produces >("pfcandstrkiso").setBranchAlias("pfcands_trkiso"); - produces >("pfcandsdzpv" ).setBranchAlias("pfcands_dzpv"); - produces >("pfcandspt" ).setBranchAlias("pfcands_pt"); - produces >("pfcandschg" ).setBranchAlias("pfcands_chg"); - -} - -TrackIsolationMaker::~TrackIsolationMaker() -{ - -} - -void TrackIsolationMaker::beginRun(edm::Run&, const edm::EventSetup& es) {} -void TrackIsolationMaker::beginJob() {} -void TrackIsolationMaker::endJob() {} - -// ------------ method called to produce the data ------------ - -void TrackIsolationMaker::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - - auto_ptr > pfcands_trkiso(new vector); - auto_ptr > pfcands_dzpv (new vector); - auto_ptr > pfcands_pt (new vector); - auto_ptr > pfcands_chg (new vector ); - - //--------------------------------- - // get PFCandidate collection - //--------------------------------- - - Handle pfCandidatesHandle; - iEvent.getByLabel(pfCandidatesTag_, pfCandidatesHandle); - pfCandidates = pfCandidatesHandle.product(); - - //--------------------------------- - // get Vertex Collection - //--------------------------------- - - Handle vertex_h; - iEvent.getByLabel(vertexInputTag_, vertex_h); - const reco::VertexCollection *vertices = vertex_h.product(); - - //----------------------------------- - // Find 1st good vertex - //----------------------------------- - - VertexCollection::const_iterator firstGoodVertex = vertices->end(); - - int firstGoodVertexIdx = 0; - - for (VertexCollection::const_iterator vtx = vertices->begin(); vtx != vertices->end(); ++vtx, ++firstGoodVertexIdx) { - if ( !vtx->isFake() && vtx->ndof()>=4. && vtx->position().Rho()<=2.0 && fabs(vtx->position().Z())<=24.0) { - firstGoodVertex = vtx; - break; - } - } - - //------------------------------------------------------------------------------------------------- - // loop over PFCandidates and calculate the trackIsolation and dz w.r.t. 1st good PV for each one - // for neutral PFCandidates, store trkiso = 999 and dzpv = 999 - //------------------------------------------------------------------------------------------------- - - for( PFCandidateCollection::const_iterator pf_it = pfCandidates->begin(); pf_it != pfCandidates->end(); pf_it++ ) { - - //------------------------------------------------------------------------------------- - // only store PFCandidate values if pt > minPt - //------------------------------------------------------------------------------------- - - if( pf_it->pt() < minPt_ ) continue; - - //------------------------------------------------------------------------------------- - // store pt and charge of PFCandidate - //------------------------------------------------------------------------------------- - - pfcands_pt->push_back(pf_it->pt()); - pfcands_chg->push_back(pf_it->charge()); - - //------------------------------------------------------------------------------------- - // if there's no good vertex in the event, we can't calculate anything so store 999999 - //------------------------------------------------------------------------------------- - - if ( firstGoodVertex==vertices->end() ) { - pfcands_trkiso->push_back(999); - pfcands_dzpv->push_back(999); - continue; - } - - //------------------------------------------------------- - // require PFCandidate is charged, otherwise store 999 - //------------------------------------------------------- - - if( pf_it->charge() != 0 ){ - - //---------------------------------------------------------------------------- - // now loop over other PFCandidates in the event to calculate trackIsolation - //---------------------------------------------------------------------------- - - float trkiso = 0.0; - - for( PFCandidateCollection::const_iterator pf_other = pfCandidates->begin(); pf_other != pfCandidates->end(); pf_other++ ) { - - // don't count the PFCandidate in its own isolation sum - if( pf_it == pf_other ) continue; - - // require the PFCandidate to be charged - if( pf_other->charge() == 0 ) continue; - - // cut on dR between the PFCandidates - float dR = deltaR(pf_it->eta(), pf_it->phi(), pf_other->eta(), pf_other->phi()); - if( dR > dR_ ) continue; - - // cut on the PFCandidate dz - float dz_other = 100; - - if ( pf_other->trackRef().isNonnull()) { - dz_other = pf_other->trackRef()->dz( firstGoodVertex->position() ); - } - - if( fabs(dz_other) > dzcut_ ) continue; - - trkiso += pf_other->pt(); - } - - // calculate the dz of this candidate - float dz_it = 100; // - - if ( pf_it->trackRef().isNonnull()) { - dz_it = pf_it->trackRef()->dz( firstGoodVertex->position() ); - } - - // store trkiso and dz values - pfcands_trkiso->push_back(trkiso); - pfcands_dzpv->push_back(dz_it); - - }else{ - //neutral particle, set trkiso and dzpv to 9999 - pfcands_trkiso->push_back(9999); - pfcands_dzpv->push_back(9999); - } - - } - - // put trkiso and dz values back into event - iEvent.put(pfcands_trkiso,"pfcandstrkiso"); - iEvent.put(pfcands_dzpv ,"pfcandsdzpv" ); - iEvent.put(pfcands_pt ,"pfcandspt" ); - iEvent.put(pfcands_chg ,"pfcandschg" ); - -} - -//define this as a plug-in -DEFINE_FWK_MODULE(TrackIsolationMaker); - diff --git a/CMGTools/Common/plugins/TrackIsolationMaker.h b/CMGTools/Common/plugins/TrackIsolationMaker.h deleted file mode 100644 index f855601ca6fe..000000000000 --- a/CMGTools/Common/plugins/TrackIsolationMaker.h +++ /dev/null @@ -1,59 +0,0 @@ -// -*- C++ -*- -// -// Package: NtupleMaker -// Class: NtupleMaker -// -/**\class NtupleMaker NtupleMaker.cc CMS2/NtupleMaker/src/NtupleMaker.cc - - Description: - - Implementation: - -*/ -#ifndef NTUPLEMAKER_TRACKISOLATIONMAKER_H -#define NTUPLEMAKER_TRACKISOLATIONMAKER_H - -// 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 "CommonTools/ParticleFlow/interface/PFPileUpAlgo.h" -#include "Math/VectorUtil.h" - -// -// class decleration -// - -class TrackIsolationMaker : public edm::EDProducer { -public: - explicit TrackIsolationMaker (const edm::ParameterSet&); - ~TrackIsolationMaker(); - -private: - // virtual void beginJob() ; - virtual void beginJob() ; - virtual void beginRun(edm::Run&, const edm::EventSetup&) ; - virtual void produce(edm::Event&, const edm::EventSetup&); - virtual void endJob() ; - - float getFixGridRho(std::vector& etabins,std::vector& phibins); - - // ----------member data --------------------------- - double dR_; - double dzcut_; - double minPt_; - - edm::InputTag pfCandidatesTag_; - edm::InputTag vertexInputTag_; - - const reco::PFCandidateCollection *pfCandidates; - -}; - -#endif - diff --git a/CMGTools/Common/plugins/TrackingFailureFilter.cc b/CMGTools/Common/plugins/TrackingFailureFilter.cc deleted file mode 100644 index b0f1b42c920d..000000000000 --- a/CMGTools/Common/plugins/TrackingFailureFilter.cc +++ /dev/null @@ -1,83 +0,0 @@ - -#include "FWCore/Framework/interface/Frameworkfwd.h" -#include "FWCore/Framework/interface/EDFilter.h" -#include "FWCore/Framework/interface/Event.h" -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "DataFormats/Common/interface/View.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/JetReco/interface/Jet.h" - - -class TrackingFailureFilterCMG : public edm::EDFilter { - - public: - - explicit TrackingFailureFilterCMG(const edm::ParameterSet & iConfig); - ~TrackingFailureFilterCMG() {} - - private: - - virtual bool filter(edm::Event & iEvent, const edm::EventSetup & iSetup); - - edm::InputTag jetSrc_, trackSrc_, vertexSrc_; - double dzTrVtxMax_, dxyTrVtxMax_; - double minSumPtOverHT_; - bool taggingMode_; - -}; - - -TrackingFailureFilterCMG::TrackingFailureFilterCMG(const edm::ParameterSet & iConfig) { - jetSrc_ = iConfig.getParameter("JetSource"); - trackSrc_ = iConfig.getParameter("TrackSource"); - vertexSrc_ = iConfig.getParameter("VertexSource"); - dzTrVtxMax_ = iConfig.getParameter("DzTrVtxMax"); - dxyTrVtxMax_ = iConfig.getParameter("DxyTrVtxMax"); - minSumPtOverHT_ = iConfig.getParameter("MinSumPtOverHT"); - taggingMode_ = iConfig.getParameter("TaggingMode"); - - produces("Result"); -} - - -bool TrackingFailureFilterCMG::filter(edm::Event & iEvent, const edm::EventSetup & iSetup) { - - edm::Handle > jets; - iEvent.getByLabel(jetSrc_, jets); - edm::Handle > tracks; - iEvent.getByLabel(trackSrc_, tracks); - edm::Handle > vtxs; - iEvent.getByLabel(vertexSrc_, vtxs); - - double ht = 0; - for (edm::View::const_iterator j = jets->begin(); j != jets->end(); ++j) { - ht += j->pt(); - } - double sumpt = 0; - if (vtxs->size() > 0) { - const reco::Vertex * vtx = &((*vtxs)[0]); - for (std::vector::const_iterator tr = tracks->begin(); tr != tracks->end(); ++tr) { - if (fabs(tr->dz(vtx->position())) > dzTrVtxMax_) continue; - if (fabs(tr->dxy(vtx->position())) > dxyTrVtxMax_) continue; - sumpt += tr->pt(); - } - } -// if ((sumpt/ht) < minSumPtOverHT_) -// std::cout << "TRACKING FAILURE: " -// << iEvent.id().run() << " : " << iEvent.id().luminosityBlock() << " : " << iEvent.id().event() -// << " HT=" << ht -// << " SumPt=" << sumpt -// << std::endl; - - bool result = ((sumpt/ht) > minSumPtOverHT_); - std::auto_ptr pOut(new bool(result) ); - iEvent.put( pOut, "Result" ); - - if(taggingMode_) return true; else return result; -} - - -#include "FWCore/Framework/interface/MakerMacros.h" - -DEFINE_FWK_MODULE(TrackingFailureFilterCMG); diff --git a/CMGTools/Common/plugins/VbfHbbPFCandOutOfJets.cc b/CMGTools/Common/plugins/VbfHbbPFCandOutOfJets.cc deleted file mode 100644 index 651723804698..000000000000 --- a/CMGTools/Common/plugins/VbfHbbPFCandOutOfJets.cc +++ /dev/null @@ -1,170 +0,0 @@ -// This is a class that creates a collection of charged PF candidates that do not belong -// to the 4 leading jets, or in the space between the 2 most b-tagged jets - -#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/Math/interface/Point3D.h" -#include "DataFormats/Math/interface/deltaR.h" -#include "DataFormats/PatCandidates/interface/Jet.h" -#include "DataFormats/TrackReco/interface/Track.h" -#include "DataFormats/VertexReco/interface/Vertex.h" -#include "DataFormats/VertexReco/interface/VertexFwd.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" -#include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h" -#include "TMath.h" - -class VbfHbbPFCandOutOfJets : public edm::EDProducer { - public: - typedef math::XYZTLorentzVector LorentzVector; - explicit VbfHbbPFCandOutOfJets(const edm::ParameterSet&); - ~VbfHbbPFCandOutOfJets(); - - private: - virtual void beginJob() ; - virtual void produce(edm::Event&, const edm::EventSetup&); - virtual void endJob() ; - - edm::InputTag srcJets_ , srcVtx_ , srcPF_ ; - std::string srcBtag_ ; -}; - -VbfHbbPFCandOutOfJets::VbfHbbPFCandOutOfJets(const edm::ParameterSet& iConfig) -{ - produces(); - - srcJets_ = iConfig.getParameter ("jets") ; - srcVtx_ = iConfig.getParameter ("vtx") ; - srcPF_ = iConfig.getParameter ("pfcandidates") ; - srcBtag_ = iConfig.getParameter ("btagger"); -} - -VbfHbbPFCandOutOfJets::~VbfHbbPFCandOutOfJets() -{ -} - -void VbfHbbPFCandOutOfJets::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) -{ - using namespace edm; - using namespace std; - using namespace reco; - - std::auto_ptr outPFCand(new PFCandidateCollection); - - edm::Handle > jets; - iEvent.getByLabel(srcJets_,jets); - edm::View pat_jets = *jets; - - Handle privtxs; - iEvent.getByLabel(srcVtx_,privtxs); - - vector pfcandsin; - pfcandsin.clear(); - - vector vJetsP4; - vJetsP4.clear(); - vector vJetsBtag; - vJetsP4.reserve(pat_jets.size()); - vJetsBtag.reserve(pat_jets.size()); - - for (unsigned j=0; j != pat_jets.size(); ++j) { - vJetsP4.push_back(pat_jets[j].p4()); - - if (j < 4) { - vector pfcands = pat_jets[j].getPFConstituents(); - //cout<<"Found "<particleId()) == PFCandidate::h) || - (PFCandidate::ParticleType(pfcands[i]->particleId()) == PFCandidate::e) || - (PFCandidate::ParticleType(pfcands[i]->particleId()) == PFCandidate::mu)) { - pfcandsin.push_back(pfcands[i]); - } - } - } - - vJetsBtag.push_back(pat_jets[j].bDiscriminator(srcBtag_)); - } - - if (pat_jets.size() > 3 && privtxs->size() > 0) { - - int ibtag[4]; - TMath::Sort(4,&(vJetsBtag.at(0)),ibtag); - - LorentzVector *bjet0P4 = &vJetsP4[ibtag[0]]; - LorentzVector *bjet1P4 = &vJetsP4[ibtag[1]]; - - Handle pfcands; - iEvent.getByLabel(srcPF_,pfcands); - - // get the primary vertices points - vector vpoints; - vpoints.reserve(privtxs->size()); - for(VertexCollection::const_iterator vtx = privtxs->begin(); vtx != privtxs->end();++vtx) { - vpoints.push_back(vtx->position()); - } - for(PFCandidateCollection::const_iterator ipf = pfcands->begin();ipf != pfcands->end(); ++ipf) { - bool out(true); - if ((PFCandidate::ParticleType(ipf->particleId()) == PFCandidate::h) || - (PFCandidate::ParticleType(ipf->particleId()) == PFCandidate::e) || - (PFCandidate::ParticleType(ipf->particleId()) == PFCandidate::mu)) { - for (unsigned i1 = 0; i1 != pfcandsin.size(); ++i1) { - if (&*ipf == &*(pfcandsin[i1])) { - out = false; - break; - } - } - - if (ipf->trackRef().isNonnull()) { - if (ipf->trackRef()->pt() < 0.3) { - out = false; - } - float dzPV0 = ipf->trackRef()->dz(vpoints[0]); - float dzErr = ipf->trackRef()->dzError(); - float relErr(0.0); - if (dzErr != 0) { - relErr = fabs(dzPV0/dzErr); - } - // minimum z-distance of track to the first PV : 2mm && 3sigma - if (fabs(dzPV0) > 0.2 || relErr > 3) { - out = false; - } - // loop over secondary (softer) Primary Vertices and exclude tracks more compatible with those - for(unsigned iv = 1; iv < privtxs->size(); ++iv) { - float dz = ipf->trackRef()->dz(vpoints[iv]); - if (fabs(dz) < fabs(dzPV0)) { - out = false; - } - } - float dR0 = 0.5; - // remove tracks in an ellipse area around the two b-jets - float dRbb = deltaR(*bjet0P4,*bjet1P4); - float dRbjet0 = deltaR(ipf->p4(),*bjet0P4); - float dRbjet1 = deltaR(ipf->p4(),*bjet1P4); - if (dRbjet0 + dRbjet1 < dRbb + 2*dR0) { - out = false; - } - } // if trackRef is not null - else { - //cout<<"Found candidate with null track reference"<push_back(*ipf); - } - }// if charged hadron or lepton - }// pf cand loop - }// if 4 jets and at least one vertex - iEvent.put(outPFCand); -} - -void VbfHbbPFCandOutOfJets::beginJob() -{ -} - -void VbfHbbPFCandOutOfJets::endJob() -{ -} - -DEFINE_FWK_MODULE(VbfHbbPFCandOutOfJets); diff --git a/CMGTools/Common/prod/AOD_cfg.py b/CMGTools/Common/prod/AOD_cfg.py deleted file mode 100644 index 3bbb4537d146..000000000000 --- a/CMGTools/Common/prod/AOD_cfg.py +++ /dev/null @@ -1,37 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("COPY2") - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:AOD.root' - ) -) - - - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False)) -#WARNING! -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - - -process.load("Configuration.EventContent.EventContent_cff") -process.out = cms.OutputModule( - "PoolOutputModule", - process.AODEventContent, -# outputCommands = cms.untracked.vstring( -# 'keep *' -# ), - fileName = cms.untracked.string('AODNoSim.root'), - ) - - - - -process.endpath = cms.EndPath( - process.out - ) - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 100 diff --git a/CMGTools/Common/prod/CMG_cfg.py b/CMGTools/Common/prod/CMG_cfg.py deleted file mode 100644 index e1fb642bf4db..000000000000 --- a/CMGTools/Common/prod/CMG_cfg.py +++ /dev/null @@ -1,119 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -sep_line = '-'*67 -print sep_line -print 'CMG-tuplizer, contact Colin before any modification' -print sep_line - -process = cms.Process("CMG") - - -print 'querying database for source files' - - -runOnMC = True - -datasetInfo = ('cmgtools_group', '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B','.*root') - -process.source = cms.Source( - 'PoolSource', - fileNames = cms.untracked.vstring('file:patTuple.root') - ) - - -###ProductionTaskHook$$$ - - -# drop all CMG objects from the input, to recreate them. -# This is important if there was a change in AnalysisDataFormats after the patTuple was create. -# It would result in a segmentation violation otherwiese. -process.source.inputCommands=cms.untracked.vstring('keep *', - #'drop cmgTriggerObjects_*_*_*', - 'drop cmgMuons_*_*_*', - 'drop cmgElectrons_*_*_*', - 'drop cmgPhotons_*_*_*', - # 'drop cmgBaseJets_*_*_*', - 'drop cmgPFJets_*_*_*', - 'drop cmgTaus_*_*_*', - # 'drop cmgBaseMETs_*_*_*', - 'drop cmgPFMETs_*_*_*', - ) - -print sep_line -print process.source.fileNames -print sep_line - -## Maximal Number of Events -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10000) ) - -print 'loading the main CMG sequence' - -process.load('CMGTools.Common.CMG.CMG_cff') - -if runOnMC is False: - # removing MC stuff - print 'removing MC stuff, as we are running on Data' - process.CMGSequence.remove(process.genSequence) - -print 'cloning the jet sequence to build PU chs jets' - -from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet -process.jetCHSSequence = cloneProcessingSnippet(process, process.jetSequence, 'CHS') -from CMGTools.Common.Tools.visitorUtils import replaceSrc -replaceSrc( process.jetCHSSequence, 'patJetsWithVar', 'patJetsWithVarCHS') -replaceSrc( process.jetCHSSequence, 'puJetId', 'puJetIdCHS') - - -######################################################## -## Path definition -######################################################## - -process.dump = cms.EDAnalyzer('EventContentAnalyzer') - -process.p = cms.Path( - process.CMGSequence + - process.jetCHSSequence - ) - -######################################################## -## CMG output definition -######################################################## - -from CMGTools.Common.eventContent.patEventContentCMG_cff import everything -process.outcmg = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('cmgTuple_reload.root'), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - outputCommands = everything, - dropMetaData = cms.untracked.string('PRIOR') - ) - -process.outpath = cms.EndPath(process.outcmg) - -## MessageLogger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 10 - -## Options and Output Report -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) - -print sep_line - -print 'starting CMSSW' - - -######################################################## -## Conditions -######################################################## - -from CMGTools.Common.Tools.cmsswRelease import cmsswIs44X - -process.load("Configuration.StandardSequences.GeometryDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("Configuration.StandardSequences.MagneticField_38T_cff") - -from CMGTools.Common.Tools.getGlobalTag import getGlobalTag -from CMGTools.Common.Tools.getGlobalTag import getGlobalTagByDataset -process.GlobalTag.globaltag = getGlobalTagByDataset( runOnMC, datasetInfo[1]) -print 'Global tag : ', process.GlobalTag.globaltag - diff --git a/CMGTools/Common/prod/PATCMG_62X_cfg.py b/CMGTools/Common/prod/PATCMG_62X_cfg.py deleted file mode 100644 index 7fdab9b00922..000000000000 --- a/CMGTools/Common/prod/PATCMG_62X_cfg.py +++ /dev/null @@ -1,284 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.Tools.cmsswRelease import isNewerThan - -sep_line = '-'*67 -print sep_line -print 'CMG PAT-tuplizer, contact Colin before any modification' -print sep_line - -process = cms.Process("PAT") - - -print 'querying database for source files' - - -runOnMC = True -runOnFastSim = False - -from CMGTools.Production.datasetToSource import * -## This is used to get the correct global tag below, and to find the files -## It is *reset* automatically by ProductionTasks, so you can use it after the ProductionTasksHook -datasetInfo = ( - 'CMS', - # '/VBF_HToTauTau_M-125_14TeV-powheg-pythia6/Summer12-PU50_POSTLS161_V12-v1/AODSIM', - '/VBF_HToTauTau_M-125_13TeV-powheg-pythia6/Fall13dr-tsg_PU20bx25_POSTLS162_V2-v1/AODSIM', - #FASTSIM'/SMS-T2tt_mStop-675to800_mLSP-0to275_8TeV-Pythia6Z/Summer12-START52_V9_FSIM-v1/AODSIM/V5_B/', - # 'CMS', - # '/DoubleMu/Run2012A-22Jan2013-v1/AOD', - '.*root') - -# process.source = datasetToSource( -# *datasetInfo -# ) - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - # No Fall13 AODSIM at CERN, using a local copy for testing - 'file:/data1/steggema/FCE1353C-6E70-E311-A1CB-008CFA000F5C.root' - ) -) - -#process.source.fileNames = process.source.fileNames[:20] -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -#process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True)) - - -###ProductionTaskHook$$$ - - -print sep_line -print process.source.fileNames -print sep_line - -## Maximal Number of Events - - -print 'loading the main CMG sequence' - -process.load('CMGTools.Common.PAT.PATCMG_cff') - -if runOnMC is False: - # removing MC stuff - print 'removing MC stuff, as we are running on Data' - - process.patElectrons.addGenMatch = False - process.makePatElectrons.remove( process.electronMatch ) - - process.patMuons.addGenMatch = False - process.makePatMuons.remove( process.muonMatch ) - - process.PATCMGSequence.remove( process.PATCMGGenSequence ) - process.PATCMGJetSequence.remove( process.jetMCSequence ) - process.PATCMGJetSequence.remove( process.patJetFlavourId ) - process.patJets.addGenJetMatch = False - process.patJets.addGenPartonMatch = False - - #if isNewerThan('CMSSW_5_2_0'): - # process.PATCMGJetSequenceCHSpruned.remove( process.jetMCSequenceCHSpruned ) - # process.patJetsCHSpruned.addGenJetMatch = False - # process.patJetsCHSpruned.addGenPartonMatch = False - - process.PATCMGTauSequence.remove( process.tauGenJets ) - process.PATCMGTauSequence.remove( process.tauGenJetsSelectorAllHadrons ) - process.PATCMGTauSequence.remove( process.tauGenJetMatch ) - process.PATCMGTauSequence.remove( process.tauMatch ) - process.patTaus.addGenJetMatch = False - process.patTaus.addGenMatch = False - - process.patMETs.addGenMET = False - process.patMETsRaw.addGenMET = False - - # setting up JSON file - # json = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/DCSOnly/json_DCSONLY.txt' - # print 'using json file: ', json - # from CMGTools.Common.Tools.applyJSON_cff import * - # applyJSON(process, json ) - - # adding L2L3Residual corrections - process.patJetCorrFactors.levels.append('L2L3Residual') - #if isNewerThan('CMSSW_5_2_0'): - # process.patJetCorrFactorsCHSpruned.levels.append('L2L3Residual') - - -#Jose: fix to muon isolation in case the pf muon is not within the 1e-5 veto cone w.r.t reco muon (Muon expert should fix somewhere else) -process.muPFIsoDepositChargedAll.ExtractorPSet.DR_Veto = 1e-3 - -print 'cloning the jet sequence to build PU chs jets' - -from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet -process.PATCMGJetCHSSequence = cms.Sequence(cloneProcessingSnippet(process, process.PATCMGJetSequence, 'CHS')) -process.PATCMGJetCHSSequence.insert( 0, process.ak5PFJetsCHS ) -from CMGTools.Common.Tools.visitorUtils import replaceSrc -replaceSrc( process.PATCMGJetCHSSequence, 'ak5PFJets', 'ak5PFJetsCHS') -replaceSrc( process.PATCMGJetCHSSequence, 'particleFlow', 'pfNoPileUp') -process.PATCMGJetCHSSequence.remove(process.outPFCandCHS) # not needed for CHS jets -process.PATCMGJetCHSSequence.remove(process.ak5SoftPFJetsForVbfHbbCHS) # not needed for CHS jets -jecPayload = 'AK5PFchs' -process.patJetsWithVarCHS.payload = jecPayload -process.patJetCorrFactorsCHS.payload = jecPayload -process.puJetIdCHS.jec = jecPayload -process.cmgPUJetMvaCHS.jec = jecPayload -process.selectedPatJetsCHS.cut = 'pt()>10' - - -######################################################## -## Path definition -######################################################## - -process.dump = cms.EDAnalyzer('EventContentAnalyzer') - -process.load('CMGTools.Common.PAT.addFilterPaths_cff') -process.p = cms.Path( - process.prePathCounter + - process.PATCMGSequence + - process.PATCMGJetCHSSequence - ) - -if 'Prompt' in datasetInfo[1] or runOnMC : - process.metNoiseCleaning.remove(process.hcalfilter) - process.hcalLaserEventFilterPath.remove(process.hcalfilter) -if ('Parked' in datasetInfo[1]) or ('22Jan2013' in datasetInfo[1]) : - process.metNoiseCleaning.remove(process.hcallasereventfilter2012) - -process.p += process.postPathCounter - -# For testing, you can remove some of the objects: -# NOTE: there are a few dependencies between these sequences -# process.PATCMGSequence.remove(process.PATCMGPileUpSubtractionSequence) -# process.PATCMGSequence.remove(process.PATCMGRhoSequence) -# process.PATCMGSequence.remove(process.PATCMGMuonSequence) -# process.PATCMGSequence.remove(process.PATCMGElectronSequence) -# process.PATCMGSequence.remove(process.PATCMGGenSequence) -# process.PATCMGSequence.remove(process.PATCMGJetSequence) -# process.PATCMGSequence.remove(process.PATCMGTauSequence) -# process.PATCMGSequence.remove(process.PATCMGMetSequence) -# process.p.remove(process.PATCMGJetCHSSequence) -# process.p.remove(process.PATCMGTriggerSequence) -# process.p.remove(process.PATCMGPhotonSequence) -# process.p.remove(process.PATCMGVertexSequence) -# process.p.remove(process.PATCMGPhotonSequence) -# process.p.remove(process.MetSignificanceSequence) -# process.p.remove(process.PATCMGMetRegressionSequence) -# process.p.remove(process.PATCMGJetSequenceCHSpruned) - -######################################################## -## PAT output definition -######################################################## - -## Output Module Configuration (expects a path 'p') -from CMGTools.Common.eventContent.patEventContentCMG_cff import patEventContentCMG -process.out = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('patTuple.root'), - # save only events passing the full path - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - # save PAT Layer 1 output; you need a '*' to - # unpack the list of commands 'patEventContent' - outputCommands = patEventContentCMG - ) -# needed to override the CMG format, which drops the pat taus -process.out.outputCommands.append('keep patTaus_selectedPatTaus_*_*') - -#FIXME now keeping the whole event content... -# process.out.outputCommands.append('keep *_*_*_*') - -process.outpath = cms.EndPath( - # process.out - ) - -######################################################## -## CMG output definition -######################################################## - -from CMGTools.Common.eventContent.patEventContentCMG_cff import everything -process.outcmg = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('cmgTuple.root'), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - outputCommands = everything, - dropMetaData = cms.untracked.string('PRIOR') - ) - -process.outpath += process.outcmg - -# These commands below will select the 'light' version of the CMG tuple: -# - 16bit PF Candidates -# - TriggerPrescales instead of fat single TriggerObject -# - slimmed PVs (without track references) -process.outcmg.outputCommands.append('keep cmgPackedCandidates_cmgCandidates_*_*') -process.outcmg.outputCommands.append('drop cmgCandidates_cmgCandidates_*_*') -process.outcmg.outputCommands.append('keep *_cmgTriggerPrescales_*_*') -process.outcmg.outputCommands.append('drop *_cmgTriggerObjectSel_*_*') -process.outcmg.outputCommands.append('drop *_offlinePrimaryVertices_*_*') -process.outcmg.outputCommands.append('keep *_slimmedPrimaryVertices_*_*') - - -######################################################## -## Conditions -######################################################## - -process.load("Configuration.StandardSequences.GeometryDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("Configuration.StandardSequences.MagneticField_38T_cff") - -######################################################## -## Below, stuff that you probably don't want to modify -######################################################## - - - -## Geometry and Detector Conditions (needed for a few patTuple production steps) -from CMGTools.Common.PAT.patCMGSchedule_cff import getSchedule -process.schedule = getSchedule(process, runOnMC, runOnFastSim) - -process.schedule.append( process.outpath ) - -## MessageLogger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 10 -process.MessageLogger.suppressWarning = cms.untracked.vstring('ecalLaserCorrFilter','manystripclus53X','toomanystripclus53X') -## Options and Output Report -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) - - -if not runOnMC and isNewerThan('CMSSW_5_2_0'): - process.pfJetMETcorr.jetCorrLabel = cms.string("ak5PFL1FastL2L3Residual") - -if runOnFastSim: - process.patElectronsWithRegression.rhoCollection = cms.InputTag("kt6PFJets","rho","HLT") - -## Last minute fixes -# process.PATJetSequenceCHS.remove(process.outTracksCHS) -# process.PATJetSequenceCHS.remove(process.ak5SoftTrackJetsForVbfHbbCHS) - - -print sep_line - -print 'Fastjet instances (dominating our processing time...):' -from CMGTools.Common.Tools.visitorUtils import SeqVisitor -v = SeqVisitor('FastjetJetProducer') -process.p.visit(v) - -### Set the global tag from the dataset name -from CMGTools.Common.Tools.getGlobalTag import getGlobalTagByDataset -process.GlobalTag.globaltag = getGlobalTagByDataset( runOnMC, datasetInfo[1]) -print 'Global tag : ', process.GlobalTag.globaltag -### - -# FIXME - JAN -# the default PAT sequence adds a 'PF' at the end, not sure where -# it comes from - -process.impactParameterTagInfos.jetTracks = cms.InputTag('ak5JetTracksAssociatorAtVertex') -process.secondaryVertexTagInfos.jetTracks = cms.InputTag('ak5JetTracksAssociatorAtVertex') - -process.pfNoJet.bottomCollection = cms.InputTag('particleFlowPtrs') - -process.impactParameterTagInfosCHS.jetTracks = cms.InputTag('ak5JetTracksAssociatorAtVertexCHS') -process.secondaryVertexTagInfosCHS.jetTracks = cms.InputTag('ak5JetTracksAssociatorAtVertexCHS') - - -print sep_line - -print 'starting CMSSW' - diff --git a/CMGTools/Common/prod/PATCMG_cfg.py b/CMGTools/Common/prod/PATCMG_cfg.py deleted file mode 100644 index f0d861a16e01..000000000000 --- a/CMGTools/Common/prod/PATCMG_cfg.py +++ /dev/null @@ -1,270 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.Tools.cmsswRelease import isNewerThan - -sep_line = '-'*67 -print sep_line -print 'CMG PAT-tuplizer, contact Colin before any modification' -print sep_line - -process = cms.Process("PAT") - - -print 'querying database for source files' - - -runOnMC = True -runOnFastSim = False -useMoriondGTs = False - -from CMGTools.Production.datasetToSource import * -## This is used to get the correct global tag below, and to find the files -## It is *reset* automatically by ProductionTasks, so you can use it after the ProductionTasksHook -datasetInfo = ( - 'cmgtools_group', - '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B', - #FASTSIM'/SMS-T2tt_mStop-675to800_mLSP-0to275_8TeV-Pythia6Z/Summer12-START52_V9_FSIM-v1/AODSIM/V5_B/', - # 'CMS', - # '/DoubleMu/Run2012A-22Jan2013-v1/AOD', - '.*root') -process.source = datasetToSource( - *datasetInfo - ) - -#process.source.fileNames = process.source.fileNames[:20] -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) -#process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True)) - -process.source.dropDescendantsOfDroppedBranches = cms.untracked.bool(False) -process.source.inputCommands = cms.untracked.vstring( - 'keep *', - 'drop recoPFTaus_*_*_*' - ) - -###ProductionTaskHook$$$ - - -print sep_line -print process.source.fileNames -print sep_line - -## Maximal Number of Events - - -print 'loading the main CMG sequence' - -process.load('CMGTools.Common.PAT.PATCMG_cff') - -if runOnMC is False: - # removing MC stuff - print 'removing MC stuff, as we are running on Data' - - process.patElectrons.addGenMatch = False - process.makePatElectrons.remove( process.electronMatch ) - - process.patMuons.addGenMatch = False - process.makePatMuons.remove( process.muonMatch ) - - process.PATCMGSequence.remove( process.PATCMGGenSequence ) - process.PATCMGJetSequence.remove( process.jetMCSequence ) - process.PATCMGJetSequence.remove( process.patJetFlavourId ) - process.patJets.addGenJetMatch = False - process.patJets.addGenPartonMatch = False - - #if isNewerThan('CMSSW_5_2_0'): - # process.PATCMGJetSequenceCHSpruned.remove( process.jetMCSequenceCHSpruned ) - # process.patJetsCHSpruned.addGenJetMatch = False - # process.patJetsCHSpruned.addGenPartonMatch = False - - process.PATCMGTauSequence.remove( process.tauGenJets ) - process.PATCMGTauSequence.remove( process.tauGenJetsSelectorAllHadrons ) - process.PATCMGTauSequence.remove( process.tauGenJetMatch ) - process.PATCMGTauSequence.remove( process.tauMatch ) - process.patTaus.addGenJetMatch = False - process.patTaus.addGenMatch = False - - process.patMETs.addGenMET = False - process.patMETsRaw.addGenMET = False - - # setting up JSON file - # json = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/DCSOnly/json_DCSONLY.txt' - # print 'using json file: ', json - # from CMGTools.Common.Tools.applyJSON_cff import * - # applyJSON(process, json ) - - # adding L2L3Residual corrections - process.patJetCorrFactors.levels.append('L2L3Residual') - #if isNewerThan('CMSSW_5_2_0'): - # process.patJetCorrFactorsCHSpruned.levels.append('L2L3Residual') - - -#Jose: fix to muon isolation in case the pf muon is not within the 1e-5 veto cone w.r.t reco muon (Muon expert should fix somewhere else) -process.muPFIsoDepositChargedAll.ExtractorPSet.DR_Veto = 1e-3 - -print 'cloning the jet sequence to build PU chs jets' - -from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet -process.PATCMGJetCHSSequence = cloneProcessingSnippet(process, process.PATCMGJetSequence, 'CHS') -process.PATCMGJetCHSSequence.insert( 0, process.ak5PFJetsCHS ) -from CMGTools.Common.Tools.visitorUtils import replaceSrc -replaceSrc( process.PATCMGJetCHSSequence, 'ak5PFJets', 'ak5PFJetsCHS') -replaceSrc( process.PATCMGJetCHSSequence, 'particleFlow', 'pfNoPileUp') -process.PATCMGJetCHSSequence.remove(process.outPFCandCHS) # not needed for CHS jets -process.PATCMGJetCHSSequence.remove(process.ak5SoftPFJetsForVbfHbbCHS) # not needed for CHS jets -jecPayload = 'AK5PFchs' -process.patJetsWithVarCHS.payload = jecPayload -process.patJetCorrFactorsCHS.payload = jecPayload -process.puJetIdCHS.jec = jecPayload -process.cmgPUJetMvaCHS.jec = jecPayload -process.selectedPatJetsCHS.cut = 'pt()>10' -process.QGTaggerCHS.useCHS = True - - -######################################################## -## Path definition -######################################################## - -process.dump = cms.EDAnalyzer('EventContentAnalyzer') - -process.load('CMGTools.Common.PAT.addFilterPaths_cff') -process.p = cms.Path( - process.prePathCounter + - process.PATCMGSequence + - process.PATCMGJetCHSSequence - ) - -if 'Prompt' in datasetInfo[1] or runOnMC or useMoriondGTs: - process.metNoiseCleaning.remove(process.hcalfilter) - process.hcalLaserEventFilterPath.remove(process.hcalfilter) -if ('Parked' in datasetInfo[1]) or ('22Jan2013' in datasetInfo[1]) : - process.metNoiseCleaning.remove(process.hcallasereventfilter2012) - -process.p += process.postPathCounter - -# For testing, you can remove some of the objects: -# NOTE: there are a few dependencies between these sequences -# process.PATCMGSequence.remove(process.PATCMGPileUpSubtractionSequence) -# process.PATCMGSequence.remove(process.PATCMGRhoSequence) -# process.PATCMGSequence.remove(process.PATCMGMuonSequence) -# process.PATCMGSequence.remove(process.PATCMGElectronSequence) -# process.PATCMGSequence.remove(process.PATCMGGenSequence) -# process.PATCMGSequence.remove(process.PATCMGJetSequence) -# process.PATCMGSequence.remove(process.PATCMGTauSequence) -# process.PATCMGSequence.remove(process.PATCMGMetSequence) -# process.p.remove(process.PATCMGJetCHSSequence) -# process.p.remove(process.PATCMGTriggerSequence) -# process.p.remove(process.PATCMGPhotonSequence) -# process.p.remove(process.PATCMGVertexSequence) -# process.p.remove(process.PATCMGPhotonSequence) -# process.p.remove(process.MetSignificanceSequence) -# process.p.remove(process.PATCMGMetRegressionSequence) -# process.p.remove(process.PATCMGJetSequenceCHSpruned) - -######################################################## -## PAT output definition -######################################################## - -## Output Module Configuration (expects a path 'p') -from CMGTools.Common.eventContent.patEventContentCMG_cff import patEventContentCMG -process.out = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('patTuple.root'), - # save only events passing the full path - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - # save PAT Layer 1 output; you need a '*' to - # unpack the list of commands 'patEventContent' - outputCommands = patEventContentCMG - ) -# needed to override the CMG format, which drops the pat taus -process.out.outputCommands.append('keep patTaus_selectedPatTaus_*_*') - -#FIXME now keeping the whole event content... -# process.out.outputCommands.append('keep *_*_*_*') - -process.outpath = cms.EndPath( - # process.out - ) - -######################################################## -## CMG output definition -######################################################## - -from CMGTools.Common.eventContent.patEventContentCMG_cff import everything -process.outcmg = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('cmgTuple.root'), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - outputCommands = everything, - dropMetaData = cms.untracked.string('PRIOR') - ) - -process.outpath += process.outcmg -# These commands below will select the 'light' version of the CMG tuple: -# - 16bit PF Candidates -# - TriggerPrescales instead of fat single TriggerObject -# - slimmed PVs (without track references) -process.outcmg.outputCommands.append('keep cmgPackedCandidates_cmgCandidates_*_*') -process.outcmg.outputCommands.append('drop cmgCandidates_cmgCandidates_*_*') -process.outcmg.outputCommands.append('keep *_cmgTriggerPrescales_*_*') -process.outcmg.outputCommands.append('drop *_cmgTriggerObjectSel_*_*') -process.outcmg.outputCommands.append('drop *_offlinePrimaryVertices_*_*') -process.outcmg.outputCommands.append('keep *_slimmedPrimaryVertices_*_*') - -######################################################## -## Conditions -######################################################## - -process.load("Configuration.StandardSequences.GeometryDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("Configuration.StandardSequences.MagneticField_38T_cff") - -######################################################## -## Below, stuff that you probably don't want to modify -######################################################## - - - -## Geometry and Detector Conditions (needed for a few patTuple production steps) -from CMGTools.Common.PAT.patCMGSchedule_cff import getSchedule -process.schedule = getSchedule(process, runOnMC, runOnFastSim) - -process.schedule.append( process.outpath ) - -## MessageLogger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 10 -process.MessageLogger.suppressWarning = cms.untracked.vstring('ecalLaserCorrFilter','manystripclus53X','toomanystripclus53X') -## Options and Output Report -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) - - -if not runOnMC and isNewerThan('CMSSW_5_2_0'): - process.pfJetMETcorr.jetCorrLabel = cms.string("ak5PFL1FastL2L3Residual") -if runOnFastSim: - process.patElectronsWithRegression.rhoCollection = cms.InputTag("kt6PFJets","rho","HLT") - - -## Last minute fixes -# process.PATJetSequenceCHS.remove(process.outTracksCHS) -# process.PATJetSequenceCHS.remove(process.ak5SoftTrackJetsForVbfHbbCHS) - - -print sep_line - -print 'Fastjet instances (dominating our processing time...):' -from CMGTools.Common.Tools.visitorUtils import SeqVisitor -v = SeqVisitor('FastjetJetProducer') -process.p.visit(v) - -### Set the global tag from the dataset name -if useMoriondGTs: - process.GlobalTag.globaltag = "START53_V20::All" if runOnMC else "GR_P_V42_AN4::All" -else: - from CMGTools.Common.Tools.getGlobalTag import getGlobalTagByDataset - process.GlobalTag.globaltag = getGlobalTagByDataset( runOnMC, datasetInfo[1]) -print 'Global tag : ', process.GlobalTag.globaltag -### - -print sep_line - -print 'starting CMSSW' - diff --git a/CMGTools/Common/prod/PATCMG_cfg.py~ b/CMGTools/Common/prod/PATCMG_cfg.py~ deleted file mode 100644 index 0e943961247c..000000000000 --- a/CMGTools/Common/prod/PATCMG_cfg.py~ +++ /dev/null @@ -1,265 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.Tools.cmsswRelease import isNewerThan - -sep_line = '-'*67 -print sep_line -print 'CMG PAT-tuplizer, contact Colin before any modification' -print sep_line - -process = cms.Process("PAT") - - -print 'querying database for source files' - - -runOnMC = True -runOnFastSim = False - -from CMGTools.Production.datasetToSource import * -## This is used to get the correct global tag below, and to find the files -## It is *reset* automatically by ProductionTasks, so you can use it after the ProductionTasksHook -datasetInfo = ( - 'cmgtools_group', - '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B', - # 'CMS', - # '/DoubleMu/Run2012A-22Jan2013-v1/AOD', - '.*root') -process.source = datasetToSource( - *datasetInfo - ) - -#process.source.fileNames = process.source.fileNames[:20] -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -###ProductionTaskHook$$$ - - -print sep_line -print process.source.fileNames -print sep_line - -## Maximal Number of Events - - -print 'loading the main CMG sequence' - -process.load('CMGTools.Common.PAT.PATCMG_cff') - -if runOnMC is False: - # removing MC stuff - print 'removing MC stuff, as we are running on Data' - - process.patElectrons.addGenMatch = False - process.makePatElectrons.remove( process.electronMatch ) - - process.patMuons.addGenMatch = False - process.makePatMuons.remove( process.muonMatch ) - - process.PATCMGSequence.remove( process.PATCMGGenSequence ) - process.PATCMGJetSequence.remove( process.jetMCSequence ) - process.PATCMGJetSequence.remove( process.patJetFlavourId ) - process.patJets.addGenJetMatch = False - process.patJets.addGenPartonMatch = False - - #if isNewerThan('CMSSW_5_2_0'): - # process.PATCMGJetSequenceCHSpruned.remove( process.jetMCSequenceCHSpruned ) - # process.patJetsCHSpruned.addGenJetMatch = False - # process.patJetsCHSpruned.addGenPartonMatch = False - - process.PATCMGTauSequence.remove( process.tauGenJets ) - process.PATCMGTauSequence.remove( process.tauGenJetsSelectorAllHadrons ) - process.PATCMGTauSequence.remove( process.tauGenJetMatch ) - process.PATCMGTauSequence.remove( process.tauMatch ) - process.patTaus.addGenJetMatch = False - process.patTaus.addGenMatch = False - - process.patMETs.addGenMET = False - process.patMETsRaw.addGenMET = False - - # setting up JSON file - # json = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/DCSOnly/json_DCSONLY.txt' - # print 'using json file: ', json - # from CMGTools.Common.Tools.applyJSON_cff import * - # applyJSON(process, json ) - - # adding L2L3Residual corrections - process.patJetCorrFactors.levels.append('L2L3Residual') - #if isNewerThan('CMSSW_5_2_0'): - # process.patJetCorrFactorsCHSpruned.levels.append('L2L3Residual') - - -#Jose: fix to muon isolation in case the pf muon is not within the 1e-5 veto cone w.r.t reco muon (Muon expert should fix somewhere else) -process.muPFIsoDepositChargedAll.ExtractorPSet.DR_Veto = 1e-3 - -print 'cloning the jet sequence to build PU chs jets' - -from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet -process.PATCMGJetCHSSequence = cloneProcessingSnippet(process, process.PATCMGJetSequence, 'CHS') -process.PATCMGJetCHSSequence.insert( 0, process.ak5PFJetsCHS ) -from CMGTools.Common.Tools.visitorUtils import replaceSrc -replaceSrc( process.PATCMGJetCHSSequence, 'ak5PFJets', 'ak5PFJetsCHS') -replaceSrc( process.PATCMGJetCHSSequence, 'particleFlow', 'pfNoPileUp') -process.PATCMGJetCHSSequence.remove(process.outPFCandCHS) # not needed for CHS jets -process.PATCMGJetCHSSequence.remove(process.ak5SoftPFJetsForVbfHbbCHS) # not needed for CHS jets -jecPayload = 'AK5PFchs' -process.patJetsWithVarCHS.payload = jecPayload -process.patJetCorrFactorsCHS.payload = jecPayload -process.puJetIdCHS.jec = jecPayload -process.cmgPUJetMvaCHS.jec = jecPayload -process.selectedPatJetsCHS.cut = 'pt()>10' - - -######################################################## -## Path definition -######################################################## - -process.dump = cms.EDAnalyzer('EventContentAnalyzer') - -process.load('CMGTools.Common.PAT.addFilterPaths_cff') -process.p = cms.Path( - process.prePathCounter + - process.PATCMGSequence + - process.PATCMGJetCHSSequence - ) - -if 'Prompt' in datasetInfo[1] or runOnMC : - process.metNoiseCleaning.remove(process.hcalfilter) -if ('Parked' in datasetInfo[1]) or ('22Jan2013' in datasetInfo[1]) : - process.metNoiseCleaning.remove(process.hcallasereventfilter2012) - -process.p += process.postPathCounter - -# For testing, you can remove some of the objects: -# NOTE: there are a few dependencies between these sequences -# process.PATCMGSequence.remove(process.PATCMGPileUpSubtractionSequence) -# process.PATCMGSequence.remove(process.PATCMGRhoSequence) -# process.PATCMGSequence.remove(process.PATCMGMuonSequence) -# process.PATCMGSequence.remove(process.PATCMGElectronSequence) -# process.PATCMGSequence.remove(process.PATCMGGenSequence) -# process.PATCMGSequence.remove(process.PATCMGJetSequence) -# process.PATCMGSequence.remove(process.PATCMGTauSequence) -# process.PATCMGSequence.remove(process.PATCMGMetSequence) -# process.p.remove(process.PATCMGJetCHSSequence) -# process.p.remove(process.PATCMGTriggerSequence) -# process.p.remove(process.PATCMGPhotonSequence) -# process.p.remove(process.PATCMGVertexSequence) -# process.p.remove(process.PATCMGPhotonSequence) -# process.p.remove(process.MetSignificanceSequence) -# process.p.remove(process.PATCMGMetRegressionSequence) -# process.p.remove(process.PATCMGJetSequenceCHSpruned) - -if runOnFastSim : - process.vertexWeightSequence.remove(process.vertexWeight3DMay10ReReco) - process.vertexWeightSequence.remove(process.vertexWeight3DMay10ReReco) - process.vertexWeightSequence.remove(process.vertexWeight3DPromptRecov4) - process.vertexWeightSequence.remove(process.vertexWeight3D05AugReReco) - process.vertexWeightSequence.remove(process.vertexWeight3DPromptRecov6) - process.vertexWeightSequence.remove(process.vertexWeight3D2invfb) - process.vertexWeightSequence.remove(process.vertexWeight3D2011B) - process.vertexWeightSequence.remove(process.vertexWeight3D2011AB) - process.vertexWeightSequence.remove(process.vertexWeight3DFall11May10ReReco) - process.vertexWeightSequence.remove(process.vertexWeight3DFall11PromptRecov4) - process.vertexWeightSequence.remove(process.vertexWeight3DFall1105AugReReco) - process.vertexWeightSequence.remove(process.vertexWeight3DFall11PromptRecov6) - process.vertexWeightSequence.remove(process.vertexWeight3DFall112invfb) - process.vertexWeightSequence.remove(process.vertexWeight3DFall112011B) - process.vertexWeightSequence.remove(process.vertexWeight3DFall112011AB) - - -######################################################## -## PAT output definition -######################################################## - -## Output Module Configuration (expects a path 'p') -from CMGTools.Common.eventContent.patEventContentCMG_cff import patEventContentCMG -process.out = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('patTuple.root'), - # save only events passing the full path - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - # save PAT Layer 1 output; you need a '*' to - # unpack the list of commands 'patEventContent' - outputCommands = patEventContentCMG - ) -# needed to override the CMG format, which drops the pat taus -process.out.outputCommands.append('keep patTaus_selectedPatTaus_*_*') - -#FIXME now keeping the whole event content... -# process.out.outputCommands.append('keep *_*_*_*') - -process.outpath = cms.EndPath( - # process.out - ) - -######################################################## -## CMG output definition -######################################################## - -from CMGTools.Common.eventContent.patEventContentCMG_cff import everything -process.outcmg = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('cmgTuple.root'), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - outputCommands = everything, - dropMetaData = cms.untracked.string('PRIOR') - ) - -process.outpath += process.outcmg - - - - -######################################################## -## Conditions -######################################################## - -process.load("Configuration.StandardSequences.GeometryDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("Configuration.StandardSequences.MagneticField_38T_cff") - -######################################################## -## Below, stuff that you probably don't want to modify -######################################################## - - - -## Geometry and Detector Conditions (needed for a few patTuple production steps) - -from CMGTools.Common.PAT.patCMGSchedule_cff import getSchedule -process.schedule = getSchedule(process, runOnMC, runOnFastSim) -process.schedule.append( process.outpath ) - -## MessageLogger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 10 -process.MessageLogger.suppressWarning = cms.untracked.vstring('ecalLaserCorrFilter') -## Options and Output Report -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) - - -if not runOnMC and isNewerThan('CMSSW_5_2_0'): - process.pfJetMETcorr.jetCorrLabel = cms.string("ak5PFL1FastL2L3Residual") - - -## Last minute fixes -# process.PATJetSequenceCHS.remove(process.outTracksCHS) -# process.PATJetSequenceCHS.remove(process.ak5SoftTrackJetsForVbfHbbCHS) - - -print sep_line - -print 'Fastjet instances (dominating our processing time...):' -from CMGTools.Common.Tools.visitorUtils import SeqVisitor -v = SeqVisitor('FastjetJetProducer') -process.p.visit(v) - -### Set the global tag from the dataset name -from CMGTools.Common.Tools.getGlobalTag import getGlobalTagByDataset -process.GlobalTag.globaltag = getGlobalTagByDataset( runOnMC, datasetInfo[1]) -print 'Global tag : ', process.GlobalTag.globaltag -### - -print sep_line - -print 'starting CMSSW' - diff --git a/CMGTools/Common/prod/cmgValidation.py b/CMGTools/Common/prod/cmgValidation.py deleted file mode 100644 index 8d790e2f551c..000000000000 --- a/CMGTools/Common/prod/cmgValidation.py +++ /dev/null @@ -1,276 +0,0 @@ -#!/bin/env python - -import os -import sys -import imp -import re -import subprocess -import inspect -import operator -import pprint -import shutil -import difflib - -from CMGTools.Production.datasetToSource import * -from CMGTools.Production.dataset import Dataset - -patcmg_cfg = 'PATCMG_cfg.py' -cmg_cfg = 'CMG_cfg.py' -pattuple = 'patTuple.root' -cmgtuple = 'cmgTuple.root' - -dataset_owner_mc = 'cmgtools' -# dataset_name_mc = '/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V5' -dataset_name_mc = '/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v2/AODSIM/V5' - - -dataset_owner_data = 'CMS' -# dataset_name_data = '/TauPlusX/Run2011A-PromptReco-v4/AOD/V5' -dataset_name_data = '/TauPlusX/Run2012B-PromptReco-v1/AOD' -patExt = '/PAT_CMG_V5_4_0' - -maxEvents = 3000 - -import inspect - -def printArgs(frame): - args, _, _, values = inspect.getargvalues(frame) - print 'function name "%s"' % inspect.getframeinfo(frame)[2] - for i in args: - print " %s = %s" % (i, values[i]) - -def checkRootFile( file ): - fileForEdmf = file - if not file.startswith('/store'): - file = ':'.join(['file',file]) - edmf = ['edmFileUtil', '-P', file] - out = subprocess.Popen(edmf, stdout=subprocess.PIPE, stderr=subprocess.PIPE ).communicate()[0] - # print out - (nevents, kbytesPerEvent, branches) = fileAna(out.split('\n')) - if nevents == 0: - raise ValueError('no event in ' + file ) - return (nevents, kbytesPerEvent, branches) - - -def fileAna( text ): - pattern = re.compile('.* (\d+) events, (\d+) bytes.*') - branches = [] - bytes = -1 - bytesPerEvent = -1 - for line in text: - # print 'LINE', line - m = pattern.match(line) - if m: - # import pdb; pdb.set_trace() - nevents = int(m.group(1)) - bytesPerEvent = int(m.group(2)) - else: - words = line.split() - if len(words)>0 and words[0] == 'Branch': - branches.append( (words[5], int(words[9]) ) ) - return (nevents, bytesPerEvent / 1024 / nevents, branches) - - -class FileInfo( object ): - def __init__(self, file): - self.fileName = file - self.nevents, self.kbytesPerEvent, self.branches = checkRootFile(file) - provDumpCmd = ['edmProvDump', file] - self.provDump = subprocess.Popen(provDumpCmd, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE ).communicate()[0] - self.theLog = [] - - def write(self, dir=None): - if dir is None: - self.dir = os.path.splitext( self.fileName )[0] # remove .root - else: - self.dir = dir - try: - os.mkdir( self.dir ) - except OSError: - shutil.rmtree( self.dir ) - os.mkdir( self.dir ) - oldPwd = os.getcwd() - os.chdir( self.dir ) - out1 = open('fileinfo.txt', 'w') - out1.write( str(self) ) - out1.write('\n\n') - out1.write( '\n'.join(self.theLog) ) - out1.write('\n') - out1.close() - out2 = open('provdump.txt', 'w') - out2.write( ''.join(self.provDump) ) - out2.write('\n') - out2.close() - os.chdir( oldPwd ) - - def branchesBySize(self): - '''branches, sorted by decreasing size''' - return sorted( self.branches, key=operator.itemgetter(1), reverse=True) - - def __str__(self): - lines = [] - lines.append( 'file = {file}'.format(file=self.fileName) ) - lines.append( 'nevents = {nevents}'.format(nevents = self.nevents) ) - lines.append( 'kb/evt = {kbpe}'.format(kbpe = self.kbytesPerEvent) ) - lines.append( 'branch list:' ) - for br in self.branchesBySize()[:20]: - lines.append('\t' + str(br) ) - lines.append('\t...') - return '\n'.join( lines ) - - def log(self, astr): - print astr - self.theLog.append( str(astr) ) - - def compare(self, other): - theLines = [] - self.log('FILE 1 (TESTED)') - self.log(self) - self.log('FILE 2 (REFERENCE)') - self.log(other) - # assert(self.nevents == other.nevents) - if self.kbytesPerEvent > 1.5*other.kbytesPerEvent: - self.log('SIZE LARGER THAN 1.5*REFERENCE') - sb = set( [branch for branch, size in self.branches] ) - ob = set( [branch for branch, size in other.branches] ) - sbonly = sb - ob - obonly = ob - sb - if len(sbonly)>0: - self.log('NEW COLLECTIONS') - for br in sbonly: - self.log('\t'+br) - if len(obonly)>0: - self.log('REMOVED COLLECTIONS') - for br in obonly: - self.log('\t'+br) - - -def rreplace(s, old, new, occurrence): - '''replace the last occurence occurences of old by new in s.''' - li = s.rsplit(old, occurrence) - return new.join(li) - - -def makeInputCfg(outDirName, cfg, mc): - infile = open(cfg) - mc = str(mc) - outCfgName = '/'.join([outDirName, cfg]) - # outCfgName = outCfgName.replace('_cfg.py','_{mc}_cfg.py'.format(mc=mc)) - outCfgName = rreplace( outCfgName, '_cfg.py', '_{mc}_cfg.py'.format(mc=mc), 1 ) - ofile = open( outCfgName, 'w' ) - for line in infile: - line = line.rstrip() - words = line.split() - if len(words)==3 and words[0] == 'runOnMC' and words[1] == '=': - line = line.replace( words[2], mc ) - ofile.write(line) - ofile.write('\n') - ofile.close() - return outCfgName - - -def runCfg( cfg, idString, run=True, cmd='', mc=True, file=None ): - - - print '*************************' - frame = inspect.currentframe() - printArgs(frame) - print '*************************' - - outDirName = '{cfg}_{idString}'.format(cfg=cfg, idString=idString) - try: - os.mkdir( outDirName ) - except OSError: - shutil.rmtree( outDirName ) - os.mkdir( outDirName ) - - cfg = makeInputCfg(outDirName, cfg, mc ) - - handle = open(cfg, 'r') - cfo = imp.load_source("pycfg", cfg, handle) - process = cfo.process - - dsow = 'cmgtools_group' - dsna = dataset_name_mc - if mc is False: - dsna = dataset_name_data - if file is None: - process.source = datasetToSource( dsow, dsna ) - else: - process.source.fileNames = [':'.join(['file',file])] - - process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(maxEvents) ) - - outCfgFileName = 'run_cfg.py' - cfgFile = open( '/'.join([outDirName, outCfgFileName]),'w') - cfgFile.write('import FWCore.ParameterSet.Config as cms\n\n') - cfgFile.write( process.dumpPython() ) - cfgFile.write( '\n' ) - cfgFile.close() - - if run: - oldPwd = os.getcwd() - os.chdir( outDirName ) - cmsRunCmd = ['cmsRun', outCfgFileName] - # if cmd == 'nohup': - # cmsRunCmd.insert(0, cmd) - # cmsRunCmd.append('&') - out = subprocess.Popen(cmsRunCmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE ).communicate() - print out[0] - print out[1] - os.chdir( oldPwd ) - - return outDirName - - - - - -if __name__ == '__main__': - - # outDir_PATCMGT3_MC = runCfg( patcmg_cfg, 'PATCMGT3_MC', run=True, cmd='nohup', mc=True) - # outDir_PATCMGT3_DATA = runCfg( patcmg_cfg, 'PATCMGT3_DATA', run=True, cmd='nohup', mc=False) - - - # outDir_PATCMGT3_MC = runCfg( patcmg_cfg, 'PATCMGT3_MC', run=True, cmd='', mc=True) - # checkRootFile( outDir_PATCMGT3_MC + '/patTuple.root' ) - - #outDir_PATCMGT3_MC = 'PATCMG_44X_cfg.py_PATCMGT3_MC' - # outDir_CMGONPAT_MC = runCfg( cmg_cfg, 'CMGONPAT', run=True, cmd ='', mc=True, - # file='/'.join(['..', outDir_PATCMGT3_MC, 'patTuple.root']) ) - # checkRootFile( outDir_CMGONPAT_MC + '/cmgTuple.root' ) - # fileInfo_CMGONPAT_MC = FileInfo( outDir_CMGONPAT_MC + '/cmgTuple.root' ) - - print 'extracting reference MC pat-tuple information' - ds_REF_PAT = Dataset('/'.join([dataset_name_mc,patExt]), - dataset_owner_mc, 'patTuple.*root') - file_REF_PAT = ds_REF_PAT.listOfGoodFiles()[0] - finf_REF_PAT = FileInfo( file_REF_PAT ) - - print 'extracting reference MC cmg-tuple information' - ds_REF_CMG = Dataset('/'.join([dataset_name_mc,patExt]), - dataset_owner_mc, 'cmgTuple.*root') - file_REF_CMG = ds_REF_CMG.listOfGoodFiles()[0] - finf_REF_CMG = FileInfo( file_REF_CMG ) - -## print 'recreating MC PAT+CMG tuple from PFAOD', maxEvents, 'events... (can take time!)' -## # FIXME: automatically get the PFAOD corresponding to the ref CMG+PAT - outDir_PATCMGT3_MC = runCfg( patcmg_cfg, 'PATCMGT3_MC', run=True, cmd='', mc=True) - # outDir_PATCMGT3_MC = 'PATCMG_44X_cfg.py_PATCMGT3_MC' - finf_NEW_PAT = FileInfo( outDir_PATCMGT3_MC + '/patTuple.root') - finf_NEW_CMG = FileInfo( outDir_PATCMGT3_MC + '/cmgTuple.root') - - finf_NEW_PAT.compare( finf_REF_PAT ) - finf_NEW_CMG.compare( finf_REF_CMG ) - finf_NEW_PAT.write() - finf_NEW_CMG.write() - - print 'recreating MC CMG tuple from local PAT tuple' - outDir_CMG_MC = runCfg( cmg_cfg, 'CMG_MC', run=True, cmd='', mc=True, - file = '/'.join(['..', outDir_PATCMGT3_MC, 'patTuple.root']) ) - - finf_CMG = FileInfo( outDir_CMG_MC + '/cmgTuple_reload.root') - finf_CMG.compare( finf_NEW_CMG ) - finf_CMG.write() diff --git a/CMGTools/Common/prod/eleCalibCrash2_cfg.py b/CMGTools/Common/prod/eleCalibCrash2_cfg.py deleted file mode 100644 index d049b0afe099..000000000000 --- a/CMGTools/Common/prod/eleCalibCrash2_cfg.py +++ /dev/null @@ -1,59 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * - -runOnMC = True - -process.source.fileNames = ['/store/relval/CMSSW_5_2_0/RelValProdTTbar/AODSIM/START52_V4A-v1/0250/68FCD498-F969-E111-9366-002618943949.root'] - - -process.stdElectronSeq = cms.Sequence( - process.makePatElectrons - ) - -process.p = cms.Path( process.stdElectronSeq ) - -process.patElectrons.embedTrack = True - -process.load("EgammaCalibratedGsfElectrons.CalibratedElectronProducers.calibratedGsfElectrons_cfi") - -# print sep_line -print "Replacing gsfElectrons with calibratedGsfElectrons..." -for modulename in process.p.moduleNames(): - module = getattr(process, modulename) - ml = dir(module) - for attr in ml: - v = getattr(module,attr) - if (isinstance(v, cms.InputTag) and v == cms.InputTag("gsfElectrons")): - setattr(module,attr,"calibratedGsfElectrons") - #print "Setting ", - #print module, - #print ".", - #print attr, - #print " = ", - #print getattr(module,attr) -process.calibratedGsfElectrons.isMC = cms.bool(runOnMC) -process.calibratedGsfElectrons.updateEnergyError = cms.bool(True) - -process.RandomNumberGeneratorService = cms.Service("RandomNumberGeneratorService", - - # Include a PSet for each module label that needs a - # random engine. The name is the module label. - # You must supply a seed or seeds. - # Optionally an engine type can be specified - #t1 = cms.PSet( - # initialSeed = cms.untracked.uint32(81) - #), - calibratedGsfElectrons = cms.PSet( - initialSeed = cms.untracked.uint32(1), - engineName = cms.untracked.string('TRandom3') - ), -) - -from CMGTools.Common.Tools.setupEleEnergyCorrections import setupEleEnergyCorrections -setupEleEnergyCorrections(process) - -print "Setting process.calibratedGsfElectrons.inputDataset=", -print process.calibratedGsfElectrons.inputDataset - - -process.p.replace(process.electronMatch, - process.calibratedGsfElectrons + process.electronMatch ) diff --git a/CMGTools/Common/prod/localCopy_AOD_cfg.py b/CMGTools/Common/prod/localCopy_AOD_cfg.py deleted file mode 100644 index ee922e44b2d1..000000000000 --- a/CMGTools/Common/prod/localCopy_AOD_cfg.py +++ /dev/null @@ -1,50 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("COPY") - -pickRelVal = False - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:AOD.root' - ) -) - -if pickRelVal: - from PhysicsTools.PatAlgos.tools.cmsswVersionTools import pickRelValInputFiles - - process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - pickRelValInputFiles( cmsswVersion = 'CMSSW_4_1_2' - , relVal = 'RelValTTbar' - # , globalTag = 'START311_V2' - , globalTag = 'MC_311_V2' - , numberOfFiles = 999 - ) - ) - ) - - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False)) - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) - - -process.load("Configuration.EventContent.EventContent_cff") -process.out = cms.OutputModule( - "PoolOutputModule", - process.AODEventContent, -# outputCommands = cms.untracked.vstring( -# 'keep *' -# ), - fileName = cms.untracked.string('copy.root'), - ) - -process.endpath = cms.EndPath( - process.out - ) - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 100 diff --git a/CMGTools/Common/prod/localCopy_cfg.py b/CMGTools/Common/prod/localCopy_cfg.py deleted file mode 100644 index 191003c11042..000000000000 --- a/CMGTools/Common/prod/localCopy_cfg.py +++ /dev/null @@ -1,50 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("COPY") - -pickRelVal = False - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:AODNoSim.root' - ) -) - -if pickRelVal: - from PhysicsTools.PatAlgos.tools.cmsswVersionTools import pickRelValInputFiles - - process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( - pickRelValInputFiles( cmsswVersion = 'CMSSW_4_1_2' - , relVal = 'RelValTTbar' - # , globalTag = 'START311_V2' - , globalTag = 'MC_311_V2' - , numberOfFiles = 999 - ) - ) - ) - - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False)) - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - - -process.load("Configuration.EventContent.EventContent_cff") -process.out = cms.OutputModule( - "PoolOutputModule", - process.AODSIMEventContent, -# outputCommands = cms.untracked.vstring( -# 'keep *' -# ), - fileName = cms.untracked.string('copy.root'), - ) - -process.endpath = cms.EndPath( - process.out - ) - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 100 diff --git a/CMGTools/Common/prod/myRelvalList_3_11.py b/CMGTools/Common/prod/myRelvalList_3_11.py deleted file mode 100644 index 007b3f70b2e3..000000000000 --- a/CMGTools/Common/prod/myRelvalList_3_11.py +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env python - -import os,sys - -scriptDir = os.getenv('CMSSW_BASE') + '/src/CMGTools/Common/scripts' -sys.path.append( scriptDir ) -import castortools - -sys.path.append( '.' ) - -from relvalDefinition import * - -relvals = relvalList() - -cmssw = 'CMSSW_3_11_2' -# relvals.add( cmssw, 'RelValQCD_FlatPt_15_3000','MC_311_V2' ) -# relvals.add( cmssw, 'RelValTTbar','MC_311_V2' ) - diff --git a/CMGTools/Common/prod/myRelvalList_4_1.py b/CMGTools/Common/prod/myRelvalList_4_1.py deleted file mode 100644 index c814a5c4404c..000000000000 --- a/CMGTools/Common/prod/myRelvalList_4_1.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python - -import os,sys - -scriptDir = os.getenv('CMSSW_BASE') + '/src/CMGTools/Common/scripts' -sys.path.append( scriptDir ) -import castortools - -sys.path.append( '.' ) - -from relvalDefinition import * - -relvals = relvalList() - -cmssw = 'CMSSW_4_1_2' -# relvals.add( cmssw, 'RelValLM1_sfts','MC_311_V2' ) -# relvals.add( cmssw, 'RelValQCD_FlatPt_15_3000','MC_311_V2' ) -# relvals.add( cmssw, 'RelValTTbar','MC_311_V2' ) -# relvals.add( cmssw, 'RelValZEE','MC_311_V2' ) -# relvals.add( cmssw, 'RelValZMM','START311_V2' ) -# relvals.add(cmssw, 'RelValWM', 'START311_V2') -# relvals.add(cmssw, 'RelValWE', 'START311_V2') - -cmssw = 'CMSSW_4_1_4' - -#/RelValQQH1352T_Tauola_cfi/CMSSW_4_1_4-START311_V2-v1/GEN-SIM-RECO -relvals.add(cmssw, 'RelValQQH1352T_Tauola_cfi', 'START311_V2') - -#/RelValZTT/CMSSW_4_1_4-START311_V2-v1/GEN-SIM-RECO -relvals.add(cmssw, 'RelValZTT', 'START311_V2') diff --git a/CMGTools/Common/prod/myRelvalList_4_2.py b/CMGTools/Common/prod/myRelvalList_4_2.py deleted file mode 100644 index b3d692e8a98c..000000000000 --- a/CMGTools/Common/prod/myRelvalList_4_2.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env python - -import os,sys - -scriptDir = os.getenv('CMSSW_BASE') + '/src/CMGTools/Common/scripts' -sys.path.append( scriptDir ) -import castortools - -sys.path.append( '.' ) - -from relvalDefinition import * - -relvals = relvalList() - -relvals.add('/RelValZMM/CMSSW_4_2_3-START42_V12-v2/GEN-SIM-RECO') -relvals.add('/RelValZEE/CMSSW_4_2_3-START42_V12-v2/GEN-SIM-RECO') -relvals.add('/RelValTTbar/CMSSW_4_2_3-START42_V12-v2/GEN-SIM-RECO') -relvals.add('/RelValQCD_FlatPt_15_3000/CMSSW_4_2_3-MC_42_V12-v2/GEN-SIM-RECO') -relvals.add('/RelValZTT/CMSSW_4_2_3-START42_V12-v2/GEN-SIM-RECO') -relvals.add('/RelValLM1_sfts/CMSSW_4_2_3-MC_42_V12-v2/GEN-SIM-RECO') -relvals.add('/RelValH130GGgluonfusion/CMSSW_4_2_3-START42_V12-v2/GEN-SIM-RECO') diff --git a/CMGTools/Common/prod/prunedAOD_cfg.py b/CMGTools/Common/prod/prunedAOD_cfg.py deleted file mode 100644 index 2cbbd040a870..000000000000 --- a/CMGTools/Common/prod/prunedAOD_cfg.py +++ /dev/null @@ -1,48 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("COPY2") - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:AODNoSim.root' - ) -) - -# process.load("CMGTools.Common.sources.DoubleElectron.Run2011A_PromptReco_v1.AOD.source_cff") -process.load("CMGTools.Common.sources.HT.Run2011A_PromptReco_v1.AOD.source_cff") - - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False)) -#WARNING! -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - - - -process.load("Configuration.EventContent.EventContent_cff") -process.out = cms.OutputModule( - "PoolOutputModule", - process.AODSIMEventContent, - # outputCommands = cms.untracked.vstring( - # 'keep *' - # ), - fileName = cms.untracked.string('prunedAOD.root'), - ) - -process.load("PhysicsTools.PFCandProducer.PF2PAT_EventContent_cff") -process.out.outputCommands.extend( process.prunedAODForPF2PATEventContent.outputCommands ) -process.out.outputCommands.append('keep *_HBHENoiseFilterResultProducer_*_*') - - -process.load("CMGTools.Common.eventCleaning.eventCleaning_cff") - -process.p = cms.Path( - process.eventCleaningSequence - ) - -process.endpath = cms.EndPath( - process.out - ) - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 10 diff --git a/CMGTools/Common/python/CMG/CMG_cff.py b/CMGTools/Common/python/CMG/CMG_cff.py deleted file mode 100644 index 3a3493054fa7..000000000000 --- a/CMGTools/Common/python/CMG/CMG_cff.py +++ /dev/null @@ -1,30 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.analysis_cff import * -from CMGTools.Common.gen_cff import * - -cmgMuon.cfg.inputCollection = 'patMuonsWithTrigger' -cmgElectron.cfg.inputCollection = 'patElectronsWithTrigger' - -cmgPFJet.cfg.inputCollection = 'patJetsWithVar' -# cmgPFBaseJet.cfg.inputCollection = 'selectedPatJets' -cmgPUJetMva.jets = 'patJetsWithVar' - -cmgTau.cfg.inputCollection = 'selectedPatTaus' - -cmgPFMET.cfg.inputCollection = 'patMETs' -cmgPFMETRaw = cmgPFMET.clone() -cmgPFMETRaw.cfg.inputCollection = 'patMETsRaw' - -CMGSequence = cms.Sequence( - # genSequence + - # triggerSequence + - muonSequence + - electronSequence + - # photonSequence + - jetSequence + - tauSequence + - cmgPFMET + - cmgPFMETRaw + - miscSequence - ) diff --git a/CMGTools/Common/python/PAT/MetRegression_cff.py b/CMGTools/Common/python/PAT/MetRegression_cff.py deleted file mode 100644 index 5a8bcfe57aa6..000000000000 --- a/CMGTools/Common/python/PAT/MetRegression_cff.py +++ /dev/null @@ -1,3 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.miscProducers.mvaMET.metRegression_cff import * diff --git a/CMGTools/Common/python/PAT/MetSignificance_cff.py b/CMGTools/Common/python/PAT/MetSignificance_cff.py deleted file mode 100644 index 81b7f790a211..000000000000 --- a/CMGTools/Common/python/PAT/MetSignificance_cff.py +++ /dev/null @@ -1,21 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.miscProducers.metSignificance_cfi import metSignificance -pfMetSignificance = metSignificance.clone() -pfMetSignificance.inputPATElectrons = cms.InputTag('') -pfMetSignificance.inputPATMuons = cms.InputTag('') -# pfMetSignificance.inputPFJets = cms.InputTag('') #Jose: previously used pfJets here and pfNoJet below but now pfNoJet is no loger available -# pfMetSignificance.inputPFCandidates = cms.InputTag('particleFlow') -pfMetSignificance.inputPFJets = cms.InputTag('ak5PFJets') #Jose: previously used pfJets here and pfNoJet below but now pfNoJet is no loger available - -from CommonTools.ParticleFlow.TopProjectors.pfNoJet_cfi import * -pfNoJet.topCollection = 'ak5PFJetsPtrs' -pfNoJet.bottomCollection = 'particleFlow' -pfMetSignificance.inputPFCandidates = cms.InputTag('pfNoJet') -pfMetSignificance.inputPFJets = cms.InputTag('ak5PFJetsPtrs') - -MetSignificanceSequence = cms.Sequence( - pfNoJet + - pfMetSignificance - ) - diff --git a/CMGTools/Common/python/PAT/PATCMG_cff.py b/CMGTools/Common/python/PAT/PATCMG_cff.py deleted file mode 100644 index 4edce1f86005..000000000000 --- a/CMGTools/Common/python/PAT/PATCMG_cff.py +++ /dev/null @@ -1,242 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -from CMGTools.Common.analysis_cff import * - - -# FIXME : corrrect vetoes for PU iso electrons -# FIXME : include type1 met corrections -# FIXME : check the taus in 44X and 52X -# FIXME : adapt pile-up jet id to 44X - - -# SERVICES --------------------------- -RandomNumberGeneratorService = cms.Service("RandomNumberGeneratorService", - patElectronsWithCalibrations = cms.PSet( - initialSeed = cms.untracked.uint32( 1041963) - ) -) - -# GEN --------------------------- - -from CMGTools.Common.PAT.PATGenJet_cff import * - -from CMGTools.Common.gen_cff import * - -PATCMGGenSequence = cms.Sequence( - PATGenJetSequence + - genSequence - ) - - -# TRIGGER --------------------------- - -from CMGTools.Common.PAT.PATTrigger_cff import * - -PATCMGTriggerSequence = cms.Sequence( - PATTriggerSequence + - triggerSequence - ) - - -# Add the one-to-one correspondence between PFCandidates and Primary Vertices - -from CMGTools.Common.PFVertexProducer_cfi import particleFlow -PATCMGVertexSequence = cms.Sequence ( particleFlow ) - -# Add particle flow pointer producer, now the standard collection for PFNoPU etc -from RecoParticleFlow.PFProducer.pfLinker_cff import particleFlowPtrs - -PATCMGPFPtrSequence = cms.Sequence( particleFlowPtrs ) - -# PU SUB AND PARTICLES FOR ISO --------------- - -from CommonTools.ParticleFlow.pfNoPileUp_cff import * -from CommonTools.ParticleFlow.pfParticleSelection_cff import * - -# note pfPileUp modified according to JetMET's recommendations -pfPileUp.checkClosestZVertex = False -pfPileUp.Vertices = 'goodOfflinePrimaryVertices' -pfPileUp.PFCandidates = 'particleFlow' -pfNoPileUp.bottomCollection = 'particleFlowPtrs' - -from CommonTools.ParticleFlow.goodOfflinePrimaryVertices_cfi import goodOfflinePrimaryVertices -pfNoPileUpSequence.insert(0, goodOfflinePrimaryVertices) - -PATCMGPileUpSubtractionSequence = cms.Sequence( - pfNoPileUpSequence + - pfParticleSelectionSequence - ) - -# RHO's ---------------------------- - -from CMGTools.Common.PAT.rho_cff import * -from QuarkGluonTagger.EightTeV.QGTagger_RecoJets_cff import kt6PFJetsIsoQG -PATCMGRhoSequence = rhoSequence + kt6PFJetsIsoQG - - -# MUONS ---------------------------- - -from CMGTools.Common.PAT.PATMuons_cff import * - -cmgMuon.cfg.inputCollection = 'patMuonsWithTrigger' - -PATCMGMuonSequence = cms.Sequence( - PATMuonSequence + - muonSequence - ) - - -# ELECTRONS ---------------------------- - -from CMGTools.Common.PAT.PATElectrons_cff import * - -cmgElectron.cfg.inputCollection = 'patElectronsWithTrigger' - -PATCMGElectronSequence = cms.Sequence( - PATElectronSequence + - electronSequence - ) - - - -# PHOTONS ---------------------------- - -from CMGTools.Common.PAT.PATPhotons_cff import * - -cmgPhoton.cfg.inputCollection = 'pfSelectedPhotons' - -PATCMGPhotonSequence = cms.Sequence( - PATPhotonSequence - +photonSequence - ) - - - -# JETS NO PU CHS ---------------------------- - -from CMGTools.Common.PAT.PATJets_cff import * - -# cmgPFJet.cfg.inputCollection = 'selectedPatJets' -# cmgPFBaseJet.cfg.inputCollection = 'selectedPatJets' - -# Pile-up jet ID -# cmgPUJetMva.jets = 'selectedPatJets' - -#patJetSource = 'selectedPatJets' -patJetSource = cms.InputTag('patJetsWithVar') -cmgPFJet.cfg.inputCollection = patJetSource - -# leading jets for MET regression -from CMGTools.Common.factories.cmgBaseJet_cfi import cmgBaseJet -cmgPFBaseJetAll = cmgBaseJet.clone() -cmgPFBaseJetAll.cfg.inputCollection = patJetSource - -from CMGTools.Common.skims.leadingCMGBaseJetSelector_cfi import leadingCMGBaseJetSelector -cmgPFBaseJetLead = leadingCMGBaseJetSelector.clone() -cmgPFBaseJetLead.inputCollection = 'cmgPFBaseJetAll' -cmgPFBaseJetLead.index = 4 - -PATCMGJetSequence = cms.Sequence( - PATJetSequence + - jetSequence + - cmgPFBaseJetAll + - cmgPFBaseJetLead - ) - -from CMGTools.Common.Tools.cmsswRelease import cmsswIs44X, isNewerThan -from RecoJets.JetProducers.ak5PFJets_cfi import ak5PFJets - -if cmsswIs44X(): - # ak5PFJets in 42X Fall11 MC samples are missing the jet area - # add them to rho sequence, so they don't get duplicated for the CHS jets - PATCMGRhoSequence += ak5PFJets - - -# TAUS NO PU CHS ---------------------------- - -from CMGTools.Common.PAT.PATTaus_cff import * - -cmgTau.cfg.inputCollection = 'selectedPatTaus' - -PATCMGTauSequence = cms.Sequence( - PATTauSequence + - tauSequence - ) - - -# JETS CHS ---------------------------- - -from CMGTools.Common.PAT.PATJetsCHS_cff import * - - -# JETS CHS PRUNED ---------------------------- - -# 44X Does not work - in 44X case, importing nothing -from CMGTools.Common.PAT.jetSubstructure_cff import * - -# MET ---------------------------- - -from CMGTools.Common.PAT.PATMet_cff import * - -cmgPFMET.cfg.inputCollection = 'patMETs' -cmgPFMETRaw = cmgPFMET.clone() -cmgPFMETRaw.cfg.inputCollection = 'patMETsRaw' - -PATCMGMetSequence = cms.Sequence( - PATMetSequence + - cmgPFMET + - cmgPFMETRaw - ) - -# MET SIGNIFICANCE ---------------------------- - -from CMGTools.Common.PAT.MetSignificance_cff import * - -# COUNTERS ---------------------------- -prePathCounter = cms.EDProducer("EventCountProducer") -postPathCounter = cms.EDProducer("EventCountProducer") - -# MET REGRESSION ---------------------------- - -from CMGTools.Common.PAT.MetRegression_cff import * - -PATCMGMetRegressionSequence = cms.Sequence( - MetRegressionSequence - ) - -# CMG CANDIDATES --------------------------- - -from CMGTools.Common.cmgCandidates_cfi import * - -PATCMGCandidatesSequence = cms.Sequence( - cmgCandidates - ) - -from CMGTools.Common.miscProducers.slimmedPrimaryVertices_cfi import slimmedPrimaryVertices -#### FULL SEQUENCE #### - -# NOTE: object sequences are defined so that they can be easily removed from the path -# contrary to PAT layer-wise sequences - -PATCMGSequence = cms.Sequence( - PATCMGGenSequence + - PATCMGTriggerSequence + - PATCMGPFPtrSequence + - PATCMGVertexSequence + - PATCMGPileUpSubtractionSequence + - PATCMGRhoSequence + - PATCMGMuonSequence + - PATCMGElectronSequence + - PATCMGPhotonSequence + - PATCMGJetSequence + - PATCMGTauSequence + - PATCMGMetSequence + - MetSignificanceSequence + - PATCMGMetRegressionSequence + - PATCMGCandidatesSequence + - slimmedPrimaryVertices - ) - -#if isNewerThan('CMSSW_5_2_0'): -# PATCMGSequence += PATCMGJetSequenceCHSpruned diff --git a/CMGTools/Common/python/PAT/PATElectrons_cff.py b/CMGTools/Common/python/PAT/PATElectrons_cff.py deleted file mode 100644 index d0dea97baae7..000000000000 --- a/CMGTools/Common/python/PAT/PATElectrons_cff.py +++ /dev/null @@ -1,139 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -# Energy scale corrections and MC smearing -# from EgammaCalibratedGsfElectrons.CalibratedElectronProducers.calibratedGsfElectrons_cfi import calibratedGsfElectrons as gsfElectrons -# gsfElectrons.updateEnergyError = cms.bool(True) -# gsfElectrons.isAOD = cms.bool(True) -# RandomNumberGeneratorService = cms.Service("RandomNumberGeneratorService", -# gsfElectrons = cms.PSet( -# initialSeed = cms.untracked.uint32(1), -# engineName = cms.untracked.string('TRandom3') -# ), -# ) - -# prepare reco information -# from PhysicsTools.PatAlgos.recoLayer0.electronId_cff import * -# from PhysicsTools.PatAlgos.recoLayer0.electronIsolation_cff import * - - -# add PAT specifics -from PhysicsTools.PatAlgos.mcMatchLayer0.electronMatch_cfi import * -from PhysicsTools.PatAlgos.producersLayer1.electronProducer_cfi import * - -makePatElectrons = cms.Sequence( - # reco pre-production - # patElectronId * - # patElectronIsolation * - # pat specifics - electronMatch * - # object production - patElectrons - ) - - -from PhysicsTools.PatAlgos.selectionLayer1.electronSelector_cfi import selectedPatElectrons - -# from PhysicsTools.PatAlgos.patSequences_cff import * - -from CMGTools.Common.PAT.patLeptModifiedIsoDeposit_cff import * - -# NOTE dunno why this is needed, but necessary to run on V5 PFAOD -# - Taejeong? -patElectrons.pfElectronSource = 'particleFlow' - -# PF isolation - -from CommonTools.ParticleFlow.Isolation.pfElectronIsolation_cff import * - -# 44X need to remove spurious sequences from the path -from CMGTools.Common.Tools.cmsswRelease import cmsswIs44X -if cmsswIs44X(): - pfElectronIsolationSequence.remove( pfElectronIsoDepositsSequence ) - pfElectronIsolationSequence.remove( pfElectronIsolationFromDepositsSequence ) - -sourceElectrons = 'gsfElectrons' - -elPFIsoDepositCharged.src = sourceElectrons -elPFIsoDepositChargedAll.src = sourceElectrons -elPFIsoDepositNeutral.src = sourceElectrons -elPFIsoDepositGamma.src = sourceElectrons -elPFIsoDepositPU.src = sourceElectrons - -elPFIsoDepositCharged.ExtractorPSet.DR_Max = 0.5 -elPFIsoDepositChargedAll.ExtractorPSet.DR_Max = 0.5 -elPFIsoDepositNeutral.ExtractorPSet.DR_Max = 0.5 -elPFIsoDepositGamma.ExtractorPSet.DR_Max = 0.5 -elPFIsoDepositPU.ExtractorPSet.DR_Max = 0.5 - - -patElectrons.isoDeposits = cms.PSet( - pfChargedHadrons = cms.InputTag("elPFIsoDepositCharged" ), - pfChargedAll = cms.InputTag("elPFIsoDepositChargedAll" ), - pfPUChargedHadrons = cms.InputTag("elPFIsoDepositPU" ), - pfNeutralHadrons = cms.InputTag("elPFIsoDepositNeutral" ), - pfPhotons = cms.InputTag("elPFIsoDepositGamma" ), - tracker = cms.InputTag("eleIsoDepositTk") - ) - -electronUserIsolation = cms.PSet( - user = cms.VPSet( - cms.PSet( src = cms.InputTag("eleIsoFromDepsTkOptimized5") ), - cms.PSet( src = cms.InputTag("eleIsoFromDepsTkOptimized7") ), - ) -) - -patElectrons.isolationValues = cms.PSet( - pfChargedHadrons = cms.InputTag("elPFIsoValueCharged04PFId"), - pfChargedAll = cms.InputTag("elPFIsoValueChargedAll04PFId"), - pfPUChargedHadrons = cms.InputTag("elPFIsoValuePU04PFId" ), - pfNeutralHadrons = cms.InputTag("elPFIsoValueNeutral04PFId" ), - pfPhotons = cms.InputTag("elPFIsoValueGamma04PFId" ), - ) - -patElectrons.userIsolation.user = electronUserIsolation.user - -#NOTE the following should not be used for now, but we keep them just in case. -patElectrons.isolationValuesNoPFId = cms.PSet( - pfChargedHadrons = cms.InputTag("elPFIsoValueCharged04NoPFId"), - pfChargedAll = cms.InputTag("elPFIsoValueChargedAll04NoPFId"), - pfPUChargedHadrons = cms.InputTag("elPFIsoValuePU04NoPFId" ), - pfNeutralHadrons = cms.InputTag("elPFIsoValueNeutral04NoPFId" ), - pfPhotons = cms.InputTag("elPFIsoValueGamma04NoPFId" ) - ) - -# identification - -from CMGTools.Common.PAT.patElectronID_cff import * -patElectrons.addElectronID = True -from CMGTools.Common.PAT.electronIDs_cfi import electronIDs -patElectrons.electronIDSources = electronIDs.clone() - -patElectrons.embedTrack = True - -selectedPatElectrons.cut = 'pt()>0' - -from CMGTools.Common.PAT.patElectronsWithTrigger_cff import * -# from CMGTools.Common.PAT.patElectronsWithMVA_cfi import * -from CMGTools.Common.PAT.patElectronsWithRegressionVars_cfi import * -from CMGTools.Common.PAT.patElectronsWithDirectionalIsolation_cfi import * - -# conversions -from CMGTools.Common.PAT.patConversions_cfi import patConversions - -PATElectronSequence = cms.Sequence( - pfElectronIsolationSequence + - detElectronIsoDepositSequence + - patElectronIDSequence + - makePatElectrons + - selectedPatElectrons + - # patElectronsWithMVA + # not used, and creates problem in git migration - patElectronsWithDirectionalIsolation + - patElectronsWithRegressionVars + - patElectronsWithTriggerSequence + - patConversions - ) - -# Skip this since calibration can now be applied on the cmgTuples -# if cmsswIs44X(): -# PATElectronSequence.insert( 0, gsfElectrons ) diff --git a/CMGTools/Common/python/PAT/PATGenJet_cff.py b/CMGTools/Common/python/PAT/PATGenJet_cff.py deleted file mode 100644 index 1f1633a919ae..000000000000 --- a/CMGTools/Common/python/PAT/PATGenJet_cff.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoJets.Configuration.GenJetParticles_cff import * -from RecoJets.Configuration.RecoGenJets_cff import * - -# we want GenJets without neutrinos! -# will be added to the gen sequence later (see bottom of the file) -# PATGenJetSequence = cms.Sequence() - -# from CMGTools.Common.Tools.cmsswRelease import cmsswIs44X -# if cmsswIs44X(): -# in 44X ak5GenJetsNoNu is not in the AOD, need to rebuild. -PATGenJetSequence = cms.Sequence( - genParticlesForJetsNoNu + - ak5GenJetsNoNu - ) diff --git a/CMGTools/Common/python/PAT/PATJetsCHS_cff.py b/CMGTools/Common/python/PAT/PATJetsCHS_cff.py deleted file mode 100644 index 2dfd5707fe90..000000000000 --- a/CMGTools/Common/python/PAT/PATJetsCHS_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# taking all PFCandidates which are not PU charged hadron -from RecoJets.JetProducers.ak5PFJets_cfi import * -ak5PFJetsCHS = ak5PFJets.clone() -ak5PFJetsCHS.src = 'pfNoPileUp' - -ak5PFJetsCHS.doAreaFastjet = True -ak5PFJetsCHS.doRhoFastjet = False - -#NOTE: please refer to the cfg, where the cloning of the PAT jet sequence is done -# could be rewritten here, but painful... diff --git a/CMGTools/Common/python/PAT/PATJets_cff.py b/CMGTools/Common/python/PAT/PATJets_cff.py deleted file mode 100644 index a6de3838348b..000000000000 --- a/CMGTools/Common/python/PAT/PATJets_cff.py +++ /dev/null @@ -1,155 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# from PhysicsTools.PatAlgos.patSequences_cff import * -from PhysicsTools.PatAlgos.producersLayer1.jetProducer_cff import * -from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import selectedPatJets - -from CommonTools.ParticleFlow.ParticleSelectors.genericPFJetSelector_cfi import selectedPfJets - -#FIXME: is this cut really necessary? does it play well with Phil's stuff? -# NOTE cutting on uncorrected jets, but no bias for corrected jet pT>7 -ak5PFJetsSel = selectedPfJets.clone( src = 'ak5PFJets', - cut = 'pt()>0 && abs(eta())<5.0' ) - -jetSource = 'ak5PFJetsSel' - - -# corrections -from PhysicsTools.PatAlgos.recoLayer0.jetCorrFactors_cfi import * -patJetCorrFactors.src = jetSource -# will need to add L2L3 corrections in the cfg -patJetCorrFactors.levels = ['L1FastJet', 'L2Relative', 'L3Absolute'] -patJetCorrFactors.payload = 'AK5PF' -patJetCorrFactors.useRho = True - -patJets.jetSource = jetSource -patJets.addJetCharge = False -patJets.embedCaloTowers = cms.bool(False) -patJets.embedPFCandidates = False -patJets.addAssociatedTracks = False - -# b tagging -from RecoJets.JetAssociationProducers.ak5JTA_cff import * -ak5JetTracksAssociatorAtVertex.jets = jetSource - -from RecoBTag.Configuration.RecoBTag_cff import * # btagging sequence - -softPFMuonsTagInfos.jets = jetSource -softPFElectronsTagInfos.jets = jetSource -btaggingExt = cms.Sequence( - btagging - + softPFElectronByIP3dBJetTags - + softPFElectronByPtBJetTags - + softPFMuonByPtBJetTags -) - -patJets.discriminatorSources = [ - cms.InputTag("combinedSecondaryVertexBJetTags"), - cms.InputTag("trackCountingHighEffBJetTags"), - cms.InputTag("trackCountingHighPurBJetTags"), - cms.InputTag("jetProbabilityBJetTags"), - cms.InputTag("jetBProbabilityBJetTags"), - cms.InputTag("simpleSecondaryVertexHighEffBJetTags"), - cms.InputTag("simpleSecondaryVertexHighPurBJetTags"), - cms.InputTag("combinedSecondaryVertexBJetTags"), - cms.InputTag("combinedSecondaryVertexMVABJetTags"), - cms.InputTag("ghostTrackBJetTags"), - cms.InputTag("softPFMuonBJetTags"), - cms.InputTag("softPFElectronBJetTags"), - cms.InputTag("softPFElectronByIP3dBJetTags"), - cms.InputTag("softPFElectronByPtBJetTags"), - cms.InputTag("softPFMuonByPtBJetTags"), -] - -from CMGTools.Common.Tools.cmsswRelease import isNewerThan -from CMGTools.Common.skims.cmgCandSel_cfi import cmgCandSel - -## add secondar vertex mass information -## can be used in analysis level: jet->sourcePtr()->get()->userFloat("secvtxMass"); -patJets.addTagInfos = True -patJets.tagInfoSources = cms.VInputTag( - cms.InputTag("secondaryVertexTagInfos") - ) -patJets.userData.userFunctions = cms.vstring( "? hasTagInfo('secondaryVertex') && tagInfoSecondaryVertex('secondaryVertex').nVertices() > 0 ? " - "tagInfoSecondaryVertex('secondaryVertex').secondaryVertex(0).p4().mass() : 0", - "? hasTagInfo('secondaryVertex') && tagInfoSecondaryVertex('secondaryVertex').nVertices() > 0 ? " - "tagInfoSecondaryVertex('secondaryVertex').flightDistance(0).value() : 0", - "? hasTagInfo('secondaryVertex') && tagInfoSecondaryVertex('secondaryVertex').nVertices() > 0 ? " - "tagInfoSecondaryVertex('secondaryVertex').flightDistance(0).error() : 0", -) -patJets.userData.userFunctionLabels = cms.vstring('secvtxMass','Lxy','LxyErr') - -# parton and gen jet matching - -from CommonTools.ParticleFlow.genForPF2PAT_cff import * -from PhysicsTools.PatAlgos.mcMatchLayer0.jetMatch_cfi import * -patJetPartonMatch.src = jetSource -patJetGenJetMatch.src = jetSource -patJetGenJetMatch.matched = 'ak5GenJetsNoNu' - -from PhysicsTools.PatAlgos.mcMatchLayer0.jetFlavourId_cff import * -patJetPartonAssociation.jets = jetSource - -jetsPtGt1Cut = '(neutralHadronEnergy())/(correctedJet(0).pt()/pt()*energy()) < 0.99 && (neutralEmEnergy()/(correctedJet(0).pt()/pt()*energy())) < 0.99 && (nConstituents()) > 1 && ((abs(eta()) < 2.4 && chargedHadronEnergy()/(correctedJet(0).pt()/pt()*energy()) > 0 && chargedEmEnergy() /(correctedJet(0).pt()/pt()*energy()) < 0.99 && chargedMultiplicity() > 0) || abs(eta()) > 2.4) ' -if not isNewerThan('CMSSW_5_2_0'): - # addtl cut needed due to different MVA MET training in 44X - jetsPtGt1Cut = ' && '.join([jetsPtGt1Cut,'pt()>1']) -jetsPtGt1 = cmgCandSel.clone( src = 'patJets', cut = jetsPtGt1Cut ) - -from CMGTools.Common.miscProducers.collectionSize.candidateSize_cfi import candidateSize -nJetsPtGt1 = candidateSize.clone( src = 'jetsPtGt1' ) - -# QG Tagger -QGTagger = cms.EDProducer('QGTagger', - srcJets = cms.InputTag('selectedPatJets'), - isPatJet = cms.untracked.bool(True), - useCHS = cms.untracked.bool(False), - srcRho = cms.InputTag('kt6PFJets','rho'), - srcRhoIso = cms.InputTag('kt6PFJetsIsoQG','rho'), -) - -# jet extender -patJetsWithVar = cms.EDProducer('JetExtendedProducer', - jets = cms.InputTag('selectedPatJets'), - vertices = cms.InputTag('goodOfflinePrimaryVertices'), - #debug = cms.untracked.bool(True), - payload = cms.string('AK5PF'), - qgtagPOG = cms.InputTag('QGTagger'), -) - -outPFCand = cms.EDProducer('VbfHbbPFCandOutOfJets', - jets = cms.InputTag('patJetsWithVar'), - vtx = cms.InputTag('goodOfflinePrimaryVertices'), - pfcandidates = cms.InputTag('particleFlow'), - btagger = cms.string('combinedSecondaryVertexBJetTags') -) -from RecoJets.JetProducers.ak5PFJets_cfi import * -ak5SoftPFJetsForVbfHbb = ak5PFJets.clone(src = 'outPFCand',jetPtMin = 1.0) - -selectedPatJets.cut = '' - -from CMGTools.External.pujetidsequence_cff import puJetId -puJetId.jets = cms.InputTag('patJetsWithVar') - -jetMCSequence = cms.Sequence( - patJetPartonMatch + - patJetGenJetMatch - ) - -PATJetSequence = cms.Sequence( - ak5PFJetsSel + - jetMCSequence + - ak5JetTracksAssociatorAtVertex + - btaggingExt + - patJetCorrFactors + - patJetFlavourId + - patJets + - jetsPtGt1 + - nJetsPtGt1 + - selectedPatJets + - QGTagger + - patJetsWithVar + - puJetId + - outPFCand + - ak5SoftPFJetsForVbfHbb - ) diff --git a/CMGTools/Common/python/PAT/PATJets_cff.py.~1.13.~ b/CMGTools/Common/python/PAT/PATJets_cff.py.~1.13.~ deleted file mode 100644 index 70c2352a082d..000000000000 --- a/CMGTools/Common/python/PAT/PATJets_cff.py.~1.13.~ +++ /dev/null @@ -1,116 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# from PhysicsTools.PatAlgos.patSequences_cff import * -from PhysicsTools.PatAlgos.producersLayer1.jetProducer_cff import * -from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import selectedPatJets - -from CommonTools.ParticleFlow.ParticleSelectors.genericPFJetSelector_cfi import selectedPfJets - -#FIXME: is this cut really necessary? does it play well with Phil's stuff? -# NOTE cutting on uncorrected jets, but no bias for corrected jet pT>7 -ak5PFJetsSel = selectedPfJets.clone( src = 'ak5PFJets', - cut = 'pt()>0 && abs(eta())<5.0' ) - -jetSource = 'ak5PFJetsSel' - -# corrections -from PhysicsTools.PatAlgos.recoLayer0.jetCorrFactors_cfi import * -patJetCorrFactors.src = jetSource -# will need to add L2L3 corrections in the cfg -patJetCorrFactors.levels = ['L1FastJet', 'L2Relative', 'L3Absolute'] -patJetCorrFactors.payload = 'AK5PF' -patJetCorrFactors.useRho = True - -patJets.jetSource = jetSource -patJets.addJetCharge = False -patJets.embedCaloTowers = False -patJets.embedPFCandidates = False -patJets.addAssociatedTracks = False - -# b tagging -from RecoJets.JetAssociationProducers.ak5JTA_cff import * -ak5JetTracksAssociatorAtVertex.jets = jetSource -from RecoBTag.Configuration.RecoBTag_cff import * # btagging sequence -softMuonTagInfos.jets = jetSource -softElectronTagInfos.jets = jetSource -from CMGTools.Common.Tools.cmsswRelease import isNewerThan -from CMGTools.Common.skims.cmgCandSel_cfi import cmgCandSel - -## add secondar vertex mass information -## can be used in analysis level: jet->sourcePtr()->get()->userFloat("secvtxMass"); -patJets.addTagInfos = True -patJets.tagInfoSources = cms.VInputTag( - cms.InputTag("secondaryVertexTagInfos") - ) -patJets.userData.userFunctions = cms.vstring( "? hasTagInfo('secondaryVertex') && tagInfoSecondaryVertex('secondaryVertex').nVertices() > 0 ? " - "tagInfoSecondaryVertex('secondaryVertex').secondaryVertex(0).p4().mass() : 0", - "? hasTagInfo('secondaryVertex') && tagInfoSecondaryVertex('secondaryVertex').nVertices() > 0 ? " - "tagInfoSecondaryVertex('secondaryVertex').flightDistance(0).value() : 0", - "? hasTagInfo('secondaryVertex') && tagInfoSecondaryVertex('secondaryVertex').nVertices() > 0 ? " - "tagInfoSecondaryVertex('secondaryVertex').flightDistance(0).error() : 0", -) -patJets.userData.userFunctionLabels = cms.vstring('secvtxMass','Lxy','LxyErr') - -# parton and gen jet matching - -from CommonTools.ParticleFlow.genForPF2PAT_cff import * -from PhysicsTools.PatAlgos.mcMatchLayer0.jetMatch_cfi import * -patJetPartonMatch.src = jetSource -patJetGenJetMatch.src = jetSource -patJetGenJetMatch.matched = 'ak5GenJetsNoNu' - -from PhysicsTools.PatAlgos.mcMatchLayer0.jetFlavourId_cff import * -patJetPartonAssociation.jets = jetSource - -jetsPtGt1Cut = '(neutralHadronEnergy())/(correctedJet(0).pt()/pt()*energy()) < 0.99 && (neutralEmEnergy()/(correctedJet(0).pt()/pt()*energy())) < 0.99 && (nConstituents()) > 1 && ((abs(eta()) < 2.4 && chargedHadronEnergy()/(correctedJet(0).pt()/pt()*energy()) > 0 && chargedEmEnergy() /(correctedJet(0).pt()/pt()*energy()) < 0.99 && chargedMultiplicity() > 0) || abs(eta()) > 2.4) ' -if not isNewerThan('CMSSW_5_2_0'): - # addtl cut needed due to different MVA MET training in 44X - jetsPtGt1Cut = ' && '.join([jetsPtGt1Cut,'pt()>1']) -jetsPtGt1 = cmgCandSel.clone( src = 'patJets', cut = jetsPtGt1Cut ) - -from CMGTools.Common.miscProducers.collectionSize.candidateSize_cfi import candidateSize -nJetsPtGt1 = candidateSize.clone( src = 'jetsPtGt1' ) - -# jet extender -patJetsWithVar = cms.EDProducer('JetExtendedProducer', - jets = cms.InputTag('selectedPatJets'), - vertices = cms.InputTag('goodOfflinePrimaryVertices'), - #debug = cms.untracked.bool(True), - payload = cms.string('AK5PF') -) - -outPFCand = cms.EDProducer('VbfHbbPFCandOutOfJets', - jets = cms.InputTag('patJetsWithVar'), - vtx = cms.InputTag('goodOfflinePrimaryVertices'), - pfcandidates = cms.InputTag('particleFlow'), - btagger = cms.string('combinedSecondaryVertexBJetTags') -) -from RecoJets.JetProducers.ak5PFJets_cfi import * -ak5SoftPFJetsForVbfHbb = ak5PFJets.clone(src = 'outPFCand',jetPtMin = 1.0) - -selectedPatJets.cut = '' - -from CMGTools.External.pujetidsequence_cff import puJetId -puJetId.jets = cms.InputTag('patJetsWithVar') - -jetMCSequence = cms.Sequence( - patJetPartonMatch + - patJetGenJetMatch - ) - -PATJetSequence = cms.Sequence( - ak5PFJetsSel + - jetMCSequence + - ak5JetTracksAssociatorAtVertex + - btagging + - patJetCorrFactors + - patJetFlavourId + - patJets + - jetsPtGt1 + - nJetsPtGt1 + - selectedPatJets + - patJetsWithVar + - puJetId + - outPFCand + - ak5SoftPFJetsForVbfHbb - ) diff --git a/CMGTools/Common/python/PAT/PATMet_cff.py b/CMGTools/Common/python/PAT/PATMet_cff.py deleted file mode 100644 index 2597dc06b278..000000000000 --- a/CMGTools/Common/python/PAT/PATMet_cff.py +++ /dev/null @@ -1,37 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from PhysicsTools.PatAlgos.producersLayer1.metProducer_cfi import * - -# 44X does not work - both METs are identical for now -#produce type 1 corrected MET -# patMETs.metSource = 'pfType1CorrectedMet' -# dammit! the PAT MET sequence contains jet clustering modules... -# producePFMETCorrections.remove( kt6PFJets ) -# producePFMETCorrections.remove( ak5PFJets ) -patMETs.metSource = 'pfMet' -patMETs.addMuonCorrections = False - -# adding raw PFMET also -patMETsRaw = patMETs.clone() -patMETsRaw.addMuonCorrections = False -patMETsRaw.metSource = 'pfMet' - -PATMetSequence = cms.Sequence( - # producePFMETCorrections + - patMETs + - patMETsRaw - ) - -from CMGTools.Common.Tools.cmsswRelease import * -if isNewerThan('CMSSW_5_2_0'): - from PhysicsTools.PatAlgos.recoLayer0.jetMETCorrections_cff import * - # producePFMETCorrections.remove( kt6PFJets ) - # producePFMETCorrections.remove( ak5PFJets ) - patMETs.metSource = 'pfType1CorrectedMet' - PATMetSequence.insert(0, producePFMETCorrections) -elif cmsswIs44X(): - #I've taken the following from jetTools: - #http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/PhysicsTools/PatAlgos/python/tools/jetTools.py?revision=1.71&view=markup - from JetMETCorrections.Type1MET.MetType1Corrections_cff import metJESCorAK5PFJet - PATMetSequence.insert(0, metJESCorAK5PFJet) - patMETs.metSource = 'metJESCorAK5PFJet' diff --git a/CMGTools/Common/python/PAT/PATMuons_cff.py b/CMGTools/Common/python/PAT/PATMuons_cff.py deleted file mode 100644 index 817255725974..000000000000 --- a/CMGTools/Common/python/PAT/PATMuons_cff.py +++ /dev/null @@ -1,81 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# from PhysicsTools.PatAlgos.patSequences_cff import * -from PhysicsTools.PatAlgos.producersLayer1.muonProducer_cff import * -from PhysicsTools.PatAlgos.selectionLayer1.muonSelector_cfi import selectedPatMuons - -from CMGTools.Common.PAT.patLeptModifiedIsoDeposit_cff import * - -patMuons.embedCaloMETMuonCorrs = False -patMuons.embedTcMETMuonCorrs = False -patMuons.embedTrack = True -patMuons.embedDytMuon = False -patMuons.embedTpfmsMuon = False -patMuons.embedPickyMuon = False -patMuons.embedMuonBestTrack = False - -# isolation (PF and custom detector based) - -from CommonTools.ParticleFlow.Isolation.pfMuonIsolation_cff import * - -sourceMuons = 'muons' - -# the name of the track muon deposits changed -from CMGTools.Common.Tools.cmsswRelease import cmsswIs44X - -# FIXME: JAN: Are the tracker iso deposits still needed? Are not in AOD/RECO anymore -# tkDeposits = cms.InputTag("muons","muIsoDepositTk") -# if cmsswIs44X(): -# tkDeposits = cms.InputTag("muIsoDepositTk") - -muPFIsoDepositCharged.src = sourceMuons -muPFIsoDepositChargedAll.src = sourceMuons -muPFIsoDepositNeutral.src = sourceMuons -muPFIsoDepositGamma.src = sourceMuons -muPFIsoDepositPU.src = sourceMuons -muPFIsoDepositCharged.ExtractorPSet.DR_Max = 0.5 -muPFIsoDepositChargedAll.ExtractorPSet.DR_Max = 0.5 -muPFIsoDepositNeutral.ExtractorPSet.DR_Max = 0.5 -muPFIsoDepositGamma.ExtractorPSet.DR_Max = 0.5 -muPFIsoDepositPU.ExtractorPSet.DR_Max = 0.5 - - - -patMuons.isoDeposits = cms.PSet( - pfChargedHadrons = cms.InputTag("muPFIsoDepositCharged" ), - pfChargedAll = cms.InputTag("muPFIsoDepositChargedAll" ), - pfPUChargedHadrons = cms.InputTag("muPFIsoDepositPU" ), - pfNeutralHadrons = cms.InputTag("muPFIsoDepositNeutral" ), - pfPhotons = cms.InputTag("muPFIsoDepositGamma" ), - # tracker = tkDeposits, - ) - -# needed in 44X: -# muIsoFromDepsTkOptimized.deposits[0].src = tkDeposits - -patMuons.isolationValues = cms.PSet( - pfChargedHadrons = cms.InputTag("muPFIsoValueCharged04"), - pfChargedAll = cms.InputTag("muPFIsoValueChargedAll04"), - pfPUChargedHadrons = cms.InputTag("muPFIsoValuePU04" ), - pfNeutralHadrons = cms.InputTag("muPFIsoValueNeutral04" ), - pfPhotons = cms.InputTag("muPFIsoValueGamma04" )#, - # user = cms.VInputTag( cms.InputTag("muIsoFromDepsTkOptimized") ) - ) - -selectedPatMuons.cut = 'pt()>0' - -from CMGTools.Common.PAT.patMuonsWithPF_cfi import * -from CMGTools.Common.PAT.patMuonsWithMVA_cfi import * -from CMGTools.Common.PAT.patMuonsWithTrigger_cff import * -from CMGTools.Common.PAT.patMuonsWithDirectionalIsolation_cfi import * - -PATMuonSequence = cms.Sequence( - pfMuonIsolationSequence + - # detMuonIsoDepositSequence + - makePatMuons + - selectedPatMuons + - patMuonsWithPF + - patMuonsWithMVA + - patMuonsWithDirectionalIsolation + - patMuonsWithTriggerSequence - ) diff --git a/CMGTools/Common/python/PAT/PATPhotons_cff.py b/CMGTools/Common/python/PAT/PATPhotons_cff.py deleted file mode 100644 index e99ae2ff751e..000000000000 --- a/CMGTools/Common/python/PAT/PATPhotons_cff.py +++ /dev/null @@ -1,21 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# isolation (PF only, must not bourred !) - -from CMGTools.Common.PAT.photonPFIsolationDeposits_cff import * -from CommonTools.ParticleFlow.ParticleSelectors.pfSelectedPhotons_cfi import * -from CMGTools.Common.photon_cff import * - -sourcePhotons = 'pfSelectedPhotons' -pfSelectedPhotons.cut = cms.string("pt>2&&abs(eta)<2.5") - -phPFIsoDepositCharged.src = sourcePhotons -phPFIsoDepositChargedAll.src = sourcePhotons -phPFIsoDepositNeutral.src = sourcePhotons -phPFIsoDepositGamma.src = sourcePhotons -phPFIsoDepositPU.src = sourcePhotons - -PATPhotonSequence = cms.Sequence( - pfSelectedPhotons+ - photonPFIsolationDepositsSequence - ) diff --git a/CMGTools/Common/python/PAT/PATTaus_cff.py b/CMGTools/Common/python/PAT/PATTaus_cff.py deleted file mode 100644 index c7d395f63aab..000000000000 --- a/CMGTools/Common/python/PAT/PATTaus_cff.py +++ /dev/null @@ -1,171 +0,0 @@ -# from PhysicsTools.PatAlgos.patSequences_cff import * -from CMGTools.Common.Tools.cmsswRelease import isNewerThan - -from PhysicsTools.PatAlgos.producersLayer1.tauProducer_cff import * -from PhysicsTools.PatAlgos.selectionLayer1.tauSelector_cfi import selectedPatTaus - -from RecoTauTag.Configuration.RecoPFTauTag_cff import * - -# will insert a jet selector before tau ID to speed up processing -from CommonTools.ParticleFlow.ParticleSelectors.genericPFJetSelector_cfi import selectedPfJets -jetSelectionForTaus = 'pt()>15.0 && abs(eta())<3.0' -pfJetsForHPSTau = selectedPfJets.clone( src = 'ak5PFJets', - cut = jetSelectionForTaus ) -# from CMGTools.Common.Tools.visitorUtils import replaceSrc -# replaceSrc( PFTau, 'ak5PFJets', 'pfJetsForHPSTau') -tauSource = 'pfJetsForHPSTau' -recoTauAK5PFJets08Region.src = tauSource #NOTE this guy has a pfSrc -ak5PFJetTracksAssociatorAtVertex.jets = tauSource -ak5PFJetsLegacyHPSPiZeros.jetSrc = tauSource -combinatoricRecoTaus.jetSrc = tauSource -ak5PFJetsRecoTauChargedHadrons.jetSrc = tauSource -tauMatch.src = 'hpsPFTauProducer' -tauGenJetMatch.src = 'hpsPFTauProducer' - -tauIsoDepositPFCandidates.ExtractorPSet.tauSource = 'hpsPFTauProducer' -tauIsoDepositPFCandidates.src = 'hpsPFTauProducer' -tauIsoDepositPFChargedHadrons.ExtractorPSet.tauSource = 'hpsPFTauProducer' -tauIsoDepositPFChargedHadrons.src = 'hpsPFTauProducer' -tauIsoDepositPFNeutralHadrons.ExtractorPSet.tauSource = 'hpsPFTauProducer' -tauIsoDepositPFNeutralHadrons.src = 'hpsPFTauProducer' -tauIsoDepositPFGammas.ExtractorPSet.tauSource = 'hpsPFTauProducer' -tauIsoDepositPFGammas.src = 'hpsPFTauProducer' - -# 44X : HPS taus are not yet the default. -patTaus.tauSource = 'hpsPFTauProducer' - -tauIDs = dict( - decayModeFinding = cms.InputTag('hpsPFTauDiscriminationByDecayModeFinding'), - byVLooseCombinedIsolationDeltaBetaCorr = cms.InputTag('hpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr'), - byLooseCombinedIsolationDeltaBetaCorr = cms.InputTag('hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr'), - byMediumCombinedIsolationDeltaBetaCorr = cms.InputTag('hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr'), - byTightCombinedIsolationDeltaBetaCorr = cms.InputTag('hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr'), - # byRawIsoMVA = cms.InputTag('hpsPFTauDiscriminationByIsolationMVAraw'), - # byLooseIsoMVA = cms.InputTag('hpsPFTauDiscriminationByLooseIsolationMVA'), - # byMediumIsoMVA = cms.InputTag('hpsPFTauDiscriminationByMediumIsolationMVA'), - # byTightIsoMVA = cms.InputTag('hpsPFTauDiscriminationByTightIsolationMVA'), - againstElectronLoose = cms.InputTag('hpsPFTauDiscriminationByLooseElectronRejection'), - againstElectronMedium = cms.InputTag('hpsPFTauDiscriminationByMediumElectronRejection'), - againstElectronTight = cms.InputTag('hpsPFTauDiscriminationByTightElectronRejection'), - # - # againstElectronMVA = cms.InputTag('hpsPFTauDiscriminationByMVAElectronRejection'), - againstElectronDeadECAL = cms.InputTag('hpsPFTauDiscriminationByDeadECALElectronRejection'), - ## - # againstElectronMVA2raw = cms.InputTag('hpsPFTauDiscriminationByMVA2rawElectronRejection'), - # againstElectronMVA2category = cms.InputTag('hpsPFTauDiscriminationByMVA2rawElectronRejection:category'), - # againstElectronVLooseMVA2 = cms.InputTag('hpsPFTauDiscriminationByMVA2VLooseElectronRejection'), - # againstElectronLooseMVA2 = cms.InputTag('hpsPFTauDiscriminationByMVA2LooseElectronRejection'), - # againstElectronMediumMVA2 = cms.InputTag('hpsPFTauDiscriminationByMVA2MediumElectronRejection'), - # againstElectronTightMVA2 = cms.InputTag('hpsPFTauDiscriminationByMVA2TightElectronRejection'), - ## - againstMuonLoose = cms.InputTag('hpsPFTauDiscriminationByLooseMuonRejection'), - againstMuonMedium = cms.InputTag('hpsPFTauDiscriminationByMediumMuonRejection'), - againstMuonTight = cms.InputTag('hpsPFTauDiscriminationByTightMuonRejection'), - ) -tauIDsNew = dict( - # byIsolationMVA2raw = cms.InputTag('hpsPFTauDiscriminationByIsolationMVA2raw'), - # byLooseIsolationMVA2 = cms.InputTag('hpsPFTauDiscriminationByLooseIsolationMVA2'), - # byMediumIsolationMVA2 = cms.InputTag('hpsPFTauDiscriminationByMediumIsolationMVA2'), - # byTightIsolationMVA2 = cms.InputTag('hpsPFTauDiscriminationByTightIsolationMVA2'), - byLooseCombinedIsolationDeltaBetaCorr3Hits = cms.InputTag('hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr3Hits'), - byMediumCombinedIsolationDeltaBetaCorr3Hits = cms.InputTag('hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr3Hits'), - byTightCombinedIsolationDeltaBetaCorr3Hits = cms.InputTag('hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr3Hits'), - byCombinedIsolationDeltaBetaCorrRaw3Hits = cms.InputTag('hpsPFTauDiscriminationByRawCombinedIsolationDBSumPtCorr3Hits'), - # againstElectronMVA3raw = cms.InputTag('hpsPFTauDiscriminationByMVA3rawElectronRejection'), - # againstElectronMVA3category = cms.InputTag('hpsPFTauDiscriminationByMVA3rawElectronRejection:category'), - # againstElectronLooseMVA3 = cms.InputTag('hpsPFTauDiscriminationByMVA3LooseElectronRejection'), - # againstElectronMediumMVA3 = cms.InputTag('hpsPFTauDiscriminationByMVA3MediumElectronRejection'), - # againstElectronTightMVA3 = cms.InputTag('hpsPFTauDiscriminationByMVA3TightElectronRejection'), - # againstElectronVTightMVA3 = cms.InputTag('hpsPFTauDiscriminationByMVA3VTightElectronRejection'), - againstMuonLoose2 = cms.InputTag('hpsPFTauDiscriminationByLooseMuonRejection2'), - againstMuonMedium2 = cms.InputTag('hpsPFTauDiscriminationByMediumMuonRejection2'), - againstMuonTight2 = cms.InputTag('hpsPFTauDiscriminationByTightMuonRejection2'), - # NEW - againstElectronMVA5category = cms.InputTag('hpsPFTauDiscriminationByMVA5rawElectronRejection:category'), - againstElectronLooseMVA5 = cms.InputTag('hpsPFTauDiscriminationByMVA5LooseElectronRejection'), - againstElectronMediumMVA5 = cms.InputTag('hpsPFTauDiscriminationByMVA5MediumElectronRejection'), - againstElectronTightMVA5 = cms.InputTag('hpsPFTauDiscriminationByMVA5TightElectronRejection'), - againstElectronVTightMVA5 = cms.InputTag('hpsPFTauDiscriminationByMVA5VTightElectronRejection'), - - againstMuonLoose3 = cms.InputTag('hpsPFTauDiscriminationByLooseMuonRejection3'), - againstMuonTight3 = cms.InputTag('hpsPFTauDiscriminationByTightMuonRejection3'), - - againstMuonMVALoose = cms.InputTag('hpsPFTauDiscriminationByMVALooseMuonRejection'), - againstMuonMVAMedium = cms.InputTag('hpsPFTauDiscriminationByMVAMediumMuonRejection'), - againstMuonMVATight = cms.InputTag('hpsPFTauDiscriminationByMVATightMuonRejection'), - againstMuonMVARaw = cms.InputTag('hpsPFTauDiscriminationByMVArawMuonRejection'), - - byIsolationMVA3oldDMwoLTraw = cms.InputTag('hpsPFTauDiscriminationByIsolationMVA3oldDMwoLTraw'), - byLooseIsolationMVA3oldDMwoLT = cms.InputTag('hpsPFTauDiscriminationByLooseIsolationMVA3oldDMwoLT'), - byMediumIsolationMVA3oldDMwoLT = cms.InputTag('hpsPFTauDiscriminationByMediumIsolationMVA3oldDMwoLT'), - byTightIsolationMVA3oldDMwoLT = cms.InputTag('hpsPFTauDiscriminationByTightIsolationMVA3oldDMwoLT'), - byVTightIsolationMVA3oldDMwoLT = cms.InputTag('hpsPFTauDiscriminationByVTightIsolationMVA3oldDMwoLT'), - byVVTightIsolationMVA3oldDMwoLT = cms.InputTag('hpsPFTauDiscriminationByVVTightIsolationMVA3oldDMwoLT'), - - byIsolationMVA3oldDMwLTraw = cms.InputTag('hpsPFTauDiscriminationByIsolationMVA3oldDMwoLTraw'), - byLooseIsolationMVA3oldDMwLT = cms.InputTag('hpsPFTauDiscriminationByLooseIsolationMVA3oldDMwLT'), - byMediumIsolationMVA3oldDMwLT = cms.InputTag('hpsPFTauDiscriminationByMediumIsolationMVA3oldDMwLT'), - byTightIsolationMVA3oldDMwLT = cms.InputTag('hpsPFTauDiscriminationByTightIsolationMVA3oldDMwLT'), - byVTightIsolationMVA3oldDMwLT = cms.InputTag('hpsPFTauDiscriminationByVTightIsolationMVA3oldDMwLT'), - byVVTightIsolationMVA3oldDMwLT = cms.InputTag('hpsPFTauDiscriminationByVVTightIsolationMVA3oldDMwLT'), - - byIsolationMVA3newDMwoLTraw = cms.InputTag('hpsPFTauDiscriminationByIsolationMVA3newDMwoLTraw'), - byLooseIsolationMVA3newDMwoLT = cms.InputTag('hpsPFTauDiscriminationByLooseIsolationMVA3newDMwoLT'), - byMediumIsolationMVA3newDMwoLT = cms.InputTag('hpsPFTauDiscriminationByMediumIsolationMVA3newDMwoLT'), - byTightIsolationMVA3newDMwoLT = cms.InputTag('hpsPFTauDiscriminationByTightIsolationMVA3newDMwoLT'), - byVTightIsolationMVA3newDMwoLT = cms.InputTag('hpsPFTauDiscriminationByVTightIsolationMVA3newDMwoLT'), - byVVTightIsolationMVA3newDMwoLT = cms.InputTag('hpsPFTauDiscriminationByVVTightIsolationMVA3newDMwoLT'), - - byIsolationMVA3newDMwLTraw = cms.InputTag('hpsPFTauDiscriminationByIsolationMVA3newDMwLTraw'), - byLooseIsolationMVA3newDMwLT = cms.InputTag('hpsPFTauDiscriminationByLooseIsolationMVA3newDMwLT'), - byMediumIsolationMVA3newDMwLT = cms.InputTag('hpsPFTauDiscriminationByMediumIsolationMVA3newDMwLT'), - byTightIsolationMVA3newDMwLT = cms.InputTag('hpsPFTauDiscriminationByTightIsolationMVA3newDMwLT'), - byVTightIsolationMVA3newDMwLT = cms.InputTag('hpsPFTauDiscriminationByVTightIsolationMVA3newDMwLT'), - byVVTightIsolationMVA3newDMwLT = cms.InputTag('hpsPFTauDiscriminationByVVTightIsolationMVA3newDMwLT'), - ) - - -# if isNewerThan('CMSSW_5_3_5'): -# deactivated until we have a 2011 tau id recipe -if 1: - tauIDs = dict( tauIDs.items() + tauIDsNew.items() ) - -patTaus.tauIDSources = cms.PSet( - # configure many IDs as InputTag = - # you can comment out those you don't want to save some - # disk space - **tauIDs - ) - - -patTaus.embedLeadTrack = True -patTaus.embedSignalTracks = True -patTaus.embedIsolationTracks = True - -patTaus.embedLeadPFCand = False -patTaus.embedLeadPFChargedHadrCand = False -patTaus.embedLeadPFNeutralCand = False -patTaus.embedSignalPFCands = False -patTaus.embedSignalPFChargedHadrCands = False -patTaus.embedSignalPFNeutralHadrCands = False -patTaus.embedSignalPFGammaCands = False -patTaus.embedIsolationPFCands = False -patTaus.embedIsolationPFChargedHadrCands = False -patTaus.embedIsolationPFNeutralHadrCands = False -patTaus.embedIsolationPFGammaCands = False - -# need to deal with tau matching -patTaus.addGenJetMatch = True -patTaus.addGenMatch = True - -# for simplicity, now selecting at the end. check if this ok in terms of speed -selectedPatTaus.cut = 'pt()>15 && tauID("decayModeFinding")' - -PATTauSequence = cms.Sequence( - # add jet selection - pfJetsForHPSTau + - PFTau + - makePatTaus + - selectedPatTaus - ) - diff --git a/CMGTools/Common/python/PAT/PATTrigger_cff.py b/CMGTools/Common/python/PAT/PATTrigger_cff.py deleted file mode 100644 index 367b30efa97c..000000000000 --- a/CMGTools/Common/python/PAT/PATTrigger_cff.py +++ /dev/null @@ -1,10 +0,0 @@ - -# from L1Trigger.Configuration.L1RawToDigi_cff import * -from PhysicsTools.PatAlgos.triggerLayer1.triggerProducer_cff import * -patTrigger.processName = cms.string('*') -from CMGTools.Common.trigger_cff import * - -PATTriggerSequence = cms.Sequence( - patTrigger -* patTriggerEvent -) diff --git a/CMGTools/Common/python/PAT/addFilterPaths_cff.py b/CMGTools/Common/python/PAT/addFilterPaths_cff.py deleted file mode 100644 index ed3f2cba78bf..000000000000 --- a/CMGTools/Common/python/PAT/addFilterPaths_cff.py +++ /dev/null @@ -1,129 +0,0 @@ -import FWCore.ParameterSet.Config as cms -import sys -from CMGTools.Common.Tools.cmsswRelease import isNewerThan - -#in this file, we run the various filters and store the results -# lucie - 26 / 07 / 2013, checked against https://twiki.cern.ch/twiki/bin/view/CMS/MissingETOptionalFilters rev 62 - -## -# Non-MET related -## - -#some standard filters not related to MET -primaryVertexFilter = cms.EDFilter( - "VertexSelector", - src = cms.InputTag("offlinePrimaryVertices"), - cut = cms.string("!isFake && ndof > 4 && abs(z) <= 24 && position.Rho <= 2"), - filter = cms.bool(True) - ) -primaryVertexFilterPath = cms.Path(primaryVertexFilter) - -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) - ) -noscrapingFilterPath = cms.Path(noscraping) - -#catches events with a bug in the Madgraph config -from GeneratorInterface.GenFilters.TotalKinematicsFilter_cfi import totalKinematicsFilter -totalKinematicsFilterPath = cms.Path(totalKinematicsFilter) - -#this is an isolated track veto - see AN2012-379 for details -from CMGTools.Common.miscProducers.trackIsolationMaker_cfi import trackIsolationMaker - -trackIsolationFilter = cms.EDFilter( - "TrackIsolationFilter", - pfcands_trkiso = cms.InputTag('trackIsolationMaker','pfcandstrkiso','PAT'), - pfcands_pt = cms.InputTag('trackIsolationMaker','pfcandspt','PAT'), - pfcands_chg = cms.InputTag('trackIsolationMaker','pfcandschg','PAT'), - pt_cut = cms.double(10.0), - relIso_cut = cms.double(0.1) - ) - -trackIsolationMakerSequence = cms.Sequence(trackIsolationMaker*trackIsolationFilter) -trackIsolationMakerFilterPath = cms.Path(trackIsolationMakerSequence) - -## -# MET related -## - -#these filters are from this page: https://twiki.cern.ch/twiki/bin/view/CMS/MissingETOptionalFilters - -#from the RecoMET package - -## The iso-based HBHE noise filter -from CommonTools.RecoAlgos.HBHENoiseFilter_cfi import HBHENoiseFilter -HBHENoiseFilterPath = cms.Path(HBHENoiseFilter) - -## The CSC beam halo tight filter -from RecoMET.METFilters.CSCTightHaloFilter_cfi import CSCTightHaloFilter -CSCTightHaloFilterPath = cms.Path(CSCTightHaloFilter) - -## The HCAL laser filter -from EventFilter.HcalRawToDigi.hcallasereventfilter2012_cfi import hcallasereventfilter2012 -hcalLaserEventFilterPath = cms.Path(hcallasereventfilter2012) - -## The ECAL dead cell trigger primitive filter -from RecoMET.METFilters.EcalDeadCellTriggerPrimitiveFilter_cfi import EcalDeadCellTriggerPrimitiveFilter -## For AOD and RECO recommendation to use recovered rechits -EcalDeadCellTriggerPrimitiveFilter.tpDigiCollection = cms.InputTag("ecalTPSkimNA") -EcalDeadCellTriggerPrimitiveFilterPath = cms.Path(EcalDeadCellTriggerPrimitiveFilter) - -from RecoMET.METFilters.EcalDeadCellBoundaryEnergyFilter_cfi import EcalDeadCellBoundaryEnergyFilter -EcalDeadCellBoundaryEnergyFilterPath = cms.Path(EcalDeadCellBoundaryEnergyFilter) - - -## The Good vertices collection needed by the tracking failure filter -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 -from RecoMET.METFilters.trackingFailureFilter_cfi import trackingFailureFilter -trackingFailureFilter.VertexSource = "goodVertices" -trackingFailureFilter.JetSource = 'ak5PFJets' -trackingFailureSequence = cms.Sequence(goodVertices*trackingFailureFilter) -trackingFailureFilterPath = cms.Path(trackingFailureSequence) - -metNoiseCleaning = cms.Sequence(primaryVertexFilter+ - noscraping+ - CSCTightHaloFilter+ - HBHENoiseFilter+ - hcallasereventfilter2012 + - EcalDeadCellTriggerPrimitiveFilter+ - trackingFailureSequence - # eeBadScSequence+ - # ecalLaserCorrSequence - ) - -metNoiseCleaningPath = cms.Path(metNoiseCleaning) - -if isNewerThan('CMSSW_5_2_0'): - #the ee bad sc filter is only available in 5X - ## Bad EE Supercrystal filter - from RecoMET.METFilters.eeBadScFilter_cfi import eeBadScFilter - eeBadScFilterPath = cms.Path(eeBadScFilter) - metNoiseCleaning += eeBadScFilter - ## EB or EE Xtals with large laser calibration correction - from RecoMET.METFilters.ecalLaserCorrFilter_cfi import ecalLaserCorrFilter - ecalLaserFilterPath = cms.Path(ecalLaserCorrFilter) - metNoiseCleaning += ecalLaserCorrFilter -else: - print >> sys.stderr, 'hcalLaserFilterFromAOD, eeBadScFilter and ecalLaserFilter only available in releases >= 5.2' - -if isNewerThan('CMSSW_5_3_0'): - #the tracking PoG filters only work in 53 - from RecoMET.METFilters.trackingPOGFilters_cfi import * - trkPOGFiltersSequence = cms.Sequence(~manystripclus53X * ~toomanystripclus53X * ~logErrorTooManyClusters) - trkPOGFiltersPath = cms.Path(trkPOGFiltersSequence) - from EventFilter.HcalRawToDigi.hcallaserFilterFromTriggerResult_cff import hcalfilter # for re-reco and parked - metNoiseCleaning += hcalfilter - hcalLaserEventFilterPath += hcalfilter -else: - print >> sys.stderr, 'trkPOGFilters only available in releases >= 5.3' diff --git a/CMGTools/Common/python/PAT/addLeptCustomIsoDeposit_cff.py b/CMGTools/Common/python/PAT/addLeptCustomIsoDeposit_cff.py deleted file mode 100644 index 0e96750ace15..000000000000 --- a/CMGTools/Common/python/PAT/addLeptCustomIsoDeposit_cff.py +++ /dev/null @@ -1,81 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -electronUserIsolation = cms.PSet( - user = cms.VPSet( - cms.PSet( src = cms.InputTag("eleIsoFromDepsTkOptimized5") ), - cms.PSet( src = cms.InputTag("eleIsoFromDepsTkOptimized7") ), - ) -) - -# For this to work, we need to fix PATElectronProducer.cc -# electronUserIsolation = cms.PSet( -# user = cms.VInputTag( -# cms.InputTag("eleIsoFromDepsTkOptimized5"), -# cms.InputTag("eleIsoFromDepsTkOptimized7"), -# ) -# ) - -muonUserIsolation = cms.PSet( - user = cms.VInputTag( - cms.InputTag("muIsoFromDepsTkOptimized") - ) -) - -def addElectronCustomIsoDeposit( process, sequenceName, postfix ): - """ - Adds custom isoDeposit to the PAT electron - """ - - userIso = getattr(process, "patElectrons" + postfix).userIsolation - if not userIso.hasParameter('user') : userIso.user = electronUserIsolation.user - else : userIso.user += electronUserIsolation.user - -# See comment above -# isoValues = getattr(process, "patElectrons" + postfix).isolationValues -# if not isoValues.hasParameter('user') : isoValues.user = electronUserIsolation.user -# else : isoValues.user += electronUserIsolation.user - -# print userIso ### - - userIsoD = getattr(process, "patElectrons" + postfix).isoDeposits - userIsoD.tracker = cms.InputTag("eleIsoDepositTk") -# userIsoD.ecal = cms.InputTag("eleIsoDepositEcalFromHits") -# userIsoD.hcal = cms.InputTag("eleIsoDepositHcalFromTowers") -# print userIsoD ### - - process.load('CMGTools.Common.PAT.patLeptModifiedIsoDeposit_cff') - - getattr(process, sequenceName + postfix).replace( - getattr(process, "patElectrons" + postfix), - process.detElectronIsoDepositSequence + getattr(process, "patElectrons" + postfix) - ) - -def addMuonCustomIsoDeposit( process, sequenceName, postfix ): - """ - Adds custom isoDeposit to the PAT muons - """ - - isoValues = getattr(process, "patMuons" + postfix).isolationValues - if not isoValues.hasParameter('user') : isoValues.user = muonUserIsolation.user - else : isoValues.user += muonUserIsolation.user -# print userIso ### - - userIsoD = getattr(process, "patMuons" + postfix).isoDeposits - userIsoD.tracker = cms.InputTag("muons","muIsoDepositTk") - userIsoD.ecal = cms.InputTag("muons","ecal") - userIsoD.hcal = cms.InputTag("muons","hcal") -## Example of adding user iso -# if not userIsoD.hasParameter('user') : userIsoD.user = muonIsoDeposits.user -# else : userIsoD.user += muonIsoDeposits.user -# print userIsoD ### - - - process.load('CMGTools.Common.PAT.patLeptModifiedIsoDeposit_cff') - - getattr(process, sequenceName + postfix).replace( - getattr(process, "patMuons" + postfix), - process.detMuonIsoDepositSequence + getattr(process, "patMuons" + postfix) - ) - - - diff --git a/CMGTools/Common/python/PAT/addMETSignificance_cff.py b/CMGTools/Common/python/PAT/addMETSignificance_cff.py deleted file mode 100644 index 74288e6660a1..000000000000 --- a/CMGTools/Common/python/PAT/addMETSignificance_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -def addMETSig( process , postfix ): - print "adding PFMET significance calculation to patDefaultSequence"+postfix - process.load('CMGTools.Common.miscProducers.metSignificance_cfi') - #remove the default muon and electron collections to work with AK5,AK7 as well, but need to reconfigure AK5LC because it is a clone of AK5 - process.metSignificance.inputPATElectrons = cms.InputTag('') - process.metSignificance.inputPATMuons = cms.InputTag('') - process.metSignificance.inputPFJets = cms.InputTag('pfJets'+postfix) - process.metSignificance.inputPFCandidates = cms.InputTag('pfNoJet'+postfix) - setattr(process,"PFMETSignificance"+postfix, process.metSignificance.clone()) - getattr(process,"patDefaultSequence"+postfix).insert(getattr(process,"patDefaultSequence"+postfix).index(getattr(process,"patMETs"+postfix)),getattr(process,"PFMETSignificance"+postfix)) diff --git a/CMGTools/Common/python/PAT/addMITElectronID.py b/CMGTools/Common/python/PAT/addMITElectronID.py deleted file mode 100644 index f54654f23c3e..000000000000 --- a/CMGTools/Common/python/PAT/addMITElectronID.py +++ /dev/null @@ -1,39 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.miscProducers.cmgPatElectronProducer_cfi import cmgPatElectronProducer - -def getattrGenerator( process, postfix ): - def fun(name): - return getattr(process, name+postfix) - return fun - - -def addMITElectronID( process, patModuleName, seq, postfix ): - '''Adds MIT electron ID to the PAT electrons - - patModuleName: e.g. selectedPatElectrons - postfix: e.g. AK5 - if you want to add the MIT ID to selectedPatElectronsAK5. - - seq is the sequence in which the manipulation is going to take place - ''' - ga = getattrGenerator( process, postfix ) - - newSeq = cms.Sequence() - setattr(process, patModuleName+postfix+"WithMITID", newSeq) - ga( seq ).replace(ga(patModuleName), newSeq) - - # clones patModuleNamepostfix into prepatModuleNamepostfix - # this module is the new pat electron selector - premodname = ''.join(['pre', patModuleName, postfix]) - setattr( process, premodname, - ga(patModuleName).clone() ) - - # adds a pat electron producer module just after the new pat electron selector - # this pat electron producer: - # - has the same name as the old pat electron selector - # - takes a collection of pat electrons. for each of them, create an identical pat - # electron, except that this new electron contains the MIT ID. - setattr( process, ''.join([patModuleName, postfix]), - cmgPatElectronProducer.clone(src=premodname) ) - - newSeq += ga('pre'+patModuleName) + ga(patModuleName) diff --git a/CMGTools/Common/python/PAT/addPATElectronID_cff.py b/CMGTools/Common/python/PAT/addPATElectronID_cff.py deleted file mode 100644 index 7c19cbfe28d3..000000000000 --- a/CMGTools/Common/python/PAT/addPATElectronID_cff.py +++ /dev/null @@ -1,36 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -def addPATElectronID( process, sequenceName, postfix ): - """ - Adds electron ID working points to PAT electrons - """ - getattr(process, "patElectrons" + postfix).addElectronID = cms.bool(True) - - from CMGTools.Common.PAT.electronIDs_cfi import electronIDs - getattr(process, "patElectrons" + postfix).electronIDSources = electronIDs.clone() - - process.load('CMGTools.Common.PAT.patElectronID_cff') - -## getattr(process, "makePatElectrons" + postfix).replace( -## getattr(process, "patElectrons" + postfix), -## process.patElectronIDSequence + getattr(process, "patElectrons" + postfix) -## ) - - getattr(process, sequenceName + postfix).replace( - getattr(process, "patElectrons" + postfix), - process.patElectronIDSequence + getattr(process, "patElectrons" + postfix) - ) - - -## if runOnMC : -## getattr(process, "makePatElectrons" + postfix).replace( -## getattr(process, "electronMatch" + postfix), -## process.patElectronIDSequence + getattr(process, "electronMatch" + postfix) -## ) - -## else : -## getattr(process, "patPF2PATSequence" + postfix ).replace( -## getattr(process, "patDefaultSequence" + postfix), -## process.patElectronIDSequence + getattr(process, "patDefaultSequence" + postfix) -## ) - diff --git a/CMGTools/Common/python/PAT/addStdLeptons.py b/CMGTools/Common/python/PAT/addStdLeptons.py deleted file mode 100644 index d0357bb81fcd..000000000000 --- a/CMGTools/Common/python/PAT/addStdLeptons.py +++ /dev/null @@ -1,91 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet - - -def getattrGenerator( process, postfix ): - def fun(name): - return getattr(process, name+postfix) - return fun - - -def addCmgMuons( process, postfix, inputTag ): - ganew = getattrGenerator( process, postfix ) - cloneProcessingSnippet(process, process.muonSequence, postfix) - ganew('cmgMuon').cfg.inputCollection = inputTag - return ganew( 'muonSequence' ) - - -def addCmgElectrons( process, postfix, inputTag ): - ganew = getattrGenerator( process, postfix ) - cloneProcessingSnippet(process, process.electronSequence, postfix) - ganew('cmgElectron').cfg.inputCollection = inputTag - return ganew( 'electronSequence' ) - - - -## def addStdMuons( process, postfix, newpostfix, cut, runOnMC): - -## fullpostfix = postfix+newpostfix -## ga = getattrGenerator( process, postfix ) -## ganew = getattrGenerator( process, fullpostfix ) - -## muonSeq = cms.Sequence( -## ga( 'pfMuonIsolationSequence' ) + -## ga( 'makePatMuons' ) + -## ga( 'selectedPatMuons' ) -## # + -## # addCmgMuons( process, newpostfix, 'selectedPatMuons'+fullpostfix ) -## ) -## setattr( process, 'stdMuonSequence'+postfix, muonSeq) - -## muonSource = 'muons' -## cloneProcessingSnippet(process, ga('stdMuonSequence'), newpostfix) - -## ganew("muPFIsoDepositCharged").src = muonSource -## ganew("muPFIsoDepositChargedAll").src = muonSource -## ganew("muPFIsoDepositNeutral").src = muonSource -## ganew("muPFIsoDepositGamma").src = muonSource -## ganew("muPFIsoDepositPU").src = muonSource -## ganew("patMuons").useParticleFlow = False -## ganew("selectedPatMuons").cut = cut -## if runOnMC: -## ganew("muonMatch").src = muonSource -## else: -## ganew('makePatMuons').remove( ganew("muonMatch") ) - -## return ganew( 'stdMuonSequence' ) - - - - -## def addStdElectrons(process, postfix, newpostfix, cut, runOnMC): - -## fullpostfix = postfix+newpostfix -## ga = getattrGenerator( process, postfix ) -## ganew = getattrGenerator( process, fullpostfix ) - -## electronSeq = cms.Sequence( -## ga('pfElectronIsolationSequence') + -## ga('makePatElectrons') + -## ga('selectedPatElectrons') -## ) -## setattr( process, 'stdElectronSequence'+postfix, electronSeq) - -## electronSource = 'gsfElectrons' -## cloneProcessingSnippet(process, ga('stdElectronSequence'), newpostfix) - -## ganew("elPFIsoDepositCharged").src = electronSource -## ganew("elPFIsoDepositChargedAll").src = electronSource -## ganew("elPFIsoDepositNeutral").src = electronSource -## ganew("elPFIsoDepositGamma").src = electronSource -## ganew("elPFIsoDepositPU").src = electronSource -## ganew("patElectrons").useParticleFlow = False -## ganew("selectedPatElectrons").cut = cut -## if runOnMC: -## ganew("electronMatch").src = electronSource -## else: -## ganew('makePatElectrons').remove( ganew("electronMatch") ) - -## return ganew('stdElectronSequence') - diff --git a/CMGTools/Common/python/PAT/electronIDs_cfi.py b/CMGTools/Common/python/PAT/electronIDs_cfi.py deleted file mode 100644 index e39c3e389b23..000000000000 --- a/CMGTools/Common/python/PAT/electronIDs_cfi.py +++ /dev/null @@ -1,21 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -electronIDs = cms.PSet( - #SimpleCutsBasedEleID - simpleEleId95relIso= cms.InputTag("simpleEleId95relIso"), - simpleEleId90relIso= cms.InputTag("simpleEleId90relIso"), - simpleEleId85relIso= cms.InputTag("simpleEleId85relIso"), - simpleEleId80relIso= cms.InputTag("simpleEleId80relIso"), - simpleEleId70relIso= cms.InputTag("simpleEleId70relIso"), - simpleEleId60relIso= cms.InputTag("simpleEleId60relIso"), - #Cuts in Categories (CiC) -non exhaustive (5 flavors here, up to 9 available) - eidVeryLoose = cms.InputTag("eidVeryLoose"), - eidLoose = cms.InputTag("eidLoose"), - eidMedium = cms.InputTag("eidMedium"), - eidTight = cms.InputTag("eidTight"), - eidSuperTight = cms.InputTag("eidSuperTight"), - #MVA - mvaTrigV0 = cms.InputTag("mvaTrigV0"), - mvaNonTrigV0 = cms.InputTag("mvaNonTrigV0"), - ) - diff --git a/CMGTools/Common/python/PAT/jetSubstructure_cff.py b/CMGTools/Common/python/PAT/jetSubstructure_cff.py deleted file mode 100644 index 2a3ea09e0956..000000000000 --- a/CMGTools/Common/python/PAT/jetSubstructure_cff.py +++ /dev/null @@ -1,175 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.Tools.cmsswRelease import isNewerThan - -if isNewerThan('CMSSW_5_2_0'): - # JETS PRUNED ---------------------------- - - # for jet substructure you need extra tags in 4XX and 52X: - # for 4XX: - # scram setup $CMS_PATH/slc5_amd64_gcc434/external/fastjet-toolfile/1.0-cms7/etc/scram.d/fastjet.xml - # addpkg RecoJets/JetAlgorithms V04-04-00 - # addpkg RecoJets/JetProducers V05-10-02 - # for 52X: - # addpkg RecoJets/JetProducers V05-10-02 - - from RecoJets.JetProducers.ak5PFJetsPruned_cfi import ak5PFJetsPruned - ak5PFJetsCHSpruned = ak5PFJetsPruned.clone( - src = 'pfNoPileUp', - jetPtMin = cms.double(10.0), - doAreaFastjet = cms.bool(True) - ) - - jetSource = 'ak5PFJetsCHSpruned' - - # corrections - from PhysicsTools.PatAlgos.recoLayer0.jetCorrFactors_cfi import * - patJetCorrFactorsCHSpruned = patJetCorrFactors.clone() - patJetCorrFactorsCHSpruned.src = jetSource - # will need to add L2L3 corrections in the cfg - patJetCorrFactorsCHSpruned.levels = ['L1FastJet', 'L2Relative', 'L3Absolute'] - patJetCorrFactorsCHSpruned.payload = 'AK5PFchs' - patJetCorrFactorsCHSpruned.useRho = True - - # parton and gen jet matching - - from PhysicsTools.PatAlgos.mcMatchLayer0.jetMatch_cfi import * - patJetPartonMatchCHSpruned = patJetPartonMatch.clone() - patJetPartonMatchCHSpruned.src = jetSource - patJetGenJetMatchCHSpruned = patJetGenJetMatch.clone() - patJetGenJetMatchCHSpruned.src = jetSource - patJetGenJetMatchCHSpruned.matched = 'ak5GenJetsNoNu' - - from PhysicsTools.PatAlgos.mcMatchLayer0.jetFlavourId_cff import * - patJetPartonAssociationCHSpruned = patJetPartonAssociation.clone() - patJetPartonAssociationCHSpruned.jets = jetSource - - # pat jets - - from PhysicsTools.PatAlgos.producersLayer1.jetProducer_cfi import * - patJetsCHSpruned = patJets.clone() - patJetsCHSpruned.jetSource = jetSource - patJetsCHSpruned.addJetCharge = False - patJetsCHSpruned.embedCaloTowers = False - patJetsCHSpruned.embedPFCandidates = False - patJetsCHSpruned.addAssociatedTracks = False - patJetsCHSpruned.addBTagInfo = False - patJetsCHSpruned.addDiscriminators = False - patJetsCHSpruned.getJetMCFlavour = False - patJetsCHSpruned.jetCorrFactorsSource = cms.VInputTag(cms.InputTag('patJetCorrFactorsCHSpruned')) - patJetsCHSpruned.genPartonMatch = cms.InputTag('patJetPartonMatchCHSpruned') - patJetsCHSpruned.genJetMatch = cms.InputTag('patJetGenJetMatchCHSpruned') - - from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import * - selectedPatJetsCHSpruned = selectedPatJets.clone() - selectedPatJetsCHSpruned.src = 'patJetsCHSpruned' - selectedPatJetsCHSpruned.cut = 'pt()>10' - - jetMCSequenceCHSpruned = cms.Sequence( - patJetPartonMatchCHSpruned + - patJetGenJetMatchCHSpruned - ) - - from CMGTools.Common.factories.cmgStructuredPFJet_cfi import cmgStructuredPFJet - from CMGTools.Common.skims.cmgStructuredPFJetSel_cfi import cmgStructuredPFJetSel - - pfStructuredJetSequence = cms.Sequence( - cmgStructuredPFJet + - cmgStructuredPFJetSel - ) - - PATCMGJetSequenceCHSpruned = cms.Sequence( - ak5PFJetsCHSpruned + - jetMCSequenceCHSpruned + - patJetCorrFactorsCHSpruned + - patJetsCHSpruned + - selectedPatJetsCHSpruned + - pfStructuredJetSequence - ) - - - - # JETS PRUNED AK8 ---------------------------- - - from RecoJets.JetProducers.ak5PFJetsPruned_cfi import ak5PFJetsPruned - ak8PFJetsCHSpruned = ak5PFJetsPruned.clone( - src = 'pfNoPileUp', - jetPtMin = cms.double(10.0), - doAreaFastjet = cms.bool(True), - rParam = cms.double(0.8), - ) - - jetSource = 'ak8PFJetsCHSpruned' - - # corrections - from PhysicsTools.PatAlgos.recoLayer0.jetCorrFactors_cfi import * - patJetCorrFactorsAK8CHSpruned = patJetCorrFactors.clone() - patJetCorrFactorsAK8CHSpruned.src = jetSource - # will need to add L2L3 corrections in the cfg - patJetCorrFactorsAK8CHSpruned.levels = ['L1FastJet', 'L2Relative', 'L3Absolute'] - patJetCorrFactorsAK8CHSpruned.payload = 'AK8PFchs' - patJetCorrFactorsAK8CHSpruned.useRho = True - - # parton and gen jet matching - - from PhysicsTools.PatAlgos.mcMatchLayer0.jetMatch_cfi import * - patJetPartonMatchAK8CHSpruned = patJetPartonMatch.clone() - patJetPartonMatchAK8CHSpruned.src = jetSource - patJetGenJetMatchAK8CHSpruned = patJetGenJetMatch.clone() - patJetGenJetMatchAK8CHSpruned.src = jetSource - patJetGenJetMatchAK8CHSpruned.matched = 'ak8GenJetsNoNu' - - from PhysicsTools.PatAlgos.mcMatchLayer0.jetFlavourId_cff import * - patJetPartonAssociationAK8CHSpruned = patJetPartonAssociation.clone() - patJetPartonAssociationAK8CHSpruned.jets = jetSource - - # pat jets - - from PhysicsTools.PatAlgos.producersLayer1.jetProducer_cfi import * - patJetsAK8CHSpruned = patJets.clone() - patJetsAK8CHSpruned.jetSource = jetSource - patJetsAK8CHSpruned.addJetCharge = False - patJetsAK8CHSpruned.embedCaloTowers = False - patJetsAK8CHSpruned.embedPFCandidates = False - patJetsAK8CHSpruned.addAssociatedTracks = False - patJetsAK8CHSpruned.addBTagInfo = False - patJetsAK8CHSpruned.addDiscriminators = False - patJetsAK8CHSpruned.getJetMCFlavour = False - patJetsAK8CHSpruned.jetCorrFactorsSource = cms.VInputTag(cms.InputTag('patJetCorrFactorsAK8CHSpruned')) - patJetsAK8CHSpruned.genPartonMatch = cms.InputTag('patJetPartonMatchAK8CHSpruned') - patJetsAK8CHSpruned.genJetMatch = cms.InputTag('patJetGenJetMatchAK8CHSpruned') - - from PhysicsTools.PatAlgos.selectionLayer1.jetSelector_cfi import * - selectedPatJetsAK8CHSpruned = selectedPatJets.clone() - selectedPatJetsAK8CHSpruned.src = 'patJetsAK8CHSpruned' - selectedPatJetsAK8CHSpruned.cut = 'pt()>10' - - from RecoJets.Configuration.RecoGenJets_cff import ak8GenJetsNoNu - jetMCSequenceAK8CHSpruned = cms.Sequence( - patJetPartonMatchAK8CHSpruned + - ak8GenJetsNoNu + - patJetGenJetMatchAK8CHSpruned - ) - - from CMGTools.Common.factories.cmgStructuredPFJet_cfi import cmgStructuredPFJet - from CMGTools.Common.skims.cmgStructuredPFJetSel_cfi import cmgStructuredPFJetSel - - cmgStructuredPFJetAK8 = cmgStructuredPFJet.clone() - cmgStructuredPFJetAK8.cfg.inputCollection = cms.InputTag("selectedPatJetsAK8CHSpruned") - cmgStructuredPFJetAK8.cfg.subjetCollection = cms.InputTag("ak8PFJetsCHSpruned:SubJets") - cmgStructuredPFJetAK8Sel = cmgStructuredPFJetSel.clone() - cmgStructuredPFJetAK8Sel.src = cms.InputTag("cmgStructuredPFJetAK8") - - pfStructuredJetAK8Sequence = cms.Sequence( - cmgStructuredPFJetAK8 + - cmgStructuredPFJetAK8Sel - ) - - PATCMGJetSequenceAK8CHSpruned = cms.Sequence( - ak8PFJetsCHSpruned + - jetMCSequenceAK8CHSpruned + - patJetCorrFactorsAK8CHSpruned + - patJetsAK8CHSpruned + - selectedPatJetsAK8CHSpruned + - pfStructuredJetAK8Sequence - ) diff --git a/CMGTools/Common/python/PAT/patCMGEventContent_cff.py b/CMGTools/Common/python/PAT/patCMGEventContent_cff.py deleted file mode 100644 index 853277dd75cd..000000000000 --- a/CMGTools/Common/python/PAT/patCMGEventContent_cff.py +++ /dev/null @@ -1,24 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -patCMGEventContent = cms.untracked.vstring( -# 'keep recoPFCandidates_particleFlow_*_*', - # Gen information -# 'keep *_genParticles_*_*', -# 'keep *_generator_*_*', -# 'keep *_genMetTrue_*_*', -# 'keep recoGenJets_ak5GenJets_*_*', - #Counters - 'keep *_MEtoEDMConverter_*_*', - 'keep GenRunInfoProduct_*_*_*', - # Vertex info - 'keep recoVertexs_*_*_*', - #'keep *_generalTracks_*_*', - 'keep recoBeamSpot_*_*_*', - # Trigger - 'keep L1GlobalTriggerObjectMapRecord_*_*_*', - 'keep *_TriggerResults_*_*', - 'keep *_hltTriggerSummaryAOD_*_*', - # PU JetID - "keep *_puJetId_*_*", # input variables - "keep *_puJetMva_*_*" # final MVAs and working point flags - ) diff --git a/CMGTools/Common/python/PAT/patCMGSchedule_cff.py b/CMGTools/Common/python/PAT/patCMGSchedule_cff.py deleted file mode 100644 index ccb7c5d14224..000000000000 --- a/CMGTools/Common/python/PAT/patCMGSchedule_cff.py +++ /dev/null @@ -1,35 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.Tools.cmsswRelease import * - -#this one -def getSchedule(process, runOnMC, runOnFastSim): - - result = cms.Schedule( - process.p, - process.EcalDeadCellTriggerPrimitiveFilterPath, - process.EcalDeadCellBoundaryEnergyFilterPath, - process.hcalLaserEventFilterPath, - process.trackingFailureFilterPath, - process.primaryVertexFilterPath, - process.noscrapingFilterPath, - process.trackIsolationMakerFilterPath, - process.metNoiseCleaningPath - ) - - if isNewerThan('CMSSW_5_2_0'): - result.append( process.eeBadScFilterPath ) - if isNewerThan('CMSSW_5_3_0'): - result.append( process.ecalLaserFilterPath ) - if not runOnMC: - result.append( process.trkPOGFiltersPath ) - - if runOnMC: - result.append(process.totalKinematicsFilterPath) - if not( runOnFastSim ): - result.append(process.CSCTightHaloFilterPath) - result.append(process.HBHENoiseFilterPath) - else: - process.metNoiseCleaningPath.remove(process.CSCTightHaloFilter) - process.metNoiseCleaningPath.remove(process.HBHENoiseFilter) - return result - diff --git a/CMGTools/Common/python/PAT/patConversions_cfi.py b/CMGTools/Common/python/PAT/patConversions_cfi.py deleted file mode 100644 index 358536873953..000000000000 --- a/CMGTools/Common/python/PAT/patConversions_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# conversions (might use it later) -patConversions = cms.EDProducer( - "PATConversionProducer", - # input collection - electronSource = cms.InputTag("patElectronsWithTrigger") - # 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. , - ) diff --git a/CMGTools/Common/python/PAT/patElectronID_cff.py b/CMGTools/Common/python/PAT/patElectronID_cff.py deleted file mode 100644 index cc88ba4ed595..000000000000 --- a/CMGTools/Common/python/PAT/patElectronID_cff.py +++ /dev/null @@ -1,29 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from EgammaAnalysis.ElectronTools.electronIdMVAProducer_cfi import * - -from ElectroWeakAnalysis.WENu.simpleEleIdSequence_cff import * - -from RecoEgamma.ElectronIdentification.cutsInCategoriesElectronIdentificationV06_DataTuning_cfi import * - -##CGIT -mvaIDSequence = cms.Sequence( - mvaTrigV0 + - mvaNonTrigV0 - ) - -electronIDSequence = cms.Sequence( - eidVeryLoose + - eidLoose + - eidMedium + - eidTight + - eidSuperTight - ) - -patElectronIDSequence = cms.Sequence( - mvaIDSequence + - simpleEleIdSequence + - electronIDSequence - ) - - diff --git a/CMGTools/Common/python/PAT/patElectronID_cff.py.~1.4.~ b/CMGTools/Common/python/PAT/patElectronID_cff.py.~1.4.~ deleted file mode 100644 index c481d194c6c8..000000000000 --- a/CMGTools/Common/python/PAT/patElectronID_cff.py.~1.4.~ +++ /dev/null @@ -1,28 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from EGamma.EGammaAnalysisTools.electronIdMVAProducer_cfi import * - -from ElectroWeakAnalysis.WENu.simpleEleIdSequence_cff import * - -from RecoEgamma.ElectronIdentification.cutsInCategoriesElectronIdentificationV06_DataTuning_cfi import * - -mvaIDSequence = cms.Sequence( - mvaTrigV0 + - mvaNonTrigV0 -) - -electronIDSequence = cms.Sequence( - eidVeryLoose + - eidLoose + - eidMedium + - eidTight + - eidSuperTight - ) - -patElectronIDSequence = cms.Sequence( - mvaIDSequence + - simpleEleIdSequence + - electronIDSequence - ) - - diff --git a/CMGTools/Common/python/PAT/patElectronsWithDirectionalIsolation_cfi.py b/CMGTools/Common/python/PAT/patElectronsWithDirectionalIsolation_cfi.py deleted file mode 100644 index 0d50eff15c2b..000000000000 --- a/CMGTools/Common/python/PAT/patElectronsWithDirectionalIsolation_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -patElectronsWithDirectionalIsolation = cms.EDProducer( - "DirectionalIsolationProducerElectron", - src = cms.InputTag('selectedPatElectrons'), - pfCands = cms.InputTag('pfNoPileUp'), - vertexCollection = cms.InputTag('goodOfflinePrimaryVertices') - ) diff --git a/CMGTools/Common/python/PAT/patElectronsWithMVA_cfi.py b/CMGTools/Common/python/PAT/patElectronsWithMVA_cfi.py deleted file mode 100644 index 67bce142d387..000000000000 --- a/CMGTools/Common/python/PAT/patElectronsWithMVA_cfi.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -patElectronsWithMVA = cms.EDProducer('PATElectronIsoMVAEmbedder', - src = cms.InputTag("selectedPatElectrons"), - srcRho = cms.InputTag("kt6PFJets","rho"), - srcPF = cms.InputTag("particleFlow"), - srcSelectedElectrons =cms.InputTag("selectedPatElectrons"), - # the sel muons collection is actually not removed by now - # just, PFcandidates which are muons are not considered - srcSelectedMuons =cms.InputTag("muons"), - srcVertices =cms.InputTag("offlinePrimaryVertices") - -) - -# patElectronsWithMVASequence = cms.Sequence( patElectronsWithMVA ) - diff --git a/CMGTools/Common/python/PAT/patElectronsWithRegressionVars_cfi.py b/CMGTools/Common/python/PAT/patElectronsWithRegressionVars_cfi.py deleted file mode 100644 index da1202b803e7..000000000000 --- a/CMGTools/Common/python/PAT/patElectronsWithRegressionVars_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -patElectronsWithRegressionVars = cms.EDProducer('PATElectronRegressionEmbedder', - electrons = cms.InputTag("patElectronsWithDirectionalIsolation"), -) - diff --git a/CMGTools/Common/python/PAT/patElectronsWithTrigger_cff.py b/CMGTools/Common/python/PAT/patElectronsWithTrigger_cff.py deleted file mode 100644 index 562cf6f6ca7f..000000000000 --- a/CMGTools/Common/python/PAT/patElectronsWithTrigger_cff.py +++ /dev/null @@ -1,56 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -eleTriggerMatchHLT = cms.EDProducer("PATTriggerMatcherDRDPtLessByR", - src = cms.InputTag( "patElectronsWithRegressionVars" ), - matched = cms.InputTag( "patTrigger" ), - andOr = cms.bool( False ), - matchedCuts = cms.string('dummy'), - maxDPtRel = cms.double( 0.5 ), - maxDeltaR = cms.double( 0.5 ), - resolveAmbiguities = cms.bool( True ), - resolveByMatchQuality = cms.bool( True ) -) - -eleTriggerMatchHLT1= eleTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltL1IsoRecoEcalCandidate")||coll("hltL1NonIsoRecoEcalCandidate")')) -eleTriggerMatchHLT2= eleTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltPixelMatchElectronsL1Iso")||coll("hltPixelMatchElectronsL1NonIso")')) -eleTriggerMatchHLT3= eleTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltPixelMatch3HitElectronsL1Iso")||coll("hltPixelMatch3HitElectronsL1NonIso")')) -eleTriggerMatchHLT4= eleTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltPixelMatchElectronsActivity")')) -eleTriggerMatchHLT5= eleTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltPixelMatch3HitElectronsActivity")')) -eleTriggerMatchHLT6= eleTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltRecoEcalSuperClusterActivityCandidate")')) -eleTriggerMatchHLT7= eleTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltL1SeededRecoEcalCandidate")')) -eleTriggerMatchHLT8= eleTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltPixelMatch3HitElectronsL1Seeded")')) -eleTriggerMatchHLT9= eleTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltPixelMatchElectronsL1Seeded")')) -eleTriggerMatchHLT10= eleTriggerMatchHLT.clone(matchedCuts = cms.string('coll("hltEle27WP80PixelMatchElectronsL1Seeded")')) - - - -## ==== Embed ==== -patElectronsWithTrigger = cms.EDProducer( "PATTriggerMatchElectronEmbedder", - src = cms.InputTag( "patElectronsWithRegressionVars" ), - matches = cms.VInputTag( cms.InputTag('eleTriggerMatchHLT1'), - cms.InputTag('eleTriggerMatchHLT2'), - cms.InputTag('eleTriggerMatchHLT3'), - cms.InputTag('eleTriggerMatchHLT4'), - cms.InputTag('eleTriggerMatchHLT5'), - cms.InputTag('eleTriggerMatchHLT6'), - cms.InputTag('eleTriggerMatchHLT7'), - cms.InputTag('eleTriggerMatchHLT8'), - cms.InputTag('eleTriggerMatchHLT9'), - cms.InputTag('eleTriggerMatchHLT10') ) -) - -patElectronsWithTriggerSequence = cms.Sequence( - eleTriggerMatchHLT1+ - eleTriggerMatchHLT2+ - eleTriggerMatchHLT3+ - eleTriggerMatchHLT4+ - eleTriggerMatchHLT5+ - eleTriggerMatchHLT6+ - eleTriggerMatchHLT7+ - eleTriggerMatchHLT8+ - eleTriggerMatchHLT9+ - eleTriggerMatchHLT10+ - patElectronsWithTrigger - -) - diff --git a/CMGTools/Common/python/PAT/patLeptModifiedIsoDeposit_cff.py b/CMGTools/Common/python/PAT/patLeptModifiedIsoDeposit_cff.py deleted file mode 100644 index 6bfb81487c52..000000000000 --- a/CMGTools/Common/python/PAT/patLeptModifiedIsoDeposit_cff.py +++ /dev/null @@ -1,75 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoEgamma.EgammaIsolationAlgos.eleIsoDepositTk_cff import * -from RecoEgamma.EgammaIsolationAlgos.eleIsoDepositEcalFromHits_cff import * -from RecoEgamma.EgammaIsolationAlgos.eleIsoDepositHcalFromTowers_cff import * -eleIsoDepositTk.src = "gsfElectrons" -eleIsoDepositEcalFromHits.src = "gsfElectrons" -eleIsoDepositHcalFromTowers.src = "gsfElectrons" - - -MUON_VETO_CUT=("isGlobalMuon &&" + - "pt>5" - ) -ELE_ISOVETO5_CUT=( "pt>5" ) -ELE_ISOVETO7_CUT=( "pt>7" ) - -vetoMuons = cms.EDFilter("MuonRefSelector", - src = cms.InputTag("muons"), - cut = cms.string(MUON_VETO_CUT) -) - -vetoElectrons5 = cms.EDFilter("GsfElectronRefSelector", - src = cms.InputTag("gsfElectrons"), - cut = cms.string(ELE_ISOVETO5_CUT) -) - -vetoElectrons7 = cms.EDFilter("GsfElectronRefSelector", - src = cms.InputTag("gsfElectrons"), - cut = cms.string(ELE_ISOVETO7_CUT) -) - -eleIsoFromDepsTkOptimized5 = cms.EDProducer("CandIsolatorFromDeposits", - deposits = cms.VPSet(cms.PSet( - mode = cms.string('sum'), - src = cms.InputTag("eleIsoDepositTk"), - weight = cms.string('1'), - deltaR = cms.double(0.3), - vetos = cms.vstring('vetoMuons:0.015', - 'vetoElectrons5:RectangularEtaPhiVeto(-0.015,0.015,-0.5,0.5)', - 'RectangularEtaPhiVeto(-0.015,0.015,-0.5,0.5)', - 'Threshold(0.7)'), - skipDefaultVeto = cms.bool(True) - )) -) - -eleIsoFromDepsTkOptimized7 = cms.EDProducer("CandIsolatorFromDeposits", - deposits = cms.VPSet(cms.PSet( - mode = cms.string('sum'), - src = cms.InputTag("eleIsoDepositTk"), - weight = cms.string('1'), - deltaR = cms.double(0.3), - vetos = cms.vstring('vetoMuons:0.015', - 'vetoElectrons7:RectangularEtaPhiVeto(-0.015,0.015,-0.5,0.5)', - 'RectangularEtaPhiVeto(-0.015,0.015,-0.5,0.5)', - 'Threshold(0.7)'), - skipDefaultVeto = cms.bool(True) - )) -) - -muIsoFromDepsTkOptimized = cms.EDProducer("CandIsolatorFromDeposits", - deposits = cms.VPSet(cms.PSet( - mode = cms.string('sum'), - src = cms.InputTag("muons","muIsoDepositTk"), - weight = cms.string('1'), - deltaR = cms.double(0.3), - vetos = cms.vstring('vetoMuons:0.015', - 'vetoElectrons7:0.015', - 'Threshold(1.0)'), - skipDefaultVeto = cms.bool(True) - )) -) - -detElectronIsoDepositSequence = cms.Sequence( vetoMuons + vetoElectrons5 + vetoElectrons7 + eleIsoDepositTk + eleIsoFromDepsTkOptimized5 + eleIsoFromDepsTkOptimized7)# + eleIsoDepositEcalFromHits+ eleIsoDepositHcalFromTowers) -detMuonIsoDepositSequence = cms.Sequence(vetoMuons + vetoElectrons7 + muIsoFromDepsTkOptimized) - diff --git a/CMGTools/Common/python/PAT/patMuonsWithDirectionalIsolation_cfi.py b/CMGTools/Common/python/PAT/patMuonsWithDirectionalIsolation_cfi.py deleted file mode 100644 index fe5ce3550cc1..000000000000 --- a/CMGTools/Common/python/PAT/patMuonsWithDirectionalIsolation_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -patMuonsWithDirectionalIsolation = cms.EDProducer( - "DirectionalIsolationProducerMuon", - src = cms.InputTag('patMuonsWithMVA'), - pfCands = cms.InputTag('pfNoPileUp'), - vertexCollection = cms.InputTag('goodOfflinePrimaryVertices') - ) - -patElectronsWithDirectionalIsolation = cms.EDProducer( - "DirectionalIsolationProducerElectron", - src = cms.InputTag('patElectronsWithMVA'), - pfCands = cms.InputTag('pfNoPileUp'), - vertexCollection = cms.InputTag('goodOfflinePrimaryVertices') - ) diff --git a/CMGTools/Common/python/PAT/patMuonsWithMVA_cfi.py b/CMGTools/Common/python/PAT/patMuonsWithMVA_cfi.py deleted file mode 100644 index 0aeb28ec2c35..000000000000 --- a/CMGTools/Common/python/PAT/patMuonsWithMVA_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -patMuonsWithMVA = cms.EDProducer('PATMuonIsoMVAEmbedder', - src = cms.InputTag("patMuonsWithPF"), - srcRho = cms.InputTag("kt6PFJets","rho"), - srcPF = cms.InputTag("particleFlow"), - srcSelectedElectrons =cms.InputTag("gsfElectrons"), - srcSelectedMuons =cms.InputTag("muons"), - srcVertices =cms.InputTag("offlinePrimaryVertices") - -) - -# patMuonsWithMVASequence = cms.Sequence( patMuonsWithMVA ) diff --git a/CMGTools/Common/python/PAT/patMuonsWithPF_cfi.py b/CMGTools/Common/python/PAT/patMuonsWithPF_cfi.py deleted file mode 100644 index 202ce75e6eeb..000000000000 --- a/CMGTools/Common/python/PAT/patMuonsWithPF_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -patMuonsWithPF = cms.EDProducer('PATPFMuonEmbedder', - src = cms.InputTag("selectedPatMuons"), - srcPF = cms.InputTag("particleFlow"), -) - diff --git a/CMGTools/Common/python/PAT/patMuonsWithTrigger_cff.py b/CMGTools/Common/python/PAT/patMuonsWithTrigger_cff.py deleted file mode 100644 index 98761299b844..000000000000 --- a/CMGTools/Common/python/PAT/patMuonsWithTrigger_cff.py +++ /dev/null @@ -1,37 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -muonSource = cms.InputTag('patMuonsWithDirectionalIsolation') - -muonTriggerMatchHLT = cms.EDProducer( 'PATTriggerMatcherDRDPtLessByR', - src = muonSource, - matched = cms.InputTag( 'patTrigger' ), - matchedCuts = cms.string(''), - maxDPtRel = cms.double( 0.5 ), - maxDeltaR = cms.double( 0.1 ), - resolveAmbiguities = cms.bool( True ), - resolveByMatchQuality = cms.bool( True ) -) - -muonMatchHLTL3 = muonTriggerMatchHLT.clone( - matchedCuts = cms.string('coll("hltL3MuonCandidates")'), - maxDeltaR = 0.1, maxDPtRel = 10.0 - ) -muonMatchHLTL3T = muonTriggerMatchHLT.clone( - matchedCuts = cms.string('coll("hltGlbTrkMuonCands")'), - maxDeltaR = 0.1, maxDPtRel = 10.0 - ) - -## ==== Embed ==== -patMuonsWithTrigger = cms.EDProducer( "PATTriggerMatchMuonEmbedder", - src = muonSource, - matches = cms.VInputTag( cms.InputTag('muonMatchHLTL3'), - cms.InputTag('muonMatchHLTL3T') ) -) - - -patMuonsWithTriggerSequence = cms.Sequence( - muonMatchHLTL3 + - muonMatchHLTL3T + - patMuonsWithTrigger -) - diff --git a/CMGTools/Common/python/PAT/photonPFIsolationDeposits_cff.py b/CMGTools/Common/python/PAT/photonPFIsolationDeposits_cff.py deleted file mode 100644 index 652aa73928d2..000000000000 --- a/CMGTools/Common/python/PAT/photonPFIsolationDeposits_cff.py +++ /dev/null @@ -1,35 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CommonTools.ParticleFlow.Isolation.tools_cfi import * - -#Now prepare the iso deposits -phPFIsoDepositCharged=isoDepositReplace('pfSelectedPhotons','pfAllChargedHadrons') -phPFIsoDepositChargedAll=isoDepositReplace('pfSelectedPhotons','pfAllChargedParticles') -phPFIsoDepositNeutral=isoDepositReplace('pfSelectedPhotons','pfAllNeutralHadrons') -#phPFIsoDepositGamma=isoDepositReplace('pfSelectedPhotons','pfAllPhotons') -phPFIsoDepositPU=isoDepositReplace('pfSelectedPhotons','pfPileUpAllChargedParticles') - -phPFIsoDepositGamma= cms.EDProducer("CandIsoDepositProducer", - src = cms.InputTag("pfSelectedPhotons"), - MultipleDepositsFlag = cms.bool(False), - trackType = cms.string('candidate'), - ExtractorPSet = cms.PSet( - Diff_z = cms.double(99999.99), - ComponentName = cms.string('PFCandWithSuperClusterExtractor'), - DR_Max = cms.double(1.0), - Diff_r = cms.double(99999.99), - inputCandView = cms.InputTag("pfAllPhotons"), - DR_Veto = cms.double(0), - SCMatch_Veto = cms.bool(True), - MissHitSCMatch_Veto = cms.bool(False), - DepositLabel = cms.untracked.string('') - ) -) - -photonPFIsolationDepositsSequence = cms.Sequence( - phPFIsoDepositCharged+ - phPFIsoDepositChargedAll+ - phPFIsoDepositGamma+ - phPFIsoDepositNeutral+ - phPFIsoDepositPU - ) diff --git a/CMGTools/Common/python/PAT/removePhotonMatching.py b/CMGTools/Common/python/PAT/removePhotonMatching.py deleted file mode 100644 index 9aaacc5f2408..000000000000 --- a/CMGTools/Common/python/PAT/removePhotonMatching.py +++ /dev/null @@ -1,4 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -def removePhotonMatching( process, postfix ): - getattr(process,'patDefaultSequence'+postfix).remove( getattr(process,'photonMatch'+postfix) ) diff --git a/CMGTools/Common/python/PAT/rho_cff.py b/CMGTools/Common/python/PAT/rho_cff.py deleted file mode 100644 index 275158a4bb42..000000000000 --- a/CMGTools/Common/python/PAT/rho_cff.py +++ /dev/null @@ -1,30 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoJets.JetProducers.kt4PFJets_cfi import kt4PFJets - -kt6PFJets = kt4PFJets.clone( rParam = cms.double(0.6), - doAreaFastjet = cms.bool(True), - doRhoFastjet = cms.bool(True) ) -kt6PFJetsForIso = kt6PFJets.clone( rParam = cms.double(0.6), - Rho_EtaMax = cms.double(2.5), - Ghost_EtaMax = cms.double(2.5) ) -#NOTE: now taking the PU CHS subtracted PFCandidate collection in input, -# instead of pfNoElectron -#NOTE: cloning kt6PFJetsForIso, as the rho and ghost parameters are the same -kt6PFJetsCHSForIso = kt6PFJetsForIso.clone( - # Rho_EtaMax = cms.double(2.5), - # Ghost_EtaMax = cms.double(2.5), - src = cms.InputTag("pfNoPileUpIso") ) - -rhoSequence = cms.Sequence( - # 44X needed (not present in AOD?) - # kt6PFJets + #NOTE: needed for V4 - kt6PFJetsForIso + - kt6PFJetsCHSForIso - ) - -from CMGTools.Common.Tools.cmsswRelease import cmsswIs44X - -if cmsswIs44X(): - #FIXME if not done, the patMuonWithMVA cannot find the rho, while it is here!! (Mike?) - rhoSequence += kt6PFJets diff --git a/CMGTools/Common/python/PAT/tauTools.py b/CMGTools/Common/python/PAT/tauTools.py deleted file mode 100644 index 39850a897d9a..000000000000 --- a/CMGTools/Common/python/PAT/tauTools.py +++ /dev/null @@ -1,77 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from PhysicsTools.PatAlgos.tools.helpers import applyPostfix - -def embedTracksInTaus( process, postfix, enable): - print "Embedding tracks in paTaus: " - print enable - patTaus = getattr(process,'patTaus'+postfix) - patTaus.embedLeadTrack = cms.bool(enable) - patTaus.embedSignalTracks = cms.bool(enable) - patTaus.embedIsolationTracks = cms.bool(enable) - -def embedPFCandidatesInTaus( process, postfix, enable ): - print "Embedding pfCandidates in paTaus: " - print enable - patTaus = getattr(process,'patTaus'+postfix) - patTaus.embedLeadPFCand = cms.bool(enable) - patTaus.embedLeadPFChargedHadrCand = cms.bool(enable) - patTaus.embedLeadPFNeutralCand = cms.bool(enable) - patTaus.embedSignalPFCands = cms.bool(enable) - patTaus.embedSignalPFChargedHadrCands = cms.bool(enable) - patTaus.embedSignalPFNeutralHadrCands = cms.bool(enable) - patTaus.embedSignalPFGammaCands = cms.bool(enable) - patTaus.embedIsolationPFCands = cms.bool(enable) - patTaus.embedIsolationPFChargedHadrCands = cms.bool(enable) - patTaus.embedIsolationPFNeutralHadrCands = cms.bool(enable) - patTaus.embedIsolationPFGammaCands = cms.bool(enable) - - - -# insert a selected pfJet and apply it to the HPS Tau sequences (this is now compatible with PF2PAT in 5_2_3) -from CommonTools.ParticleFlow.ParticleSelectors.genericPFJetSelector_cfi import selectedPfJets -def adaptSelectedPFJetForHPSTau(process, - jetSelection = "", - postfix = ""): - print "Preselecting the jets used to make taus : "+jetSelection - process.pfJetsForHPSTau = selectedPfJets.clone() - process.pfJetsForHPSTau.src = "pfJets"+postfix - process.pfJetsForHPSTau.cut = cms.string(jetSelection) - setattr(process,"pfJetsForHPSTau"+postfix, process.pfJetsForHPSTau) - getattr(process,"pfTausPreSequence"+postfix).insert(0,getattr(process,"pfJetsForHPSTau"+postfix)) - applyPostfix(process,"pfTausBase",postfix).jetSrc = "pfJetsForHPSTau"+postfix - # need to fix the tau presequence because it depends on the new jet collection - applyPostfix(process,"pfJetTracksAssociatorAtVertex",postfix).jets = "pfJetsForHPSTau"+postfix - applyPostfix(process,"pfTauPFJets08Region",postfix).src = "pfJetsForHPSTau"+postfix - applyPostfix(process,"pfJetsPiZeros",postfix).jetSrc = "pfJetsForHPSTau"+postfix - applyPostfix(process,"pfJetsLegacyTaNCPiZeros",postfix).jetSrc = "pfJetsForHPSTau"+postfix - applyPostfix(process,"pfJetsLegacyHPSPiZeros",postfix).jetSrc = "pfJetsForHPSTau"+postfix - # fix because the TopProjection in pfNoTau does not work because the taus come from the selected jets - applyPostfix(process,"pfNoTau",postfix).bottomCollection = "pfJetsForHPSTau"+postfix - # must use the pfJets for the patJets otherwise we will have the above selection on the pfJetsForHPSTau ( pfNoTau is a jet collection) - print 'Warning!!!!!!!!!!!!!: switching patJet.jetSource from pfNoTau to pfJets because Tau cleaning on the jets cannot be applied currently' - applyPostfix(process,"patJets",postfix).jetSource = "pfJets"+postfix - -#removes isolation cut in PF2PAT and adds only the decayModeFinding (this is now compatible with PF2PAT in 5_2_3) -def removeHPSTauIsolation(process, postfix = ""): - print "removing tau isolation discriminators and applying only the decayModeFinding " - #note that isolation discriminators have an implicit decayModeFinding requirement - getattr(process,"pfTausBaseSequence"+postfix).remove(applyPostfix(process,"pfTausBaseDiscriminationByLooseCombinedIsolationDBSumPtCorr",postfix)) - getattr(process,"pfTaus"+postfix).discriminators = [cms.PSet(discriminator = cms.InputTag("pfTausBaseDiscriminationByDecayModeFinding"+postfix), - selectionCut = cms.double(0.5) - )] - - - -#switch the input Taus to PAT, in 5_2_X input was switched to unselected taus so patTuple blows up -def switchInputTausToPAT(process, postfix = ""): - print "switching input tau collection to PAT from hpsPFTauProducer --> pfTaus (as was in 4_2_X)" - from PhysicsTools.PatAlgos.tools.tauTools import switchToPFTauByType - from PhysicsTools.PatAlgos.tools.helpers import massSearchReplaceParam - oldTauSrc = getattr(process,"patTaus"+postfix).tauSource - newTauSrc = cms.InputTag("pfTaus"+postfix) - switchToPFTauByType(process,pfTauType="hpsPFTau", - pfTauLabelOld=oldTauSrc,pfTauLabelNew=newTauSrc, - postfix=postfix) - massSearchReplaceParam(getattr(process,"patHPSPFTauDiscrimination"+postfix), - "PFTauProducer",oldTauSrc,newTauSrc) - diff --git a/CMGTools/Common/python/PFVertexProducer_cfi.py b/CMGTools/Common/python/PFVertexProducer_cfi.py deleted file mode 100644 index 16ff2996a6ca..000000000000 --- a/CMGTools/Common/python/PFVertexProducer_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -particleFlow = cms.EDProducer("PFVertexProducer", - PFCandidate = cms.InputTag("particleFlow"), - Vertices = cms.InputTag("offlinePrimaryVertices"), - checkClosestZVertex = cms.bool(True) - ) diff --git a/CMGTools/Common/python/Tools/cmgBaseMETModifier_cfi.py b/CMGTools/Common/python/Tools/cmgBaseMETModifier_cfi.py deleted file mode 100644 index e4a25be5ca53..000000000000 --- a/CMGTools/Common/python/Tools/cmgBaseMETModifier_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -baseMETModifier = cms.PSet( - inputCollection = cms.InputTag("particleFlow"), - metCollection = cms.InputTag("cmgPFMET"), - ptThreshold = cms.double( -1.0 ), #not used - operator = cms.string('-') - ) -from CMGTools.Common.selections.kinematics_cfi import kinematics -cmgBaseMETModifier = cms.EDFilter( - "BaseMETModifier", - cuts = cms.PSet(), - cfg = baseMETModifier.clone() -) diff --git a/CMGTools/Common/python/Tools/cmsswRelease.py b/CMGTools/Common/python/Tools/cmsswRelease.py deleted file mode 100644 index 36175cba94ad..000000000000 --- a/CMGTools/Common/python/Tools/cmsswRelease.py +++ /dev/null @@ -1,48 +0,0 @@ -import os - -def cmsswRelease(): - return os.environ['CMSSW_VERSION'] - -def cmsswIs44X(): - return cmsswRelease().find('CMSSW_4_4_') != -1 -def cmsswIs52X(): - #return (cmsswRelease().find('CMSSW_5_2_') != -1 || cmsswRelease().find('CMSSW_5_3_') != -1) - if cmsswRelease().find('CMSSW_5_2_') != -1: - return 1 - if cmsswRelease().find('CMSSW_5_3_') != -1: - return 1 - return 0 - -def parseReleaseString(release = None): - - if release is None: - release = cmsswRelease() - - #split and remove 'CMSSW' - tokens = release.split('_')[1:] - - output = [] - for t in tokens: - try: - output.append(int(t)) - except ValueError: - output.append(t) - if len(output) < 4: - output.append('') - return tuple(output[:4]) - -def isNewerThan(release1, release2=None): - """Checks the orders of two releases. If release2 is not set, it is taken as the current release""" - return parseReleaseString(release2) >= parseReleaseString(release1) - - -if __name__ == '__main__': - print cmsswRelease() - print 'is 44?', cmsswIs44X() - print 'is 52?', cmsswIs52X() - - assert isNewerThan('CMSSW_4_4_4','CMSSW_5_3_0') - assert isNewerThan('CMSSW_4_4_4_patch1','CMSSW_5_3_0') - assert not isNewerThan('CMSSW_4_4_1','CMSSW_4_4_0') - assert isNewerThan('CMSSW_4_9_9_patch1','CMSSW_5_0_0') - assert not isNewerThan('CMSSW_4_4_4_patch2','CMSSW_4_4_4_patch1') diff --git a/CMGTools/Common/python/Tools/getGlobalTag.py b/CMGTools/Common/python/Tools/getGlobalTag.py deleted file mode 100644 index 2e4cceab9a9c..000000000000 --- a/CMGTools/Common/python/Tools/getGlobalTag.py +++ /dev/null @@ -1,101 +0,0 @@ - -from CMGTools.Common.Tools.cmsswRelease import cmsswIs44X, isNewerThan - -def getGlobalTag(runOnMC, runOld5XGT): - """Return the global tag, based on - - the runOnMC flag - - the file name - - the CMSSW release - - Please have a look at the python source for more information - """ - - # we run on a 52 sample if: - # - we have START52 in the name (52 MC) - # - we have PromptReco and (2012A or 2012B) in the name (52 data) -## runOld5XGT = file.find('START52') != -1 or \ -## ( (file.find('2012A') != -1 or file.find('2012B') !=-1 ) and file.find('PromptReco') != -1 ) - - if cmsswIs44X(): - if runOnMC: - GT = 'START44_V13::All' - else: - GT = 'GR_R_44_V15::All' - else: - if runOnMC: - if runOld5XGT: - GT = 'START53_V10::All' # for 53X MC in >= 533 - # GT = 'START53_V7E::All' # for 53X MC in < 533 - else: - GT = 'START53_V27::All' # Moriond calibration - else: - if runOld5XGT: - GT = 'GR_P_V41_AN1::All' # for 53X data in >= 533 - # GT = 'GR_P_V40_AN1::All' # for 53X data in < 533 - else: - GT = 'FT53_V21A_AN6::All' # Moriond calibration - return GT - -def getGlobalTagByDataset(runOnMC, dataset): - """ - Uses the dataset name to select the correct global tag - - Information from here: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions?redirectedfrom=CMS.SWGuideFrontierConditions#Summary_of_Global_Tags_used_in_o - Last updated: wreece 14/01/13 for 53 data, MC, parking - """ - GT = None - if runOnMC: - if cmsswIs44X(): - GT = 'START44_V13::All' - elif 'START53' in dataset: - GT = 'START53_V27::All' - elif 'START52' in dataset: - GT = 'START52_V9F::All' - elif 'POSTLS162_V2' in dataset: - GT = 'POSTLS162_V2::All' - elif 'POSTLS162_V1' in dataset: - GT = 'POSTLS162_V1::All' - elif 'POSTLS161' in dataset: - # GT = 'POSTLS161_V15::All' - GT = 'POSTLS162_V5::All' - else: - if cmsswIs44X(): - GT = 'GR_R_44_V15::All' - elif '22Jan2013' in dataset: - GT = 'FT53_V21A_AN6::All' # the missing _ between FT and 53 is intentional, that's how it is called - elif '13Jul2012' in dataset: - GT = 'FT_53_V6C_AN4::All' - elif '06Aug2012' in dataset: - GT = 'FT_53_V6C_AN4::All' - elif '24Aug2012' in dataset: - GT = 'FT_53_V10A_AN4::All' - elif 'Run2012C-PromptReco-v1' in dataset:#shouldn't be used... - GT = 'GR_P_V40_AN3::All' - elif 'Run2012C-PromptReco-v2' in dataset: - GT = 'GR_P_V42_AN4::All' - elif 'Run2012D' in dataset: - GT = 'GR_P_V42_AN4::All' - elif 'Run2012B-05Nov2012' in dataset: - GT = 'FT_53_V6C_AN4::All' - elif 'Run2012C-part1_05Nov2012' in dataset: - GT = 'FT53_V10A_AN4::All' - elif 'Run2012C-part2_05Nov2012' in dataset: - GT = 'FT_P_V42C_AN4::All' - elif 'Run2012D-part1_10Dec2012-v1' in dataset: - GT = 'FT_P_V42_AN4::All' - elif 'Run2012D-part2_17Jan2013-v1' in dataset: - GT = 'FT_P_V42D_AN4::All' - - - if GT is None: - raise Exception("No global tag found for dataset '%s'. Check getGlobalTagByDataset" % dataset) - return GT - - -if __name__ == '__main__': - - print '52, data', getGlobalTag(False, True) - print '52, MC', getGlobalTag(True, True) - print 'the following depends on the release you are running in' - print '44X or 53X, data', getGlobalTag(False, False) - print '44X or 53X, MC', getGlobalTag(True, False) diff --git a/CMGTools/Common/python/Tools/inputFiles.py b/CMGTools/Common/python/Tools/inputFiles.py deleted file mode 100644 index 49f8444b52da..000000000000 --- a/CMGTools/Common/python/Tools/inputFiles.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -def restrictInput( fileNames, numberOfFiles) : - - tmpFiles = fileNames - files = cms.untracked.vstring() - for file in tmpFiles: - files.append( file ) - if len(files)== numberOfFiles: - break - print 'restricting input to:' - print files - return files diff --git a/CMGTools/Common/python/Tools/setupEleEnergyCorrections.py b/CMGTools/Common/python/Tools/setupEleEnergyCorrections.py deleted file mode 100644 index 994071ac1af6..000000000000 --- a/CMGTools/Common/python/Tools/setupEleEnergyCorrections.py +++ /dev/null @@ -1,29 +0,0 @@ - -def setupEleEnergyCorrections( process ): - #FIXME: shouldn't we look for the global tag? - print 'setting up electron energy collections:' - - fileName = process.source.fileNames[0] - print fileName - - def lookup( fileName, stringToFind ): - '''predicate for identifying samples. could be more solid''' - - if fileName.find( stringToFind )>-1: - return True - else: - return False - - # choose which kind of scale correction/MC smearing should be applied for electrons. Options are: - if lookup (fileName,'Fall11') or lookup(fileName, 'START52'): - #FIXME what should we use for 52 samples? - process.calibratedGsfElectrons.inputDataset = "Fall11" - elif lookup(fileName, 'Summer11' ): - process.calibratedGsfElectrons.inputDataset = "Summer11" - elif lookup(fileName, 'Jan16ReReco' ): - process.calibratedGsfElectrons.inputDataset = "Jan16ReReco" - elif lookup(fileName, 'ReReco' ): - process.calibratedGsfElectrons.inputDataset = "ReReco" - elif lookup(fileName, 'Prompt' ): - process.calibratedGsfElectrons.inputDataset = "Prompt" - diff --git a/CMGTools/Common/python/Tools/setupGsfElectronCalibration.py b/CMGTools/Common/python/Tools/setupGsfElectronCalibration.py deleted file mode 100644 index c9c2c2349a4f..000000000000 --- a/CMGTools/Common/python/Tools/setupGsfElectronCalibration.py +++ /dev/null @@ -1,43 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -def getEleEnergyCorrectionType(fileName): - """Return the string to be used to configure calibratedGsfElectrons""" - - def lookup( fileName, stringToFind ): - '''predicate for identifying samples. could be more solid''' - - if fileName.find( stringToFind )>-1: - return True - else: - return False - - - # choose which kind of scale correction/MC smearing should be applied for electrons. Options are: - if lookup (fileName,'Fall11' ): - return "Fall11" - elif lookup(fileName, 'Summer11' ): - return "Summer11" - elif lookup(fileName, 'Summer12' ): - return "Summer12" - elif lookup(fileName, 'Jan16ReReco' ) or lookup(fileName, '16Jan2012' ): - return "Jan16ReReco" - elif lookup(fileName, 'ReReco' ): - return "ReReco" - elif (lookup(fileName, 'Run2012') and lookup(fileName, 'PromptReco')): - return "Prompt2012" - elif lookup(fileName, 'Prompt' ) or lookup(fileName, 'Nov2011' ): - return "Prompt" - else : - return "Unknown" - - -def setupGsfElectronCalibration( process, runOnMC, type=None): - eleCorrectionType = type - if eleCorrectionType is None: - eleCorrectionType = getEleEnergyCorrectionType(process.source.fileNames[0]) - if (eleCorrectionType=="Unknown"): - err = 'ERROR: Could not determine electron scale correction to be applied from dataset name {file}'.format(process.source.fileNames[0]) - raise ValueError(err) - print "Setting process.calibratedGsfElectrons.inputDataset = ", eleCorrectionType - process.gsfElectrons.inputDataset = cms.string(eleCorrectionType) - process.gsfElectrons.isMC = cms.bool(runOnMC) diff --git a/CMGTools/Common/python/Tools/tuneCMGSequences.py b/CMGTools/Common/python/Tools/tuneCMGSequences.py deleted file mode 100644 index 0b933a589d29..000000000000 --- a/CMGTools/Common/python/Tools/tuneCMGSequences.py +++ /dev/null @@ -1,45 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -def removeObject( process, object, postfix ): - # need to target the correct sequence not to break them - - try: - obj = getattr( process, object + 'Sequence' + postfix) - getattr( process, 'cmgObjectSequence'+postfix ).remove( obj ) - except: - pass - - - if object!='met': - # no cut summary for met yet - try: - cutSummary = getattr( process, object + 'CutSummarySequence' + postfix ) - getattr( process, 'cutSummarySequence'+postfix ).remove( cutSummary ) - except: - pass - - try: - hist = getattr( process, object + 'HistogramSequence' + postfix ) - getattr( process, 'histogramSequence'+postfix ).remove( hist ) - except: - pass - - try: - size = getattr( process, object + 'SelSize' + postfix ) - getattr( process, 'collectionSizeSequence'+postfix ).remove( size ) - except: - pass - - try: - skim = getattr( process, object + 'SkimSequence' + postfix ) - getattr( process, 'skimSequence'+postfix ).remove( skim ) - except: - pass - - -def tuneCMGSequences(process, postpostfix=''): - # removeObject( process, 'tau', 'AK5NoPUSub'+postpostfix) - removeObject( process, 'muon', 'AK5NoPUSub'+postpostfix) - removeObject( process, 'electron', 'AK5NoPUSub'+postpostfix) - removeObject( process, 'met', 'AK5NoPUSub'+postpostfix) - removeObject( process, 'trigger', 'AK5NoPUSub'+postpostfix) diff --git a/CMGTools/Common/python/Tools/visitorUtils.py b/CMGTools/Common/python/Tools/visitorUtils.py deleted file mode 100644 index 333897a2aeb2..000000000000 --- a/CMGTools/Common/python/Tools/visitorUtils.py +++ /dev/null @@ -1,206 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import re -import copy - -# This module provides some visitors for handling postfixes in PF2PAT -# @author wreece - -class SeqVisitor(object): - - def __init__(self, type ): - self.type = type - - def enter(self, v): - if hasattr(v,'type_') and v.type_() == self.type: - print v.label() - - def leave(self, v): - pass - - -class CloneVisitor(object): - def __init__(self, postfix): - self.postfix = postfix - self.sequence = cms.Sequence() - self.curSubSequence = None - - def enter(self, v): - # print v.label() - if isinstance(v,cms.Sequence): - self.curSubSequence = cms.Sequence() - self.curSubSequence.setLabel( ''.join( [v.label(), self.postfix] ) ) - self.sequence += self.curSubSequence - if isinstance(v,cms.EDProducer) or \ - isinstance(v,cms.EDAnalyzer) or \ - isinstance(v,cms.EDFilter): - # isinstance(v,cms.Sequence) or \ - new = v.clone() - new.setLabel( ''.join( [v.moduleLabel_(), self.postfix] ) ) - # params = v.parameters() - if self.curSubSequence is None: - self.sequence += new - else: - self.curSubSequence += new - - def leave(self, v): - pass - -# v = CloneVisitor('Test') -# process.jetSequence.visit(v) -# v.sequence - -class InputTagVisitor(object): - """Iterates over the tree and finds any parameters that must be updated""" - - def processInputTag(self, input): - """hook for subclasses""" - return input - - def _params(self,objectLabel,params): - - def input(n,v): - if isinstance(v,cms.InputTag): - v = self.processInputTag(v) - elif isinstance(v,cms.VInputTag) or isinstance(v,cms.VPSet): - for i in xrange(len(v)): - v[i] = input(n,v[i]) - elif isinstance(v,cms.PSet): - for nn,vv in v.parameters_().iteritems(): - setattr(v,nn,input(nn,vv)) - return v - - for name, value in params.iteritems(): - params[name] = input(name,value) - return params - - def enter(self,v): - - # print 'enter ', v - - if ( isinstance(v,cms.EDFilter) or - isinstance(v,cms.EDProducer) or - isinstance(v,cms.EDAnalyzer)): - - # print 'is of the good type' - - p = self._params(v.label(),v.parameters_()) - #set the parameters back on the object - for name, value in p.iteritems(): - setattr(v,name,value) - - - def leave(self,v): - pass - - -class InputTagPostfixVisitor(InputTagVisitor): - """ -Looks at the 'moduleLabel' of every InputTag. -It it ends with 'old_postfix', it replaces it with 'new_postfix. - """ - def __init__(self, old_postfix, new_postfix): - InputTagVisitor.__init__(self) - - self.old_postfix = old_postfix - self.new_postfix = new_postfix - self.pattern = re.compile( '(.*)(%s)$' % old_postfix) - - def processInputTag(self, v): - label = v.getModuleLabel() - if label: - match = self.pattern.match( label ) - # print label, self.pattern, '(%s)$' % self.old_postfix - if match: - # print 'match', label, match.group(1), match.group(2) - new = match.group(1)+self.new_postfix - # print new - v.setModuleLabel(new) - # the logic below was bugged, could replace - # AK5LCCMG by AK5LC, when asking to replace AK5 by AK5LC - # index = label.rfind(self.old_postfix) - # if index > -1: - # new = '%s%s' % (label[0:index],self.new_postfix) - # v.setModuleLabel(new) - return v - - -class InputTagReplacer( InputTagVisitor ): - def __init__(self, oldSrc, newSrc): - super(InputTagReplacer, self).__init__() - self.oldSrc = oldSrc - self.newSrc = newSrc - - def processInputTag(self, v): - label = v.getModuleLabel() - if label and label == self.oldSrc: - v.setModuleLabel( self.newSrc ) - return v - - -def replaceSrc(sequencable, oldSrc, newSrc): - v = InputTagReplacer(oldSrc, newSrc) - sequencable.visit(v) - return sequencable - - -def replacePostfix(sequencable, old_postfix, new_postfix): - '''Utility function to run the InputTagPostfixVisitor visitor''' - - v = InputTagPostfixVisitor(old_postfix, new_postfix) - sequencable.visit(v) - return sequencable - - -def dropAllOutputs(process): - """Look into a process and turn off every output module found""" - for d in dir(process): - out = getattr(process,d) - if isinstance(out,cms.OutputModule) and hasattr(out,'outputCommands') and out.type_() == 'PoolOutputModule': - out.outputCommands = cms.untracked.vstring('drop *') - -if __name__ == '__main__': - from PhysicsTools.PatAlgos.patTemplate_cfg import * - - process.cmgElectron = cms.EDFilter("ElectronPOProducer", - cfg = cms.PSet( - leptonFactory = cms.PSet( - vertexType = cms.int32(1), - photonsIsoPar = cms.PSet( - coneSize = cms.double(0.4), - vetoes = cms.VPSet(cms.PSet( - dEta = cms.double(0.1), - dPhi = cms.double(0.2), - type = cms.string('RectangularEtaPhiVeto') - )) - ), - useIsoDeposits = cms.bool(False), - useParticleFlowIso = cms.bool(True), - chargedHadronIsoPar = cms.PSet( - coneSize = cms.double(0.4), - vetoes = cms.VPSet() - ), - vertexCollection = cms.InputTag("offlineBeamSpot"), - neutralHadronIsoPar = cms.PSet( - coneSize = cms.double(0.4), - vetoes = cms.VPSet() - ) - ), - inputCollection = cms.InputTag("selectedPatElectronsPFlow") - ), - cuts = cms.PSet( - isEB = cms.string('sourcePtr().isEB()'), - isEE = cms.string('sourcePtr().isEE()'), - ecalDriven = cms.string('ecalDriven() == 1') - ) -) - - process.seq = cms.Sequence(process.cmgElectron) - - print 'Before:',process.cmgElectron.cfg.inputCollection - replacePostfix(process.seq,'PFlow','Foo') - print 'After:',process.cmgElectron.cfg.inputCollection - - - dropAllOutputs(process) - print process.out.outputCommands diff --git a/CMGTools/Common/python/analysis_cff.py b/CMGTools/Common/python/analysis_cff.py deleted file mode 100644 index c6942f92348d..000000000000 --- a/CMGTools/Common/python/analysis_cff.py +++ /dev/null @@ -1,37 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -from CMGTools.Common.jet_cff import * -from CMGTools.Common.met_cff import * -from CMGTools.Common.muon_cff import * -from CMGTools.Common.electron_cff import * -from CMGTools.Common.photon_cff import * -from CMGTools.Common.tau_cff import * - -from CMGTools.Common.skim_cff import * -from CMGTools.Common.cutSummary_cff import * -from CMGTools.Common.trigger_cff import * - -from CMGTools.Common.miscProducers.misc_cff import * - -cmgObjectSequence = cms.Sequence( - jetSequence + - metSequence + - muonSequence + - electronSequence + - photonSequence + - tauSequence + - triggerSequence - ) - - -analysisSequence = cms.Sequence( - # build the CMG objects and select them - cmgObjectSequence + - # build miscellaneous objects not inheriting from cmg::PhysicsObject - miscSequence + - # skimming (counting the selected CMG objects) - skimSequence + - # summary of cuts for all objects, after skimming - cutSummarySequence - ) diff --git a/CMGTools/Common/python/cmgCandidates_cfi.py b/CMGTools/Common/python/cmgCandidates_cfi.py deleted file mode 100644 index 3d0e6afb3771..000000000000 --- a/CMGTools/Common/python/cmgCandidates_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgCandidates = cms.EDProducer( - "CMGCandidateProducer", - inputCollection = cms.InputTag("particleFlow"), - inputCollectionFromPV = cms.InputTag("pfNoPileUp"), -) diff --git a/CMGTools/Common/python/countingSequences_cff.py b/CMGTools/Common/python/countingSequences_cff.py deleted file mode 100644 index e3ffe0d8ad59..000000000000 --- a/CMGTools/Common/python/countingSequences_cff.py +++ /dev/null @@ -1,30 +0,0 @@ -import FWCore.ParameterSet.Config as cms -#Create a sequebnce that saves an event counter in the Run Info -#We can use it later to monitor the cut selection and to make -#event weight in MC - - -from DQMServices.Core.DQM_cfg import * -from DQMServices.Components.DQMEnvironment_cfi import * -from DQMServices.Components.MEtoEDMConverter_cfi import * -from DQMServices.Components.EDMtoMEConverter_cfi import * - -saveHistosInRunInfo = cms.Sequence(MEtoEDMConverter) -loadHistosFromRunInfo = cms.Sequence(EDMtoMEConverter) - - -#Put this counter BEFORE any filters in the sequence -startupCounter = cms.EDProducer('EventCounter', - name = cms.string("initialEvents") - ) - - -startupSequence = cms.Sequence(startupCounter) - - -#Put this counter AFTER all filters in the sequence -finalCounter = cms.EDProducer('EventCounter', - name = cms.string("finalEvents") - ) - -finalSequence = cms.Sequence(finalCounter) diff --git a/CMGTools/Common/python/createFactory.py b/CMGTools/Common/python/createFactory.py deleted file mode 100644 index a050a65ad982..000000000000 --- a/CMGTools/Common/python/createFactory.py +++ /dev/null @@ -1,361 +0,0 @@ -import cmd -import os - -from CMGTools.Common.templates.templates import getTemplate - -class Factory(cmd.Cmd): - - def __init__(self): - cmd.Cmd.__init__(self) - - self.intro = u""" -**************************************************************************************************** -* \u00b5PAT - A framework for really easy analyses in the full framework by Colin Bernet and Will Reece * -**************************************************************************************************** - -Creates a cmg::AbstractPhysicsObject object, factory, and python config. See "help" and "showconfig"! - - - """.encode('utf-8') - - #this is a bit cool! - self.prompt = u'\u00b5PAT> '.encode('utf-8') - - #the config to be used - self.config = {} - - self.config['inputcollection'] = 'selectedPatMuons' - self.config['_inputtype'] = 'reco::Candidate' - self.config['objectname'] = 'Foo' - self.config['namespace'] = 'cmg' - self.config['formatpackage'] = 'AnalysisDataFormats/CMGTools' - self.config['package'] = 'CMGTools/Common' - self.config['outputdir'] = 'FACTORY' - - self.config['_baseclass'] = 'cmg::AbstractPhysicsObject' - self.config['_baseclassconstructor'] = 'cmg::AbstractPhysicsObject::AbstractPhysicsObject(o.p4())' - - #filenames - self.config['_classname'] = '%s::%s' - self.config['_factoryname'] = '%sFactory' - self.config['_producername'] = '%s%sPOProducer' - self.config['_histogramname'] = '%s%sLorentzVector' - self.config['_pyfactoryname'] = '%s%sFactory' - self.config['_pysequencename'] = '%s%sSequence' - self.config['_pluginname'] = 'Plugins' - - self.config['ffobject'] = None - self.config['_formatclassfile'] = None - self.config['_factoryclassfile'] = None - self.config['_histogramconfigfile'] = None - self.config['_factoryconfigfile'] = None - self.config['_pluginlibname'] = None - self.config['_factorylibname'] = None - self.config['_formatlibname'] = None - - self.configured = False - - self.write = True - self.files = [] - - - #### utility functions - def do_EOF(self,line): - """EOF or Ctrl+D - Exit this prompt without writing any files.""" - print '' - return True - def do_quit(self, line): - """quit - Exit this prompt without writing any files.""" - return self.do_EOF(line) - def do_shell(self, line): - """! [cmd] or shell [cmd] - Execute a command in the shell.""" - if line and line != 'EOF': - os.system(line) - def do_less(self,line): - """less [file] - Runs the command 'less' on a file. - """ - if line and line != 'EOF': - os.system('less %s' % line) - - def setconfig(self,name,line): - if line is not None and line and line != 'EOF': - self.config[name] = line - - def getfilepath(self,outputFile): - '''Removes the topdir''' - elements = outputFile.split(os.sep) - if len(elements) > 1 and elements[0] == self.config['outputdir']: - elements = elements[1:] - return os.sep.join(elements) - - def getpythonfilepath(self, outputFile): - '''removes the topDir and change to a python import''' - elements = outputFile.split(os.sep) - elements_output = [] - for e in elements: - if e not in ['python',self.config['outputdir']]: - fileName, ext = os.path.splitext(e) - if ext.lower() == '.py': - elements_output.append(fileName) - else: - elements_output.append(e) - return '.'.join(elements_output) - - def writeTemplate(self,outputDir, outputFile, template): - - #store the files we actually write - self.files.append(outputFile) - if not self.write: - return - - #rename hidden variables! - config = {} - for k,c in self.config.iteritems(): - if k.startswith('_'): - config[k[1:]] = c - else: - config[k] = c - - if not os.path.exists(outputDir): - os.makedirs(outputDir) - output = file(outputFile,'w') - output.write(template % config) - output.close() - print "Written: '%s'" % outputFile - - def getClassesDef(self): - - template = '''''' - lines = [] - lines.append(template % self.config['_classname']) - lines.append(template % ('std::vector< %s >' % self.config['_classname'])) - lines.append(template % ('edm::Wrapper< %s >' % self.config['_classname'])) - lines.append(template % ('edm::Ptr< %s >' % self.config['_classname'])) - lines.append(template % ('edm::Wrapper >' % self.config['_classname'])) - - if self.config['ffobject'] is not None: - lines.append(template % ('cmg::PhysicsObjectWithPtr< edm::Ptr< %s > >' % self.config['ffobject'])) - return '\n'.join(lines) - - - def configure(self): - - if self.configured: - return - - self.config['_classname'] = self.config['_classname'] % (self.config['namespace'],self.config['objectname']) - self.config['_factoryname'] = self.config['_factoryname'] % (self.config['objectname']) - self.config['_producername'] = self.config['_producername'] % (self.config['namespace'],self.config['objectname']) - self.config['_histogramname'] = self.config['_histogramname'] % (self.config['namespace'],self.config['objectname']) - self.config['_pyfactoryname'] = self.config['_pyfactoryname'] % (self.config['namespace'],self.config['objectname']) - self.config['_pysequencename'] = self.config['_pysequencename'] % (self.config['namespace'],self.config['objectname']) - - def makeGuard(self,package,objectname): - fileName = os.path.join(self.config[package],'%s.h' % self.config[objectname]) - fileName = fileName.upper() - fileName = fileName.replace(os.sep,'_') - fileName = fileName.replace('.','_') - return '%s_' % fileName - self.config['_formatguard'] = makeGuard(self,'formatpackage','objectname') - self.config['_factoryguard'] = makeGuard(self,'package','_factoryname') - - def makePluginName(self, package,classname, name): - name = os.path.join(package,classname,name) - return name.replace(os.sep,'') - self.config['_pluginlibname'] = makePluginName(self,self.config['package'],self.config['_factoryname'],self.config['_pluginname']) - self.config['_factorylibname'] = makePluginName(self,self.config['package'],self.config['_factoryname'],'') - self.config['_formatlibname'] = makePluginName(self,self.config['formatpackage'],self.config['_factoryname'],'') - - if self.config['ffobject'] is not None: - self.config['_baseclass'] = 'cmg::PhysicsObjectWithPtr< edm::Ptr< %s > >' % self.config['ffobject'] - self.config['_baseclassconstructor'] = 'cmg::PhysicsObjectWithPtr::PhysicsObjectWithPtr(o)' - self.config['_inputtype'] = 'value' - - self.configured = True - - - def do_showconfig(self, line): - """showconfig [all] - Shows the current config that will be used. - """ - all = False - if line == 'all': - all = True - keys = self.config.keys() - if keys: - print 'Factory config:' - for k in keys: - if not k.startswith('_') or all: - print "\t %s: '%s'" % (k,self.config[k]) - - def do_showfiles(self,line): - """showfiles - Show the files to be written with the current config. - """ - - self.write = False - self.files = [] - self.do_writeall(line) - - self.files.sort() - if self.files: - print 'Files to write:' - for f in self.files: - print "\t File: '%s'" % f - - self.write = True - self.files = [] - - - def do_writeobject(self, line): - """writeobject - Writes the generated PhysicsObject - """ - self.configure() - - template = getTemplate('PhysicsObject_h.txt') - outputDir = os.path.join(self.config['outputdir'],self.config['formatpackage'],'interface') - outputFile = os.path.join(outputDir,'%s.h' % self.config['objectname']) - self.writeTemplate(outputDir, outputFile, template) - # cache the name of the file to write the factory - self.setconfig('_formatclassfile',self.getfilepath(outputFile)) - - #write the formats buildfile - template = getTemplate('BuildFile_formats.txt') - outputDir = os.path.join(self.config['outputdir'],self.config['formatpackage']) - outputFile = os.path.join(outputDir,'BuildFile') - self.writeTemplate(outputDir, outputFile, template) - - #write classes.h - template = getTemplate('classes_h.txt') - outputDir = os.path.join(self.config['outputdir'],self.config['formatpackage'],'src') - outputFile = os.path.join(outputDir,'classes.h') - self.writeTemplate(outputDir, outputFile, template) - - #write classesdef.xml - template = getTemplate('classes_def_xml.txt') - outputDir = os.path.join(self.config['outputdir'],self.config['formatpackage'],'src') - outputFile = os.path.join(outputDir,'classes_def.xml') - - self.config['lcgdict'] = self.getClassesDef() - self.writeTemplate(outputDir, outputFile, template) - del self.config['lcgdict'] - - - def do_writefactory(self, line): - """writefactory - Writes the generated PhysicsObject factory - """ - self.configure() - - #now write the factory BuildFile - outputDir = os.path.join(self.config['outputdir'],self.config['package']) - outputFile = os.path.join(outputDir,'BuildFile') - template = getTemplate('BuildFile_factory.txt') - self.writeTemplate(outputDir, outputFile, template) - - # now write the factory header - template = getTemplate('PhysicsObjectFactory_h.txt') - outputDir = os.path.join(self.config['outputdir'],self.config['package'],'interface') - outputFile = os.path.join(outputDir,'%s.h' % self.config['_factoryname']) - self.writeTemplate(outputDir, outputFile, template) - # cache the name of the file to write the factory - self.setconfig('_factoryclassfile',self.getfilepath(outputFile)) - - ## now the src file - outputDir = os.path.join(self.config['outputdir'],self.config['package'],'src') - outputFile = os.path.join(outputDir,'%s.cc' % self.config['_factoryname']) - template = getTemplate('PhysicsObjectFactory_cc.txt') - self.writeTemplate(outputDir, outputFile, template) - - #now write the plugins file - outputDir = os.path.join(self.config['outputdir'],self.config['package'],'plugins') - outputFile = os.path.join(outputDir,'%s.cc' % self.config['_pluginname']) - template = getTemplate('PhysicsObjectPlugins_cc.txt') - self.writeTemplate(outputDir, outputFile, template) - - #now write the plugins BuildFile - outputDir = os.path.join(self.config['outputdir'],self.config['package'],'plugins') - outputFile = os.path.join(outputDir,'BuildFile') - template = getTemplate('BuildFile_plugins.txt') - self.writeTemplate(outputDir, outputFile, template) - - #now write the python factory file - outputDir = os.path.join(self.config['outputdir'],self.config['package'],'python','factories') - outputFile = os.path.join(outputDir,'%s_cfi.py' % self.config['_pyfactoryname']) - self.setconfig('_factoryconfigfile',self.getpythonfilepath(outputFile)) - template = getTemplate('PhysicsObjectFactory_py.txt') - self.writeTemplate(outputDir, outputFile, template) - - #now write the python histogram file - outputDir = os.path.join(self.config['outputdir'],self.config['package'],'python','histograms') - outputFile = os.path.join(outputDir,'%s_cfi.py' % self.config['_histogramname']) - self.setconfig('_histogramconfigfile',self.getpythonfilepath(outputFile)) - template = getTemplate('Histograms_py.txt') - self.writeTemplate(outputDir, outputFile, template) - - #now write the python histogram file - outputDir = os.path.join(self.config['outputdir'],self.config['package'],'python') - outputFile = os.path.join(outputDir,'%s_cff.py' % self.config['_pysequencename']) - template = getTemplate('Sequences_py.txt') - self.writeTemplate(outputDir, outputFile, template) - - def do_writeall(self,line): - """writeall - Write all the files according to the current config. - """ - self.do_writeobject(line) - self.do_writefactory(line) - - #### functions for setting parameters - def do_setinputcollection(self,line): - """setinputcollection [src] - Set the name of the collection to run the factory on - """ - self.setconfig('inputcollection', line) - - def do_setobjectname(self, line): - """setobjectname [name] - Set the name of the object that this factory will produce. - """ - self.setconfig('objectname', line) - - def do_setnamespace(self, line): - """setnamespace [namespace] - Set the C++ namespace that this class will be created in. - """ - self.setconfig('namespace', line) - - def do_setpackage(self, line): - """setpackage [packagename] - Set the C++ package for the main code - """ - self.setconfig('package', line) - - def do_setformatpackage(self, line): - """setformatpackage [packagename] - Set the C++ package for the PhysicsObject format class - """ - self.setconfig('package', line) - - def do_setffobject(self, line): - """setffobject [ffobject] - Sets the full framework (e.g. pat) object that this PhysicsObject is created from. - """ - self.setconfig('ffobject', line) - - def do_setoutputdir(self,line): - """setoutputdir [dir] - Set the name of the top level dir to write into. - """ - self.setconfig('outputdir', line) - -if __name__ == '__main__': - - - f = Factory() - f.cmdloop() \ No newline at end of file diff --git a/CMGTools/Common/python/cutSummary_cff.py b/CMGTools/Common/python/cutSummary_cff.py deleted file mode 100644 index 363f202c3754..000000000000 --- a/CMGTools/Common/python/cutSummary_cff.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.jetCutSummary_cff import * -from CMGTools.Common.selections.muonCutSummary_cff import * -from CMGTools.Common.selections.electronCutSummary_cff import * -from CMGTools.Common.selections.tauCutSummary_cff import * - - -cutSummarySequence = cms.Sequence( - jetCutSummarySequence + - muonCutSummarySequence + - electronCutSummarySequence + - tauCutSummarySequence - ) - diff --git a/CMGTools/Common/python/diElectron_cff.py b/CMGTools/Common/python/diElectron_cff.py deleted file mode 100644 index ab0b3ccc5528..000000000000 --- a/CMGTools/Common/python/diElectron_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgDiElectron_cfi import * -from CMGTools.Common.skims.cmgDiElectronSel_cfi import * - -diElectronSequence = cms.Sequence( - cmgDiElectron + - cmgDiElectronSel -) diff --git a/CMGTools/Common/python/diHemi_cff.py b/CMGTools/Common/python/diHemi_cff.py deleted file mode 100644 index a5417df64277..000000000000 --- a/CMGTools/Common/python/diHemi_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.hemi_cff import * -from CMGTools.Common.factories.cmgDiHemi_cfi import * - -diHemiSequence = cms.Sequence( - hemiSequence + - cmgDiHemi -) diff --git a/CMGTools/Common/python/diMuon_cff.py b/CMGTools/Common/python/diMuon_cff.py deleted file mode 100644 index 0d526e3274c9..000000000000 --- a/CMGTools/Common/python/diMuon_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgDiMuon_cfi import * -from CMGTools.Common.skims.cmgDiMuonSel_cfi import * - -diMuonSequence = cms.Sequence( - cmgDiMuon + - cmgDiMuonSel -) diff --git a/CMGTools/Common/python/diTau_cff.py b/CMGTools/Common/python/diTau_cff.py deleted file mode 100644 index 1d42ffd37e76..000000000000 --- a/CMGTools/Common/python/diTau_cff.py +++ /dev/null @@ -1,27 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgDiTau_cfi import * -from CMGTools.Common.skims.cmgDiTauSel_cfi import * - -from CMGTools.Common.factories.cmgTauMu_cfi import * -from CMGTools.Common.skims.cmgTauMuSel_cfi import * - -from CMGTools.Common.factories.cmgTauEle_cfi import * -from CMGTools.Common.skims.cmgTauEleSel_cfi import * - -from CMGTools.Common.factories.cmgTauEle_cfi import * -from CMGTools.Common.skims.cmgTauEleSel_cfi import * - -from CMGTools.Common.factories.cmgMuEle_cfi import * -from CMGTools.Common.skims.cmgMuEleSel_cfi import * - -diTauSequence = cms.Sequence( - cmgDiTau + - cmgDiTauSel + - cmgTauMu + - cmgTauMuSel + - cmgTauEle + - cmgTauEleSel + - cmgMuEle + - cmgMuEleSel -) diff --git a/CMGTools/Common/python/electron_cff.py b/CMGTools/Common/python/electron_cff.py deleted file mode 100644 index 7f1040c9fe84..000000000000 --- a/CMGTools/Common/python/electron_cff.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgElectron_cfi import * -from CMGTools.Common.skims.cmgElectronSel_cfi import * -from CMGTools.Common.diElectron_cff import * - -electronSequence = cms.Sequence( - cmgElectron + - cmgElectronSel + - diElectronSequence - # cmgElectronCount + - # cmgElectronHistograms -) diff --git a/CMGTools/Common/python/eventCleaning/HBHEFilters_cff.py b/CMGTools/Common/python/eventCleaning/HBHEFilters_cff.py deleted file mode 100644 index fcb4bcd89bad..000000000000 --- a/CMGTools/Common/python/eventCleaning/HBHEFilters_cff.py +++ /dev/null @@ -1,29 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -## HBHE filters - - -from CMGTools.Common.eventCleaning.HBHENoiseFilter2010_cfi import * -from CMGTools.Common.eventCleaning.HBHENoiseFilter2011IsoDefault_cfi import * -from CMGTools.Common.eventCleaning.HBHENoiseFilter2011NonIsoRecommended_cfi import * - - -HBHEFiltersSequence = cms.Sequence( - HBHENoiseFilter2010 + - HBHENoiseFilter2011IsoDefault + - HBHENoiseFilter2011NonIsoRecommended - ) - - -from CMGTools.Common.eventCleaning.HBHENoiseFilterResultProducer2010_cfi import * -from CMGTools.Common.eventCleaning.HBHENoiseFilterResultProducer2011IsoDefault_cfi import * -from CMGTools.Common.eventCleaning.HBHENoiseFilterResultProducer2011NonIsoRecommended_cfi import * - - -HBHEFiltersTaggingSequence = cms.Sequence( - HBHENoiseFilterResultProducer2010 + - HBHENoiseFilterResultProducer2011IsoDefault + - HBHENoiseFilterResultProducer2011NonIsoRecommended - ) - - diff --git a/CMGTools/Common/python/eventCleaning/HBHENoiseFilter2010_cfi.py b/CMGTools/Common/python/eventCleaning/HBHENoiseFilter2010_cfi.py deleted file mode 100644 index fc37c5c7923e..000000000000 --- a/CMGTools/Common/python/eventCleaning/HBHENoiseFilter2010_cfi.py +++ /dev/null @@ -1,22 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -HBHENoiseFilter2010 = cms.EDFilter( - 'HBHENoiseFilter', - noiselabel = cms.InputTag('hcalnoise'), - minRatio = cms.double(0.70),#use old E2/E10 cut - maxRatio = cms.double(0.96),#use old E2/E10 cut - useTS4TS5 = cms.bool(False),#do not use R45 cut - minHPDHits = cms.int32(17), - minRBXHits = cms.int32(999), - minHPDNoOtherHits = cms.int32(10), - minZeros = cms.int32(10), - minHighEHitTime = cms.double(-9999.0), - maxHighEHitTime = cms.double(9999.0), - maxRBXEMF = cms.double(-9999.0), - minNumIsolatedNoiseChannels = cms.int32(999999), #do not use isolation - minIsolatedNoiseSumE = cms.double(999999.), - minIsolatedNoiseSumEt = cms.double(999999.) - ) - - diff --git a/CMGTools/Common/python/eventCleaning/HBHENoiseFilter2011IsoDefault_cfi.py b/CMGTools/Common/python/eventCleaning/HBHENoiseFilter2011IsoDefault_cfi.py deleted file mode 100644 index 62a63602e97a..000000000000 --- a/CMGTools/Common/python/eventCleaning/HBHENoiseFilter2011IsoDefault_cfi.py +++ /dev/null @@ -1,19 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -HBHENoiseFilter2011IsoDefault = cms.EDFilter( - 'HBHENoiseFilter', - noiselabel = cms.InputTag('hcalnoise'), - minRatio = cms.double(-999.0), - maxRatio = cms.double(999.0), - useTS4TS5 = cms.bool(True), #use R45 - minHPDHits = cms.int32(17), - minRBXHits = cms.int32(999), - minHPDNoOtherHits = cms.int32(10), - minZeros = cms.int32(10), - minHighEHitTime = cms.double(-9999.0), - maxHighEHitTime = cms.double(9999.0), - maxRBXEMF = cms.double(-999.0), - minNumIsolatedNoiseChannels = cms.int32(10), #use Isolation - minIsolatedNoiseSumE = cms.double(50.0), - minIsolatedNoiseSumEt = cms.double(25.0), - ) diff --git a/CMGTools/Common/python/eventCleaning/HBHENoiseFilter2011NonIsoRecommended_cfi.py b/CMGTools/Common/python/eventCleaning/HBHENoiseFilter2011NonIsoRecommended_cfi.py deleted file mode 100644 index e675aa068a33..000000000000 --- a/CMGTools/Common/python/eventCleaning/HBHENoiseFilter2011NonIsoRecommended_cfi.py +++ /dev/null @@ -1,20 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -HBHENoiseFilter2011NonIsoRecommended = cms.EDFilter( - 'HBHENoiseFilter', - noiselabel = cms.InputTag('hcalnoise'), - minRatio = cms.double(-999.0), - maxRatio = cms.double(999.0), - useTS4TS5 = cms.bool(True), #use R45 - minHPDHits = cms.int32(17), - minRBXHits = cms.int32(999), - minHPDNoOtherHits = cms.int32(10), - minZeros = cms.int32(10), - minHighEHitTime = cms.double(-9999.0), - maxHighEHitTime = cms.double(9999.0), - maxRBXEMF = cms.double(-999.0), - minNumIsolatedNoiseChannels = cms.int32(999999), #do not use isolation - minIsolatedNoiseSumE = cms.double(999999.), - minIsolatedNoiseSumEt = cms.double(999999.) - ) diff --git a/CMGTools/Common/python/eventCleaning/HBHENoiseFilterResultProducer2010_cfi.py b/CMGTools/Common/python/eventCleaning/HBHENoiseFilterResultProducer2010_cfi.py deleted file mode 100644 index 5cefe056f4cb..000000000000 --- a/CMGTools/Common/python/eventCleaning/HBHENoiseFilterResultProducer2010_cfi.py +++ /dev/null @@ -1,22 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -HBHENoiseFilterResultProducer2010 = cms.EDProducer( - 'HBHENoiseFilterResultProducer', - noiselabel = cms.InputTag('hcalnoise'), - minRatio = cms.double(0.70),#use old E2/E10 cut - maxRatio = cms.double(0.96),#use old E2/E10 cut - useTS4TS5 = cms.bool(False),#do not use R45 cut - minHPDHits = cms.int32(17), - minRBXHits = cms.int32(999), - minHPDNoOtherHits = cms.int32(10), - minZeros = cms.int32(10), - minHighEHitTime = cms.double(-9999.0), - maxHighEHitTime = cms.double(9999.0), - maxRBXEMF = cms.double(-9999.0), - minNumIsolatedNoiseChannels = cms.int32(999999), #do not use isolation - minIsolatedNoiseSumE = cms.double(999999.), - minIsolatedNoiseSumEt = cms.double(999999.) - ) - - diff --git a/CMGTools/Common/python/eventCleaning/HBHENoiseFilterResultProducer2011IsoDefault_cfi.py b/CMGTools/Common/python/eventCleaning/HBHENoiseFilterResultProducer2011IsoDefault_cfi.py deleted file mode 100644 index c58e7e8da011..000000000000 --- a/CMGTools/Common/python/eventCleaning/HBHENoiseFilterResultProducer2011IsoDefault_cfi.py +++ /dev/null @@ -1,20 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -HBHENoiseFilterResultProducer2011IsoDefault = cms.EDProducer( - 'HBHENoiseFilterResultProducer', - noiselabel = cms.InputTag('hcalnoise'), - minRatio = cms.double(-999.0), - maxRatio = cms.double(999.0), - useTS4TS5 = cms.bool(True), #use R45 - minHPDHits = cms.int32(17), - minRBXHits = cms.int32(999), - minHPDNoOtherHits = cms.int32(10), - minZeros = cms.int32(10), - minHighEHitTime = cms.double(-9999.0), - maxHighEHitTime = cms.double(9999.0), - maxRBXEMF = cms.double(-999.0), - minNumIsolatedNoiseChannels = cms.int32(10), #use Isolation - minIsolatedNoiseSumE = cms.double(50.0), - minIsolatedNoiseSumEt = cms.double(25.0), - ) diff --git a/CMGTools/Common/python/eventCleaning/HBHENoiseFilterResultProducer2011NonIsoRecommended_cfi.py b/CMGTools/Common/python/eventCleaning/HBHENoiseFilterResultProducer2011NonIsoRecommended_cfi.py deleted file mode 100644 index b440920d5341..000000000000 --- a/CMGTools/Common/python/eventCleaning/HBHENoiseFilterResultProducer2011NonIsoRecommended_cfi.py +++ /dev/null @@ -1,21 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - - -HBHENoiseFilterResultProducer2011NonIsoRecommended = cms.EDProducer( - 'HBHENoiseFilterResultProducer', - noiselabel = cms.InputTag('hcalnoise'), - minRatio = cms.double(-999.0), - maxRatio = cms.double(999.0), - useTS4TS5 = cms.bool(True), #use R45 - minHPDHits = cms.int32(17), - minRBXHits = cms.int32(999), - minHPDNoOtherHits = cms.int32(10), - minZeros = cms.int32(10), - minHighEHitTime = cms.double(-9999.0), - maxHighEHitTime = cms.double(9999.0), - maxRBXEMF = cms.double(-999.0), - minNumIsolatedNoiseChannels = cms.int32(999999), #do not use isolation - minIsolatedNoiseSumE = cms.double(999999.), - minIsolatedNoiseSumEt = cms.double(999999.) - ) diff --git a/CMGTools/Common/python/eventCleaning/eeNoiseFilter_cfi.py b/CMGTools/Common/python/eventCleaning/eeNoiseFilter_cfi.py deleted file mode 100644 index eda7a2cf7a90..000000000000 --- a/CMGTools/Common/python/eventCleaning/eeNoiseFilter_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ - -import FWCore.ParameterSet.Config as cms - -eeNoiseFilter = cms.EDFilter( - "EENoiseFilter", - EERecHitSource = cms.InputTag('reducedEcalRecHitsEE'), - MaxNrRecHits = cms.uint32(2000), - TaggingMode = cms.bool(True) -) diff --git a/CMGTools/Common/python/eventCleaning/eventCleaning_cff.py b/CMGTools/Common/python/eventCleaning/eventCleaning_cff.py deleted file mode 100644 index a770bf5bf724..000000000000 --- a/CMGTools/Common/python/eventCleaning/eventCleaning_cff.py +++ /dev/null @@ -1,84 +0,0 @@ -#Colin&Will : this file is obsolete and will be removed soon - -import FWCore.ParameterSet.Config as cms - -from RecoParticleFlow.PostProcessing.selectGoodPFEvents_cff import * - -# HCAL noise filter - -# from CommonTools.RecoAlgos.HBHENoiseFilterResultProducer_cfi import * - -# see https://hypernews.cern.ch/HyperNews/CMS/get/JetMET/1196.html -# HBHENoiseFilterResultProducer.minIsolatedNoiseSumE = 999999. -# HBHENoiseFilterResultProducer.minNumIsolatedNoiseChannels = 999999 -# HBHENoiseFilterResultProducer.minIsolatedNoiseSumEt = 999999. - -from CMGTools.Common.eventCleaning.HBHEFilters_cff import * - -# ECAL missing channels - -# TP filter - -# from JetMETAnalysis.ecalDeadCellTools.RA2TPfilter_cff import * -# ecalDeadCellTPfilter.taggingMode = True - -# ecalDeadCellTaggingSequence = cms.Sequence( -# ecalDeadCellTPfilter -# ) - -# Filter against bad recovery of EE rechits - -from CMGTools.Common.eventCleaning.recovRecHitFilter_cfi import * - -# Filter against ECAL+CSC noise - -from CMGTools.Common.eventCleaning.eeNoiseFilter_cfi import * - -# Tracking failure filter - -from CMGTools.Common.eventCleaning.trackingFailureFilter_cfi import * - -# PV filter in tagging mode - -from CMGTools.Common.eventCleaning.goodPrimaryVertexFilter_cfi import * - -# scraping filter in tagging mode - -from CMGTools.Common.eventCleaning.scrapingFilter_cfi import * - - -eventCleaningTaggingSequence = cms.Sequence( - # ecalDeadCellTaggingSequence + - HBHEFiltersTaggingSequence + - selectGoodPFEventsTaggingSequence + - recovRecHitFilter + - eeNoiseFilter + - trackingFailureFilterCMG + - goodPrimaryVertexFilter + - scrapingFilter - ) -from CMGTools.Common.eventCleaning.goodPVFilter_cfi import * - -eventCleaningFilteringSequence = cms.Sequence( - scrapingFilter + - goodPVFilter - ) - -eventCleaningSequence = cms.Sequence( - eventCleaningTaggingSequence - # eventCleaningFilteringSequence # Now we apply the filters in tagging mode - # selectGoodPFEventsSequence + - # note: the following will produce a boolean in the EDM but - # does not filter events - # HBHENoiseFilterResultProducer + - # HBHEFiltersTaggingSequence + - # selectGoodPFEventsTaggingSequence - #COLIN: uncomment the following when the filter is running in tagging mode - # + ecalDeadCellTaggingSequence - ) - -# importing paths and output modules to select bad events in RECOSIM format -# one path per filter. -# each path should be added to the schedule, and the corresponding -# output modules to the endpath -# from RecoParticleFlow.PostProcessing.badPFEvents_cff import * diff --git a/CMGTools/Common/python/eventCleaning/goodPVFilter_cfi.py b/CMGTools/Common/python/eventCleaning/goodPVFilter_cfi.py deleted file mode 100644 index d550fff417c6..000000000000 --- a/CMGTools/Common/python/eventCleaning/goodPVFilter_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -## select events with at least one good PV -goodPVFilter = cms.EDFilter( - "VertexSelector", - src = cms.InputTag("offlineSlimmedPrimaryVertices"), - cut = cms.string("!isFake && ndof > 4 && abs(z) <= 24 && position.Rho <= 2"), - filter = cms.bool(True), # otherwise it won't filter the events, just produce an empty vertex collection. - ) - - diff --git a/CMGTools/Common/python/eventCleaning/goodPrimaryVertexFilter_cfi.py b/CMGTools/Common/python/eventCleaning/goodPrimaryVertexFilter_cfi.py deleted file mode 100644 index 04606e44c219..000000000000 --- a/CMGTools/Common/python/eventCleaning/goodPrimaryVertexFilter_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ - -import FWCore.ParameterSet.Config as cms - -goodPrimaryVertexFilter = cms.EDFilter( - "GoodPrimaryVertexFilter", - VertexSource = cms.InputTag('offlinePrimaryVertices'), - debugOn = cms.untracked.bool(False), - TaggingMode = cms.bool(True) -) diff --git a/CMGTools/Common/python/eventCleaning/recovRecHitFilter_cfi.py b/CMGTools/Common/python/eventCleaning/recovRecHitFilter_cfi.py deleted file mode 100644 index b57dea5d20f1..000000000000 --- a/CMGTools/Common/python/eventCleaning/recovRecHitFilter_cfi.py +++ /dev/null @@ -1,10 +0,0 @@ - -import FWCore.ParameterSet.Config as cms - -recovRecHitFilter = cms.EDFilter( - "RecovRecHitFilter", - EERecHitSource = cms.InputTag('reducedEcalRecHitsEE'), - # EERecHitSource = cms.InputTag("ecalRecHit:EcalRecHitsEE"), - MinRecovE = cms.double(30), - TaggingMode = cms.bool(True) -) diff --git a/CMGTools/Common/python/eventCleaning/scrapingFilter_cfi.py b/CMGTools/Common/python/eventCleaning/scrapingFilter_cfi.py deleted file mode 100644 index b736138e61f9..000000000000 --- a/CMGTools/Common/python/eventCleaning/scrapingFilter_cfi.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#scrapingFilter = cms.EDFilter("FilterOutScraping", -# applyfilter = cms.untracked.bool(True), -scrapingFilter = cms.EDFilter("ScrapingFilter", - debugOn = cms.untracked.bool(False), - numtrack = cms.untracked.uint32(10), - thresh = cms.untracked.double(0.25), - TaggingMode = cms.bool(True) - ) diff --git a/CMGTools/Common/python/eventCleaning/totalKinematicsFilterCMG_cfi.py b/CMGTools/Common/python/eventCleaning/totalKinematicsFilterCMG_cfi.py deleted file mode 100644 index 7ed4f16b8a39..000000000000 --- a/CMGTools/Common/python/eventCleaning/totalKinematicsFilterCMG_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -totalKinematicsFilterCMG = cms.EDFilter('TotalKinematicsFilterCMG', - src = cms.InputTag("genParticles"), - tolerance = cms.double(0.5), - debugOn = cms.untracked.bool(False), - TaggingMode = cms.bool(True) -) diff --git a/CMGTools/Common/python/eventCleaning/trackingFailureFilter_cfi.py b/CMGTools/Common/python/eventCleaning/trackingFailureFilter_cfi.py deleted file mode 100644 index 9aa38e685a34..000000000000 --- a/CMGTools/Common/python/eventCleaning/trackingFailureFilter_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ - -import FWCore.ParameterSet.Config as cms - -trackingFailureFilterCMG = cms.EDFilter( - "TrackingFailureFilterCMG", - # Steven was using AK5PFJets - JetSource = cms.InputTag('pfJetsAK5'), - TrackSource = cms.InputTag('generalTracks'), - # Steven was using a collection of good vertices - VertexSource = cms.InputTag('offlinePrimaryVertices'), - DzTrVtxMax = cms.double(1), - DxyTrVtxMax = cms.double(0.2), - MinSumPtOverHT = cms.double(0.10), - TaggingMode = cms.bool(True) -) diff --git a/CMGTools/Common/python/eventContent/eventCleaning_cff.py b/CMGTools/Common/python/eventContent/eventCleaning_cff.py deleted file mode 100644 index 02c8a7c32059..000000000000 --- a/CMGTools/Common/python/eventContent/eventCleaning_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoParticleFlow.PostProcessing.pfPostProcessingEventContent_cff import pfPostProcessingEventContent - -eventCleaning = pfPostProcessingEventContent -eventCleaning += cms.untracked.vstring( - 'keep edmTriggerResults_TriggerResults_*_*' - ) - diff --git a/CMGTools/Common/python/eventContent/eventCleaning_cff.py~ b/CMGTools/Common/python/eventContent/eventCleaning_cff.py~ deleted file mode 100644 index 02c8a7c32059..000000000000 --- a/CMGTools/Common/python/eventContent/eventCleaning_cff.py~ +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from RecoParticleFlow.PostProcessing.pfPostProcessingEventContent_cff import pfPostProcessingEventContent - -eventCleaning = pfPostProcessingEventContent -eventCleaning += cms.untracked.vstring( - 'keep edmTriggerResults_TriggerResults_*_*' - ) - diff --git a/CMGTools/Common/python/eventContent/everything_cff.py b/CMGTools/Common/python/eventContent/everything_cff.py deleted file mode 100644 index 15b0a81d4765..000000000000 --- a/CMGTools/Common/python/eventContent/everything_cff.py +++ /dev/null @@ -1,35 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.eventContent.particleFlow_cff import * -from CMGTools.Common.eventContent.traditional_cff import * -from CMGTools.Common.eventContent.trigger_cff import * -from CMGTools.Common.eventContent.gen_cff import * -from CMGTools.Common.eventContent.eventCleaning_cff import * -from CMGTools.Common.eventContent.runInfoAccounting_cff import * - -patObjects = cms.untracked.vstring( - 'drop patTaus_selectedPat*_*_*', - 'drop patElectrons_*_*_*', - 'keep patElectrons_patElectronsWithTrigger_*_*', - 'drop patMuons_*_*_*', - 'keep patMuons_patMuonsWithTrigger_*_*', - 'drop patElectrons_*AK5NoPUSub_*_*', - 'drop patMuons_*AK5NoPUSub_*_*', - #COLIN : the following should be in traditional_cff - 'keep edmMergeableCounter_*_*_*', - 'keep cmgPhotons_selectedPat*_*_*', - 'keep recoVertexs_offlinePrimaryVertices_*_*', - 'keep recoPFMETs_pfMetForRegression__*', - 'keep double_*_rho_*', - 'keep *_nJetsPtGt1_*_*', - 'keep recoPFMETs_nopuMet__*', - 'keep recoPFMETs_puMet__*', - 'keep recoPFMETs_pcMet__*', - 'keep recoPFMETs_tkMet__*', - 'keep recoCaloMETs_*_*_*', - 'keep *_ak5SoftPFJetsForVbfHbb__*' - ) - -everything = particleFlow + traditional + patObjects + runInfoAccounting + trigger + gen + eventCleaning - -MHT = particleFlowMHT + traditionalMHT diff --git a/CMGTools/Common/python/eventContent/gen_cff.py b/CMGTools/Common/python/eventContent/gen_cff.py deleted file mode 100644 index 65982bd571ae..000000000000 --- a/CMGTools/Common/python/eventContent/gen_cff.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -gen = cms.untracked.vstring( - #'keep recoGenParticles_genParticlesStatus3_*_*', - 'keep recoGenParticles_genParticlesPruned_*_*', - #'keep recoGenParticles_genLeptonsStatus2_*_*', - #'keep recoGenParticles_genLeptonsStatus1_*_*', - 'keep recoGenJetedmPtrcmgPhysicsObjectWithPtrs_genJetSel_*_*', - 'keep recoGenJets_tauGenJetsSelectorAllHadrons*_*_PAT', - 'keep *_addPileupInfo_*_*', - 'keep GenEventInfoProduct_*_*_*', - 'keep LHEEventProduct_*_*_*' - ) - diff --git a/CMGTools/Common/python/eventContent/particleFlow_cff.py b/CMGTools/Common/python/eventContent/particleFlow_cff.py deleted file mode 100644 index 1398175dd35c..000000000000 --- a/CMGTools/Common/python/eventContent/particleFlow_cff.py +++ /dev/null @@ -1,82 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -particleFlowJets = cms.untracked.vstring( - 'keep *_cmgPFJetSel*_*_*', - 'keep *_cmgPFJetLead*_*_*', - 'keep *_cmgPFBaseJetLead*_*_*', - 'keep cmgAbstractPhysicsObjects_*PF*Jet*_*_*', - 'keep *_cmgPFJet*JetId*Failed_*_*', - # here add all PF jet objects, even the base ones. - 'keep *_cmgStructuredPFJetSel*_*_*', - ) - -particleFlowMET = cms.untracked.vstring( - 'keep *_cmgPFMET*_*_*', - 'drop *_cmgPFMETSel*_*_*', - # 'keep *_cmgMETPFCandidates*_*_*', - # here add the other PF-based MET objects, even the base ones. - ) - -# to be added to the output module if needed -particleFlowMHT = cms.untracked.vstring( - 'keep *_cmgMHTPFJet30*_*_*' - ) - -particleFlowMuons = cms.untracked.vstring( - # does not look like PF? - 'keep *_cmgMuonSel*_*_*', - #'keep *_cmgDiMuonSel*_*_*', - 'drop *_cmg*Muon*AK5NoPUSub*_*_*' - ) - -particleFlowTaus = cms.untracked.vstring( - # does not look like PF? - 'keep *_cmgTauSel*_*_*', - 'keep *_cmgDiTauSel*_*_*' - ) - -particleFlowElectrons = cms.untracked.vstring( - 'keep *_cmgElectronSel*_*_*', - #'keep *_cmgDiElectronSel*_*_*', - 'drop *_cmg*Electron*AK5NoPUSub*_*_*' - ) - -particleFlowPhotons = cms.untracked.vstring( - # does not look like PF? - 'keep *_cmgPhotonSel*_*_*', - 'keep *_cmgDiPhotonSel*_*_*' - ) - -particleFlowW = cms.untracked.vstring( - # does not look like PF? - 'keep *_cmgWENuSel*_*_*', - 'keep *_cmgWMuNuSel*_*_*', - 'keep *_cmgWTauNu_*_*' - ) - -particleFlowHemispheres = cms.untracked.vstring( - 'keep *_cmgHemi_*_*', - 'keep *_cmgDiHemi_*_*', - ) - -particleFlowMisc = cms.untracked.vstring( - # 'keep *_simpleParticleFlow_*_*', - 'keep *_deltaPhiJetMET_*_*', - 'keep *_pfMetSignificance*_*_*', - 'keep double_kt6PFJets*_rho_*', - 'keep int_*Size_*_*', - 'keep double_vertexWeight*_*_*', - #Jose: needed for tau embedded samples - 'keep double_*_*_Embedded*', - #Andreas: small size PF candidates - 'keep cmgCandidates_cmgCandidates__*', - ) - -particleFlow = particleFlowJets + particleFlowMET + particleFlowMuons + particleFlowTaus + particleFlowElectrons + particleFlowPhotons + particleFlowW + particleFlowHemispheres + particleFlowMisc - - -particleFlowBase = cms.untracked.vstring( - 'keep *_cmgPFBaseJetSel*_*_*', - # here add the other generic PF objects - ) diff --git a/CMGTools/Common/python/eventContent/patEventContentCMG_cff.py b/CMGTools/Common/python/eventContent/patEventContentCMG_cff.py deleted file mode 100644 index 93ef34c96511..000000000000 --- a/CMGTools/Common/python/eventContent/patEventContentCMG_cff.py +++ /dev/null @@ -1,73 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from PhysicsTools.PatAlgos.patEventContent_cff import patEventContentNoCleaning, patTriggerEventContent, patTriggerStandAloneEventContent - -from CMGTools.Common.eventContent.everything_cff import everything - -patEventContentCMG = cms.untracked.vstring() -patEventContentCMG.extend( patEventContentNoCleaning ) -patEventContentCMG.extend( patTriggerEventContent ) -patEventContentCMG.extend( patTriggerStandAloneEventContent ) - -patEventContentCMG.extend([ - # all the commented lines are needed at CMG-tuple step if we do a simple cloning of the sequences. Need to see if we can gain time / disk space later by organizing the CMG sequences properly - # 'drop patElectrons_selectedPat*_*_*', - # 'keep patElectrons_patElectronsWithTrigger_*_*', - 'keep *_allConversions_*_*', - 'keep patConversions_patConversions_*_*', - # 'drop patMuons_selectedPatMuons_*_*', - # 'keep patMuons_patMuonsWithMVA_*_*', - 'drop patTriggerObjectStandAlonesedmAssociation_*_*_*', - # FIXME trying to get access to tau lead track... external embedding maybe? - # 'keep recoTracks_*_*_PAT', - 'keep *_selectedPatTaus_*_*', - 'keep *_selectedPatTausAK5*_*_*', - 'drop *_selectedPatMuonsAK5NoPUSub_*_*', - 'drop *_selectedPatElectronsAK5NoPUSub_*_*', - 'drop CaloTowers_*_*_*', - 'drop patPFParticles_*_*_*', - 'keep recoVertexs_*_*_*', - 'keep recoPFCandidates_*_*_RECO', - # drop intermediate PFBRECO collections - 'drop recoPFCandidates_*_*_PAT', - # the following collection is the collection of PFCandidates used to build the no CHS jets. - 'keep recoPFCandidates_pfNoPileUp_*_*', - 'keep recoGenParticles_*_*_*', - 'keep recoBeamSpot_*_*_*', - 'keep L1GlobalTriggerObjectMapRecord_*_*_*', - 'keep L1GlobalTriggerReadoutRecord_gtDigis_*_*', - 'keep *_TriggerResults_*_*', - 'keep *_hltTriggerSummaryAOD_*_*', - # this guys is already present in the AK5 sequence - 'drop recoVertexs_goodOfflinePrimaryVerticesLC_*_*', - 'keep *_PFMETSignificance*_*_*', - 'keep recoPFMETs_pfMetForRegression__*', - 'keep recoPFMETs_nopuMet__*', - 'keep recoPFMETs_puMet__*', - 'keep recoPFMETs_pcMet__*', - 'keep recoPFMETs_tkMet__*', - 'keep double_*_rho_*', - # drop pat genjets embedding collections - 'drop recoGenJets_*Pat*_genJets_PAT', - 'keep recoGenJets_ak5GenJetsNoNu_*_*', - # keep pruned jets - 'keep recoPFJets_ak5PFJetsCHSpruned_SubJets_*', - 'keep patJets_selectedPatJetsCHSpruned_*_*', - 'keep *_puJetId_*_*', - 'keep *_puJetIdCHS_*_*', - 'keep *_phPFIsoDepositCharged_*_*', - 'keep *_phPFIsoDepositChargedAll_*_*', - 'keep *_phPFIsoDepositNeutral_*_*', - 'keep *_phPFIsoDepositGamma_*_*', - 'keep *_phPFIsoDepositPU_*_*', - 'keep *_pfSelectedPhotons_*_*', - 'keep *_particleFlow_*_PAT', - # drop selectedPatJets - 'drop *_selectedPatJets_*_*', - 'drop *_selectedPatJetsCHS_*_*', - # keep extended pat jets - 'keep *_patJetsWithVar*_*_*', - 'keep *_ak5SoftPFJetsForVbfHbb__*' - ]) - -patEventContentCMG.extend( everything ) diff --git a/CMGTools/Common/python/eventContent/reco_cff.py b/CMGTools/Common/python/eventContent/reco_cff.py deleted file mode 100644 index 172dcc12a59b..000000000000 --- a/CMGTools/Common/python/eventContent/reco_cff.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -reco = cms.untracked.vstring( - 'keep recoVertexs_offlinePrimaryVertices_*_*', - 'drop recoVertexs_goodOffline*_*_*' - ) - diff --git a/CMGTools/Common/python/eventContent/runInfoAccounting_cff.py b/CMGTools/Common/python/eventContent/runInfoAccounting_cff.py deleted file mode 100644 index 8caa5a66bd19..000000000000 --- a/CMGTools/Common/python/eventContent/runInfoAccounting_cff.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -runInfoAccounting = cms.untracked.vstring( -# 'keep *_MEtoEDMConverter_*_*', - 'keep GenRunInfoProduct_*_*_*', - 'keep GenFilterInfo_*_*_*' - ) diff --git a/CMGTools/Common/python/eventContent/traditional_cff.py b/CMGTools/Common/python/eventContent/traditional_cff.py deleted file mode 100644 index eb9542f7faac..000000000000 --- a/CMGTools/Common/python/eventContent/traditional_cff.py +++ /dev/null @@ -1,27 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -traditionalJets = cms.untracked.vstring( - 'keep cmgBaseJets_*Calo*JetSel*_*_*', - # 'keep cmgAbstractPhysicsObjects_*Calo*Jet_*_*' - # here add all PF jet objects, even the base ones. - ) - -traditionalMET = cms.untracked.vstring( - # 'keep patMETs_patMETs_*_*' - 'keep *_cmgCaloMET*_*_*' - ) - -# to be added to the output module if needed -traditionalMHT = cms.untracked.vstring( - 'keep *_cmgMHTCaloJet*_*_*' - ) - -traditional = traditionalJets + traditionalMET - - -traditionalBase = cms.untracked.vstring( - 'keep *_cmgCaloBaseJetSel*_*_*' - # here add the other generic PF objects - ) - - diff --git a/CMGTools/Common/python/eventContent/trigger_cff.py b/CMGTools/Common/python/eventContent/trigger_cff.py deleted file mode 100644 index 4a4a1b465125..000000000000 --- a/CMGTools/Common/python/eventContent/trigger_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -trigger = cms.untracked.vstring( - 'drop cmgTriggerObjects_*_*_*', - 'keep cmgTriggerObjects_cmgTriggerObjectSel_*_*', - 'keep cmgTriggerObjects_cmgTriggerObjectListSel_*_*', - 'keep cmgTriggerObjects_cmgL1TriggerObjectSel_*_*', - 'keep *_TriggerResults_*_ANA', - 'keep *_TriggerResults_*_PAT', - 'keep *_l1extraParticles_*_*' - ) - diff --git a/CMGTools/Common/python/factories/cmgBaseCandMET_cfi.py b/CMGTools/Common/python/factories/cmgBaseCandMET_cfi.py deleted file mode 100644 index 78c5e736b280..000000000000 --- a/CMGTools/Common/python/factories/cmgBaseCandMET_cfi.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -baseMETFactory = cms.PSet( - inputCollection = cms.InputTag("patJetsWithVar"), - ptThreshold = cms.double( 0.0 ) - ) -from CMGTools.Common.selections.kinematics_cfi import kinematics -cmgBaseCandMET = cms.EDFilter( - "BaseMETPOProducer", - cuts = cms.PSet(), - cfg = baseMETFactory.clone() -) diff --git a/CMGTools/Common/python/factories/cmgBaseJetScaler_cfi.py b/CMGTools/Common/python/factories/cmgBaseJetScaler_cfi.py deleted file mode 100644 index eb44bb98e788..000000000000 --- a/CMGTools/Common/python/factories/cmgBaseJetScaler_cfi.py +++ /dev/null @@ -1,24 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.kinematics_cfi import kinematics - -baseJetScaler = cms.PSet( - inputCollection = cms.InputTag("cmgBaseJet"), - nSigma = cms.double(0.) - ) - -cmgBaseJetUp = cms.EDFilter( - "BaseJetPOScaler", - cfg = baseJetScaler.clone(nSigma = 2.), - cuts = cms.PSet( - jetKinematics = kinematics.clone() - ) -) - -cmgBaseJetDown = cms.EDFilter( - "BaseJetPOScaler", - cfg = baseJetScaler.clone(nSigma = -2.), - cuts = cms.PSet( - jetKinematics = kinematics.clone() - ) -) diff --git a/CMGTools/Common/python/factories/cmgBaseJet_cfi.py b/CMGTools/Common/python/factories/cmgBaseJet_cfi.py deleted file mode 100644 index 7d39ba5a0c9f..000000000000 --- a/CMGTools/Common/python/factories/cmgBaseJet_cfi.py +++ /dev/null @@ -1,36 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.btaggedjet_cfi import trackCountingHighEffBJetTags, jetProbabilityBJetTags, combinedSecondaryVertexBJetTags - -baseJetFactory = cms.PSet( - inputCollection = cms.InputTag("patJetsWithVar"), - btagType = cms.vstring( - #see https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideBTagPerformance - 'trackCountingHighEffBJetTags',#0 - 'trackCountingHighPurBJetTags',#1 - 'jetProbabilityBJetTags',#2 - 'jetBProbabilityBJetTags',#3 - 'simpleSecondaryVertexHighEffBJetTags',#4 - 'simpleSecondaryVertexHighPurBJetTags',#5 - 'combinedSecondaryVertexBJetTags',#6 - 'combinedSecondaryVertexMVABJetTags'#7 - 'softPFMuonBJetTags', #8 - 'softPFElectronBJetTags', #9 - 'softPFElectronByIP3dBJetTags', #10 - 'softPFElectronByPtBJetTags', #11 - 'softPFMuonByPtBJetTags', #12 - ), - fillJec = cms.bool(True), - fillJecUncertainty = cms.bool(False), - jecPath = cms.string("CMGTools/Common/data/need_to_generate_a_text_file_here") - ) - -cmgBaseJet = cms.EDFilter( - "BaseJetPOProducer", - cfg = baseJetFactory.clone(), - cuts = cms.PSet( - tche = trackCountingHighEffBJetTags.clone(), - jp = jetProbabilityBJetTags.clone(), - csv = combinedSecondaryVertexBJetTags.clone() - ) -) diff --git a/CMGTools/Common/python/factories/cmgBaseMETFromPFMET_cfi.py b/CMGTools/Common/python/factories/cmgBaseMETFromPFMET_cfi.py deleted file mode 100644 index 696a47981e9b..000000000000 --- a/CMGTools/Common/python/factories/cmgBaseMETFromPFMET_cfi.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -baseMETFactory = cms.PSet( - inputCollection = cms.InputTag("pfMet"), - ptThreshold = cms.double( -1.0 ) #not used - ) -from CMGTools.Common.selections.kinematics_cfi import kinematics -cmgBaseMETFromPFMET = cms.EDFilter( - "PFMETPOProducer", - cuts = cms.PSet(), - cfg = baseMETFactory.clone() -) diff --git a/CMGTools/Common/python/factories/cmgBaseMET_cfi.py b/CMGTools/Common/python/factories/cmgBaseMET_cfi.py deleted file mode 100644 index a7e0a50e1418..000000000000 --- a/CMGTools/Common/python/factories/cmgBaseMET_cfi.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -baseMETFactory = cms.PSet( - inputCollection = cms.InputTag("patMETs"), - ptThreshold = cms.double( -1.0 ) #not used - ) -from CMGTools.Common.selections.kinematics_cfi import kinematics -cmgBaseMET = cms.EDFilter( - "PATMETPOProducer", - cuts = cms.PSet(), - cfg = baseMETFactory.clone() -) diff --git a/CMGTools/Common/python/factories/cmgDiElectron_cfi.py b/CMGTools/Common/python/factories/cmgDiElectron_cfi.py deleted file mode 100644 index 95e46fd7a220..000000000000 --- a/CMGTools/Common/python/factories/cmgDiElectron_cfi.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -diElectronFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag("cmgElectronSel"), - leg2Collection = cms.InputTag("cmgElectronSel"), - metCollection = cms.InputTag("") -) -from CMGTools.Common.selections.zee_cfi import zee -cmgDiElectron = cms.EDFilter( - "DiElectronPOProducer", - cfg = diElectronFactory.clone(), - cuts = cms.PSet( - zee = zee.clone() - ), - ) - - diff --git a/CMGTools/Common/python/factories/cmgDiFatJet_cfi.py b/CMGTools/Common/python/factories/cmgDiFatJet_cfi.py deleted file mode 100644 index 8f2042477348..000000000000 --- a/CMGTools/Common/python/factories/cmgDiFatJet_cfi.py +++ /dev/null @@ -1,20 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -diFatJetFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag("cmgFatJet"), - leg2Collection = cms.InputTag("cmgFatJet"), - ) - -from CMGTools.Common.selections.dijet_cfi import dijetKinematics - -cmgDiFatJet = cms.EDFilter( - "DiFatJetPOProducer", - cfg = diFatJetFactory.clone(), - cuts = cms.PSet( - fatDijetKinematics = dijetKinematics.clone(), - ), - verbose = cms.untracked.bool( False ) -) - diff --git a/CMGTools/Common/python/factories/cmgDiHemi_cfi.py b/CMGTools/Common/python/factories/cmgDiHemi_cfi.py deleted file mode 100644 index 21d1e3115db5..000000000000 --- a/CMGTools/Common/python/factories/cmgDiHemi_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory -diHemiFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag("cmgHemi"), - leg2Collection = cms.InputTag("cmgHemi") - ) - -cmgDiHemi = cms.EDFilter("DiHemispherePOProducer", - cfg = diHemiFactory.clone(), - cuts = cms.PSet( - ) -) diff --git a/CMGTools/Common/python/factories/cmgDiJet_cfi.py b/CMGTools/Common/python/factories/cmgDiJet_cfi.py deleted file mode 100644 index 26fc26664691..000000000000 --- a/CMGTools/Common/python/factories/cmgDiJet_cfi.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -diJetFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag("cmgPFJet"), - leg2Collection = cms.InputTag("cmgPFJet"), - ) - -from CMGTools.Common.selections.dijet_cfi import dijetKinematics -cmgDiJet = cms.EDFilter( - "DiJetPOProducer", - cfg = diJetFactory.clone(), - cuts = cms.PSet( - dijetKinematics = dijetKinematics.clone(), - ), - verbose = cms.untracked.bool( False ) -) - diff --git a/CMGTools/Common/python/factories/cmgDiMuon_cfi.py b/CMGTools/Common/python/factories/cmgDiMuon_cfi.py deleted file mode 100644 index f1202a2b1d0a..000000000000 --- a/CMGTools/Common/python/factories/cmgDiMuon_cfi.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -dimuonFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag("cmgMuonSel"), - leg2Collection = cms.InputTag("cmgMuonSel"), -) -# from CMGTools.Common.selections.zmumu_cfi import zmumu -cmgDiMuon = cms.EDFilter( - "DiMuonPOProducer", - cfg = dimuonFactory.clone(), - cuts = cms.PSet( - # zmumu = zmumu.clone() - ), - ) - - diff --git a/CMGTools/Common/python/factories/cmgDiObject_cfi.py b/CMGTools/Common/python/factories/cmgDiObject_cfi.py deleted file mode 100644 index cc3f9d04d425..000000000000 --- a/CMGTools/Common/python/factories/cmgDiObject_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -diObjectFactory = cms.PSet( - leg1Collection = cms.InputTag("dummy"), - leg2Collection = cms.InputTag("dummy"), - metCollection = cms.InputTag(""), - ) diff --git a/CMGTools/Common/python/factories/cmgDiPFCandidate_cfi.py b/CMGTools/Common/python/factories/cmgDiPFCandidate_cfi.py deleted file mode 100644 index e5a22266d424..000000000000 --- a/CMGTools/Common/python/factories/cmgDiPFCandidate_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -cmgDiPFCandidateFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag("particleFlow"), - leg2Collection = cms.InputTag("particleFlow"), -) -cmgDiPFCandidate = cms.EDFilter( - "DiPFCandidatePOProducer", - cfg = cmgDiPFCandidateFactory.clone(), - cuts = cms.PSet( - ), - ) - diff --git a/CMGTools/Common/python/factories/cmgDiPFJet_cfi.py b/CMGTools/Common/python/factories/cmgDiPFJet_cfi.py deleted file mode 100644 index b257baaf29ef..000000000000 --- a/CMGTools/Common/python/factories/cmgDiPFJet_cfi.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -diPFJetFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag("cmgPFJet"), - leg2Collection = cms.InputTag("cmgPFJet"), - ) - -from CMGTools.Common.selections.dijet_cfi import dijetKinematics -cmgDiPFJet = cms.EDFilter( - "DiPFJetPOProducer", - cfg = diPFJetFactory.clone(), - cuts = cms.PSet( - dijetKinematics = dijetKinematics.clone() - ), - verbose = cms.untracked.bool( False ) -) - diff --git a/CMGTools/Common/python/factories/cmgDiTauCor_cfi.py b/CMGTools/Common/python/factories/cmgDiTauCor_cfi.py deleted file mode 100644 index a5ccf0c48e3b..000000000000 --- a/CMGTools/Common/python/factories/cmgDiTauCor_cfi.py +++ /dev/null @@ -1,24 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgDiTauCorFactory = cms.PSet( - # leg1 and leg2 are dummy collections here - leg1Collection = cms.InputTag(''), - leg2Collection = cms.InputTag(''), - #metCollection = cms.InputTag('recoilCorrectedMET'), - diObjectCollection = cms.InputTag('cmgDiTauSel'), - nSigma = cms.double(0), - uncertainty = cms.double(0.03), - shift1ProngNoPi0 = cms.double(0.), - shift1Prong1Pi0 = cms.double(0.012), ## 1.5% +1.0% by Phil for summer 13 (WARINING THIS +1.0% has been turned off) https://indico.cern.ch/getFile.py/access?contribId=24&sessionId=4&resId=0&materialId=slides&confId=252865 - ptDependence1Pi0 = cms.double(0.), - shift3Prong = cms.double(0.012), - ptDependence3Prong = cms.double(0.), - shiftMet = cms.bool(True), - shiftTaus = cms.bool(True) -) - -cmgDiTauCor = cms.EDFilter( - "DiTauUpdatePOProducer", - cfg = cmgDiTauCorFactory.clone(), - cuts = cms.PSet() - ) diff --git a/CMGTools/Common/python/factories/cmgDiTau_cfi.py b/CMGTools/Common/python/factories/cmgDiTau_cfi.py deleted file mode 100644 index 31dea8b8e63a..000000000000 --- a/CMGTools/Common/python/factories/cmgDiTau_cfi.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -ditauFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag("cmgTauSel"), - leg2Collection = cms.InputTag("cmgTauSel"), - metCollection = cms.InputTag('cmgPFMET'), - metsigCollection = cms.InputTag('') - ) - - -cmgDiTau = cms.EDFilter("DiTauPOProducer", - cfg = ditauFactory.clone(), - cuts = cms.PSet( pt = cms.string("pt() > 0"), - mass = cms.string(' 0 < mass() && mass() < 500'), - ) - ) - diff --git a/CMGTools/Common/python/factories/cmgElectron_cfi.py b/CMGTools/Common/python/factories/cmgElectron_cfi.py deleted file mode 100644 index 775dd5fb8615..000000000000 --- a/CMGTools/Common/python/factories/cmgElectron_cfi.py +++ /dev/null @@ -1,22 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -import os - -from CMGTools.Common.factories.cmgLepton_cfi import leptonFactory -electronFactory = cms.PSet( - inputCollection = cms.InputTag("patElectronsWithTrigger"), - primaryVertexCollection = cms.InputTag("offlinePrimaryVerticesWithBS"), - leptonFactory = leptonFactory.clone(), - electronMVAFile = cms.FileInPath("CMGTools/Common/data/TMVA_BDTSimpleCat.weights.xml") - ) - -from CMGTools.Common.selections.cutidelectron_cfi import * - -cmgElectron = cms.EDFilter("ElectronPOProducer", - cfg = electronFactory.clone(), - cuts = cms.PSet( - ecalDriven = cms.string('ecalDriven() == 1'), - isEB = cms.string('sourcePtr().isEB()'), - isEE = cms.string('sourcePtr().isEE()'), - ) -) diff --git a/CMGTools/Common/python/factories/cmgFatJet_cfi.py b/CMGTools/Common/python/factories/cmgFatJet_cfi.py deleted file mode 100644 index 841d843c969e..000000000000 --- a/CMGTools/Common/python/factories/cmgFatJet_cfi.py +++ /dev/null @@ -1,19 +0,0 @@ -###################################################################### - -import FWCore.ParameterSet.Config as cms - -cmgFatJetFactory = cms.PSet( - inputCollection = cms.InputTag("dummy"), - Rmax = cms.double(1.1) - ) - -cmgFatJet = cms.EDFilter( - "FatJetPOProducer", - cfg = cmgFatJetFactory.clone(), - cuts = cms.PSet( - leadingJetKinematics = cms.untracked.string('leadPtr().getSelection(\"All Cuts\")') - ), - verbose = cms.untracked.bool( False ) - ) - -###################################################################### diff --git a/CMGTools/Common/python/factories/cmgHemi_cfi.py b/CMGTools/Common/python/factories/cmgHemi_cfi.py deleted file mode 100644 index 742f31d3e1b8..000000000000 --- a/CMGTools/Common/python/factories/cmgHemi_cfi.py +++ /dev/null @@ -1,20 +0,0 @@ -###################################################################### - -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.kinematics_cfi import kinematics - -hemiFactory = cms.PSet( - inputCollection = cms.VInputTag( cms.InputTag("dummy") ), - maxCand = cms.uint32(30) - ) - -cmgHemi = cms.EDFilter( - "HemispherePOProducer", - cfg = hemiFactory.clone( - inputCollection = cms.VInputTag(cms.InputTag("cmgPFJetSel" ) ) - ), - cuts = cms.PSet(kinematics = kinematics.clone()) - ) - -###################################################################### diff --git a/CMGTools/Common/python/factories/cmgL1TriggerObject_cfi.py b/CMGTools/Common/python/factories/cmgL1TriggerObject_cfi.py deleted file mode 100644 index 1a41aad11dc6..000000000000 --- a/CMGTools/Common/python/factories/cmgL1TriggerObject_cfi.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -l1TriggerObjectFactory = cms.PSet( - L1Results = cms.InputTag("gtDigis"), - ) - -cmgL1TriggerObject = cms.EDFilter("L1TriggerObjectPOProducer", - cfg = l1TriggerObjectFactory.clone(), - cuts = cms.PSet( - ) -) - diff --git a/CMGTools/Common/python/factories/cmgLepton_cfi.py b/CMGTools/Common/python/factories/cmgLepton_cfi.py deleted file mode 100644 index 02358876f55f..000000000000 --- a/CMGTools/Common/python/factories/cmgLepton_cfi.py +++ /dev/null @@ -1,50 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -leptonFactory = cms.PSet( - - # set this to use the isoDeposits rather than the userIsolation - useIsoDeposits = cms.bool(False), - - # set this to false to use pat::TrackIso, pat::HcalIso, and pat::EcalIso - useParticleFlowIso = cms.bool(True), - - ## each IsoPar has a coneSize parameter (radius of the cone inside which - ## the isolation is computed) plus a VPSet called vetoes, made of any of the following - ## vetoes: ThresholdVeto, ConeVeto, RectangularEtaPhiVeto (more vetoes can be implemented if needed) - ## look at DataFormats/RecoCandidate/src/IsoDepositVetos.cc for their meaning. - chargedHadronIsoPar=cms.PSet( - coneSize=cms.double(0.4), - vetoes=cms.VPSet()#no veto - ), - - chargedAllIsoPar=cms.PSet( - coneSize=cms.double(0.4), - vetoes=cms.VPSet()#no veto - ), - - puChargedHadronIsoPar=cms.PSet( - coneSize=cms.double(0.4), - vetoes=cms.VPSet()#no veto - ), - - neutralHadronIsoPar=cms.PSet( - coneSize=cms.double(0.4), - vetoes=cms.VPSet()#no veto - ), - - photonsIsoPar=cms.PSet( - coneSize=cms.double(0.4), - vetoes=cms.VPSet( - cms.PSet( - #see task #15859 for discussion of this veto - type=cms.string("RectangularEtaPhiVeto"), - dEta=cms.double(0.1),# eta width of the strip to be vetoed - dPhi=cms.double(0.2) # phi width of the strip to be vetoed - ) - ) - ), - - vertexCollection = cms.InputTag("offlinePrimaryVertices"), - vertexType = cms.int32(0)#use the primary vertex by default - -) diff --git a/CMGTools/Common/python/factories/cmgMuEleCor_cfi.py b/CMGTools/Common/python/factories/cmgMuEleCor_cfi.py deleted file mode 100644 index f0caa287c055..000000000000 --- a/CMGTools/Common/python/factories/cmgMuEleCor_cfi.py +++ /dev/null @@ -1,22 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgMuEleCorFactory = cms.PSet( - # leg1 and leg2 are dummy collections here - leg1Collection = cms.InputTag(''), - leg2Collection = cms.InputTag(''), - metCollection = cms.InputTag('recoilCorrectedMET'), - diObjectCollection = cms.InputTag('cmgMuEleSel'), - nSigma = cms.double(0), - uncertainty = cms.double(0.03), - shift1ProngNoPi0 = cms.double(0.), - shift1Prong1Pi0 = cms.double(0.), - ptDependence1Pi0 = cms.double(0.), - shift3Prong = cms.double(0.), - ptDependence3Prong = cms.double(0.) -) - -cmgMuEleCor = cms.EDFilter( - "MuEleUpdatePOProducer", - cfg = cmgMuEleCorFactory.clone(), - cuts = cms.PSet() - ) diff --git a/CMGTools/Common/python/factories/cmgMuEle_cfi.py b/CMGTools/Common/python/factories/cmgMuEle_cfi.py deleted file mode 100644 index 01e2de9ac66c..000000000000 --- a/CMGTools/Common/python/factories/cmgMuEle_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -muEleFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag('cmgMuonSel'), - leg2Collection = cms.InputTag('cmgElectronSel'), - metCollection = cms.InputTag("") -) - -cmgMuEle = cms.EDFilter( - "MuElePOProducer", - cfg = muEleFactory.clone(), - cuts = cms.PSet(), - ) diff --git a/CMGTools/Common/python/factories/cmgMultiJet_cfi.py b/CMGTools/Common/python/factories/cmgMultiJet_cfi.py deleted file mode 100644 index 9910026b45ae..000000000000 --- a/CMGTools/Common/python/factories/cmgMultiJet_cfi.py +++ /dev/null @@ -1,19 +0,0 @@ -###################################################################### - -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.kinematics_cfi import kinematics - -multiJetFactory = cms.PSet( - inputCollection = cms.InputTag("dummy") - ) - -cmgMultiJet = cms.EDFilter( - "MultiObjectPOProducer", - cfg = multiJetFactory.clone( - inputCollection = cms.InputTag("cmgPFJetSel") - ), - cuts = cms.PSet(kinematics = kinematics.clone()) - ) - -###################################################################### diff --git a/CMGTools/Common/python/factories/cmgMuon_cfi.py b/CMGTools/Common/python/factories/cmgMuon_cfi.py deleted file mode 100644 index 568a38e34813..000000000000 --- a/CMGTools/Common/python/factories/cmgMuon_cfi.py +++ /dev/null @@ -1,23 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgLepton_cfi import leptonFactory -muonFactory = cms.PSet( - inputCollection = cms.InputTag("patMuonsWithTrigger"), - trackType = cms.int32(0),#use the global track, - muonIDType = cms.string("TMLastStationLoose"),#the flag for a muonID - leptonFactory = leptonFactory.clone() - ) - - -from CMGTools.Common.selections.muonIDs_cfi import * - -cmgMuon = cms.EDFilter("MuonPOProducer", - cfg = muonFactory.clone(), - cuts = cms.PSet( - #loosemuon = loosemuon.clone(), - #softmuonNoVtx = softmuonNoVtx.clone(), - #tightmuonNoVtx = tightmuonNoVtx.clone(), - #highptmuonNoVtx = highptmuonNoVtx.clone(), - #vbtfmuon = vbtfmuon.clone(), - ) -) diff --git a/CMGTools/Common/python/factories/cmgPFCandidate_cfi.py b/CMGTools/Common/python/factories/cmgPFCandidate_cfi.py deleted file mode 100644 index ab6911ecb76a..000000000000 --- a/CMGTools/Common/python/factories/cmgPFCandidate_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.kinematics_cfi import kinematics - -cmgPFCandidate = cms.EDFilter( - "PFCandidatePOProducer", - cfg = cms.PSet( - inputCollection = cms.InputTag("particleFlow") - ), - cuts = cms.PSet( - kinematics = kinematics.clone() - ), -) diff --git a/CMGTools/Common/python/factories/cmgPFJetScaler_cfi.py b/CMGTools/Common/python/factories/cmgPFJetScaler_cfi.py deleted file mode 100644 index 774415eb8c38..000000000000 --- a/CMGTools/Common/python/factories/cmgPFJetScaler_cfi.py +++ /dev/null @@ -1,26 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.kinematics_cfi import kinematics - -baseJetScaler = cms.PSet( - inputCollection = cms.InputTag("cmgPFJet"), - nSigma = cms.double(0.), - uncertainty = cms.double(-1) - ) - -cmgPFJetUp = cms.EDFilter( - "PFJetPOScaler", - #COLIN why 2 and not 1? - cfg = baseJetScaler.clone(nSigma = 2.), - cuts = cms.PSet( - jetKinematics = kinematics.clone() - ) -) - -cmgPFJetDown = cms.EDFilter( - "PFJetPOScaler", - cfg = baseJetScaler.clone(nSigma = -2.), - cuts = cms.PSet( - jetKinematics = kinematics.clone() - ) -) diff --git a/CMGTools/Common/python/factories/cmgPFJet_cfi.py b/CMGTools/Common/python/factories/cmgPFJet_cfi.py deleted file mode 100644 index bf86a4aba671..000000000000 --- a/CMGTools/Common/python/factories/cmgPFJet_cfi.py +++ /dev/null @@ -1,41 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgBaseJet_cfi import baseJetFactory - -from CMGTools.External.pujetidsequence_cff import stdalgos -algolables = [ a.label.value() for a in stdalgos ] - -pfJetFactory = cms.PSet( - inputCollection = cms.InputTag('patJetsWithVar'), - baseJetFactory = baseJetFactory.clone(), - useConstituents = cms.bool( True ), - puVariables = cms.InputTag("puJetId"), - puMvas = cms.VInputTag( cms.InputTag("cmgPUJetMva","%sDiscriminant" % a ) for a in algolables ), - puIds = cms.VInputTag( cms.InputTag("cmgPUJetMva","%sId" % a ) for a in algolables ), - ) - - -from CMGTools.Common.selections.btaggedjet_cfi import * -from CMGTools.Common.selections.jetId_cfi import * - -cmgPFJet = cms.EDFilter( - "PFJetPOProducer", - cfg = pfJetFactory.clone(), - cuts = cms.PSet( - #tchp = trackCountingHighPurBJetTags.clone(), - #tche = trackCountingHighEffBJetTags.clone(), - #jp = jetProbabilityBJetTags.clone(), - #csv = combinedSecondaryVertexBJetTags.clone(), - #veryLooseJetId99 = veryLooseJetId99.clone(), - #veryLooseJetId95 = veryLooseJetId95.clone(), - #veryLooseJetId95h0 = veryLooseJetId95h0.clone(), - #veryLooseJetId95gamma = veryLooseJetId95gamma.clone(), - #looseJetId = looseJetId.clone(), - #mediumJetId = mediumJetId.clone(), - #tightJetId = tightJetId.clone(), - ), - verbose = cms.untracked.bool( False ) -) - -# to test another jet ID, do something like this in your cfg: -# process.load('CMGTools.Common.selections.jetId_cfi') -# process.cmgPFJet.cuts.tightJetId = tightJetId.clone() diff --git a/CMGTools/Common/python/factories/cmgPFMETScaler_cfi.py b/CMGTools/Common/python/factories/cmgPFMETScaler_cfi.py deleted file mode 100644 index 7baa4a530033..000000000000 --- a/CMGTools/Common/python/factories/cmgPFMETScaler_cfi.py +++ /dev/null @@ -1,29 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -baseMETScaler = cms.PSet( - jetLabel = cms.InputTag("cmgPFJetSel"), - metLabel = cms.InputTag("cmgPFMET"), - jecUncDirection = cms.double(0.), - doType1Correction = cms.bool(False) - ) - -cmgMETUp = cms.EDFilter( - "METPOScaler", - cfg = baseMETScaler.clone(jecUncDirection = +1.), - cuts = cms.PSet( - ) -) - -cmgMETDown = cms.EDFilter( - "METPOScaler", - cfg = baseMETScaler.clone(jecUncDirection = -1.), - cuts = cms.PSet( - ) -) - -cmgPFMETType1Corrected = cms.EDFilter( - "METPOScaler", - cfg = baseMETScaler.clone(doType1Correction = True, jetLabel = "cmgPFJetType1MET"), - cuts = cms.PSet( - ) -) diff --git a/CMGTools/Common/python/factories/cmgPhoton_cfi.py b/CMGTools/Common/python/factories/cmgPhoton_cfi.py deleted file mode 100644 index 61941e06aea9..000000000000 --- a/CMGTools/Common/python/factories/cmgPhoton_cfi.py +++ /dev/null @@ -1,71 +0,0 @@ -###################################################################### - -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.kinematics_cfi import kinematics - -photonFactory = cms.PSet( - inputCollection = cms.InputTag("pfSelectedPhotons"), - pfCollection = cms.InputTag("particleFlow"), - muonCollection = cms.InputTag("patMuonsWithTrigger"), - isoDepWithCharged = cms.InputTag("phPFIsoDepositCharged"), - isoDepWithPhotons = cms.InputTag("phPFIsoDepositGamma"), - isoDepWithNeutral = cms.InputTag("phPFIsoDepositNeutral"), - isoDepWithPU = cms.InputTag("phPFIsoDepositPU"), - ## each IsoPar has a coneSize parameter (radius of the cone inside which - ## the isolation is computed) plus a VPSet called vetoes, made of any of the following - ## vetoes: ThresholdVeto, ConeVeto, RectangularEtaPhiVeto (more vetoes can be implemented if needed) - ## look at DataFormats/RecoCandidate/src/IsoDepositVetos.cc for their meaning. - chargedHadronIsoPar=cms.PSet( - coneSize=cms.double(0.3), - vetoes=cms.VPSet( - cms.PSet( - type=cms.string("ThresholdVeto"), - threshold=cms.double(0.2)# pt of the particles to be vetoed - ), - ), - ), - - neutralHadronIsoPar=cms.PSet( - coneSize=cms.double(0.3), - vetoes=cms.VPSet( - cms.PSet( - type=cms.string("ThresholdVeto"), - threshold=cms.double(0.5)# pt of the particles to be vetoed - ), - ), - ), - - photonsIsoPar=cms.PSet( - coneSize=cms.double(0.3), - vetoes=cms.VPSet( - cms.PSet( - type=cms.string("ThresholdVeto"), - threshold=cms.double(0.5)# pt of the particles to be vetoed - ), - ), - ), - - puIsoPar=cms.PSet( - coneSize=cms.double(0.3), - vetoes=cms.VPSet( - cms.PSet( - type=cms.string("ThresholdVeto"), - threshold=cms.double(0.2)# pt of the particles to be vetoed - ), - ), - ), - -) - -cmgPhoton = cms.EDFilter("PhotonPOProducer", - cfg = photonFactory.clone( - ), - cuts = cms.PSet(kinematics = kinematics.clone( - pt = cms.string('pt() > 2'), - eta = cms.string('abs(eta()) < 2.5'), - phi = cms.string('abs(phi()) < 3.2') - )) - ) - -###################################################################### diff --git a/CMGTools/Common/python/factories/cmgStructuredPFJet_cfi.py b/CMGTools/Common/python/factories/cmgStructuredPFJet_cfi.py deleted file mode 100644 index ffae0f15f5a9..000000000000 --- a/CMGTools/Common/python/factories/cmgStructuredPFJet_cfi.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgPFJet_cfi import pfJetFactory - -structuredPFJetFactory = cms.PSet( - inputCollection = cms.InputTag("selectedPatJetsCHSpruned"), - subjetCollection = cms.InputTag("ak5PFJetsCHSpruned:SubJets"), - baseJetFactory = pfJetFactory.baseJetFactory.clone(), - pfJetFactory = pfJetFactory.clone(), - ) - -cmgStructuredPFJet = cms.EDFilter( - "StructuredPFJetPOProducer", - cfg = structuredPFJetFactory.clone(), - cuts = cms.PSet(), - verbose = cms.untracked.bool( False ) -) diff --git a/CMGTools/Common/python/factories/cmgTauEleCor_cfi.py b/CMGTools/Common/python/factories/cmgTauEleCor_cfi.py deleted file mode 100644 index 0f192ff7dba1..000000000000 --- a/CMGTools/Common/python/factories/cmgTauEleCor_cfi.py +++ /dev/null @@ -1,19 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgTauEleCorFactory = cms.PSet( - diObjectCollection = cms.InputTag('cmgTauEleSel'), - nSigma = cms.double(0), - uncertainty = cms.double(0.03), - shift1ProngNoPi0 = cms.double(0.), - shift1Prong1Pi0 = cms.double(0.015), - ptDependence1Pi0 = cms.double(0.001), - # 0.012 according to the TWiki - shift3Prong = cms.double(0.012), - ptDependence3Prong = cms.double(0.001) -) - -cmgTauEleCor = cms.EDFilter( - "TauEleUpdatePOProducer", - cfg = cmgTauEleCorFactory.clone(), - cuts = cms.PSet() - ) diff --git a/CMGTools/Common/python/factories/cmgTauEle_cfi.py b/CMGTools/Common/python/factories/cmgTauEle_cfi.py deleted file mode 100644 index f133d068f1ef..000000000000 --- a/CMGTools/Common/python/factories/cmgTauEle_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -tauEFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag('cmgTauSel'), - leg2Collection = cms.InputTag('cmgElectronSel'), - metCollection = cms.InputTag('cmgPFMET') - -) - -cmgTauEle = cms.EDFilter( - "TauElePOProducer", - cfg = tauEFactory.clone(), - cuts = cms.PSet(), - ) diff --git a/CMGTools/Common/python/factories/cmgTauMuCor_cfi.py b/CMGTools/Common/python/factories/cmgTauMuCor_cfi.py deleted file mode 100644 index d7fde1c84160..000000000000 --- a/CMGTools/Common/python/factories/cmgTauMuCor_cfi.py +++ /dev/null @@ -1,25 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgTauMuCor = cms.PSet( - "TauMuUpdateProducer", - # leg1 and leg2 are dummy collections here - leg1Collection = cms.InputTag(''), - leg2Collection = cms.InputTag(''), - #metCollection = cms.InputTag('recoilCorrectedMET'), - diObjectCollection = cms.InputTag('cmgTauMuSel'), - nSigma = cms.double(0), - uncertainty = cms.double(0.03), - shift1ProngNoPi0 = cms.double(0.), - shift1Prong1Pi0 = cms.double(0.012), ## 1.5% +1.0% by Phil for summer 13 (WARINING THIS +1.0% has been turned off) https://indico.cern.ch/getFile.py/access?contribId=24&sessionId=4&resId=0&materialId=slides&confId=252865 - ptDependence1Pi0 = cms.double(0.), - shift3Prong = cms.double(0.012), - ptDependence3Prong = cms.double(0.), - shiftMet = cms.bool(True), - shiftTaus = cms.bool(True) -) - -# cmgTauMuCor = cms.EDFilter( -# "TauMuUpdateProducer", -# cfg = cmgTauMuCorFactory.clone(), -# cuts = cms.PSet() -# ) diff --git a/CMGTools/Common/python/factories/cmgTauMu_cfi.py b/CMGTools/Common/python/factories/cmgTauMu_cfi.py deleted file mode 100644 index 973dbf35ac8e..000000000000 --- a/CMGTools/Common/python/factories/cmgTauMu_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -tauMuFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag('cmgTauSel'), - leg2Collection = cms.InputTag('cmgMuonSel'), - metCollection = cms.InputTag('cmgPFMET') -) - -cmgTauMu = cms.EDProducer( - "TauMuPOProducer", - # cfg = tauMuFactory.clone(), - # cuts = cms.PSet(), - ) diff --git a/CMGTools/Common/python/factories/cmgTauScaler_cfi.py b/CMGTools/Common/python/factories/cmgTauScaler_cfi.py deleted file mode 100644 index 5753ef5ea5c9..000000000000 --- a/CMGTools/Common/python/factories/cmgTauScaler_cfi.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.kinematics_cfi import kinematics - -tauScaler = cms.PSet( - inputCollection = cms.InputTag("cmgTauSel"), - nSigma = cms.double(0.), - # 3% uncertainty - uncertainty = cms.double(0.03) - ) - -cmgTauScaler = cms.EDFilter( - "TauPOScaler", - cfg = tauScaler.clone(nSigma = 0.), - cuts = cms.PSet() -) - diff --git a/CMGTools/Common/python/factories/cmgTau_cfi.py b/CMGTools/Common/python/factories/cmgTau_cfi.py deleted file mode 100644 index 72ae02ec3962..000000000000 --- a/CMGTools/Common/python/factories/cmgTau_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgLepton_cfi import leptonFactory -tauFactory = cms.PSet( - inputCollection = cms.InputTag("selectedPatTaus"), - leptonFactory = leptonFactory.clone() - ) - -cmgTau = cms.EDFilter("TauPOProducer", - cfg = tauFactory.clone(), - cuts = cms.PSet(pt_default = cms.string('pt() > 0.0 '), - ) - - ) diff --git a/CMGTools/Common/python/factories/cmgTriggerObjectList_cfi.py b/CMGTools/Common/python/factories/cmgTriggerObjectList_cfi.py deleted file mode 100644 index eb412e35eff4..000000000000 --- a/CMGTools/Common/python/factories/cmgTriggerObjectList_cfi.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -triggerObjectListFactory = cms.PSet( - triggerResults = cms.InputTag("TriggerResults"), - triggerObjects = cms.InputTag("patTrigger"), - processName = cms.untracked.string("*"), - useTriggerObjects = cms.untracked.bool(True), - saveAllHLTPathsInObjs = cms.untracked.bool(False) - ) - -cmgTriggerObjectList = cms.EDFilter("TriggerObjectPOProducer", - cfg = triggerObjectListFactory.clone(), - cuts = cms.PSet( - ) -) - - diff --git a/CMGTools/Common/python/factories/cmgTriggerObject_cfi.py b/CMGTools/Common/python/factories/cmgTriggerObject_cfi.py deleted file mode 100644 index 3c1e7886802c..000000000000 --- a/CMGTools/Common/python/factories/cmgTriggerObject_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -triggerObjectFactory = cms.PSet( - triggerResults = cms.InputTag("TriggerResults"), - triggerObjects = cms.InputTag("patTrigger"), - processName = cms.untracked.string("HLT"), # FIXME: "*" doesn't work anymore - useTriggerObjects = cms.untracked.bool(False) - ) - -cmgTriggerObject = cms.EDFilter("TriggerObjectPOProducer", - cfg = triggerObjectFactory.clone(), - cuts = cms.PSet( - ) -) - diff --git a/CMGTools/Common/python/factories/cmgTriggerPrescales_cfi.py b/CMGTools/Common/python/factories/cmgTriggerPrescales_cfi.py deleted file mode 100644 index 17ae2851f0be..000000000000 --- a/CMGTools/Common/python/factories/cmgTriggerPrescales_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgTriggerPrescales = cms.EDProducer("CMGTriggerPrescaleProducer", - triggerResults = cms.InputTag("TriggerResults"), - processName = cms.string("HLT"), # FIXME: "*" doesn't work anymore -) - diff --git a/CMGTools/Common/python/factories/cmgWENu_cfi.py b/CMGTools/Common/python/factories/cmgWENu_cfi.py deleted file mode 100644 index b50aa9b32ae7..000000000000 --- a/CMGTools/Common/python/factories/cmgWENu_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -wenuFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag('cmgElectron'), - leg2Collection = cms.InputTag('cmgPFMET') -) -cmgWENu = cms.EDFilter( - "WENuPOProducer", - cfg = wenuFactory.clone(), - cuts = cms.PSet( - ), - ) \ No newline at end of file diff --git a/CMGTools/Common/python/factories/cmgWMuNu_cfi.py b/CMGTools/Common/python/factories/cmgWMuNu_cfi.py deleted file mode 100644 index dc23c6a9922a..000000000000 --- a/CMGTools/Common/python/factories/cmgWMuNu_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.factories.cmgDiObject_cfi import diObjectFactory - -wmunuFactory = diObjectFactory.clone( - leg1Collection = cms.InputTag('cmgMuon'), - leg2Collection = cms.InputTag('cmgPFMET') -) -# from CMGTools.Common.selections.wmunu_cfi import wmunu -cmgWMuNu = cms.EDFilter( - "WMuNuPOProducer", - cfg = wmunuFactory.clone(), - cuts = cms.PSet( - # wmunu = wmunu.clone() - ), - ) diff --git a/CMGTools/Common/python/factories/genJetFactory_cfi.py b/CMGTools/Common/python/factories/genJetFactory_cfi.py deleted file mode 100644 index 46e23a22e033..000000000000 --- a/CMGTools/Common/python/factories/genJetFactory_cfi.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -genJetFactory = cms.PSet( - inputCollection = cms.InputTag("ak5GenJetsNoNu") - ) -from CMGTools.Common.selections.kinematics_cfi import kinematics -genJet = cms.EDFilter( - "GenJetPOProducer", - cfg = genJetFactory.clone(), - cuts = cms.PSet(), - verbose = cms.untracked.bool( False ) -) diff --git a/CMGTools/Common/python/factories/pfJetFactory_cfi.py b/CMGTools/Common/python/factories/pfJetFactory_cfi.py deleted file mode 100644 index aa74c2e5f334..000000000000 --- a/CMGTools/Common/python/factories/pfJetFactory_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -pfJetFactory = cms.PSet( - inputCollection = cms.InputTag("patJetsWithVar") - ) -from CMGTools.Common.selections.kinematics_cfi import kinematics -cmgPFJet = cms.EDFilter( - "PFJetPOProducer", - cfg = pfJetFactory.clone(), - cuts = cms.PSet( - jetKinematics = kinematics.clone() - ), - verbose = cms.untracked.bool( False ) -) diff --git a/CMGTools/Common/python/gen_cff.py b/CMGTools/Common/python/gen_cff.py deleted file mode 100644 index 4dfd218798b8..000000000000 --- a/CMGTools/Common/python/gen_cff.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.generator.genParticlesPruned_cfi import * -from CMGTools.Common.generator.genJets_cff import * -from CMGTools.Common.generator.listParticles_cfi import * -from SimGeneral.HepPDTESSource.pythiapdt_cfi import * - -genSequence = cms.Sequence( - genParticlesPruned - + genJetsSequence - + listParticles - ) diff --git a/CMGTools/Common/python/generator/genJets_cff.py b/CMGTools/Common/python/generator/genJets_cff.py deleted file mode 100644 index be149b75966d..000000000000 --- a/CMGTools/Common/python/generator/genJets_cff.py +++ /dev/null @@ -1,11 +0,0 @@ -from CMGTools.Common.factories.genJetFactory_cfi import * -from CMGTools.Common.skims.cmgPOSel_cfi import cmgPOSel - -from CMGTools.Common.jet_cff import ptCut -genJetSel = cmgPOSel.clone( src='genJet', cut=ptCut ) - -genJetsSequence = cms.Sequence( - genJet - + genJetSel - ) - diff --git a/CMGTools/Common/python/generator/genLeptonsSatus1_cfi.py b/CMGTools/Common/python/generator/genLeptonsSatus1_cfi.py deleted file mode 100644 index 4d71c68c8a6d..000000000000 --- a/CMGTools/Common/python/generator/genLeptonsSatus1_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -genLeptonsStatus1 = cms.EDProducer( - "GenParticlePruner", - src = cms.InputTag("genParticles"), - select = cms.vstring( - "keep status = 1 & pdgId = {e-}", - "keep status = 1 & pdgId = {e+}", - "keep status = 1 & pdgId = {mu-}", - "keep status = 1 & pdgId = {mu+}" - ) -) - diff --git a/CMGTools/Common/python/generator/genLeptonsSatus2_cfi.py b/CMGTools/Common/python/generator/genLeptonsSatus2_cfi.py deleted file mode 100644 index 60f1bd0e03b0..000000000000 --- a/CMGTools/Common/python/generator/genLeptonsSatus2_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -genLeptonsStatus2 = cms.EDProducer( - "GenParticlePruner", - src = cms.InputTag("genParticles"), - select = cms.vstring( - "keep status = 2 & pdgId = {e-}", - "keep status = 2 & pdgId = {e+}", - "keep status = 2 & pdgId = {mu-}", - "keep status = 2 & pdgId = {mu+}", - "keep status = 2 & pdgId = {tau-}", - "keep status = 2 & pdgId = {tau+}" - ) -) diff --git a/CMGTools/Common/python/generator/genLeptons_cff.py b/CMGTools/Common/python/generator/genLeptons_cff.py deleted file mode 100644 index fe373cd399e5..000000000000 --- a/CMGTools/Common/python/generator/genLeptons_cff.py +++ /dev/null @@ -1,8 +0,0 @@ -from CMGTools.Common.generator.genLeptonsSatus1_cfi import * -from CMGTools.Common.generator.genLeptonsSatus2_cfi import * - -genLeptonsSequence = cms.Sequence( - genLeptonsStatus1 - + genLeptonsStatus2 - ) - diff --git a/CMGTools/Common/python/generator/genParticlesPruned_cfi.py b/CMGTools/Common/python/generator/genParticlesPruned_cfi.py deleted file mode 100644 index a237b687edba..000000000000 --- a/CMGTools/Common/python/generator/genParticlesPruned_cfi.py +++ /dev/null @@ -1,27 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -genParticlesPruned = cms.EDProducer( - "GenParticlePruner", - src = cms.InputTag("genParticles"), - select = cms.vstring( - "drop * ", - "keep status()==3", - "keep++ pdgId = {e+}", - "++keep pdgId = {e+}", - "keep++ pdgId = {e-}", - "++keep pdgId = {e-}", - "keep++ pdgId = {mu+}", - "++keep pdgId = {mu+}", - "keep++ pdgId = {mu-}", - "++keep pdgId = {mu-}", - "keep++ pdgId = {tau+}", - "++keep pdgId = {tau+}", - "keep++ pdgId = {tau-}", - "++keep pdgId = {tau-}", - "keep status = 2 & pdgId = 4", - "keep status = 2 & pdgId = -4", - "keep status = 2 & pdgId = 5", - "keep status = 2 & pdgId = -5", - - ) -) diff --git a/CMGTools/Common/python/generator/genParticlesStatus3_cfi.py b/CMGTools/Common/python/generator/genParticlesStatus3_cfi.py deleted file mode 100644 index f977665e54b1..000000000000 --- a/CMGTools/Common/python/generator/genParticlesStatus3_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -genParticlesStatus3 = cms.EDProducer( - "GenParticlePruner", - src = cms.InputTag("genParticles"), - select = cms.vstring( - "keep status()==3" - ) -) diff --git a/CMGTools/Common/python/generator/genWorZ_cfi.py b/CMGTools/Common/python/generator/genWorZ_cfi.py deleted file mode 100644 index 9f0c9c53431a..000000000000 --- a/CMGTools/Common/python/generator/genWorZ_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -genWorZ = cms.EDProducer( - "GenParticlePruner", - src = cms.InputTag("genParticlesPruned"), - select = cms.vstring( - "keep status()==3 & pdgId = {W+}", - "keep status()==3 & pdgId = {W-}", - "keep status()==3 & pdgId = {Z0}", - "keep status()==3 & pdgId = {gamma}", - "keep status()==3 & pdgId = {h0}", - "keep status()==3 & pdgId = 35", #SUSY H0 - "keep status()==3 & pdgId = 36", #SUSY A0 - ) -) diff --git a/CMGTools/Common/python/generator/listParticles_cfi.py b/CMGTools/Common/python/generator/listParticles_cfi.py deleted file mode 100644 index ab6395704188..000000000000 --- a/CMGTools/Common/python/generator/listParticles_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -listParticles = cms.EDAnalyzer( - "ParticleListDrawer", - maxEventsToPrint = cms.untracked.int32(1), - printVertex = cms.untracked.bool(False), - src = cms.InputTag("genParticlesPruned") - ) diff --git a/CMGTools/Common/python/genericPhysicsObjectSelector_cfi.py b/CMGTools/Common/python/genericPhysicsObjectSelector_cfi.py deleted file mode 100644 index 3542e8ca97e8..000000000000 --- a/CMGTools/Common/python/genericPhysicsObjectSelector_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -genericPhysicsObjectSelector = cms.EDAnalyzer( - "GenericPhysicsObjectSelector", - src = cms.InputTag("cmgPFJets"), - cut = cms.string("RunInfoAccounting"), -) diff --git a/CMGTools/Common/python/hemi_cff.py b/CMGTools/Common/python/hemi_cff.py deleted file mode 100644 index 9948703a7fb5..000000000000 --- a/CMGTools/Common/python/hemi_cff.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgHemi_cfi import * - -hemiSequence = cms.Sequence( - cmgHemi -) diff --git a/CMGTools/Common/python/histogram_cff.py b/CMGTools/Common/python/histogram_cff.py deleted file mode 100644 index 4c49cb4d9876..000000000000 --- a/CMGTools/Common/python/histogram_cff.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.histograms.jetHistogram_cff import * -from CMGTools.Common.histograms.metHistogram_cff import * -from CMGTools.Common.histograms.electronHistogram_cff import * -from CMGTools.Common.histograms.muonHistogram_cff import * -from CMGTools.Common.histograms.tauHistogram_cff import * - -histogramSequence = cms.Sequence( - jetHistogramSequence + - metHistogramSequence + - electronHistogramSequence + - muonHistogramSequence + - tauHistogramSequence - ) - diff --git a/CMGTools/Common/python/jetId_cff.py b/CMGTools/Common/python/jetId_cff.py deleted file mode 100644 index 236b2e9c900a..000000000000 --- a/CMGTools/Common/python/jetId_cff.py +++ /dev/null @@ -1,29 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# from CMGTools.Common.skims.cmgPFJetIdLooseSel_cfi import * -# from CMGTools.Common.skims.cmgPFJetIdTightSel_cfi import * - -cmgPFJetLooseJetIdFailed = cms.EDFilter( - "CmgPFJetSelector", - src = cms.InputTag("cmgPFJetSel"), - cut = cms.string( '!jetID("POG_PFID_Loose")' ) - ) - -cmgPFJetMediumJetIdFailed = cms.EDFilter( - "CmgPFJetSelector", - src = cms.InputTag("cmgPFJetSel"), - cut = cms.string( '!jetID("POG_PFID_Medium")' ) - ) - -cmgPFJetTightJetIdFailed = cms.EDFilter( - "CmgPFJetSelector", - src = cms.InputTag("cmgPFJetSel"), - cut = cms.string( '!jetID("POG_PFID_Tight")' ) - ) - - -jetIdSequence = cms.Sequence( - cmgPFJetLooseJetIdFailed + - cmgPFJetMediumJetIdFailed + - cmgPFJetTightJetIdFailed - ) diff --git a/CMGTools/Common/python/jet_cff.py b/CMGTools/Common/python/jet_cff.py deleted file mode 100644 index 8511b650c024..000000000000 --- a/CMGTools/Common/python/jet_cff.py +++ /dev/null @@ -1,38 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgPFJet_cfi import cmgPFJet -from CMGTools.Common.factories.cmgBaseJet_cfi import cmgBaseJet -from CMGTools.Common.skims.cmgPFJetSel_cfi import cmgPFJetSel -from CMGTools.Common.skims.cmgBaseJetSel_cfi import cmgBaseJetSel -from CMGTools.Common.skims.leadingCMGBaseJetSelector_cfi import leadingCMGBaseJetSelector -from CMGTools.Common.skims.leadingCMGPFJetSelector_cfi import leadingCMGPFJetSelector -from CMGTools.External.pujetidsequence_cff import puJetMva - -# PF jets ------------------------------------------------------- - -# this pt cut is also going to be used to select GenJets, -# see CMGTools.Common.gen.generator.genJets_cff -ptCut = 'pt()>10' -cmgPFJetSel.cut = ptCut - -# Jets for Type 1 MET corrections -cmgPFJetType1MET = cmgPFJetSel.clone(src = 'cmgPFJet',cut='pt() >= 10 && abs(eta()) < 4.7') - -# PU JetID -cmgPUJetMva = puJetMva.clone() -cmgPUJetMva.jets = cms.InputTag('patJetsWithVar') - -from CMGTools.Common.jetId_cff import * - -pfJetSequence = cms.Sequence( - cmgPUJetMva + - cmgPFJet + - cmgPFJetSel + - cmgPFJetType1MET #+ - #jetIdSequence - ) - - -jetSequence = cms.Sequence( - pfJetSequence - ) diff --git a/CMGTools/Common/python/met_cff.py b/CMGTools/Common/python/met_cff.py deleted file mode 100644 index 9470eeab6baf..000000000000 --- a/CMGTools/Common/python/met_cff.py +++ /dev/null @@ -1,63 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgBaseCandMET_cfi import cmgBaseCandMET -from CMGTools.Common.factories.cmgBaseMET_cfi import cmgBaseMET -from CMGTools.Common.factories.cmgPFMETScaler_cfi import cmgPFMETType1Corrected -from CMGTools.Common.skims.cmgCandSel_cfi import cmgCandSel - -#PFMET from pat::MET -cmgPFMET = cmgBaseMET.clone() -cmgPFMET.cfg.inputCollection = "patMETsAK5" - -cmgPFMETSel = cmgCandSel.clone( src = 'cmgPFMET' ) - - - -# MHT from PFJets, pt threshold 30 -cmgMHTPFJet30 = cmgBaseCandMET.clone() -cmgMHTPFJet30.cfg.inputCollection = "cmgPFBaseJet" -cmgMHTPFJet30.cfg.ptThreshold = 30.0 -cmgMHTPFJet30Sel = cmgCandSel.clone( src = 'cmgMHTPFJet30' ) - -# Calo MET from pat::MET -cmgCaloMET = cmgBaseMET.clone() -cmgCaloMET.cfg.inputCollection = "patMETs" - -# MHT from CaloJets, pt threshold 30 -cmgMHTCaloJet30 = cmgBaseCandMET.clone() -cmgMHTCaloJet30.cfg.inputCollection = "cmgCaloBaseJet" -cmgMHTCaloJet30.cfg.ptThreshold = 30.0 - - -# MET from PFCandidates -# cmgMETPFCandidates = cmgBaseCandMET.clone() -# cmgMETPFCandidates.cfg.inputCollection = cms.InputTag("particleFlow") - -# MET from PFCandidates, pt threshold 2 (to remove pile-up) -# cmgMETPFCandidates2 = cmgMETPFCandidates.clone() -# cmgMETPFCandidates2.cfg.ptThreshold = 2.0 - - -pfSimpleMetSequence = cms.Sequence( - cmgPFMET * - cmgPFMETSel* - cmgPFMETType1Corrected - ) - -pfMetSequence = cms.Sequence( - pfSimpleMetSequence + - # cmgMETPFCandidates + - cmgMHTPFJet30 + - cmgMHTPFJet30Sel - ) - -caloMetSequence = cms.Sequence( - cmgCaloMET + - cmgMHTCaloJet30 - ) - -metSequence = cms.Sequence( - pfMetSequence - # + caloMetSequence - ) - diff --git a/CMGTools/Common/python/miscProducers/cmgPFJetCleaner_cfi.py b/CMGTools/Common/python/miscProducers/cmgPFJetCleaner_cfi.py deleted file mode 100644 index 3569f235803a..000000000000 --- a/CMGTools/Common/python/miscProducers/cmgPFJetCleaner_cfi.py +++ /dev/null @@ -1,19 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgCleanedJetsEle = cms.EDProducer("DeltaRVetoProducerPFJet", - inputCollection=cms.InputTag("cmgPFJetSel"), - MatchingParams = cms.VPSet( - cms.PSet( - vetoCollection=cms.InputTag("cmgElectronSel"), - minDeltaR=cms.double(0.8), - removeMatchedObject=cms.bool(False) - ), - cms.PSet( - vetoCollection=cms.InputTag("cmgMuonSel"), - minDeltaR=cms.double(0.8), - removeMatchedObject=cms.bool(False) - ) - ), - verbose=cms.untracked.bool(True) - ) - diff --git a/CMGTools/Common/python/miscProducers/cmgPFJetCorrector_cfi.py b/CMGTools/Common/python/miscProducers/cmgPFJetCorrector_cfi.py deleted file mode 100644 index 5fbaa5b4f57a..000000000000 --- a/CMGTools/Common/python/miscProducers/cmgPFJetCorrector_cfi.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgPFJetCorrector = cms.EDProducer( - "PFJetCorrector", - # make sure your jet and rho collections are compatible - src = cms.InputTag( 'cmgPFJetSel' ), - rho = cms.InputTag( 'kt6PFJets:rho' ), - payload = cms.string('AK5PF'), - levels = cms.vstring('L1FastJet','L2Relative','L3Absolute','L2L3Residual'), - sort = cms.bool(True), - verbose = cms.untracked.bool( False ) -) diff --git a/CMGTools/Common/python/miscProducers/cmgPatElectronProducer_cfi.py b/CMGTools/Common/python/miscProducers/cmgPatElectronProducer_cfi.py deleted file mode 100644 index b5bb11730240..000000000000 --- a/CMGTools/Common/python/miscProducers/cmgPatElectronProducer_cfi.py +++ /dev/null @@ -1,23 +0,0 @@ -'''Add the ElectronMVA from MIT to each pat::Electron in a collection. - -Inputs: -- pat::Electrons -- reduced ECAL rechits (they are in the PFAODs, but not in the PAT and CMG-tuples) -Other userFloats could be added there. -''' -import FWCore.ParameterSet.Config as cms - -import os - -cmgPatElectronProducer = cms.EDProducer( - "CMGPATElectronProducer", - src = cms.InputTag( 'selectedPatElectronsAK5' ), - redEBRecHits = cms.InputTag( 'reducedEcalRecHitsEB' ), - redEERecHits = cms.InputTag( 'reducedEcalRecHitsEE' ), - d0LowPt = cms.FileInPath("CMGTools/Common/data/ElectronMVAWeights/Subdet0LowPt_NoIPInfo_BDTG.weights.xml" ), - d1LowPt = cms.FileInPath("CMGTools/Common/data/ElectronMVAWeights/Subdet1LowPt_NoIPInfo_BDTG.weights.xml" ), - d2LowPt = cms.FileInPath("CMGTools/Common/data/ElectronMVAWeights/Subdet2LowPt_NoIPInfo_BDTG.weights.xml" ), - d0HighPt = cms.FileInPath("CMGTools/Common/data/ElectronMVAWeights/Subdet0HighPt_NoIPInfo_BDTG.weights.xml" ), - d1HighPt = cms.FileInPath("CMGTools/Common/data/ElectronMVAWeights/Subdet1HighPt_NoIPInfo_BDTG.weights.xml" ), - d2HighPt = cms.FileInPath("CMGTools/Common/data/ElectronMVAWeights/Subdet2HighPt_NoIPInfo_BDTG.weights.xml" ) -) diff --git a/CMGTools/Common/python/miscProducers/cmgPatMuonProducer_cfi.py b/CMGTools/Common/python/miscProducers/cmgPatMuonProducer_cfi.py deleted file mode 100644 index 2894afa49682..000000000000 --- a/CMGTools/Common/python/miscProducers/cmgPatMuonProducer_cfi.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgPatMuonProducer = cms.EDProducer( - "CMGPATMuonProducer", - src = cms.InputTag( 'selectedPatMuonsAK5' ) -) diff --git a/CMGTools/Common/python/miscProducers/collectionSize/candidateSize_cfi.py b/CMGTools/Common/python/miscProducers/collectionSize/candidateSize_cfi.py deleted file mode 100644 index 8691fe2c6878..000000000000 --- a/CMGTools/Common/python/miscProducers/collectionSize/candidateSize_cfi.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -candidateSize = cms.EDFilter( - "CandidateSizeProducer", - src = cms.InputTag('') - ) diff --git a/CMGTools/Common/python/miscProducers/collectionSize/collectionSize_cff.py b/CMGTools/Common/python/miscProducers/collectionSize/collectionSize_cff.py deleted file mode 100644 index c22f268d3051..000000000000 --- a/CMGTools/Common/python/miscProducers/collectionSize/collectionSize_cff.py +++ /dev/null @@ -1,19 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.miscProducers.collectionSize.vertexSize_cfi import vertexSize - -from CMGTools.Common.miscProducers.collectionSize.candidateSize_cfi import candidateSize -muonSelSize = candidateSize.clone( src='cmgMuonSel') -electronSelSize = candidateSize.clone( src='cmgElectronSel') -tauSelSize = candidateSize.clone( src='cmgTauSel') -pfJetSelSize = candidateSize.clone( src='cmgPFJetSel') - -collectionSizeSequence = cms.Sequence( - vertexSize + - muonSelSize + - electronSelSize + - tauSelSize + - pfJetSelSize - ) - - diff --git a/CMGTools/Common/python/miscProducers/collectionSize/vertexSize_cfi.py b/CMGTools/Common/python/miscProducers/collectionSize/vertexSize_cfi.py deleted file mode 100644 index e589e407504f..000000000000 --- a/CMGTools/Common/python/miscProducers/collectionSize/vertexSize_cfi.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -vertexSize = cms.EDFilter( - "VertexSizeProducer", - src = cms.InputTag('offlinePrimaryVertices') - ) diff --git a/CMGTools/Common/python/miscProducers/deltaPhiJetMET_cfi.py b/CMGTools/Common/python/miscProducers/deltaPhiJetMET_cfi.py deleted file mode 100644 index d75119c32a59..000000000000 --- a/CMGTools/Common/python/miscProducers/deltaPhiJetMET_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -deltaPhiJetMET = cms.EDProducer( - "DeltaPhiProducer", - met = cms.InputTag( 'cmgPFMET' ), - objects = cms.InputTag( 'cmgPFJetSel' ) -) diff --git a/CMGTools/Common/python/miscProducers/deltaRJetElectrons_cfi.py b/CMGTools/Common/python/miscProducers/deltaRJetElectrons_cfi.py deleted file mode 100644 index b56b7280b746..000000000000 --- a/CMGTools/Common/python/miscProducers/deltaRJetElectrons_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -deltaRJetElectrons = cms.EDProducer( - "DeltaRVetoProducerPFJet", - inputCollection = cms.InputTag('cmgPFJetSel'), - MatchingParams = cms.VPSet( - cms.PSet( - vetoCollection=cms.InputTag("cmgElectronSel"), - minDeltaR=cms.double(0.3), - removeMatchedObject=cms.bool(True) - ) - ), - verbose = cms.untracked.bool(False) -) diff --git a/CMGTools/Common/python/miscProducers/deltaRJetMuons_cfi.py b/CMGTools/Common/python/miscProducers/deltaRJetMuons_cfi.py deleted file mode 100644 index ce21b3760f01..000000000000 --- a/CMGTools/Common/python/miscProducers/deltaRJetMuons_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -deltaRJetMuons = cms.EDProducer( - "DeltaRVetoProducerPFJet", - inputCollection = cms.InputTag('cmgPFJetSel'), - MatchingParams = cms.VPSet( - cms.PSet( - vetoCollection=cms.InputTag("cmgMuonSel"), - minDeltaR=cms.double(0.3), - removeMatchedObject=cms.bool(True) - ) - ), - verbose = cms.untracked.bool(False) - ) diff --git a/CMGTools/Common/python/miscProducers/metSignificance_cfi.py b/CMGTools/Common/python/miscProducers/metSignificance_cfi.py deleted file mode 100644 index b82ba370a465..000000000000 --- a/CMGTools/Common/python/miscProducers/metSignificance_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from RecoMET.METProducers.METSigParams_cfi import * - -metSignificance = cms.EDProducer( - "METSignificanceProducer", - inputPATMuons = cms.InputTag('patMuonsAK5'), - inputPATElectrons = cms.InputTag('patElectronsAK5'), - inputPFJets = cms.InputTag('pfJetsAK5'), - inputPFCandidates = cms.InputTag('pfNoJetAK5'), - resolution = METSignificance_params -) diff --git a/CMGTools/Common/python/miscProducers/misc_cff.py b/CMGTools/Common/python/miscProducers/misc_cff.py deleted file mode 100644 index eef39fb0736e..000000000000 --- a/CMGTools/Common/python/miscProducers/misc_cff.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.miscProducers.deltaPhiJetMET_cfi import * -from CMGTools.Common.miscProducers.metSignificance_cfi import * -from CMGTools.Common.miscProducers.simpleParticleFlow_cfi import * -from CMGTools.Common.miscProducers.collectionSize.collectionSize_cff import * - -miscSequence = cms.Sequence( - # this guy looks for a MET in its sequence, due to our cloning... - # deltaPhiJetMET + - # MET significance can not run reading the patTuple in input, hence is not included here - # metSignificance + - collectionSizeSequence - # + simpleParticleFlow - ) diff --git a/CMGTools/Common/python/miscProducers/mvaMET/metRegression_cff.py b/CMGTools/Common/python/miscProducers/mvaMET/metRegression_cff.py deleted file mode 100644 index a627757a4227..000000000000 --- a/CMGTools/Common/python/miscProducers/mvaMET/metRegression_cff.py +++ /dev/null @@ -1,31 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -pfMetForRegression = cms.EDProducer( - "MetFlavorProducer", - CorrJetName = cms.InputTag("patJetsAK4PF"), - PFCandidateName = cms.InputTag("packedPFCandidates"), - VertexName = cms.InputTag("offlineSlimmedPrimaryVertices"), - RhoName = cms.InputTag('fixedGridRhoFastjetAll'), - JetPtMin = cms.double(0.), # should be 0 for 5X and 1 for 4X - dZMin = cms.double(0.1), - MetFlavor = cms.int32(0), # 0 PF 1 TK 2 No PU 3 PU 4 PUC - WorkingPointId = cms.uint32(3), # 3 for 5X and higher - puJetIDName = cms.string('pileupJetIdMET:met53xDiscriminant'), - puJetIDNameLowPt = cms.string('pileupJetIdMET:met53xDiscriminant') - ) - -tkMet = pfMetForRegression.clone(MetFlavor = cms.int32(1)) -nopuMet = pfMetForRegression.clone(MetFlavor = cms.int32(2)) -puMet = pfMetForRegression.clone(MetFlavor = cms.int32(3), - dZMin = 0.2) -pcMet = pfMetForRegression.clone(MetFlavor = cms.int32(4)) - - -metRegressionSequence = cms.Sequence ( - pfMetForRegression + - nopuMet + - puMet + - pcMet + - tkMet - ) diff --git a/CMGTools/Common/python/miscProducers/simpleParticleFlow_cfi.py b/CMGTools/Common/python/miscProducers/simpleParticleFlow_cfi.py deleted file mode 100644 index 6cad57ffe02f..000000000000 --- a/CMGTools/Common/python/miscProducers/simpleParticleFlow_cfi.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -simpleParticleFlow = cms.EDProducer( - "SimpleParticleProducer", - src = cms.InputTag('particleFlow') - ) diff --git a/CMGTools/Common/python/miscProducers/slimmedPrimaryVertices_cfi.py b/CMGTools/Common/python/miscProducers/slimmedPrimaryVertices_cfi.py deleted file mode 100644 index 83cdf7f1d497..000000000000 --- a/CMGTools/Common/python/miscProducers/slimmedPrimaryVertices_cfi.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -slimmedPrimaryVertices = cms.EDProducer("CMGVertexSlimmer", - src = cms.InputTag("offlinePrimaryVertices"), -) - diff --git a/CMGTools/Common/python/miscProducers/trackIsolationMaker_cfi.py b/CMGTools/Common/python/miscProducers/trackIsolationMaker_cfi.py deleted file mode 100644 index 1e5a145b4ac6..000000000000 --- a/CMGTools/Common/python/miscProducers/trackIsolationMaker_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -trackIsolationMaker = cms.EDProducer("TrackIsolationMaker", - pfCandidatesTag = cms.InputTag("particleFlow"), - vertexInputTag = cms.InputTag("offlinePrimaryVertices"), - dR_ConeSize = cms.double(0.3), - dz_CutValue = cms.double(0.05), - minPt_PFCandidate = cms.double(0.0) -) diff --git a/CMGTools/Common/python/muEle_cff.py b/CMGTools/Common/python/muEle_cff.py deleted file mode 100644 index 88c52ad90a8f..000000000000 --- a/CMGTools/Common/python/muEle_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgMuEle_cfi import * -from CMGTools.Common.skims.cmgMuEleSel_cfi import * - -muEleSequence = cms.Sequence( - cmgMuEle - +cmgMuEleSel -) diff --git a/CMGTools/Common/python/multiJet_cff.py b/CMGTools/Common/python/multiJet_cff.py deleted file mode 100644 index 6833576b5904..000000000000 --- a/CMGTools/Common/python/multiJet_cff.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgMultiJet_cfi import * - -multiJetSequence = cms.Sequence( - cmgMultiJet -) diff --git a/CMGTools/Common/python/muon_cff.py b/CMGTools/Common/python/muon_cff.py deleted file mode 100644 index fef52b1f7396..000000000000 --- a/CMGTools/Common/python/muon_cff.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgMuon_cfi import * -from CMGTools.Common.skims.cmgMuonSel_cfi import * -from CMGTools.Common.diMuon_cff import * - -muonSequence = cms.Sequence( - cmgMuon + - cmgMuonSel + - diMuonSequence -) diff --git a/CMGTools/Common/python/pfCandidate_cff.py b/CMGTools/Common/python/pfCandidate_cff.py deleted file mode 100644 index dafe79b5919e..000000000000 --- a/CMGTools/Common/python/pfCandidate_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgPFCandidate_cfi import cmgPFCandidate -from CMGTools.Common.histograms.pfCandLorentzVector_cfi import pfCandidateLorentzVector - -pfcandsSequence = cms.Sequence( - cmgPFCandidate + - pfCandidateLorentzVector - ) diff --git a/CMGTools/Common/python/photon_cff.py b/CMGTools/Common/python/photon_cff.py deleted file mode 100644 index d423d176f194..000000000000 --- a/CMGTools/Common/python/photon_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgPhoton_cfi import * -from CMGTools.Common.skims.cmgPhotonSel_cfi import * - -photonSequence = cms.Sequence( - cmgPhoton - +cmgPhotonSel -) diff --git a/CMGTools/Common/python/physicsObjectPrinter_cfi.py b/CMGTools/Common/python/physicsObjectPrinter_cfi.py deleted file mode 100644 index 07fdcab05572..000000000000 --- a/CMGTools/Common/python/physicsObjectPrinter_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -physicsObjectPrinter = cms.EDAnalyzer( - "PhysicsObjectPrinter", - inputCollection = cms.untracked.InputTag("cmgPFJet"), - printSelections = cms.untracked.bool(False), - reportEvery = cms.untracked.uint32(100) -) diff --git a/CMGTools/Common/python/release_info/CMSSW_3_8_7.py b/CMGTools/Common/python/release_info/CMSSW_3_8_7.py deleted file mode 100644 index be178efbb0a9..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_3_8_7.py +++ /dev/null @@ -1,3 +0,0 @@ -{'UserCode/CMG/AnalysisDataFormats/CMGTools': ['wreece_151210', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['wreece_151210', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['wreece_151210', 'CMGTools/ZmumuJetsTutorial']} \ No newline at end of file diff --git a/CMGTools/Common/python/release_info/CMSSW_4_1_3.py b/CMGTools/Common/python/release_info/CMSSW_4_1_3.py deleted file mode 100644 index 16cc8b7f2777..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_1_3.py +++ /dev/null @@ -1,9 +0,0 @@ -{'UserCode/CMG/AnalysisDataFormats/CMGTools': ['wreece_230311', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['wreece_240311', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['wreece_230311', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['wreece_230311', 'CMGTools/ZmumuJetsTutorial'], - ### now the PAT stuff itself - see https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuidePATReleaseNotes41X#V08_06_01_09 - 'CommonTools/CandAlgos': ['V00-01-01', 'CommonTools/CandAlgos'], - 'PhysicsTools/PFCandProducer': ['V04-07-01-00', 'PhysicsTools/PFCandProducer'], - 'PhysicsTools/PatAlgos': ['V08-06-01-09', 'PhysicsTools/PatAlgos'] - } \ No newline at end of file diff --git a/CMGTools/Common/python/release_info/CMSSW_4_1_4.py b/CMGTools/Common/python/release_info/CMSSW_4_1_4.py deleted file mode 100644 index f25a426c48a3..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_1_4.py +++ /dev/null @@ -1,7 +0,0 @@ -{'UserCode/CMG/AnalysisDataFormats/CMGTools': ['wreece_160511', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['wreece_160511', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['wreece_160511', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['wreece_160511', 'CMGTools/ZmumuJetsTutorial'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_May9', 'RecoParticleFlow/PostProcessing'], - 'FWCore/GuiBrowsers': ['V00-00-54', 'FWCore/GuiBrowsers'], -} diff --git a/CMGTools/Common/python/release_info/CMSSW_4_1_5.py b/CMGTools/Common/python/release_info/CMSSW_4_1_5.py deleted file mode 100644 index f25a426c48a3..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_1_5.py +++ /dev/null @@ -1,7 +0,0 @@ -{'UserCode/CMG/AnalysisDataFormats/CMGTools': ['wreece_160511', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['wreece_160511', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['wreece_160511', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['wreece_160511', 'CMGTools/ZmumuJetsTutorial'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_May9', 'RecoParticleFlow/PostProcessing'], - 'FWCore/GuiBrowsers': ['V00-00-54', 'FWCore/GuiBrowsers'], -} diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_3.py b/CMGTools/Common/python/release_info/CMSSW_4_2_3.py deleted file mode 100644 index 3179a0b7df0b..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_3.py +++ /dev/null @@ -1,19 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_June16', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['wreece_270611', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_May25_MultSeqs', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_June23', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['Colin_Scripts', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['Colin_June23', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-11', 'DataFormats/PatCandidates'], - 'JetMETAnalysis/ecalDeadCellTools': ['V19MAY2011_v3','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-28', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-17', 'PhysicsTools/PatExamples'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'RecoJets/JetAlgorithms' : ['V04-01-00', 'RecoJets/JetAlgorithms'], - 'RecoJets/JetProducers' : ['V05-05-03', 'RecoJets/JetProducers'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june10.py b/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june10.py deleted file mode 100644 index 277ee5837d08..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june10.py +++ /dev/null @@ -1,16 +0,0 @@ -# https://twiki.cern.ch/twiki/bin/view/CMS/CMGToolsReleasesExperimental#Colin_June10 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_Scripts', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_Scripts', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_May25_MultSeqs', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Lucie_June10', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['Colin_Scripts', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['Colin_NoRhoOption', 'CommonTools/ParticleFlow'], - 'DataFormats/PatCandidates' : ['V06-04-11', 'DataFormats/PatCandidates'], - 'PhysicsTools/PatAlgos': ['V08-06-28', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-17', 'PhysicsTools/PatExamples'], - 'RecoJets/Configuration' : ['V02-04-16', 'RecoJets/Configuration'], - 'RecoJets/JetAlgorithms' : ['V04-01-00', 'RecoJets/JetAlgorithms'], - 'RecoJets/JetProducers' : ['V05-05-03', 'RecoJets/JetProducers'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June8', 'RecoParticleFlow/PostProcessing'], -} diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june15.py b/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june15.py deleted file mode 100644 index 3a78cf531a3c..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june15.py +++ /dev/null @@ -1,20 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_Scripts', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_June15', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_May25_MultSeqs', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_June15', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['Colin_Scripts', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['Colin_NewJECRecipe', 'CommonTools/ParticleFlow'], - 'DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-11', 'DataFormats/PatCandidates'], - 'PhysicsTools/EcalAnomalousEventFilter' : ['V110523_BE', 'PhysicsTools/EcalAnomalousEventFilter'], - 'PhysicsTools/PatAlgos': ['V08-06-28', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-17', 'PhysicsTools/PatExamples'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'RecoJets/JetAlgorithms' : ['V04-01-00', 'RecoJets/JetAlgorithms'], - 'RecoJets/JetProducers' : ['V05-05-03', 'RecoJets/JetProducers'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June8', 'RecoParticleFlow/PostProcessing'], - 'Sandbox/Skims' : ['V110523_BE', 'Sandbox/Skims'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june18.py b/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june18.py deleted file mode 100644 index cdc61163b569..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june18.py +++ /dev/null @@ -1,19 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_June16', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_June18_b', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_May25_MultSeqs', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_June18', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['Colin_Scripts', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['Colin_June16_NewPFAOD', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-11', 'DataFormats/PatCandidates'], - 'JetMETAnalysis/ecalDeadCellTools': ['V19MAY2011_v3','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-28', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-17', 'PhysicsTools/PatExamples'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'RecoJets/JetAlgorithms' : ['V04-01-00', 'RecoJets/JetAlgorithms'], - 'RecoJets/JetProducers' : ['V05-05-03', 'RecoJets/JetProducers'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June8', 'RecoParticleFlow/PostProcessing'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june23.py b/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june23.py deleted file mode 100644 index 3292716afd21..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june23.py +++ /dev/null @@ -1,19 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_June16', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_June23', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_May25_MultSeqs', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_June23', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['Colin_Scripts', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['Colin_June23', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-11', 'DataFormats/PatCandidates'], - 'JetMETAnalysis/ecalDeadCellTools': ['V19MAY2011_v3','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-28', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-17', 'PhysicsTools/PatExamples'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'RecoJets/JetAlgorithms' : ['V04-01-00', 'RecoJets/JetAlgorithms'], - 'RecoJets/JetProducers' : ['V05-05-03', 'RecoJets/JetProducers'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june29.py b/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june29.py deleted file mode 100644 index 4682e293d1db..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_3_exp_colin_june29.py +++ /dev/null @@ -1,19 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_JetIdTopProj_June29', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_PileUpInfo_June29', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_Macros_June29', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_June29', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['Colin_Scripts', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['Colin_June23', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-11', 'DataFormats/PatCandidates'], - 'JetMETAnalysis/ecalDeadCellTools': ['V19MAY2011_v3','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-28', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-17', 'PhysicsTools/PatExamples'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'RecoJets/JetAlgorithms' : ['V04-01-00', 'RecoJets/JetAlgorithms'], - 'RecoJets/JetProducers' : ['V05-05-03', 'RecoJets/JetProducers'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1.py b/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1.py deleted file mode 100644 index b0560a2fe738..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1.py +++ /dev/null @@ -1,8 +0,0 @@ -{'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_May19', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_May19', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['HEAD', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['HEAD', 'CMGTools/ZmumuJetsTutorial'], - 'PhysicsTools/PatAlgos': ['V08-06-22', 'PhysicsTools/PatAlgos'], - 'CommonTools/ParticleFlow': ['Colin_May19', 'CommonTools/ParticleFlow'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_May19', 'RecoParticleFlow/PostProcessing'], -} diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1_exp_colin_may27.py b/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1_exp_colin_may27.py deleted file mode 100644 index 069a48234c25..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1_exp_colin_may27.py +++ /dev/null @@ -1,17 +0,0 @@ -# https://twiki.cern.ch/twiki/bin/view/CMS/CMGToolsReleasesExperimental#Colin_May_27 -{ - 'CommonTools/ParticleFlow': ['Colin_May19', 'CommonTools/ParticleFlow'], - 'DataFormats/PatCandidates' : ['V06-04-11', 'DataFormats/PatCandidates'], - 'PhysicsTools/PatAlgos': ['V08-06-28', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-17', 'PhysicsTools/PatExamples'], - 'RecoJets/Configuration' : ['V02-04-16', 'RecoJets/Configuration'], - 'RecoJets/JetAlgorithms' : ['V04-01-00', 'RecoJets/JetAlgorithms'], - 'RecoJets/JetProducers' : ['V05-05-03', 'RecoJets/JetProducers'], - 'UserCode/RecoParticleFlow/PFProducer' : ['V14-02-09-02', 'RecoParticleFlow/PFProducer'], - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_May25_PF2PATPATCMG', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_May27_LepIsoRelaxed_NewSources', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_May25_MultSeqs', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_May26', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['HEAD', 'CMGTools/ZmumuJetsTutorial'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_May27_FixMaximeBug', 'RecoParticleFlow/PostProcessing'], -} diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1_exp_colin_may31.py b/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1_exp_colin_may31.py deleted file mode 100644 index cc3c450f0b08..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1_exp_colin_may31.py +++ /dev/null @@ -1,17 +0,0 @@ -# https://twiki.cern.ch/twiki/bin/view/CMS/CMGToolsReleasesExperimental#Colin_May_31 -{ - 'CommonTools/ParticleFlow': ['Colin_May19', 'CommonTools/ParticleFlow'], - 'DataFormats/PatCandidates' : ['V06-04-11', 'DataFormats/PatCandidates'], - 'PhysicsTools/PatAlgos': ['V08-06-28', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-17', 'PhysicsTools/PatExamples'], - 'RecoJets/Configuration' : ['V02-04-16', 'RecoJets/Configuration'], - 'RecoJets/JetAlgorithms' : ['V04-01-00', 'RecoJets/JetAlgorithms'], - 'RecoJets/JetProducers' : ['V05-05-03', 'RecoJets/JetProducers'], - 'UserCode/RecoParticleFlow/PFProducer' : ['V14-02-09-02', 'RecoParticleFlow/PFProducer'], - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_May25_PF2PATPATCMG', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_May31_triggerResults', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_May25_MultSeqs', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_May26', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['HEAD', 'CMGTools/ZmumuJetsTutorial'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_May27_FixMaximeBug', 'RecoParticleFlow/PostProcessing'], -} diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1_exp_colin_may31b.py b/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1_exp_colin_may31b.py deleted file mode 100644 index c164ede18cf3..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_3_patch1_exp_colin_may31b.py +++ /dev/null @@ -1,16 +0,0 @@ -# https://twiki.cern.ch/twiki/bin/view/CMS/CMGToolsReleasesExperimental#Colin_May_31 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_May25_PF2PATPATCMG', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_May31_tracked', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_May25_MultSeqs', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_May31_revived', 'CMGTools/Susy'], - 'CommonTools/ParticleFlow': ['Colin_May19', 'CommonTools/ParticleFlow'], - 'DataFormats/PatCandidates' : ['V06-04-11', 'DataFormats/PatCandidates'], - 'PhysicsTools/PatAlgos': ['V08-06-28', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-17', 'PhysicsTools/PatExamples'], - 'RecoJets/Configuration' : ['V02-04-16', 'RecoJets/Configuration'], - 'RecoJets/JetAlgorithms' : ['V04-01-00', 'RecoJets/JetAlgorithms'], - 'RecoJets/JetProducers' : ['V05-05-03', 'RecoJets/JetProducers'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_May31_productsKept', 'RecoParticleFlow/PostProcessing'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['HEAD', 'CMGTools/ZmumuJetsTutorial'], -} diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_5.py b/CMGTools/Common/python/release_info/CMSSW_4_2_5.py deleted file mode 100644 index 9bd2ac10639b..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_5.py +++ /dev/null @@ -1,22 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_JetIdTopProj_June29', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['wreece_120711', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_CutCorrelations_Jul5', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_LepSel_July5', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['jeroen_20110708', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['Colin_June23', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-18', 'DataFormats/PatCandidates'], - 'FWCore/GuiBrowsers' : ['V00-00-57', 'FWCore/GuiBrowsers'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-38', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-21', 'PhysicsTools/PatExamples'], - 'PhysicsTools/SelectorUtils' : ['V00-03-17', 'PhysicsTools/SelectorUtils'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-02', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-06', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_V2_1_0.py b/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_V2_1_0.py deleted file mode 100644 index d7524b3361e8..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_V2_1_0.py +++ /dev/null @@ -1,22 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_V2_1_0', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_V2_1_0', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_V2_1_0', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_V2_1_0', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['Colin_V2_1_0', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['benitezj_22july2011', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-18', 'DataFormats/PatCandidates'], - 'FWCore/GuiBrowsers' : ['V00-00-57', 'FWCore/GuiBrowsers'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-38', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-21', 'PhysicsTools/PatExamples'], - 'PhysicsTools/SelectorUtils' : ['V00-03-17', 'PhysicsTools/SelectorUtils'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-02', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-06', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_V2_2_0.py b/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_V2_2_0.py deleted file mode 100644 index 05004040b672..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_V2_2_0.py +++ /dev/null @@ -1,22 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_V2_2_0', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_V2_2_0', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_V2_2_0', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_V2_2_0', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['Colin_V2_2_0', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['benitezj_22july2011', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-18', 'DataFormats/PatCandidates'], - 'FWCore/GuiBrowsers' : ['V00-00-57', 'FWCore/GuiBrowsers'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-38', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-21', 'PhysicsTools/PatExamples'], - 'PhysicsTools/SelectorUtils' : ['V00-03-17', 'PhysicsTools/SelectorUtils'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-02', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-06', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_colin_july22.py b/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_colin_july22.py deleted file mode 100644 index cb8e481a5207..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_colin_july22.py +++ /dev/null @@ -1,22 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_July22', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_July22_BadEEFilter_EENoiseFilter_TrackingFailureFilter', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_July22', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_July22', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['jeroen_20110708', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['Colin_June23', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-18', 'DataFormats/PatCandidates'], - 'FWCore/GuiBrowsers' : ['V00-00-57', 'FWCore/GuiBrowsers'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-38', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-21', 'PhysicsTools/PatExamples'], - 'PhysicsTools/SelectorUtils' : ['V00-03-17', 'PhysicsTools/SelectorUtils'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-02', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-06', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_colin_july26.py b/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_colin_july26.py deleted file mode 100644 index e8e99ad31c25..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_colin_july26.py +++ /dev/null @@ -1,22 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_July22', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_July26_b', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_July22', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_July22_DPhi', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['jeroen_20110708', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['benitezj_22july2011', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-18', 'DataFormats/PatCandidates'], - 'FWCore/GuiBrowsers' : ['V00-00-57', 'FWCore/GuiBrowsers'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-38', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-21', 'PhysicsTools/PatExamples'], - 'PhysicsTools/SelectorUtils' : ['V00-03-17', 'PhysicsTools/SelectorUtils'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-02', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-06', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_colin_june29.py b/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_colin_june29.py deleted file mode 100644 index 0b6c4d5984d0..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_5_exp_colin_june29.py +++ /dev/null @@ -1,22 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['Colin_JetIdTopProj_June29', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['Colin_July4', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['Colin_Jul1', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/Susy': ['Colin_Jul1', 'CMGTools/Susy'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['Colin_Scripts', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['Colin_June23', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-18', 'DataFormats/PatCandidates'], - 'FWCore/GuiBrowsers' : ['V00-00-56', 'FWCore/GuiBrowsers'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-38', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/PatExamples' : ['V00-05-21', 'PhysicsTools/PatExamples'], - 'PhysicsTools/SelectorUtils' : ['V00-03-17', 'PhysicsTools/SelectorUtils'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-02', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-06', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8.py deleted file mode 100644 index 0898a173e1d7..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8.py +++ /dev/null @@ -1,20 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['cbern_memleak_10Oct11', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['cbern_cmsBatch_12Oct11', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['cbern_iso_06Oct11', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['cbern_tutorial_12Oct11', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['B4_2_X_V00-03-00', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-19-02', 'DataFormats/PatCandidates'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-44', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/SelectorUtils' : ['V00-03-24', 'PhysicsTools/SelectorUtils'], - 'PhysicsTools/UtilAlgos' : ['V08-02-14', 'PhysicsTools/UtilAlgos'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-03', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-07', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], - 'RecoLuminosity/LumiDB' : ['V03-03-00', 'RecoLuminosity/LumiDB'], -} diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_3_0.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_3_0.py deleted file mode 100644 index 0898a173e1d7..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_3_0.py +++ /dev/null @@ -1,20 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['cbern_memleak_10Oct11', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['cbern_cmsBatch_12Oct11', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['cbern_iso_06Oct11', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['cbern_tutorial_12Oct11', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['B4_2_X_V00-03-00', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-19-02', 'DataFormats/PatCandidates'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-44', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/SelectorUtils' : ['V00-03-24', 'PhysicsTools/SelectorUtils'], - 'PhysicsTools/UtilAlgos' : ['V08-02-14', 'PhysicsTools/UtilAlgos'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-03', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-07', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], - 'RecoLuminosity/LumiDB' : ['V03-03-00', 'RecoLuminosity/LumiDB'], -} diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_4_0.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_4_0.py deleted file mode 100644 index 58b45e1ade27..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_4_0.py +++ /dev/null @@ -1,25 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['cbern_h2tautauvars_31Oct11', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['enrique_taggingFilters_07nov11', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/Production': ['wreece_091111', 'CMGTools/Production'], - 'UserCode/CMG/CMGTools/RootTools': ['cbern_rootdirstyle_01Nov11', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['cbern_tutorial_12Oct11', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['B4_2_X_cbern_dbetaoff_14Oct11', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-19-02', 'DataFormats/PatCandidates'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-48', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/SelectorUtils' : ['V00-03-24', 'PhysicsTools/SelectorUtils'], - 'PhysicsTools/UtilAlgos' : ['V08-02-14', 'PhysicsTools/UtilAlgos'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'RecoLuminosity/LumiDB' : ['V03-03-07', 'RecoLuminosity/LumiDB'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-03', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-07', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], - 'UserCode/TauAnalysis/SVFitStandAlone' : ['cbern_start_18Oct11', 'TauAnalysis/SVFitStandAlone'], - 'GeneratorInterface/GenFilters': ['V00-11-00-01','GeneratorInterface/GenFilters'], -} - - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_4_0_1.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_4_0_1.py deleted file mode 100644 index b315a51c0240..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_4_0_1.py +++ /dev/null @@ -1,21 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_h2tautauvars_31Oct11'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_V2401_04Jan12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'jose17jan12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_rootdirstyle_01Nov11'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'B4_2_X_cbern_dbetaoff_04Jan12_PFPileUpSpeed'), - ('DataFormats/AnomalousEcalDataFormats', 'UserCode/csander/DataFormats/AnomalousEcalDataFormats', 'V110523_BE'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-19-02'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-06-48'), - ('PhysicsTools/SelectorUtils', 'PhysicsTools/SelectorUtils', 'V00-03-24'), - ('PhysicsTools/UtilAlgos', 'PhysicsTools/UtilAlgos', 'V08-02-14'), - ('RecoJets/Configuration', 'RecoJets/Configuration', 'V02-04-17'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-07'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'V01-02-00'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'cbern_start_18Oct11') ] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_4_1.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_4_1.py deleted file mode 100644 index d82004ca2f30..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_V2_4_1.py +++ /dev/null @@ -1,22 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_ptd_05Jan12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'jose_TrigObjs_9Jan12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'jose17jan12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_mcyield_29Nov11'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'cbern_tutorial_12Oct11'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'B4_2_X_cbern_dbetaoff_04Jan12_PFPileUpSpeed'), - ('DataFormats/AnomalousEcalDataFormats', 'UserCode/csander/DataFormats/AnomalousEcalDataFormats', 'V110523_BE'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-19-02'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-06-48'), - ('PhysicsTools/SelectorUtils', 'PhysicsTools/SelectorUtils', 'V00-03-24'), - ('PhysicsTools/UtilAlgos', 'PhysicsTools/UtilAlgos', 'V08-02-14'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoJets/Configuration', 'RecoJets/Configuration', 'V02-04-17'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-07'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'V01-02-00'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_nov14.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_nov14.py deleted file mode 100644 index 63569d30e0f4..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_nov14.py +++ /dev/null @@ -1,25 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['cbern_svfit_14Nov11', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['cbern_svfit_14Nov11', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/Production': ['cbern_11Nov11', 'CMGTools/Production'], - 'UserCode/CMG/CMGTools/RootTools': ['cbern_11Nov11', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['cbern_tutorial_12Oct11', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['B4_2_X_cbern_dbetaoff_14Oct11', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-19-02', 'DataFormats/PatCandidates'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-48', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/SelectorUtils' : ['V00-03-24', 'PhysicsTools/SelectorUtils'], - 'PhysicsTools/UtilAlgos' : ['V08-02-14', 'PhysicsTools/UtilAlgos'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'RecoLuminosity/LumiDB' : ['V03-03-07', 'RecoLuminosity/LumiDB'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-03', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-07', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], - 'UserCode/TauAnalysis/SVFitStandAlone' : ['cbern_start_18Oct11', 'TauAnalysis/SVFitStandAlone'], - 'GeneratorInterface/GenFilters': ['V00-11-00-01','GeneratorInterface/GenFilters'], -} - - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_nov15.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_nov15.py deleted file mode 100644 index 6a41b11ca0d9..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_nov15.py +++ /dev/null @@ -1,19 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_svfit_14Nov11'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_releaseInfo_15Nov11'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_15Nov11_b'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_15Nov11'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'cbern_tutorial_12Oct11'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'B4_2_X_cbern_dbetaoff_14Oct11'), - ('DataFormats/AnomalousEcalDataFormats', 'UserCode/csander/DataFormats/AnomalousEcalDataFormats', 'V110523_BE'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-19-02'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-06-48'), - ('PhysicsTools/SelectorUtils', 'PhysicsTools/SelectorUtils', 'V00-03-24'), - ('PhysicsTools/UtilAlgos', 'PhysicsTools/UtilAlgos', 'V08-02-14'), - ('RecoJets/Configuration', 'RecoJets/Configuration', 'V02-04-17'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-07'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'V01-02-00')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_nov29.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_nov29.py deleted file mode 100644 index 4cf402bbf873..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_nov29.py +++ /dev/null @@ -1,21 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_tauEOverP_29Nov11'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_vertexWeight2_fromJose_29Nov11'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_tauEOverP_29Nov11'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_fromWill_25Nov11'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_mcyield_29Nov11'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'cbern_tutorial_12Oct11'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'B4_2_X_cbern_dbetaoff_14Oct11'), - ('DataFormats/AnomalousEcalDataFormats', 'UserCode/csander/DataFormats/AnomalousEcalDataFormats', 'V110523_BE'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-19-02'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-06-48'), - ('PhysicsTools/SelectorUtils', 'PhysicsTools/SelectorUtils', 'V00-03-24'), - ('PhysicsTools/UtilAlgos', 'PhysicsTools/UtilAlgos', 'V08-02-14'), - ('RecoJets/Configuration', 'RecoJets/Configuration', 'V02-04-17'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-07'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'V01-02-00'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_oct14.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_oct14.py deleted file mode 100644 index 84682265b7b6..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_oct14.py +++ /dev/null @@ -1,21 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['cbern_PFCandidate_14Oct11', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['cbern_PFCandidate_14Oct11', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/RootTools': ['cbern_tagAndProbe_14Oct11', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['cbern_tutorial_12Oct11', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['B4_2_X_cbern_dbetaoff_14Oct11', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-19-02', 'DataFormats/PatCandidates'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-44', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/SelectorUtils' : ['V00-03-24', 'PhysicsTools/SelectorUtils'], - 'PhysicsTools/UtilAlgos' : ['V08-02-14', 'PhysicsTools/UtilAlgos'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-03', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-07', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], - 'RecoLuminosity/LumiDB' : ['V03-03-00', 'RecoLuminosity/LumiDB'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_oct18.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_oct18.py deleted file mode 100644 index cde2562db5af..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_colin_oct18.py +++ /dev/null @@ -1,23 +0,0 @@ -# See https://savannah.cern.ch/task/index.php?20954 -{ - 'UserCode/CMG/AnalysisDataFormats/CMGTools': ['cbern_jetcor_27Oct11', 'AnalysisDataFormats/CMGTools'], - 'UserCode/CMG/CMGTools/Common': ['cbern_jetcor_27Oct11', 'CMGTools/Common'], - 'UserCode/CMG/CMGTools/Production': ['cbern_scripts_25Oct11', 'CMGTools/Production'], - 'UserCode/CMG/CMGTools/RootTools': ['cbern_Plot_27Oct11', 'CMGTools/RootTools'], - 'UserCode/CMG/CMGTools/ZmumuJetsTutorial': ['cbern_tutorial_12Oct11', 'CMGTools/ZmumuJetsTutorial'], - 'CommonTools/ParticleFlow': ['B4_2_X_cbern_dbetaoff_14Oct11', 'CommonTools/ParticleFlow'], - 'UserCode/csander/DataFormats/AnomalousEcalDataFormats' : ['V110523_BE', 'DataFormats/AnomalousEcalDataFormats'], - 'DataFormats/PatCandidates' : ['V06-04-19-02', 'DataFormats/PatCandidates'], - 'JetMETAnalysis/ecalDeadCellTools': ['Colin_TaggingMode_June30','JetMETAnalysis/ecalDeadCellTools'], - 'PhysicsTools/PatAlgos': ['V08-06-44', 'PhysicsTools/PatAlgos'], - 'PhysicsTools/SelectorUtils' : ['V00-03-24', 'PhysicsTools/SelectorUtils'], - 'PhysicsTools/UtilAlgos' : ['V08-02-14', 'PhysicsTools/UtilAlgos'], - 'RecoJets/Configuration' : ['V02-04-17', 'RecoJets/Configuration'], - 'RecoLuminosity/LumiDB' : ['V03-03-00', 'RecoLuminosity/LumiDB'], - 'UserCode/RecoParticleFlow/PostProcessing': ['Colin_June23', 'RecoParticleFlow/PostProcessing'], - 'RecoTauTag/Configuration' : ['V01-02-03', 'RecoTauTag/Configuration'], - 'RecoTauTag/RecoTau' : ['V01-02-07', 'RecoTauTag/RecoTau'], - 'RecoTauTag/TauTagTools' : ['V01-02-00', 'RecoTauTag/TauTagTools'], - 'UserCode/TauAnalysis/SVFitStandAlone' : ['cbern_start_18Oct11', 'TauAnalysis/SVFitStandAlone'], -} - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_testnewformat.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_testnewformat.py deleted file mode 100644 index dd0d18c1c248..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_exp_testnewformat.py +++ /dev/null @@ -1,20 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_svfit_14Nov11'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_svfit_14Nov11'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_11Nov11'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_11Nov11'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'cbern_tutorial_12Oct11'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'B4_2_X_cbern_dbetaoff_14Oct11'), - ('DataFormats/AnomalousEcalDataFormats', 'UserCode/csander/DataFormats/AnomalousEcalDataFormats', 'V110523_BE'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-19-02'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-06-48'), - ('PhysicsTools/SelectorUtils', 'PhysicsTools/SelectorUtils', 'V00-03-24'), - ('PhysicsTools/UtilAlgos', 'PhysicsTools/UtilAlgos', 'V08-02-14'), - ('RecoJets/Configuration', 'RecoJets/Configuration', 'V02-04-17'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-00'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-07'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'V01-02-00'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'cbern_start_18Oct11')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_patch7_exp_V2_5_0.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_patch7_exp_V2_5_0.py deleted file mode 100644 index 6093250e1c2d..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_patch7_exp_V2_5_0.py +++ /dev/null @@ -1,24 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_pzeta_17Jan11'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_miteid1_20Jan12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_20Jan12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'jose17jan12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_mcyield_29Nov11'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'B4_2_X_cbern_eNoVeto_18Jan12'), - ('DataFormats/AnomalousEcalDataFormats', 'UserCode/csander/DataFormats/AnomalousEcalDataFormats', 'V110523_BE'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-19-04'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-06-54'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18'), - ('PhysicsTools/SelectorUtils', 'PhysicsTools/SelectorUtils', 'V00-03-24'), - ('PhysicsTools/UtilAlgos', 'PhysicsTools/UtilAlgos', 'V08-02-14'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoJets/Configuration', 'RecoJets/Configuration', 'V02-04-17'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-12'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-16'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'V01-02-01'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_2_8_patch7_exp_colin_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_4_2_8_patch7_exp_colin_BleedingEdge.py deleted file mode 100644 index d4247482f29a..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_2_8_patch7_exp_colin_BleedingEdge.py +++ /dev/null @@ -1,31 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_chargedPartIso_02Feb12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_recoilHiggs_25Jan12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_chargedParticleIso_02Feb12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_02Feb12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_chargedParticleIso_02Feb12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - # check the PF2PAT sequence for mistakes - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'B4_2_X_cbern_eNoVeto_18Jan12'), - ('DataFormats/AnomalousEcalDataFormats', 'UserCode/csander/DataFormats/AnomalousEcalDataFormats', 'V110523_BE'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-19-04'), - # in 44 - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-06-54'), - # in 44 - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18'), - # in 44 - ('PhysicsTools/SelectorUtils', 'PhysicsTools/SelectorUtils', 'V00-03-24'), - # in 44 - ('PhysicsTools/UtilAlgos', 'PhysicsTools/UtilAlgos', 'V08-02-14'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - # more recent in 44 - ('RecoJets/Configuration', 'RecoJets/Configuration', 'V02-04-17'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-12'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-16'), - # in 44 - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'V01-02-01'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_V3_1_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_V3_1_0.py deleted file mode 100644 index ece797363783..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_V3_1_0.py +++ /dev/null @@ -1,15 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'wreece_160312'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_eventContent_19Mar12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_19Mar12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff16mar2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_delta_19Mar12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-38-02'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-12'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-16'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_colin_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_colin_BleedingEdge.py deleted file mode 100644 index a34ca9bc9f2b..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_colin_BleedingEdge.py +++ /dev/null @@ -1,24 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'wreece_220312'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_daniele_27Mar12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_19Mar12'), - ('CMGTools/HToZZTo4Leptons', 'UserCode/CMG/CMGTools/HToZZTo4Leptons', 'cbern_hzz_21Mar12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff26mar2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_hzz_21Mar12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-33'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-38-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-12'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-16'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_colin_Feb02.py b/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_colin_Feb02.py deleted file mode 100644 index 965abcbc0bb5..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_colin_Feb02.py +++ /dev/null @@ -1,15 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_newDiTaus_03Feb12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_newDiTaus_03Feb12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_antiEle_06Feb12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'logger_cbern_10Feb12-10h52m08s'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_chargedParticleIso_02Feb12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-38-02'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-12'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-16'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_colin_Feb09.py b/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_colin_Feb09.py deleted file mode 100644 index 1bc237e380e9..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_3_exp_colin_Feb09.py +++ /dev/null @@ -1,15 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_newDiTaus_03Feb12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_newDiTaus_03Feb12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_fwliteanalysis_08Feb12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff7feb12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_fwliteanalysis_08Feb12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-38-02'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-12'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-16'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_V4_0_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_V4_0_0.py deleted file mode 100644 index e358995f3cbe..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_V4_0_0.py +++ /dev/null @@ -1,25 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_sip_27Mar12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_PFIso_29Mar12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_19Mar12'), - ('CMGTools/HToZZTo4Leptons', 'UserCode/CMG/CMGTools/HToZZTo4Leptons', 'cbern_hzz_21Mar12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff26mar2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_hzz_21Mar12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-04'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-33'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'cbern_PFIso_29Mar12'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-12'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-16'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_V5_3_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_V5_3_0.py deleted file mode 100644 index a27b89a1bfea..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_V5_3_0.py +++ /dev/null @@ -1,40 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'sezen_21May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'sezen_21May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'sezen_18may12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_rltinfo_18May12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-08'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-01'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-44'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'VB00-00-03'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay14')] -# The following packages were not in the input release_info. -# Please make sure that the CVS module is correct! -# TauAnalysis/CandidateTools bMinimalSVfit_2012May13 diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_V5_4_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_V5_4_0.py deleted file mode 100644 index 035fa07f7f53..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_V5_4_0.py +++ /dev/null @@ -1,40 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'patrick_photonDF_21May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'patrick_photonDF_21May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'sezen_18may12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_rltinfo_18May12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-08'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-01'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-44'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'VB00-00-03'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay14')] -# The following packages were not in the input release_info. -# Please make sure that the CVS module is correct! -# TauAnalysis/CandidateTools bMinimalSVfit_2012May13 diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_colin_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_colin_BleedingEdge.py deleted file mode 100644 index a86d7d45064a..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_colin_BleedingEdge.py +++ /dev/null @@ -1,39 +0,0 @@ -[ ( 'AnalysisDataFormats/CMGTools', - 'UserCode/CMG/AnalysisDataFormats/CMGTools', - 'TJ_Enrique_NewJetCMGVariable_03Oct2012'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cris_backport_44_oct5'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-09'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_04Oct12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_01Oct12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_04Oct12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-10'), - ('CondFormats/DataRecord', 'CondFormats/DataRecord', 'V06-23-01'), - ('CondFormats/EcalObjects', 'CondFormats/EcalObjects', 'V01-02-13'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-00'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-38'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-28-BP42X'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-4-44X'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-60'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-49'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEcal/EgammaCoreTools', 'RecoEcal/EgammaCoreTools', 'V05-08-24'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V08-11-10-01'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_cris_V4_0_2.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_cris_V4_0_2.py deleted file mode 100644 index d9607e86c931..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_exp_cris_V4_0_2.py +++ /dev/null @@ -1,28 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'TJ_mva_15Apr12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'CB_mvaConv_44X_22Apr12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_b_12Apr12'), - ('CMGTools/HToZZTo4Leptons', 'UserCode/CMG/CMGTools/HToZZTo4Leptons', 'cbern_12Apr12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_dasoff_11Apr12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_12Apr12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-06'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-00'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-44'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-02-12'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-02-16'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-05')] - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_0_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_0_0.py deleted file mode 100644 index 37aa69006eac..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_0_0.py +++ /dev/null @@ -1,35 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_tauid_04May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_tkmet_05May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_b_12Apr12'), - ('CMGTools/HToZZTo4Leptons', 'UserCode/CMG/CMGTools/HToZZTo4Leptons', 'cbern_12Apr12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_04May12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_03May12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-08'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-01'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-60'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-44'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_1_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_1_0.py deleted file mode 100644 index e9d00d989a53..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_1_0.py +++ /dev/null @@ -1,35 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_tauid_04May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_cmgonpat_06May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_b_12Apr12'), - ('CMGTools/HToZZTo4Leptons', 'UserCode/CMG/CMGTools/HToZZTo4Leptons', 'cbern_12Apr12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_04May12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_init_06May12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-08'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-01'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-60'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-44'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_2_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_2_0.py deleted file mode 100644 index 50a5ff63b877..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_2_0.py +++ /dev/null @@ -1,37 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_metreg_10May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'colin_metregclean_10May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'colin_metregclean_10May12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_09May12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_init_06May12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-08'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-01'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-44'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-03-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_4_1.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_4_1.py deleted file mode 100644 index 753018d7e3f3..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_4_1.py +++ /dev/null @@ -1,38 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_eleveto_29May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_eleveto_29May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_lepid_29May12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff22May2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_lepid_29May12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-08'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-01'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-44'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_5_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_5_0.py deleted file mode 100644 index a1bc3920baed..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_5_0.py +++ /dev/null @@ -1,38 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_boostarrays_18Jul12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_fixsumet_20Jul12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/H2TauTau', 'UserCode/CMGTools/H2TauTau', 'cbern_xcheck_20Jul12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff17Jul2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_18Jul12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-10'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-47'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_5_1.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_5_1.py deleted file mode 100644 index d6420e8383f5..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_5_1.py +++ /dev/null @@ -1,41 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_boostarrays_18Jul12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_joseAug3b_MVAMETFix_44X_3Sep12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-09'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_skim_3Sep12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_exit0_13Aug12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_eventselector_31Aug12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-10'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-47'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] -# The following packages were not in the input release_info. -# Please make sure that the CVS module is correct! -# CMGTools/H2TauTau cbern_skim_3Sep12 diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_6_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_6_0.py deleted file mode 100644 index fea54ebeccf7..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_6_0.py +++ /dev/null @@ -1,37 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbernForMike_muonmatrix_28Aug12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_10Sep12_44X_12Sep12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-09'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_12Sep12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_12Sep12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_eventselector_31Aug12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-10'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-47'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_9_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_9_0.py deleted file mode 100644 index a86d7d45064a..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_4_rel_V5_9_0.py +++ /dev/null @@ -1,39 +0,0 @@ -[ ( 'AnalysisDataFormats/CMGTools', - 'UserCode/CMG/AnalysisDataFormats/CMGTools', - 'TJ_Enrique_NewJetCMGVariable_03Oct2012'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cris_backport_44_oct5'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-09'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_04Oct12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_01Oct12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_04Oct12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-10'), - ('CondFormats/DataRecord', 'CondFormats/DataRecord', 'V06-23-01'), - ('CondFormats/EcalObjects', 'CondFormats/EcalObjects', 'V01-02-13'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-00'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-38'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-28-BP42X'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-4-44X'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-60'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-49'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEcal/EgammaCoreTools', 'RecoEcal/EgammaCoreTools', 'V05-08-24'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V08-11-10-01'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] - diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_5_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_4_4_5_exp_BleedingEdge.py deleted file mode 100644 index 092e319b31f0..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_5_exp_BleedingEdge.py +++ /dev/null @@ -1,39 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'lucieg_Ap8'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'lucieg_Ap18_44X'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-10'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_mvametbuiddfix_17Apr13'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_May3'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_Apr15'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'jose_3May13'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_local_12Dec12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-10'), - ('CondFormats/DataRecord', 'CondFormats/DataRecord', 'V06-23-01'), - ('CondFormats/EcalObjects', 'CondFormats/EcalObjects', 'V01-02-13'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/CaloRecHit', 'DataFormats/CaloRecHit', 'V02-05-11'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-39'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-28-BP42X'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-4-44X'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-52'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEcal/EgammaCoreTools', 'RecoEcal/EgammaCoreTools', 'V05-08-24'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V08-11-10-01'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-10-4XX'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-23-4XX-00'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-02-02s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_5_rel_V5_12_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_5_rel_V5_12_0.py deleted file mode 100644 index 87c0caf0bd7d..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_5_rel_V5_12_0.py +++ /dev/null @@ -1,38 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_cleanup_12Dec12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_44X_backport_18Dec12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-10'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_19Dec12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'anantoni_14Dec_publish_correction'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_11Dec12'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'cbern_44X_correctMVAandRecoilMET_11Dec12'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_local_12Dec12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-10'), - ('CondFormats/DataRecord', 'CondFormats/DataRecord', 'V06-23-01'), - ('CondFormats/EcalObjects', 'CondFormats/EcalObjects', 'V01-02-13'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-38'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-28-BP42X'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-4-44X'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-49'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEcal/EgammaCoreTools', 'RecoEcal/EgammaCoreTools', 'V05-08-24'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V08-11-10-01'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-08-4XX'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-21-4XX'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_4_4_5_rel_V5_15_0.py b/CMGTools/Common/python/release_info/CMSSW_4_4_5_rel_V5_15_0.py deleted file mode 100644 index 092e319b31f0..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_4_4_5_rel_V5_15_0.py +++ /dev/null @@ -1,39 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'lucieg_Ap8'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'lucieg_Ap18_44X'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-10'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_mvametbuiddfix_17Apr13'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_May3'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_Apr15'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'jose_3May13'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_local_12Dec12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-05-10'), - ('CondFormats/DataRecord', 'CondFormats/DataRecord', 'V06-23-01'), - ('CondFormats/EcalObjects', 'CondFormats/EcalObjects', 'V01-02-13'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/CaloRecHit', 'DataFormats/CaloRecHit', 'V02-05-11'), - ('DataFormats/METReco', 'DataFormats/METReco', 'lhx_12JAN2012_v1'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-39'), - ('DataFormats/TauReco', 'DataFormats/TauReco', 'CMSSW_5_2_4'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-28-BP42X'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-4-44X'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('GeneratorInterface/GenFilters', 'GeneratorInterface/GenFilters', 'V00-11-00-01'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/HepMCCandAlgos', 'PhysicsTools/HepMCCandAlgos', 'V11-03-16'), - ('PhysicsTools/IsolationAlgos', 'PhysicsTools/IsolationAlgos', 'V01-05-07'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-07-52'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoEcal/EgammaCoreTools', 'RecoEcal/EgammaCoreTools', 'V05-08-24'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V08-11-10-01'), - ('RecoEgamma/ElectronIdentification', 'RecoEgamma/ElectronIdentification', 'V00-03-32'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-10-4XX'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-23-4XX-00'), - ('RecoTauTag/TauTagTools', 'RecoTauTag/TauTagTools', 'CMSSW_5_2_4'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-02-02s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_1_2_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_1_2_exp_BleedingEdge.py deleted file mode 100644 index d6438d75e3bb..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_1_2_exp_BleedingEdge.py +++ /dev/null @@ -1,15 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'joseMarch20'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'lucie_21Mar12'), - ('CMGTools/HToZZTo4Leptons', 'CMGTools/HToZZTo4Leptons', 'cbern_hzz_21Mar12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff21march2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_hzz_21Mar12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-06-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-04-33'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-08-11-03'), - ('PhysicsTools/SelectorUtils', 'PhysicsTools/SelectorUtils', 'V00-03-24-01'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-17'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-04-02'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_2_0_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_2_0_exp_BleedingEdge.py deleted file mode 100644 index dc763b00f917..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_2_0_exp_BleedingEdge.py +++ /dev/null @@ -1,12 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'joseMarch20'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'lucie_21Mar12'), - ('CMGTools/HToZZTo4Leptons', 'CMGTools/HToZZTo4Leptons', 'cbern_hzz_21Mar12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff21march2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_hzz_21Mar12'), - ('CMGTools/ZmumuJetsTutorial', 'UserCode/CMG/CMGTools/ZmumuJetsTutorial', 'jhegeman_V2401_16Jan12'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-08-21'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-17'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-04-02'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_2_3_patch2_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_2_3_patch2_exp_BleedingEdge.py deleted file mode 100644 index 290df7f0421e..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_2_3_patch2_exp_BleedingEdge.py +++ /dev/null @@ -1,27 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_unification_08May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_unification_08May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_04May12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_init_06May12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-07-01'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ('EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-61'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-02'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-05'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_2_3_patch2_exp_ForTaejeong.py b/CMGTools/Common/python/release_info/CMSSW_5_2_3_patch2_exp_ForTaejeong.py deleted file mode 100644 index abdf20f128cc..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_2_3_patch2_exp_ForTaejeong.py +++ /dev/null @@ -1,20 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_sip_27Mar12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_nomitid_11Apr12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_B52X_12Apr12'), - ('CMGTools/HToZZTo4Leptons', 'UserCode/CMG/CMGTools/HToZZTo4Leptons', 'cbern_12Apr12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_dasoff_11Apr12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_12Apr12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-07-01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/ClaudeCharlot/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-08-25'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-05'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'Colin_June23'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseNov14')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_2_4_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_2_4_exp_BleedingEdge.py deleted file mode 100644 index 1eeb42b9a05f..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_2_4_exp_BleedingEdge.py +++ /dev/null @@ -1,29 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'michalis_100512_PFMuon'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_gt_15May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_15May12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_yr_15May12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-08'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-08'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('HcalNoise', 'UserCode/YiChen/HcalNoise', 'HcalLaserFilter_20120510_YiChen'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-02'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'lhx_14APR2012_v1'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-06-01'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_2_5_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_2_5_exp_BleedingEdge.py deleted file mode 100644 index 41816ed9cf10..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_2_5_exp_BleedingEdge.py +++ /dev/null @@ -1,42 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_boostarrays_18Jul12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_mvamet1_18Jul12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_mvaandrecoil_18Jul12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff17Jul2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_18Jul12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-11'), - ('CommonTools/RecoUtils', 'CommonTools/RecoUtils', 'V00-00-09'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ( 'HcalNoise/HcalLaserFilterFromAOD', - 'UserCode/YiChen/HcalNoise/HcalLaserFilterFromAOD', - 'HcalLaserFilter_20120510_YiChen'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-07'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-22'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-01'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-08'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] -# The following packages were not in the input release_info. -# Please make sure that the CVS module is correct! -# CMGTools/H2TauTau cbern_mvaandrecoil_18Jul12 -# CommonTools/RecoUtils V00-00-09 -# JetMETCorrections/Type1MET V04-06-09 diff --git a/CMGTools/Common/python/release_info/CMSSW_5_2_5_exp_V5_3_0.py b/CMGTools/Common/python/release_info/CMSSW_5_2_5_exp_V5_3_0.py deleted file mode 100644 index b0e5402969fe..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_2_5_exp_V5_3_0.py +++ /dev/null @@ -1,30 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'sezen_21May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'sezen_21May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'sezen_18may12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_rltinfo_18May12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-11'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('HcalNoise', 'UserCode/YiChen/HcalNoise', 'HcalLaserFilter_20120510_YiChen'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-07'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-01'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-08'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_2_5_exp_V5_4_0.py b/CMGTools/Common/python/release_info/CMSSW_5_2_5_exp_V5_4_0.py deleted file mode 100644 index a83f5d263173..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_2_5_exp_V5_4_0.py +++ /dev/null @@ -1,30 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'patrick_photonDF_21May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'patrick_photonDF_21May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'sezen_18may12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_rltinfo_18May12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-11'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('HcalNoise', 'UserCode/YiChen/HcalNoise', 'HcalLaserFilter_20120510_YiChen'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-07'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-01'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-08'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_2_5_rel_V5_4_0_1.py b/CMGTools/Common/python/release_info/CMSSW_5_2_5_rel_V5_4_0_1.py deleted file mode 100644 index fc5ed57b0d9b..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_2_5_rel_V5_4_0_1.py +++ /dev/null @@ -1,33 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_mvamet_22May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_gbrparam_30May12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_52_30May12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff22May2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_lepid_29May12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-11'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('HcalNoise/HcalLaserFilterFromAOD', 'HcalNoise/HcalLaserFilterFromAOD', 'HcalLaserFilter_20120510_YiChen'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-07'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-18-03'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-01'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-08'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_2_5_rel_V5_5_0.py b/CMGTools/Common/python/release_info/CMSSW_5_2_5_rel_V5_5_0.py deleted file mode 100644 index a706ecc89271..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_2_5_rel_V5_5_0.py +++ /dev/null @@ -1,39 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_mvamet_22May12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_4Jul12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_nocctauele_4Jul12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_4Jul12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_4Jul12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-11'), - ('CommonTools/RecoUtils', 'CommonTools/RecoUtils', 'V00-00-09'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('HcalNoise/HcalLaserFilterFromAOD', 'HcalNoise/HcalLaserFilterFromAOD', 'HcalLaserFilter_20120510_YiChen'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-07'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-22'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-01'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-08'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] -# The following packages were not in the input release_info. -# Please make sure that the CVS module is correct! -# CommonTools/RecoUtils V00-00-09 -# JetMETCorrections/Type1MET V04-06-09 diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_0_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_3_0_exp_BleedingEdge.py deleted file mode 100644 index 3a1c986a1cb5..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_0_exp_BleedingEdge.py +++ /dev/null @@ -1,35 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbernForMike_muonmatrix_28Aug12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_GT53_29Aug12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-09'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_28Aug12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_retcode_28Aug12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'wreece_010812'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-15'), - ('CommonTools/RecoUtils', 'CommonTools/RecoUtils', 'V00-00-12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-21'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-23'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoBTag/SecondaryVertex', 'RecoBTag/SecondaryVertex', 'V01-08-00'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-07'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-11'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoVertex/AdaptiveVertexFinder', 'RecoVertex/AdaptiveVertexFinder', 'V02-02-00'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_0_rel_V5_5_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_0_rel_V5_5_0.py deleted file mode 100644 index 37e722e1b79d..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_0_rel_V5_5_0.py +++ /dev/null @@ -1,39 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_boostarrays_18Jul12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_fixsumet_20Jul12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-02'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_xcheck_20Jul12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff17Jul2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_18Jul12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-15'), - ('CommonTools/RecoUtils', 'CommonTools/RecoUtils', 'V00-00-12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ( 'HcalNoise/HcalLaserFilterFromAOD', - 'UserCode/YiChen/HcalNoise/HcalLaserFilterFromAOD', - 'HcalLaserFilter_20120510_YiChen'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-21'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-23'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoBTag/SecondaryVertex', 'RecoBTag/SecondaryVertex', 'V01-08-00'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-01'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-11'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoVertex/AdaptiveVertexFinder', 'RecoVertex/AdaptiveVertexFinder', 'V02-02-00'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_0_rel_V5_5_1.py b/CMGTools/Common/python/release_info/CMSSW_5_3_0_rel_V5_5_1.py deleted file mode 100644 index 5754fd6b4148..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_0_rel_V5_5_1.py +++ /dev/null @@ -1,36 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_boostarrays_18Jul12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'joseAug3b'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-09'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_xcheck_20Jul12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'pmeckiff25july2012'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'wreece_010812'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-15'), - ('CommonTools/RecoUtils', 'CommonTools/RecoUtils', 'V00-00-12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'cbern_25Apr12'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-63'), - ('JetMETAnalysis/ecalDeadCellTools', 'JetMETAnalysis/ecalDeadCellTools', 'Colin_TaggingMode_June30'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-21'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-23'), - ('PhysicsTools/Utilities', 'PhysicsTools/Utilities', 'V08-03-16'), - ('RecoBTag/SecondaryVertex', 'RecoBTag/SecondaryVertex', 'V01-08-00'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V03-05-07'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-07'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-01-11'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('RecoVertex/AdaptiveVertexFinder', 'RecoVertex/AdaptiveVertexFinder', 'V02-02-00'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'bMinimalSVfit_2012May13'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_exp_BleedingEdge.py deleted file mode 100644 index 21cb7cc63028..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_exp_BleedingEdge.py +++ /dev/null @@ -1,35 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'michalis_bleedingedge_oct8'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_cleanup_13Nov12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'cris_09Oct12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_tuto_14Nov12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_Nov21'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_Nov21'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_Nov21'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-16'), - ('CommonTools/RecoAlgos', 'CommonTools/RecoAlgos', 'V00-03-24'), - ('CommonTools/RecoUtils', 'CommonTools/RecoUtils', 'V00-00-12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/ParticleFlowCandidate', 'DataFormats/ParticleFlowCandidate', 'V15-03-04'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-02'), - ('DataFormats/TrackReco', 'DataFormats/TrackReco', 'V10-02-02'), - ('DataFormats/VertexReco', 'DataFormats/VertexReco', 'V02-00-04'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-29'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-2'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-41'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-26'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-00'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-01-09'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-07'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] -# The following packages were not in the input release_info. -# Please make sure that the CVS module is correct! -# RecoLuminosity/LumiDB V04-01-09 diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_10_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_10_0.py deleted file mode 100644 index 23a1327de23e..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_10_0.py +++ /dev/null @@ -1,31 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'michalis_bleedingedge_oct8'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cris_bleedingedge_oct9'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'cris_09Oct12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cris_09Oct12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cris_09Oct12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cris_09Oct12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-16'), - ('CommonTools/RecoAlgos', 'CommonTools/RecoAlgos', 'V00-03-24'), - ('CommonTools/RecoUtils', 'CommonTools/RecoUtils', 'V00-00-12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/ParticleFlowCandidate', 'DataFormats/ParticleFlowCandidate', 'V15-03-04'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-02'), - ('DataFormats/TrackReco', 'DataFormats/TrackReco', 'V10-02-02'), - ('DataFormats/VertexReco', 'DataFormats/VertexReco', 'V02-00-04'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-29'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-2'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-41'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-26'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-00'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-07'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] - diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_6_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_6_0.py deleted file mode 100644 index 2aab594b86e6..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_6_0.py +++ /dev/null @@ -1,33 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbernForMike_muonmatrix_28Aug12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_10Sep12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-09'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_12Sep12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_12Sep12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_eventselector_31Aug12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-16'), - ('CommonTools/RecoAlgos', 'CommonTools/RecoAlgos', 'V00-03-23'), - ('CommonTools/RecoUtils', 'CommonTools/RecoUtils', 'V00-00-12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/ParticleFlowCandidate', 'DataFormats/ParticleFlowCandidate', 'V15-03-02'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06'), - ('DataFormats/TrackReco', 'DataFormats/TrackReco', 'V10-02-02'), - ('DataFormats/VertexReco', 'DataFormats/VertexReco', 'V02-00-04'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'TJ_isPF_30Aug12'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-23'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-07'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_7_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_7_0.py deleted file mode 100644 index b4a06583ceed..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_7_0.py +++ /dev/null @@ -1,34 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbernForMike_muonmatrix_28Aug12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_elevars_15Sep12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-09'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_12Sep12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_12Sep12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_eventselector_31Aug12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-16'), - ('CommonTools/RecoAlgos', 'CommonTools/RecoAlgos', 'V00-03-23'), - ('CommonTools/RecoUtils', 'CommonTools/RecoUtils', 'V00-00-12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/ParticleFlowCandidate', 'DataFormats/ParticleFlowCandidate', 'V15-03-02'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06'), - ('DataFormats/TrackReco', 'DataFormats/TrackReco', 'V10-02-02'), - ('DataFormats/VertexReco', 'DataFormats/VertexReco', 'V02-00-04'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-33'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-23'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-07'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_8_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_8_0.py deleted file mode 100644 index 29d4b70f634a..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_3_patch3_rel_V5_8_0.py +++ /dev/null @@ -1,34 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_newdicts_01Oct12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_newmvamet_01Oct12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-09'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_02Oct12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_01Oct12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_01Oct12'), - ('CommonTools/ParticleFlow', 'CommonTools/ParticleFlow', 'V00-03-16'), - ('CommonTools/RecoAlgos', 'CommonTools/RecoAlgos', 'V00-03-24'), - ('CommonTools/RecoUtils', 'CommonTools/RecoUtils', 'V00-00-12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/ParticleFlowCandidate', 'DataFormats/ParticleFlowCandidate', 'V15-03-04'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-01'), - ('DataFormats/TrackReco', 'DataFormats/TrackReco', 'V10-02-02'), - ('DataFormats/VertexReco', 'DataFormats/VertexReco', 'V02-00-04'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-13'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronAlgos', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ( 'EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'UserCode/EGamma/EgammaCalibratedGsfElectrons/CalibratedElectronProducers', - 'Shervin20022012_2011Jan16ReRec0_and_Shervin05032012_Fall11MC_smearing_V01'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-37'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-26'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-07'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_5_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_3_5_exp_BleedingEdge.py deleted file mode 100644 index 8e4653d46dd7..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_5_exp_BleedingEdge.py +++ /dev/null @@ -1,24 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'lucieg_13Nov12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'TJ_PreTrigger_27Nov12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'cris_09Oct12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_mvametInUtilities'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_Nov21'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_RochCor_30Nov12'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'cbern_mvametInUtilities'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_RochCor_30Nov12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-03'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-29'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-2'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-43'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-00'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-01-09'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-03'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-17'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_7_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_3_7_exp_BleedingEdge.py deleted file mode 100644 index b045412046d6..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_7_exp_BleedingEdge.py +++ /dev/null @@ -1,38 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_cleanup_12Dec12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_19Dec12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-10'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_19Dec12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'anantoni_14Dec_publish_correction'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_11Dec12'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'cbern_mvametpywrap_19Dec12'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_local_12Dec12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DPGAnalysis/SiStripTools', 'DPGAnalysis/SiStripTools', 'V00-11-17'), - ('DPGAnalysis/Skims', 'DPGAnalysis/Skims', 'V01-00-11-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-03'), - ('DataFormats/StdDictionaries', 'DataFormats/StdDictionaries', 'V00-02-14'), - ('DataFormats/TrackerCommon', 'DataFormats/TrackerCommon', 'V00-00-08'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-30-01'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-2'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-48'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-00'), - ('RecoLocalTracker/SubCollectionProducers', 'RecoLocalTracker/SubCollectionProducers', 'V01-09-05'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-01-09'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-13'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-08'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-21'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] -# The following packages were not in the input release_info. -# Please make sure that the CVS module is correct! -# DPGAnalysis/SiStripTools V00-11-17 -# DPGAnalysis/Skims V01-00-11-01 -# DataFormats/TrackerCommon V00-00-08 -# RecoLocalTracker/SubCollectionProducers V01-09-05 -# RecoMET/METFilters V00-00-13 diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_7_patch4_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_3_7_patch4_exp_BleedingEdge.py deleted file mode 100644 index 54942960a56e..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_7_patch4_exp_BleedingEdge.py +++ /dev/null @@ -1,33 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_cleanup_12Dec12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'JoseMar22'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-03-03'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'joseMar22'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'wreece_140113'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_15Jan13'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'joseMar22'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_local_12Dec12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DPGAnalysis/SiStripTools', 'DPGAnalysis/SiStripTools', 'V00-11-17'), - ('DPGAnalysis/Skims', 'DPGAnalysis/Skims', 'V01-00-11-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-07'), - ('DataFormats/StdDictionaries', 'DataFormats/StdDictionaries', 'V00-02-14'), - ('DataFormats/TrackerCommon', 'DataFormats/TrackerCommon', 'V00-00-08'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-30-01'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-2'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-52'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-28'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-00'), - ('RecoLocalTracker/SubCollectionProducers', 'RecoLocalTracker/SubCollectionProducers', 'V01-09-05'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-01-09'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-13'), - ('RecoMET/METProducers', 'RecoMET/METProducers', 'V03-03-12-02'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-10'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-23'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-02-02s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_7_patch4_rel_V5_13_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_7_patch4_rel_V5_13_0.py deleted file mode 100644 index 77d81ef46925..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_7_patch4_rel_V5_13_0.py +++ /dev/null @@ -1,31 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_cleanup_12Dec12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_GT_15Jan13'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-03-03'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_19Dec12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'wreece_140113'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_15Jan13'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'cbern_morewrapping_15Jan13'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_local_12Dec12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DPGAnalysis/SiStripTools', 'DPGAnalysis/SiStripTools', 'V00-11-17'), - ('DPGAnalysis/Skims', 'DPGAnalysis/Skims', 'V01-00-11-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-05'), - ('DataFormats/StdDictionaries', 'DataFormats/StdDictionaries', 'V00-02-14'), - ('DataFormats/TrackerCommon', 'DataFormats/TrackerCommon', 'V00-00-08'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-30-01'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-2'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-51'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-00'), - ('RecoLocalTracker/SubCollectionProducers', 'RecoLocalTracker/SubCollectionProducers', 'V01-09-05'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-01-09'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-13'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-10'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-23'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_7_rel_V5_11_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_7_rel_V5_11_0.py deleted file mode 100644 index 5a62e1b92a76..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_7_rel_V5_11_0.py +++ /dev/null @@ -1,30 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'lucieg_13Nov12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'TJ_PreTrigger_27Nov12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'cris_09Oct12'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_mvametInUtilities'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_5Dec12'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_5Dec12'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'cbern_mvametInUtilities'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_5Dec12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-03'), - ('DataFormats/StdDictionaries', 'DataFormats/StdDictionaries', 'V00-02-14'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-29'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-2'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-48'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-00'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-01-09'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-08'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-20'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] -# The following packages were not in the input release_info. -# Please make sure that the CVS module is correct! -# DataFormats/StdDictionaries V00-02-14 -# FWCore/GuiBrowsers V00-00-70 diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_7_rel_V5_12_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_7_rel_V5_12_0.py deleted file mode 100644 index b045412046d6..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_7_rel_V5_12_0.py +++ /dev/null @@ -1,38 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'cbern_cleanup_12Dec12'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_19Dec12'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-02-10'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_19Dec12'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'anantoni_14Dec_publish_correction'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_11Dec12'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'cbern_mvametpywrap_19Dec12'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_local_12Dec12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DPGAnalysis/SiStripTools', 'DPGAnalysis/SiStripTools', 'V00-11-17'), - ('DPGAnalysis/Skims', 'DPGAnalysis/Skims', 'V01-00-11-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-03'), - ('DataFormats/StdDictionaries', 'DataFormats/StdDictionaries', 'V00-02-14'), - ('DataFormats/TrackerCommon', 'DataFormats/TrackerCommon', 'V00-00-08'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-30-01'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'FB_5Oct2012-2'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-48'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-00'), - ('RecoLocalTracker/SubCollectionProducers', 'RecoLocalTracker/SubCollectionProducers', 'V01-09-05'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-01-09'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-13'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-08'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-21'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-01-04s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] -# The following packages were not in the input release_info. -# Please make sure that the CVS module is correct! -# DPGAnalysis/SiStripTools V00-11-17 -# DPGAnalysis/Skims V01-00-11-01 -# DataFormats/TrackerCommon V00-00-08 -# RecoLocalTracker/SubCollectionProducers V01-09-05 -# RecoMET/METFilters V00-00-13 diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_9_exp_BleedingEdge.py b/CMGTools/Common/python/release_info/CMSSW_5_3_9_exp_BleedingEdge.py deleted file mode 100644 index 2274a75aa786..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_9_exp_BleedingEdge.py +++ /dev/null @@ -1,35 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'hinzmann_13Aug13'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'kostas_140813'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-03-05'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_tautaucleanup_17Jun13'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_15Aug13'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_15Aug13'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'cbern_tautaucleanup_17Jun13'), - ('CalibCalorimetry/EcalLaserCorrection', 'CalibCalorimetry/EcalLaserCorrection', 'V00-02-04'), - ('CommonTools/RecoAlgos', 'CommonTools/RecoAlgos', 'V00-03-23'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DPGAnalysis/SiStripTools', 'DPGAnalysis/SiStripTools', 'V00-11-17'), - ('DPGAnalysis/Skims', 'DPGAnalysis/Skims', 'V01-00-11-01'), - ('DataFormats/CaloRecHit', 'DataFormats/CaloRecHit', 'V02-05-11'), - ('DataFormats/METReco', 'DataFormats/METReco', 'V03-03-11-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-10'), - ('DataFormats/StdDictionaries', 'DataFormats/StdDictionaries', 'V00-02-14'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-30-01'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'Moriond_2013_V01-1'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09-02'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-59'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-28'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-01'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-02-02'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-13-01'), - ('RecoMET/METProducers', 'RecoMET/METProducers', 'V03-03-12-02'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-10'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-23'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-02-02s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_14_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_14_0.py deleted file mode 100644 index 82b59bf960ea..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_14_0.py +++ /dev/null @@ -1,33 +0,0 @@ -# Package DataFormats/TrackerCommon not in local area -> removed from relinfo -# Package RecoLocalTracker/SubCollectionProducers not in local area -> removed from relinfo -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'JoseApr3'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'JoseApr3'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-03-03'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'JoseApr3'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'wreece_140113'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_15Jan13'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'JoseApr3'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_local_12Dec12'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DPGAnalysis/SiStripTools', 'DPGAnalysis/SiStripTools', 'V00-11-17'), - ('DPGAnalysis/Skims', 'DPGAnalysis/Skims', 'V01-00-11-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-08'), - ('DataFormats/StdDictionaries', 'DataFormats/StdDictionaries', 'V00-02-14'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-30-01'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'Moriond_2013_V01-1'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-55'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-28'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-01'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-02-02'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-13'), - ('RecoMET/METProducers', 'RecoMET/METProducers', 'V03-03-12-02'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-10'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-23'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-02-02s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_15_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_15_0.py deleted file mode 100644 index 609c0789e92a..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_15_0.py +++ /dev/null @@ -1,36 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'lucieg_Ap8'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'lucieg_Ap18'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-03-03'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_mvametbuiddfix_17Apr13'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'anantoni-15April2013-devdb-wildcards-15h01m'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_Apr15'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'cbern_mvametbuiddfix_17Apr13'), - ('CMGTools/ZJetsTutorial', 'UserCode/CMG/CMGTools/ZJetsTutorial', 'cbern_local_12Dec12'), - ('CalibCalorimetry/EcalLaserCorrection', 'CalibCalorimetry/EcalLaserCorrection', 'V00-02-04'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DPGAnalysis/SiStripTools', 'DPGAnalysis/SiStripTools', 'V00-11-17'), - ('DPGAnalysis/Skims', 'DPGAnalysis/Skims', 'V01-00-11-01'), - ('DataFormats/CaloRecHit', 'DataFormats/CaloRecHit', 'V02-05-11'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-10'), - ('DataFormats/StdDictionaries', 'DataFormats/StdDictionaries', 'V00-02-14'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-30-01'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'Moriond_2013_V01-1'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-56'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-28'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-01'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-02-02'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-13-01'), - ('RecoMET/METProducers', 'RecoMET/METProducers', 'V03-03-12-02'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-10'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-23'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-02-02s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] -# The following packages were not in the input release_info. -# Please make sure that the CVS module is correct! -# CalibCalorimetry/EcalLaserCorrection V00-02-04 diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_16_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_16_0.py deleted file mode 100644 index 1edfbf549713..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_16_0.py +++ /dev/null @@ -1,34 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'lucieg_Ap8'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'cbern_newjec_04Jun13'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-03-05'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_04Jun13'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_04Jun13'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'Jose29May2013'), - ('CalibCalorimetry/EcalLaserCorrection', 'CalibCalorimetry/EcalLaserCorrection', 'V00-02-04'), - ('CommonTools/RecoAlgos', 'CommonTools/RecoAlgos', 'V00-03-23'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DPGAnalysis/SiStripTools', 'DPGAnalysis/SiStripTools', 'V00-11-17'), - ('DPGAnalysis/Skims', 'DPGAnalysis/Skims', 'V01-00-11-01'), - ('DataFormats/CaloRecHit', 'DataFormats/CaloRecHit', 'V02-05-11'), - ('DataFormats/METReco', 'DataFormats/METReco', 'V03-03-11-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-10'), - ('DataFormats/StdDictionaries', 'DataFormats/StdDictionaries', 'V00-02-14'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-30-01'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'Moriond_2013_V01-1'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09-02'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-59'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-28'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-01'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-02-02'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-13-01'), - ('RecoMET/METProducers', 'RecoMET/METProducers', 'V03-03-12-02'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-10'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-23'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-02-02s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_17_0.py b/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_17_0.py deleted file mode 100644 index 2274a75aa786..000000000000 --- a/CMGTools/Common/python/release_info/CMSSW_5_3_9_rel_V5_17_0.py +++ /dev/null @@ -1,35 +0,0 @@ -[ ('AnalysisDataFormats/CMGTools', 'UserCode/CMG/AnalysisDataFormats/CMGTools', 'hinzmann_13Aug13'), - ('CMGTools/Common', 'UserCode/CMG/CMGTools/Common', 'kostas_140813'), - ('CMGTools/External', 'UserCode/CMG/CMGTools/External', 'V00-03-05'), - ('CMGTools/H2TauTau', 'UserCode/CMG/CMGTools/H2TauTau', 'cbern_tautaucleanup_17Jun13'), - ('CMGTools/Production', 'UserCode/CMG/CMGTools/Production', 'cbern_15Aug13'), - ('CMGTools/RootTools', 'UserCode/CMG/CMGTools/RootTools', 'cbern_15Aug13'), - ('CMGTools/Utilities', 'UserCode/CMG/CMGTools/Utilities', 'cbern_tautaucleanup_17Jun13'), - ('CalibCalorimetry/EcalLaserCorrection', 'CalibCalorimetry/EcalLaserCorrection', 'V00-02-04'), - ('CommonTools/RecoAlgos', 'CommonTools/RecoAlgos', 'V00-03-23'), - ('CondFormats/EgammaObjects', 'CondFormats/EgammaObjects', 'V00-04-01'), - ('DPGAnalysis/SiStripTools', 'DPGAnalysis/SiStripTools', 'V00-11-17'), - ('DPGAnalysis/Skims', 'DPGAnalysis/Skims', 'V01-00-11-01'), - ('DataFormats/CaloRecHit', 'DataFormats/CaloRecHit', 'V02-05-11'), - ('DataFormats/METReco', 'DataFormats/METReco', 'V03-03-11-01'), - ('DataFormats/PatCandidates', 'DataFormats/PatCandidates', 'V06-05-06-10'), - ('DataFormats/StdDictionaries', 'DataFormats/StdDictionaries', 'V00-02-14'), - ('EGamma/EGammaAnalysisTools', 'UserCode/EGamma/EGammaAnalysisTools', 'V00-00-30-01'), - ('EGamma/EGammaAnalysisToolsSiXie', 'UserCode/sixie/EGamma/EGammaAnalysisTools', 'cbern_09May12'), - ('EgammaAnalysis/ElectronTools', 'EgammaAnalysis/ElectronTools', 'Moriond_2013_V01-1'), - ('FWCore/GuiBrowsers', 'FWCore/GuiBrowsers', 'V00-00-70'), - ('JetMETCorrections/Type1MET', 'JetMETCorrections/Type1MET', 'V04-06-09-02'), - ('Muon/MuonAnalysisTools', 'UserCode/sixie/Muon/MuonAnalysisTools', 'V00-00-09'), - ('PhysicsTools/PatAlgos', 'PhysicsTools/PatAlgos', 'V08-09-59'), - ('PhysicsTools/PatUtils', 'PhysicsTools/PatUtils', 'V03-09-28'), - ('RecoEgamma/EgammaTools', 'RecoEgamma/EgammaTools', 'V09-00-01'), - ('RecoLuminosity/LumiDB', 'RecoLuminosity/LumiDB', 'V04-02-02'), - ('RecoMET/METAnalyzers', 'RecoMET/METAnalyzers', 'V00-00-08'), - ('RecoMET/METFilters', 'RecoMET/METFilters', 'V00-00-13-01'), - ('RecoMET/METProducers', 'RecoMET/METProducers', 'V03-03-12-02'), - ('RecoParticleFlow/PFProducer', 'RecoParticleFlow/PFProducer', 'V15-02-09'), - ('RecoParticleFlow/PostProcessing', 'UserCode/RecoParticleFlow/PostProcessing', 'wreece_020512'), - ('RecoTauTag/Configuration', 'RecoTauTag/Configuration', 'V01-04-10'), - ('RecoTauTag/RecoTau', 'RecoTauTag/RecoTau', 'V01-04-23'), - ('TauAnalysis/CandidateTools', 'TauAnalysis/CandidateTools', 'V00-02-02s'), - ('TauAnalysis/SVFitStandAlone', 'UserCode/TauAnalysis/SVFitStandAlone', 'joseMay18')] diff --git a/CMGTools/Common/python/roodatasets/cmgDiMuonDataSet_cfi.py b/CMGTools/Common/python/roodatasets/cmgDiMuonDataSet_cfi.py deleted file mode 100644 index 21e1d1da3b62..000000000000 --- a/CMGTools/Common/python/roodatasets/cmgDiMuonDataSet_cfi.py +++ /dev/null @@ -1,70 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgDiMuonDataSet = cms.EDAnalyzer( - 'CmgDiMuonDataSet', - inputCollection = cms.InputTag("cmgDiMuonSel"), - argset = cms.untracked.PSet( - pt = cms.untracked.PSet( - var = cms.untracked.string('pt()'), - title = cms.untracked.string('p_{T} GeV'), - setrange = cms.untracked.bool(False) - ), - leg1pt = cms.untracked.PSet( - var = cms.untracked.string('leg1().pt()'), - title = cms.untracked.string('Leg 1 p_{T} GeV'), - setrange = cms.untracked.bool(False) - ), - mass = cms.untracked.PSet( - var = cms.untracked.string('mass()'), - title = cms.untracked.string('Mass GeV'), - low = cms.untracked.double(0), - high = cms.untracked.double(150) - ) - ), - categories = cms.untracked.PSet( - masscut = cms.untracked.VPSet( - cms.PSet( - name = cms.untracked.string('signal'), - cut = cms.untracked.string('mass() >= 60 && mass() <= 120') - ), - cms.PSet( - name = cms.untracked.string('sideband'), - cut = cms.untracked.string('mass() < 60 || mass() > 120') - ), - ) - ), - histograms = cms.untracked.PSet( - pt = cms.untracked.VPSet( - cms.PSet( - var = cms.untracked.string('pt()'), - nbins = cms.untracked.int32(100), - low = cms.untracked.double(0), - high = cms.untracked.double(200) - ) - ), - eta = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('eta()'), - nbins = cms.untracked.int32(50), - low = cms.untracked.double(-3.), - high = cms.untracked.double(3.) - ) - ), - phi = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('phi()'), - nbins = cms.untracked.int32(50), - low = cms.untracked.double(-3.15), - high = cms.untracked.double(3.15) - ) - ), - mass = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('mass()'), - nbins = cms.untracked.int32(100), - low = cms.untracked.double(0), - high = cms.untracked.double(200) - ) - ) - ) - ) \ No newline at end of file diff --git a/CMGTools/Common/python/roodatasets/cmgDiTauDataSet_cfi.py b/CMGTools/Common/python/roodatasets/cmgDiTauDataSet_cfi.py deleted file mode 100644 index 7a252e2e1ac6..000000000000 --- a/CMGTools/Common/python/roodatasets/cmgDiTauDataSet_cfi.py +++ /dev/null @@ -1,70 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgDiTauDataSet = cms.EDAnalyzer( - 'CmgDiTauDataSet', - inputCollection = cms.InputTag("cmgDiTauSel"), - argset = cms.untracked.PSet( - pt = cms.untracked.PSet( - var = cms.untracked.string('pt()'), - title = cms.untracked.string('p_{T} GeV'), - setrange = cms.untracked.bool(False) - ), - leg1pt = cms.untracked.PSet( - var = cms.untracked.string('leg1().pt()'), - title = cms.untracked.string('Leg 1 p_{T} GeV'), - setrange = cms.untracked.bool(False) - ), - mass = cms.untracked.PSet( - var = cms.untracked.string('mass()'), - title = cms.untracked.string('Mass GeV'), - low = cms.untracked.double(0), - high = cms.untracked.double(150) - ) - ), - categories = cms.untracked.PSet( - masscut = cms.untracked.VPSet( - cms.PSet( - name = cms.untracked.string('signal'), - cut = cms.untracked.string('mass() >= 60 && mass() <= 120') - ), - cms.PSet( - name = cms.untracked.string('sideband'), - cut = cms.untracked.string('mass() < 60 || mass() > 120') - ), - ) - ), - histograms = cms.untracked.PSet( - pt = cms.untracked.VPSet( - cms.PSet( - var = cms.untracked.string('pt()'), - nbins = cms.untracked.int32(100), - low = cms.untracked.double(0), - high = cms.untracked.double(200) - ) - ), - eta = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('eta()'), - nbins = cms.untracked.int32(50), - low = cms.untracked.double(-3.), - high = cms.untracked.double(3.) - ) - ), - phi = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('phi()'), - nbins = cms.untracked.int32(50), - low = cms.untracked.double(-3.15), - high = cms.untracked.double(3.15) - ) - ), - mass = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('mass()'), - nbins = cms.untracked.int32(100), - low = cms.untracked.double(0), - high = cms.untracked.double(200) - ) - ) - ) - ) diff --git a/CMGTools/Common/python/runInfoAccounting/runInfoAccountingData_cfi.py b/CMGTools/Common/python/runInfoAccounting/runInfoAccountingData_cfi.py deleted file mode 100644 index cb1fe7e302cf..000000000000 --- a/CMGTools/Common/python/runInfoAccounting/runInfoAccountingData_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -runInfoAccountingData = cms.EDAnalyzer( - "RunInfoAccountingAnalyzer", - name = cms.untracked.string("RunInfoAccounting"), - genFilterInfoSrc = cms.InputTag("genFilterEfficiencyProducer::SIM"), - filterInfoSrc = cms.InputTag("preSelFilterEfficiencyProducer"), - runOnMC = cms.bool(False) -) diff --git a/CMGTools/Common/python/runInfoAccounting/runInfoAccounting_cfi.py b/CMGTools/Common/python/runInfoAccounting/runInfoAccounting_cfi.py deleted file mode 100644 index 59d4e98b68dd..000000000000 --- a/CMGTools/Common/python/runInfoAccounting/runInfoAccounting_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -runInfoAccounting = cms.EDAnalyzer( - "RunInfoAccountingAnalyzer", - name = cms.untracked.string("RunInfoAccounting"), - genFilterInfoSrc = cms.InputTag("genFilterEfficiencyProducer::SIM"), - filterInfoSrc = cms.InputTag("preSelFilterEfficiencyProducer"), - runOnMC = cms.bool(True) -) diff --git a/CMGTools/Common/python/runInfoAccounting_cff.py b/CMGTools/Common/python/runInfoAccounting_cff.py deleted file mode 100644 index be70cb9df622..000000000000 --- a/CMGTools/Common/python/runInfoAccounting_cff.py +++ /dev/null @@ -1,20 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -from GeneratorInterface.Core.genFilterEfficiencyProducer_cfi import * -preSelFilterEfficiencyProducer = genFilterEfficiencyProducer.clone() -preSelFilterEfficiencyProducer.filterPath = 'p' - -from CMGTools.Common.runInfoAccounting.runInfoAccounting_cfi import runInfoAccounting - -runInfoAccountingSequence = cms.Sequence( - preSelFilterEfficiencyProducer + - runInfoAccounting - ) - -from CMGTools.Common.runInfoAccounting.runInfoAccountingData_cfi import runInfoAccountingData - -runInfoAccountingDataSequence = cms.Sequence( - preSelFilterEfficiencyProducer + - runInfoAccountingData - ) diff --git a/CMGTools/Common/python/runInfoAccounting_cfi.py b/CMGTools/Common/python/runInfoAccounting_cfi.py deleted file mode 100644 index e626c7629d6b..000000000000 --- a/CMGTools/Common/python/runInfoAccounting_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -runInfoAccounting = cms.EDAnalyzer( - "RunInfoAccountingAnalyzer", - name = cms.untracked.string("RunInfoAccounting"), - genFilterInfoSrc = cms.InputTag("genFilterEfficiencyProducer::SIM"), - filterInfoSrc = cms.InputTag("preSelFilterEfficiencyProducer") -) diff --git a/CMGTools/Common/python/selections/btaggedjet_cfi.py b/CMGTools/Common/python/selections/btaggedjet_cfi.py deleted file mode 100644 index 1bad89909c04..000000000000 --- a/CMGTools/Common/python/selections/btaggedjet_cfi.py +++ /dev/null @@ -1,35 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#See https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideBTagPerformance - -#these working points are for 7 TeV - -trackCountingHighEffBJetTags = cms.PSet( - mcbparton = cms.string('abs(sourcePtr().partonFlavour()) == 5'), - loose = cms.string('btag(0) >= 1.7'), - medium = cms.string('btag(0) >= 3.3'), - tight = cms.string('btag(0) >= 10.2') - ) - -trackCountingHighPurBJetTags = trackCountingHighEffBJetTags.clone( - loose = cms.string('btag(1) >= 1.19'), - medium = cms.string('btag(1) >= 1.93'), - tight = cms.string('btag(1) >= 3.41') - ) - -### for 2012 -# From https://twiki.cern.ch/twiki/bin/viewauth/CMS/BTagPerformanceOP#B_tagging_Operating_Points_for_5 -# TCHPT is also recommended for 2012 -jetProbabilityBJetTags = cms.PSet( - mcbparton = cms.string('abs(sourcePtr().partonFlavour()) == 5'), - loose = cms.string('btag(2) >= 0.275'), - medium = cms.string('btag(2) >= 0.545'), - tight = cms.string('btag(2) >= 0.790') - ) - -combinedSecondaryVertexBJetTags = cms.PSet( - mcbparton = cms.string('abs(sourcePtr().partonFlavour()) == 5'), - loose = cms.string('btag(6) >= 0.244'), - medium = cms.string('btag(6) >= 0.679'), - tight = cms.string('btag(6) >= 0.898') - ) diff --git a/CMGTools/Common/python/selections/cicelectron_cfi.py b/CMGTools/Common/python/selections/cicelectron_cfi.py deleted file mode 100644 index cdf287a4dfb5..000000000000 --- a/CMGTools/Common/python/selections/cicelectron_cfi.py +++ /dev/null @@ -1,41 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#electron identification -def addCiCIDSelection(var): - cicid = cms.PSet( - selection = cms.string('test_bit(sourcePtr().electronID(\"%s\"),0)' % var) - ) - return cicid - -cicVeryLooseID = addCiCIDSelection('eidVeryLoose') -cicLooseID = addCiCIDSelection('eidLoose') -cicMediumID = addCiCIDSelection('eidMedium') -cicTightID = addCiCIDSelection('eidTight') -cicSuperTightID = addCiCIDSelection('eidSuperTight') - -#conversion rejection -def addCiCCRSelection(var): - ciccr = cms.PSet( - selection = cms.string('test_bit(sourcePtr().electronID(\"%s\"),2)' % var) - ) - return ciccr - -cicVeryLooseCR = addCiCCRSelection('eidVeryLoose') -cicLooseCR = addCiCCRSelection('eidLoose') -cicMediumCR = addCiCCRSelection('eidMedium') -cicTightCR = addCiCCRSelection('eidTight') -cicSuperTightCR = addCiCCRSelection('eidSuperTight') - -#ip cut -def addCiCIPSelection(var): - cicip = cms.PSet( - selection = cms.string('test_bit(sourcePtr().electronID(\"%s\"),3)' % var) - ) - return cicip - -cicVeryLooseIP = addCiCIPSelection('eidVeryLoose') -cicLooseIP = addCiCIPSelection('eidLoose') -cicMediumIP = addCiCIPSelection('eidMedium') -cicTightIP = addCiCIPSelection('eidTight') -cicSuperTightIP = addCiCIPSelection('eidSuperTight') - diff --git a/CMGTools/Common/python/selections/cutSummaryDiTau_cfi.py b/CMGTools/Common/python/selections/cutSummaryDiTau_cfi.py deleted file mode 100644 index 19dc81e8c2a7..000000000000 --- a/CMGTools/Common/python/selections/cutSummaryDiTau_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.cutSummaryTau_cfi import * - - -cutSummaryDiTau = cms.EDAnalyzer( - "CutSummaryAnalyzer", - inputCollection = cms.InputTag("cmgDiTauSel") -) - - -cutSummaryDiTauSeq = cms.Sequence( - cutSummaryTau - + cutSummaryDiTau - ) diff --git a/CMGTools/Common/python/selections/cutSummaryElectron_cfi.py b/CMGTools/Common/python/selections/cutSummaryElectron_cfi.py deleted file mode 100644 index 9c80e2efe576..000000000000 --- a/CMGTools/Common/python/selections/cutSummaryElectron_cfi.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cutSummaryElectron = cms.EDAnalyzer( - "CutSummaryAnalyzer", - inputCollection = cms.InputTag("cmgElectronSel") -) diff --git a/CMGTools/Common/python/selections/cutSummaryMuon_cfi.py b/CMGTools/Common/python/selections/cutSummaryMuon_cfi.py deleted file mode 100644 index 609ea599100b..000000000000 --- a/CMGTools/Common/python/selections/cutSummaryMuon_cfi.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cutSummaryMuon = cms.EDAnalyzer( - "CutSummaryAnalyzer", - inputCollection = cms.InputTag("cmgMuonSel") -) diff --git a/CMGTools/Common/python/selections/cutSummaryPFJet_cfi.py b/CMGTools/Common/python/selections/cutSummaryPFJet_cfi.py deleted file mode 100644 index 870ea687d223..000000000000 --- a/CMGTools/Common/python/selections/cutSummaryPFJet_cfi.py +++ /dev/null @@ -1,6 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cutSummaryPFJet = cms.EDAnalyzer( - "CutSummaryAnalyzer", - inputCollection = cms.InputTag("cmgPFJetSel") -) diff --git a/CMGTools/Common/python/selections/cutSummaryTau_cfi.py b/CMGTools/Common/python/selections/cutSummaryTau_cfi.py deleted file mode 100644 index 51f90f4ff397..000000000000 --- a/CMGTools/Common/python/selections/cutSummaryTau_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - - -cutSummaryTau = cms.EDAnalyzer( - "CutSummaryAnalyzer", - inputCollection = cms.InputTag("cmgTauSel") -) - - diff --git a/CMGTools/Common/python/selections/cutidelectron_cfi.py b/CMGTools/Common/python/selections/cutidelectron_cfi.py deleted file mode 100644 index 47f981304e02..000000000000 --- a/CMGTools/Common/python/selections/cutidelectron_cfi.py +++ /dev/null @@ -1,53 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#electron identification -vetoNoVtx = cms.PSet( - deltaEtaSuperClusterTrackAtVtx = cms.string('(sourcePtr().isEB() && sourcePtr().deltaEtaSuperClusterTrackAtVtx() < 0.007 ) || ( sourcePtr().isEE() && sourcePtr().deltaEtaSuperClusterTrackAtVtx() < 0.010 )'), - deltaPhiSuperClusterTrackAtVtx = cms.string('(sourcePtr().isEB() && sourcePtr().deltaPhiSuperClusterTrackAtVtx() < 0.800 ) || ( sourcePtr().isEE() && sourcePtr().deltaPhiSuperClusterTrackAtVtx() < 0.700 )'), - sigmaIetaIeta = cms.string('(sourcePtr().isEB() && sourcePtr().sigmaIetaIeta() < 0.010 ) || ( sourcePtr().isEE() && sourcePtr().sigmaIetaIeta() < 0.030 )'), - hadronicOverEm = cms.string('(sourcePtr().isEB() && sourcePtr().hadronicOverEm() < 0.150 ) || ( sourcePtr().isEE() && sourcePtr().hadronicOverEm() < 999.9)'), - ooemoop = cms.string('( 1.0/sourcePtr().ecalEnergy() - sourcePtr().eSuperClusterOverP()/sourcePtr().ecalEnergy() ) < 999.9'), - passConversionVeto = cms.string('sourcePtr().passConversionVeto() == 1 || sourcePtr().passConversionVeto() != 1'), # not applied - mHits = cms.string('sourcePtr().gsfTrack().get().trackerExpectedHitsInner().numberOfHits() <= 999'), # not applied -) - -looseNoVtx = cms.PSet( - deltaEtaSuperClusterTrackAtVtx = cms.string('(sourcePtr().isEB() && sourcePtr().deltaEtaSuperClusterTrackAtVtx() < 0.007 ) || ( sourcePtr().isEE() && sourcePtr().deltaEtaSuperClusterTrackAtVtx() < 0.009 )'), - deltaPhiSuperClusterTrackAtVtx = cms.string('(sourcePtr().isEB() && sourcePtr().deltaPhiSuperClusterTrackAtVtx() < 0.150 ) || ( sourcePtr().isEE() && sourcePtr().deltaPhiSuperClusterTrackAtVtx() < 0.100 )'), - sigmaIetaIeta = cms.string('(sourcePtr().isEB() && sourcePtr().sigmaIetaIeta() < 0.010 ) || ( sourcePtr().isEE() && sourcePtr().sigmaIetaIeta() < 0.030 )'), - hadronicOverEm = cms.string('(sourcePtr().isEB() && sourcePtr().hadronicOverEm() < 0.120 ) || ( sourcePtr().isEE() && sourcePtr().hadronicOverEm() < 0.100)'), - ooemoop = cms.string('( 1.0/sourcePtr().ecalEnergy() - sourcePtr().eSuperClusterOverP()/sourcePtr().ecalEnergy() ) < 0.050'), - passConversionVeto = cms.string('sourcePtr().passConversionVeto() == 1'), - mHits = cms.string('sourcePtr().gsfTrack().get().trackerExpectedHitsInner().numberOfHits() <= 1'), -) - -mediumNoVtx = cms.PSet( - deltaEtaSuperClusterTrackAtVtx = cms.string('(sourcePtr().isEB() && sourcePtr().deltaEtaSuperClusterTrackAtVtx() < 0.004 ) || ( sourcePtr().isEE() && sourcePtr().deltaEtaSuperClusterTrackAtVtx() < 0.007 )'), - deltaPhiSuperClusterTrackAtVtx = cms.string('(sourcePtr().isEB() && sourcePtr().deltaPhiSuperClusterTrackAtVtx() < 0.060 ) || ( sourcePtr().isEE() && sourcePtr().deltaPhiSuperClusterTrackAtVtx() < 0.030 )'), - sigmaIetaIeta = cms.string('(sourcePtr().isEB() && sourcePtr().sigmaIetaIeta() < 0.010 ) || ( sourcePtr().isEE() && sourcePtr().sigmaIetaIeta() < 0.030 )'), - hadronicOverEm = cms.string('(sourcePtr().isEB() && sourcePtr().hadronicOverEm() < 0.120 ) || ( sourcePtr().isEE() && sourcePtr().hadronicOverEm() < 0.100)'), - ooemoop = cms.string('( 1.0/sourcePtr().ecalEnergy() - sourcePtr().eSuperClusterOverP()/sourcePtr().ecalEnergy() ) < 0.050'), - passConversionVeto = cms.string('sourcePtr().passConversionVeto() == 1'), - mHits = cms.string('sourcePtr().gsfTrack().get().trackerExpectedHitsInner().numberOfHits() <= 1'), -) - -tightNoVtx = cms.PSet( - deltaEtaSuperClusterTrackAtVtx = cms.string('(sourcePtr().isEB() && sourcePtr().deltaEtaSuperClusterTrackAtVtx() < 0.004 ) || ( sourcePtr().isEE() && sourcePtr().deltaEtaSuperClusterTrackAtVtx() < 0.005 )'), - deltaPhiSuperClusterTrackAtVtx = cms.string('(sourcePtr().isEB() && sourcePtr().deltaPhiSuperClusterTrackAtVtx() < 0.030 ) || ( sourcePtr().isEE() && sourcePtr().deltaPhiSuperClusterTrackAtVtx() < 0.020 )'), - sigmaIetaIeta = cms.string('(sourcePtr().isEB() && sourcePtr().sigmaIetaIeta() < 0.010 ) || ( sourcePtr().isEE() && sourcePtr().sigmaIetaIeta() < 0.030 )'), - hadronicOverEm = cms.string('(sourcePtr().isEB() && sourcePtr().hadronicOverEm() < 0.120 ) || ( sourcePtr().isEE() && sourcePtr().hadronicOverEm() < 0.100)'), - ooemoop = cms.string('( 1.0/sourcePtr().ecalEnergy() - sourcePtr().eSuperClusterOverP()/sourcePtr().ecalEnergy() ) < 0.050'), - passConversionVeto = cms.string('sourcePtr().passConversionVeto() == 1'), - mHits = cms.string('sourcePtr().gsfTrack().get().trackerExpectedHitsInner().numberOfHits() <= 0'), -) - -premvaTrig = cms.PSet( - sigmaIetaIeta = cms.string('( abs(sourcePtr().superCluster().get().eta()) < 1.479 && sourcePtr().sigmaIetaIeta() < 0.014 ) || ( abs(sourcePtr().superCluster().get().eta()) >= 1.479 && sourcePtr().sigmaIetaIeta() < 0.035 )'), - hadronicOverEm = cms.string('( abs(sourcePtr().superCluster().get().eta()) < 1.479 && sourcePtr().hadronicOverEm() < 0.15 ) || ( abs(sourcePtr().superCluster().get().eta()) >= 1.479 && sourcePtr().hadronicOverEm() < 0.10 )'), - dr03Trk = cms.string('sourcePtr().dr03TkSumPt()/pt() < 0.2'), - dr03Ecal = cms.string('sourcePtr().dr03EcalRecHitSumEt()/pt() < 0.2'), - dr03Hcal = cms.string('sourcePtr().dr03HcalTowerSumEt()/pt() < 0.2'), - mHits = cms.string('sourcePtr().gsfTrack().get().trackerExpectedHitsInner().numberOfHits() == 0'), -) - - diff --git a/CMGTools/Common/python/selections/dijet_cfi.py b/CMGTools/Common/python/selections/dijet_cfi.py deleted file mode 100644 index ff8968de6062..000000000000 --- a/CMGTools/Common/python/selections/dijet_cfi.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -dijetKinematics = cms.PSet( - jetsPhaseSpace = cms.PSet( - jet1 = cms.untracked.string('leg1().getSelection(\"All Cuts\")'), - jet2 = cms.untracked.string('leg2().getSelection(\"All Cuts\")') - ), - looseMass = cms.string('mass > 200'), - mediumMass = cms.string('mass > 400'), - tightMass = cms.string('mass > 800'), - Jet140Uthreshold = cms.string('mass > 510'), - Jet250Uthreshold = cms.string('mass > 606'), - - looseDeltaEta = cms.string('abs(leg1.eta()-leg2.eta()) < 1.7'), - mediumDeltaEta = cms.string('abs(leg1.eta()-leg2.eta()) < 1.5'), - tightDeltaEta = cms.string('abs(leg1.eta()-leg2.eta()) < 1.3') - ) - diff --git a/CMGTools/Common/python/selections/electronCutSummary_cff.py b/CMGTools/Common/python/selections/electronCutSummary_cff.py deleted file mode 100644 index 286503aed9fd..000000000000 --- a/CMGTools/Common/python/selections/electronCutSummary_cff.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.cutSummaryElectron_cfi import * - -electronCutSummarySequence = cms.Sequence( - cutSummaryElectron - ) diff --git a/CMGTools/Common/python/selections/isolation_cfi.py b/CMGTools/Common/python/selections/isolation_cfi.py deleted file mode 100644 index 3d1dfacd5782..000000000000 --- a/CMGTools/Common/python/selections/isolation_cfi.py +++ /dev/null @@ -1,5 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -isolation = cms.PSet( - reliso = cms.string('relIso() < 0.2'), - ) diff --git a/CMGTools/Common/python/selections/jetCutSummary_cff.py b/CMGTools/Common/python/selections/jetCutSummary_cff.py deleted file mode 100644 index 34660fcbe562..000000000000 --- a/CMGTools/Common/python/selections/jetCutSummary_cff.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.cutSummaryPFJet_cfi import * - -jetCutSummarySequence = cms.Sequence( - cutSummaryPFJet - ) diff --git a/CMGTools/Common/python/selections/jetId_cfi.py b/CMGTools/Common/python/selections/jetId_cfi.py deleted file mode 100644 index ab555d6b51dc..000000000000 --- a/CMGTools/Common/python/selections/jetId_cfi.py +++ /dev/null @@ -1,42 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# see for details https://twiki.cern.ch/twiki/bin/view/CMS/JetID -# charged hadron h (1), e(2), mu(3), gamma(4), neutral hadron h0 (5) - -veryLooseJetId99 = cms.PSet( - h0Fraction = cms.string('component(5).fraction() < 0.99'), - gammaFraction = cms.string('component(4).fraction() < 0.99') - ) - -veryLooseJetId95 = cms.PSet( - h0Fraction = cms.string('component(5).fraction() < 0.95'), - gammaFraction = cms.string('component(4).fraction() < 0.95') - ) - -veryLooseJetId95h0 = cms.PSet( - h0Fraction = cms.string('component(5).fraction() < 0.95') - ) - -veryLooseJetId95gamma = cms.PSet( - gammaFraction = cms.string('component(4).fraction() < 0.95') - ) - -#Selection thanks to Maxime -looseJetId = cms.PSet( - h0Fraction = cms.string('component(5).fraction() + component(6).fraction() < 0.99'), - gammaFraction = cms.string('component(4).fraction() < 0.99'), - nConstituents = cms.string('nConstituents() > 1'), - #these only valid for abs(eta) < 2.4 - i.e. they always pass for eta > 2.4 - hFraction = cms.string('component(1).fraction() > 0 || abs(eta()) > 2.4 '), - eFraction = cms.string('component(2).fraction() < 0.99 || abs(eta()) > 2.4 '), - chargedMultiplicity = cms.string('component(1).number() > 0 || abs(eta()) > 2.4 '), - ) - -mediumJetId = looseJetId.clone() -mediumJetId.gammaFraction = cms.string('component(4).fraction() < 0.95') -mediumJetId.h0Fraction = cms.string('component(5).fraction() < 0.95') - -tightJetId = looseJetId.clone() -tightJetId.gammaFraction = cms.string('component(4).fraction() < 0.90') -tightJetId.h0Fraction = cms.string('component(5).fraction() < 0.90') - diff --git a/CMGTools/Common/python/selections/kinematics_cfi.py b/CMGTools/Common/python/selections/kinematics_cfi.py deleted file mode 100644 index d318b79cb782..000000000000 --- a/CMGTools/Common/python/selections/kinematics_cfi.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -kinematics = cms.PSet( - pt = cms.string('pt() > 10'), - eta = cms.string('abs(eta()) < 2.4'), - phi = cms.string('abs(phi()) < 3.2') - ) diff --git a/CMGTools/Common/python/selections/muonCutSummary_cff.py b/CMGTools/Common/python/selections/muonCutSummary_cff.py deleted file mode 100644 index 85cc73673b50..000000000000 --- a/CMGTools/Common/python/selections/muonCutSummary_cff.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.cutSummaryMuon_cfi import * - -muonCutSummarySequence = cms.Sequence( - cutSummaryMuon - ) diff --git a/CMGTools/Common/python/selections/muonIDs_cfi.py b/CMGTools/Common/python/selections/muonIDs_cfi.py deleted file mode 100644 index 9a6b3f401cef..000000000000 --- a/CMGTools/Common/python/selections/muonIDs_cfi.py +++ /dev/null @@ -1,60 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# 2011 Muon POG ID - -vbtfmuon = cms.PSet( - isGlobal = cms.string('isGlobal()'), - isTracker = cms.string('isTracker()'), - #Updated for 2012 with new cut from the Muon POG - #numberOfValidTrackerHits = cms.string('numberOfValidTrackerHits() > 10'), - trackerLayersWithMeasurement = cms.string('trackerLayersWithMeasurement() > 8'), - numberOfValidPixelHits = cms.string('numberOfValidPixelHits() > 0'), - numberOfValidMuonHits = cms.string('numberOfValidMuonHits() > 0'), - numberOfMatches = cms.string('numberOfMatches() > 1'), - normalizedChi2 = cms.string('normalizedChi2() < 10'), - dxy = cms.string('abs(dxy()) < 0.2') - ) - -# 2012 Muon POG IDs -#//see https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideMuonId -# the vertexing requirement are not included in the precomputed cut variable -# so that they can be applied with/without the good vertex selection - - -loosemuon = cms.PSet( - isPF = cms.string('isPF()'), - isNotSTA = cms.string('isGlobal()||isTracker()') - ) - -softmuonNoVtx = cms.PSet( - isTMOST = cms.string('isTMOST()'), - trackerLayersWithMeasurement = cms.string('trackerLayersWithMeasurement() > 5'), - pixelLayersWithMeasurement = cms.string('pixelLayersWithMeasurement() > 1'), - tkNormalizedChi2 = cms.string('tkNormalizedChi2 < 1.8'), - #dxy = cms.string('abs(dxy()) < 3') - #dz = cms.string('abs(dz()) < 30') - ) - - -tightmuonNoVtx = cms.PSet( - isGlobal = cms.string('isGlobal()'), - isPF = cms.string('isPF()'), - trackerLayersWithMeasurement = cms.string('trackerLayersWithMeasurement() > 5'), - numberOfValidPixelHits = cms.string('numberOfValidPixelHits() > 0'), - numberOfValidMuonHits = cms.string('numberOfValidMuonHits() > 0'), - numberOfMatchedStations = cms.string('numberOfMatchedStations() > 1'), - normalizedChi2 = cms.string('normalizedChi2() < 10'), - #dxy = cms.string('abs(dxy()) < 0.2') - #dz = cms.string('abs(dz()) < 0.5') - ) - - -highptmuonNoVtx = cms.PSet( - isGlobal = cms.string('isGlobal()'), - trackerLayersWithMeasurement = cms.string('trackerLayersWithMeasurement() > 8'), - numberOfValidPixelHits = cms.string('numberOfValidPixelHits() > 0'), - numberOfValidMuonHits = cms.string('numberOfValidMuonHits() > 0'), - numberOfMatchedStations = cms.string('numberOfMatchedStations() > 1'), - #dxy = cms.string('abs(dxy()) < 0.2') - #dz = cms.string('abs(dz()) < 0.5') - ) diff --git a/CMGTools/Common/python/selections/tauCutSummary_cff.py b/CMGTools/Common/python/selections/tauCutSummary_cff.py deleted file mode 100644 index 78760860674a..000000000000 --- a/CMGTools/Common/python/selections/tauCutSummary_cff.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.cutSummaryTau_cfi import * - -tauCutSummarySequence = cms.Sequence( - cutSummaryTau - ) diff --git a/CMGTools/Common/python/selections/vbtfelectron_cfi.py b/CMGTools/Common/python/selections/vbtfelectron_cfi.py deleted file mode 100644 index 5ce3effe0e29..000000000000 --- a/CMGTools/Common/python/selections/vbtfelectron_cfi.py +++ /dev/null @@ -1,28 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#electron identification -def addVBTFIDSelection(var): - vbtfid = cms.PSet( - selection = cms.string('test_bit(sourcePtr().electronID(\"%s\"),0) ' % var) - ) - return vbtfid - -vbtfelectron60ID = addVBTFIDSelection('simpleEleId60relIso') -vbtfelectron70ID = addVBTFIDSelection('simpleEleId70relIso') -vbtfelectron80ID = addVBTFIDSelection('simpleEleId80relIso') -vbtfelectron90ID = addVBTFIDSelection('simpleEleId90relIso') -vbtfelectron95ID = addVBTFIDSelection('simpleEleId95relIso') - -#conversion rejection -def addVBTFCRSelection(var): - vbtfcr = cms.PSet( - selection = cms.string('test_bit(sourcePtr().electronID(\"%s\"),2)' % var) - ) - return vbtfcr - -vbtfelectron60CR = addVBTFCRSelection('simpleEleId60relIso') -vbtfelectron70CR = addVBTFCRSelection('simpleEleId70relIso') -vbtfelectron80CR = addVBTFCRSelection('simpleEleId80relIso') -vbtfelectron90CR = addVBTFCRSelection('simpleEleId90relIso') -vbtfelectron95CR = addVBTFCRSelection('simpleEleId95relIso') - diff --git a/CMGTools/Common/python/selections/vbtfmuon_cfi.py b/CMGTools/Common/python/selections/vbtfmuon_cfi.py deleted file mode 100644 index 2a9253ac186d..000000000000 --- a/CMGTools/Common/python/selections/vbtfmuon_cfi.py +++ /dev/null @@ -1,15 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#see CMS-AN-2010-264 pp 4 -vbtfmuon = cms.PSet( - isGlobal = cms.string('isGlobal()'), - isTracker = cms.string('isTracker()'), - #Updated for 2012 with new cut from the Muon POG - #numberOfValidTrackerHits = cms.string('numberOfValidTrackerHits() > 10'), - trackerLayersWithMeasurement = cms.string('trackerLayersWithMeasurement() > 8'), - numberOfValidPixelHits = cms.string('numberOfValidPixelHits() > 0'), - numberOfValidMuonHits = cms.string('numberOfValidMuonHits() > 0'), - numberOfMatches = cms.string('numberOfMatches() > 1'), - normalizedChi2 = cms.string('normalizedChi2() < 10'), - dxy = cms.string('abs(dxy()) < 0.2') - ) diff --git a/CMGTools/Common/python/selections/zee_cfi.py b/CMGTools/Common/python/selections/zee_cfi.py deleted file mode 100644 index 3c6206ddc160..000000000000 --- a/CMGTools/Common/python/selections/zee_cfi.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -zee = cms.PSet( - mass = cms.string('mass() >= 50 && mass() < 120'), - leg1_quality = cms.string(''), - leg2_quality = cms.string(''), - leg1_kinematics = cms.PSet( - pt = cms.string('leg1().pt() > 15'), - eta = cms.string('abs(leg1().eta()) < 3'), - phi = cms.string('abs(leg1().phi()) < 10') - ), - leg2_kinematics = cms.PSet( - pt = cms.string('leg2().pt() > 10'), - eta = cms.string('abs(leg2().eta()) < 3'), - phi = cms.string('abs(leg2().phi()) < 10') - ) -) diff --git a/CMGTools/Common/python/skim_cff.py b/CMGTools/Common/python/skim_cff.py deleted file mode 100644 index 53156e53a4e9..000000000000 --- a/CMGTools/Common/python/skim_cff.py +++ /dev/null @@ -1,16 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.skims.jetSkim_cff import * -from CMGTools.Common.skims.metSkim_cff import * -from CMGTools.Common.skims.electronSkim_cff import * -from CMGTools.Common.skims.muonSkim_cff import * -from CMGTools.Common.skims.tauSkim_cff import * - -skimSequence = cms.Sequence( - jetSkimSequence + - metSkimSequence + - electronSkimSequence + - muonSkimSequence + - tauSkimSequence - ) - diff --git a/CMGTools/Common/python/skims/cmgBaseJetSel_cfi.py b/CMGTools/Common/python/skims/cmgBaseJetSel_cfi.py deleted file mode 100644 index db9d96126b35..000000000000 --- a/CMGTools/Common/python/skims/cmgBaseJetSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgBaseJetSel = cms.EDFilter( - "CmgBaseJetSelector", - src = cms.InputTag(""), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgBaseMETSel_cfi.py b/CMGTools/Common/python/skims/cmgBaseMETSel_cfi.py deleted file mode 100644 index 56214436db68..000000000000 --- a/CMGTools/Common/python/skims/cmgBaseMETSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgBaseMETSel = cms.EDFilter( - "CmgBaseMETSelector", - src = cms.InputTag(""), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgCandCount_cfi.py b/CMGTools/Common/python/skims/cmgCandCount_cfi.py deleted file mode 100644 index aa270adfe263..000000000000 --- a/CMGTools/Common/python/skims/cmgCandCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgCandCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag(""), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgCandMerge_cfi.py b/CMGTools/Common/python/skims/cmgCandMerge_cfi.py deleted file mode 100644 index 56e4fe313a6e..000000000000 --- a/CMGTools/Common/python/skims/cmgCandMerge_cfi.py +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -#merge different collections -cmgCandMerge = cms.EDProducer( - "CandViewMerger", - src = cms.VInputTag( - "cmgPFJet", - "cmgMuons" - ), - ) - - diff --git a/CMGTools/Common/python/skims/cmgCandSel_cfi.py b/CMGTools/Common/python/skims/cmgCandSel_cfi.py deleted file mode 100644 index 807f3793f860..000000000000 --- a/CMGTools/Common/python/skims/cmgCandSel_cfi.py +++ /dev/null @@ -1,20 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -## e.g. invertSelector(cmgCandSel.clone()) -def invertSelector(sel): - """Takes a selector and returns a clone with the inverse selection""" - result = sel.clone() - result.cut.setValue('!(%s)' % sel.cut.value()) - return result - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgCandSel = cms.EDFilter( - "CandViewSelector", - src = cms.InputTag(""), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgDiElectronCount_cfi.py b/CMGTools/Common/python/skims/cmgDiElectronCount_cfi.py deleted file mode 100644 index ba3d016ad96b..000000000000 --- a/CMGTools/Common/python/skims/cmgDiElectronCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgDiElectronCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgDiElectronSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgDiElectronSel_cfi.py b/CMGTools/Common/python/skims/cmgDiElectronSel_cfi.py deleted file mode 100644 index d6560c50d928..000000000000 --- a/CMGTools/Common/python/skims/cmgDiElectronSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgDiElectronSel = cms.EDFilter( - "CmgDiElectronSelector", - src = cms.InputTag( "cmgDiElectron" ), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgDiMuonCount_cfi.py b/CMGTools/Common/python/skims/cmgDiMuonCount_cfi.py deleted file mode 100644 index 3dd46baa4aef..000000000000 --- a/CMGTools/Common/python/skims/cmgDiMuonCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgDiMuonCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgDiMuonSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgDiMuonSel_cfi.py b/CMGTools/Common/python/skims/cmgDiMuonSel_cfi.py deleted file mode 100644 index 16734262f2fe..000000000000 --- a/CMGTools/Common/python/skims/cmgDiMuonSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgDiMuonSel = cms.EDFilter( - "CmgDiMuonSelector", - src = cms.InputTag( "cmgDiMuon" ), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgDiPFCandidateSel_cfi.py b/CMGTools/Common/python/skims/cmgDiPFCandidateSel_cfi.py deleted file mode 100644 index 4c60bed877ea..000000000000 --- a/CMGTools/Common/python/skims/cmgDiPFCandidateSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgDiPFCandidateSel = cms.EDFilter( - "CmgDiPFCandidateSelector", - src = cms.InputTag( "cmgDiPFCandidate" ), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgDiTauSel_cfi.py b/CMGTools/Common/python/skims/cmgDiTauSel_cfi.py deleted file mode 100644 index 1b40ee57d16f..000000000000 --- a/CMGTools/Common/python/skims/cmgDiTauSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgDiTauSel = cms.EDFilter( - "CmgDiTauSelector", - src = cms.InputTag( "cmgDiTau" ), - cut = cms.string( " pt()>0 " ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgElectronCount_cfi.py b/CMGTools/Common/python/skims/cmgElectronCount_cfi.py deleted file mode 100644 index cdfec062e66e..000000000000 --- a/CMGTools/Common/python/skims/cmgElectronCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgElectronCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgElectronSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgElectronSel_cfi.py b/CMGTools/Common/python/skims/cmgElectronSel_cfi.py deleted file mode 100644 index 61cfb9323431..000000000000 --- a/CMGTools/Common/python/skims/cmgElectronSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgElectronSel = cms.EDFilter( - "CmgElectronSelector", - src = cms.InputTag("cmgElectron"), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgL1TriggerObjectCount_cfi.py b/CMGTools/Common/python/skims/cmgL1TriggerObjectCount_cfi.py deleted file mode 100644 index 88d3a195eee5..000000000000 --- a/CMGTools/Common/python/skims/cmgL1TriggerObjectCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgL1TriggerObjectCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgL1TriggerObjectSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgL1TriggerObjectSel_cfi.py b/CMGTools/Common/python/skims/cmgL1TriggerObjectSel_cfi.py deleted file mode 100644 index 09fad18f8799..000000000000 --- a/CMGTools/Common/python/skims/cmgL1TriggerObjectSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgL1TriggerObjectSel = cms.EDFilter( - "CmgTriggerObjectSelector", - src = cms.InputTag( "cmgL1TriggerObject" ), - cut = cms.string( "" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgMuEleSel_cfi.py b/CMGTools/Common/python/skims/cmgMuEleSel_cfi.py deleted file mode 100644 index cce0e4a12669..000000000000 --- a/CMGTools/Common/python/skims/cmgMuEleSel_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgMuEleSel = cms.EDFilter( - "CmgMuEleSelector", - src = cms.InputTag( "cmgMuEle" ), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgMuonCount_cfi.py b/CMGTools/Common/python/skims/cmgMuonCount_cfi.py deleted file mode 100644 index 14966704caa4..000000000000 --- a/CMGTools/Common/python/skims/cmgMuonCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgMuonCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgMuonSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgMuonSel_cfi.py b/CMGTools/Common/python/skims/cmgMuonSel_cfi.py deleted file mode 100644 index b4e5d9c11d02..000000000000 --- a/CMGTools/Common/python/skims/cmgMuonSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgMuonSel = cms.EDFilter( - "CmgMuonSelector", - src = cms.InputTag( "cmgMuon" ), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgPFBaseJetCount_cfi.py b/CMGTools/Common/python/skims/cmgPFBaseJetCount_cfi.py deleted file mode 100644 index e920185da071..000000000000 --- a/CMGTools/Common/python/skims/cmgPFBaseJetCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgPFBaseJetCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgPFBaseJetSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgPFBaseJetSel_cfi.py b/CMGTools/Common/python/skims/cmgPFBaseJetSel_cfi.py deleted file mode 100644 index 43c6a4c20e83..000000000000 --- a/CMGTools/Common/python/skims/cmgPFBaseJetSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgPFBaseJetSel = cms.EDFilter( - "CmgBaseJetSelector", - src = cms.InputTag("cmgPFBaseJet"), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgPFJetCount_cfi.py b/CMGTools/Common/python/skims/cmgPFJetCount_cfi.py deleted file mode 100644 index 90e70a45fa9a..000000000000 --- a/CMGTools/Common/python/skims/cmgPFJetCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgPFJetCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgPFJetSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgPFJetPUIDSel_cfi.py b/CMGTools/Common/python/skims/cmgPFJetPUIDSel_cfi.py deleted file mode 100644 index 843265d3ddcc..000000000000 --- a/CMGTools/Common/python/skims/cmgPFJetPUIDSel_cfi.py +++ /dev/null @@ -1,48 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# PU jet ID cuts - -loosePUIDcuts = cms.VPSet( - cms.PSet( - minPt = cms.double(0.), - maxPt = cms.double(20.), - maxEtas = cms.vdouble(2.5, 2.75, 3.0, 5.0), - minDiscs = cms.vdouble(-0.95 ,-0.96, -0.94, -0.95) - ), - cms.PSet( - minPt = cms.double(20.), - maxPt = cms.double(99999.), # WP 30-50 also valid above - maxEtas = cms.vdouble(2.5, 2.75, 3.0, 5.0), - minDiscs = cms.vdouble(-0.63, -0.60, -0.55, -0.45) - ) -) - -# Can also take the WPs from the official file if it's up-to-date -from CMGTools.External.JetIdParams_cfi import full_53x_wp - -mediumPUIDcuts = cms.VPSet( - cms.PSet( - minPt = cms.double(0.), - maxPt = cms.double(20.), - maxEtas = cms.vdouble(2.5, 2.75, 3.0, 5.0), - minDiscs = full_53x_wp.Pt1020_Medium # Pt010 is identical - ), - cms.PSet( - minPt = cms.double(20.), - maxPt = cms.double(99999.), # WP 30-50 also valid above - maxEtas = cms.vdouble(2.5, 2.75, 3.0, 5.0), - minDiscs = full_53x_wp.Pt2030_Medium #Pt3050 is identical - ) -) - - - -# PU jet ID selector - -cmgPFJetPUIDSel = cms.EDFilter( - 'CMGJetPUIDSelector' , - src = cms.InputTag('cmgPFJetSel'), - cut = cms.string(''), # dummy cut - puIDName = cms.string('full53x'), # Name of the saved discriminator - puJetIDParams = loosePUIDcuts -) diff --git a/CMGTools/Common/python/skims/cmgPFJetSel_cfi.py b/CMGTools/Common/python/skims/cmgPFJetSel_cfi.py deleted file mode 100644 index edf130a04aac..000000000000 --- a/CMGTools/Common/python/skims/cmgPFJetSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgPFJetSel = cms.EDFilter( - "CmgPFJetSelector", - src = cms.InputTag("cmgPFJet"), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgPFMETCount_cfi.py b/CMGTools/Common/python/skims/cmgPFMETCount_cfi.py deleted file mode 100644 index 81f77ae98f10..000000000000 --- a/CMGTools/Common/python/skims/cmgPFMETCount_cfi.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgPFMETCount = cms.EDFilter( - "CandCountFilter", - src = cms.InputTag("cmgPFMETSel"), - minNumber = cms.uint32(1), - ) - - - diff --git a/CMGTools/Common/python/skims/cmgPFMETSel_cfi.py b/CMGTools/Common/python/skims/cmgPFMETSel_cfi.py deleted file mode 100644 index 8428a1b2c2c4..000000000000 --- a/CMGTools/Common/python/skims/cmgPFMETSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgCandSel = cms.EDFilter( - "CandViewSelector", - src = cms.InputTag(""), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgPOSel_cfi.py b/CMGTools/Common/python/skims/cmgPOSel_cfi.py deleted file mode 100644 index 78f3a5a43638..000000000000 --- a/CMGTools/Common/python/skims/cmgPOSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgPOSel = cms.EDFilter( - "CmgGenJetPOSelector", - src = cms.InputTag(""), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgPhotonSel_cfi.py b/CMGTools/Common/python/skims/cmgPhotonSel_cfi.py deleted file mode 100644 index ec087e632bd3..000000000000 --- a/CMGTools/Common/python/skims/cmgPhotonSel_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# Do not rely on the default cuts implemented here, as they are -# subject to change. You should override these cuts in your analysis. - -cmgPhotonSel = cms.EDFilter( - "CmgPhotonSelector", - src = cms.InputTag("cmgPhoton"), - cut = cms.string("pt()>2") - #cut = cms.string("pt()>2&&relIso(0.5)<1.0") - #cut = cms.string("pt()>2&&chargedHadronIso()<4.") - ) - - diff --git a/CMGTools/Common/python/skims/cmgStructuredPFJetSel_cfi.py b/CMGTools/Common/python/skims/cmgStructuredPFJetSel_cfi.py deleted file mode 100644 index 6ef5546b992f..000000000000 --- a/CMGTools/Common/python/skims/cmgStructuredPFJetSel_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgStructuredPFJetSel = cms.EDFilter( - "CmgStructuredPFJetSelector", - src = cms.InputTag("cmgStructuredPFJet"), - cut = cms.string( "pt()>0" ) - ) diff --git a/CMGTools/Common/python/skims/cmgTauEleSel_cfi.py b/CMGTools/Common/python/skims/cmgTauEleSel_cfi.py deleted file mode 100644 index 3567d34cbcb7..000000000000 --- a/CMGTools/Common/python/skims/cmgTauEleSel_cfi.py +++ /dev/null @@ -1,11 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -cmgTauEleSel = cms.EDFilter( - "CmgTauEleSelector", - src = cms.InputTag( "cmgTauEle" ), - cut = cms.string("pt()>0") - ) - - - - diff --git a/CMGTools/Common/python/skims/cmgTauMuSel_cfi.py b/CMGTools/Common/python/skims/cmgTauMuSel_cfi.py deleted file mode 100644 index e93ddc660cfe..000000000000 --- a/CMGTools/Common/python/skims/cmgTauMuSel_cfi.py +++ /dev/null @@ -1,14 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# cmgTauMuSel = cms.EDFilter( -# "CmgTauMuSelector", -# src = cms.InputTag( "cmgTauMu" ), -# cut = cms.string( "pt()>0" ) -# ) - -cmgTauMuSel = cms.EDFilter( - "PATCompositeCandidateSelector", - src = cms.InputTag( "cmgTauMu" ), - cut = cms.string( "" ) - ) - diff --git a/CMGTools/Common/python/skims/cmgTriggerObjectCount_cfi.py b/CMGTools/Common/python/skims/cmgTriggerObjectCount_cfi.py deleted file mode 100644 index 7380f66030a3..000000000000 --- a/CMGTools/Common/python/skims/cmgTriggerObjectCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgTriggerObjectCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgTriggerObjectSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgTriggerObjectListCount_cfi.py b/CMGTools/Common/python/skims/cmgTriggerObjectListCount_cfi.py deleted file mode 100644 index a84813816bc4..000000000000 --- a/CMGTools/Common/python/skims/cmgTriggerObjectListCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgTriggerObjectListCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgTriggerObjectListSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgTriggerObjectListSel_cfi.py b/CMGTools/Common/python/skims/cmgTriggerObjectListSel_cfi.py deleted file mode 100644 index 0c896ca38590..000000000000 --- a/CMGTools/Common/python/skims/cmgTriggerObjectListSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgTriggerObjectListSel = cms.EDFilter( - "CmgTriggerObjectSelector", - src = cms.InputTag( "cmgTriggerObjectList" ), - cut = cms.string( "" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgTriggerObjectSel_cfi.py b/CMGTools/Common/python/skims/cmgTriggerObjectSel_cfi.py deleted file mode 100644 index a7aab81a2af4..000000000000 --- a/CMGTools/Common/python/skims/cmgTriggerObjectSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgTriggerObjectSel = cms.EDFilter( - "CmgTriggerObjectSelector", - src = cms.InputTag( "cmgTriggerObject" ), - cut = cms.string( "" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgWENuCount_cfi.py b/CMGTools/Common/python/skims/cmgWENuCount_cfi.py deleted file mode 100644 index 0392344d9671..000000000000 --- a/CMGTools/Common/python/skims/cmgWENuCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgWENuCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgWENuSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgWENuSel_cfi.py b/CMGTools/Common/python/skims/cmgWENuSel_cfi.py deleted file mode 100644 index 632eca8e7365..000000000000 --- a/CMGTools/Common/python/skims/cmgWENuSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgWENuSel = cms.EDFilter( - "CmgWENuSelector", - src = cms.InputTag( "cmgWENu" ), - cut = cms.string( "pt()>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/cmgWMuNuCount_cfi.py b/CMGTools/Common/python/skims/cmgWMuNuCount_cfi.py deleted file mode 100644 index 3a1b2ea9c854..000000000000 --- a/CMGTools/Common/python/skims/cmgWMuNuCount_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgWMuNuCount = cms.EDFilter( - "CandViewCountFilter", - src = cms.InputTag("cmgWMuNuSel"), - minNumber = cms.uint32(0), - ) - - diff --git a/CMGTools/Common/python/skims/cmgWMuNuSel_cfi.py b/CMGTools/Common/python/skims/cmgWMuNuSel_cfi.py deleted file mode 100644 index c7e084faf54e..000000000000 --- a/CMGTools/Common/python/skims/cmgWMuNuSel_cfi.py +++ /dev/null @@ -1,13 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not really on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - -cmgWMuNuSel = cms.EDFilter( - "CmgWMuNuSelector", - src = cms.InputTag( "cmgWMuNu" ), - cut = cms.string( "pt>0" ) - ) - - diff --git a/CMGTools/Common/python/skims/electronSkim_cff.py b/CMGTools/Common/python/skims/electronSkim_cff.py deleted file mode 100644 index 97089aebc903..000000000000 --- a/CMGTools/Common/python/skims/electronSkim_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.skims.cmgElectronCount_cfi import * -from CMGTools.Common.skims.cmgDiElectronCount_cfi import * - -electronSkimSequence = cms.Sequence( - cmgElectronCount + - cmgDiElectronCount - ) diff --git a/CMGTools/Common/python/skims/indexCMGPFJetSelector_cfi.py b/CMGTools/Common/python/skims/indexCMGPFJetSelector_cfi.py deleted file mode 100644 index 71197dd84a8b..000000000000 --- a/CMGTools/Common/python/skims/indexCMGPFJetSelector_cfi.py +++ /dev/null @@ -1,10 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -indexCMGPFJetSelector = cms.EDProducer( - "IndexCMGPFJetSelector", - inputCollection = cms.InputTag("cmgPFJetSel"), - #copy all entries - min = cms.int32(-1), - max = cms.int32(-1), - verbose = cms.untracked.bool(False) - ) diff --git a/CMGTools/Common/python/skims/jetSkim_cff.py b/CMGTools/Common/python/skims/jetSkim_cff.py deleted file mode 100644 index d179ab9009da..000000000000 --- a/CMGTools/Common/python/skims/jetSkim_cff.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.skims.cmgPFJetCount_cfi import * - -jetSkimSequence = cms.Sequence( - cmgPFJetCount - ) diff --git a/CMGTools/Common/python/skims/leadingCMGBaseJetSelector_cfi.py b/CMGTools/Common/python/skims/leadingCMGBaseJetSelector_cfi.py deleted file mode 100644 index 946eeb3142c5..000000000000 --- a/CMGTools/Common/python/skims/leadingCMGBaseJetSelector_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -leadingCMGBaseJetSelector = cms.EDProducer( - "LeadingCMGBaseJetSelector", - inputCollection = cms.InputTag("cmgPFBaseJetSel"), - #copy all entries - index = cms.int32(2) - ) - diff --git a/CMGTools/Common/python/skims/leadingCMGElectronSelector_cfi.py b/CMGTools/Common/python/skims/leadingCMGElectronSelector_cfi.py deleted file mode 100644 index 09779f5af883..000000000000 --- a/CMGTools/Common/python/skims/leadingCMGElectronSelector_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -leadingCMGElectronSelector = cms.EDProducer( - "LeadingCMGElectronSelector", - inputCollection = cms.InputTag("cmgElectronSel"), - index = cms.int32(1) - ) - diff --git a/CMGTools/Common/python/skims/leadingCMGMuonSelector_cfi.py b/CMGTools/Common/python/skims/leadingCMGMuonSelector_cfi.py deleted file mode 100644 index e25a7b1e83e6..000000000000 --- a/CMGTools/Common/python/skims/leadingCMGMuonSelector_cfi.py +++ /dev/null @@ -1,8 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -leadingCMGMuonSelector = cms.EDProducer( - "LeadingCMGMuonSelector", - inputCollection = cms.InputTag("cmgMuonSel"), - index = cms.int32(1) - ) - diff --git a/CMGTools/Common/python/skims/leadingCMGPFJetSelector_cfi.py b/CMGTools/Common/python/skims/leadingCMGPFJetSelector_cfi.py deleted file mode 100644 index 5f1b756e76df..000000000000 --- a/CMGTools/Common/python/skims/leadingCMGPFJetSelector_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -leadingCMGPFJetSelector = cms.EDProducer( - "LeadingCMGPFJetSelector", - inputCollection = cms.InputTag("cmgPFJetSel"), - #copy all entries - index = cms.int32(2) - ) - diff --git a/CMGTools/Common/python/skims/metSkim_cff.py b/CMGTools/Common/python/skims/metSkim_cff.py deleted file mode 100644 index 0f6f550a3e85..000000000000 --- a/CMGTools/Common/python/skims/metSkim_cff.py +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.skims.cmgPFMETCount_cfi import * - -metSkimSequence = cms.Sequence( - cmgPFMETCount - ) diff --git a/CMGTools/Common/python/skims/muonSkim_cff.py b/CMGTools/Common/python/skims/muonSkim_cff.py deleted file mode 100644 index 8bc2529d1d6e..000000000000 --- a/CMGTools/Common/python/skims/muonSkim_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.skims.cmgMuonCount_cfi import * -from CMGTools.Common.skims.cmgDiMuonCount_cfi import * - -muonSkimSequence = cms.Sequence( - cmgMuonCount + - cmgDiMuonCount - ) diff --git a/CMGTools/Common/python/skims/patJetLead_cfi.py b/CMGTools/Common/python/skims/patJetLead_cfi.py deleted file mode 100644 index 87373f8f910c..000000000000 --- a/CMGTools/Common/python/skims/patJetLead_cfi.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -patJetLead = cms.EDProducer( - "LeadingPatJetSelector", - inputCollection = cms.InputTag("selectedPatJetsAK5"), - #copy all entries - index = cms.int32(2) - ) - diff --git a/CMGTools/Common/python/skims/selEvents1VeryHighPtJet_cff.py b/CMGTools/Common/python/skims/selEvents1VeryHighPtJet_cff.py deleted file mode 100644 index 34a462a3056c..000000000000 --- a/CMGTools/Common/python/skims/selEvents1VeryHighPtJet_cff.py +++ /dev/null @@ -1,19 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -veryHighPtJets = cms.EDFilter( - "CandViewSelector", - src = cms.InputTag("selectedPatJetsAK5"), - cut = cms.string( "pt()>1000" ) - ) - -filterVeryHighPtJet = cms.EDFilter( - "CandCountFilter", - src = cms.InputTag("veryHighPtJets"), - minNumber = cms.uint32(1), - ) - -selEvents1VeryHighPtJetSequence = cms.Sequence( - veryHighPtJets + - filterVeryHighPtJet - ) - diff --git a/CMGTools/Common/python/skims/selEvents2HighPtJets_cff.py b/CMGTools/Common/python/skims/selEvents2HighPtJets_cff.py deleted file mode 100644 index 984a4d41be3d..000000000000 --- a/CMGTools/Common/python/skims/selEvents2HighPtJets_cff.py +++ /dev/null @@ -1,18 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -# do not rely on the default cuts implemented here, -# as they are subject to change. -# you should override these cuts in your analysis. - - -from CMGTools.Common.skims.cmgPFJetSel_cfi import * -from CMGTools.Common.skims.cmgPFJetCount_cfi import * - - -cmgPFJetSel.cut = 'pt()>50' -cmgPFJetCount.minNumber = 2 - -selEvents2HighPtJetsSequence = cms.Sequence( - cmgPFJetSel + - cmgPFJetCount - ) diff --git a/CMGTools/Common/python/skims/tauSkim_cff.py b/CMGTools/Common/python/skims/tauSkim_cff.py deleted file mode 100644 index ae31be65f6fe..000000000000 --- a/CMGTools/Common/python/skims/tauSkim_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.skims.cmgTauCount_cfi import * -from CMGTools.Common.skims.cmgDiTauCount_cfi import * - -tauSkimSequence = cms.Sequence( - cmgTauCount # + - # cmgDiTauCount - ) diff --git a/CMGTools/Common/python/tauEle_cff.py b/CMGTools/Common/python/tauEle_cff.py deleted file mode 100644 index 7d7da48d6a32..000000000000 --- a/CMGTools/Common/python/tauEle_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgTauEle_cfi import * -from CMGTools.Common.skims.cmgTauEleSel_cfi import * - -tauESequence = cms.Sequence( - cmgTauEle - +cmgTauEleSel -) diff --git a/CMGTools/Common/python/tauMu_cff.py b/CMGTools/Common/python/tauMu_cff.py deleted file mode 100644 index e7729e303f6b..000000000000 --- a/CMGTools/Common/python/tauMu_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgTauMu_cfi import * -from CMGTools.Common.skims.cmgTauMuSel_cfi import * - -tauMuSequence = cms.Sequence( - cmgTauMu - +cmgTauMuSel -) diff --git a/CMGTools/Common/python/tau_cff.py b/CMGTools/Common/python/tau_cff.py deleted file mode 100644 index 783c08c08f86..000000000000 --- a/CMGTools/Common/python/tau_cff.py +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.factories.cmgTau_cfi import * -from CMGTools.Common.skims.cmgTauSel_cfi import * - -tauSequence = cms.Sequence( - cmgTau - +cmgTauSel -) diff --git a/CMGTools/Common/python/templates/BuildFile_factory.txt b/CMGTools/Common/python/templates/BuildFile_factory.txt deleted file mode 100644 index 55d415f1af4b..000000000000 --- a/CMGTools/Common/python/templates/BuildFile_factory.txt +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/CMGTools/Common/python/templates/BuildFile_formats.txt b/CMGTools/Common/python/templates/BuildFile_formats.txt deleted file mode 100644 index 076b05eaf2e5..000000000000 --- a/CMGTools/Common/python/templates/BuildFile_formats.txt +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/CMGTools/Common/python/templates/BuildFile_plugins.txt b/CMGTools/Common/python/templates/BuildFile_plugins.txt deleted file mode 100644 index 3feee3401c45..000000000000 --- a/CMGTools/Common/python/templates/BuildFile_plugins.txt +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/CMGTools/Common/python/templates/Histograms_py.txt b/CMGTools/Common/python/templates/Histograms_py.txt deleted file mode 100644 index f1239ddc1bb5..000000000000 --- a/CMGTools/Common/python/templates/Histograms_py.txt +++ /dev/null @@ -1,7 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -%(histogramname)s = cms.EDAnalyzer( - "LorentzHistogramsAnalyzer", - inputCollection = cms.InputTag("%(pyfactoryname)s"), - name = cms.string("%(pyfactoryname)s") -) \ No newline at end of file diff --git a/CMGTools/Common/python/templates/PhysicsObjectFactory_cc.txt b/CMGTools/Common/python/templates/PhysicsObjectFactory_cc.txt deleted file mode 100644 index 5f2da0e81b90..000000000000 --- a/CMGTools/Common/python/templates/PhysicsObjectFactory_cc.txt +++ /dev/null @@ -1,15 +0,0 @@ -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Common/interface/View.h" - -#include "%(factoryclassfile)s" - -#include - -%(namespace)s::%(factoryname)s::event_ptr %(namespace)s::%(factoryname)s::create(const edm::Event& iEvent, const edm::EventSetup&) const{ - - edm::Handle< edm::View > cands; - %(namespace)s::%(factoryname)s::event_ptr result(new %(namespace)s::%(factoryname)s::collection); - iEvent.getByLabel(inputLabel_,cands); - - return result; -} diff --git a/CMGTools/Common/python/templates/PhysicsObjectFactory_h.txt b/CMGTools/Common/python/templates/PhysicsObjectFactory_h.txt deleted file mode 100644 index d8ecd0218f8f..000000000000 --- a/CMGTools/Common/python/templates/PhysicsObjectFactory_h.txt +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef %(factoryguard)s -#define %(factoryguard)s - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include "%(formatclassfile)s" -#include "CMGTools/Common/interface/Factory.h" - -#include -#include - -namespace %(namespace)s{ - -class %(factoryname)s : public cmg::Factory<%(namespace)s::%(objectname)s>{ - public: - %(factoryname)s(const edm::ParameterSet& ps): - inputLabel_(ps.getParameter("inputCollection")){ - } - virtual event_ptr create(const edm::Event&, const edm::EventSetup&) const; - - private: - const edm::InputTag inputLabel_; -}; - -} - - -#endif /*%(factoryguard)s*/ \ No newline at end of file diff --git a/CMGTools/Common/python/templates/PhysicsObjectFactory_py.txt b/CMGTools/Common/python/templates/PhysicsObjectFactory_py.txt deleted file mode 100644 index 8eef3982c027..000000000000 --- a/CMGTools/Common/python/templates/PhysicsObjectFactory_py.txt +++ /dev/null @@ -1,12 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.selections.kinematics_cfi import kinematics - -%(pyfactoryname)s = cms.EDFilter("%(producername)s", - cfg = cms.PSet( - inputCollection = cms.InputTag("%(inputcollection)s") - ), - cuts = cms.PSet( - kinematics = kinematics.clone() - ), -) \ No newline at end of file diff --git a/CMGTools/Common/python/templates/PhysicsObjectPlugins_cc.txt b/CMGTools/Common/python/templates/PhysicsObjectPlugins_cc.txt deleted file mode 100644 index 467a38a10000..000000000000 --- a/CMGTools/Common/python/templates/PhysicsObjectPlugins_cc.txt +++ /dev/null @@ -1,8 +0,0 @@ -#include "%(formatclassfile)s" -#include "%(factoryclassfile)s" - -#include "CMGTools/Common/plugins/PhysicsObjectProducer.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -typedef PhysicsObjectProducer<%(namespace)s::%(factoryname)s> %(producername)s; -DEFINE_FWK_MODULE(%(producername)s); \ No newline at end of file diff --git a/CMGTools/Common/python/templates/PhysicsObject_h.txt b/CMGTools/Common/python/templates/PhysicsObject_h.txt deleted file mode 100644 index d4213d13fd7a..000000000000 --- a/CMGTools/Common/python/templates/PhysicsObject_h.txt +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef %(formatguard)s -#define %(formatguard)s - -#include "DataFormats/Candidate/interface/Candidate.h" - -#include "AnalysisDataFormats/CMGTools/interface/TriBool.h" -#include "AnalysisDataFormats/CMGTools/interface/UnSet.h" - -#include "AnalysisDataFormats/CMGTools/interface/AbstractPhysicsObject.h" -#include "AnalysisDataFormats/CMGTools/interface/PhysicsObject.h" - -#include - -namespace %(namespace)s -{ - -//forward def needed -class %(objectname)s; -class %(factoryname)s; - -class %(objectname)s : public %(baseclass)s{ -public: - - %(objectname)s(){ - } - %(objectname)s(const %(inputtype)s& o): - %(baseclassconstructor)s, - isGlobal_(cmg::unset(cmg::TriBool())){ - } - virtual ~%(objectname)s(){ - } - - cmg::TriBool isGlobal() const{ - return isGlobal_; - } - - friend class %(namespace)s::%(factoryname)s; - -private: - //for example: Use instead of bool - cmg::TriBool isGlobal_; - -}; - -} - -#endif /*%(formatguard)s*/ \ No newline at end of file diff --git a/CMGTools/Common/python/templates/Sequences_py.txt b/CMGTools/Common/python/templates/Sequences_py.txt deleted file mode 100644 index cf9efcb22ddb..000000000000 --- a/CMGTools/Common/python/templates/Sequences_py.txt +++ /dev/null @@ -1,9 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from %(factoryconfigfile)s import %(pyfactoryname)s -from %(histogramconfigfile)s import %(histogramname)s - -%(pysequencename)s = cms.Sequence( - %(pyfactoryname)s + - %(histogramname)s - ) diff --git a/CMGTools/Common/python/templates/classes_def_xml.txt b/CMGTools/Common/python/templates/classes_def_xml.txt deleted file mode 100644 index c0b4c4ace78f..000000000000 --- a/CMGTools/Common/python/templates/classes_def_xml.txt +++ /dev/null @@ -1,5 +0,0 @@ - - - %(lcgdict)s - - diff --git a/CMGTools/Common/python/templates/classes_h.txt b/CMGTools/Common/python/templates/classes_h.txt deleted file mode 100644 index ad05d43e0798..000000000000 --- a/CMGTools/Common/python/templates/classes_h.txt +++ /dev/null @@ -1,19 +0,0 @@ -#include "DataFormats/Common/interface/Ptr.h" -#include "DataFormats/Common/interface/Wrapper.h" -#include "%(formatclassfile)s" -#include - -namespace %(namespace)s { - - struct FORMATS{ - - public: - %(namespace)s::%(objectname)s o_; - std::vector< %(namespace)s::%(objectname)s > ov_; - edm::Wrapper< %(namespace)s::%(objectname)s > ow_; - edm::Ptr< %(namespace)s::%(objectname)s > op_; - edm::Wrapper > ovw_; - }; - - -} \ No newline at end of file diff --git a/CMGTools/Common/python/templates/templates.py b/CMGTools/Common/python/templates/templates.py deleted file mode 100644 index 419ca3c99031..000000000000 --- a/CMGTools/Common/python/templates/templates.py +++ /dev/null @@ -1,18 +0,0 @@ -import inspect -import os - -def getTemplate(name): - #get the location of *this* function - topDir = os.path.abspath(os.path.dirname(inspect.getsourcefile(getTemplate))) - templateName = os.path.join(topDir,name) - - #read the template contents from the file - result = None - if os.path.exists(templateName): - f = None - try: - f = file(templateName) - result = f.read() - finally: - if f is not None: f.close() - return result \ No newline at end of file diff --git a/CMGTools/Common/python/testing_sources/CMSSW_4_2_5.py b/CMGTools/Common/python/testing_sources/CMSSW_4_2_5.py deleted file mode 100644 index 399916631ed2..000000000000 --- a/CMGTools/Common/python/testing_sources/CMSSW_4_2_5.py +++ /dev/null @@ -1,7 +0,0 @@ -#a collection of files - -sourceFiles = { - 'ZMM':['/store/cmst3/user/cmgtools/CMG/RelValZMM/CMSSW_4_2_5-START42_V12-v1/GEN-SIM-RECO/PAT_CMG_V2_0_0/patTuple_PF2PAT_0.root'], - 'ZEE':['/store/cmst3/user/cmgtools/CMG/RelValZEE/CMSSW_4_2_5-START42_V12-v1/GEN-SIM-RECO/PAT_CMG_V2_0_0/patTuple_PF2PAT_0.root'], - 'QCD':['/store/cmst3/user/cmgtools/CMG/RelValQCD_Pt_80_120/CMSSW_4_2_5-START42_V12-v1/GEN-SIM-RECO/PAT_CMG_V2_0_0/patTuple_PF2PAT_0.root'] - } diff --git a/CMGTools/Common/python/testing_sources/CMSSW_4_2_8.py b/CMGTools/Common/python/testing_sources/CMSSW_4_2_8.py deleted file mode 100644 index 7461b07f753d..000000000000 --- a/CMGTools/Common/python/testing_sources/CMSSW_4_2_8.py +++ /dev/null @@ -1,7 +0,0 @@ -#a collection of files - -sourceFiles = { - 'ZMM':['/store/cmst3/user/wreece/CMG/RelValZMM/CMSSW_4_2_3-START42_V12-v2/GEN-SIM-RECO/PAT_CMG_V2_3_0/patTuple_PF2PAT_0.root'], - 'ZEE':['/store/cmst3/user/wreece/CMG/RelValZEE/CMSSW_4_2_3-START42_V12-v2/GEN-SIM-RECO/PAT_CMG_V2_3_0/patTuple_PF2PAT_0.root'], - 'QCD':['/store/cmst3/user/wreece/CMG/RelValQCD_FlatPt_15_3000/CMSSW_4_2_3-MC_42_V12-v2/GEN-SIM-RECO/PAT_CMG_V2_3_0/patTuple_PF2PAT_0.root'] - } diff --git a/CMGTools/Common/python/testing_sources/sourceFiles.py b/CMGTools/Common/python/testing_sources/sourceFiles.py deleted file mode 100644 index b7afae0dd37f..000000000000 --- a/CMGTools/Common/python/testing_sources/sourceFiles.py +++ /dev/null @@ -1,9 +0,0 @@ -import os - -def testing_sources(): - """Import the testing files in a version specific way""" - - version = os.environ['CMSSW_VERSION'] - imp = 'CMGTools.Common.testing_sources.%s' % version - ts = __import__(imp,globals(),locals(),['*']) - return ts.sourceFiles diff --git a/CMGTools/Common/python/trigger_cff.py b/CMGTools/Common/python/trigger_cff.py deleted file mode 100644 index 005e438d11d7..000000000000 --- a/CMGTools/Common/python/trigger_cff.py +++ /dev/null @@ -1,32 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -##single trigger object (container) with all HLT paths -from CMGTools.Common.factories.cmgTriggerObject_cfi import * -from CMGTools.Common.skims.cmgTriggerObjectSel_cfi import * -from CMGTools.Common.skims.cmgTriggerObjectCount_cfi import * - -##trigger prescale factors for each path, encoded in compact form -from CMGTools.Common.factories.cmgTriggerPrescales_cfi import * - -##single L1 trigger object (container) with all L1 seeds -from CMGTools.Common.factories.cmgL1TriggerObject_cfi import * -from CMGTools.Common.skims.cmgL1TriggerObjectSel_cfi import * -from CMGTools.Common.skims.cmgL1TriggerObjectCount_cfi import * - -##actual trigger objects and their paths -from CMGTools.Common.factories.cmgTriggerObjectList_cfi import * -from CMGTools.Common.skims.cmgTriggerObjectListSel_cfi import * -from CMGTools.Common.skims.cmgTriggerObjectListCount_cfi import * - -triggerSequence = cms.Sequence( - cmgL1TriggerObject* - cmgL1TriggerObjectSel* - cmgL1TriggerObjectCount* - cmgTriggerObject* - cmgTriggerObjectSel* - cmgTriggerObjectCount* - cmgTriggerObjectList* - cmgTriggerObjectListSel* - cmgTriggerObjectListCount* - cmgTriggerPrescales -) diff --git a/CMGTools/Common/python/wENu_cff.py b/CMGTools/Common/python/wENu_cff.py deleted file mode 100644 index 3b51de0ed85f..000000000000 --- a/CMGTools/Common/python/wENu_cff.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.electron_cff import * -from CMGTools.Common.met_cff import * -from CMGTools.Common.factories.cmgWENu_cfi import * -from CMGTools.Common.skims.cmgWENuSel_cfi import * -from CMGTools.Common.skims.cmgWENuCount_cfi import * -from CMGTools.Common.histograms.wLorentzVector_cfi import * - -wENuSequence = cms.Sequence( - electronSequence + - metSequence + - cmgWENu + - cmgWENuSel + - cmgWENuCount + - wenuLorentzVector -) diff --git a/CMGTools/Common/python/wMuNu_cff.py b/CMGTools/Common/python/wMuNu_cff.py deleted file mode 100644 index 01f5ec1fb6a8..000000000000 --- a/CMGTools/Common/python/wMuNu_cff.py +++ /dev/null @@ -1,17 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.muon_cff import * -from CMGTools.Common.met_cff import * -from CMGTools.Common.factories.cmgWMuNu_cfi import * -from CMGTools.Common.skims.cmgWMuNuSel_cfi import * -from CMGTools.Common.skims.cmgWMuNuCount_cfi import * -from CMGTools.Common.histograms.wLorentzVector_cfi import * - -wMuNuSequence = cms.Sequence( - muonSequence + - metSequence + - cmgWMuNu + - cmgWMuNuSel + - cmgWMuNuCount + - wmunuLorentzVector -) diff --git a/CMGTools/Common/scripts/releaseInfo.py b/CMGTools/Common/scripts/releaseInfo.py deleted file mode 100644 index 44bb6c6d2c6e..000000000000 --- a/CMGTools/Common/scripts/releaseInfo.py +++ /dev/null @@ -1,127 +0,0 @@ -#!/bin/env python - -import sys -import subprocess -import operator -import pprint as pp - -widerPrinter = pp.PrettyPrinter(width=120, indent=2) -pprint = widerPrinter.pprint - - - -def showtags(): - '''Get showtags information.''' - showtags = subprocess.Popen( ['showtags'], stdout=subprocess.PIPE).communicate()[0] - packtags = [] - for line in showtags.split('\n'): - if line is '': - continue - words = line.split() - if len(words)!=2: - continue - tag, package = words - packtags.append( (package, tag) ) - return sorted(packtags) - - -def relInfoTags(fileName): - '''Get tags from a relinfo file. - - The return tuple is not very nice... - Will need to be updated anyway when the conversion to the new format is complete''' - relInfo = eval( file(fileName).read() ) - packtags = [] - for package, cvsmod, tag in relInfo: - packtags.append( (package, cvsmod, tag) ) - return sorted(packtags) - - - -def relInfo( fileName, verbose = False): - - sep_line = '-'*70 - - # getting the package, tag list from showtags - localArea = showtags() - if verbose: - print 'local area:' - pprint(localArea) - print sep_line - - # get the release_info (to be updated) - relInfo = relInfoTags( relInfoFileName ) - if verbose: - print 'rel info' - pprint(relInfo) - print sep_line - - # find the tags that are in the local area but not in the release info - localAreaSet = set( [ packtag[0] for packtag in localArea ] ) - relInfoSet = set( [packtag[0] for packtag in relInfo] ) - localOnly = localAreaSet.difference(relInfoSet) - relInfoOnly = relInfoSet.difference(localAreaSet) - if verbose: - print 'elements in local area but not in relinfo:' - pprint(localOnly) - print - print 'elements in relinfo but not in local area:' - pprint(relInfoOnly) - print sep_line - - # build the new release_info. - # we start from the information from the old one, which - # knows about the cvs module to use for each package - new_relInfo = [] - localAreaPacks = [ pack for pack, tag in localArea] - for oldpack, cvsmod, oldtag in relInfo: - #print 'OLD:', oldpack, oldtag - newtag = None - for pack, tag in localArea: - if pack == oldpack: - newtag = tag - break - if newtag is None: - print '# Package', oldpack, 'not in local area -> removed from relinfo' - continue - # print 'NEW', oldpack, newtag - new_relInfo.append( (oldpack, cvsmod, newtag ) ) - - # now adding the tags that are in the local area - # but not in the old release info. - # for these ones, we just use the package name as cvs module. - added = [] - for package, tag in localArea: - if package in localOnly: - new_relInfo.append( (package, package, tag ) ) - added.append( (package, tag) ) - - pprint( sorted(new_relInfo) ) - - if len(added)>0: - print '# The following packages were not in the input release_info.' - print '# Please make sure that the CVS module is correct!' - for package, tag in added: - print '#\t', package.ljust(40), tag - -if __name__ == '__main__': - - from optparse import OptionParser - - parser = OptionParser() - parser.usage = """ - %prog - Prints a version of the release_info updated with the information from the local area. - """ - parser.add_option("-v", "--verbose", dest="verbose", default=False, - help='verbose') - - (options,args) = parser.parse_args() - - if len(args)!=1: - print 'please supply a release_info file.' - sys.exit(1) - - relInfoFileName = args[0] - relInfo( relInfoFileName, options.verbose ) - diff --git a/CMGTools/Common/src/AnalysisHistograms.cc b/CMGTools/Common/src/AnalysisHistograms.cc deleted file mode 100644 index 3073433594ec..000000000000 --- a/CMGTools/Common/src/AnalysisHistograms.cc +++ /dev/null @@ -1,310 +0,0 @@ -// -// Original Author: Artur Kalinowski -// Created: Tue Oct 24 15:08:51 CEST 2006 -// $Id: AnalysisHistograms.cc,v 1.2 2011/04/08 10:16:55 jhegeman Exp $ -// -// -// system include files -#include -#include -#include -#include -#include -#include - -#include "CMGTools/Common/interface/AnalysisHistograms.h" - -// -// constructors and destructor -// -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -AnalysisHistograms::~AnalysisHistograms(){ - - using namespace std; - - finalizeHistograms(); - -} - - -void AnalysisHistograms::addProfile(const std::string& name, - const std::string& title, - int nBinsX, float xlow, float xhigh, - const TFileDirectory* myDir) { - - using namespace std; - - TProfile *hTmp = myDir->make(name.c_str(),title.c_str(), - nBinsX,xlow,xhigh); - if(myProfiles_.find(name)==myProfiles_.end()) myProfiles_[name] = hTmp; - else cout<<"ERROR Substituting existing profile!"<make(name.c_str(),title.c_str(),nBinsX,xlow,xhigh); - hTmp->Sumw2(); - - if(my1Dhistograms_.find(name)==my1Dhistograms_.end()) my1Dhistograms_[name] = hTmp; - else cout<<"ERROR Substituting existing histogram!"<make(name.c_str(),title.c_str(),nBinsX,bins); - hTmp->Sumw2(); - - if(my1Dhistograms_.find(name)==my1Dhistograms_.end()) my1Dhistograms_[name] = hTmp; - else cout<<"ERROR Substituting existing histogram!"<make(name.c_str(),title.c_str(),nBinsX,xlow,xhigh, nBinsY, ylow,yhigh); - hTmp->Sumw2(); - - if(my2Dhistograms_.find(name)==my2Dhistograms_.end()) my2Dhistograms_[name] = hTmp; - else cout<<"ERROR Substituting existing histogram!"<make(name.c_str(),title.c_str(),nBinsX,binsX,nBinsY,binsY); - hTmp->Sumw2(); - - if(my2Dhistograms_.find(name)==my2Dhistograms_.end()) my2Dhistograms_[name] = hTmp; - else cout<<"ERROR Substituting existing histogram!"<make(name.c_str(),title.c_str(),nBinsX,xlow,xhigh,nBinsY,binsY); - hTmp->Sumw2(); - - if(my2Dhistograms_.find(name)==my2Dhistograms_.end()) my2Dhistograms_[name] = hTmp; - else cout<<"ERROR Substituting existing histogram!"<make(name.c_str(),title.c_str(),nBinsX,xlow,xhigh, - nBinsY,ylow,yhigh, nBinsZ,zlow,zhigh); - hTmp->Sumw2(); - - if(my3Dhistograms_.find(name)==my3Dhistograms_.end()) my3Dhistograms_[name] = hTmp; - else cout<<"ERROR Substituting existing histogram!"<make(name.c_str(),title.c_str(),nBinsX,binsX,nBinsY,binsY, - nBinsZ,binsZ); - hTmp->Sumw2(); - - if(my3Dhistograms_.find(name)==my3Dhistograms_.end()) my3Dhistograms_[name] = hTmp; - else cout<<"ERROR Substituting existing histogram!"<Fill(x, val,weight); - else cout<<"ERROR: profile : "<Fill(val,weight); - else cout<<"ERROR: Histogram: "<Fill(val1,val2,weight); - else cout<<"ERROR: Histogram: "<Fill(val1,val2,val3,weight); - else cout<<"ERROR: Histogram: "< aPair){ - aPair.second->Reset(); -} -////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////// -void AnalysisHistograms::init(TFileDirectory *myDir, - const std::string & name){ - - name_ = name; - - if(!histosInitialized_){ - if(name_.size()){ - mySecondaryDirs_.push_back(myDir->mkdir(name_)); - file_ = &mySecondaryDirs_[mySecondaryDirs_.size()-1]; - } - else file_ = myDir; - defineHistograms(); - } -} -////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////// -void AnalysisHistograms::init(const TFileDirectory *myDir){ - - if(!histosInitialized_){ - file_ = const_cast(myDir); - defineHistograms(); - } -} -////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////// -void AnalysisHistograms::finalizeHistograms(){ } -////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////// -void AnalysisHistograms::clear(){ - - for_each(myProfiles_.begin(), myProfiles_.end(), &AnalysisHistograms::resetHistos); - for_each(my1Dhistograms_.begin(), my1Dhistograms_.end(), &AnalysisHistograms::resetHistos); - for_each(my2Dhistograms_.begin(), my2Dhistograms_.end(), &AnalysisHistograms::resetHistos); - for_each(my3Dhistograms_.begin(), my3Dhistograms_.end(), &AnalysisHistograms::resetHistos); - -} -////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////// -void AnalysisHistograms::write(){ - - finalizeHistograms(); - //file->Write(); -} -////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////// -double* AnalysisHistograms::equalRanges(int nSteps, double min, double max, double *ranges){ - - for(int i=0;i<=nSteps;++i){ - double val = min + i*(max-min)/nSteps; - ranges[i] = val; - } - - return ranges; -} -////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////// diff --git a/CMGTools/Common/src/JetComponentHistograms.cc b/CMGTools/Common/src/JetComponentHistograms.cc deleted file mode 100644 index 35d73e233601..000000000000 --- a/CMGTools/Common/src/JetComponentHistograms.cc +++ /dev/null @@ -1,112 +0,0 @@ -#include - -#include "CMGTools/Common/interface/JetComponentHistograms.h" - -using namespace std; - -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -cmg::JetComponentHistograms::JetComponentHistograms(TFileDirectory *myDir, const std::string & name){ - AnalysisHistograms::init(myDir,name); -} - -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -cmg::JetComponentHistograms::~JetComponentHistograms(){ -} -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// -void cmg::JetComponentHistograms::defineHistograms(){ - - using namespace std; - - if(!histosInitialized_){ - - ///Here we define 1D histogram. The histograms are assigned to the TDirectory - /// pointed by the file argument - - - add1DHistogram( "R", ";fraction", 100, 0., 1.1, file_); - add1DHistogram( "E", ";E (GeV)", 100, 0., 100, file_); - //add1DHistogram( "PT", ";p_{T} (GeV/c)", 100, 0., 100, file_); - add1DHistogram( "N", ";number", 21, -0.5, 20.5, file_); - - addProfile( "RvsEta", ";#eta;fraction", 20, -5, 5, file_ ); - addProfile( "RvsPt_barrel", "Barrel;p_{T} (GeV/c);fraction", 50, 0, 200, file_ ); - addProfile( "RvsPt_endcaps", "Endcaps;p_{T} (GeV/c);fraction", 50, 0, 200, file_ ); - addProfile( "RvsPt_HF", "HF;p_{T} (GeV/c);fraction", 50, 0, 200, file_ ); - addProfile( "RvsPhi_barrel", "Barrel;#phi;fraction", 50, -3.2, 3.2, file_ ); - addProfile( "RvsPhi_endcaps", "Endcaps;#phi;fraction", 50, -3.2, 3.2, file_ ); - addProfile( "RvsPhi_HF", "HF;#phi;fraction", 50, -3.2, 3.2, file_ ); - - histosInitialized_ = true; - } -} -///////////////////////////////////////////////////////// -///////////////////////////////////////////////////////// - -void cmg::JetComponentHistograms::fill( const reco::PFCandidate::ParticleType& component, - const pat::Jet& jet) { - - float fraction, energy, number; - switch(component) { - case reco::PFCandidate::h: - fraction = jet.chargedHadronEnergyFraction(); - energy = jet.chargedHadronEnergy(); - number = jet.chargedHadronMultiplicity(); - break; - case reco::PFCandidate::e: - fraction = jet.electronEnergyFraction(); - energy = jet.electronEnergy(); - number = jet.electronMultiplicity(); - break; - case reco::PFCandidate::mu: - fraction = jet.muonEnergyFraction(); - energy = jet.muonEnergy(); - number = jet.muonMultiplicity(); - break; - case reco::PFCandidate::gamma: - fraction = jet.photonEnergyFraction(); - energy = jet.photonEnergy(); - number = jet.photonMultiplicity(); - break; - case reco::PFCandidate::h0: - fraction = jet.neutralHadronEnergyFraction(); - energy = jet.neutralHadronEnergy(); - number = jet.neutralHadronMultiplicity(); - break; - case reco::PFCandidate::h_HF: - fraction = jet.HFHadronEnergyFraction(); - energy = jet.HFHadronEnergy(); - number = jet.HFHadronMultiplicity(); - break; - case reco::PFCandidate::egamma_HF: - fraction = jet.HFEMEnergyFraction(); - energy = jet.HFEMEnergy(); - number = jet.HFEMMultiplicity(); - break; - default: - throw cms::Exception("LogicError", "Filling for a component that is not foreseen\n"); - }; - - fill1DHistogram( "R", fraction ); - fill1DHistogram( "E", energy ); - //fill1DHistogram( "PT", comp.pt()); - fill1DHistogram( "N", number ); - fillProfile( "RvsEta", jet.eta(), fraction ); - - - if( fabs(jet.eta()) < 1.5 ) { - fillProfile( "RvsPt_barrel", jet.pt(), fraction ); - fillProfile( "RvsPhi_barrel", jet.phi(), fraction ); - } - if( fabs(jet.eta()) > 1.5 && fabs(jet.eta())<3 ) { - fillProfile( "RvsPt_endcaps", jet.pt(), fraction ); - fillProfile( "RvsPhi_endcaps", jet.phi(), fraction ); - } - else if( fabs(jet.eta())>3 ) { - fillProfile( "RvsPt_HF", jet.pt(), fraction ); - fillProfile( "RvsPhi_HF", jet.phi(), fraction ); - } - -} diff --git a/CMGTools/Common/src/JetHistograms.cc b/CMGTools/Common/src/JetHistograms.cc deleted file mode 100644 index 42a105b64f8f..000000000000 --- a/CMGTools/Common/src/JetHistograms.cc +++ /dev/null @@ -1,43 +0,0 @@ -#include "CMGTools/Common/interface/JetHistograms.h" - -#include - - - -cmg::JetHistograms::JetHistograms(const edm::ParameterSet& ps) : - cmg::HistogramCreator::HistogramCreator(ps) { - - - cHists_.push_back( JetComponentHistograms(&fs_->tFileDirectory(), "ChargedHadrons") ); - cHists_.push_back( JetComponentHistograms(&fs_->tFileDirectory(), "Electrons") ); - cHists_.push_back( JetComponentHistograms(&fs_->tFileDirectory(), "Muons") ); - cHists_.push_back( JetComponentHistograms(&fs_->tFileDirectory(), "Photons") ); - cHists_.push_back( JetComponentHistograms(&fs_->tFileDirectory(), "NeutralHadrons") ); - cHists_.push_back( JetComponentHistograms(&fs_->tFileDirectory(), "HFHAD") ); - cHists_.push_back( JetComponentHistograms(&fs_->tFileDirectory(), "HFEM") ); -} - - -cmg::JetHistograms::~JetHistograms(){ -} - - -void cmg::JetHistograms::defineHistograms(){ - - using namespace std; - - if(!histosInitialized_){ - - for( CHI chi = cHists_.begin(); chi!=cHists_.end(); ++chi) - chi->defineHistograms(); - - histosInitialized_ = true; - } -} - - -void cmg::JetHistograms::fill( const type& jet, const type& dummy1, const type& dummy2 ) { - for( unsigned i=0; i -#include -#include "TMath.h" -#include -#include -#include "CMGTools/Common/interface/MetUtilities.h" - -using namespace std; - -MetUtilities::MetUtilities(unsigned wpId) { //, bool isData) { - // jet id - /* ===> this code parses an xml it uses parameter set - edm::ParameterSet jetConfig = iConfig.getParameter("JetIdParams"); - for(int i0 = 0; i0 < 3; i0++) { - std::string lCutType = "Tight"; - if(i0 == PileupJetIdentifier::kMedium) lCutType = "Medium"; - if(i0 == PileupJetIdentifier::kLoose) lCutType = "Loose"; - std::vector pt010 = jetConfig.getParameter >(("Pt010_" +lCutType).c_str()); - std::vector pt1020 = jetConfig.getParameter >(("Pt1020_"+lCutType).c_str()); - std::vector pt2030 = jetConfig.getParameter >(("Pt2030_"+lCutType).c_str()); - std::vector pt3050 = jetConfig.getParameter >(("Pt3050_"+lCutType).c_str()); - for(int i1 = 0; i1 < 4; i1++) mvacut_[i0][0][i1] = pt010 [i1]; - for(int i1 = 0; i1 < 4; i1++) mvacut_[i0][1][i1] = pt1020[i1]; - for(int i1 = 0; i1 < 4; i1++) mvacut_[i0][2][i1] = pt2030[i1]; - for(int i1 = 0; i1 < 4; i1++) mvacut_[i0][3][i1] = pt3050[i1]; - } - */ - fJetPtMin = -1.; - - - //Tight Id - obsolete - fMVACut[0][0][0] = 0.5; fMVACut[0][0][1] = 0.6; fMVACut[0][0][2] = 0.6; fMVACut[0][0][3] = 0.9; - fMVACut[0][1][0] = -0.2; fMVACut[0][1][1] = 0.2; fMVACut[0][1][2] = 0.2; fMVACut[0][1][3] = 0.6; - fMVACut[0][2][0] = 0.3; fMVACut[0][2][1] = 0.4; fMVACut[0][2][2] = 0.7; fMVACut[0][2][3] = 0.8; - fMVACut[0][3][0] = 0.5; fMVACut[0][3][1] = 0.4; fMVACut[0][3][2] = 0.8; fMVACut[0][3][3] = 0.9; - - //Medium id - obsolete - fMVACut[1][0][0] = 0.2; fMVACut[1][0][1] = 0.4; fMVACut[1][0][2] = 0.2; fMVACut[1][0][3] = 0.6; - fMVACut[1][1][0] = -0.3; fMVACut[1][1][1] = 0. ; fMVACut[1][1][2] = 0. ; fMVACut[1][1][3] = 0.5; - fMVACut[1][2][0] = 0.2; fMVACut[1][2][1] = 0.2; fMVACut[1][2][2] = 0.5; fMVACut[1][2][3] = 0.7; - fMVACut[1][3][0] = 0.3; fMVACut[1][3][1] = 0.2; fMVACut[1][3][2] = 0.7; fMVACut[1][3][3] = 0.8; - - //Loose Id, 44X (colin, not sure) - fMVACut[2][0][0] = -0.2; fMVACut[2][0][1] = 0. ; fMVACut[2][0][2] = 0.2; fMVACut[2][0][3] = 0.5; - fMVACut[2][1][0] = 0.2; fMVACut[2][1][1] = -0.6; fMVACut[2][1][2] = -0.6; fMVACut[2][1][3] = -0.4; - fMVACut[2][2][0] = 0.2; fMVACut[2][2][1] = -0.6; fMVACut[2][2][2] = -0.6; fMVACut[2][2][3] = -0.4; - fMVACut[2][3][0] = 0.2; fMVACut[2][3][1] = -0.8; fMVACut[2][3][2] = -0.8; fMVACut[2][3][3] = -0.4; - - //Loose Id, 53X (colin, not sure) - fMVACut[3][0][0] = -0.2; fMVACut[3][0][1] = -0.3; fMVACut[3][0][2] = -0.5; fMVACut[3][0][3] = -0.5; - fMVACut[3][1][0] = -0.2; fMVACut[3][1][1] = -0.2; fMVACut[3][1][2] = -0.5; fMVACut[3][1][3] = -0.3; - fMVACut[3][2][0] = -0.2; fMVACut[3][2][1] = -0.2; fMVACut[3][2][2] = -0.2; fMVACut[3][2][3] = 0.1; - fMVACut[3][3][0] = -0.2; fMVACut[3][3][1] = -0.2; fMVACut[3][3][2] = 0.; fMVACut[3][3][3] = 0.2; - - workingPointId_ = wpId; - -} - -MetUtilities::~MetUtilities() {} - -bool MetUtilities::passMVA(std::pair jet) { - int ptId = 0; - if(jet.first.pt() > 10 && jet.first.pt() < 20) ptId = 1; - if(jet.first.pt() > 20 && jet.first.pt() < 30) ptId = 2; - if(jet.first.pt() > 30 ) ptId = 3; - - int etaId = 0; - if(fabs(jet.first.eta()) > 2.5 && fabs(jet.first.eta()) < 2.75) etaId = 1; - if(fabs(jet.first.eta()) > 2.75 && fabs(jet.first.eta()) < 3.0 ) etaId = 2; - if(fabs(jet.first.eta()) > 3.0 && fabs(jet.first.eta()) < 5.0 ) etaId = 3; - if(jet.second > fMVACut[workingPointId_][ptId][etaId]) return true; - return false; -} -MetUtilities::LorentzVector *MetUtilities::leadPt(std::vector &iJets,bool iFirst) { - double lPt0 = 0; double lPt1 = 0; - LorentzVector *lLead=0; - LorentzVector *l2nd =0; - for(int i0 = 0; i0 < int(iJets.size()); i0++) { - if(iJets[i0].p4.pt() > lPt0) {lPt0 = iJets[i0].p4.pt(); lLead = &(iJets[i0].p4); continue;} - if(iJets[i0].p4.pt() > lPt1) {lPt1 = iJets[i0].p4.pt(); l2nd = &(iJets[i0].p4); continue;} - } - if(iFirst) return lLead; - return l2nd; -} -int MetUtilities::NJets(std::vector &iJets,double iPt) { - int lNJet = 0; for(int i0 = 0; i0 < int(iJets.size()); i0++) if(iJets[i0].p4.pt() > iPt) lNJet++; - return lNJet; -} -double MetUtilities::deltaR(LorentzVector &iVec1,LorentzVector &iVec2) { - double lDPhi = fabs(iVec1.phi()-iVec2.phi()); - if(lDPhi > 2.*TMath::Pi()-lDPhi) lDPhi = 2.*TMath::Pi()-lDPhi; - double lDEta = iVec1.eta()-iVec2.eta(); - return sqrt(lDPhi*lDPhi+lDEta*lDEta); -} -void MetUtilities::cleanJets(std::vector &iVis,std::vector &iJets) { - for(int i0 = 0; i0 < int(iJets.size()); i0++) { - bool lRemoveJet = false; - for(int i1 = 0; i1 < int(iVis.size()); i1++) { - if(deltaR(iVis[i1],iJets[i0].p4) < 0.5 || iJets[i0].p4.pt() < fJetPtMin) { - lRemoveJet = true; - } - } - if(lRemoveJet) { iJets.erase (iJets.begin()+i0); i0--;} - } -} -void MetUtilities::cleanMet(std::vector &iVis,std::vector &iJets,std::pair &iMet,bool iMVA,bool iAdd) { - for(int i0 = 0; i0 < int(iJets.size()); i0++) { - bool lRemoveJet = false; - for(int i1 = 0; i1 < int(iVis.size()); i1++) { - if(deltaR(iVis[i1],iJets[i0].p4) < 0.5 || iJets[i0].p4.pt() < fJetPtMin) { - lRemoveJet = true; - std::pair pMVAInfo(iJets[i0].p4,iJets[i0].mva); - if(iMVA && !passMVA(pMVAInfo)) lRemoveJet = false; - if(!iMVA && passMVA(pMVAInfo)) lRemoveJet = false; - } - } - if(lRemoveJet && iAdd) { iMet.first += iJets[i0].p4*iJets[i0].neutFrac; iMet.second -= iJets[i0].p4.pt()*iJets[i0].neutFrac;} //Add Jet back (ie removing it) - if(lRemoveJet && !iAdd) { iMet.first -= iJets[i0].p4*iJets[i0].neutFrac; iMet.second += iJets[i0].p4.pt()*iJets[i0].neutFrac;} //Add Jet back (when subtraced as in PUCMet) - - // if(lRemoveJet && iAdd) { iMet.first += iJets[i0].p4*iJets[i0].neutFrac;} //Add Jet back (ie removing it) - // if(lRemoveJet && !iAdd) { iMet.first -= iJets[i0].p4*iJets[i0].neutFrac;} //Add Jet back (when subtraced as in PUCMet) - } - - if(iMet.second<0.){//protect against negative energy sum - iMet.second=0.; - iMet.first*=0.; - } - -} -std::pair MetUtilities::TKMet(std::vector > &iCands,double iDZ,int iLowDz) { - double lSumEt = 0; - LorentzVector lVec; - int ngood=0; - for(int i0 = 0; i0 < int(iCands.size()); i0++) { - //cout<<" TKMet input "< iDZ && iLowDz == 0) continue; - if(iCands[i0].second < iDZ && iLowDz == 1) continue; - lVec -= iCands[i0].first; - lSumEt += iCands[i0].first.pt(); - - //cout<<" TKMet "< lTKMet(lVec,lSumEt); - return lTKMet; -} -std::pair MetUtilities::JetMet(std::vector &iJets,bool iPassMVA) { - double lSumEt = 0; - LorentzVector lVec; - int lNPass = 0; - for(int i0 = 0; i0 < int(iJets.size()); i0++) { - std::pair pMVAInfo(iJets[i0].p4,iJets[i0].mva); - //bool pPass = passMVA(pMVAInfo); - if( passMVA(pMVAInfo) && !iPassMVA) continue; - if(!passMVA(pMVAInfo) && iPassMVA) continue; -// LorentzVector pFullVec; pFullVec = iJets[i0].p4; //Full 4 vector -// //Now make the Neutral contributions -// TLorentzVector pTVec; pTVec.SetPtEtaPhiM(pFullVec.Pt()*iJets[i0].neutFrac,pFullVec.eta(),pFullVec.phi(),pFullVec.mass()); -// LorentzVector pVec ; pVec .SetCoordinates(pTVec.Px(),pTVec.Py(),pTVec.Pz(),pTVec.E()); -// lVec -= pVec; -// lSumEt += pVec.Pt(); - - //Jose: This code is closer to the PAT recipe - LorentzVector pVec ; pVec .SetCoordinates(iJets[i0].p4.px()*iJets[i0].neutFrac,iJets[i0].p4.py()*iJets[i0].neutFrac,0.,0.); - lVec -= pVec; - lSumEt += iJets[i0].p4.pt()*iJets[i0].neutFrac; - - //cout<<" JetMet "< lJetMet(lVec,lSumEt); - return lJetMet; -} -std::pair MetUtilities::NoPUMet(std::vector > &iCands,std::vector &iJets,double iDZ) { - double lSumEt = 0; - LorentzVector lVec; - std::pair lTKMet = TKMet (iCands,iDZ,0); - std::pair lJetMet = JetMet(iJets ,true); - - lVec += lTKMet.first; lSumEt += lTKMet.second; - lVec += lJetMet.first; lSumEt += lJetMet.second; - //cout<<"MetUtilities::NoPUMet "< lNoPUMet(lVec,lSumEt); - return lNoPUMet; -} -std::pair MetUtilities::PUMet (std::vector > &iCands,std::vector &iJets,double iDZ) { - double lSumEt = 0; - LorentzVector lVec; - std::pair lTKMet = TKMet (iCands,iDZ, 1); - std::pair lJetMet = JetMet(iJets ,false); - - lVec += lTKMet .first; lSumEt += lTKMet .second; - lVec += lJetMet.first; lSumEt += lJetMet.second; - - //cout<<"MetUtilities::PUMet "< lPUMet(lVec,lSumEt); - return lPUMet; -} -std::pair MetUtilities::PUCMet (std::vector > &iCands,std::vector &iJets,double iDZ) { - double lSumEt = 0; - LorentzVector lVec; - std::pair lPFMet = TKMet (iCands,iDZ, 2); - std::pair lTKMet = TKMet (iCands,iDZ, 1); - std::pair lJetMet = JetMet(iJets ,false); - lVec += lPFMet .first; lSumEt += lPFMet .second; - lVec -= lTKMet .first; lSumEt -= lTKMet .second; - lVec -= lJetMet.first; lSumEt -= lJetMet.second; - std::pair lPUCMet(lVec,lSumEt); - return lPUCMet; -} -std::pair MetUtilities::PFRecoil(double iSumEt,LorentzVector iVis,std::vector > &iCands,double iDZ) { - std::pair lPFMet = TKMet(iCands,iDZ,2); - LorentzVector lVec; lVec += lPFMet.first; lVec += iVis; - double lSumEt = lPFMet.second-iSumEt; - std::pair lPFRecoil(lVec,lSumEt); - return lPFRecoil; -} -std::pair MetUtilities::TKRecoil(double iSumEt,LorentzVector iVis,std::vector > &iCands,double iDZ) { - std::pair lTKMet = TKMet(iCands,iDZ,0); - LorentzVector lVec; lVec += lTKMet.first; lVec += iVis; - double lSumEt = lTKMet.second-iSumEt; - std::pair lTKRecoil(lVec,lSumEt); - return lTKRecoil; -} -std::pair MetUtilities::NoPURecoil(double iSumEt,LorentzVector iVis, - std::vector > &iCands,std::vector &iJets, - double iDZ) { - std::pair lNPMet = NoPUMet(iCands,iJets,iDZ); - LorentzVector lVec; lVec += lNPMet.first; lVec += iVis; - double lSumEt = lNPMet.second-iSumEt; - std::pair lNPRecoil(lVec,lSumEt); - return lNPRecoil; -} -std::pair MetUtilities::PUCRecoil(double iSumEt,LorentzVector iVis, - std::vector > &iCands,std::vector &iJets, - double iDZ) { - std::pair lPUCMet = PUCMet(iCands,iJets,iDZ); - LorentzVector lVec; lVec += lPUCMet.first; lVec += iVis; - double lSumEt = lPUCMet.second-iSumEt; - std::pair lPUCRecoil(lVec,lSumEt); - return lPUCRecoil; -} -std::pair MetUtilities::Recoil(double iSumEt,double iPtVis,double iPhiVis, - std::pair &iMet) { - LorentzVector lVec; lVec += iMet.first; - TLorentzVector lTVis; lTVis.SetPtEtaPhiM(iPtVis,0.,iPhiVis,0); - LorentzVector lVis; lVis.SetCoordinates(lTVis.Px(),lTVis.Py(),lTVis.Pz(),lTVis.E()); - lVec += lVis; - double lSumEt = iMet.second-iSumEt; - std::pair lRecoil(lVec,lSumEt); - return lRecoil; -} diff --git a/CMGTools/Common/src/RunInfoAccounting.cc b/CMGTools/Common/src/RunInfoAccounting.cc deleted file mode 100644 index 75c8960fb026..000000000000 --- a/CMGTools/Common/src/RunInfoAccounting.cc +++ /dev/null @@ -1,99 +0,0 @@ -#include "CMGTools/Common/interface/RunInfoAccounting.h" - -#include "DataFormats/Histograms/interface/MEtoEDMFormat.h" -#include "SimDataFormats/GeneratorProducts/interface/GenRunInfoProduct.h" - -cmg::RunInfoAccounting::RunInfoAccounting(TFileDirectory& myDir, - const std::string& name): - initialGenEvents_(-1.0), - finalGenEvents_(0), - initialEvents_(-1.0), - finalEvents_(0), - preselectionWeight_(0), - genCrossSection_(0), - genFilterEfficiency_(0), - eventWeight_(0), - tree_(0){ - - tree_ = myDir.make(name.c_str(),"A tree of the run info"); - tree_->Branch("initialGenEvents",&initialGenEvents_,"initialGenEvents/D"); - tree_->Branch("finalGenEvents",&finalGenEvents_,"finalGenEvents/D"); - tree_->Branch("initialEvents",&initialEvents_,"initialEvents/D"); - tree_->Branch("finalEvents",&finalEvents_,"finalEvents/D"); - tree_->Branch("preselectionWeight",&preselectionWeight_,"preselectionWeight/D"); - tree_->Branch("eventWeight",&eventWeight_,"eventWeight/D"); - tree_->Branch("genCrossSection",&genCrossSection_,"genCrossSection/D"); - tree_->Branch("genFilterEfficiency",&genFilterEfficiency_,"genFilterEfficiency/D"); -} - -void cmg::RunInfoAccounting::processRunInfo(const edm::Run& aRun, - unsigned int nTotal, - unsigned int nPassed, - unsigned int nGenTotal, - unsigned int nGenPassed - ){ - - // //start by finding the pre-selection efficiency - // typedef MEtoEDM MEtoEDMD; - - -// edm::Handle hist; -// if(!aRun.getByLabel(edm::InputTag("MEtoEDMConverter","MEtoEDMConverterRun"),hist)){ -// std::cout<<"RunInfoAccounting: No MEtoEDM object found. No problem if you're reading data :)" << std::endl; -// return; -// } -// else{ -// std::cout<<"RunInfoAccounting: book keeping weighting information"<getMEtoEdmObject(); -// for(MEtoEDMD::MEtoEdmObjectVector::const_iterator it = objects.begin(); it != objects.end(); ++it ){ -// if(it->name == "initialEvents"){ -// initialEvents_ = it->object; -// } -// if(it->object < finalEvents_){ -// finalEvents_ = it->object; -// } -// } -// preselectionWeight_ = finalEvents_/initialEvents_; - - - -// initialEvents_ = nTotal; - initialEvents_ = nTotal; - finalEvents_ = nPassed; - initialGenEvents_ = nGenTotal; - finalGenEvents_ = nGenPassed; - - preselectionWeight_ = finalEvents_/initialEvents_; - - std::cout<<"RunInfoAccounting: storing cross-section information"<0) - genFilterEfficiency_ = finalGenEvents_/initialGenEvents_; - else - genFilterEfficiency_ = 0; - - edm::Handle gen; - if(aRun.getByLabel(edm::InputTag("generator"),gen)){ - genCrossSection_ = gen->crossSection(); - // genFilterEfficiency_ = gen->filterEfficiency(); - - eventWeight_ = (genCrossSection_*genFilterEfficiency_)/initialEvents_; - }else{ - std::cout<<"no generator!, cannot get cross-section information"<Fill(); -} diff --git a/CMGTools/Common/src/SpecificIsolation.cc b/CMGTools/Common/src/SpecificIsolation.cc deleted file mode 100644 index d896a5bd2a6a..000000000000 --- a/CMGTools/Common/src/SpecificIsolation.cc +++ /dev/null @@ -1,74 +0,0 @@ -#include "CMGTools/Common/interface/SpecificIsolation.h" - - -void SpecificIsolation::setVetoesParam( const edm::ParameterSet& pset ){ - - std::vector theVetoes - = pset.getParameter< std::vector< edm::ParameterSet > >("vetoes"); - - for( unsigned i=0; i < theVetoes.size(); ++i) { - - const edm::ParameterSet& ps = theVetoes[i]; - std::vector param; - - std::string type = ps.getParameter("type"); - - // ThresholdVeto: lower bound on the pT of deposits - if( type == "ThresholdVeto" ){ - double threshold = ps.getParameter("threshold"); - param.push_back( threshold ); - vetoesParam_.insert( make_pair(type, param ) ); - } - // RectangularEtaPhiVeto: veto a rectangle in the eta-phi plane around the lepton - if( type == "RectangularEtaPhiVeto" ){ - double dEta = ps.getParameter("dEta"); - double dPhi = ps.getParameter("dPhi"); - param.push_back( dEta ); - param.push_back( dPhi ); - vetoesParam_.insert( make_pair(type, param ) ); - } - // ConeVeto: veto a cone in the eta-phi plane around the lepton - if( type == "ConeVeto" ){ - double deltaR = ps.getParameter("deltaR"); - param.push_back( deltaR ); - vetoesParam_.insert( make_pair(type, param ) ); - } - // add more vetoes here - } - } - - -void SpecificIsolation::createAbsVetoes(){ - - typedef std::map< std::string, std::vector >::const_iterator IT; - - for(IT it = vetoesParam_.begin(); it != vetoesParam_.end() ; ++it ){ - if(it->first == "ThresholdVeto"){ - AbsVetos_.push_back( new reco::isodeposit::ThresholdVeto( (it->second)[0] ) ); - } - if(it->first == "RectangularEtaPhiVeto"){ - AbsVetos_.push_back( new reco::isodeposit::RectangularEtaPhiVeto(reco::isodeposit::Direction() , - (it->second)[0], (it->second)[0] , -(it->second)[1],(it->second)[1] )); - } - if(it->first == "ConeVeto"){ - AbsVetos_.push_back( new reco::isodeposit::ConeVeto( reco::isodeposit::Direction(), (it->second)[0] ) ); - } - } - -} - - - -std::ostream& operator<<(std::ostream& out, const SpecificIsolation& isoDepParam){ - - typedef std::map< std::string, std::vector >::const_iterator IT; - - if(!out) return out; - out<<"isolation cone= "<first == "ThresholdVeto") out<first<<" with EtMin= "<<(it->second)[0]; - if(it->first == "ConeVeto") out<first<<" with deltaR= "<<(it->second)[0]; - if(it->first == "RectangularEtaPhiVeto") out<first<<" with dEta="<<(it->second)[0]<<", dPhi= "<<(it->second)[1]; - out<<", "; - } - return out; - } diff --git a/CMGTools/Common/src/TriBool.cc b/CMGTools/Common/src/TriBool.cc deleted file mode 100644 index 1ae7a48888b0..000000000000 --- a/CMGTools/Common/src/TriBool.cc +++ /dev/null @@ -1,9 +0,0 @@ -#include "CMGTools/Common/interface/TriBool.h" - -bool cmg::toBool(const cmg::TriBool& b){ - return b == tbTrue; -} - -cmg::TriBool cmg::toTriBool(const bool& b){ - return b ? tbTrue : tbFalse; -} \ No newline at end of file diff --git a/CMGTools/Common/src/TriggerResultHistograms.cc b/CMGTools/Common/src/TriggerResultHistograms.cc deleted file mode 100644 index e570b81b6e28..000000000000 --- a/CMGTools/Common/src/TriggerResultHistograms.cc +++ /dev/null @@ -1,125 +0,0 @@ -#include "CMGTools/Common/interface/TriggerResultHistograms.h" -#include "FWCore/Common/interface/TriggerNames.h" -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -#include "TAxis.h" -#include "TH1.h" -#include "TH2.h" - -#include - -cmg::TriggerResultHistograms::TriggerResultHistograms(const edm::ParameterSet& ps): - cmg::HistogramCreator::HistogramCreator(ps), - names_(ps.getUntrackedParameter >("names",std::vector())){ -} - -void cmg::TriggerResultHistograms::fill(const edm::Event& iEvent, const edm::EventSetup& iSetup){ - - edm::Handle trigger; - iEvent.getByLabel(labelX_,trigger); - const edm::TriggerNames& triggerNames = iEvent.triggerNames(*trigger); - - edm::TriggerNames::Strings const& s = triggerNames.triggerNames(); - defineHistograms(s);//call the histogram creation as we need the names - - //i.e. you can change the pointer but not the object - std::vectorconst * filteredPaths = 0; - if(names_.size()){ - filteredPaths = &names_; - }else{ - filteredPaths = &s; - } - - TH2* corr = get2DHistogram("triggerCorrelation"); - TH1* passed = get1DHistogram("passedTriggers"); - TH1* failed = get1DHistogram("failedTriggers"); - TH1* run = get1DHistogram("runTriggers"); - - Int_t binX = 1; - Int_t binY = 1; - - for(std::vector::const_iterator it = filteredPaths->begin(); it != filteredPaths->end(); ++it){ - const unsigned int i = triggerNames.triggerIndex(*it); - if(i >= triggerNames.size()) continue; - binY = 1; - for(std::vector::const_iterator jt = filteredPaths->begin(); jt != filteredPaths->end(); ++jt){ - const unsigned int j = triggerNames.triggerIndex(*jt); - if(j >= triggerNames.size()) continue; - //require that both triggers were run - if( (trigger->wasrun(i) && trigger->accept(i)) && (trigger->wasrun(j) && trigger->accept(j)) ){ - const Double_t binContent = corr->GetBinContent(binX,binY); - corr->SetBinContent(binX,binY,binContent+1.0); - } - binY++; - } - if(trigger->wasrun(i)){ - if(trigger->accept(i)){ - const Double_t binContent = passed->GetBinContent(binX); - passed->SetBinContent(binX,binContent+1); - }else{ - const Double_t binContent = failed->GetBinContent(binX); - failed->SetBinContent(binX,binContent+1); - } - const Double_t binContent = run->GetBinContent(binX); - run->SetBinContent(binX,binContent+1); - } - binX++; - } -} - -void cmg::TriggerResultHistograms::defineHistograms(const std::vector& trigPaths){ - - if(cmg::HistogramCreator::histosInitialized_) - return; - - //i.e. you can change the pointer but not the object - std::vectorconst * filteredPaths = 0; - if(names_.size()){ - filteredPaths = &names_; - }else{ - filteredPaths = &trigPaths; - } - const unsigned int nPaths = filteredPaths->size(); - - //passed and failed triggers - add1DHistogram( - "passedTriggers","passedTriggers", - nPaths,0,nPaths, - &cmg::HistogramCreator::fs_->tFileDirectory()); - add1DHistogram( - "failedTriggers","failedTriggers", - nPaths,0,nPaths, - &cmg::HistogramCreator::fs_->tFileDirectory()); - add1DHistogram( - "runTriggers","runTriggers", - nPaths,0,nPaths, - &cmg::HistogramCreator::fs_->tFileDirectory()); - - //correlation plot - add2DHistogram( - "triggerCorrelation","triggerCorrelation", - nPaths,0,nPaths, - nPaths,0,nPaths, - &cmg::HistogramCreator::fs_->tFileDirectory()); - - TAxis* x = get2DHistogram("triggerCorrelation")->GetXaxis(); - TAxis* y = get2DHistogram("triggerCorrelation")->GetYaxis(); - - TAxis* xPassed = get1DHistogram("passedTriggers")->GetXaxis(); - TAxis* xFailed = get1DHistogram("failedTriggers")->GetXaxis(); - TAxis* xRun = get1DHistogram("runTriggers")->GetXaxis(); - - for(unsigned int i = 0; i < nPaths; i++){ - const std::string name = filteredPaths->at(i); - - x->SetBinLabel(static_cast(i+1),name.c_str()); - y->SetBinLabel(static_cast(i+1),name.c_str()); - - xPassed->SetBinLabel(static_cast(i+1),name.c_str()); - xFailed->SetBinLabel(static_cast(i+1),name.c_str()); - xRun->SetBinLabel(static_cast(i+1),name.c_str()); - } - - cmg::HistogramCreator::histosInitialized_ = true; - -} diff --git a/CMGTools/Common/src/UnSet.cc b/CMGTools/Common/src/UnSet.cc deleted file mode 100644 index c3fcdc3e32aa..000000000000 --- a/CMGTools/Common/src/UnSet.cc +++ /dev/null @@ -1,26 +0,0 @@ -#include "CMGTools/Common/interface/UnSet.h" - -cmg::TriBool cmg::unset(const cmg::TriBool&){ - return cmg::unsetTB; -} -double cmg::unset(const double&){ - return cmg::unsetD; -} -float cmg::unset(const float&){ - return cmg::unsetF; -} -unsigned int cmg::unset(const unsigned int&){ - return cmg::unsetUI; -} -int cmg::unset(const int&){ - return cmg::unsetI; -} -unsigned long cmg::unset(const unsigned long&){ - return cmg::unsetUL; -} -long cmg::unset(const long&){ - return cmg::unsetL; -} -char const* const cmg::unset(const char*){ - return cmg::unsetS; -} \ No newline at end of file diff --git a/CMGTools/Common/test/Juerg/leafcandidates_cfg.py b/CMGTools/Common/test/Juerg/leafcandidates_cfg.py deleted file mode 100644 index 44ee97fe641f..000000000000 --- a/CMGTools/Common/test/Juerg/leafcandidates_cfg.py +++ /dev/null @@ -1,62 +0,0 @@ -# from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools leaf candidates test" -print sep_line - -process = cms.Process("ANA") - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(2000) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - - -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - 'cmgtools_group', - '/DoubleMu/Run2012A-13Jul2012-v1/AOD/V5_B', - '.*root' - ) - -# reading the first 10 files: -nFiles = 5 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - -process.pfLeafCandidates = cms.EDProducer( - "CandReducer", - src = cms.InputTag("particleFlow") - ) - -process.p = cms.Path( - process.pfLeafCandidates -) - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('leafCandidates.root'), - # save only events passing the full path - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - # save PAT Layer 1 output; you need a '*' to - # unpack the list of commands 'patEventContent' - outputCommands = cms.untracked.vstring( ['keep *_particleFlow_*_*', - 'keep *_*_*_ANA'] ) - - - ) - -process.outpath = cms.EndPath(process.out) - -## MessageLogger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) diff --git a/CMGTools/Common/test/collectionCounting_cfg.py b/CMGTools/Common/test/collectionCounting_cfg.py deleted file mode 100644 index 78300e9aa69a..000000000000 --- a/CMGTools/Common/test/collectionCounting_cfg.py +++ /dev/null @@ -1,39 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms - -process.setName_('COUNT') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - - -process.load("CMGTools.Common.sources.DoubleMu.Run2011A_ZMu_PromptSkim_v6.RAW_RECO.PAT_CMG_V2_3_0.source_cff") - - -# reading the first 10 files: -nFiles = 10 -# print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -# process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - -# output module for EDM event (ntuple) -process.out.fileName = cms.untracked.string('tree_CMG.root') -from CMGTools.Common.eventContent.everything_cff import everything -process.out.outputCommands = cms.untracked.vstring( 'keep *') - -process.load('CMGTools.Common.miscProducers.misc_cff') -process.p = cms.Path( process.miscSequence ) - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) diff --git a/CMGTools/Common/test/macros/TreeHolder.py b/CMGTools/Common/test/macros/TreeHolder.py deleted file mode 100644 index 6c32b7eaaefa..000000000000 --- a/CMGTools/Common/test/macros/TreeHolder.py +++ /dev/null @@ -1,49 +0,0 @@ -import ROOT as rt - -class TreeHolder(object): - - def __init__(self, tree, cut = None): - self.tree = tree - - if cut is None: - cut = '1' - self.cut = cut - - self.plots = [] - - self.index = 0 - - import string - self.allowed = ['_'] - self.allowed.extend(string.letters) - self.allowed.extend(string.digits) - - def getName(self, var, cut, postfix = ''): - name = '%s_%s_%i_%s' % (var,cut,self.index, postfix) - self.index += 1 - result = '' - for n in name: - if n in self.allowed: - result += n - return result - - - def plot(self, var, cut): - - n = self.getName(var, cut) - self.tree.Draw('%s>>%s' % (var,n),'%s && %s' % (self.cut,cut),'goff') - h = rt.gDirectory.Get('%s' % n) - - if h is not None: - h.SetName(n) - h.GetXaxis().SetTitle(var) - self.plots.append(h) - - def write(self, dirName): - rt.gDirectory.mkdir(dirName) - rt.gDirectory.cd(dirName) - for p in self.plots: - p.Write() - rt.gDirectory.cd('..') - - diff --git a/CMGTools/Common/test/macros/cmgBasicInit.py b/CMGTools/Common/test/macros/cmgBasicInit.py deleted file mode 100644 index 96c1db1cac78..000000000000 --- a/CMGTools/Common/test/macros/cmgBasicInit.py +++ /dev/null @@ -1,82 +0,0 @@ -import os, sys - -filename = os.environ.get('PYTHONSTARTUP') -if filename and os.path.isfile(filename): - exec(open(filename).read()) - - -from ROOT import gROOT, TFile, TCanvas, gPad, TBrowser, TH2F -from CMGTools.RootTools.RootTools import * - -gROOT.Macro( os.path.expanduser( '~/rootlogon.C' ) ) - -#file = TFile( sys.argv[1] ) -#events = file.Get('Events') - -process = 'ANA' - -def init(pattern, process='ANA'): - - events = Chain('Events', pattern) - - events.SetAlias('pfJets','cmgPFJets_cmgPFJetSel__'+process) - events.SetAlias('pfJetsLooseFailed','cmgPFJets_cmgPFJetLooseJetIdFailed__'+process) - events.SetAlias('pfJetsVeryLoose99Failed','cmgPFJets_cmgPFJetVeryLooseJetId99Failed__'+process) - events.SetAlias('pfJetsVeryLoose95Failed','cmgPFJets_cmgPFJetVeryLooseJetId95Failed__'+process) - events.SetAlias('jets','cmgBaseJets_cmgPFBaseJetSel__'+process) - events.SetAlias('met','cmgBaseMETs_cmgPFMET__'+process) - events.SetAlias('ele','cmgElectrons_cmgElectronSel__'+process) - events.SetAlias('mu','cmgMuons_cmgMuonSel__'+process) - - events.SetAlias('hbheNoiseFilter','bool_HBHENoiseFilterResultProducer_HBHENoiseFilterResult_PAT.obj') - events.SetAlias('inconsMuons', 'bool_inconsistentMuonsTagging_Result_PAT.obj') - events.SetAlias('greedyMuons', 'bool_greedyMuonsTagging_Result_PAT.obj') - - events.SetAlias('run','EventAuxiliary.id().run()') - events.SetAlias('lumi','EventAuxiliary.id().luminosityBlock()') - - return events - -filters = 'hbheNoiseFilter && greedyMuons && inconsMuons' -NOTfilters = '!(%s)' % filters - -jetId = 'pfJets.obj.component(5).fraction()<0.99 && pfJets.obj.component(4).fraction()<0.99' -NOTjetId = '!(%s)' % jetId - -jetIdTight = 'pfJets.obj.component(5).fraction()<0.95 && pfJets.obj.component(4).fraction()<0.95' -NOTjetIdTight = '!(%s)' % jetIdTight - - - - -fullCleaning = filters + ' && ' + jetId - -leptonVeto = 'mu.@obj.size()==0 && ele.@obj.size()==0' -leptonVeto2 = '(mu.@obj.size()==0 || mu.obj.relIso()<0.1) && (ele.@obj.size()==0 || ele.obj.relIso()<0.1)' - - -def setEventList( cut=None ): - print 'now browsing the full tree... might take a while, but drawing will then be faster!' - events.Draw('>>pyplus', cut) - from ROOT import gDirectory - pyplus = gDirectory.Get('pyplus') - pyplus.SetReapplyCut(True) - events.SetEventList(pyplus) - - -def scan( cut=None ): - out = events.Scan('EventAuxiliary.id().run():EventAuxiliary.id().luminosityBlock():EventAuxiliary.id().event():met.obj.pt()', cut, 'colsize=14') - - -def lumiReport( cuts=None, hist=None, opt=''): - - if hist==None: - events.Draw('lumi:run','',opt) - else: - events.Draw('lumi:run>>'+hist.GetName(), '',opt) - gPad.SaveAs('lumiReport.png') - - -# can create other trees with other set of files -tree1 = init(sys.argv[1]) -events = tree1 diff --git a/CMGTools/Common/test/macros/cmgBasicPlots.py b/CMGTools/Common/test/macros/cmgBasicPlots.py deleted file mode 100644 index 6148b394bf27..000000000000 --- a/CMGTools/Common/test/macros/cmgBasicPlots.py +++ /dev/null @@ -1,73 +0,0 @@ -# just copy/paste the lines you want to your python prompt -# after having executed cmgBasicInit.py - -from ROOT import gDirectory, TLegend,gPad, TCanvas -nEvents = 999999999999 - -plotFilters = False -met = 'mht' - -# MET plot, effect of jetID and cleaning filters - -addCut = ' && ht.obj.sumEt()>350' -# addCut = ' && met.obj.et()<500' -# addCut = '' - -events.Draw(met + '.obj.et()', '1' + addCut, '', nEvents) - -h1 = events.GetHistogram() - -if met == 'met': - h1.SetTitle(';MET (GeV)') -elif met == 'mht': - h1.SetTitle(';MHT (GeV)') -else: - pass - -h2 = h1.Clone('h2') -h2.Reset() -h3 = h1.Clone('h3') -h3.Reset() - -events.Project('h2', met + '.obj.et()',NOTjetIdTight + addCut, '', nEvents) - -if plotFilters: - events.Project('h3', met + '.obj.et()',NOTfilters + addCut, '', nEvents) - -h1.SetLineWidth(2) -h2.SetFillStyle(3002) -h2.SetFillColor(5) -h3.SetFillStyle(3002) -h3.SetFillColor(4) - -gPad.SetLogy() - -legend = TLegend(0.5,0.5,0.85,0.8) -legend.AddEntry(h1,'PFMET>150') -legend.AddEntry(h2,'rejected by Jet ID') - -h1.Draw() -h2.Draw('same') - -if plotFilters: - legend.AddEntry(h3,'rejected by cleaning filters') - h3.Draw('same') - -legend.Draw() - - -# jet plots - -events.Draw('jets.obj.pt()','jets.obj.pt()<200') - - -# jet component plots - -jetCompCan = TCanvas('jetCompCan','jet components', 800, 1000) -jetCompCan.Divide(1,2) -jetCompCan.cd(1) -events.Draw('pfjets.obj.component(4).fraction()') -events.GetHistogram().SetTitle(';photon fraction') -jetCompCan.cd(2) -events.Draw('pfjets.obj.component(5).fraction()') -events.GetHistogram().SetTitle(';neutral hadron fraction') diff --git a/CMGTools/Common/test/macros/init.C b/CMGTools/Common/test/macros/init.C deleted file mode 100644 index be9eb413fead..000000000000 --- a/CMGTools/Common/test/macros/init.C +++ /dev/null @@ -1,17 +0,0 @@ -{ - - gSystem->Load("libFWCoreFWLite.so"); - gSystem->Load("libPFAnalysesRootTools.so"); - gSystem->Load("libAnalysisDataFormatsCMGTools.so"); - - AutoLibraryLoader::enable(); - gSystem->Load("libCintex.so"); - ROOT::Cintex::Cintex::Enable(); - - - gROOT->LoadMacro("macros/rootlogon.C"); - -} - - - diff --git a/CMGTools/Common/test/macros/jetComponents.py b/CMGTools/Common/test/macros/jetComponents.py deleted file mode 100644 index f7485556b2e7..000000000000 --- a/CMGTools/Common/test/macros/jetComponents.py +++ /dev/null @@ -1,20 +0,0 @@ -import os, sys -from ROOT import gROOT, TFile, TProfile - -gROOT.Macro( os.path.expanduser( '~/rootlogon.C' ) ) - -if len(sys.argv)!=2: - print 'usage: python jetHistograms.py ' - sys.exit(1) - -file = TFile( sys.argv[1] ) - -from CMGTools.RootTools.RootDir import * - -rootDir = RootDir( file, sBlueSquares ) -pfJetH = rootDir.subDirs_['pfJetHistograms'] - -print pfJetH.subDirs_ - - -pfJetH.subDirs_['ChargedHadrons'].DrawAll() diff --git a/CMGTools/Common/test/macros/jetHistograms.py b/CMGTools/Common/test/macros/jetHistograms.py deleted file mode 100644 index 415cf1d37a7b..000000000000 --- a/CMGTools/Common/test/macros/jetHistograms.py +++ /dev/null @@ -1,20 +0,0 @@ -import os, sys -from ROOT import gROOT, TFile - -gROOT.Macro( os.path.expanduser( '~/rootlogon.C' ) ) - -if len(sys.argv)!=2: - print 'usage: python jetHistograms.py ' - sys.exit(1) - -file = TFile( sys.argv[1] ) - -from CMGTools.RootTools.RootDir import * - -rootDir = RootDir( file, sBlueSquares ) - -# pfJetH = rootDir.subDirs_['pfJetHistograms'] - -pfJetLV = rootDir.subDirs_['pfJetLorentzVector'] -pfJetLV.DrawAll() - diff --git a/CMGTools/Common/test/macros/jetTree.py b/CMGTools/Common/test/macros/jetTree.py deleted file mode 100644 index 6d8b94617f55..000000000000 --- a/CMGTools/Common/test/macros/jetTree.py +++ /dev/null @@ -1,43 +0,0 @@ -import os, sys -from ROOT import * - -class jetHistos: - def __init__(self, name): - self.eta_ = TH1F('eta'+name,'',100, -5, 5) - self.pt_ = TH1F('pt'+name,'',100, 0, 1000) - self.canvas_ = TCanvas(name,name,1000,1000 ) - self.canvas_.Divide(2,2) - self.canvas_.cd(1).SetLogy() - -def showBin( hist, bin): - hist.ProjectionY('',bin,bin,'').Fit('gaus') - -from CMGTools.RootTools.RootTools import * - -gROOT.Macro( os.path.expanduser( '~/rootlogon.C' ) ) - - -def setAliases(): - print 'setting aliases' - jets = 'cmgBaseJets_cmgPFJetSel__ANA' - events.SetAlias('jet', jets) - -rootfile = sys.argv[1] - -events = Chain('Events', rootfile) -setAliases() - - -def plotJets(jetHs): - jetHs.canvas_.cd(1) - events.Draw('jet.obj.pt()>>' + jetHs.pt_.GetName() ) - jetHs.canvas_.cd(2) - events.Draw('jet.obj.eta()>>' + jetHs.eta_.GetName() ) - - -if __name__ == '__main__': - - pass - - # plotCor() - diff --git a/CMGTools/Common/test/macros/jetVsGenJet.py b/CMGTools/Common/test/macros/jetVsGenJet.py deleted file mode 100644 index 5c44ea059359..000000000000 --- a/CMGTools/Common/test/macros/jetVsGenJet.py +++ /dev/null @@ -1,210 +0,0 @@ -import os, sys -from ROOT import * - -class jetHistos: - def __init__(self, name): - self.respEta_ = TProfile('respEta'+name,'',20, -5, 5) - self.respPt_ = TH2F('respPt'+name,'',100, 0, 1000) - - - -def showBin( hist, bin): - hist.ProjectionY('',bin,bin,'').Fit('gaus') - -from CMGTools.RootTools.RootTools import * - -gROOT.Macro( os.path.expanduser( '~/rootlogon.C' ) ) - -# file = TFile( sys.argv[1] ) - - - -#COLIN CMG tuple does not work in that case. -# alias setting is too naive -# from CMGTools.RootTools.cmgTuple import * - -# cmg = cmgTuple( events ) -# cmg.printAliases() -# PFcanvas = TCanvas('PFcanvas','PF Jets', 1000,800) -# PFcanvas.Divide(3,2) - -# PFcanvas.cd(1) - -# raw = True -#genJetPtCut = 20 -#dRCut = False -#allJets = False - -# all jets: -#patJets = 'patJets_selectedPatJetsPFlow__PAT' -#if not allJets: -# patJets = 'patJets_patJetLead__ANA' - -#events.SetAlias('jet', patJets) - -#deltaPhi = '%s.obj.phi()-%s.obj.genJet().phi()' % (patJets, patJets) -#events.SetAlias('dPhi',deltaPhi ) -#deltaEta = '%s.obj.eta()-%s.obj.genJet().eta()' % (patJets, patJets) -#events.SetAlias('dEta',deltaEta ) -#deltaR = 'sqrt( dPhi*dPhi + dEta*dEta)' -#events.SetAlias('dR',deltaR ) - -#genJet = '%s.obj.genJet()' % patJets -#events.SetAlias('genJet',genJet ) - - - - -def setAliases(): - patJets = 'patJets_selectedPatJetsAK5__PAT' - if not allJets: - patJets = 'patJets_patJetLead__ANA' - - events.SetAlias('jet', patJets) - - deltaPhi = '%s.obj.phi()-%s.obj.genJet().phi()' % (patJets, patJets) - events.SetAlias('dPhi',deltaPhi ) - deltaEta = '%s.obj.eta()-%s.obj.genJet().eta()' % (patJets, patJets) - events.SetAlias('dEta',deltaEta ) - deltaR = 'sqrt( dPhi*dPhi + dEta*dEta)' - events.SetAlias('dR',deltaR ) - - genJet = '%s.obj.genJet()' % patJets - events.SetAlias('genJet',genJet ) - - -def buildPrefix(): - basename = rootfile.split('/')[0] - pref = os.path.splitext( basename)[0] - pref += '_pt' + str(genJetPtCut) - if raw: - pref += '_raw' - if dRCut: - pref += '_dR' - if allJets: - pref += '_all' - return pref - -from response import response - -def plotPtResponse( response ): - - prefix = buildPrefix() - setAliases() - - print 'plotPtResponse : ', prefix, '...' - - canvas = response.canvas - canvas.cd(1) - response.h2d = TH2F('responsePt_' + response.name,';p_{T}(gen) (GeV);p_{T}(rec)/p_{T}(gen)',20, 0, 600, 50, 0,2) - # events.Draw('jet.obj[0].pt()/jet.obj[0].genJet().pt():jet.obj[0].genJet().pt()>>'+ response.h2d.GetName(),'jet.obj[0].genJet().pt()>0 && abs(jet.obj[0].genJet().eta())<1.5',"col") - - var = 'jet.obj.pt()/jet.obj.genJet().pt():jet.obj.genJet().pt()>>' + response.h2d.GetName() - if raw: - var = 'jet.obj.pt()*jet.obj.jecFactor(0)/jet.obj.genJet().pt():jet.obj.genJet().pt()>>' + response.h2d.GetName() - cut = 'jet.obj.genJet().pt()>%s && abs(jet.obj.genJet().eta())<1.5' % genJetPtCut - if dRCut: - cut += '&& dR<0.2' - - print var - print cut - - events.Draw(var,cut,"col") - - response.FitSlicesY() - response.Draw() - - canvas.SaveAs(prefix + '_' + response.name + '.png') - - -def plotEtaResponse( response ): - - prefix = buildPrefix() - setAliases() - - print 'plotEtaResponse : ', prefix, '...' - - canvas = response.canvas - canvas.cd(1) - response.h2d = TH2F('responseEta_'+response.name,';#eta(gen);p_{T}(rec)/p_{T}(gen)',50, -5, 5, 50, 0,2) - - var = 'jet.obj.pt()/jet.obj.genJet().pt():jet.obj.genJet().eta()>>'+ response.h2d.GetName() - if raw: - var = 'jet.obj.pt()*jet.obj.jecFactor(0)/jet.obj.genJet().pt():jet.obj.genJet().eta()>>'+ response.h2d.GetName() - - cut = 'jet.obj.genJet().pt()>%s' % genJetPtCut - if dRCut: - cut += '&& dR<0.2' - - # events.Draw('jet.obj[0].pt()/jet.obj[0].genJet().pt():jet.obj[0].genJet().eta()>>'+ response.h2d.GetName(),'jet.obj[0].genJet().pt()>0 && jet.obj[0].pt()>30',"col") - events.Draw(var, cut ,"col") - - response.FitSlicesY() - response.Draw() - - canvas.SaveAs( prefix + '_' + response.name + '.png') - - -def plotCor(): - global ptcor - global etacor - global raw - - raw = False - - ptcor = response('ptcor') - plotPtResponse( ptcor ) - - etacor = response('etacor') - plotEtaResponse( etacor ) - -def plotRaw(): - global pt - global eta - global raw - - raw = True - - pt = response('pt') - plotPtResponse( pt ) - - eta = response('eta') - plotEtaResponse( eta ) - -def plotAll(): - plotCor() - plotRaw() - -def plotDREffect(): - global dRon - global dRoff - - global dRCut - - dRCut = False - - dRoff = response( 'dRoff' ) - plotPtResponse( dRoff ) - - dRCut = True - - dRon = response( 'dRon' ) - plotPtResponse( dRon ) - - -raw = True -genJetPtCut = 20 -dRCut = False -allJets = True - -rootfile = sys.argv[1] - -events = Chain('Events', rootfile) -setAliases() - -if __name__ == '__main__': - - # pass - - plotCor() - diff --git a/CMGTools/Common/test/macros/plotJets.C b/CMGTools/Common/test/macros/plotJets.C deleted file mode 100644 index 72ed0ecbd455..000000000000 --- a/CMGTools/Common/test/macros/plotJets.C +++ /dev/null @@ -1,32 +0,0 @@ -{ - - gSystem->Load("libFWCoreFWLite.so"); - gSystem->Load("libPFAnalysesRootTools.so"); - gSystem->Load("libAnalysisDataFormatsCMGTools.so"); - - AutoLibraryLoader::enable(); - gSystem->Load("libCintex.so"); - ROOT::Cintex::Cintex::Enable(); - - - Chain chain("Events", "testCMGTools.root"); -// chain.Draw("cmgBaseJet_cmgjet__PAT.obj.pt()"); - - gROOT->LoadMacro("macros/rootlogon.C"); - initCMG("ANA", &chain); - - chain.Draw("cmgPFJet.obj.pt()"); - chain.Draw("cmgPFJet.obj.pt()","cmgPFJet.obj.getSelection(\"cuts_jetKinematics_pt\")","same"); - - TCanvas c2; - chain.Draw("cmgPFJet.obj.component(1).fraction()"); - - // to test the connection to the pat object through the edm::Ptr: - // TCanvas c3; - // chain.SetAlias("source", "cmgPFJet.obj.sourcePtr().get()"); - // chain.Draw("cmgPFJet.obj.pt() - source.pt()"); - -} - - - diff --git a/CMGTools/Common/test/macros/plotMET.C b/CMGTools/Common/test/macros/plotMET.C deleted file mode 100644 index a0e24b0ca9bb..000000000000 --- a/CMGTools/Common/test/macros/plotMET.C +++ /dev/null @@ -1,28 +0,0 @@ -{ - - gSystem->Load("libFWCoreFWLite.so"); - gSystem->Load("libPFAnalysesRootTools.so"); - gSystem->Load("libAnalysisDataFormatsCMGTools.so"); - - AutoLibraryLoader::enable(); - gSystem->Load("libCintex.so"); - ROOT::Cintex::Cintex::Enable(); - - - Chain chain("Events", "testCMGTools.root"); -// chain.Draw("cmgBaseJets_cmgjet__PAT.obj.pt()"); - - gROOT->LoadMacro("macros/rootlogon.C"); - initCMG("ANA"); - - chain.Draw("cmgMHTPFJets.obj.pt():cmgMHTCaloJets.obj.pt()","","col"); - - // to test the connection to the pat object through the edm::Ptr: - // TCanvas c3; - // chain.SetAlias("source", "cmgPFJets.obj.sourcePtr().get()"); - // chain.Draw("cmgPFJets.obj.pt() - source.pt()"); - -} - - - diff --git a/CMGTools/Common/test/macros/plotRIA.C b/CMGTools/Common/test/macros/plotRIA.C deleted file mode 100644 index d8dd9aba61f1..000000000000 --- a/CMGTools/Common/test/macros/plotRIA.C +++ /dev/null @@ -1,21 +0,0 @@ -{ - - gSystem->Load("libFWCoreFWLite.so"); - gSystem->Load("libPFAnalysesRootTools.so"); - gSystem->Load("libAnalysisDataFormatsCMGTools.so"); - - AutoLibraryLoader::enable(); - gSystem->Load("libCintex.so"); - ROOT::Cintex::Cintex::Enable(); - - - Chain chain("runInfoAccounting/RunInfoAccounting", "histograms.root"); - - chain.Print(); - chain.GetEntries(); - chain.Draw("finalEvents/initialEvents"); - -} - - - diff --git a/CMGTools/Common/test/macros/rootlogon.C b/CMGTools/Common/test/macros/rootlogon.C deleted file mode 100644 index 19dbac185161..000000000000 --- a/CMGTools/Common/test/macros/rootlogon.C +++ /dev/null @@ -1,99 +0,0 @@ - -void rootlogon() { - gROOT->SetStyle("Plain"); - gStyle->SetPalette(1); - gSystem->Load("libPhysics"); - gSystem->Load("libEG"); - gStyle->SetHistMinimumZero(kTRUE); -} - -void loadFWLite() { - gSystem->Load("libFWCoreFWLite.so"); - AutoLibraryLoader::enable(); - gSystem->Load("libCintex.so"); - ROOT::Cintex::Cintex::Enable(); -} - -void initAOD(const char* process, TTree* tree) { - - string verticesAod = "recoVertexs_offlinePrimaryVerticesWithBS__"; - verticesAod += process; - - string pfCandidatesAod = "recoPFCandidates_particleFlow__"; - pfCandidatesAod += process; - - string ic5GenJetsAod = "recoGenJets_iterativeCone5GenJets__"; - ic5GenJetsAod += process; - - string pfJetsAod = "recoPFJets_iterativeCone5PFJets__"; - pfJetsAod += process; - - tree->SetAlias("verticesAod", verticesAod.c_str()); - tree->SetAlias("pfCandidatesAod", pfCandidatesAod.c_str()); - tree->SetAlias("ic5GenJetsAod", ic5GenJetsAod.c_str()); - tree->SetAlias("pfJetsAod", pfJetsAod.c_str()); - -} - -void initPF2PAT(const char* process, TTree* tree) { - - - string met = "recoMETs_pfMET__"; met += process; - string pu = "recoPileUpPFCandidates_pfPileUp__"; pu+= process; - string jetsin = "recoPFJets_pfJets__"; jetsin += process; - string jetsout = "recoPFJets_pfNoTau__"; jetsout += process; - string taus = "recoPFTaus_allLayer0Taus__"; taus += process; - string muons = "recoPFCandidates_pfIsolatedMuons__"; muons += process; - string electrons = "recoPFCandidates_pfIsolatedElectrons__"; electrons += process; - string pfcandout = "recoPFCandidates_pfNoJet__"; pfcandout += process; - string noPileUp = "recoPFCandidates_pfNoPileUp__"; noPileUp += process; - - - string genMetTrue = "recoGenMETs_genMetTrue__"; - genMetTrue += process; - string decaysFromZs = "recoGenParticles_decaysFromZs__"; - decaysFromZs += process; - - tree->SetAlias("met", met.c_str() ); - tree->SetAlias("pileUp", pu.c_str() ); - tree->SetAlias("jetsAll", jetsin.c_str() ); - tree->SetAlias("jets", jetsout.c_str() ); - tree->SetAlias("taus", taus.c_str()); - tree->SetAlias("muons", muons.c_str()); - tree->SetAlias("electrons", electrons.c_str()); - tree->SetAlias("pfCandOut", pfcandout.c_str()); - tree->SetAlias("noPileUp", noPileUp.c_str()); - - tree->SetAlias("genmet", genMetTrue.c_str()); - tree->SetAlias("decaysFromZs", decaysFromZs.c_str()); -} - - -void initCMG(const char* process, TTree* tree) { - string pfJets = "cmgPFJets_cmgPFJet__"; pfJets += process; - string pfBaseJets = "cmgBaseJets_cmgPFBaseJet__"; pfBaseJets += process; - string mhtPFJets = "cmgBaseMETs_cmgMHTPFJets__"; mhtPFJets += process; - string mhtPFJets30 = "cmgBaseMETs_cmgMHTPFJets30__"; mhtPFJets30 += "MHT"; - string mhtPFJets50 = "cmgBaseMETs_cmgMHTPFJets50__"; mhtPFJets50 += "MHT"; - string metPF = "cmgBaseMETs_cmgMETPFCandidates__"; metPF += process; - string metPF2 = "cmgBaseMETs_cmgMETPFCandidates2__"; metPF2 += "MHT"; - - string caloBaseJets = "cmgBaseJets_cmgCaloBaseJet__"; caloBaseJets += process; - string mhtCaloJets = "cmgBaseMETs_cmgMHTCaloJets__"; mhtCaloJets += process; - string mhtCaloJets30 = "cmgBaseMETs_cmgMHTCaloJets30__"; mhtCaloJets30 += "MHT"; - string mhtCaloJets50 = "cmgBaseMETs_cmgMHTCaloJets50__"; mhtCaloJets50 += "MHT"; - - tree->SetAlias("cmgPFJets", pfJets.c_str() ); - tree->SetAlias("cmgPFBaseJets", pfBaseJets.c_str() ); - tree->SetAlias("cmgPFMHT", mhtPFJets.c_str() ); - tree->SetAlias("cmgPFMHT30", mhtPFJets30.c_str() ); - tree->SetAlias("cmgPFMHT50", mhtPFJets50.c_str() ); - tree->SetAlias("cmgPFMET", metPF.c_str() ); - tree->SetAlias("cmgPFMET2", metPF2.c_str() ); - - tree->SetAlias("cmgCaloBaseJets", caloBaseJets.c_str() ); - tree->SetAlias("cmgCaloMHT", mhtCaloJets.c_str() ); - tree->SetAlias("cmgCaloMHT30", mhtCaloJets30.c_str() ); - tree->SetAlias("cmgCaloMHT50", mhtCaloJets50.c_str() ); -} - diff --git a/CMGTools/Common/test/macros/testPlot.py b/CMGTools/Common/test/macros/testPlot.py deleted file mode 100644 index c309453549da..000000000000 --- a/CMGTools/Common/test/macros/testPlot.py +++ /dev/null @@ -1,36 +0,0 @@ -import ROOT as rt -import os -from TreeHolder import TreeHolder - -if __name__ == '__main__': - - rt.gROOT.Macro('init.C') - - from optparse import OptionParser - - parser = OptionParser() - parser.add_option("-b", "--batch", dest="batch",action="store_true", default=True,help='Used to suppress plot printing in root') - parser.add_option("-o", "--output", dest="output", default='output.root',help='Output root file') - (options, files) = parser.parse_args() - - for f in files: - if not os.path.exists(f): - continue - - input = None - try: - input = rt.TFile.Open(f) - th = TreeHolder(input.Get('Events')) - - th.plot("cmgDiMuons_cmgdimuon__PAT.obj.pt()","TMath::Abs(cmgDiMuons_cmgdimuon__PAT.obj.leg1().eta()) < 2.1") - - #TODO: Currently causes a segfault in ROOT - same issue as Colin as seen with strbitsets? - #th.plot("cmgDiMuons_cmgdimuon__PAT.obj.pt()",'cmgDiMuons_cmgdimuon__PAT.obj.getSelection("VBTF_muon")') - - output = rt.TFile.Open(options.output,'RECREATE') - th.write('Events') - output.Close() - - finally: - if input is not None: - input.Close() diff --git a/CMGTools/Common/test/pi0s_cfg.py b/CMGTools/Common/test/pi0s_cfg.py deleted file mode 100644 index 837cb944dec6..000000000000 --- a/CMGTools/Common/test/pi0s_cfg.py +++ /dev/null @@ -1,91 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools pi0 reconstruction" -print sep_line - -process.setName_('ANA') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - 'cbern', - '/QCD_Pt-30to50_TuneZ2_7TeV_pythia6/Summer11-PU_S3_START42_V11-v2/AODSIM/V2', - 'PFAOD.*root' - ) - - -# reading the first 10 files: -nFiles = 10 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -# process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - -# output module for EDM event (ntuple) -process.out.fileName = cms.untracked.string('tree_pi0s.root') -from CMGTools.Common.eventContent.everything_cff import everything -process.out.outputCommands = everything -process.out.outputCommands.extend( ['keep *_particleFlow__*', - 'keep *_diPhotonSel_*_*'] ) - -process.out.dropMetaData = cms.untracked.string('PRIOR') - -# select photons - -process.pfPhotonSel = cms.EDFilter( - "GenericPFCandidateSelector", - src = cms.InputTag("particleFlow"), - cut = cms.string("energy()>2 && particleId()==4 && abs( eta() )<1.4") -) - -# make cmg PFCandidates: - -from CMGTools.Common.factories.cmgPFCandidate_cfi import * -process.photonSel = cmgPFCandidate.clone() -process.photonSel.cfg.inputCollection = 'pfPhotonSel' - -# make di-photons - -from CMGTools.Common.factories.cmgDiPFCandidate_cfi import * - -process.diPhoton = cmgDiPFCandidate.clone() -process.diPhoton.cfg.leg1Collection = 'photonSel' -process.diPhoton.cfg.leg2Collection = 'photonSel' -process.diPhoton.cfg.metCollection = '' - -from CMGTools.Common.skims.cmgDiPFCandidateSel_cfi import * -process.diPhotonSel = cmgDiPFCandidateSel.clone( - src = 'diPhoton', - cut = 'mass()<1' - ) - -process.p = cms.Path( - # select PF photons - process.pfPhotonSel - # make cmg PFCandidates - + process.photonSel - # make di photons - + process.diPhoton - # select di photons - + process.diPhotonSel - -) - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.MessageLogger.cerr.FwkReport.reportEvery = 10 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) diff --git a/CMGTools/Common/test/selectVEventRange_cfg.py b/CMGTools/Common/test/selectVEventRange_cfg.py deleted file mode 100644 index fb05745500a2..000000000000 --- a/CMGTools/Common/test/selectVEventRange_cfg.py +++ /dev/null @@ -1,65 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("COPY") - -pickRelVal = False - -import datetime,os -d = datetime.datetime.today() -tag = os.getenv('USER') + '_' + d.strftime('%d%h%y-%Hh%Mm%Ss') - -process.source = cms.Source( - "PoolSource", - - noEventSort = cms.untracked.bool(True), - duplicateCheckMode = cms.untracked.string("noDuplicateCheck"), - fileNames = cms.untracked.vstring() -) -process.source.fileNames.extend([ - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_7.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_6.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_5.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_12.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_0.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_1.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_10.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_2.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_11.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_3.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_13.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_8.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_4.root', - 'file:2011/HT/Run2011A-HighMET-PromptSkim-v4/RAW-RECO/PAT_CMG_NewJEC/RA2/susy_tree_CMG_9.root', -]) - -process.load("CMGTools.Common.sources.HT.Run2011A_HighMET_PromptSkim_v4.RAW_RECO.source_cff") - -process.source.eventsToProcess = cms.untracked.VEventRange("166699:354:380002939", "166763:540:604376409", "166894:127:120113417", "165567:449:562584685", "166782:525:565817524") - -print process.source - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False)) - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - - -process.load("Configuration.EventContent.EventContent_cff") -process.out = cms.OutputModule( - "PoolOutputModule", -# process.AODSIMEventContent, - outputCommands = cms.untracked.vstring( 'keep *'), - fileName = cms.untracked.string('selectVEventRange_'+tag+'_out.root'), - ) - -process.endpath = cms.EndPath( - process.out - ) - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 1 - -outFile = open('selectVEventRange_' + tag + '_source.py','w') -outFile.write('import FWCore.ParameterSet.Config as cms\n') -outFile.write(process.source.dumpPython() ) -outFile.close() diff --git a/CMGTools/Common/test/skim_cfg.py b/CMGTools/Common/test/skim_cfg.py deleted file mode 100644 index 2f70d6aef3ca..000000000000 --- a/CMGTools/Common/test/skim_cfg.py +++ /dev/null @@ -1,48 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms - -process.setName_('SKIM') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - - -process.load("CMGTools.Common.sources.SingleMu.Run2011A_May10ReReco_v1.AOD.V2.PAT_CMG_V2_3_0.CollectionCounting.source_cff") - - -# reading the first 10 files: -nFiles = 10 -# print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -# process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - -# output module for EDM event (ntuple) -process.out.fileName = cms.untracked.string('tree_CMG.root') -from CMGTools.Common.eventContent.everything_cff import everything -process.out.outputCommands = cms.untracked.vstring( 'keep *') - - -process.load('CMGTools.Common.analysis_cff') -process.cmgMuonSel.src = 'cmgMuonSel' -process.cmgMuonSel.cut = 'pt()>20' -process.cmgMuonCount.minNumber = 1 - -process.p = cms.Path( - process.cmgMuonSel + - process.cmgMuonCount - ) - - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) diff --git a/CMGTools/Common/test/testApplyJSON_cfg.py b/CMGTools/Common/test/testApplyJSON_cfg.py deleted file mode 100644 index e7543966fd64..000000000000 --- a/CMGTools/Common/test/testApplyJSON_cfg.py +++ /dev/null @@ -1,46 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools JSON test" -print "For a speedy analysis, better to apply that at the very end on your final sample!" -print sep_line - -process = cms.Process("JSON") - - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.load("CMGTools.Common.sources.HT.Run2011A_HighMET_PromptSkim_v4.RAW_RECO.PAT_CMG_NewJEC.source_cff") - -print process.source - -from CMGTools.Common.Tools.applyJSON_cff import * - -# always check that your JSON is compatible with your source... - -json = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions11/7TeV/Prompt/Cert_160404-166861_7TeV_PromptReco_Collisions11_JSON.txt' - - -applyJSON(process, json ) - -process.out = cms.OutputModule( - "PoolOutputModule", - outputCommands = cms.untracked.vstring( 'keep *'), - fileName = cms.untracked.string('testApplyJSON.root'), - ) - -process.endpath = cms.EndPath( - process.out - ) - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) diff --git a/CMGTools/Common/test/testCMGCandidateProducer_cfg.py b/CMGTools/Common/test/testCMGCandidateProducer_cfg.py deleted file mode 100644 index c00d1405871e..000000000000 --- a/CMGTools/Common/test/testCMGCandidateProducer_cfg.py +++ /dev/null @@ -1,70 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools slim CMGCandidates test" -print sep_line - -process = cms.Process("ANA") - -process.maxEvents = cms.untracked.PSet( -input = cms.untracked.int32(2000) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - - -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - 'cmgtools_group', - #'/DoubleMu/Run2012A-13Jul2012-v1/AOD/V5_B', - #'/MuHad/Run2012A-13Jul2012-v1/AOD/V5_B', - '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B', - ) - -nFiles = 1 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - - -process.load("CMGTools.Common.cmgCandidates_cfi") - -from CommonTools.ParticleFlow.goodOfflinePrimaryVertices_cfi import * -process.goodOfflinePrimaryVertices=goodOfflinePrimaryVertices.clone() - -from RecoJets.JetProducers.ak5PFJets_cfi import * -process.ak5PFJets = ak5PFJets.clone() -process.ak5PFJets.src = 'particleFlow' -process.ak5PFJets.doAreaFastjet = True -process.ak5PFJets.doRhoFastjet = False -process.ak5PFJets2 = process.ak5PFJets.clone() -process.ak5PFJets2.src = 'cmgCandidates' - -process.p = cms.Path( - process.cmgCandidates + - process.goodOfflinePrimaryVertices + - process.ak5PFJets + - process.ak5PFJets2 -) - -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('Candidates.root'), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - outputCommands = cms.untracked.vstring( ['keep recoPFCandidates_particleFlow_*_*', - 'keep *_*_*_ANA'] ) - - - ) - -process.outpath = cms.EndPath(process.out) - -## MessageLogger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) diff --git a/CMGTools/Common/test/testCMGPatElectronProducer_cfg.py b/CMGTools/Common/test/testCMGPatElectronProducer_cfg.py deleted file mode 100644 index a8ff5cfb4fcf..000000000000 --- a/CMGTools/Common/test/testCMGPatElectronProducer_cfg.py +++ /dev/null @@ -1,63 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.Tools.getGlobalTag import getGlobalTag - -sep_line = "-" * 50 -print -print sep_line -print "CMGPATElectronProducer test" -print sep_line - - - -process.setName_('ANA') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(2000) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - - -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - 'cmgtools', - '/VBF_HToTauTau_M-120_7TeV-powheg-pythia6-tauola/Summer11-PU_S4_START42_V11-v1/AODSIM/V2/PAT_CMG_V2_4_0', - # '/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Summer11-PU_S4_START42_V11-v1/AODSIM/V2/PAT_CMG_V2_4_0', - # '/TauPlusX/Run2011A-May10ReReco-v1/AOD/V2/PAT_CMG_V2_4_0', - 'patTuple_PF2PAT.*root' - ) - -# reading the first 10 files: -nFiles = 10 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - -process.out.fileName = cms.untracked.string('patTuple_testCMGPatElectronProducer.root') -process.out.outputCommands = cms.untracked.vstring( 'drop *', - 'keep patElectrons_*_*_*', - ) -process.out.dropMetaData = cms.untracked.string('PRIOR') - - -process.load('CMGTools.Common.miscProducers.cmgPatElectronProducer_cfi') - -process.p = cms.Path( - process.cmgPatElectronProducer - ) - - -# process.GlobalTag.globaltag = cms.string(getGlobalTag(runOnMC)) - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - diff --git a/CMGTools/Common/test/testCMGTools_cfg.py b/CMGTools/Common/test/testCMGTools_cfg.py deleted file mode 100644 index 37832ef139c9..000000000000 --- a/CMGTools/Common/test/testCMGTools_cfg.py +++ /dev/null @@ -1,106 +0,0 @@ - -import FWCore.ParameterSet.Config as cms - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools main test" -print sep_line - -process = cms.Process('ANA') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(2000) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - - -runOnMC = False - - - -from CMGTools.Production.datasetToSource import * -# process.source = datasetToSource( -# 'cmgtools_group', -# '/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V3/TestMVAs', -# 'patTuple_PF2PAT.*root' -# ) -process.source = cms.Source( - "PoolSource", - fileNames = cms.untracked.vstring( 'file:../prod/patTuple_data.root' ) - ) - -# reading the first 10 files: -nFiles = 10 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -process.source.fileNames = process.source.fileNames[:nFiles] - - -print process.source.fileNames - -# output module for EDM event (ntuple) -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('tree_testCMGTools.root'), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - outputCommands = cms.untracked.vstring( 'drop *') - ) -from CMGTools.Common.eventContent.everything_cff import everything -process.out.outputCommands.extend( everything ) -process.out.outputCommands.append( 'drop cmg*_*_*_PAT' ) -process.out.outputCommands.append( 'keep cmgMETSignificance_*_*_PAT' ) -process.out.outputCommands.append( 'keep cmgBaseMETs_cmgPFMETType1Corrected*_*_PAT' ) - -process.out.dropMetaData = cms.untracked.string('PRIOR') - -#output file for histograms etc -process.TFileService = cms.Service("TFileService", - fileName = cms.string("histograms_testCMGTools.root")) - -# default analysis sequence -process.load('CMGTools.Common.analysis_cff') - -# adding no PU Sub sequence -from CMGTools.Common.Tools.visitorUtils import replacePostfix -from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet -cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK5NoPUSubCMG') -replacePostfix(getattr(process,"analysisSequenceAK5NoPUSubCMG"),'AK5','AK5NoPUSub') - -# but we need only the jets and taus: -from CMGTools.Common.Tools.tuneCMGSequences import * -tuneCMGSequences(process, postpostfix='CMG') - -# adding the standard leptons: -from CMGTools.Common.PAT.addStdLeptons import addCmgMuons, addCmgElectrons -process.cmgStdLeptonSequence = cms.Sequence( - addCmgMuons( process, 'StdLep', 'selectedPatMuons' ) + - addCmgElectrons( process, 'StdLep', 'selectedPatElectrons' ) - ) -process.cmgObjectSequence += process.cmgStdLeptonSequence - - -process.p = cms.Path( - process.analysisSequence + - process.analysisSequenceAK5NoPUSubCMG - ) - -process.outpath = cms.EndPath(process.out) - - -from Configuration.AlCa.autoCond import autoCond -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -from CMGTools.Common.Tools.getGlobalTag import getGlobalTag -process.GlobalTag.globaltag = cms.string(getGlobalTag(runOnMC)) - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - diff --git a/CMGTools/Common/test/testEventCleaning_cfg.py b/CMGTools/Common/test/testEventCleaning_cfg.py deleted file mode 100644 index 7d594b2cca20..000000000000 --- a/CMGTools/Common/test/testEventCleaning_cfg.py +++ /dev/null @@ -1,63 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.Tools.getGlobalTag import getGlobalTag - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools event cleaning test" -print sep_line - -process.setName_('ANA') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -# process.source.fileNames = cms.untracked.vstring( -# # 'file:patTuple_HT.root' -# 'file:/afs/cern.ch/user/c/cbern/scratch0/patTuple_PF2PAT.root' -# ) - -#process.load("CMGTools.Common.sources.HT.Run2011A_May10ReReco_v1.AOD.source_maxime_cff") - -# a ttbar relval -# process.source.fileNames = ['/store/relval/CMSSW_4_2_3/RelValTTbar/GEN-SIM-RECO/START42_V12-v2/0063/6431F1F0-7F7B-E011-A8B7-003048678D9A.root'] -# Loukas's skims -# process.source.fileNames = ['file:/afs/cern.ch/user/g/gouskos/scratch0/DATA/HT-May10ReReco-550toInf.root'] -process.source.fileNames = ['file:/afs/cern.ch/user/g/gouskos/scratch0/DATA/HT-May10ReReco-450to550.root'] - -# reading the first 10 files: -nFiles = 10 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - -# output module for EDM event (ntuple) -process.out.fileName = cms.untracked.string('tree_testCMGTools.root') -from CMGTools.Common.eventContent.everything_cff import everything -process.out.outputCommands = cms.untracked.vstring( 'drop *') -process.out.outputCommands.extend( everything ) -process.out.dropMetaData = cms.untracked.string('PRIOR') - -process.load('CMGTools.Common.eventCleaning.eventCleaning_cff') - -process.p = cms.Path( - process.eventCleaningSequence -) - -runOnMC = False -process.GlobalTag.globaltag = cms.string(getGlobalTag(runOnMC)) - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) diff --git a/CMGTools/Common/test/testGen_cfg.py b/CMGTools/Common/test/testGen_cfg.py deleted file mode 100644 index 27ba1a143592..000000000000 --- a/CMGTools/Common/test/testGen_cfg.py +++ /dev/null @@ -1,43 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * - - - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(10) ) - - -process.load('CMGTools.Common.gen_cff') - -process.drawTree = cms.EDAnalyzer("ParticleTreeDrawer", - src = cms.InputTag("genParticlesStatus3"), - printP4 = cms.untracked.bool(False), - printPtEtaPhi = cms.untracked.bool(False), - printVertex = cms.untracked.bool(False), - printStatus = cms.untracked.bool(False), - printIndex = cms.untracked.bool(True), - # status = cms.untracked.vint32( 3 ) - ) - -process.printDecay = cms.EDAnalyzer( - "ParticleDecayDrawer", - src = cms.InputTag("genParticlesStatus3"), - printP4 = cms.untracked.bool(False), - printPtEtaPhi = cms.untracked.bool(False), - printVertex = cms.untracked.bool(False) - ) - -#COLIN: both ParticleTreeDrawer and ParticleDecayDrawer produce a strange printout... -# I guess these modules are bugged. - -process.p = cms.Path( - process.genSequence - + process.listParticles - # + process.drawTree - # + process.printDecay - ) - -from CMGTools.Common.eventContent.gen_cff import gen -process.out.outputCommands = cms.untracked.vstring( 'drop *') -process.out.outputCommands.extend( gen ) -process.out.fileName = cms.untracked.string('tree_testGen.root') - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False)) diff --git a/CMGTools/Common/test/testJetEnergyCorrector_cfg.py b/CMGTools/Common/test/testJetEnergyCorrector_cfg.py deleted file mode 100644 index 3588bb10f31e..000000000000 --- a/CMGTools/Common/test/testJetEnergyCorrector_cfg.py +++ /dev/null @@ -1,86 +0,0 @@ -# from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools JetEnergyCorrector test" -print sep_line - -process = cms.Process("ANA") - -runOnMC = False -runOld5XGT = False - -process.load("Configuration.StandardSequences.GeometryDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("Configuration.StandardSequences.MagneticField_38T_cff") - -# process.load('Configuration.StandardSequences.Services_cff') -# process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') -#process.GlobalTag.globaltag = 'GR_R_42_V23::All' # for data -# process.GlobalTag.globaltag = 'START42_V17::All' # for MC - -from CMGTools.Common.Tools.getGlobalTag import getGlobalTag - -process.GlobalTag.globaltag = getGlobalTag( runOnMC, runOld5XGT ) -print 'Global tag : ', process.GlobalTag.globaltag - - - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(1000) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - - -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - 'cmgtools', - # '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0', - # '/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_10_0', - '/DoubleMu/Run2012A-13Jul2012-v1/AOD/V5_B/PAT_CMG_V5_10_0', - 'cmgTuple.*root' - ) - -# reading the first 10 files: -nFiles = 5 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - -from CMGTools.Common.miscProducers.cmgPFJetCorrector_cfi import cmgPFJetCorrector -process.cmgPFJetSel = cmgPFJetCorrector.clone() - -process.cmgPFJetSel.verbose = False -process.cmgPFJetSel.levels = ['L1FastJet','L2Relative','L3Absolute'] -if not runOnMC: - process.cmgPFJetSel.levels = ['L1FastJet','L2Relative','L3Absolute','L2L3Residual'] - -print 'Correction levels', process.cmgPFJetSel.levels - -process.p = cms.Path( - process.cmgPFJetSel -) - -from CMGTools.Common.eventContent.everything_cff import everything -process.out = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('cmgTuple.root'), - # save only events passing the full path - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - # save PAT Layer 1 output; you need a '*' to - # unpack the list of commands 'patEventContent' - outputCommands = everything - ) -process.out.outputCommands.append( 'keep cmgPFJets_cmgPFJetSel_*_*' ) -process.outpath = cms.EndPath(process.out) - -## MessageLogger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) diff --git a/CMGTools/Common/test/testMiscProducers_cfg.py b/CMGTools/Common/test/testMiscProducers_cfg.py deleted file mode 100644 index a1c9489a265d..000000000000 --- a/CMGTools/Common/test/testMiscProducers_cfg.py +++ /dev/null @@ -1,16 +0,0 @@ -'''Run this cfg, and check the branch *_deltaPhiJetMET_*_*''' - -import os, string - -os.environ['PYTHONPATH'] = os.environ['CMSSW_BASE'] + 'src/CMGTools/Common/test' + ':'+os.environ['PYTHONPATH'] - -from testCMGTools_cfg import * - -process.load('CMGTools.Common.miscProducers.misc_cff') -process.p += process.miscSequence - -process.TFileService.fileName = 'histograms_testMisc.root' -process.out.fileName = 'tree_testMisc.root' - - - diff --git a/CMGTools/Common/test/testMultipleSequences_cfg.py b/CMGTools/Common/test/testMultipleSequences_cfg.py deleted file mode 100644 index 543d60d71055..000000000000 --- a/CMGTools/Common/test/testMultipleSequences_cfg.py +++ /dev/null @@ -1,96 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms -from CMGTools.Common.Tools.getGlobalTag import getGlobalTag - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools : testing multiple analysis sequences" -print sep_line - -process.setName_('ANA') - -runOnMC = False - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(10000) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -#process.source.fileNames = cms.untracked.vstring( -# # 'file:patTuple_PF2PAT.root' -# 'file:/afs/cern.ch/user/c/cbern/scratch0/patTuple_PF2PAT.root' -# ) - -process.load("CMGTools.Common.sources.HT.Run2011A_May10ReReco_v1.AOD.PAT_CMG_MAX.source_PAT_cff") - -# reading the first 10 files: -nFiles = 10 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - - -# output module for EDM event (ntuple) -process.out.fileName = cms.untracked.string('tree_testMultipleSequences.root') -from CMGTools.Common.eventContent.everything_cff import everything -process.out.outputCommands = cms.untracked.vstring( 'drop *') -process.out.outputCommands.extend( everything ) -process.out.dropMetaData = cms.untracked.string('PRIOR') - -#output file for histograms etc -process.TFileService = cms.Service("TFileService", - fileName = cms.string("histograms_testMultipleSequences.root")) - - -# default analysis sequence -process.load('CMGTools.Common.analysis_cff') - -# removing the taus, as PFCandidate embedding does not work, hence an exception in the cmg Tau factory - not needed anymore -# from CMGTools.Common.Tools.tuneCMGSequences import removeObject -# removeObject( process, 'tau', '') - -if runOnMC: - process.load("CMGTools.Common.runInfoAccounting_cfi") - process.outpath += process.runInfoAccounting - -from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet -from CMGTools.Common.Tools.visitorUtils import replacePostfix - -print 'preparing sequence AK5LCCMG' - -cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK5LCCMG') -replacePostfix(getattr(process,"analysisSequenceAK5LCCMG"),'AK5','AK5LC') - -print 'preparing sequence AK7CMG' - -cloneProcessingSnippet(process, getattr(process, 'analysisSequence'), 'AK7CMG') -replacePostfix(getattr(process,"analysisSequenceAK7CMG"),'AK5','AK7') - -from CMGTools.Common.Tools.tuneCMGSequences import * -tuneCMGSequences(process, postpostfix='CMG') - -print 'running' - -process.p = cms.Path( - process.analysisSequence - + process.analysisSequenceAK5LCCMG - + process.analysisSequenceAK7CMG -) - -process.GlobalTag.globaltag = cms.string(getGlobalTag(runOnMC)) - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.MessageLogger.cerr.FwkReport.reportEvery = 10 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) - - - diff --git a/CMGTools/Common/test/testPhoton_cfg.py b/CMGTools/Common/test/testPhoton_cfg.py deleted file mode 100644 index 96c4e8772d71..000000000000 --- a/CMGTools/Common/test/testPhoton_cfg.py +++ /dev/null @@ -1,64 +0,0 @@ -###################################################################### -## File: testPhoton_cfg.py -###################################################################### - -from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms - -# Unit test for the photon analysis sequence. - -sep_line = "-" * 50 -print -print sep_line -print "Photon building test" -print sep_line - -process.setName_('ANA') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(1) - ) -process.source.fileNames = ['/store/cmst3/user/cmgtools/CMG/RelValPhotonJets_Pt_10/CMSSW_4_2_3-START42_V12-v2/GEN-SIM-RECO/patTuple_PF2PAT_0.root'] - -extension = 'photon' - -# Output module for EDM event (ntuple). -process.out.fileName = cms.untracked.string('tree_test_%s.root' % extension) -from CMGTools.Common.eventContent.everything_cff import everything -process.out.outputCommands = cms.untracked.vstring('drop *') -process.out.outputCommands.extend(everything) - -# Output file for histograms etc. -process.TFileService = cms.Service("TFileService", - fileName = cms.string("histograms_test_%s.root" % extension)) - -# Default analysis sequence. -process.load('CMGTools.Common.analysis_cff') - -process.load("CMGTools.Common.photon_cff") - -process.analysisSequence = cms.Sequence( - process.photonSequence - ) - -process.p = cms.Path( - process.analysisSequence -) - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(True)) - -print 'input :', process.source.fileNames -print 'output :' -print ' tree :', process.out.fileName -print ' hist :', process.TFileService.fileName - -###################################################################### diff --git a/CMGTools/Common/test/testRunInfoAccounting_cfg.py b/CMGTools/Common/test/testRunInfoAccounting_cfg.py deleted file mode 100644 index 1c192359a65c..000000000000 --- a/CMGTools/Common/test/testRunInfoAccounting_cfg.py +++ /dev/null @@ -1,71 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools run info accounting test" -print sep_line - -process.setName_('ANA') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -# process.source.fileNames = cms.untracked.vstring( -# '/store/cmst3/user/cbern/CMG/LM4_SUSY_sftsht_7TeV-pythia6/Summer11-PU_S4_START42_V11-v1/AODSIM/V2/PFAOD_1_1_m8a.root' -# ) - -runOnMC = False -if runOnMC: - process.load("CMGTools.Common.sources.LM4_SUSY_sftsht_7TeV_pythia6.Summer11_PU_S4_START42_V11_v1.AODSIM.V2.source_cff") -else: - process.load("CMGTools.Common.sources.HT.Run2011A_May10ReReco_v1.AOD.V2.source_cff") - -# reading the first 10 files: -nFiles = 10 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - -#output file for histograms etc -process.TFileService = cms.Service("TFileService", - fileName = cms.string("histograms_testRunInfoAccounting.root")) - - -process.load("CMGTools.Common.runInfoAccounting_cff") - -# this module is doing nothing. -# change the prescale factor to see the effect on the run info accounting. -process.pre1 = cms.EDFilter( - "Prescaler", - prescaleFactor = cms.int32(2), - prescaleOffset = cms.int32(0) -) - -process.p = cms.Path( - process.pre1 - ) - -process.ria = cms.Sequence( process.runInfoAccountingDataSequence ) -if runOnMC: - process.ria = cms.Sequence( process.runInfoAccountingSequence ) - - -process.outpath = cms.EndPath( - process.ria - ) - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) diff --git a/CMGTools/Common/test/testTauScaler_cfg.py b/CMGTools/Common/test/testTauScaler_cfg.py deleted file mode 100644 index a8f172596d57..000000000000 --- a/CMGTools/Common/test/testTauScaler_cfg.py +++ /dev/null @@ -1,62 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms -# from CMGTools.Common.Tools.getGlobalTag import getGlobalTag - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools tau energy scaling test" -print sep_line - - - -process.setName_('ANA') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(5000) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - - - -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - 'cmgtools', - '/TauPlusX/Run2011A-PromptReco-v4/AOD/V2/PAT_CMG_V2_3_0', - 'tree.*root') - - -# reading the first 10 files: -nFiles = 5 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - -# output module for EDM event (ntuple) -process.out.fileName = cms.untracked.string('tree_testTauScaler.root') -from CMGTools.Common.eventContent.everything_cff import everything -process.out.outputCommands = cms.untracked.vstring( - 'drop *', - 'keep cmgTau*_*_*_*' - ) - - -process.load('CMGTools.Common.factories.cmgTauScaler_cfi') - -process.p = cms.Path( - process.cmgTauUp + - process.cmgTauDown -) - - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) diff --git a/CMGTools/Common/test/testVertexWeight_cfg.py b/CMGTools/Common/test/testVertexWeight_cfg.py deleted file mode 100644 index 4d30d3732610..000000000000 --- a/CMGTools/Common/test/testVertexWeight_cfg.py +++ /dev/null @@ -1,64 +0,0 @@ -from PhysicsTools.PatAlgos.patTemplate_cfg import * -import FWCore.ParameterSet.Config as cms -# from CMGTools.Common.Tools.getGlobalTag import getGlobalTag - -sep_line = "-" * 50 -print -print sep_line -print "CMGTools vertex weight test" -print sep_line - - - -process.setName_('ANA') - -process.maxEvents = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - - - -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - 'cmgtools', - '/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Summer11-PU_S4_START42_V11-v1/AODSIM/V2/PAT_CMG_V2_3_0', - # '/TauPlusX/Run2011A-PromptReco-v6/AOD/V2/PAT_CMG_V2_3_0', - 'tree.*root') - - -# reading the first 10 files: -nFiles = 5 -print 'WARNING: RESTRICTING INPUT TO THE FIRST', nFiles, 'FILES' -process.source.fileNames = process.source.fileNames[:nFiles] - -print process.source.fileNames - -# output module for EDM event (ntuple) -process.out.fileName = cms.untracked.string('tree_testVertexWeight.root') -from CMGTools.Common.eventContent.everything_cff import everything -process.out.outputCommands = cms.untracked.vstring( - 'drop *', - 'keep recoVertexs_*_*_*', - 'keep double_vertexWeight*_*_*', - 'keep *_vertexSize_*_*' - ) - - -process.load('CMGTools.Common.generator.vertexWeight.vertexWeight_cff') - -process.p = cms.Path( - process.vertexWeightSequence -) - - -process.schedule = cms.Schedule( - process.p, - process.outpath - ) - -process.MessageLogger.cerr.FwkReport.reportEvery = 100 -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) diff --git a/CMGTools/Common/test/unittests/TestBuild.py b/CMGTools/Common/test/unittests/TestBuild.py deleted file mode 100644 index 4fd8f6f257d2..000000000000 --- a/CMGTools/Common/test/unittests/TestBuild.py +++ /dev/null @@ -1,125 +0,0 @@ -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple -import ROOT as rt - -import os,shutil,subprocess,tempfile,unittest - -class TestBuild(TestTools.CFGTest): - - def __init__(self,methodName): - TestTools.CFGTest.__init__(self,methodName) - - def getReleaseInfo(self, version): - """Use the same file as in the installed to get the tags""" - - result = {} - - import urllib - try: - url = 'http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/UserCode/CMG/CMGTools/Common/python/release_info/%s.py?view=co' % version - release_info = urllib.urlopen(url) - content = release_info.read() - if content.find('404 Not Found') != -1: - raise Exception("The file '%s' does not exist or could not be accessed" % url) - if content is not None and content: - result = eval(content) - except Exception, e: - message = "Release info can not be found for version '%s' - the error was '%s'" % (version,str(e)) - raise Exception(message) - - return result - - def checkOutAndBuild(self, keys = None): - """Checks out and builds some code from cvs""" - - version = os.environ['CMSSW_VERSION'] - release_info = self.getReleaseInfo(version) - - stdout = None - stderr = None - - pwd = os.getcwd() - try: - tmpdir = tempfile.mkdtemp() - os.chdir(tmpdir) - - subprocess.call(['scram', 'project', 'CMSSW', version]) - src = os.path.join(tmpdir,version,'src') - os.chdir(src) - for key,val in release_info.iteritems(): - #we can specify to use only certain packages - if keys is not None and key not in keys: continue - os.system('cvs checkout -r %s -d %s %s' % (val[0], val[1], key)) - - stdout, stderr = subprocess.Popen(['scram', 'b', '-j', '4'], stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate() - - os.chdir(pwd) - shutil.rmtree(tmpdir, ignore_errors = True) - - finally: - os.chdir(pwd) - - return (stdout,stderr) - - def lookForFail(self,output): - """scan output for files that look like a build failure""" - fail = False - for line in output.split('\n'): - #look for an error msg from make - print 'line:',line - if 'gmake:' in line and 'Error' in line: - fail = True - if fail: break - return fail - - def downloadAndBuildRecipe(self): - - version = os.environ['CMSSW_VERSION'] - release_info = self.getReleaseInfo(version) - - stdout = None - stderr = None - - pwd = os.getcwd() - try: - tmpdir = tempfile.mkdtemp() - os.chdir(tmpdir) - - subprocess.call(['wget','-O','installCMGTools.py',"http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/UserCode/CMG/CMGTools/Common/bin/installCMGTools.py?view=co"]) - stdout, stderr = subprocess.Popen(['python','installCMGTools.py','-r', version, '-b'], stdout=subprocess.PIPE,stderr=subprocess.PIPE).communicate() - - os.chdir(pwd) - shutil.rmtree(tmpdir, ignore_errors = True) - - finally: - os.chdir(pwd) - - return (stdout,stderr) - - - - def testBuildFormatsStandAlone(self): - """Check out and build the version of the format package from cvs with the recipe tags. Format package must build standalone.""" - - stdout, stderr = self.checkOutAndBuild(keys = ['UserCode/CMG/AnalysisDataFormats/CMGTools']) - self.failIf(stdout is None, 'The stdout must be complete') - self.failIf(stderr is None, 'The stderr must be complete') - - self.assertFalse(self.lookForFail(stderr),'The build did not complete') - - def testBuildRecipe(self): - """Check out and build the current recipe""" - - print "Testing build for recipe version '%s'" % os.environ['CMSSW_VERSION'] - - stdout, stderr = self.downloadAndBuildRecipe() - self.failIf(stdout is None, 'The stdout must be complete') - self.failIf(stderr is None, 'The stderr must be complete') - - self.assertFalse(self.lookForFail(stderr),'The build did not complete') - - -if __name__ == '__main__': - - unittest.main() - diff --git a/CMGTools/Common/test/unittests/TestElectron.py b/CMGTools/Common/test/unittests/TestElectron.py deleted file mode 100644 index ecf9d7167e26..000000000000 --- a/CMGTools/Common/test/unittests/TestElectron.py +++ /dev/null @@ -1,44 +0,0 @@ -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple -import ROOT as rt - -import unittest - -class TestMuon(TestTools.CFGTest): - - def __init__(self,methodName): - TestTools.CFGTest.__init__(self,methodName) - self.cfgsRunOnce.append('CMGTools/Common/test/testElectron_cfg.py') - - def testTreeEntries(self): - """Test that the Events tree has some content""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testElectron_cfg.py'] - self.assert_(TestTools.getEntries(output[1]) > 0,'The CMGTuple must contain some entries') - - def testDiElectronBranchExists(self): - """Tests that the DiElectron branch exists""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testElectron_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key('cmgDiElectronSel'),'We are expecting a branch called cmgDiElectronSel') - - def testElectronIsolation(self): - """Verify that the isolation variables are set""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testElectron_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertEqual(cmg.Draw("abs(cmgElectronSel.absIso() + 3)","abs(cmgElectronSel.absIso() + 3) < 1e-6","goff"),0,\ - 'There must be no isolations unset by pat') - #9999 is the value of Unset(double) - self.assertEqual(cmg.Draw("abs(cmgElectronSel.absIso() + 9999*3)","abs(cmgElectronSel.absIso() + 9999*3) < 1e-6","goff"),0,\ - 'There must be no isolations unset by cmgTools') - - -if __name__ == '__main__': - - unittest.main() diff --git a/CMGTools/Common/test/unittests/TestHemi.py b/CMGTools/Common/test/unittests/TestHemi.py deleted file mode 100644 index df7b0a514ec9..000000000000 --- a/CMGTools/Common/test/unittests/TestHemi.py +++ /dev/null @@ -1,49 +0,0 @@ -###################################################################### -## File: TestHemi.py -###################################################################### - -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple - -import unittest - -class TestHemi(TestTools.CFGTest): - - def __init__(self, methodName): - TestTools.CFGTest.__init__(self, methodName) - self.cfgsRunOnce.append("CMGTools/Common/test/testHemi_cfg.py") - - def testTreeEntries(self): - """Test that the Events tree is not empty.""" - - output = self.__class__.cfgsRunOnceCache["CMGTools/Common/test/testHemi_cfg.py"] - self.assert_(TestTools.getEntries(output[1]) > 0, - "The CMGTuple must contain at least some entries") - - def testHemiBranchExists(self): - """Tests that the hemisphere branch exists.""" - - output = self.__class__.cfgsRunOnceCache["CMGTools/Common/test/testHemi_cfg.py"] - events = TestTools.getObject(output[1], "Events") - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key("cmgHemi"), - "We are expecting a branch called cmgHemi") - - def testDiHemiBranchExists(self): - """Tests that the di-hemisphere branch exists.""" - - output = self.__class__.cfgsRunOnceCache["CMGTools/Common/test/testHemi_cfg.py"] - events = TestTools.getObject(output[1], "Events") - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key("cmgDiHemi"), - "We are expecting a branch called cmgDiHemi") - -###################################################################### - -if __name__ == "__main__": - - unittest.main() - -###################################################################### diff --git a/CMGTools/Common/test/unittests/TestJet.py b/CMGTools/Common/test/unittests/TestJet.py deleted file mode 100644 index 2dd25f01cf16..000000000000 --- a/CMGTools/Common/test/unittests/TestJet.py +++ /dev/null @@ -1,51 +0,0 @@ -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple -import ROOT as rt - -import unittest - -class TestJET(TestTools.CFGTest): - - def __init__(self,methodName): - TestTools.CFGTest.__init__(self,methodName) - self.cfgsRunOnce.append('CMGTools/Common/test/testJet_cfg.py') - - def testTreeEntries(self): - """Test that the Events tree has some content""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testJet_cfg.py'] - self.assert_(TestTools.getEntries(output[1]) > 0,'The CMGTuple must contain some entries') - - def testCMGPFJetBranchExists(self): - """Tests that the cmgPFJet branch exists""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testJet_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key('cmgPFJetSel'),'We are expecting a branch called cmgPFJetSel') - - def testJetID(self): - """Verify that the jet id is applied""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testJet_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.Draw("cmgPFJetSel.pt()","cmgPFJetSel.getSelection(\"cuts_looseJetId\")","goff") > 0,\ - 'The jet id should be applied') - - def testBTag(self): - """Verify that the Btag is applied""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testJet_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.Draw("cmgPFJetSel.btag()","cmgPFJetSel.getSelection(\"cuts_btag_loose\")","goff") > 0,\ - 'The btag should be applied') - - -if __name__ == '__main__': - - unittest.main() diff --git a/CMGTools/Common/test/unittests/TestMET.py b/CMGTools/Common/test/unittests/TestMET.py deleted file mode 100644 index a4f750c7b242..000000000000 --- a/CMGTools/Common/test/unittests/TestMET.py +++ /dev/null @@ -1,60 +0,0 @@ -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple -import ROOT as rt - -import unittest - -class TestMET(TestTools.CFGTest): - - def __init__(self,methodName): - TestTools.CFGTest.__init__(self,methodName) - self.cfgsRunOnce.append('CMGTools/Common/test/testMET_cfg.py') - - def testTreeEntries(self): - """Test that the Events tree has some content""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMET_cfg.py'] - self.assert_(TestTools.getEntries(output[1]) > 0,'The CMGTuple must contain some entries') - -# def testPFMETBranchExists(self): -# """Tests that the cmgMETPFCandidates branch exists""" - -# output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMET_cfg.py'] -# events = TestTools.getObject(output[1], 'Events') - -# cmg = cmgTuple.cmgTuple(events) -# self.assertTrue(cmg.aliases.has_key('cmgMETPFCandidates'),'We are expecting a branch called cmgMETPFCandidates') - - def testPATMETBranchExists(self): - """Tests that the patMETsPFlow branch exists""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMET_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key('patMETsAK5'),'We are expecting a branch called patMETsAK5') - - def testCMGPFMETBranchExists(self): - """Tests that the cmgPFMET branch exists""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMET_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key('cmgPFMET'),'We are expecting a branch called cmgPFMET') - - def testMETET(self): - """Verify that the cmg::MET has the same et as the pat::MET""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMET_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertEqual(cmg.Draw("abs(patMETsAK5.et() - cmgPFMET.et())", - "abs(patMETsAK5.et() - cmgPFMET.et()) > 1e-3","goff"),0,\ - 'The cmg::MET and the pat::MET should be the same') - - -if __name__ == '__main__': - - unittest.main() diff --git a/CMGTools/Common/test/unittests/TestMultiJet.py b/CMGTools/Common/test/unittests/TestMultiJet.py deleted file mode 100644 index b992189aa319..000000000000 --- a/CMGTools/Common/test/unittests/TestMultiJet.py +++ /dev/null @@ -1,41 +0,0 @@ -###################################################################### -## File: TestMultiJet.py -###################################################################### - -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple - -import unittest - -class TestMultiJet(TestTools.CFGTest): - - cfg_file_name = "CMGTools/Common/test/testMultiJet_cfg.py" - - def __init__(self, methodName): - TestTools.CFGTest.__init__(self, methodName) - self.cfgsRunOnce.append(TestMultiJet.cfg_file_name) - - def testTreeEntries(self): - """Test that the Events tree is not empty.""" - - output = self.__class__.cfgsRunOnceCache[TestMultiJet.cfg_file_name] - self.assert_(TestTools.getEntries(output[1]) > 0, - "The CMGTuple must contain at least some entries") - - def testMultiJetBranchExists(self): - """Tests that the multi-object branch exists.""" - - output = self.__class__.cfgsRunOnceCache[TestMultiJet.cfg_file_name] - events = TestTools.getObject(output[1], "Events") - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key("cmgMultiJet"), - "We are expecting a branch called cmgMultiJet") - -###################################################################### - -if __name__ == "__main__": - - unittest.main() - -###################################################################### diff --git a/CMGTools/Common/test/unittests/TestMuon.py b/CMGTools/Common/test/unittests/TestMuon.py deleted file mode 100644 index 36fafd8c63b1..000000000000 --- a/CMGTools/Common/test/unittests/TestMuon.py +++ /dev/null @@ -1,107 +0,0 @@ -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple -import ROOT as rt - -import unittest - -class TestMuon(TestTools.CFGTest): - - def __init__(self,methodName): - TestTools.CFGTest.__init__(self,methodName) - self.cfgsRunOnce.append('CMGTools/Common/test/testMuon_cfg.py') - - def testTreeEntries(self): - """Test that the Events tree has some content""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMuon_cfg.py'] - self.assert_(TestTools.getEntries(output[1]) > 0,'The CMGTuple must contain some entries') - - def testDiMuonBranchExists(self): - """Tests that the DiMuon branch exists""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMuon_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key('cmgDiMuonSel'),'We are expecting a branch called cmgDiMuonSel') - - def testMuonIsolation(self): - """Verify that the isolation variables are set""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMuon_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertEqual(cmg.Draw("abs(cmgMuonSel.absIso() + 3)","abs(cmgMuonSel.absIso() + 3) < 1e-6","goff"),0,\ - 'There must be no isolations unset by pat') - #9999 is the value of Unset(double) - self.assertEqual(cmg.Draw("abs(cmgMuonSel.absIso() + 9999*3)","abs(cmgMuonSel.absIso() + 9999*3) < 1e-6","goff"),0,\ - 'There must be no isolations unset by cmgTools') - - def testZID(self): - """Verify that the Z id is applied""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMuon_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.Draw("cmgDiMuonSel.pt()","cmgDiMuonSel.getSelection(\"cuts_zmumu\")","goff") > 0,\ - 'The Z id should be applied') - - def testHasZID(self): - """Verify that the Z id is applied""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMuon_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertEqual(cmg.Draw("cmgDiMuonSel.pt()","!cmgDiMuonSel.hasSelection(\"cuts_zmumu\")","goff"),0,\ - 'The Z id should be applied') - - def testHasSelection(self): - """Verify that hasSelection returns false if there is nothing there""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMuon_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertEqual(cmg.Draw("cmgDiMuonSel.pt()","cmgDiMuonSel.hasSelection(\"foo_bar_dummy\")","goff"),0,\ - 'foo_bar_dummy must not be found') - - def testLegOrdering(self): - """Verify that the leg ordering is applied""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMuon_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertEqual(cmg.Draw("cmgDiMuonSel.mass()","cmgDiMuonSel.leg1().pt() < cmgDiMuonSel.leg2().pt()","goff"),0,\ - 'The legs should be pt ordered') - - def testRazorMR(self): - """Verify that MR is set""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMuon_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.Draw("cmgDiMuonSel.mR()", - "(abs(cmgDiMuonSel.mR() + 9999) > 1e-3) ","goff") > 0,\ - 'MR should be filled for relevant events') - - def testRazorMRT(self): - """Verify that MRT is set""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testMuon_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.Draw("cmgDiMuonSel.mRT()", - "(abs(cmgDiMuonSel.mRT() + 9999) > 1e-3) ","goff") > 0,\ - 'MRT should be filled for relevant events') - - - -if __name__ == '__main__': - - unittest.main() diff --git a/CMGTools/Common/test/unittests/TestPhoton.py b/CMGTools/Common/test/unittests/TestPhoton.py deleted file mode 100644 index bdc19065ccbd..000000000000 --- a/CMGTools/Common/test/unittests/TestPhoton.py +++ /dev/null @@ -1,51 +0,0 @@ -###################################################################### -## File: TestPhoton.py -###################################################################### - -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple - -import unittest - -class TestPhoton(TestTools.CFGTest): - - cfg_file_name = "CMGTools/Common/test/testPhoton_cfg.py" - - def __init__(self, methodName): - TestTools.CFGTest.__init__(self, methodName) - self.cfgsRunOnce.append(TestPhoton.cfg_file_name) - - def testTreeEntries(self): - """Test that the Events tree is not empty.""" - - output = self.__class__.cfgsRunOnceCache[TestPhoton.cfg_file_name] - self.assert_(TestTools.getEntries(output[1]) > 0, - "The CMGTuple must contain at least some entries") - - def testPhotonBranchExists(self): - """Tests that the photon branch exists.""" - - output = self.__class__.cfgsRunOnceCache[TestPhoton.cfg_file_name] - events = TestTools.getObject(output[1], "Events") - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key("cmgPhotonSel"), - "We are expecting a branch called cmgPhotonSel") - -# def testDiPhotonBranchExists(self): -# """Tests that the di-photon branch exists.""" - -# output = self.__class__.cfgsRunOnceCache[TestPhoton.cfg_file_name] -# events = TestTools.getObject(output[1], "Events") - -# cmg = cmgTuple.cmgTuple(events) -# self.assertTrue(cmg.aliases.has_key("cmgDiPhoton"), -# "We are expecting a branch called cmgDiPhoton") - -###################################################################### - -if __name__ == "__main__": - - unittest.main() - -###################################################################### diff --git a/CMGTools/Common/test/unittests/TestSuite.py b/CMGTools/Common/test/unittests/TestSuite.py deleted file mode 100644 index a55792ac54fe..000000000000 --- a/CMGTools/Common/test/unittests/TestSuite.py +++ /dev/null @@ -1,48 +0,0 @@ -import CMGTools.RootTools.TestTools as TestTools - -import os -import sys -import unittest - -class CMGTestLoader(unittest.TestLoader): - - def suiteClass(self,foo): - - testDir = os.path.expandvars(os.path.join('$CMSSW_BASE','src','CMGTools','Common','test','unittests')) - if testDir not in sys.path: - sys.path.append(testDir) - - # Just list whatever tests you want to run here. - tests = [ -# "TestBuild", -# "TestPhoton", - "TestElectron", - "TestMET", - "TestMuon", - "TestJet", - "TestWENu", - "TestWMuNu", - "TestHemi", - "TestMultiJet", - "TestTrigger" - ] - - sep_line = "-" * 50 - print sep_line - print "Going to run %d tests: %s" % (len(tests), ", ".join(tests)) - print sep_line - - modules = map(__import__, tests) - - suites = [] - for test in tests: - suites.append(unittest.defaultTestLoader.loadTestsFromName(test)) - - tests = unittest.TestSuite() - tests.addTests(suites) - - return tests - -if __name__ == '__main__': - - unittest.main(testLoader=CMGTestLoader()) diff --git a/CMGTools/Common/test/unittests/TestTau.py b/CMGTools/Common/test/unittests/TestTau.py deleted file mode 100644 index bc57d79e192b..000000000000 --- a/CMGTools/Common/test/unittests/TestTau.py +++ /dev/null @@ -1,43 +0,0 @@ -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple -import ROOT as rt - -import unittest - -class TestTau(TestTools.CFGTest): - - def __init__(self,methodName): - TestTools.CFGTest.__init__(self,methodName) - self.cfgsRunOnce.append('CMGTools/Common/test/testTau_cfg.py') - - def testTreeEntries(self): - """Test that the Events tree has some content""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTau_cfg.py'] - self.assert_(TestTools.getEntries(output[1]) > 0,'The CMGTuple must contain some entries') - - - def testTauPt(self): - """Very the default pt selection""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTau_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertEqual(cmg.Draw("cmgTauSel.pt()","cmgTauSel.pt() < 15.0","goff"),0,\ - 'All taus should have a 15 GeV default cut') - - def testTauID(self): - """Verify the tauID is applied""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTau_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertNotEqual(cmg.Draw("cmgTauSel.tauID(\"decayModeFinding\")","cmgTauSel.tauID(\"decayModeFinding\")==1","goff"),0,\ - 'HPS taudID should be filled') - - -if __name__ == '__main__': - - unittest.main() diff --git a/CMGTools/Common/test/unittests/TestTrigger.py b/CMGTools/Common/test/unittests/TestTrigger.py deleted file mode 100644 index e019b5de3eb1..000000000000 --- a/CMGTools/Common/test/unittests/TestTrigger.py +++ /dev/null @@ -1,143 +0,0 @@ -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple -import ROOT as rt - -import unittest - -class TestTrigger(TestTools.CFGTest): - - def __init__(self,methodName): - TestTools.CFGTest.__init__(self,methodName) - self.cfgsRunOnce.append('CMGTools/Common/test/testTriggerObjects_cfg.py') - - #The source file is ZMM so we can use a muon trigger to test - self.triggerName = 'HLT_Mu15_v2' - self.triggerNameRe = 'HLT_Mu15_v[0-9]+' - - def testTreeEntries(self): - """Test that the Events tree has some content""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - self.assert_(TestTools.getEntries(output[1]) > 0,'The CMGTuple must contain some entries') - - def testcmgTriggerObjectFullExists(self): - """Tests that the cmgTriggerObjectFull branch exists""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key('cmgTriggerObjectFull'),'We are expecting a branch called cmgTriggerObjectFull') - - def testcmgTriggerObjectSelExists(self): - """Tests that the cmgTriggerObjectSel branch exists""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key('cmgTriggerObjectSel'),'We are expecting a branch called cmgTriggerObjectSel') - - def testcmgTriggerObjectSelLength(self): - """Verify that cmgTriggerObjectSel has length 1""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertEquals(cmg.Draw("cmgTriggerObjectSel.pt()", - "cmgTriggerObjectSelVec.size() != 1","goff"), 0,\ - 'cmgTriggerObjectSel should have exactly one entry') - - def testcmgTriggerObjectSelTriggerExists(self): - """Verify that cmgTriggerObjectSel has the selected trigger""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - entries = cmg.tree.GetEntries() - - self.assertEquals(cmg.Draw("cmgTriggerObjectSel.pt()", - 'cmgTriggerObjectSel.hasSelection("%s")' % self.triggerName,"goff"), entries,\ - 'Each event has the test trigger present') - - def testcmgTriggerObjectSelTriggerFires(self): - """Verify that cmgTriggerObjectSel has the selected trigger fires""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - - self.assertTrue(cmg.Draw("cmgTriggerObjectSel.pt()", - 'cmgTriggerObjectSel.getSelection("%s")' % self.triggerName,"goff") > 0,\ - 'There must be at least one event where the trigger fired') - - def testcmgTriggerObjectSelTriggerFirseRegExpBoth(self): - """Verify that cmgTriggerObjectSel has the selected trigger fires""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - - self.assertEqual(cmg.Draw("cmgTriggerObjectSel.pt()", - 'cmgTriggerObjectSel.getSelection("%s") && !cmgTriggerObjectSel.getSelectionRegExp("%s")' % (self.triggerName,self.triggerNameRe),"goff"),0,\ - 'There must be at least one event where the trigger fired') - self.assertEqual(cmg.Draw("cmgTriggerObjectSel.pt()", - 'cmgTriggerObjectSel.getSelection("%s")' % self.triggerName,"goff"), - cmg.Draw("cmgTriggerObjectSel.pt()", - 'cmgTriggerObjectSel.getSelectionRegExp("%s")' % self.triggerNameRe,"goff"), - 'The selections must match') - - def testcmgTriggerObjectSelTriggerFirseRegExp(self): - """Verify that cmgTriggerObjectSel has the selected trigger fires""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - - self.assertTrue(cmg.Draw("cmgTriggerObjectSel.pt()", - 'cmgTriggerObjectSel.getSelectionRegExp("%s")' % self.triggerNameRe,"goff") > 0,\ - 'There must be at least one event where the trigger fired') - - - def testcmgTriggerObjectFullLength(self): - """Verify that cmgTriggerObjectFull has some entries""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.Draw("cmgTriggerObjectFull.pt()", - 'cmgTriggerObjectFullVec.size() > 0',"goff") > 0,\ - 'cmgTriggerObjectFull should have some entries') - - def testcmgTriggerObjectFullSelection(self): - """Verify that cmgTriggerObjectFull has some entries""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.Draw("cmgTriggerObjectFull.pt()", - 'cmgTriggerObjectFull.getSelection("%s")' % self.triggerName,"goff") > 0,\ - 'cmgTriggerObjectFull should have some entries') - - def testcmgTriggerObjectFullPt(self): - """Verify that cmgTriggerObjectFull has some entries""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testTriggerObjects_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.Draw("cmgTriggerObjectFull.pt()", - 'cmgTriggerObjectFull.getSelectionRegExp("%s") && cmgTriggerObjectFull.pt() > 0' % self.triggerNameRe,"goff") > 0,\ - 'cmgTriggerObjectFull has some pt') - - -if __name__ == '__main__': - - unittest.main() diff --git a/CMGTools/Common/test/unittests/TestWENu.py b/CMGTools/Common/test/unittests/TestWENu.py deleted file mode 100644 index 68a713b30359..000000000000 --- a/CMGTools/Common/test/unittests/TestWENu.py +++ /dev/null @@ -1,33 +0,0 @@ -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple -import ROOT as rt - -import unittest - -class TestWENu(TestTools.CFGTest): - - def __init__(self,methodName): - TestTools.CFGTest.__init__(self,methodName) - self.cfgsRunOnce.append('CMGTools/Common/test/testWENu_cfg.py') - - def testTreeEntries(self): - """Test that the Events tree has some content""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testWENu_cfg.py'] - self.assert_(TestTools.getEntries(output[1]) > 0,'The CMGTuple must contain some entries') - - def testWENuBranchExists(self): - """Tests that the cmgWENu branch exists""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testWENu_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key('cmgWENuSel'),'We are expecting a branch called cmgWENuSel') - - - - -if __name__ == '__main__': - - unittest.main() diff --git a/CMGTools/Common/test/unittests/TestWMuNu.py b/CMGTools/Common/test/unittests/TestWMuNu.py deleted file mode 100644 index 8c072e030500..000000000000 --- a/CMGTools/Common/test/unittests/TestWMuNu.py +++ /dev/null @@ -1,33 +0,0 @@ -import CMGTools.RootTools.TestTools as TestTools -import CMGTools.RootTools.cmgTuple as cmgTuple -import ROOT as rt - -import unittest - -class TestWMuNu(TestTools.CFGTest): - - def __init__(self,methodName): - TestTools.CFGTest.__init__(self,methodName) - self.cfgsRunOnce.append('CMGTools/Common/test/testWMuNu_cfg.py') - - def testTreeEntries(self): - """Test that the Events tree has some content""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testWMuNu_cfg.py'] - self.assert_(TestTools.getEntries(output[1]) > 0,'The CMGTuple must contain some entries') - - def testWMuNuBranchExists(self): - """Tests that the cmgWMuNu branch exists""" - - output = self.__class__.cfgsRunOnceCache['CMGTools/Common/test/testWMuNu_cfg.py'] - events = TestTools.getObject(output[1], 'Events') - - cmg = cmgTuple.cmgTuple(events) - self.assertTrue(cmg.aliases.has_key('cmgWMuNuSel'),'We are expecting a branch called cmgWMuNuSel') - - - - -if __name__ == '__main__': - - unittest.main() diff --git a/CMGTools/H2TauTau/BuildFile.xml b/CMGTools/H2TauTau/BuildFile.xml index a47fae30b21e..a83d4118874d 100644 --- a/CMGTools/H2TauTau/BuildFile.xml +++ b/CMGTools/H2TauTau/BuildFile.xml @@ -1,24 +1,16 @@ - + - - - - - - - - - - + + diff --git a/CMGTools/H2TauTau/cfgPython/ee/zeleele_cfg.py b/CMGTools/H2TauTau/cfgPython/ee/zeleele_cfg.py deleted file mode 100644 index 8a6183ae15e6..000000000000 --- a/CMGTools/H2TauTau/cfgPython/ee/zeleele_cfg.py +++ /dev/null @@ -1,102 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.H2TauTau.triggerMap import pathsAndFilters - - - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer' - ) - -ZEleEleAna = cfg.Analyzer( - 'ZEleEleAnalyzer', - pt1 = 10, - pt2 = 10, - iso1 = 0.3, - iso2 = 0.3, - eta1 = 2.5, - eta2 = 2.5, - m_min = 0, - m_max = 200 - ) - - -## tauWeighter = cfg.Analyzer( -## 'LeptonWeighter_tau', -## effWeight = mc_tauEffWeight, -## effWeightMC = mc_tauEffWeight_mc, -## lepton = 'leg1', -## verbose = False -## ) - -## muonWeighter = cfg.Analyzer( -## 'LeptonWeighter_mu', -## effWeight = mc_muEffWeight, -## effWeightMC = mc_muEffWeight_mc, -## lepton = 'leg2', -## verbose = False -## ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - # vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False - ) - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 400, - deltaEta = 4.0 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - # jetCol = 'cmgPFJetSelAK5NoPUSubCMG', - jetCol = 'cmgPFJetSel', - jetPt = 30, - jetEta = 4.5, - **vbfKwargs - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducer' - ) - -######################################################################################### - -# from CMGTools.H2TauTau.proto.samples.run2012.zmumu_13Apr import * -from CMGTools.H2TauTau.proto.samples.run2012.zeleele_13Apr import * - -######################################################################################### - - -sequence = cfg.Sequence( [ - triggerAna, - ZEleEleAna, - vbfAna, - vertexAna, - # tauWeighter, - # muonWeighter, - # eventSorter, - treeProducer - ] ) - -data_Run2012A_PromptReco_v1.splitFactor = 20 -DYJets.splitFactor = 50 - -selectedComponents = [ - data_Run2012A_PromptReco_v1, - DYJets - ] - -test = False -if test: - theComp = DYJets - theComp.splitFactor = 1 - selectedComponents = [theComp] - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) diff --git a/CMGTools/H2TauTau/cfgPython/em/eMu_2014_cfg.py b/CMGTools/H2TauTau/cfgPython/em/eMu_2014_cfg.py new file mode 100644 index 000000000000..899d3c1124b3 --- /dev/null +++ b/CMGTools/H2TauTau/cfgPython/em/eMu_2014_cfg.py @@ -0,0 +1,155 @@ +import PhysicsTools.HeppyCore.framework.config as cfg +from PhysicsTools.HeppyCore.framework.config import printComps + +# Tau-tau analyzers +from CMGTools.H2TauTau.proto.analyzers.MuEleAnalyzer import MuEleAnalyzer +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducerMuEle import H2TauTauTreeProducerMuEle +from CMGTools.H2TauTau.proto.analyzers.LeptonWeighter import LeptonWeighter +from CMGTools.H2TauTau.proto.analyzers.SVfitProducer import SVfitProducer + +# common configuration and sequence +from CMGTools.H2TauTau.htt_ntuple_base_cff import commonSequence, genAna, dyJetsFakeAna, puFileData, puFileMC, eventSelector + +# local switches +syncntuple = True +computeSVfit = True +production = False # production = True run on batch, production = False run locally + +dyJetsFakeAna.channel = 'em' + +### Define mu-ele specific modules + +muEleAna = cfg.Analyzer( + MuEleAnalyzer , + 'MuEleAnalyzer' , + pt1 = 10. , + eta1 = 2.5 , + iso1 = 0.15 , + looseiso1 = 10. , + pt2 = 10. , + eta2 = 2.5 , + iso2 = 0.15 , + looseiso2 = 10. , + m_min = 10 , + m_max = 99999 , + dR_min = 0.5 , +# triggerMap = pathsAndFilters, + jetPt = 30. , + jetEta = 4.7 , + relaxJetId = False , + verbose = False , + ) + +muonWeighter = cfg.Analyzer( + LeptonWeighter , + name ='LeptonWeighter_mu', + effWeight = None , + effWeightMC = None , + lepton = 'leg1' , + verbose = False , + disable = True , + idWeight = None , + isoWeight = None + ) + +eleWeighter = cfg.Analyzer( + LeptonWeighter , + name ='LeptonWeighter_ele', + effWeight = None , + effWeightMC = None , + lepton = 'leg2' , + verbose = False , + disable = True , + idWeight = None , + isoWeight = None + ) + +treeProducer = cfg.Analyzer( + H2TauTauTreeProducerMuEle , + name = 'H2TauTauTreeProducerMuEle' + ) + +syncTreeProducer = cfg.Analyzer( + H2TauTauTreeProducerMuEle , + name = 'H2TauTauSyncTreeProducerMuEle', + varStyle = 'sync' , + skimFunction = 'event.isSignal' + ) + +svfitProducer = cfg.Analyzer( + SVfitProducer , + name = 'SVfitProducer', + # integration = 'VEGAS' , + integration = 'MarkovChain' , + # verbose = True , + # order = '21' , # muon first, tau second + l1type = 'muon' , + l2type = 'ele' + ) + +################################################### +### CONNECT SAMPLES TO THEIR ALIASES AND FILES ### +################################################### +from CMGTools.H2TauTau.proto.samples.phys14.connector import httConnector +my_connect = httConnector('htt_6mar15_manzoni_nom', 'htautau_group', + '.*root', 'tt', production=production) +my_connect.connect() +MC_list = my_connect.MC_list + +################################################### +### ASSIGN PU to MC ### +################################################### +for mc in MC_list: + mc.puFileData = puFileData + mc.puFileMC = puFileMC + +################################################### +### SET COMPONENTS BY HAND ### +################################################### +selectedComponents = MC_list +# selectedComponents = mc_dict['HiggsGGH125'] +# for c in selectedComponents : c.splitFactor *= 5 + +################################################### +### SEQUENCE ### +################################################### +sequence = commonSequence +sequence.insert(sequence.index(genAna), muEleAna) +sequence.append(muonWeighter) +sequence.append(eleWeighter) +if computeSVfit: + sequence.append(svfitProducer) +sequence.append(treeProducer) +if syncntuple: + sequence.append(syncTreeProducer) + +################################################### +### CHERRY PICK EVENTS ### +################################################### +# eventSelector.toSelect = [] +# sequence.insert(0, eventSelector) + +################################################### +### SET BATCH OR LOCAL ### +################################################### +if not production: + cache = True + comp = my_connect.mc_dict['HiggsGGH125'] + selectedComponents = [comp] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + comp.files = comp.files[:1] + +# the following is declared in case this cfg is used in input to the +# heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +config = cfg.Config( components = selectedComponents, + sequence = sequence , + services = [] , + events_class = Events + ) + +printComps(config.components, True) + +def modCfgForPlot(config): + config.components = [] diff --git a/CMGTools/H2TauTau/cfgPython/et/tauEle_2011_cfg.py b/CMGTools/H2TauTau/cfgPython/et/tauEle_2011_cfg.py deleted file mode 100644 index 2e999d13c359..000000000000 --- a/CMGTools/H2TauTau/cfgPython/et/tauEle_2011_cfg.py +++ /dev/null @@ -1,231 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import ele_id_tauele_2011, ele_iso_tauele_2011 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True - -mc_vertexWeight = 'vertexWeightFall112011AB' -mc_tauEffWeight = None -mc_muEffWeight = None - - -mc_tauEffWeight_mc = 'effMediumIsoTau20MC' -mc_eleEffWeight_mc = 'effEle18MC' -mc_tauEffWeight = 'effTau2011AB_TauEle' -mc_eleEffWeight = 'effEle2011AB' - - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer', - verbose = False - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - # fixedWeight = 1, - verbose = False - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - verbose = False - ) - -tauEleAna = cfg.Analyzer( - 'TauEleAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = None, - pt2 = 20, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauEle', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - leptonType = 11 - ) - -dyLLReweighterTauEle = cfg.Analyzer( - 'DYLLReweighterTauEle', - # 2012 - W1p0PB = 0.87, # weight for 1 prong 0 Pi Barrel - W1p0PE = 0.40, - W1p1PB = 1.19, - W1p1PE = 0.72, - verbose = False - ) - -WNJetsAna = cfg.Analyzer( - 'WNJetsAnalyzer', - verbose = False, - fractions = [ 0.752276599407, - 0.171668857336, - 0.0536961443722, - 0.0159474294633, - 0.00641100015491, - ], - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -eleWeighter = cfg.Analyzer( - 'LeptonWeighter_ele', - effWeight = mc_eleEffWeight, - effWeightMC = mc_eleEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = ele_id_tauele_2011, - isoWeight = ele_iso_tauele_2011 - ) - - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 500, - deltaEta = 3.5 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG_HCP_42X.weights.xml', - jetCol = 'cmgPFJetSel', - jetPt = 20., - jetEta = 4.7, - cjvPtCut = 30., - btagSFseed = 123456, - relaxJetId = False, - **vbfKwargs - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauEle' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree', - pt20 = False, - # isFake = 0 - ) - -######################################################################################### - -# from CMGTools.H2TauTau.proto.samples.run2011.tauMu_ColinJun25 import * -# from CMGTools.H2TauTau.proto.samples.run2011.tauMu_ColinJul4 import * -# from CMGTools.H2TauTau.proto.samples.run2011.tauMu_Sync_ColinAug30 import * - -# from CMGTools.H2TauTau.proto.samples.run2011.tauMu_ColinSep20 import * - -# from CMGTools.H2TauTau.proto.samples.run2011.tauEle_Up_ColinOct31 import * -# from CMGTools.H2TauTau.proto.samples.run2011.tauEle_Down_ColinOct31 import * -from CMGTools.H2TauTau.proto.samples.run2011.tauEle_Sync_Colin import * - -######################################################################################### - - - -WNJetsAna.nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] - -# selectedComponents = allsamples -diboson_list = [ WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L, - T_tW, - Tbar_tW - ] -WJetsSoup = copy.copy(WJets) -WJetsSoup.name = 'WJetsSoup' -VVgroup = [comp.name for comp in diboson_list] -# higgs = [HiggsVBF125, HiggsGGH125, HiggsVH125] -selectedComponents = [WJetsSoup, TTJets, DYJets] -# selectedComponents = [WJets, W1Jets, W2Jets, W3Jets, W4Jets, TTJets, DYJets] -higgs = mc_higgs -selectedComponents.extend( higgs ) -selectedComponents.extend( diboson_list ) -selectedComponents.extend( data_list_2011 ) -selectedComponents.extend( embed_list_2011 ) - -sequence = cfg.Sequence( [ -# eventSelector, - jsonAna, - triggerAna, - vertexAna, - tauEleAna, - dyJetsFakeAna, - dyLLReweighterTauEle, - WNJetsAna, - higgsWeighter, - vbfAna, - embedWeighter, - tauWeighter, - eleWeighter, - treeProducer - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck) - - -test = 1 -if test==1: - comp = HiggsVBF125 - # comp.files = comp.files[:5] - selectedComponents = [comp] - comp.splitFactor = 14 -elif test==2: - selectedComponents = copy.copy(data_list_2011) - selectedComponents.extend(embed_list_2011) - selectedComponents.extend(MC_list[0:3]) - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:3] - - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_cfg.py b/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_cfg.py deleted file mode 100644 index 48b9cb3b3adb..000000000000 --- a/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_cfg.py +++ /dev/null @@ -1,293 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import ele_id_tauele_2012, ele_iso_tauele_2012 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True -doThePlot = True - -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/MC_Summer12_PU_S10-600bins.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/Data_Pileup_2012_ReRecoPixel-600bins.root' - -# vertexFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012/Vertices' -# vertexFileData = '/'.join([vertexFileDir, 'vertices_data_2012A_2012B_start_195947.root']) - -mc_vertexWeight = None - -hlt_tauEffWeight_mc = 'effTau_eTau_MC_2012ABCDSummer13' -hlt_tauEffWeight = 'effTau_eTau_Data_2012ABCDSummer13' -hlt_eleEffWeight_mc = 'effEle_eTau_MC_2012ABCD' -hlt_eleEffWeight = 'effEle_eTau_Data_2012ABCDSummer13' - -eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - # 569585, 57550, 912336, 133349, 423876, 468948, 676704, 126551, 586718, 375970, 922574, 206784 - 168219, 936722, 147035, 57589, 207111 - ] - ) - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer', - verbose = False - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - isRecHit = False, - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - - -tauEleAna = cfg.Analyzer( - 'TauEleAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = None, - pt2 = 24, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauEle', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - src = 'genParticlesPruned', - ) - -dyLLReweighterTauEle = cfg.Analyzer( - 'DYLLReweighterTauEle', - # 2012 - W1p0PB = 1.37, # weight for 1 prong 0 Pi Barrel - W1p0PE = 1.11, - W1p1PB = 2.18, - W1p1PE = 0.47, - verbose = False - ) - -NJetsAna = cfg.Analyzer( - 'NJetsAnalyzer', - verbose = False, - fillTree = True, - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - src = 'genParticlesPruned', - ) - -tauDecayModeWeighter = cfg.Analyzer( - 'TauDecayModeWeighter', - verbose = False, - ) - -tauFakeRateWeighter = cfg.Analyzer( - 'TauFakeRateWeighter' - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = hlt_tauEffWeight, - effWeightMC = hlt_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -eleWeighter = cfg.Analyzer( - 'LeptonWeighter_ele', - effWeight = hlt_eleEffWeight, - effWeightMC = hlt_eleEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = ele_id_tauele_2012, - isoWeight = ele_iso_tauele_2012 - ) - - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 500, - deltaEta = 3.5 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG_HCP_52X.weights.xml', - jetCol = 'cmgPFJetSel', - jetPt = 20., - jetEta = 4.7, - cjvPtCut = 30., - btagSFseed = 123456, - relaxJetId = False, - **vbfKwargs - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauEle' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree', - pt20 = False, - # isFake = 0 - ) - -######################################################################################### - -# from CMGTools.H2TauTau.proto.samples.run2012.tauEle_JanJul15 import * -from CMGTools.H2TauTau.proto.samples.run2012.tauEle_JanAug08 import * - -######################################################################################### - -for mc in MC_list: - mc.puFileMC = puFileMC - mc.puFileData = puFileData - if mc.name.find('DYJets')!=-1: - mc.fakes = True -for emb in embed_list: - emb.puFileData = None - emb.puFileMC = None - - -# selectedComponents = allsamples -diboson_list = [ WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L, - T_tW, - Tbar_tW - ] -WJetsSoup = copy.copy(WJets) -WJetsSoup.name = 'WJetsSoup' - -DYJetsSoup = copy.copy(DYJets) -DYJetsSoup.name = 'DYJetsSoup' - -VVgroup = [comp.name for comp in diboson_list] -# higgs = [HiggsVBF125, HiggsGGH125, HiggsVH125] -TTgroup = None - -selectedComponents = [TTJetsFullLept, - TTJetsSemiLept, - TTJetsHadronic, - WJets, W1Jets, W2Jets, W3Jets, W4Jets, - W1Jets_ext, W2Jets_ext, W3Jets_ext, - # TTJets, - DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets, - ] - -TTgroup = None -if doThePlot: - selectedComponents = [ - WJetsSoup, - TTJetsFullLept, - TTJetsSemiLept, - TTJetsHadronic, - DYJetsSoup - ] - TTgroup = [TTJetsFullLept.name, - TTJetsSemiLept.name, - TTJetsHadronic.name] - # VVgroup = None - -higgs = [c for c in mc_higgs if c.getWeight().genNEvents] -# if not doThePlot: -selectedComponents.extend( higgs ) -selectedComponents.extend( mc_higgs_susy ) -selectedComponents.extend( diboson_list ) -selectedComponents.extend( data_list ) -selectedComponents.extend( embed_list ) - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - triggerAna, - vertexAna, - tauEleAna, - dyJetsFakeAna, - dyLLReweighterTauEle, - NJetsAna, - higgsWeighter, - vbfAna, - pileUpAna, - embedWeighter, - tauDecayModeWeighter, - tauFakeRateWeighter, - tauWeighter, - eleWeighter, - treeProducer - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck) - - -test = 0 -if test==1: - comp = HiggsVBF125 - comp = DYJets - comp = W1Jets_ext - # comp.files = comp.files[:5] - # comp = embed_Run2012D_22Jan - selectedComponents = [comp] - comp.splitFactor = 1 -elif test==2: - selectedComponents = copy.copy(data_list) - selectedComponents.extend(embed_list) - selectedComponents.extend(MC_list[0:3]) - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:3] -elif test==3: - # selectedComponents = [s for s in selectedComponents if 'Higgs' in s.name and not '125' in s.name] - # selectedComponents = [h for h in higgs if 'GGH' in h.name] - # selectedComponents = [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - selectedComponents = [W1Jets_ext, W2Jets_ext, W3Jets_ext,WJets, W1Jets, W2Jets, W3Jets, W4Jets] - # selectedComponents = mc_higgs_susy - # selectedComponents += higgs - # selectedComponents += [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - # selectedComponents = embed_list - # selectedComponents += [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - # selectedComponents = data_list - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_colin_cfg.py b/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_colin_cfg.py deleted file mode 100644 index fe11173fe908..000000000000 --- a/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_colin_cfg.py +++ /dev/null @@ -1,243 +0,0 @@ - -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import ele_id_tauele_2012, ele_iso_tauele_2012 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True - -puFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012' - -# andrew ICHEP -# puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/12-09-12/MC_Summer12_PU_S7.root' -# puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/12-09-12/Data_Pileup_2012.root' -# andrew HCP -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/28-09-12/MC_Summer12_PU_S10-600bins.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/28-09-12/Data_Pileup_2012_HCP-600bins.root' - - -vertexFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012/Vertices' -vertexFileData = '/'.join([vertexFileDir, 'vertices_data_2012A_2012B_start_195947.root']) - -mc_vertexWeight = None - -hlt_tauEffWeight_mc = 'eff2012Tau20MC53X_TauEle' -hlt_tauEffWeight = 'effTau2012ABC_TauEle' -hlt_eleEffWeight_mc = 'eff_2012_Rebecca_TauEle_Ele2253XMC' -hlt_eleEffWeight = 'effEle2012_Rebecca_TauEle_ABC' - - -eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - 294445 , - 375970 , - 857134 , - 27006 , - 53847 , - 55227 , - 99808 , - 712871 , - 719098 , - 107416 , - 240580 , - 588573 , - 178124 , - 359703 , - 369616 , - 571459 , - ] - ) - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer', - verbose = True - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - - -TauEleAna = cfg.Analyzer( - 'TauEleAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = 999, - pt2 = 24, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauEle', - verbose = True - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - leptonType = 11 - ) - -WNJetsAna = cfg.Analyzer( - 'WNJetsAnalyzer', - verbose = False - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = hlt_tauEffWeight, - effWeightMC = hlt_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -electronWeighter = cfg.Analyzer( - 'LeptonWeighter_ele', - effWeight = hlt_eleEffWeight, - effWeightMC = hlt_eleEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = ele_id_tauele_2012, - isoWeight = ele_iso_tauele_2012 - ) - - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 400, - deltaEta = 4.0 - ) - - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG_HCP_52X.weights.xml', - jetCol = 'cmgPFJetSel', - jetPt = 20, - jetEta = 4.7, - **vbfKwargs - ) - - - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauEle' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree' - ) - -######################################################################################### - -# from CMGTools.H2TauTau.proto.samples.run2012.tauEle_ColinJul5 import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauEle_ColinAug8 import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauEle_Sync_ColinOct1 import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauEle_PietroSep25 import * - -# from CMGTools.H2TauTau.proto.samples.run2012.tauEle_PietroOct05 import * -from CMGTools.H2TauTau.proto.samples.run2012.tauEle_Sync_Colin import * - -######################################################################################### - - -for mc in MC_list: - mc.puFileMC = puFileMC - mc.puFileData = puFileData - -for emb in embed_list: - emb.puFileData = None - emb.puFileMC = None - -selectedComponents = allsamples - - -sequence = cfg.Sequence( [ - eventSelector, - jsonAna, - triggerAna, - vertexAna, - TauEleAna, - dyJetsFakeAna, - WNJetsAna, - higgsWeighter, - vbfAna, - pileUpAna, - embedWeighter, - tauWeighter, - electronWeighter, - treeProducer - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck ) - -test = 1 -if test==1: - # comp = DYJets - # comp = data_Run2012A - # comp = data_Run2012C_v2 - comp = HiggsVBF125 - # comp = HiggsVH125 - # comp = Tbar_tW - # HiggsVBF125.triggers = [] - comp.files = comp.files[:10] - selectedComponents = [comp] - comp.splitFactor = 1 - # comp.files = comp.files[:1] - # for 53 MC: - # comp.triggers = ['HLT_Ele22_eta2p1_WP90Rho_LooseIsoPFTau20_v*'] -elif test==2: - selectedComponents = copy.copy (embed_list) - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:10] -elif test==5: - # run this with python to get numbers for the soup - print 'WJets : ', WJets.nGenEvents, WJets.effCorrFactor - print 'W1Jets : ', W1Jets.nGenEvents, W1Jets.effCorrFactor - print 'W2Jets : ', W2Jets.nGenEvents, W2Jets.effCorrFactor - print 'W3Jets : ', W3Jets.nGenEvents, W3Jets.effCorrFactor - print 'W4Jets : ', W4Jets.nGenEvents, W4Jets.effCorrFactor - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_down_cfg.py b/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_down_cfg.py deleted file mode 100644 index bd2b45d4f4f1..000000000000 --- a/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_down_cfg.py +++ /dev/null @@ -1,270 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import ele_id_tauele_2012, ele_iso_tauele_2012 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True -doThePlot = True - -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/MC_Summer12_PU_S10-600bins.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/Data_Pileup_2012_ReRecoPixel-600bins.root' - -# vertexFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012/Vertices' -# vertexFileData = '/'.join([vertexFileDir, 'vertices_data_2012A_2012B_start_195947.root']) - -mc_vertexWeight = None - -hlt_tauEffWeight_mc = 'effTau_eTau_MC_2012ABCDSummer13' -hlt_tauEffWeight = 'effTau_eTau_Data_2012ABCDSummer13' -hlt_eleEffWeight_mc = 'effEle_eTau_MC_2012ABCD' -hlt_eleEffWeight = 'effEle_eTau_Data_2012ABCDSummer13' - -eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - # 569585, 57550, 912336, 133349, 423876, 468948, 676704, 126551, 586718, 375970, 922574, 206784 - 168219, 936722, 147035, 57589, 207111 - ] - ) - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer', - verbose = False - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - isRecHit = False, - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - - -tauEleAna = cfg.Analyzer( - 'TauEleAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = None, - pt2 = 24, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauEle', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - leptonType = 11, - src = 'genParticlesPruned', - ) - -dyLLReweighterTauEle = cfg.Analyzer( - 'DYLLReweighterTauEle', - # 2012 - W1p0PB = 1.37, # weight for 1 prong 0 Pi Barrel - W1p0PE = 1.11, - W1p1PB = 2.18, - W1p1PE = 0.47, - verbose = False - ) - -NJetsAna = cfg.Analyzer( - 'NJetsAnalyzer', - verbose = False, - fillTree = True, - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - src = 'genParticlesPruned', - ) - -tauDecayModeWeighter = cfg.Analyzer( - 'TauDecayModeWeighter', - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = hlt_tauEffWeight, - effWeightMC = hlt_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -eleWeighter = cfg.Analyzer( - 'LeptonWeighter_ele', - effWeight = hlt_eleEffWeight, - effWeightMC = hlt_eleEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = ele_id_tauele_2012, - isoWeight = ele_iso_tauele_2012 - ) - - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 500, - deltaEta = 3.5 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG_HCP_52X.weights.xml', - jetCol = 'cmgPFJetSel', - jetPt = 20., - jetEta = 4.7, - cjvPtCut = 30., - btagSFseed = 123456, - relaxJetId = False, - **vbfKwargs - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauEle' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree', - pt20 = False, - # isFake = 0 - ) - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.run2012.tauEle_down_JanJul29 import * - -######################################################################################### - -for mc in MC_list: - mc.puFileMC = puFileMC - mc.puFileData = puFileData - if mc.name.find('DYJets')!=-1: - mc.fakes = True -for emb in embed_list: - emb.puFileData = None - emb.puFileMC = None - - -# selectedComponents = allsamples -diboson_list = [ WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L, - T_tW, - Tbar_tW - ] -WJetsSoup = copy.copy(WJets) -WJetsSoup.name = 'WJetsSoup' - -DYJetsSoup = copy.copy(DYJets) -DYJetsSoup.name = 'DYJetsSoup' - -VVgroup = [comp.name for comp in diboson_list] -# higgs = [HiggsVBF125, HiggsGGH125, HiggsVH125] -TTgroup = None - -selectedComponents = [TTJetsFullLept, - TTJetsSemiLept, - TTJetsHadronic, - WJets, W1Jets, W2Jets, W3Jets, W4Jets, - # TTJets, - DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets, - ] - -TTgroup = None -if doThePlot: - selectedComponents = [ - DYJetsSoup - ] - selectedComponents.extend( data_list ) - -higgs = [c for c in mc_higgs if c.getWeight().genNEvents] -# if not doThePlot: -selectedComponents.extend( higgs ) -selectedComponents.extend( mc_higgs_susy ) -# selectedComponents.extend( diboson_list ) -selectedComponents.extend( embed_list ) - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - triggerAna, - vertexAna, - tauEleAna, - dyJetsFakeAna, - dyLLReweighterTauEle, - NJetsAna, - higgsWeighter, - vbfAna, - pileUpAna, - embedWeighter, - tauDecayModeWeighter, - tauWeighter, - eleWeighter, - treeProducer - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck) - -selectedComponents = [s for s in selectedComponents if s.files] - -test = 0 -if test==1: - comp = HiggsVBF125 - comp = DYJets - # comp.files = comp.files[:5] - # comp = embed_Run2012D_22Jan - selectedComponents = [comp] - comp.splitFactor = 1 -elif test==2: - selectedComponents = copy.copy(data_list) - selectedComponents.extend(embed_list) - selectedComponents.extend(MC_list[0:3]) - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:3] -elif test==3: - # selectedComponents = mc_higgs_susy - # selectedComponents = [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - selectedComponents = [HiggsVBF125] - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_sync52X_cfg.py b/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_sync52X_cfg.py deleted file mode 100644 index 8e7ec6bcc6dc..000000000000 --- a/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_sync52X_cfg.py +++ /dev/null @@ -1,234 +0,0 @@ - -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import ele_id_tauele_2012, ele_iso_tauele_2012 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True - -puFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012' - -# andrew ICHEP -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/12-09-12/MC_Summer12_PU_S7.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/12-09-12/Data_Pileup_2012.root' - -vertexFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012/Vertices' -vertexFileData = '/'.join([vertexFileDir, 'vertices_data_2012A_2012B_start_195947.root']) - -mc_vertexWeight = None - -mc_tauEffWeight_mc = 'eff2012Tau20MC_TauEle' -mc_eleEffWeight_mc = 'eff2012Ele20MC' -mc_tauEffWeight = 'effTau2012AB_TauEle' -mc_eleEffWeight = 'effEle2012AB' - - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer', -# verbose = True - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - - -TauEleAna = cfg.Analyzer( - 'TauEleAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = 999, - pt2 = 24, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauEle', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - leptonType = 11 - ) - -WNJetsAna = cfg.Analyzer( - 'WNJetsAnalyzer', - verbose = False - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -electronWeighter = cfg.Analyzer( - 'LeptonWeighter_ele', - effWeight = mc_eleEffWeight, - effWeightMC = mc_eleEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = ele_id_tauele_2012, - isoWeight = ele_iso_tauele_2012 - ) - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 400, - deltaEta = 4.0 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG.weights.44X.xml', - jetCol = 'cmgPFJetSel', - jetPt = 30, - jetEta = 5.0, - **vbfKwargs - ) - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauEle' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree' - ) - -######################################################################################### - -# from CMGTools.H2TauTau.proto.samples.run2012.tauEle_ColinJul5 import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauEle_ColinAug8 import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauEle_Sync_ColinOct1 import * -from CMGTools.H2TauTau.proto.samples.run2012.tauEle_PietroSep25 import * - -######################################################################################### - - -# MC_list = [WJets, DYJets, TTJets] -# MC_list = [HiggsVBF125] -MC_list = copy.copy(MC) -data_list = copy.copy(data_list_Run2012A) -data_list.extend(data_list_Run2012B) -embed_list = copy.copy(embed_list_Run2012A) -embed_list.extend(embed_list_Run2012B) - -for mc in MC_list: - mc.puFileMC = puFileMC - mc.puFileData = puFileData - mc.splitFactor = 10 - if mc.name.find('DYJets')!=-1: - mc.splitFactor = 100 - mc.fakes = True - elif mc.name.find('WJets')!=-1: - mc.splitFactor = 50 - elif mc.name.find('W2Jets')!=-1: - mc.splitFactor = 50 - elif mc.name.find('W3Jets')!=-1: - mc.splitFactor = 25 - elif mc.name.find('TTJets')!=-1: - mc.splitFactor = 80 - elif mc.name.find('T_tW')!=-1: - mc.splitFactor = 1 - elif mc.name.find('Tbar_tW')!=-1: - mc.splitFactor = 1 - elif mc.name.find('WW')!=-1 or \ - mc.name.find('WZ')!=-1 or \ - mc.name.find('ZZ')!=-1: - mc.splitFactor = 50 - elif mc.name.find('HiggsVBF120')!=-1 or \ - mc.name.find('HiggsGGH120')!=-1 or \ - mc.name.find('HiggsVH120')!=-1: - mc.splitFactor = 50 - elif mc.name.find('HiggsVBF150')!=-1 or \ - mc.name.find('HiggsGGH150')!=-1 or \ - mc.name.find('HiggsVH150')!=-1: - mc.splitFactor = 30 -for emb in embed_list: - emb.puFileData = None - emb.puFileMC = None - emb.splitFactor = 10 - -data_Run2012A.splitFactor = 40 -data_Run2012B.splitFactor = 200 - -selectedComponents = copy.copy(MC_list) -selectedComponents.extend( data_list ) -selectedComponents.extend( embed_list ) - - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - triggerAna, - vertexAna, - TauEleAna, - dyJetsFakeAna, - WNJetsAna, - higgsWeighter, - vbfAna, - pileUpAna, - embedWeighter, - tauWeighter, - electronWeighter, - treeProducer - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck) - -# selectedComponents = embed_list - -test = 0 -if test==1: - comp = HiggsVBF125 - selectedComponents = [comp] - comp.splitFactor = 1 -elif test==2: - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:5] - - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_up_cfg.py b/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_up_cfg.py deleted file mode 100644 index e844c79dff50..000000000000 --- a/CMGTools/H2TauTau/cfgPython/et/tauEle_2012_up_cfg.py +++ /dev/null @@ -1,267 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import ele_id_tauele_2012, ele_iso_tauele_2012 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True -doThePlot = True - -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/MC_Summer12_PU_S10-600bins.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/Data_Pileup_2012_ReRecoPixel-600bins.root' - -# vertexFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012/Vertices' -# vertexFileData = '/'.join([vertexFileDir, 'vertices_data_2012A_2012B_start_195947.root']) - -mc_vertexWeight = None - -hlt_tauEffWeight_mc = 'effTau_eTau_MC_2012ABCDSummer13' -hlt_tauEffWeight = 'effTau_eTau_Data_2012ABCDSummer13' -hlt_eleEffWeight_mc = 'effEle_eTau_MC_2012ABCD' -hlt_eleEffWeight = 'effEle_eTau_Data_2012ABCDSummer13' - -eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - # 569585, 57550, 912336, 133349, 423876, 468948, 676704, 126551, 586718, 375970, 922574, 206784 - 168219, 936722, 147035, 57589, 207111 - ] - ) - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer', - verbose = False - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - isRecHit = False, - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - - -tauEleAna = cfg.Analyzer( - 'TauEleAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = None, - pt2 = 24, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauEle', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - leptonType = 11, - src = 'genParticlesPruned', - ) - -dyLLReweighterTauEle = cfg.Analyzer( - 'DYLLReweighterTauEle', - # 2012 - W1p0PB = 1.37, # weight for 1 prong 0 Pi Barrel - W1p0PE = 1.11, - W1p1PB = 2.18, - W1p1PE = 0.47, - verbose = False - ) - -NJetsAna = cfg.Analyzer( - 'NJetsAnalyzer', - verbose = False, - fillTree = True, - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - src = 'genParticlesPruned', - ) - -tauDecayModeWeighter = cfg.Analyzer( - 'TauDecayModeWeighter', - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = hlt_tauEffWeight, - effWeightMC = hlt_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -eleWeighter = cfg.Analyzer( - 'LeptonWeighter_ele', - effWeight = hlt_eleEffWeight, - effWeightMC = hlt_eleEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = ele_id_tauele_2012, - isoWeight = ele_iso_tauele_2012 - ) - - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 500, - deltaEta = 3.5 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG_HCP_52X.weights.xml', - jetCol = 'cmgPFJetSel', - jetPt = 20., - jetEta = 4.7, - cjvPtCut = 30., - btagSFseed = 123456, - relaxJetId = False, - **vbfKwargs - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauEle' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree', - pt20 = False, - # isFake = 0 - ) - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.run2012.tauEle_up_JanJul29 import * - -######################################################################################### - -for mc in MC_list: - mc.puFileMC = puFileMC - mc.puFileData = puFileData - if mc.name.find('DYJets')!=-1: - mc.fakes = True -for emb in embed_list: - emb.puFileData = None - emb.puFileMC = None - - -# selectedComponents = allsamples -diboson_list = [ WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L, - T_tW, - Tbar_tW - ] -WJetsSoup = copy.copy(WJets) -WJetsSoup.name = 'WJetsSoup' - -DYJetsSoup = copy.copy(DYJets) -DYJetsSoup.name = 'DYJetsSoup' - -VVgroup = [comp.name for comp in diboson_list] -# higgs = [HiggsVBF125, HiggsGGH125, HiggsVH125] -TTgroup = None - -selectedComponents = [ - # TTJets, - DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets, - ] - -TTgroup = None -if doThePlot: - selectedComponents = [ - DYJetsSoup - ] - selectedComponents.extend( data_list ) - -higgs = [c for c in mc_higgs if c.getWeight().genNEvents] -# if not doThePlot: -selectedComponents.extend( higgs ) -selectedComponents.extend( mc_higgs_susy ) -selectedComponents.extend( embed_list ) - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - triggerAna, - vertexAna, - tauEleAna, - dyJetsFakeAna, - dyLLReweighterTauEle, - NJetsAna, - higgsWeighter, - vbfAna, - pileUpAna, - embedWeighter, - tauDecayModeWeighter, - tauWeighter, - eleWeighter, - treeProducer - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck) - -selectedComponents = [s for s in selectedComponents if s.files] - -test = 0 -if test==1: - comp = HiggsVBF125 - # comp = DYJets - # comp.files = comp.files[:5] - # comp = embed_Run2012D_22Jan - selectedComponents = [comp] - comp.splitFactor = 1 -elif test==2: - selectedComponents = copy.copy(data_list) - selectedComponents.extend(embed_list) - selectedComponents.extend(MC_list[0:3]) - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:3] -elif test==3: - # selectedComponents = mc_higgs_susy - # selectedComponents = [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - selectedComponents = embed_list - selectedComponents += [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/et/tauEle_2014_cfg.py b/CMGTools/H2TauTau/cfgPython/et/tauEle_2014_cfg.py new file mode 100644 index 000000000000..359b69e627bc --- /dev/null +++ b/CMGTools/H2TauTau/cfgPython/et/tauEle_2014_cfg.py @@ -0,0 +1,193 @@ +import PhysicsTools.HeppyCore.framework.config as cfg +from PhysicsTools.HeppyCore.framework.config import printComps + +# Tau-tau analyzers +from CMGTools.H2TauTau.proto.analyzers.TauEleAnalyzer import TauEleAnalyzer +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducerTauEle import H2TauTauTreeProducerTauEle +from CMGTools.H2TauTau.proto.analyzers.DYLLReweighterTauEle import DYLLReweighterTauEle +from CMGTools.H2TauTau.proto.analyzers.TauDecayModeWeighter import TauDecayModeWeighter +from CMGTools.H2TauTau.proto.analyzers.TauFakeRateWeighter import TauFakeRateWeighter +from CMGTools.H2TauTau.proto.analyzers.LeptonWeighter import LeptonWeighter +from CMGTools.H2TauTau.proto.analyzers.SVfitProducer import SVfitProducer + +# common configuration and sequence +from CMGTools.H2TauTau.htt_ntuple_base_cff import commonSequence, genAna, dyJetsFakeAna, puFileData, puFileMC, eventSelector + +# e-tau specific configuration settings + +# 'Nom', 'Up', 'Down', or None +shift = None +syncntuple = True +computeSVfit = True +production = False # production = True run on batch, production = False run locally + +# When ready, include weights from CMGTools.H2TauTau.proto.weights.weighttable + +# hlt_tauEffWeight_mc = 'effTau_eTau_MC_2012ABCDSummer13' +# hlt_tauEffWeight = 'effTau_eTau_Data_2012ABCDSummer13' +# hlt_eleEffWeight_mc = 'effEle_eTau_MC_2012ABCD' +# hlt_eleEffWeight = 'effEle_eTau_Data_2012ABCDSummer13' + +hlt_tauEffWeight_mc = None +hlt_tauEffWeight = None +hlt_eleEffWeight_mc = None +hlt_eleEffWeight = None + +dyJetsFakeAna.channel = 'et' + +# Define e-tau specific modules + +tauEleAna = cfg.Analyzer( + TauEleAnalyzer, + name='TauEleAnalyzer', + pt1=20, + eta1=2.3, + iso1=1.5, + looseiso1 = 9999., + pt2=23, + eta2=2.1, + iso2=0.1, + looseiso2 = 9999., + m_min=10, + m_max=99999, + dR_min=0.5, + verbose=False +) + +dyLLReweighterTauEle = cfg.Analyzer( + DYLLReweighterTauEle, + name='DYLLReweighterTauEle', + # 2012 + W1p0PB=1., # 1.37, # weight for 1 prong 0 Pi Barrel + W1p0PE=1., # 1.11, + W1p1PB=1., # 2.18, + W1p1PE=1., # 0.47, + verbose=False +) + +tauDecayModeWeighter = cfg.Analyzer( + TauDecayModeWeighter, + name='TauDecayModeWeighter', +) + +tauFakeRateWeighter = cfg.Analyzer( + TauFakeRateWeighter, + name='TauFakeRateWeighter' +) + +tauWeighter = cfg.Analyzer( + LeptonWeighter, + name='LeptonWeighter_tau', + effWeight = None, + effWeightMC = None, + lepton = 'leg1', + verbose = False, + disable = True, + ) + +eleWeighter = cfg.Analyzer( + LeptonWeighter, + name='LeptonWeighter_ele', + effWeight = None, + effWeightMC = None, + lepton = 'leg2', + verbose = False, + disable = True, + idWeight = None, + isoWeight = None + ) + +treeProducer = cfg.Analyzer( + H2TauTauTreeProducerTauEle, + name='H2TauTauTreeProducerTauEle' +) + +syncTreeProducer = cfg.Analyzer( + H2TauTauTreeProducerTauEle, + name='H2TauTauSyncTreeProducerTauEle', + varStyle='sync', + skimFunction='event.isSignal' + ) + + +svfitProducer = cfg.Analyzer( + SVfitProducer, + name='SVfitProducer', + #integration='VEGAS', + integration='MarkovChain', + #verbose=True, + #order='21', # muon first, tau second + l1type='tau', + l2type='ele' + ) + +################################################### +### CONNECT SAMPLES TO THEIR ALIASES AND FILES ### +################################################### +from CMGTools.H2TauTau.proto.samples.phys14.connector import httConnector +my_connect = httConnector('htt_6mar15_manzoni_nom', 'htautau_group', + '.*root', 'et', production=production) +my_connect.connect() +MC_list = my_connect.MC_list + +################################################### +### ASSIGN PU to MC ### +################################################### +for mc in MC_list: + mc.puFileData = puFileData + mc.puFileMC = puFileMC + +################################################### +### SET COMPONENTS BY HAND ### +################################################### +selectedComponents = MC_list +# selectedComponents = mc_dict['HiggsGGH125'] +# for c in selectedComponents : c.splitFactor *= 5 + +################################################### +### SEQUENCE ### +################################################### +sequence = commonSequence +sequence.insert(sequence.index(genAna), tauEleAna) +sequence.append(tauDecayModeWeighter) +sequence.append(tauFakeRateWeighter) +sequence.append(tauWeighter) +sequence.append(eleWeighter) +sequence.insert(sequence.index(dyJetsFakeAna) + 1, dyLLReweighterTauEle) +if computeSVfit: + sequence.append(svfitProducer) +sequence.append(treeProducer) +if syncntuple: + sequence.append(syncTreeProducer) + +################################################### +### CHERRY PICK EVENTS ### +################################################### +# eventSelector.toSelect = [] +# sequence.insert(0, eventSelector) + +################################################### +### SET BATCH OR LOCAL ### +################################################### +if not production: + cache = True + comp = my_connect.mc_dict['HiggsGGH125'] + selectedComponents = [comp] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + comp.files = comp.files[:1] + + +# the following is declared in case this cfg is used in input to the +# heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +config = cfg.Config(components=selectedComponents, + sequence=sequence, + services=[], + events_class=Events + ) + +printComps(config.components, True) + +def modCfgForPlot(config): + config.components = [] diff --git a/CMGTools/H2TauTau/cfgPython/generic/countNUP.py b/CMGTools/H2TauTau/cfgPython/generic/countNUP.py deleted file mode 100644 index f60fd328541f..000000000000 --- a/CMGTools/H2TauTau/cfgPython/generic/countNUP.py +++ /dev/null @@ -1,53 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.RootTools import * - -WNJetsAna = cfg.Analyzer( - 'WNJetsAnalyzer', - verbose = False - ) - - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -filePattern = 'cmgTuple.*root' -cache = False -WJets.files = getFiles('/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/V5_B/PAT_CMG_V5_8_0', 'cmgtools', filePattern, cache) -WJets.splitFactor = 20 -W1Jets.files = getFiles('/W1JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0', 'cmgtools', filePattern, cache) -W1Jets.splitFactor = 20 -W2Jets.files = getFiles('/W2JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0', 'cmgtools', filePattern, cache) -W2Jets.splitFactor = 20 -W3Jets.files = getFiles('/W3JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0', 'cmgtools', filePattern, cache) -W3Jets.splitFactor = 20 -W4Jets.files = getFiles('/W4JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0', 'cmgtools', filePattern, cache) -W4Jets.splitFactor = 20 - -######################################################################################### - -selectedComponents = [WJets, W1Jets, W2Jets, W3Jets, W4Jets] - - -sequence = cfg.Sequence( [ - WNJetsAna, - ] ) - -test = 0 -if test==1: - comp = WJets -# comp.files = comp.files[:20] - selectedComponents = [comp] - comp.splitFactor = 1 -elif test==2: - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:10] - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/generic/jsonAndLumi_cfg.py b/CMGTools/H2TauTau/cfgPython/generic/jsonAndLumi_cfg.py deleted file mode 100644 index 2cdd2ce5b46f..000000000000 --- a/CMGTools/H2TauTau/cfgPython/generic/jsonAndLumi_cfg.py +++ /dev/null @@ -1,66 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import mu_id_taumu_2012, mu_iso_taumu_2012 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - - - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer' - ) - - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.run2012.cmgTuple_data_ColinOct10 import * - -######################################################################################### - - -selectedComponents = [data_Run2012C_v2] - -# | HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v3 | 17991 | 1.464(/fb) | 1.464(/fb) | -# | HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v6 | 46975 | 4.358(/fb) | 4.358(/fb) | -# | HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v7 | 3425 | 281.155(/pb) | 281.155(/pb) | - -data_Run2012C_v2.triggers = [ - 'HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v3', - 'HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v6', - 'HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v7' - ] - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - triggerAna, - ] ) - -for c in allsamples: - c.splitFactor = 400 - -test = 0 -if test==1: - comp = data_Run2012C_v2 - selectedComponents = [comp] - comp.splitFactor = 1 - comp.files = comp.files[:10] -elif test==2: - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:5] - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) - diff --git a/CMGTools/H2TauTau/cfgPython/generic/localCopy_cfg.py b/CMGTools/H2TauTau/cfgPython/generic/localCopy_cfg.py deleted file mode 100644 index 64dc65a185b4..000000000000 --- a/CMGTools/H2TauTau/cfgPython/generic/localCopy_cfg.py +++ /dev/null @@ -1,36 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -process = cms.Process("COPY") - - -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - 'cmgtools', - '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_14_0', - 'cmgTuple.*root', - ) - -process.source.eventsToProcess = cms.untracked.VEventRange("1:351:105104") - -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False)) -#WARNING! -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -process.out = cms.OutputModule( - "PoolOutputModule", - outputCommands = cms.untracked.vstring('keep *'), - fileName = cms.untracked.string('selected.root'), - ) - -#from PFAnalyses.TTBar.topDecayFilters_cff import topFilterEventContent -#process.out.outputCommands.extend( topFilterEventContent) - - -process.endpath = cms.EndPath( - process.out - ) - - - -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 1000 diff --git a/CMGTools/H2TauTau/cfgPython/generic/tauES_2014_cfg.py b/CMGTools/H2TauTau/cfgPython/generic/tauES_2014_cfg.py new file mode 100644 index 000000000000..9a079a44f498 --- /dev/null +++ b/CMGTools/H2TauTau/cfgPython/generic/tauES_2014_cfg.py @@ -0,0 +1,97 @@ +import PhysicsTools.HeppyCore.framework.config as cfg +from PhysicsTools.HeppyCore.framework.config import printComps +from PhysicsTools.HeppyCore.framework.heppy import getHeppyOption + +from PhysicsTools.Heppy.analyzers.objects.TauAnalyzer import TauAnalyzer + +from CMGTools.H2TauTau.proto.analyzers.TauTreeProducer import TauTreeProducer +from CMGTools.H2TauTau.proto.analyzers.TauGenTreeProducer import TauGenTreeProducer + +# from CMGTools.H2TauTau.proto.samples.phys14.connector import httConnector +from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import DYJetsToLL_M50, TTH +from CMGTools.TTHAnalysis.samples.ComponentCreator import ComponentCreator + +# common configuration and sequence +from CMGTools.H2TauTau.htt_ntuple_base_cff import genAna, vertexAna + + +# Get all heppy options; set via "-o production" or "-o production=True" + +# production = True run on batch, production = False (or unset) run locally +production = getHeppyOption('production') + + +treeProducer = cfg.Analyzer( + TauTreeProducer, + name='TauTreeProducer' +) + +genTreeProducer = cfg.Analyzer( + TauGenTreeProducer, + name='TauGenTreeProducer' +) + +tauAna = cfg.Analyzer( + TauAnalyzer, + name='TauAnalyzer', + ptMin=20, + etaMax=9999, + dxyMax=1000., + dzMax=0.2, + vetoLeptons=False, + leptonVetoDR=0.4, + decayModeID="decayModeFindingNewDMs", # ignored if not set or "" + tauID="decayModeFindingNewDMs", + vetoLeptonsPOG=False, # If True, the following two IDs are required + tauAntiMuonID="againstMuonLoose3", + tauAntiElectronID="againstElectronLooseMVA5", + tauLooseID="decayModeFinding", +) + +# ################################################### +# ### CONNECT SAMPLES TO THEIR ALIASES AND FILES ### +# ################################################### +# my_connect = httConnector('htt_6mar15_manzoni_nom', 'CMS', +# '.*root', 'mt', production=production) +# my_connect.connect() +# MC_list = my_connect.MC_list + + +creator = ComponentCreator() +ggh125 = creator.makeMCComponent("GGH125", "/GluGluToHToTauTau_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 1.0) + +################################################### +### SET COMPONENTS BY HAND ### +################################################### +selectedComponents = [TTH] # [ggh125] +sequence = cfg.Sequence([ + genAna, + vertexAna, + tauAna, + treeProducer, + genTreeProducer +]) + +if not production: + cache = True + comp = selectedComponents[0] + selectedComponents = [comp] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + comp.files = comp.files[:1] + + +# the following is declared in case this cfg is used in input to the +# heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +config = cfg.Config(components=selectedComponents, + sequence=sequence, + services=[], + events_class=Events + ) + +printComps(config.components, True) + + +def modCfgForPlot(config): + config.components = [] diff --git a/CMGTools/H2TauTau/cfgPython/mm/diMu_2011_cfg.py b/CMGTools/H2TauTau/cfgPython/mm/diMu_2011_cfg.py deleted file mode 100644 index 38b278b3d2b5..000000000000 --- a/CMGTools/H2TauTau/cfgPython/mm/diMu_2011_cfg.py +++ /dev/null @@ -1,135 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import mu_id_taumu_2012, mu_iso_taumu_2012 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -mc_vertexWeight = 'vertexWeightFall112012AB' - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'offlinePrimaryVertices', - vertexWeight = mc_vertexWeight, - # fixedWeight = 1, - verbose = False - ) - - -ZMuMuAna = cfg.Analyzer( - 'ZMuMuAnalyzer', - pt1 = 10, - eta1 = 2.4, - iso1 = 0.3, - pt2 = 10, - eta2 = 2.4, - iso2 = 0.3, - m_min = 50, - m_max = 120, - verbose = False - ) - - -leg1Weighter = cfg.Analyzer( - 'LeptonWeighter_leg1', - effWeight = None, - effWeightMC = None, - lepton = 'leg1', - verbose = False, - disable = True, - idWeight = mu_id_taumu_2012, - isoWeight = mu_iso_taumu_2012 - ) - -leg2Weighter = cfg.Analyzer( - 'LeptonWeighter_leg2', - effWeight = None, - effWeightMC = None, - lepton = 'leg2', - verbose = False, - disable = True, - idWeight = mu_id_taumu_2012, - isoWeight = mu_iso_taumu_2012 - ) - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 500, - deltaEta = 3.5 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG_HCP_42X.weights.xml', - jetCol = 'cmgPFJetSel', - jetPt = 20., - jetEta = 4.7, - cjvPtCut = 30., - btagSFseed = 123456, - relaxJetId = True, - **vbfKwargs - ) - - -treeProducer = cfg.Analyzer( - 'ZJetsTreeProducer' - ) - - -######################################################################################### - - -from CMGTools.H2TauTau.proto.samples.run2011.diMu_ColinNov6 import * - -######################################################################################### - -# selectedComponents = copy.copy(data_list_2012) -selectedComponents = data_list_2012 -# selectedComponents.append( DYJets ) -# selectedComponents = [] -selectedComponents.extend([TTJets, DYJets]) -selectedComponents.extend(mc_diboson) - -VVgroup = [comp.name for comp in mc_diboson] - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - vertexAna, - ZMuMuAna, - leg1Weighter, - leg2Weighter, - # WNJetsAna, - vbfAna, - treeProducer - ] ) - - -test = 0 -if test==1: - comp = DYJets - comp.files = comp.files[:10] - selectedComponents = [comp] - comp.splitFactor = 1 -elif test==2: - selectedComponents = copy.copy(data_list_2012) - selectedComponents.extend(embed_list_2012) - selectedComponents.extend(MC_list[0:3]) - - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:3] - - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/mm/diMu_2014_cfg.py b/CMGTools/H2TauTau/cfgPython/mm/diMu_2014_cfg.py new file mode 100644 index 000000000000..e976cd0ebf62 --- /dev/null +++ b/CMGTools/H2TauTau/cfgPython/mm/diMu_2014_cfg.py @@ -0,0 +1,168 @@ +import PhysicsTools.HeppyCore.framework.config as cfg +from PhysicsTools.HeppyCore.framework.config import printComps + +# Tau-tau analyzers +from CMGTools.H2TauTau.proto.analyzers.MuMuAnalyzer import MuMuAnalyzer +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducerMuMu import H2TauTauTreeProducerMuMu +from CMGTools.H2TauTau.proto.analyzers.LeptonWeighter import LeptonWeighter +from CMGTools.H2TauTau.proto.analyzers.SVfitProducer import SVfitProducer +from CMGTools.H2TauTau.proto.analyzers.MVAMETProducer import MVAMETProducer + +# common configuration and sequence +from CMGTools.H2TauTau.htt_ntuple_base_cff import commonSequence, genAna, dyJetsFakeAna, puFileData, puFileMC + + +### mu-tau specific configuration settings + +# 'Nom', 'Up', 'Down', or None +shift = None +syncntuple = False +computeSVfit = False + +# When ready, include weights from CMGTools.H2TauTau.proto.weights.weighttable + +# mc_tauEffWeight_mc = 'effTau_muTau_MC_2012ABCDSummer13' +# mc_muEffWeight_mc = 'effMu_muTau_MC_2012ABCD' +# mc_tauEffWeight = 'effTau_muTau_Data_2012ABCDSummer13' +# mc_muEffWeight = 'effMu_muTau_Data_2012ABCDSummer13' + +mc_tauEffWeight_mc = None +mc_muEffWeight_mc = None +mc_tauEffWeight = None +mc_muEffWeight = None + +dyJetsFakeAna.channel = 'mt' + +### Define mu-tau specific modules + +MuMuAna = cfg.Analyzer( + MuMuAnalyzer, + name='MuMuAnalyzer', + pt1 = 20, + eta1 = 2.3, + iso1 = 0.1, + pt2 = 20, + eta2 = 2.3, + iso2 = 0.1, + m_min = 10, + m_max = 99999, + dR_min = 0.5, + # triggerMap = pathsAndFilters, + verbose = True +) + +muonWeighter1 = cfg.Analyzer( + LeptonWeighter, + name='LeptonWeighter_mu_1', + effWeight = None, + effWeightMC = None, + lepton = 'leg1', + verbose = True, + disable = True, + ) + +muonWeighter2 = cfg.Analyzer( + LeptonWeighter, + name='LeptonWeighter_mu_2', + effWeight = None, + effWeightMC = None, + lepton = 'leg2', + verbose = True, + disable = True, + idWeight = None, + isoWeight = None + ) + +treeProducer = cfg.Analyzer( + H2TauTauTreeProducerMuMu, + name='H2TauTauTreeProducerMuMu' + ) + +syncTreeProducer = cfg.Analyzer( + H2TauTauTreeProducerMuMu, + name='H2TauTauSyncTreeProducerMuMu', + varStyle='sync', + skimFunction='event.isSignal' + ) + +svfitProducer = cfg.Analyzer( + SVfitProducer, + name='SVfitProducer', + integration='VEGAS', + #integration='MarkovChain', + #debug=True, + l1type='muon', + l2type='muon' + ) + + +mvaMetProducer = cfg.Analyzer( + MVAMETProducer, + name='MVAMETProducer' + ) + +################################################### +### CONNECT SAMPLES TO THEIR ALIASES AND FILES ### +################################################### +from CMGTools.H2TauTau.proto.samples.phys14.tauMu_Jan_Feb13 import MC_list, mc_dict + +################################################### +### ASSIGN PU to MC ### +################################################### +for mc in MC_list: + mc.puFileData = puFileData + mc.puFileMC = puFileMC + +################################################### +### SET COMPONENTS BY HAND ### +################################################### +selectedComponents = [mc_dict['HiggsGGH125']] +# for c in selectedComponents : c.splitFactor *= 5 + +################################################### +### SEQUENCE ### +################################################### +sequence = commonSequence +sequence.insert(sequence.index(genAna), MuMuAna) +sequence.append(muonWeighter1) +sequence.append(muonWeighter2) +sequence.append(mvaMetProducer) +if computeSVfit: + sequence.append(svfitProducer) +sequence.append(treeProducer) +if syncntuple: + sequence.append(syncTreeProducer) + +################################################### +### CHERRY PICK EVENTS ### +################################################### +# eventSelector.toSelect = [] +# sequence.insert(0, eventSelector) + +################################################### +### SET BATCH OR LOCAL ### +################################################### +# JAN - can we finally get this via command line options? +test = 1 # test = 0 run on batch, test = 1 run locally +if test == 1: + comp = mc_dict['HiggsGGH125'] + comp.name = 'DYJets' + selectedComponents = [comp] + comp.splitFactor = 1 + comp.files = ['/afs/cern.ch/user/s/steggema/work/CMSSW_7_2_3/src/CMGTools/H2TauTau/prod/diMu_fullsel_tree_CMG.root'] + # comp.files = comp.files[:1] + + +# the following is declared in case this cfg is used in input to the +# heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +config = cfg.Config(components=selectedComponents, + sequence=sequence, + services=[], + events_class=Events + ) + +printComps(config.components, True) + +def modCfgForPlot(config): + config.components = [] diff --git a/CMGTools/H2TauTau/cfgPython/mm/zmumu_cfg.py b/CMGTools/H2TauTau/cfgPython/mm/zmumu_cfg.py deleted file mode 100644 index e119b643d0f8..000000000000 --- a/CMGTools/H2TauTau/cfgPython/mm/zmumu_cfg.py +++ /dev/null @@ -1,101 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.H2TauTau.triggerMap import pathsAndFilters - - - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer' - ) - -ZMuMuAna = cfg.Analyzer( - 'ZMuMuAnalyzer', - pt1 = 10, - pt2 = 10, - iso1 = 0.3, - iso2 = 0.3, - eta1 = 2.5, - eta2 = 2.5, - m_min = 0, - m_max = 200 - ) - - -## tauWeighter = cfg.Analyzer( -## 'LeptonWeighter_tau', -## effWeight = mc_tauEffWeight, -## effWeightMC = mc_tauEffWeight_mc, -## lepton = 'leg1', -## verbose = False -## ) - -## muonWeighter = cfg.Analyzer( -## 'LeptonWeighter_mu', -## effWeight = mc_muEffWeight, -## effWeightMC = mc_muEffWeight_mc, -## lepton = 'leg2', -## verbose = False -## ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - # vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False - ) - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 400, - deltaEta = 4.0 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - jetCol = 'cmgPFJetSelAK5NoPUSubCMG', - jetPt = 30, - jetEta = 4.5, - **vbfKwargs - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducer' - ) - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.run2012.zmumu_13Apr import * -# from CMGTools.H2TauTau.proto.samples.run2012.zeleele_13Apr import * - -######################################################################################### - - -sequence = cfg.Sequence( [ - triggerAna, - ZMuMuAna, - vbfAna, - vertexAna, - # tauWeighter, - # muonWeighter, - # eventSorter, - treeProducer - ] ) - -data_Run2012A_PromptReco_v1.splitFactor = 20 -DYJets.splitFactor = 50 - -selectedComponents = [ - data_Run2012A_PromptReco_v1, - DYJets - ] - -test = False -if test: - theComp = DYJets - theComp.splitFactor = 1 - selectedComponents = [theComp] - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) diff --git a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2011_cfg.py b/CMGTools/H2TauTau/cfgPython/mt/tauMu_2011_cfg.py deleted file mode 100644 index 63ea614781e9..000000000000 --- a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2011_cfg.py +++ /dev/null @@ -1,318 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import mu_id_taumu_2011, mu_iso_taumu_2011 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True -simulatedOnly = False # Useful for systematic shifts on simulated samples, e.g. JEC -doThePlot = True # Set to true for the plotting script - - -# Andrew Summer 13 (MC is identical to the previous one) -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/MC_Fall11_PU_S6-500bins.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/Data_Pileup_2011_HCP-500bins.root' - -# vertexFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012/Vertices' -# vertexFileData = '/'.join([vertexFileDir, 'vertices_data_2012A_2012B_start_195947.root']) - -mc_vertexWeight = None - -mc_tauEffWeight_mc = 'effLooseTau15MC' -mc_muEffWeight_mc = 'effIsoMu15MC' -mc_tauEffWeight = 'effTau2011AB' -mc_muEffWeight = 'effMu2011AB' - - -eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - 105104 - ] - ) - - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer' - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False, - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - isRecHit = False, - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - -genErsatzAna = cfg.Analyzer( - 'GenErsatzAnalyzer', - verbose = False - ) - -TauMuAna = cfg.Analyzer( - 'TauMuAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = None, - pt2 = 17, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - dR_min = 0.5, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauMu', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - leptonType = 13, - src = 'genParticlesPruned', - ) - -WNJetsAna = cfg.Analyzer( - 'WNJetsAnalyzer', - verbose = False - ) - -NJetsAna = cfg.Analyzer( - 'NJetsAnalyzer', - fillTree = True, - verbose = False - ) - -WNJetsTreeAna = cfg.Analyzer( - 'WNJetsTreeAnalyzer' - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - src = 'genParticlesPruned', - ) - -tauDecayModeWeighter = cfg.Analyzer( - 'TauDecayModeWeighter', - ) - -tauFakeRateWeighter = cfg.Analyzer( - 'TauFakeRateWeighter' - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -muonWeighter = cfg.Analyzer( - 'LeptonWeighter_mu', - effWeight = mc_muEffWeight, - effWeightMC = mc_muEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = mu_id_taumu_2011, - isoWeight = mu_iso_taumu_2011 - ) - - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 500, - deltaEta = 3.5 - ) - - -jetAna = cfg.Analyzer( - 'JetAnalyzer', - jetCol = 'cmgPFJetSel', - jetPt = 20., - jetEta = 4.7, - btagSFseed = 123456, - relaxJetId = False, - jerCorr = False, - #jesCorr = 1., - ) - -vbfSimpleAna = cfg.Analyzer( - 'VBFSimpleAnalyzer', - vbfMvaWeights = '', - cjvPtCut = 30., - **vbfKwargs - - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauMu' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree', - pt20 = False - ) - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.run2011.tauMu_Sync_Colin import * - -######################################################################################### - -for mc in MC_list: - mc.puFileMC = puFileMC - mc.puFileData = puFileData - -for emb in embed_list_2011: - emb.puFileData = None - emb.puFileMC = None - -WNJetsAna.nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] - -# Fractions temporarily taken from Jose (29 May 2013): -WNJetsAna.fractions = [0.74392452, 0.175999, 0.0562617, 0.0168926, 0.00692218] - -# selectedComponents = allsamples -diboson_list = [ WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L, - T_tW, - Tbar_tW - ] - -WJetsSoup = copy.copy(WJets) -WJetsSoup.name = 'WJetsSoup' - -DYJetsSoup = copy.copy(DYJets) -DYJetsSoup.name = 'DYJetsSoup' - -VVgroup = [comp.name for comp in diboson_list] -if diboson_list == [] and doThePlot: - VVgroup = None # This is needed for the plotting script - -higgs = mc_higgs - -selectedComponents = [TTJets, - DYJets, WJets, - W1Jets, W2Jets, W3Jets, W4Jets, - ] - -# FOR PLOTTING: -TTgroup = None -if doThePlot: - selectedComponents = [TTJets, #DYJets, #WJets, - WJetsSoup, - DYJets - ] - -if not doThePlot: - selectedComponents.extend( higgs ) - # selectedComponents.extend( mc_higgs_susy ) -else: - # pass - selectedComponents.extend( higgs ) - # selectedComponents.extend( mc_higgs_susy ) - -selectedComponents.extend( diboson_list ) - -if not simulatedOnly: - # selectedComponents.extend( data_list ) - selectedComponents.extend( embed_list_2011 ) - - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - triggerAna, - vertexAna, - TauMuAna, - dyJetsFakeAna, - # WNJetsAna, - # WNJetsTreeAna, - NJetsAna, - higgsWeighter, - jetAna, - vbfSimpleAna, - pileUpAna, - embedWeighter, - tauDecayModeWeighter, - tauFakeRateWeighter, - tauWeighter, - muonWeighter, - treeProducer, - # treeProducerXCheck - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck) #Yes! - -selectedComponents = [comp for comp in selectedComponents if comp.dataset_entries > 0] - -test = 0 -if test==1: - # comp = embed_Run2012C_22Jan - # comp = DYJets - # comp = HiggsGGH125 - # comp = HiggsSUSYGluGlu1000 - comp = W1Jets_ext - # comp = data_Run2012A - selectedComponents = [comp] - comp.splitFactor = 1 - # comp.files = comp.files[:10] - # comp.files = ['tauMu_fullsel_tree_CMG.root'] -elif test==2: - selectedComponents = selectedComponents[:12] - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:5] -elif test==3: - # selectedComponents = [WJets, W1Jets, W2Jets, W3Jets, W4Jets] - # selectedComponents = higgs - # selectedComponents = data_list - # selectedComponents = embed_list - # selectedComponents += [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - # selectedComponents = mc_higgs_susy - selectedComponents = [WJets, W1Jets, W2Jets, W3Jets, W4Jets, W1Jets_ext, W2Jets_ext, W3Jets_ext] - # selectedComponents += higgs - # selectedComponents += mc_higgs_susy - # selectedComponents = [DYJets] - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2011_colin_cfg.py b/CMGTools/H2TauTau/cfgPython/mt/tauMu_2011_colin_cfg.py deleted file mode 100644 index d916a14c24fe..000000000000 --- a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2011_colin_cfg.py +++ /dev/null @@ -1,232 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import mu_id_taumu_2011, mu_iso_taumu_2011 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True - -mc_vertexWeight = 'vertexWeightFall112011AB' -mc_tauEffWeight = None -mc_muEffWeight = None - -mc_tauEffWeight_mc = 'effLooseTau15MC' -mc_muEffWeight_mc = 'effIsoMu15MC' -mc_tauEffWeight = 'effTau2011AB' -mc_muEffWeight = 'effMu2011AB' - - -# selected by Andrew -# * 113591 * 203.66099 * 179452 * 387 * 587118487 * - - -eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - 587118487 - ] - ) - - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer' - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - # fixedWeight = 1, - verbose = False - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - verbose = False - ) - - -TauMuAna = cfg.Analyzer( - 'TauMuAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = None, - pt2 = 17, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauMu', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - leptonType = 13 - ) - -WNJetsAna = cfg.Analyzer( - 'WNJetsAnalyzer', - verbose = False, - fractions = [ 0.752276599407, - 0.171668857336, - 0.0536961443722, - 0.0159474294633, - 0.00641100015491, - ], - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -muonWeighter = cfg.Analyzer( - 'LeptonWeighter_mu', - effWeight = mc_muEffWeight, - effWeightMC = mc_muEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = mu_id_taumu_2011, - isoWeight = mu_iso_taumu_2011 - ) - - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 500, - deltaEta = 3.5 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG_HCP_42X.weights.xml', - jetCol = 'cmgPFJetSel', - jetPt = 20., - jetEta = 4.7, - cjvPtCut = 30., - btagSFseed = 123456, - relaxJetId = False, - **vbfKwargs - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauMu' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree', - pt20 = False - ) - -######################################################################################### - -# from CMGTools.H2TauTau.proto.samples.run2011.tauMu_ColinJun25 import * -# from CMGTools.H2TauTau.proto.samples.run2011.tauMu_ColinJul4 import * -# from CMGTools.H2TauTau.proto.samples.run2011.tauMu_Sync_ColinAug30 import * - -# from CMGTools.H2TauTau.proto.samples.run2011.tauMu_ColinSep20 import * -from CMGTools.H2TauTau.proto.samples.run2011.tauMu_Sync_Colin import * - -######################################################################################### - - -# MC_list = [WJets, W3Jets, DYJets, TTJets, HiggsVBF125, WW, WZ, ZZ] -# MC_list = copy.copy(MC) -# data_list = copy.copy(data_list_2011) -# embed_list = copy.copy(embed_list_2011) - -WNJetsAna.nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] - -# selectedComponents = allsamples -diboson_list = [ WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L, - T_tW, - Tbar_tW - ] -WJetsSoup = copy.copy(WJets) -WJetsSoup.name = 'WJetsSoup' -VVgroup = [comp.name for comp in diboson_list] -# higgs = [HiggsVBF125, HiggsGGH125, HiggsVH125] -selectedComponents = [WJetsSoup, TTJets, DYJets] -selectedComponents = [WJets, W1Jets, W2Jets, W3Jets, W4Jets, TTJets, DYJets] -higgs = mc_higgs -selectedComponents.extend( higgs ) -selectedComponents.extend( diboson_list ) -selectedComponents.extend( data_list_2011 ) -selectedComponents.extend( embed_list_2011 ) - -sequence = cfg.Sequence( [ -# eventSelector, - jsonAna, - triggerAna, - vertexAna, - TauMuAna, - dyJetsFakeAna, - WNJetsAna, - higgsWeighter, - vbfAna, - embedWeighter, - tauWeighter, - muonWeighter, - treeProducer - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck) - - -test = 1 -if test==1: - comp = HiggsVBF125 - # comp.files = comp.files[:2] - selectedComponents = [comp] - comp.splitFactor = 14 -elif test==2: - selectedComponents = copy.copy(data_list_2011) - selectedComponents.extend(embed_list_2011) - selectedComponents.extend(MC_list[0:3]) - - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:3] - - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2012_sync_cfg.py b/CMGTools/H2TauTau/cfgPython/mt/tauMu_2012_sync_cfg.py deleted file mode 100644 index 363ba0dfe5a3..000000000000 --- a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2012_sync_cfg.py +++ /dev/null @@ -1,254 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import mu_id_taumu_2012, mu_iso_taumu_2012 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True - -puFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012' - -# mine: -# puFileMC = '/'.join([puFileDir, 'MyMCPileupHistogram_true.root']) -# puFileData = '/'.join([puFileDir, 'MyDataPileupHistogram_true_AB_start_196509.root']) - -# andrew ICHEP -# puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/12-09-12/MC_Summer12_PU_S7.root' -# puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/12-09-12/Data_Pileup_2012.root' -# andrew HCP -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/28-09-12/MC_Summer12_PU_S10-600bins.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/28-09-12/Data_Pileup_2012_HCP-600bins.root' - - -vertexFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012/Vertices' -vertexFileData = '/'.join([vertexFileDir, 'vertices_data_2012A_2012B_start_195947.root']) - -mc_vertexWeight = None - -mc_tauEffWeight_mc = 'effTau2012MC53X' -mc_muEffWeight_mc = 'eff_2012_Rebecca_TauMu_IsoMu1753XMC' -mc_tauEffWeight = 'effTau2012ABC' -mc_muEffWeight = 'effMu2012_Rebecca_TauMu_ABC' - - -eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - 105104 - ] - ) - - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer' - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False, - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - -genErsatzAna = cfg.Analyzer( - 'GenErsatzAnalyzer', - verbose = False - ) - -TauMuAna = cfg.Analyzer( - 'TauMuAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = None, - pt2 = 20, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - dR_min = 0.5, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauMu', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - leptonType = 13 - ) - -WNJetsAna = cfg.Analyzer( - 'WNJetsAnalyzer', - verbose = False - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -muonWeighter = cfg.Analyzer( - 'LeptonWeighter_mu', - effWeight = mc_muEffWeight, - effWeightMC = mc_muEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = mu_id_taumu_2012, - isoWeight = mu_iso_taumu_2012 - ) - - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 500, - deltaEta = 3.5 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG_HCP_52X.weights.xml', - jetCol = 'cmgPFJetSel', - jetPt = 20., - jetEta = 4.7, - cjvPtCut = 30., - btagSFseed = 123456, - relaxJetId = False, - **vbfKwargs - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauMu' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree', - pt20 = False - ) - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.run2012.tauMu_Sync_Colin import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauMu_JanMay23 import * - -######################################################################################### - -for mc in MC_list: - mc.puFileMC = puFileMC - mc.puFileData = puFileData - -for emb in embed_list: - emb.puFileData = None - emb.puFileMC = None - -WNJetsAna.nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] - -# selectedComponents = allsamples -diboson_list = [ WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L, - T_tW, - Tbar_tW - ] - -WJetsSoup = copy.copy(WJets) -WJetsSoup.name = 'WJetsSoup' -# VVgroup = [comp.name for comp in diboson_list] -VVgroup = None -# higgs = [HiggsVBF125, HiggsGGH125, HiggsVH125] -# selectedComponents = [WJetsSoup, TTJets, DYJets] -# selectedComponents = [WJets, W1Jets, W2Jets, W3Jets, W4Jets, TTJets, DYJets] -# higgs = mc_higgs -# selectedComponents.extend( higgs ) -# selectedComponents.extend( diboson_list ) -# selectedComponents.extend( data_list ) -# selectedComponents.extend( embed_list ) - - -selectedComponents = [TTJets, DYJets, WJets, - data_Run2012A, - data_Run2012B, - data_Run2012C_v1, - data_Run2012C_v2, - ] - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - triggerAna, #No! - vertexAna, - TauMuAna, #Yes! - dyJetsFakeAna, - #JAN contact Colin when you want to deal with exclusive samples - # WNJetsAna, - higgsWeighter, - vbfAna, #Yes! - pileUpAna, - embedWeighter, - tauWeighter, - muonWeighter, - treeProducer, #Yes! - # treeProducerXCheck - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck) #Yes! - - -test = 1 -if test==1: - comp = HiggsVBF125 - selectedComponents = [comp] - comp.splitFactor = 14 - # comp.files = comp.files[:10] - # comp.files = ['tauMu_fullsel_tree_CMG.root'] -elif test==2: - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:5] - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2012_tesdown_cfg.py b/CMGTools/H2TauTau/cfgPython/mt/tauMu_2012_tesdown_cfg.py deleted file mode 100644 index 06aa88b8e8bd..000000000000 --- a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2012_tesdown_cfg.py +++ /dev/null @@ -1,305 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import mu_id_taumu_2012, mu_iso_taumu_2012 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True -simulatedOnly = False # Useful for systematic shifts on simulated samples, e.g. JEC -doThePlot = True # Set to true for the plotting script - -# Andrew Summer 13 (MC is identical to the previous one) -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/MC_Summer12_PU_S10-600bins.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/Data_Pileup_2012_ReRecoPixel-600bins.root' - - -# vertexFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012/Vertices' -# vertexFileData = '/'.join([vertexFileDir, 'vertices_data_2012A_2012B_start_195947.root']) - -mc_vertexWeight = None - -# mc_tauEffWeight_mc = 'effTau2012MC53X' -# mc_muEffWeight_mc = 'eff_2012_Rebecca_TauMu_IsoMu1753XMC' -# mc_tauEffWeight = 'effTau2012ABC' -# mc_muEffWeight = 'effMu2012_Rebecca_TauMu_ABC' - -mc_tauEffWeight_mc = 'effTau_muTau_MC_2012ABCDSummer13' -mc_muEffWeight_mc = 'effMu_muTau_MC_2012ABCD' -mc_tauEffWeight = 'effTau_muTau_Data_2012ABCDSummer13' -mc_muEffWeight = 'effMu_muTau_Data_2012ABCDSummer13' - - -eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - 105104 - ] - ) - - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer' - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False, - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - isRecHit = False, - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - -genErsatzAna = cfg.Analyzer( - 'GenErsatzAnalyzer', - verbose = False - ) - -TauMuAna = cfg.Analyzer( - 'TauMuAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = None, - pt2 = 20, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - dR_min = 0.5, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauMu', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - leptonType = 13, - src = 'genParticlesPruned', - ) - -WNJetsAna = cfg.Analyzer( - 'WNJetsAnalyzer', - verbose = False - ) - -NJetsAna = cfg.Analyzer( - 'NJetsAnalyzer', - fillTree = True, - verbose = False - ) - -WNJetsTreeAna = cfg.Analyzer( - 'WNJetsTreeAnalyzer' - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - src = 'genParticlesPruned', - ) - -tauDecayModeWeighter = cfg.Analyzer( - 'TauDecayModeWeighter', - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -muonWeighter = cfg.Analyzer( - 'LeptonWeighter_mu', - effWeight = mc_muEffWeight, - effWeightMC = mc_muEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = mu_id_taumu_2012, - isoWeight = mu_iso_taumu_2012 - ) - - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 500, - deltaEta = 3.5 - ) - - -jetAna = cfg.Analyzer( - 'JetAnalyzer', - jetCol = 'cmgPFJetSel', - jetPt = 20., - jetEta = 4.7, - btagSFseed = 123456, - relaxJetId = False, - jerCorr = False, - #jesCorr = 1., - ) - -vbfSimpleAna = cfg.Analyzer( - 'VBFSimpleAnalyzer', - vbfMvaWeights = '', - cjvPtCut = 30., - **vbfKwargs - - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauMu' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree', - pt20 = False - ) - -######################################################################################### - - -# from CMGTools.H2TauTau.proto.samples.run2012.tauMu_MuRm_ColinOct9 import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauMu_ColinOct10 import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauMu_Sync_Colin import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauMu_JanMay23 import * -# from CMGTools.H2TauTau.proto.samples.run2012.WJets_JanMay29 import * -#from CMGTools.H2TauTau.proto.samples.run2012.tauMu_JanJun18 import * -from CMGTools.H2TauTau.proto.samples.run2012.tauMu_down_JanJul22 import * - -######################################################################################### - -for mc in MC_list: - mc.puFileMC = puFileMC - mc.puFileData = puFileData - -for emb in embed_list: - emb.puFileData = None - emb.puFileMC = None - -WNJetsAna.nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] - -# Fractions temporarily taken from Jose (29 May 2013): -WNJetsAna.fractions = [0.74392452, 0.175999, 0.0562617, 0.0168926, 0.00692218] - -# selectedComponents = allsamples -diboson_list = [ WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L, - T_tW, - Tbar_tW - ] - -WJetsSoup = copy.copy(WJets) -WJetsSoup.name = 'WJetsSoup' - -DYJetsSoup = copy.copy(DYJets) -DYJetsSoup.name = 'DYJetsSoup' - -VVgroup = [comp.name for comp in diboson_list] - -higgs = mc_higgs - -selectedComponents = [ - DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets, - ] - -if doThePlot: - selectedComponents = [ - DYJetsSoup - ] - # To calculate the integrated luminosity - selectedComponents.extend( data_list ) - -selectedComponents.extend( higgs ) -selectedComponents.extend( mc_higgs_susy ) -if not simulatedOnly: - selectedComponents.extend( embed_list ) - - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - triggerAna, - vertexAna, - TauMuAna, - dyJetsFakeAna, - # WNJetsAna, - # WNJetsTreeAna, - NJetsAna, - higgsWeighter, - jetAna, - vbfSimpleAna, - pileUpAna, - embedWeighter, - tauDecayModeWeighter, - tauWeighter, - muonWeighter, - treeProducer, - # treeProducerXCheck - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck) #Yes! - -selectedComponents = [comp for comp in selectedComponents if comp.dataset_entries > 0] - -test = 0 -if test==1: - comp = embed_Run2012A_22Jan - # comp = DYJets - # DYJets.files = 'tauMu_fullsel_tree_CMG.root' - # comp = HiggsGGH125 - selectedComponents = [comp] - comp.splitFactor = 1 - # comp.files = comp.files[:10] - # comp.files = ['tauMu_fullsel_tree_CMG.root'] -elif test==2: - selectedComponents = [s for s in selectedComponents if '125' in s.name] - selectedComponents += [s for s in embed_list] - # for comp in selectedComponents: - # comp.splitFactor = 1 - # comp.files = comp.files[:5] -elif test==3: - # selectedComponents = mc_higgs_susy - # selectedComponents = [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - selectedComponents = embed_list - selectedComponents += [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2012_tesup_cfg.py b/CMGTools/H2TauTau/cfgPython/mt/tauMu_2012_tesup_cfg.py deleted file mode 100644 index 781c89db03e8..000000000000 --- a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2012_tesup_cfg.py +++ /dev/null @@ -1,303 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.triggerMap import pathsAndFilters -from CMGTools.H2TauTau.proto.weights.weighttable import mu_id_taumu_2012, mu_iso_taumu_2012 -from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift -from CMGTools.RootTools.RootTools import * - -# 'Nom', 'Up', 'Down', or None -shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 -syncntuple = True -simulatedOnly = False # Useful for systematic shifts on simulated samples, e.g. JEC -doThePlot = True # Set to true for the plotting script - -# Andrew Summer 13 (MC is identical to the previous one) -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/MC_Summer12_PU_S10-600bins.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/Data_Pileup_2012_ReRecoPixel-600bins.root' - - -# vertexFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012/Vertices' -# vertexFileData = '/'.join([vertexFileDir, 'vertices_data_2012A_2012B_start_195947.root']) - -mc_vertexWeight = None - -# mc_tauEffWeight_mc = 'effTau2012MC53X' -# mc_muEffWeight_mc = 'eff_2012_Rebecca_TauMu_IsoMu1753XMC' -# mc_tauEffWeight = 'effTau2012ABC' -# mc_muEffWeight = 'effMu2012_Rebecca_TauMu_ABC' - -mc_tauEffWeight_mc = 'effTau_muTau_MC_2012ABCDSummer13' -mc_muEffWeight_mc = 'effMu_muTau_MC_2012ABCD' -mc_tauEffWeight = 'effTau_muTau_Data_2012ABCDSummer13' -mc_muEffWeight = 'effMu_muTau_Data_2012ABCDSummer13' - - -eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - 105104 - ] - ) - - -jsonAna = cfg.Analyzer( - 'JSONAnalyzer', - ) - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer' - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = mc_vertexWeight, - fixedWeight = 1, - verbose = False, - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - isRecHit = False, - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - -genErsatzAna = cfg.Analyzer( - 'GenErsatzAnalyzer', - verbose = False - ) - -TauMuAna = cfg.Analyzer( - 'TauMuAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = None, - pt2 = 20, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - dR_min = 0.5, - triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauMu', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - 'DYJetsFakeAnalyzer', - leptonType = 13, - src = 'genParticlesPruned', - ) - -WNJetsAna = cfg.Analyzer( - 'WNJetsAnalyzer', - verbose = False - ) - -NJetsAna = cfg.Analyzer( - 'NJetsAnalyzer', - fillTree = True, - verbose = False - ) - -WNJetsTreeAna = cfg.Analyzer( - 'WNJetsTreeAnalyzer' - ) - -higgsWeighter = cfg.Analyzer( - 'HiggsPtWeighter', - src = 'genParticlesPruned', - ) - -tauDecayModeWeighter = cfg.Analyzer( - 'TauDecayModeWeighter', - ) - -tauWeighter = cfg.Analyzer( - 'LeptonWeighter_tau', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg1', - verbose = False, - disable = False, - ) - -muonWeighter = cfg.Analyzer( - 'LeptonWeighter_mu', - effWeight = mc_muEffWeight, - effWeightMC = mc_muEffWeight_mc, - lepton = 'leg2', - verbose = False, - disable = False, - idWeight = mu_id_taumu_2012, - isoWeight = mu_iso_taumu_2012 - ) - - - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 500, - deltaEta = 3.5 - ) - - -jetAna = cfg.Analyzer( - 'JetAnalyzer', - jetCol = 'cmgPFJetSel', - jetPt = 20., - jetEta = 4.7, - btagSFseed = 123456, - relaxJetId = False, - jerCorr = False, - #jesCorr = 1., - ) - -vbfSimpleAna = cfg.Analyzer( - 'VBFSimpleAnalyzer', - vbfMvaWeights = '', - cjvPtCut = 30., - **vbfKwargs - - ) - - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauMu' - ) - -treeProducerXCheck = cfg.Analyzer( - 'H2TauTauSyncTree', - pt20 = False - ) - -######################################################################################### - - -# from CMGTools.H2TauTau.proto.samples.run2012.tauMu_MuRm_ColinOct9 import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauMu_ColinOct10 import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauMu_Sync_Colin import * -# from CMGTools.H2TauTau.proto.samples.run2012.tauMu_JanMay23 import * -# from CMGTools.H2TauTau.proto.samples.run2012.WJets_JanMay29 import * -#from CMGTools.H2TauTau.proto.samples.run2012.tauMu_JanJun18 import * -from CMGTools.H2TauTau.proto.samples.run2012.tauMu_up_JanJul22 import * - -######################################################################################### - -for mc in MC_list: - mc.puFileMC = puFileMC - mc.puFileData = puFileData - -for emb in embed_list: - emb.puFileData = None - emb.puFileMC = None - -WNJetsAna.nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] - -# Fractions temporarily taken from Jose (29 May 2013): -WNJetsAna.fractions = [0.74392452, 0.175999, 0.0562617, 0.0168926, 0.00692218] - -# selectedComponents = allsamples -diboson_list = [ WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L, - T_tW, - Tbar_tW - ] - -WJetsSoup = copy.copy(WJets) -WJetsSoup.name = 'WJetsSoup' - -DYJetsSoup = copy.copy(DYJets) -DYJetsSoup.name = 'DYJetsSoup' - -VVgroup = [comp.name for comp in diboson_list] - -higgs = mc_higgs - -selectedComponents = [ - DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets, - ] - -if doThePlot: - selectedComponents = [ - DYJetsSoup - ] - # To calculate the integrated luminosity - selectedComponents.extend( data_list ) -selectedComponents.extend( higgs ) -selectedComponents.extend( mc_higgs_susy ) -if not simulatedOnly: - selectedComponents.extend( embed_list ) - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - triggerAna, - vertexAna, - TauMuAna, - dyJetsFakeAna, - # WNJetsAna, - # WNJetsTreeAna, - NJetsAna, - higgsWeighter, - jetAna, - vbfSimpleAna, - pileUpAna, - embedWeighter, - tauDecayModeWeighter, - tauWeighter, - muonWeighter, - treeProducer, - # treeProducerXCheck - ] ) - -if syncntuple: - sequence.append( treeProducerXCheck) #Yes! - -selectedComponents = [comp for comp in selectedComponents if comp.dataset_entries > 0] - -test = 0 -if test==1: - comp = embed_Run2012D_22Jan - # comp = DYJets - # DYJets.files = 'tauMu_fullsel_tree_CMG.root' - # comp = HiggsGGH125 - selectedComponents = [comp] - # comp.splitFactor = 1 - # comp.files = comp.files[:10] - # comp.files = ['tauMu_fullsel_tree_CMG.root'] -elif test==2: - # selectedComponents = selectedComponents[:12] - selectedComponents = [s for s in embed_list] - # for comp in selectedComponents: - # comp.splitFactor = 1 - # comp.files = comp.files[:5] -elif test==3: - # selectedComponents = mc_higgs_susy - # selectedComponents = [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - selectedComponents = embed_list - selectedComponents += [DYJets, DY1Jets, DY2Jets, DY3Jets, DY4Jets] - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2014_cfg.py b/CMGTools/H2TauTau/cfgPython/mt/tauMu_2014_cfg.py index 1a95eed04bb0..8c8edbc9b7e7 100644 --- a/CMGTools/H2TauTau/cfgPython/mt/tauMu_2014_cfg.py +++ b/CMGTools/H2TauTau/cfgPython/mt/tauMu_2014_cfg.py @@ -1,54 +1,35 @@ import PhysicsTools.HeppyCore.framework.config as cfg from PhysicsTools.HeppyCore.framework.config import printComps -# from CMGTools.RootTools.fwlite.Config import printComps - -# import all analysers: - -# Heppy analyzers -from PhysicsTools.Heppy.analyzers.core.JSONAnalyzer import JSONAnalyzer -from PhysicsTools.Heppy.analyzers.core.EventSelector import EventSelector -# from PhysicsTools.Heppy.analyzers.examples.TriggerAnalyzer import TriggerAnalyzer -from PhysicsTools.Heppy.analyzers.objects.VertexAnalyzer import VertexAnalyzer -from PhysicsTools.Heppy.analyzers.core.PileUpAnalyzer import PileUpAnalyzer -from PhysicsTools.Heppy.analyzers.examples.JetAnalyzer import JetAnalyzer +from PhysicsTools.HeppyCore.framework.heppy import getHeppyOption # Tau-tau analyzers -from CMGTools.H2TauTau.proto.analyzers.EmbedWeighter import EmbedWeighter -from CMGTools.H2TauTau.proto.analyzers.GenErsatzAnalyzer import GenErsatzAnalyzer from CMGTools.H2TauTau.proto.analyzers.TauMuAnalyzer import TauMuAnalyzer -from CMGTools.H2TauTau.proto.analyzers.DYJetsFakeAnalyzer import DYJetsFakeAnalyzer -from CMGTools.H2TauTau.proto.analyzers.WNJetsAnalyzer import WNJetsAnalyzer -from CMGTools.H2TauTau.proto.analyzers.NJetsAnalyzer import NJetsAnalyzer -from CMGTools.H2TauTau.proto.analyzers.HiggsPtWeighter import HiggsPtWeighter -from CMGTools.H2TauTau.proto.analyzers.WNJetsTreeAnalyzer import WNJetsTreeAnalyzer +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducerTauMu import H2TauTauTreeProducerTauMu from CMGTools.H2TauTau.proto.analyzers.TauDecayModeWeighter import TauDecayModeWeighter from CMGTools.H2TauTau.proto.analyzers.TauFakeRateWeighter import TauFakeRateWeighter from CMGTools.H2TauTau.proto.analyzers.LeptonWeighter import LeptonWeighter -from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducerTauMu import H2TauTauTreeProducerTauMu -from CMGTools.H2TauTau.proto.analyzers.H2TauTauSyncTree import H2TauTauSyncTree +from CMGTools.H2TauTau.proto.analyzers.SVfitProducer import SVfitProducer -from CMGTools.RootTools.analyzers.VBFSimpleAnalyzer import VBFSimpleAnalyzer +from CMGTools.H2TauTau.proto.samples.phys14.connector import httConnector +# common configuration and sequence +from CMGTools.H2TauTau.htt_ntuple_base_cff import commonSequence, genAna, dyJetsFakeAna, puFileData, puFileMC, eventSelector -# from CMGTools.Production.getFiles import getFiles -# from CMGTools.H2TauTau.triggerMap import pathsAndFilters -# from CMGTools.H2TauTau.proto.weights.weighttable import mu_id_taumu_2012, mu_iso_taumu_2012 -# from CMGTools.H2TauTau.proto.samples.sampleShift import selectShift +# Get all heppy options; set via "-o production" or "-o production=True" + +# production = True run on batch, production = False (or unset) run locally +production = getHeppyOption('production') + +# mu-tau specific configuration settings # 'Nom', 'Up', 'Down', or None shift = None -# 1.0, 1.03, 0.97 -tauScaleShift = 1.0 +syncntuple = True +computeSVfit = True -syncntuple = False -# Andrew Summer 13 (MC is identical to the previous one) -# puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/MC_Summer12_PU_S10-600bins.root' -# puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/Data_Pileup_2012_ReRecoPixel-600bins.root' - -puFileMC = None -puFileData = None +# When ready, include weights from CMGTools.H2TauTau.proto.weights.weighttable # mc_tauEffWeight_mc = 'effTau_muTau_MC_2012ABCDSummer13' # mc_muEffWeight_mc = 'effMu_muTau_MC_2012ABCD' @@ -59,242 +40,149 @@ mc_muEffWeight_mc = None mc_tauEffWeight = None mc_muEffWeight = None - - -eventSelector = cfg.Analyzer( - EventSelector, - name='EventSelector', - toSelect=[ - 105104 - ] - ) - - -jsonAna = cfg.Analyzer( - JSONAnalyzer, - name='JSONAnalyzer', - ) - -# triggerAna = cfg.Analyzer( -# TriggerAnalyzer, -# 'TriggerAnalyzer' -# ) - -vertexAna = cfg.Analyzer( - VertexAnalyzer, - name='VertexAnalyzer', - goodVertices='goodPVFilter', - vertexWeight=None, - fixedWeight=1, - verbose=False, - ) -embedWeighter = cfg.Analyzer( - EmbedWeighter, - name='EmbedWeighter', - isRecHit=False, - verbose=False - ) - -pileUpAna = cfg.Analyzer( - PileUpAnalyzer, - 'PileUpAnalyzer', - true = True - ) +dyJetsFakeAna.channel = 'mt' -genErsatzAna = cfg.Analyzer( - GenErsatzAnalyzer, - 'GenErsatzAnalyzer', - verbose=False - ) +# Define mu-tau specific modules -TauMuAna = cfg.Analyzer( +tauMuAna = cfg.Analyzer( TauMuAnalyzer, - 'TauMuAnalyzer', - scaleShift1 = tauScaleShift, - pt1 = 20, - eta1 = 2.3, - iso1 = None, - pt2 = 20, - eta2 = 2.1, - iso2 = 0.1, - m_min = 10, - m_max = 99999, - dR_min = 0.5, - # triggerMap = pathsAndFilters, - mvametsigs = 'mvaMETTauMu', - verbose = False - ) - -dyJetsFakeAna = cfg.Analyzer( - DYJetsFakeAnalyzer, - 'DYJetsFakeAnalyzer', - leptonType = 13, - src = 'prunedGenParticles', - ) - -WNJetsAna = cfg.Analyzer( - WNJetsAnalyzer, - 'WNJetsAnalyzer', - verbose = False - ) - -NJetsAna = cfg.Analyzer( - NJetsAnalyzer, - 'NJetsAnalyzer', - fillTree = True, - verbose = False - ) - -WNJetsTreeAna = cfg.Analyzer( - WNJetsTreeAnalyzer, - 'WNJetsTreeAnalyzer' - ) - -higgsWeighter = cfg.Analyzer( - HiggsPtWeighter, - 'HiggsPtWeighter', - src = 'genParticlesPruned', - ) + name='TauMuAnalyzer', + pt1=20, + eta1=2.3, + iso1=1.5, + looseiso1=9999., + pt2=18, + eta2=2.1, + iso2=0.1, + looseiso2=9999., + m_min=10, + m_max=99999, + dR_min=0.5, + verbose=False +) tauDecayModeWeighter = cfg.Analyzer( TauDecayModeWeighter, - 'TauDecayModeWeighter', - ) + name='TauDecayModeWeighter', +) tauFakeRateWeighter = cfg.Analyzer( TauFakeRateWeighter, - 'TauFakeRateWeighter' - ) + name='TauFakeRateWeighter' +) tauWeighter = cfg.Analyzer( LeptonWeighter, - 'LeptonWeighter_tau', - effWeight = None, - effWeightMC = None, - lepton = 'leg1', - verbose = False, - disable = True, - ) + name='LeptonWeighter_tau', + effWeight=None, + effWeightMC=None, + lepton='leg1', + verbose=False, + disable=True, +) muonWeighter = cfg.Analyzer( LeptonWeighter, - 'LeptonWeighter_mu', - effWeight = None, - effWeightMC = None, - lepton = 'leg2', - verbose = False, - disable = True, - idWeight = None, - isoWeight = None - ) - - -jetAna = cfg.Analyzer( - JetAnalyzer, - 'JetAnalyzer', - # jetCol = 'slimmedJets', # <- These are CHS jets - jetCol = 'patJetsAK4PF', - jetPt = 20., - jetEta = 4.7, - btagSFseed = 123456, - relaxJetId = False, - jerCorr = False, - puJetIDDisc = 'pileupJetIdFull:full53xDiscriminant' - #jesCorr = 1., - ) - -vbfSimpleAna = cfg.Analyzer( - VBFSimpleAnalyzer, - 'VBFSimpleAnalyzer', - vbfMvaWeights = '', - cjvPtCut = 30., - Mjj = 500., - deltaEta = 3.5 - ) + name='LeptonWeighter_mu', + effWeight=None, + effWeightMC=None, + lepton='leg2', + verbose=False, + disable=True, + idWeight=None, + isoWeight=None +) treeProducer = cfg.Analyzer( H2TauTauTreeProducerTauMu, - 'H2TauTauTreeProducerTauMu' - ) - -treeProducerXCheck = cfg.Analyzer( - H2TauTauSyncTree, - 'H2TauTauSyncTree', - pt20 = False - ) - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.csa2014.tauMu_Sync_Jan import MC_list, mc_higgs, mc_dict - -######################################################################################### - -# Use the following two lines for local testing -# HiggsVBF125.files = ['file:/afs/cern.ch/user/s/steggema/work/CMSSW_7_0_6_patch1/src/CMGTools/H2TauTau/prod/tauMu_fullsel_tree_CMG.root'] -# HiggsVBF125.splitFactor = 1 - + name='H2TauTauTreeProducerTauMu' +) +syncTreeProducer = cfg.Analyzer( + H2TauTauTreeProducerTauMu, + name='H2TauTauSyncTreeProducerTauMu', + varStyle='sync', + skimFunction='event.isSignal' +) + +svfitProducer = cfg.Analyzer( + SVfitProducer, + name='SVfitProducer', + # integration='VEGAS', + integration='MarkovChain', + # verbose=True, + # order='21', # muon first, tau second + l1type='tau', + l2type='muon' +) + +################################################### +### CONNECT SAMPLES TO THEIR ALIASES AND FILES ### +################################################### +my_connect = httConnector('htt_6mar15_manzoni_nom', 'htautau_group', + '.*root', 'mt', production=production) +my_connect.connect() +MC_list = my_connect.MC_list + +################################################### +### ASSIGN PU to MC ### +################################################### for mc in MC_list: - mc.puFileMC = puFileMC mc.puFileData = puFileData + mc.puFileMC = puFileMC - -selectedComponents = [mc_dict['HiggsVBF125']] - -sequence = cfg.Sequence( [ - # eventSelector, - jsonAna, - # triggerAna, - vertexAna, - TauMuAna, - dyJetsFakeAna, - # WNJetsAna, - # WNJetsTreeAna, - NJetsAna, - higgsWeighter, - jetAna, - vbfSimpleAna, - pileUpAna, - embedWeighter, - tauDecayModeWeighter, - tauFakeRateWeighter, - tauWeighter, - muonWeighter, - treeProducer, - # treeProducerXCheck - ] ) - +################################################### +### SET COMPONENTS BY HAND ### +################################################### +selectedComponents = MC_list +# selectedComponents = mc_dict['HiggsGGH125'] +# for c in selectedComponents : c.splitFactor *= 5 + +################################################### +### SEQUENCE ### +################################################### +sequence = commonSequence +sequence.insert(sequence.index(genAna), tauMuAna) +sequence.append(tauDecayModeWeighter) +sequence.append(tauFakeRateWeighter) +sequence.append(tauWeighter) +sequence.append(muonWeighter) +if computeSVfit: + sequence.append(svfitProducer) +sequence.append(treeProducer) if syncntuple: - sequence.append( treeProducerXCheck) #Yes! - -# selectedComponents = [comp for comp in selectedComponents if comp.dataset_entries > 0] - -test = 0 -if test==1: - comp = mc_dict['HiggsVBF125'] - # comp = data_Run2012A + sequence.append(syncTreeProducer) + +################################################### +### CHERRY PICK EVENTS ### +################################################### +# eventSelector.toSelect = [] +# sequence.insert(0, eventSelector) + +################################################### +### SET BATCH OR LOCAL ### +################################################### +if not production: + cache = True + comp = my_connect.mc_dict['TTJets'] selectedComponents = [comp] comp.splitFactor = 1 - # comp.files = comp.files[:10] - # comp.files = ['tauMu_fullsel_tree_CMG.root'] -elif test==2: - selectedComponents = selectedComponents[:12] - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:5] + comp.fineSplitFactor = 1 + comp.files = comp.files[:1] -# the following is declared in case this cfg is used in input to the heppy.py script +# the following is declared in case this cfg is used in input to the +# heppy.py script from PhysicsTools.HeppyCore.framework.eventsfwlite import Events -config = cfg.Config( components = selectedComponents, - sequence = sequence, - services = [], - events_class = Events - ) +config = cfg.Config(components=selectedComponents, + sequence=sequence, + services=[], + events_class=Events + ) printComps(config.components, True) + def modCfgForPlot(config): config.components = [] - diff --git a/CMGTools/H2TauTau/cfgPython/tt/diTau_2014_cfg.py b/CMGTools/H2TauTau/cfgPython/tt/diTau_2014_cfg.py new file mode 100644 index 000000000000..bdd6ceffc771 --- /dev/null +++ b/CMGTools/H2TauTau/cfgPython/tt/diTau_2014_cfg.py @@ -0,0 +1,161 @@ +import PhysicsTools.HeppyCore.framework.config as cfg +from PhysicsTools.HeppyCore.framework.config import printComps + +# Tau-tau analyzers +from CMGTools.H2TauTau.proto.analyzers.TauTauAnalyzer import TauTauAnalyzer +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducerTauTau import H2TauTauTreeProducerTauTau +from CMGTools.H2TauTau.proto.analyzers.TauDecayModeWeighter import TauDecayModeWeighter +from CMGTools.H2TauTau.proto.analyzers.LeptonWeighter import LeptonWeighter +from CMGTools.H2TauTau.proto.analyzers.SVfitProducer import SVfitProducer + +# common configuration and sequence +from CMGTools.H2TauTau.htt_ntuple_base_cff import commonSequence, genAna, dyJetsFakeAna, puFileData, puFileMC, eventSelector + +# local switches +syncntuple = True +computeSVfit = True +production = False # production = True run on batch, production = False run locally + +dyJetsFakeAna.channel = 'tt' + +### Define tau-tau specific modules + +tauTauAna = cfg.Analyzer( + class_object = TauTauAnalyzer , + name = 'TauTauAnalyzer' , + pt1 = 45 , + eta1 = 2.1 , + iso1 = 1. , + looseiso1 = 10. , + pt2 = 45 , + eta2 = 2.1 , + iso2 = 1. , + looseiso2 = 10. , +# isolation = 'byIsolationMVA3newDMwLTraw', + isolation = 'byCombinedIsolationDeltaBetaCorrRaw3Hits', # RIC: 9 March 2015 + m_min = 10 , + m_max = 99999 , + dR_min = 0.5 , +# triggerMap = pathsAndFilters , + jetPt = 30. , + jetEta = 4.7 , + relaxJetId = False , + verbose = False , + ) + +tauDecayModeWeighter = cfg.Analyzer( + TauDecayModeWeighter , + 'TauDecayModeWeighter' , + legs = ['leg1', 'leg2'], + ) + +tau1Weighter = cfg.Analyzer( + LeptonWeighter , + name ='LeptonWeighter_tau1', + effWeight = None , + effWeightMC = None , + lepton = 'leg1' , + verbose = False , + disable = True , + ) + +tau2Weighter = cfg.Analyzer( + LeptonWeighter , + name ='LeptonWeighter_tau2', + effWeight = None , + effWeightMC = None , + lepton = 'leg2' , + verbose = False , + disable = True , + ) + +treeProducer = cfg.Analyzer( + H2TauTauTreeProducerTauTau , + name = 'H2TauTauTreeProducerTauTau' + ) + +syncTreeProducer = cfg.Analyzer( + H2TauTauTreeProducerTauTau , + name = 'H2TauTauSyncTreeProducerTauTau', + varStyle = 'sync' , + skimFunction = 'event.isSignal' + ) + +svfitProducer = cfg.Analyzer( + SVfitProducer, + name = 'SVfitProducer', + # integration = 'VEGAS' , + integration = 'MarkovChain' , + # verbose = True , + # order = '21' , # muon first, tau second + l1type = 'tau' , + l2type = 'tau' + ) + +################################################### +### CONNECT SAMPLES TO THEIR ALIASES AND FILES ### +################################################### +from CMGTools.H2TauTau.proto.samples.phys14.connector import httConnector +my_connect = httConnector('htt_6mar15_manzoni_nom', 'htautau_group', + '.*root', 'tt', production=production) +my_connect.connect() +MC_list = my_connect.MC_list + +################################################### +### ASSIGN PU to MC ### +################################################### +for mc in MC_list: + mc.puFileData = puFileData + mc.puFileMC = puFileMC + +################################################### +### SET COMPONENTS BY HAND ### +################################################### +selectedComponents = MC_list +# selectedComponents = mc_dict['HiggsGGH125'] +# for c in selectedComponents : c.splitFactor *= 5 + +################################################### +### SEQUENCE ### +################################################### +sequence = commonSequence +sequence.insert(sequence.index(genAna), tauTauAna) +sequence.append(tauDecayModeWeighter) +sequence.append(tau1Weighter) +sequence.append(tau2Weighter) +if computeSVfit: + sequence.append(svfitProducer) +sequence.append(treeProducer) +if syncntuple: + sequence.append(syncTreeProducer) + +################################################### +### CHERRY PICK EVENTS ### +################################################### +# eventSelector.toSelect = [] +# sequence.insert(0, eventSelector) + +################################################### +### SET BATCH OR LOCAL ### +################################################### +if not production: + cache = True + comp = my_connect.mc_dict['HiggsGGH125'] + selectedComponents = [comp] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + comp.files = comp.files[:1] + +# the following is declared in case this cfg is used in input to the +# heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +config = cfg.Config( components = selectedComponents, + sequence = sequence , + services = [] , + events_class = Events + ) + +printComps(config.components, True) + +def modCfgForPlot(config): + config.components = [] diff --git a/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2011_cfg.py b/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2011_cfg.py deleted file mode 100644 index 7277da9074c5..000000000000 --- a/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2011_cfg.py +++ /dev/null @@ -1,170 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.H2TauTau.triggerMap import pathsAndFilters - -runOnData = False -runOnMC = False - -period = 'Period_2011A' - -baseDir = '2011' - -mc_vertexWeight = None -mc_tauEffWeight = None -mc_tauEffWeight_mc = 'effLooseTau15MC' -if period == 'Period_2011A': - mc_vertexWeight = 'vertexWeightFall112invfb' - mc_tauEffWeight = 'effTau2011A' -elif period == 'Period_2011B': - mc_vertexWeight = 'vertexWeightFall112011B' - mc_tauEffWeight = 'effTau2011B' -elif period == 'Period_2011AB': - mc_vertexWeight = 'vertexWeightFall112011AB' - mc_tauEffWeight = 'effTau2011AB' - -if runOnMC: - mc_tauEffWeight='effTau1fb' - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer' - ) - -TauTauAna = cfg.Analyzer( - 'TauTauAnalyzer', - pt1 = 20, - pt2 = 20, - iso1 = 999, - iso2 = 999, - eta1 = 999, - eta2 = 999, - m_min = 10, - m_max = 99999, - diLeptonCutString = 'cuts_baseline', - # No trigger matching for the moment since MC only contains too high threshold trigger - #triggerMap = pathsAndFilters - ) - -tau1Weighter = cfg.Analyzer( - 'LeptonWeighter_tau1', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg1', - verbose = False - ) - -tau2Weighter = cfg.Analyzer( - 'LeptonWeighter_tau2', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg2', - verbose = False - ) - -if runOnData: - vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - fixedWeight = 1, - verbose = False - ) -else: - vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - vertexWeight = mc_vertexWeight, - verbose = False - ) - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 400, - deltaEta = 4.0 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - jetCol = 'cmgPFJetSelCHS2', - jetPt = 30, - jetEta = 4.5, - **vbfKwargs - ) - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauTau', - ) - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.run2011.diTau_May10 import * - -######################################################################################### - -mc_jet_scale = 1. -mc_jet_smear = 0. -for mc in MC: - # could handle the weights in the same way - mc.jetScale = mc_jet_scale - mc.jetSmear = mc_jet_smear - -selectedComponents = data_2011 + [DYJets, WJets, TTJets, WW, WZ, ZZ] -selectedComponents += [Higgsgg110, Higgsgg115, Higgsgg120, Higgsgg125, Higgsgg130, Higgsgg135, Higgsgg140, Higgsgg145, - HiggsVBF110, HiggsVBF115, HiggsVBF120, HiggsVBF125, HiggsVBF130, HiggsVBF135, HiggsVBF140, HiggsVBF145] - -if runOnData: - selectedComponents = data_2011 -if runOnMC: - selectedComponents = [DYJets, WJets, TTJets, WW, WZ, ZZ] - selectedComponents += [Higgsgg110, Higgsgg115, Higgsgg120, Higgsgg125, Higgsgg130, Higgsgg135, Higgsgg140, Higgsgg145, - HiggsVBF110, HiggsVBF115, HiggsVBF120, HiggsVBF125, HiggsVBF130, HiggsVBF135, HiggsVBF140, HiggsVBF145] - -print [c.name for c in selectedComponents] - -if runOnMC: - sequence = cfg.Sequence( [ - TauTauAna, - vbfAna, - vertexAna, - tau1Weighter, - tau2Weighter, - treeProducer - ] ) -else: - sequence = cfg.Sequence( [ - triggerAna, - TauTauAna, - vbfAna, - vertexAna, - tau1Weighter, - tau2Weighter, - treeProducer - ] ) - -DYJets.fakes = True -DYJets.splitFactor = 50 -WJets.fakes = True -WJets.splitFactor = 50 -TTJets.splitFactor = 50 -WW.splitFactor = 10 -WZ.splitFactor = 10 -ZZ.splitFactor = 10 -data_Run2011A_May10ReReco_v1.splitFactor = 50 -data_Run2011A_PromptReco_v4.splitFactor = 50 -data_Run2011A_05Aug2011_v1.splitFactor = 50 -#data_Run2011A_PromptReco_v6.splitFactor = 50 -#data_Run2011B_PromptReco_v1.splitFactor = 50 - -test = 0 -if test==1: - comp = DYJets - #comp = WJets - #comp = data_Run2011A_05Aug2011_v1 - #comp = Higgsgg125 - selectedComponents = [comp] - comp.splitFactor = 10 - comp.files = comp.files[:1] -elif test==2: - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:1] - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) diff --git a/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2012_cfg.py b/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2012_cfg.py deleted file mode 100644 index 968699637b93..000000000000 --- a/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2012_cfg.py +++ /dev/null @@ -1,206 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.H2TauTau.triggerMap import pathsAndFilters - -runOnEmbedded = False -runOnData = False -runOnMC = False - -puFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012' -puFileMC = '/'.join([puFileDir, 'MyMCPileupHistogram_true.root']) -puFileData = '/'.join([puFileDir, 'MyDataPileupHistogram_true_AB_190456_196531.root']) - -mc_vertexWeight = None -mc_tauEffWeight_mc = 'effLooseTau15MC' -#mc_tauEffWeight='eff2012IsoTau5_1fb' -mc_tauEffWeight='eff2012IsoTau5fb' -#mc_tauEffWeight='eff2012IsoTau5fbUp' -#mc_tauEffWeight='eff2012IsoTau5fbDown' -#mc_tauEffWeight='eff2012IsoTau5fbUpSlope' -#mc_tauEffWeight='eff2012IsoTau5fbDownSlope' -#mc_tauEffWeight='eff2012IsoTau5fbUpPlateau' -#mc_tauEffWeight='eff2012IsoTau5fbDownPlateau' -#mc_tauEffWeight='eff2012IsoTau5fbCrystalBall' -#mc_tauEffWeight='eff2012IsoTau5fbFitFrom30' -#mc_jetEffWeight='eff2012Jet30' -mc_jetEffWeight='eff2012Jet5fb' - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer', - verbose = False - ) - -TauTauAna = cfg.Analyzer( - 'TauTauAnalyzer', - pt1 = 20, - pt2 = 20, - iso1 = 999, - iso2 = 999, - eta1 = 999, - eta2 = 999, - m_min = 10, - m_max = 99999, - diLeptonCutString = 'cuts_baseline', - # No trigger matching for the moment since MC only contains too high threshold trigger - triggerMap = pathsAndFilters - ) - -tau1Weighter = cfg.Analyzer( - 'LeptonWeighter_tau1', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg1', - verbose = False - ) - -tau2Weighter = cfg.Analyzer( - 'LeptonWeighter_tau2', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg2', - verbose = False - ) - -jetWeighter = cfg.Analyzer( - 'JetWeighter_jet1', - effWeight = mc_jetEffWeight, - effWeightMC = mc_tauEffWeight_mc, - verbose = False - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'offlinePrimaryVertices', # hum... collection not available in old tuples - #goodVertices = 'goodPVFilter', - fixedWeight = 1, - #vertexWeight = mc_vertexWeight, - verbose = False - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 400, - deltaEta = 4.0 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - jetCol = 'cmgPFJetSel', - jetPt = 30, - jetEta = 4.5, - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG.weights.5XX.xml', - **vbfKwargs - ) - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauTau', - ) - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.run2012.diTau_June5 import * - -######################################################################################### - -mc_jet_scale = 1. -mc_jet_smear = 0. -for mc in MC: - # could handle the weights in the same way - mc.jetScale = mc_jet_scale - mc.jetSmear = mc_jet_smear - mc.puFileData = puFileData - mc.puFileMC = puFileMC - -selectedComponents = data_2012 + embedded_2012 + [DYJets, WJets, W3Jets, TTJets, WW, WZ, ZZ] -selectedComponents += [ Higgsgg110 , Higgsgg115 , Higgsgg120 , Higgsgg125 , Higgsgg130 , Higgsgg135 , Higgsgg140 , Higgsgg145 , - HiggsVBF110, HiggsVBF115, HiggsVBF120, HiggsVBF125, HiggsVBF130, HiggsVBF135, HiggsVBF140, HiggsVBF145, - HiggsVH110 , HiggsVH115 , HiggsVH120 , HiggsVH125 , HiggsVH130 , HiggsVH135 , HiggsVH140 , HiggsVH145 ] -#selectedComponents += [QCD50,QCD80] -#selectedComponents += [ GluGluToHToWWTo2LAndTau2Nu_M_125, VBF_HToWWTo2LAndTau2Nu_M_125 ] -#selectedComponents += [ GluGluToHToWWTo2Tau2Nu_M_120, GluGluToHToWWToTauNuQQ_M_120, VBF_HToWWToTauNuQQ_M_120, VBF_HToWWTo2Tau2Nu_M_120, -# GluGluToHToZZTo2L2Nu_M_125, GluGluToHToZZTo2L2Q_M_125, VBF_ToHToZZTo2l2q_M_130, VBF_ToHToZZTo2L2NU_M_125] - -if runOnData: - selectedComponents = data_2012 -if runOnMC: - selectedComponents = [DYJets, TTJets, WW, WZ, ZZ] #WJets, W3Jets, - selectedComponents += [ Higgsgg110 , Higgsgg115 , Higgsgg120 , Higgsgg125 , Higgsgg130 , Higgsgg135 , Higgsgg140 , Higgsgg145 , - HiggsVBF110, HiggsVBF115, HiggsVBF120, HiggsVBF125, HiggsVBF130, HiggsVBF135, HiggsVBF140, HiggsVBF145, - HiggsVH110 , HiggsVH115 , HiggsVH120 , HiggsVH125 , HiggsVH130 , HiggsVH135 , HiggsVH140 , HiggsVH145 ] -# selectedComponents = [QCD50,QCD80] -if runOnEmbedded: - selectedComponents = embedded_2012 - -print [c.name for c in selectedComponents] - -if runOnMC or runOnEmbedded: - sequence = cfg.Sequence( [ - TauTauAna, - vbfAna, - pileUpAna, - embedWeighter, - vertexAna, - tau1Weighter, - tau2Weighter, - jetWeighter, - treeProducer - ] ) -else: - sequence = cfg.Sequence( [ - triggerAna, - TauTauAna, - vbfAna, - pileUpAna, - embedWeighter, - vertexAna, - tau1Weighter, - tau2Weighter, - jetWeighter, - treeProducer - ] ) - -DYJets.fakes = True -DYJets.splitFactor = 50 -WJets.fakes = True -WJets.splitFactor = 50 -W3Jets.splitFactor = 50 -TTJets.splitFactor = 50 -WW.splitFactor = 10 -WZ.splitFactor = 10 -ZZ.splitFactor = 10 -#QCD.splitFactor = 50 -QCD50.splitFactor = 50 -QCD80.splitFactor = 50 -data_Run2012A_PromptReco_v1.splitFactor = 50 -data_Run2012B_PromptReco_v1.splitFactor = 50 -embed_Run2012A_PromptReco_v1.splitFactor = 50 -embed_Run2012B_PromptReco_v1.splitFactor = 50 - -test = 0 -if test==1: - comp = DYJets - #comp = WJets - #comp = data_Run2012A_PromptReco_v1 - #comp = GluGluToHToWWTo2LAndTau2Nu_M_125 - #comp = embed_Run2012A_PromptReco_v1 - selectedComponents = [comp] - comp.splitFactor = 10 - comp.files = comp.files[:1] -elif test==2: - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:1] - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) diff --git a/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2012c_cfg.py b/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2012c_cfg.py deleted file mode 100644 index e3e1b08ed8da..000000000000 --- a/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2012c_cfg.py +++ /dev/null @@ -1,208 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.H2TauTau.triggerMap import pathsAndFilters - -# out of scope -runOnEmbedded = False -runOnData = False -runOnMC = True -use1prong = False -useParked = False -MC_trigger_matching = True - -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/07-01-13/MC_Summer12_PU_S10-600bins.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/07-01-13/Data_Pileup_2012_Moriond-600bins.root' - -mc_vertexWeight = None -mc_tauEffWeight_mc = 'effLooseTau15MC' -mc_tauEffWeight = 'eff2012IsoTau19fb' -mc_jetEffWeight = 'eff2012Jet19fb' - -if use1prong or useParked: - mc_tauEffWeight='eff2012IsoTau1prong19fb' - -triggerAna = cfg.Analyzer( - 'TriggerAnalyzer', - verbose = False - ) - -TauTauAna = cfg.Analyzer( - 'TauTauAnalyzer', - pt1 = 0, - pt2 = 0, - iso1 = 999, - iso2 = 999, - eta1 = 999, - eta2 = 999, - m_min = 0, - m_max = 99999, - diLeptonCutString = '', - # No trigger matching for the moment since MC only contains too high threshold trigger - triggerMap = pathsAndFilters, - jetPt = 50., - jetEta = 3.0, - relaxJetId = False, - ) - -tau1Weighter = cfg.Analyzer( - 'LeptonWeighter_tau1', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg1', - verbose = False - ) - -tau2Weighter = cfg.Analyzer( - 'LeptonWeighter_tau2', - effWeight = mc_tauEffWeight, - effWeightMC = mc_tauEffWeight_mc, - lepton = 'leg2', - verbose = False - ) - -jetWeighter = cfg.Analyzer( - 'JetWeighter_jet1', - effWeight = mc_jetEffWeight, - effWeightMC = mc_tauEffWeight_mc, - verbose = False - ) - -vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'offlinePrimaryVertices', # hum... collection not available in old tuples - #goodVertices = 'goodPVFilter', - fixedWeight = 1, - #vertexWeight = mc_vertexWeight, - verbose = False - ) - -embedWeighter = cfg.Analyzer( - 'EmbedWeighter', - verbose = False - ) - -pileUpAna = cfg.Analyzer( - 'PileUpAnalyzer', - true = True - ) - -# defined for vbfAna and eventSorter -vbfKwargs = dict( Mjj = 400, - deltaEta = 4.0 - ) - -vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG_HCP_52X.weights.xml', - jetCol = 'cmgPFJetSel', - jetPt = 30, - jetEta = 4.7, - cjvPtCut = 30., - btagSFseed = 123456, - relaxJetId = False, - **vbfKwargs - ) - -treeProducer = cfg.Analyzer( - 'H2TauTauTreeProducerTauTau', - ) - - -treeProducerXcheck = cfg.Analyzer( - 'H2TauTauSyncTreeTauTau', - pt20 = False - ) - - -######################################################################################### - -from CMGTools.H2TauTau.proto.samples.run2012.diTau_Colin_Feb8 import * - -######################################################################################### - -mc_jet_scale = 1. -mc_jet_smear = 0. -for mc in MC_list: - # could handle the weights in the same way - mc.jetScale = mc_jet_scale - mc.jetSmear = mc_jet_smear - mc.puFileData = puFileData - mc.puFileMC = puFileMC - -# selectedComponents = MC_list -# selectedComponents = data_list -# selectedComponents = embed_list -selectedComponents = allsamples -#selectedComponents = [HiggsGGH125] -#HiggsGGH125.splitFactor=10 -#HiggsGGH125.files = getFiles('/GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0/HTT_Nom_Mar6_hinzmann', 'hinzmann', 'diTau.*fullsel.*root', True) -#HiggsGGH125.files = getFiles('/GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0/HTT_Mar7_manzoni_Nom', 'manzoni', 'diTau.*fullsel.*root', True) - - -print [c.name for c in selectedComponents] - -sequence = cfg.Sequence( [ - triggerAna, - vertexAna, - TauTauAna, - vbfAna, - pileUpAna, - embedWeighter, - tau1Weighter, - tau2Weighter, - jetWeighter, - treeProducer, - treeProducerXcheck, - ] ) - -if runOnEmbedded: - sequence.remove(triggerAna) - -if use1prong or useParked: - sequence.remove(jetWeighter) - -if use1prong or useParked: - for data in data_2012A: - data.triggers = data_triggers_1prong_2012A - for data in data_2012B: - data.triggers = data_triggers_1prong_2012B - for data in data_2012C: - data.triggers = data_triggers_1prong_2012C - for data in data_2012D: - data.triggers = data_triggers_1prong_2012D - -for mc in MC_list: - if MC_trigger_matching: - if use1prong: - mc.triggers = ['HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v6'] - elif useParked: - mc.triggers = ['HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v6'] - else: - mc.triggers = ['HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2'] - else: - mc.triggers = [] - -DYJets.fakes = True -WJets.fakes = True - -test = 0 # test = 0 run on batch, test = 1 run locally -if test==1: - #comp = HiggsSUSYBB180 - #comp = HiggsGGH120 - comp = DY3Jets - #comp = embed_Run2012C_PromptReco_v2 - selectedComponents = [comp] - comp.splitFactor = 1 - comp.files = comp.files[:5] -elif test==2: - selectedComponents = [] - for comp in MC_list: - selectedComponents.append(comp) - comp.splitFactor = 1 - comp.files = comp.files[:1] - -print [s.name for s in selectedComponents] - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) diff --git a/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2015_cfg.py b/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2015_cfg.py new file mode 100644 index 000000000000..d6149599e8fa --- /dev/null +++ b/CMGTools/H2TauTau/cfgPython/tt/test_diTau_2015_cfg.py @@ -0,0 +1,242 @@ +import PhysicsTools.HeppyCore.framework.config as cfg +from PhysicsTools.HeppyCore.framework.config import printComps + +# import all analysers: +# Heppy analyzers +from PhysicsTools.Heppy.analyzers.core.JSONAnalyzer import JSONAnalyzer +from PhysicsTools.Heppy.analyzers.core.EventSelector import EventSelector +# from PhysicsTools.Heppy.analyzers.examples.TriggerAnalyzer import TriggerAnalyzer +from PhysicsTools.Heppy.analyzers.objects.VertexAnalyzer import VertexAnalyzer +from PhysicsTools.Heppy.analyzers.core.PileUpAnalyzer import PileUpAnalyzer + +# Tau-tau analyzers +from CMGTools.H2TauTau.proto.analyzers.JetAnalyzer import JetAnalyzer +from CMGTools.H2TauTau.proto.analyzers.EmbedWeighter import EmbedWeighter +from CMGTools.H2TauTau.proto.analyzers.GenErsatzAnalyzer import GenErsatzAnalyzer +from CMGTools.H2TauTau.proto.analyzers.TauTauAnalyzer import TauTauAnalyzer +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducerTauTau import H2TauTauTreeProducerTauTau +from CMGTools.H2TauTau.proto.analyzers.DYJetsFakeAnalyzer import DYJetsFakeAnalyzer +from CMGTools.H2TauTau.proto.analyzers.WNJetsAnalyzer import WNJetsAnalyzer +from CMGTools.H2TauTau.proto.analyzers.NJetsAnalyzer import NJetsAnalyzer +from CMGTools.H2TauTau.proto.analyzers.HiggsPtWeighter import HiggsPtWeighter +from CMGTools.H2TauTau.proto.analyzers.WNJetsTreeAnalyzer import WNJetsTreeAnalyzer +from CMGTools.H2TauTau.proto.analyzers.TauDecayModeWeighter import TauDecayModeWeighter +from CMGTools.H2TauTau.proto.analyzers.TauFakeRateWeighter import TauFakeRateWeighter +from CMGTools.H2TauTau.proto.analyzers.LeptonWeighter import LeptonWeighter + +from CMGTools.RootTools.analyzers.VBFSimpleAnalyzer import VBFSimpleAnalyzer +from CMGTools.H2TauTau.triggerMap import pathsAndFilters + +puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/07-01-13/MC_Summer12_PU_S10-600bins.root' +puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/13-09-13/Data_Pileup_2012_ReRecoPixel-600bins.root' ## new for rereco Pixel Lumi 17/9/2013 + +eventSelector = cfg.Analyzer( + EventSelector , + 'EventSelector', + toSelect = [ + ] + ) + +jsonAna = cfg.Analyzer( + JSONAnalyzer , + name = 'JSONAnalyzer', + ) + +# triggerAna = cfg.Analyzer( +# TriggerAnalyzer , +# 'TriggerAnalyzer', +# verbose = False +# ) + +vertexAna = cfg.Analyzer( + VertexAnalyzer , + 'VertexAnalyzer' , + goodVertices = 'offlinePrimaryVertices', + fixedWeight = 1 , + verbose = False + ) + +pileUpAna = cfg.Analyzer( + PileUpAnalyzer , + 'PileUpAnalyzer', + true = True + ) + +TauTauAna = cfg.Analyzer( + TauTauAnalyzer , + 'TauTauAnalyzer' , + pt1 = 45 , + eta1 = 2.1 , + iso1 = 10. , + pt2 = 45 , + eta2 = 2.1 , + iso2 = 10. , + isolation = 'byIsolationMVA3newDMwLTraw', + m_min = 10 , + m_max = 99999 , + dR_min = 0.5 , + triggerMap = pathsAndFilters , + jetPt = 30. , + jetEta = 4.7 , + relaxJetId = False , + verbose = False + ) + +jetAna = cfg.Analyzer( + JetAnalyzer , + 'JetAnalyzer' , + jetCol = 'slimmedJets' , # <- These are CHS jets + #jetCol = 'patJetsAK4PF', # <- These are plain PF jets + jetPt = 20. , + jetEta = 4.7 , + btagSFseed = 123456 , + relaxJetId = False , + jerCorr = False , + #jesCorr = 1. , + puJetIDDisc = 'pileupJetIdFull:full53xDiscriminant', + ) + +# defined for vbfAna and eventSorter +vbfKwargs = dict( Mjj = 500, deltaEta = 3.5 ) + +vbfAna = cfg.Analyzer( + VBFSimpleAnalyzer , + 'VBFSimpleAnalyzer' , +# vbfMvaWeights = os.environ['CMSSW_BASE'] + '/src/CMGTools/H2TauTau/data/VBFMVA_BDTG_HCP_52X.weights.xml', +# jetCol = 'cmgPFJetSel', + jetPt = 30. , + looseJetPt = 20 , + jetEta = 4.7 , + cjvPtCut = 30. , + btagSFseed = 123456 , + relaxJetId = False , + **vbfKwargs + ) + +tauWeighterLeg1 = cfg.Analyzer( + LeptonWeighter , + 'LeptonWeighter_tau1', + effWeight = None , + effWeightMC = None , + lepton = 'leg1' , + verbose = False , + disable = True , + ) + +tauWeighterLeg2 = cfg.Analyzer( + LeptonWeighter , + 'LeptonWeighter_tau2', + effWeight = None , + effWeightMC = None , + lepton = 'leg2' , + verbose = False , + disable = True , + ) + +tauDecayModeWeighter = cfg.Analyzer( + TauDecayModeWeighter , + 'TauDecayModeWeighter' , + legs = ['leg1', 'leg2'], + ) + +higgsWeighter = cfg.Analyzer( + HiggsPtWeighter , + 'HiggsPtWeighter' , + #src = 'prunedGenParticles' , + makeSplittedGenLists = True, + ) + +treeProducer = cfg.Analyzer( + H2TauTauTreeProducerTauTau , + 'H2TauTauTreeProducerTauTau', + ) + +################################################### +### CONNECT SAMPLES TO THEIR ALIASES AND FILES ### +################################################### +from CMGTools.H2TauTau.proto.samples.phys14.diTau_Ric_Jan27 import * + +################################################### +### ASSIGN JET SMEAR, SCALE and PU to MC ### +################################################### +mc_jet_scale = 1. +mc_jet_smear = 0. +for mc in MC_list: + mc.jetScale = mc_jet_scale + mc.jetSmear = mc_jet_smear + mc.puFileData = puFileData + mc.puFileMC = puFileMC + +selectedComponents = allsamples + +################################################### +### SET COMPONENTS BY HAND ### +################################################### + +# selectedComponents = [ ZZJetsTo4L ] +# for c in selectedComponents : c.splitFactor *= 5 + +################################################### +### SEQUENCE ### +################################################### +sequence = cfg.Sequence( [ + #eventSelector , + jsonAna , + #triggerAna , + vertexAna , + TauTauAna , + jetAna , + vbfAna , + pileUpAna , + tauWeighterLeg1 , + tauWeighterLeg2 , + tauDecayModeWeighter, + higgsWeighter , + treeProducer , + ] ) + +################################################### +### SET THE TRIGGERS TO BE USED WITH DATA ### +################################################### +# for data in data_parked_2012: +# data.triggers = data_parked_triggers_2012 ## ORDER MATTERS! +# data.triggers += data_triggers_2012 ## ORDER MATTERS! + +################################################### +### SET THE TRIGGERS TO BE USED WITH MC ### +################################################### +# for mc in MC_list: +# mc.triggers = ['HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v6'] + +################################################### +### SET THE TRIGGERS TO BE USED WITH RH EMB ### +################################################### +# for emb in embed_list: +# emb.triggers = emb_rechit_triggers + +################################################### +### SET BATCH OR LOCAL ### +################################################### +test = 1 # test = 0 run on batch, test = 1 run locally +if test == 1 : + cache = True + comp = HiggsGGH125 + comp.triggers = [] # empty for now + selectedComponents = [comp] + comp.splitFactor = 1 + comp.files = comp.files[:1] + +################################################### +### SOME PRINTOUT ### +################################################### +print '_'*70 +print 'Processing...' +print [s.name for s in selectedComponents] + +# the following is declared in case this cfg is used in input to the heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +config = cfg.Config( components = selectedComponents, + sequence = sequence , + services = [] , + events_class = Events + ) diff --git a/CMGTools/H2TauTau/cfgPython/wjets/cookWSoup.py b/CMGTools/H2TauTau/cfgPython/wjets/cookWSoup.py deleted file mode 100644 index 7635f83cddbb..000000000000 --- a/CMGTools/H2TauTau/cfgPython/wjets/cookWSoup.py +++ /dev/null @@ -1,155 +0,0 @@ -import copy -from CMGTools.RootTools.PyRoot import * -from CMGTools.RootTools.statistics.TreeNumpy import * - -files = [] - -class Component(object): - ''' - Just a tree (keeps its file to prevent deletion by garbage collector. - ''' - - def __init__(self, name, channel='TauMu'): - self.name = name.rstrip('/') - self.tree = None - self.attachTree( channel ) - - def attachTree(self, channel): - fileName = '{name}/H2TauTauTreeProducer{channel}/H2TauTauTreeProducer{channel}_tree.root'.format(channel=channel, name=self.name) - treeName = 'H2TauTauTreeProducer{channel}'.format(channel=channel) - self.file = TFile(fileName) - self.tree = self.file.Get(treeName) - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - -class H2TauTauSoup(TreeNumpy): - '''Manages the creation of a soup tree, using an inclusive WJet sample, - and some exclusive WJet samples. - - usage example: - python ../Colin/cookWSoup.py WJets W1Jets W2Jets W3Jets W4Jets -f ../Colin/fractions_tauEle.txt -n ../Colin/events_tauEle.txt -c TauEle - - All variables in the input trees are copied to the soup tree. - A new event weight "WJetWeight" is added. - This weight is multiplied to the global event weight "weight". - ''' - - def __init__(self, name, title, fractions, nevents): - ''' - fractions gives the fraction of events with a given number of jets - in the inclusive sample: - [ - 0.752276599407, # frac with 0 jet - 0.171668857336, # with 1 jet - 0.0536961443722, # etc... - 0.0159474294633, - 0.00641100015491, - ] - - nevents is a list of floats like this: - [ - 81035922.744426474, # nevents in inclusive sample - 0, # nevents in exclusive W1Jets sample - 25326376.405680001, # nevents in exclusive W2Jets sample - 7514498.0491649993, # nevents in exclusive W3Jets sample - 13022311.366807999, # nevents in exclusive W4Jets sample - ] - ''' - super(H2TauTauSoup, self).__init__(name,title) - self.var('WJetWeight') - self.fractions = fractions - self.nexc = nevents - self.ninc = self.nexc[0] - self.nexc[0] = 0. - self.Ni = [frac*self.ninc for frac in self.fractions] - self.WJetWeights = [] - for nJets in range (5): - self.WJetWeights.append (self.Ni[nJets] / ( self.Ni[nJets] + self.nexc[nJets])) - print nJets, self.WJetWeights[nJets] - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - - def importEntries(self, comp, nEntries=-1): - ''' - Add a component to the soup - ''' - print 'importing', comp.name - tree = comp.tree - for index, ie in enumerate(tree): - if index%1000==0: print 'entry:', index - # calculating the W+jets weight - nup = getattr(ie, 'NUP') - nJets = int(nup-5) - self.fill('WJetWeight', self.WJetWeights[nJets]) - for varName in self.vars: - if not hasattr(ie, varName): - continue - val = getattr(ie, varName) - if varName == 'weight': - val *= self.WJetWeights[nJets] - self.fill(varName, val) - self.tree.Fill() - if nEntries>0 and index+1>=nEntries: - return - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - -if __name__ == '__main__': - - import imp - import pprint - - from optparse import OptionParser - parser = OptionParser(usage = '') - parser.add_option('-f', '--fractions', - dest = 'fractions', - default=None, - help='file containing the fraction of events with a given number of jets in the inclusive sample') - parser.add_option('-n', '--nevents', - dest = 'nevents', - default=None, - help='file containing the number of events for the inclusive sample and the exclusive samples') - parser.add_option('-c', '--channel', - dest = 'channel', - default='TauMu', - help='channel: TauMu by default') - - (options, args) = parser.parse_args() - - def numbers( fileName ): - file = open(fileName) - nums = [float(num) for num in file] - print fileName - pprint.pprint(nums) - return nums - - fractions = numbers( options.fractions ) - nevents = numbers( options.nevents ) - - components = [] - - channel = options.channel - incComp = Component( args[0], channel ) - components.append( incComp ) - print 'Inclusive WJets sample: ', incComp.name - - excNames = args[1:] - for arg in excNames: - print 'Exclusive WJets sample: ', arg - components.append( Component(arg, channel) ) - - soupFile = TFile('soup.root','recreate') - treeName = 'H2TauTauTreeProducer{channel}'.format(channel=channel) - soup = H2TauTauSoup(treeName, treeName, fractions, nevents) - soup.copyStructure( incComp.tree ) - for c in components: - soup.importEntries( c ) - - soupFile.Write() - soupFile.Close() diff --git a/CMGTools/H2TauTau/cfgPython/wjets/cookWSoup_2012.py b/CMGTools/H2TauTau/cfgPython/wjets/cookWSoup_2012.py deleted file mode 100644 index 3f94e17ccb26..000000000000 --- a/CMGTools/H2TauTau/cfgPython/wjets/cookWSoup_2012.py +++ /dev/null @@ -1,204 +0,0 @@ -# python cookWSoup_2012.py /afs/cern.ch/work/m/manzoni/public/diTau3May/MVA/mva_nom/WJets /afs/cern.ch/work/m/manzoni/public/diTau3May/MVA/mva_nom/W1Jets /afs/cern.ch/work/m/manzoni/public/diTau3May/MVA/mva_nom/W2Jets /afs/cern.ch/work/m/manzoni/public/diTau3May/MVA/mva_nom/W3Jets /afs/cern.ch/work/m/manzoni/public/diTau3May/MVA/mva_nom/W4Jets -# python cookWSoup_2012.py /afs/cern.ch/work/m/manzoni/public/diTau3May/MVA2/mva2_nom/WJets /afs/cern.ch/work/m/manzoni/public/diTau3May/MVA2/mva2_nom/W1Jets /afs/cern.ch/work/m/manzoni/public/diTau3May/MVA2/mva2_nom/W2Jets /afs/cern.ch/work/m/manzoni/public/diTau3May/MVA2/mva2_nom/W3Jets /afs/cern.ch/work/m/manzoni/public/diTau3May/MVA2/mva2_nom/W4Jets -# python cookWSoup_2012.py /afs/cern.ch/work/m/manzoni/public/diTau3May/DB3H/db3h_nom/WJets /afs/cern.ch/work/m/manzoni/public/diTau3May/DB3H/db3h_nom/W1Jets /afs/cern.ch/work/m/manzoni/public/diTau3May/DB3H/db3h_nom/W2Jets /afs/cern.ch/work/m/manzoni/public/diTau3May/DB3H/db3h_nom/W3Jets /afs/cern.ch/work/m/manzoni/public/diTau3May/DB3H/db3h_nom/W4Jets -##### good -# python cookWSoup_2012.py /afs/cern.ch/work/m/manzoni/public/diTau_parked_15may_2/nom/WJets /afs/cern.ch/work/m/manzoni/public/diTau_parked_15may_2/nom/W1Jets /afs/cern.ch/work/m/manzoni/public/diTau_parked_15may_2/nom/W2Jets /afs/cern.ch/work/m/manzoni/public/diTau_parked_15may_2/nom/W3Jets /afs/cern.ch/work/m/manzoni/public/diTau_parked_15may_2/nom/W4Jets -# -# python cookWSoup_2012.py /afs/cern.ch/work/m/manzoni/public/diTau_parked_2Jun/nom/WJets /afs/cern.ch/work/m/manzoni/public/diTau_parked_2Jun/nom/W1Jets /afs/cern.ch/work/m/manzoni/public/diTau_parked_2Jun/nom/W2Jets /afs/cern.ch/work/m/manzoni/public/diTau_parked_2Jun/nom/W3Jets /afs/cern.ch/work/m/manzoni/public/diTau_parked_2Jun/nom/W4Jets -# python cookWSoup_2012.py /afs/cern.ch/work/m/manzoni/public/diTau22Jun/nom/WJets /afs/cern.ch/work/m/manzoni/public/diTau22Jun/nom/W1Jets /afs/cern.ch/work/m/manzoni/public/diTau22Jun/nom/W2Jets /afs/cern.ch/work/m/manzoni/public/diTau22Jun/nom/W3Jets /afs/cern.ch/work/m/manzoni/public/diTau22Jun/nom/W4Jets -# python cookWSoup_2012.py /afs/cern.ch/work/m/manzoni/public/diTau_22Jul/nom/WJets /afs/cern.ch/work/m/manzoni/public/diTau_22Jul/nom/W1Jets /afs/cern.ch/work/m/manzoni/public/diTau_22Jul/nom/W2Jets /afs/cern.ch/work/m/manzoni/public/diTau_22Jul/nom/W3Jets /afs/cern.ch/work/m/manzoni/public/diTau_22Jul/nom/W4Jets -# python cookWSoup_2012.py /afs/cern.ch/work/m/manzoni/public/diTau_26Jul/nom/WJets /afs/cern.ch/work/m/manzoni/public/diTau_26Jul/nom/W1Jets /afs/cern.ch/work/m/manzoni/public/diTau_26Jul/nom/W2Jets /afs/cern.ch/work/m/manzoni/public/diTau_26Jul/nom/W3Jets /afs/cern.ch/work/m/manzoni/public/diTau_26Jul/nom/W4Jets - -# python cookWSoup_2012.py /afs/cern.ch/work/m/manzoni/public/diTau_29Jul/nom/WJets /afs/cern.ch/work/m/manzoni/public/diTau_29Jul/nom/W1Jets /afs/cern.ch/work/m/manzoni/public/diTau_29Jul/nom/W2Jets /afs/cern.ch/work/m/manzoni/public/diTau_29Jul/nom/W3Jets /afs/cern.ch/work/m/manzoni/public/diTau_29Jul/nom/W4Jets - - -import copy -from CMGTools.RootTools.PyRoot import * -from CMGTools.RootTools.statistics.TreeNumpy import * - -files = [] - -class Component(object): - def __init__(self, name, numberForNaming = 99): - self.name = name.rstrip('/') - self.tree = None - self.numberForNaming = numberForNaming - self.attachTree() - - def attachTree(self): - fileName = '{name}/H2TauTauSyncTreeTauTau/H2TauTauSyncTreeTauTau_tree.root'.format(name=self.name) - treeName = 'H2TauTauSyncTreeTauTau' - #fileName = '{name}/H2TauTauTreeProducerTauTau/H2TauTauTreeProducerTauTau_tree.root'.format(name=self.name) - #treeName = 'H2TauTauTreeProducerTauTau' - self.file = TFile(fileName) - self.tree = self.file.Get(treeName) - self.tree.SetName('H2TauTauSyncTreeTauTau_{0:d}'.format(self.numberForNaming)) - #self.tree.SetName('H2TauTauTreeProducerTauTau_{0:d}'.format(self.numberForNaming)) - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - -class H2TauTauSoup(TreeNumpy): - - def __init__(self, name, title): - super(H2TauTauSoup, self).__init__(name,title) - self.var('WJetWeight') - self.var('skim') - self.var('inclusive') - self.var('nobtag') - self.var('btag') - # fraction of events with a given parton jet multiplicity, - # from the LO cross sections in prep: - - # 0j : (30400.0 - 5400 - 1750 - 519 - 214) / 30400 = 0.740690789474 - # 1j : 5400.0 / 30400.0 = 0.177631578947 - # 2j : 1750.0 / 30400.0 = 0.0575657894737 - # 3j : 519.0 / 30400.0 = 0.0170723684211 - # 4j : 214.0 / 30400.0 = 0.00703947368421 - - # 0j : (36257.2 - 6440.4 - 2087.2 - 619.0 - 255.2) / 36257.2 = - # 1j : 6440.4 / 36257.2 = - # 2j : 2087.2 / 36257.2 = - # 3j : 619.0 / 36257.2 = - # 4j : 255.2 / 36257.2 = - self.fractions = [ - (36257.2 - 6440.4 - 2087.2 - 619.0 - 255.2) / 36257.2, - 6440.4 / 36257.2, - 2087.2 / 36257.2, - 619.0 / 36257.2, - 255.2 / 36257.2 - ] - - # number of events in the inclusive sample, corrected for prod efficiency - self.ninc = 57709905*1.0+18393090*1.0 - # approximate number of events in each exclusive component of the inclusive sample - self.Ninc = [frac * self.ninc for frac in self.fractions] - - #s number of events in the excusive samples, corrected for prod efficiency - self.Nexc = [ - 0 , - 23141598. * 1.0 + 29784800 *1.0 , #* 0.920294737113 , #w/o weights - 34044921. * 1.0 + 30693853 *1.0 , #* 0.966486506452 , #w/o weights - 15539503. * 0.997191011236 + 15241144 *1.0 , #* 0.846858477273 , #w/o weights - 13382803. * 0.996168582375 , #* 0.867004523077 #w/o weights - ] - - self.WJetWeights = [] - for nJets in range (5): - self.WJetWeights.append (self.Ninc[nJets] / ( self.Ninc[nJets] + self.Nexc[nJets])) - print nJets, self.WJetWeights[nJets] - -# .... .... .... .... .... .... .... .... .... .... .... .... .... - - def importEntries(self, comp, nEntries=-1): - print 'importing', comp.name - tree = comp.tree - for index, ie in enumerate(tree): - if index%1000==0: print 'entry:', index - # get the additional weight - nJets = None - for varName in self.vars: - if not hasattr(ie, varName): - continue - if varName == 'NUP': - val = getattr(ie, varName) - if val > 0 : - nJets = int(val-5) - else : - nJets = int(comp.name.replace('W','').replace('Jets','').replace('_new','')) - # fill all the variables - for varName in self.vars: - if not hasattr(ie, varName): - continue - val = getattr(ie, varName) - if varName == 'weight': - #print 'nJets:', nJets - val = val * self.WJetWeights[nJets] - if varName == 'mcweight': - #print 'nJets:', nJets - #val = val * self.WJetWeights[nJets] - val = self.WJetWeights[nJets]/self.ninc - self.fill(varName, val) - - self.fill( 'WJetWeight', self.WJetWeights[nJets]) - - #antiel = getattr(ie, 'againstElectronNewLooseMVA3_2') - #iso_1 = getattr(ie, 'byCombinedIsolationDeltaBetaCorrRaw3Hits_1') - #iso_2 = getattr(ie, 'byCombinedIsolationDeltaBetaCorrRaw3Hits_2') - #nbtag = getattr(ie, 'nbtag') - #njets = getattr(ie, 'njets') - #charge = getattr(ie, 'q_1')*getattr(ie, 'q_2') - - #if index%50 == 0 : - # print antiel, iso_1, iso_2, nbtag, njets, charge - #self.fill( 'skim' , 0 ) - #self.fill( 'inclusive', 0 ) - #self.fill( 'nobtag' , 0 ) - #self.fill( 'btag' , 0 ) - # - #self.fill( 'skim', 1 ) - # - #if iso_1 < 1. and iso_2 < 1. and charge < 0 and antiel > 0.5 : - # self.fill( 'inclusive', 1 ) - # if nbtag == 0 : - # self.fill( 'nobtag', 1 ) - # if nbtag > 0 and njets < 2 : - # self.fill( 'btag', 1 ) - - self.tree.Fill() - if nEntries>0 and index+1>=nEntries: - return - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - -if __name__ == '__main__': - - # import sys - import imp - - args = sys.argv[1:] - -## anaDir = args[0] -## cfgFileName = args[1] -## file = open( cfgFileName, 'r' ) -## cfg = imp.load_source( 'cfg', cfgFileName, file) - -# call the function from the folder that contains the components -# arguments are: the inclusive component, the exclusive components in order - - components = [] - - numberForNaming = 0 - incComp = Component( args[0], numberForNaming ) - numberForNaming = numberForNaming + 1 - components.append( incComp ) - print 'Inclusive WJets sample: ', incComp.name - - - incComp = Component( args[1], numberForNaming ) - numberForNaming = numberForNaming + 1 - components.append( incComp ) - print 'Inclusive WJets sample: ', incComp.name - - - #excNames = args[1:] - excNames = args[2:] - for arg in excNames: - print 'Exclusive WJets sample: ', arg - components.append( Component(arg, numberForNaming) ) - numberForNaming = numberForNaming + 1 - - soupFile = TFile('soupWdb3h_parked.root','recreate') - #soup = H2TauTauSoup('H2TauTauTreeProducerTauTau', 'H2TauTauTreeProducerTauTau') - soup = H2TauTauSoup('H2TauTauSyncTreeTauTau', 'H2TauTauSyncTreeTauTau') - soup.copyStructure( incComp.tree ) - - for c in components: - soup.importEntries (c) -# soup.importEntries (c, nEntries = 20) - - soupFile.Write() - soupFile.Close() diff --git a/CMGTools/H2TauTau/interface/DiObjectUpdateFactory.h b/CMGTools/H2TauTau/interface/DiObjectUpdateFactory.h index a32e32af2101..0a3237cefce8 100644 --- a/CMGTools/H2TauTau/interface/DiObjectUpdateFactory.h +++ b/CMGTools/H2TauTau/interface/DiObjectUpdateFactory.h @@ -19,10 +19,8 @@ namespace cmg{ public: DiObjectUpdateFactory(const edm::ParameterSet& ps): - // diObjectFactory_( ps ), diObjectLabel_ (ps.getParameter("diObjectCollection")), - genParticleLabel_ (ps.getParameter("genCollection")), - //metLabel_ (ps.getParameter("metCollection")), + genParticleLabel_ (ps.getParameter("genCollection")), nSigma_ (ps.getParameter("nSigma")), uncertainty_ (ps.getParameter("uncertainty")), shift1ProngNoPi0_ (ps.getParameter("shift1ProngNoPi0")), @@ -40,10 +38,8 @@ namespace cmg{ private: - // const DiObjectFactory< typename T::type1, typename T::type2 > diObjectFactory_; const edm::InputTag diObjectLabel_; const edm::InputTag genParticleLabel_; - // const edm::InputTag metLabel_; double nSigma_; double uncertainty_; double shift1ProngNoPi0_; @@ -65,7 +61,6 @@ void cmg::DiObjectUpdateFactory::produce(edm::Event& iEvent, const edm::Ev iEvent.getByLabel(diObjectLabel_,diObjects); edm::Handle< std::vector > genparticles; - // JAN - this may not work from MiniAOD; make it configurable? iEvent.getByLabel(genParticleLabel_, genparticles); std::auto_ptr result(new collection); @@ -76,7 +71,7 @@ void cmg::DiObjectUpdateFactory::produce(edm::Event& iEvent, const edm::Ev // assert( index < metCands->size() ); T leg1(*dynamic_cast(diObject.daughter(0))); U leg2(*dynamic_cast(diObject.daughter(1))); - reco::LeafCandidate met(*dynamic_cast(diObject.daughter(2))); + reco::MET met(*dynamic_cast(diObject.daughter(2))); float shift1 = 0.; float shift2 = 0.; @@ -167,10 +162,8 @@ void cmg::DiObjectUpdateFactory::produce(edm::Event& iEvent, const edm::Ev if (shiftTaus_ ){ leg2.setP4(leg2Vec); } if (shiftMet_ ){ met.setP4(reco::Candidate::LorentzVector(metVecNew.Px(),metVecNew.Py(),metVecNew.Pz(),metVecNew.E())); } - // T diObjectNew = T(leg1,leg2); result->push_back(diObject); - // diObjectFactory_.set( std::make_pair(leg1, leg2), met, & result->back() ); DiTauObjectFactory::set( std::make_pair(leg1, leg2), met, result->back() ); } diff --git a/CMGTools/H2TauTau/interface/DiTauObjectFactory.h b/CMGTools/H2TauTau/interface/DiTauObjectFactory.h index 0b4ddf260bc2..244ce0c8746e 100644 --- a/CMGTools/H2TauTau/interface/DiTauObjectFactory.h +++ b/CMGTools/H2TauTau/interface/DiTauObjectFactory.h @@ -9,8 +9,9 @@ #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/Utilities/interface/InputTag.h" -#include "CMGTools/H2TauTau/interface/METSignificance.h" #include "DataFormats/PatCandidates/interface/CompositeCandidate.h" +#include "DataFormats/PatCandidates/interface/MET.h" +#include "DataFormats/METReco/interface/MET.h" #include #include @@ -26,31 +27,29 @@ class DiTauObjectFactory : public edm::EDProducer DiTauObjectFactory(const edm::ParameterSet& ps) : leg1Label_(ps.getParameter("leg1Collection")), leg2Label_(ps.getParameter("leg2Collection")), - metLabel_(ps.getParameter("metCollection")), - metSigLabel_(ps.getParameter("metsigCollection")) + metLabel_(ps.getParameter("metCollection")) { produces>(); - // JAN - do we still need to produce the MET significance? - produces>(); } void produce(edm::Event&, const edm::EventSetup&); - static void set(const std::pair& pair, const reco::LeafCandidate& met, cmg::DiTauObject& obj); - static void set(const std::pair& pair, const reco::LeafCandidate& met, const cmg::METSignificance& metSig, cmg::DiTauObject& obj); + static void set(const std::pair& pair, const reco::MET& met, cmg::DiTauObject& obj); + static void set(const reco::MET& met, cmg::DiTauObject& obj); private: const edm::InputTag leg1Label_; const edm::InputTag leg2Label_; const edm::InputTag metLabel_; - const edm::InputTag metSigLabel_; }; ///Make when the types are different -template< typename T, typename U > +template cmg::DiTauObject makeDiTau(const T& l1, const U& l2){ cmg::DiTauObject diTauObj = cmg::DiTauObject(); diTauObj.addDaughter(l1); diTauObj.addDaughter(l2); + diTauObj.setP4(l1.p4() + l2.p4()); + diTauObj.setCharge(l1.charge() + l2.charge()); return diTauObj; } @@ -66,12 +65,13 @@ cmg::DiTauObject makeDiTau(const T& l1, const T& l2){ diTauObj.addDaughter(l2); diTauObj.addDaughter(l1); } + diTauObj.setP4(l1.p4() + l2.p4()); + diTauObj.setCharge(l1.charge() + l2.charge()); return diTauObj; } - template -void cmg::DiTauObjectFactory::set(const std::pair& pair, const reco::LeafCandidate& met, cmg::DiTauObject& obj) { +void cmg::DiTauObjectFactory::set(const std::pair& pair, const reco::MET& met, cmg::DiTauObject& obj) { T first = pair.first; U second = pair.second; @@ -85,40 +85,19 @@ void cmg::DiTauObjectFactory::set(const std::pair& pair, const reco: obj.setP4(first.p4() + second.p4()); obj.setCharge(first.charge() + second.charge()); obj.addDaughter(met); - - // JAN: Let's see where we set all this stuff, - // maybe only in python! - // It could also be set as user floats - - // obj->mT_ = cmg::DiObjectFactory::mT(pair.first, pair.second); - // if (pair.first.isElectron() || pair.first.isMuon()) - // obj->lp_ = cmg::DiObjectFactory::lp(pair.first, obj); - // //calculate the Razor variables with MET - // obj->mRT_ = cmg::DiObjectFactory::mRT(pair.first, pair.second, met); - // std::pair pZetaVars = cmg::DiObjectFactory::pZeta(pair.first, pair.second, met); - // obj->pZetaVis_ = pZetaVars.first; - // obj->pZetaMET_ = pZetaVars.second; - // obj->mTLeg1_ = cmg::DiObjectFactory::mT(pair.first, met); - // obj->mTLeg2_ = cmg::DiObjectFactory::mT(pair.second, met); } template -void cmg::DiTauObjectFactory::set(const std::pair& pair, const reco::LeafCandidate& met, const cmg::METSignificance& metSig, cmg::DiTauObject& obj) { - set(pair, met, obj); - - // JAN - FIXME, important, we have to put the MET significance into the event - // in an extra collection that's aligned with the di tau objects - - // obj.metSig_ = metSig; +void cmg::DiTauObjectFactory::set(const reco::MET& met, cmg::DiTauObject& obj) { + obj.addDaughter(met); } -template< typename T, typename U> +template void cmg::DiTauObjectFactory::produce(edm::Event& iEvent, const edm::EventSetup&){ typedef edm::View collection1; typedef edm::View collection2; - typedef edm::View met_collection; - typedef edm::View metSig_collection; + typedef edm::View met_collection; edm::Handle leg1Cands; iEvent.getByLabel(this->leg1Label_, leg1Cands); @@ -133,49 +112,50 @@ void cmg::DiTauObjectFactory::produce(edm::Event& iEvent, const edm::Event iEvent.getByLabel(this->metLabel_, metCands); } - edm::Handle metSigCands; - - bool metSigAvailable = false; - if (!(metSigLabel_ == edm::InputTag())) { - metSigAvailable = true; - iEvent.getByLabel(this->metSigLabel_, metSigCands); - } - std::auto_ptr> result(new std::vector); - std::auto_ptr> resultMETSig(new std::vector); - // Necessary? - if( !leg1Cands->size() || !leg2Cands->size() ){ - iEvent.put>(result); - iEvent.put>(resultMETSig); - return; - } + bool patMet = false; const bool sameCollection = (leg1Cands.id () == leg2Cands.id()); - for (size_t i1 = 0; i1 < leg1Cands->size(); ++i1) { - for (size_t i2 = 0; i2 < leg2Cands->size(); ++i2) { - // if the same collection, only produce each possible pair once - if (sameCollection && (i1 >= i2)) - continue; - - //enable sorting only if we are using the same collection - see Savannah #20217 - cmg::DiTauObject cmgTmp = sameCollection ? cmg::makeDiTau((*leg1Cands)[i1], (*leg2Cands)[i2]) : cmg::makeDiTau((*leg1Cands)[i1], (*leg2Cands)[i2]); - - if (metAvailable && ! metCands->empty()) { - T* first = dynamic_cast(cmgTmp.daughter(0)); - U* second = dynamic_cast(cmgTmp.daughter(1)); - if (metSigAvailable && !metSigCands->empty()) { - cmg::DiTauObjectFactory::set(std::make_pair(*first, *second), metCands->at(0), metSigCands->at(0), cmgTmp); - } - else - cmg::DiTauObjectFactory::set(std::make_pair(*first, *second), metCands->at(0), cmgTmp); - result->push_back(cmgTmp); + for (auto& metCand : *metCands) { + const pat::MET* patMET = dynamic_cast(&metCand); + if (patMET) { + patMet = true; + if (! patMET->hasUserCand("lepton1") || ! patMET->hasUserCand("lepton2")) + edm::LogWarning("produce") << "Cannot access MET user candidates" << std::endl; + const T* first = dynamic_cast(patMET->userCand("lepton1").get()); + const U* second = dynamic_cast(patMET->userCand("lepton2").get()); + if (!first || !second) + edm::LogWarning("produce") << "MET user candidates have incompatible type" << std::endl; + cmg::DiTauObject cmgTmp = sameCollection ? cmg::makeDiTau(*first, *second) : cmg::makeDiTau(*first, *second); + cmg::DiTauObjectFactory::set(*patMET, cmgTmp); + result->push_back(cmgTmp); + } + } + + + if (!patMet) { + for (size_t i1 = 0; i1 < leg1Cands->size(); ++i1) { + for (size_t i2 = 0; i2 < leg2Cands->size(); ++i2) { + + // if the same collection, only produce each possible pair once + if (sameCollection && (i1 >= i2)) + continue; + + //enable sorting only if we are using the same collection - see Savannah #20217 + cmg::DiTauObject cmgTmp = sameCollection ? cmg::makeDiTau((*leg1Cands)[i1], (*leg2Cands)[i2]) : cmg::makeDiTau((*leg1Cands)[i1], (*leg2Cands)[i2]); + + if (metAvailable && ! metCands->empty()) { + if (metCands->size() < result->size()+1) + edm::LogWarning("produce") << "Fewer MET candidates than leg1/leg2 combinations; are the inputs to the MET producer and the di-tau object producer the same?" << std::endl; + cmg::DiTauObjectFactory::set(metCands->at(result->size()), cmgTmp); + result->push_back(cmgTmp); + } } } } iEvent.put(result); - iEvent.put(resultMETSig); } } // namespace cmg diff --git a/CMGTools/H2TauTau/interface/DiTauWithSVFitProducer.h b/CMGTools/H2TauTau/interface/DiTauWithSVFitProducer.h index 15711941f083..166ec1c9d113 100644 --- a/CMGTools/H2TauTau/interface/DiTauWithSVFitProducer.h +++ b/CMGTools/H2TauTau/interface/DiTauWithSVFitProducer.h @@ -6,16 +6,17 @@ #include "FWCore/Utilities/interface/Exception.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "CMGTools/H2TauTau/interface/METSignificance.h" +#include "DataFormats/METReco/interface/MET.h" #include "DataFormats/PatCandidates/interface/CompositeCandidate.h" -#include "TauAnalysis/SVFitStandAlone/interface/NSVfitStandaloneAlgorithm2011.h" +#include "DataFormats/PatCandidates/interface/Tau.h" +#include "DataFormats/PatCandidates/interface/Electron.h" +#include "DataFormats/PatCandidates/interface/Muon.h" -///New SVFit -#include "TauAnalysis/CandidateTools/interface/NSVfitStandaloneAlgorithm.h" +#include "TauAnalysis/SVFitStandAlone2011/interface/NSVfitStandaloneAlgorithm2011.h" +#include "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneAlgorithm.h" #include -// JAN - why not in namespace cmg?? template< typename T, typename U> class DiTauWithSVFitProducer : public edm::EDProducer { @@ -23,19 +24,16 @@ class DiTauWithSVFitProducer : public edm::EDProducer { typedef pat::CompositeCandidate DiTauObject; public: - // will template the producer later - typedef std::vector< DiTauObject > DiTauCollection; - - explicit DiTauWithSVFitProducer(const edm::ParameterSet & iConfig); + typedef std::vector DiTauCollection; + typedef std::auto_ptr OutPtr; + explicit DiTauWithSVFitProducer(const edm::ParameterSet& iConfig); virtual ~DiTauWithSVFitProducer() {} - + private: + void produce(edm::Event& iEvent, const edm::EventSetup& iSetup); - void produce(edm::Event & iEvent, const edm::EventSetup & iSetup); - /// source diobject inputtag edm::InputTag diTauSrc_; - edm::InputTag metsigSrc_; unsigned warningNumbers_; bool verbose_; @@ -45,144 +43,198 @@ typedef pat::CompositeCandidate DiTauObject; template< typename T, typename U > -DiTauWithSVFitProducer::DiTauWithSVFitProducer(const edm::ParameterSet & iConfig) : - diTauSrc_( iConfig.getParameter("diTauSrc") ), - // metSrc_( iConfig.getParameter("metSrc") ), - metsigSrc_( iConfig.getParameter("metsigSrc") ), +DiTauWithSVFitProducer::DiTauWithSVFitProducer(const edm::ParameterSet& iConfig) : + diTauSrc_(iConfig.getParameter("diTauSrc")), warningNumbers_(0), - verbose_( iConfig.getUntrackedParameter("verbose", false ) ), - SVFitVersion_( iConfig.getParameter("SVFitVersion") ), + verbose_(iConfig.getUntrackedParameter("verbose", false)), + SVFitVersion_(iConfig.getParameter("SVFitVersion")), fitAlgo_(iConfig.getParameter("fitAlgo")) { - // will produce a collection containing a copy of each di-object in input, - // with the SVFit mass set. - produces< std::vector< DiTauObject > >(); + // will produce a collection containing a copy of each di-object in input, + // with the SVFit mass set. + produces>(); } -template< typename T, typename U > -void DiTauWithSVFitProducer::produce(edm::Event & iEvent, const edm::EventSetup & iSetup) { +template +void DiTauWithSVFitProducer::produce(edm::Event& iEvent, const edm::EventSetup& iSetup) { - edm::Handle< DiTauCollection > diTauH; + edm::Handle diTauH; iEvent.getByLabel(diTauSrc_, diTauH); - edm::Handle< std::vector > metSigH; - iEvent.getByLabel(metsigSrc_, metSigH); - - if(verbose_ && !diTauH->empty() ) { - std::cout<<"DiTauWithSVFitProducer"<empty()) { + std::cout << "DiTauWithSVFitProducer" << std::endl; + std::cout << "+++" << std::endl; } - - std::string warningMessage; - NSVfitStandalone::kDecayType leg1type, leg2type; - NSVfitStandalone2011::kDecayType leg1type2011, leg2type2011; - if(typeid(T)==typeid(pat::Tau)) { - leg1type=NSVfitStandalone::kHadDecay; + std::string warningMessage; + + svFitStandalone::kDecayType leg1type = svFitStandalone::kUndefinedDecayType; + svFitStandalone::kDecayType leg2type = svFitStandalone::kUndefinedDecayType; + NSVfitStandalone2011::kDecayType leg1type2011 = NSVfitStandalone2011::kHadDecay; + NSVfitStandalone2011::kDecayType leg2type2011 = NSVfitStandalone2011::kHadDecay; + + if (typeid(T) == typeid(pat::Tau)) { + leg1type=svFitStandalone::kTauToHadDecay; leg1type2011=NSVfitStandalone2011::kHadDecay; warningMessage += " - first leg is hadronic tau"; - } else { - leg1type=NSVfitStandalone::kLepDecay; + } else if (typeid(T) == typeid(pat::Electron)) { + leg1type=svFitStandalone::kTauToElecDecay; + leg1type2011=NSVfitStandalone2011::kLepDecay; + warningMessage += " - first leg is electron from tau"; + } else if (typeid(T) == typeid(pat::Muon)) { + leg1type=svFitStandalone::kTauToMuDecay; leg1type2011=NSVfitStandalone2011::kLepDecay; - warningMessage += " - first leg is leptonic tau"; + warningMessage += " - first leg is muon from tau"; + } else { + warningMessage += " - first leg - COULD NOT IDENTIFY TYPE"; } - if(typeid(U)==typeid(pat::Tau)) { - leg2type=NSVfitStandalone::kHadDecay; + + if (typeid(U) == typeid(pat::Tau)) { + leg2type=svFitStandalone::kTauToHadDecay; leg2type2011=NSVfitStandalone2011::kHadDecay; warningMessage += " - second leg is hadronic tau"; - } else { - leg2type=NSVfitStandalone::kLepDecay; + } else if (typeid(U) == typeid(pat::Electron)) { + leg2type=svFitStandalone::kTauToElecDecay; + leg2type2011=NSVfitStandalone2011::kLepDecay; + warningMessage += " - second leg is electron from tau"; + } else if (typeid(U) == typeid(pat::Muon)) { + leg2type=svFitStandalone::kTauToMuDecay; leg2type2011=NSVfitStandalone2011::kLepDecay; - warningMessage += " - second leg is leptonic tau"; + warningMessage += " - second leg is muon from tau"; } const unsigned maxWarnings = 5; if(warningNumbers_ OutPtr; - OutPtr pOut( new DiTauCollection() ); + + OutPtr pOut(new DiTauCollection()); if(verbose_ && !diTauH->empty()) { - std::cout<<"Looping on "<size()<<" input di-objects:"<size() << " input di-objects:" << std::endl; } - for (size_t i=0; isize(); ++i) { - DiTauObject diTau(diTauH->at(i)); - const cmg::METSignificance& metsig = metSigH->at(i); - const reco::LeafCandidate& met(dynamic_cast(*diTau.daughter(2))); - const TMatrixD* tmsig = &metsig.significance(); + for (auto& diTauOriginal : *diTauH) { + DiTauObject diTau(diTauOriginal); + const reco::MET& met(dynamic_cast(*diTau.daughter(2))); + + const auto& smsig = met.getSignificanceMatrix(); + + TMatrixD tmsig(2, 2); + // tmsig.SetMatrixArray(smsig.Array()); + // Set elements by hand to avoid array gymnastics/assumptions + tmsig(0,0) = smsig(0,0); + tmsig(0,1) = smsig(0,1); + tmsig(1,0) = smsig(1,0); + tmsig(1,1) = smsig(1,1); if(verbose_) { - std::cout<<" ---------------- "<push_back( diTau ); - + pOut->push_back(diTau); + if(verbose_) { - std::cout<<"\tm_vis = "< -#include "TMath.h" -#include - - - -class SelectionEfficiency { -public: - SelectionEfficiency(){} ; - - /* - Factors correcting for id and isolation differences between MC and Data - */ - //**************** - //parameters taken from AN-11-390 v8, should be for Fall11 MC - //***************** - double effCorrMu2011AB(double pt,double eta){ - if(fabs(eta)<1.479) {//Barrel - if(10.0 30 Barrel 1.044 ± 0.001 -// pT > 30 Endcap 0.977 ± 0.001 -// Iso -// 20 < pT < 30 Barrel 0.980 ± 0.003 -// 20 < pT < 30 Endcap 0.967 ± 0.006 -// pT > 30 Barrel 0.984 ± 0.001 -// pT > 30 Endcap 0.989 ± 0.001 - double effCorrEle2011AB(double pt,double eta){ - if(fabs(eta)<1.479) {//Barrel - if(20.0 30 Barrel 0.973 ± 0.001 0.962 ± 0.001 0.989 ± 0.001 -// pT > 30 Endcap 0.966 ± 0.001 0.955 ± 0.001 0.989 ± 0.001 -// Iso -// 15 < pT < 20 Barrel 0.728 ± 0.011 0.688 ± 0.006 0.945 ± 0.017 -// 15 < pT < 20 Endcap 0.716 ± 0.018 0.750 ± 0.010 1.047 ± 0.030 -// 20 < pT < 30 Barrel 0.771 ± 0.004 0.775 ± 0.002 1.005 ± 0.006 -// 20 < pT < 30 Endcap 0.841 ± 0.007 0.834 ± 0.004 0.992 ± 0.009 -// pT > 30 Barrel 0.921 ± 0.001 0.915 ± 0.001 0.993 ± 0.001 -// pT > 30 Endcap 0.930 ± 0.002 0.935 ± 0.001 1.005 ± 0.002 - double effCorrMu2012AB(double pt,double eta){ - if(fabs(eta)<1.6) {//Barrel - if(15.0 30 Barrel 0.908 ± 0.001 0.876 ± 0.001 0.964 ± 0.001 -// pT > 30 Endcap 0.617 ± 0.004 0.592 ± 0.010 0.958 ± 0.007 -// Iso -// 20 < pT < 30 Barrel 0.734 ± 0.006 0.715 ± 0.001 0.974 ± 0.008 -// 20 < pT < 30 Endcap 0.740 ± 0.013 0.745 ± 0.008 1.008 ± 0.021 -// pT > 30 Barrel 0.896 ± 0.001 0.893 ± 0.001 0.997 ± 0.001 -// pT > 30 Endcap 0.912 ± 0.003 0.896 ± 0.001 0.983 ± 0.004 - - double effCorrEle2012AB(double pt,double eta){ - if(fabs(eta)<1.479) {//Barrel - if(20.020, |super-cluster eta|<2.1 - Float_t elecEffSFTight(Float_t pt, Float_t eta){ - - //Define histogram with weights - Double_t xAxis1[10] = {10, 15, 20, 25, 30, 40, 55, 70, 100, 200}; - Double_t yAxis1[4] = {0, 0.8, 1.479, 2.5}; - - TH2F hPtEtaSF("hPtEtaSF","",9, xAxis1,3, yAxis1); - hPtEtaSF.SetBinContent(14,0.95); - hPtEtaSF.SetBinContent(15,0.96); - hPtEtaSF.SetBinContent(16,0.97); - hPtEtaSF.SetBinContent(17,0.98); - hPtEtaSF.SetBinContent(18,1.00); - hPtEtaSF.SetBinContent(19,0.98); - hPtEtaSF.SetBinContent(20,0.99); - hPtEtaSF.SetBinContent(21,1.00); - hPtEtaSF.SetBinContent(25,0.89); - hPtEtaSF.SetBinContent(26,0.93); - hPtEtaSF.SetBinContent(27,0.94); - hPtEtaSF.SetBinContent(28,0.98); - hPtEtaSF.SetBinContent(29,0.96); - hPtEtaSF.SetBinContent(30,0.97); - hPtEtaSF.SetBinContent(31,0.98); - hPtEtaSF.SetBinContent(32,0.93); - hPtEtaSF.SetBinContent(36,0.66); - hPtEtaSF.SetBinContent(37,0.75); - hPtEtaSF.SetBinContent(38,0.78); - hPtEtaSF.SetBinContent(39,0.84); - hPtEtaSF.SetBinContent(40,0.89); - hPtEtaSF.SetBinContent(41,0.89); - hPtEtaSF.SetBinContent(42,0.93); - hPtEtaSF.SetBinContent(43,1.00); - - if(pt>199.99) - pt=199.9; - eta=fabs(eta); - if(eta>2.49) - eta=2.49; - - if(pt<20) - return 0; - - Float_t eff=0; - Int_t bin = hPtEtaSF.FindFixBin(pt,eta); - eff = hPtEtaSF.GetBinContent(bin); - - return eff; - } - - - - - -private: - -} ; -#endif - - diff --git a/CMGTools/H2TauTau/interface/VBFMVA.h b/CMGTools/H2TauTau/interface/VBFMVA.h deleted file mode 100644 index 05303bfb8b06..000000000000 --- a/CMGTools/H2TauTau/interface/VBFMVA.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef CMGTools_H2TauTau_VBFMVA_H -#define CMGTools_H2TauTau_VBFMVA_H - -#include -#include "TMath.h" -#include -#include -#include "TMVA/Reader.h" - - -class VBFMVA { -public: - - VBFMVA () {} - - VBFMVA (const char * weightsFile) ; - - ~VBFMVA () ; - - double val ( - double mjj , // the invariant mass of the two tag jets - double dEta , // the pseudorapidity difference between the two tag jets - double dPhi , // the phi difference between the two tag jets - double ditau_pt , // the vector sum of the pT of the tau + electron/muon + MET - double dijet_pt , // the vector sum of the pT of the two tag jets - double dPhi_hj , // the phi difference between the di-tau vector and the di-jet vector - double C1 , // the pseudorapidity difference between the *visible* di-tau vector and the closest tag jet - double C2 // the *visible* pT of the di-tau - ) ; - -private: - - void init (const char * weightsFile) ; - - std::vector vbfvars_ ; - TMVA::Reader *reader_ ; -}; - - - - -#endif - - diff --git a/CMGTools/H2TauTau/interface/VBFMVA2012.h b/CMGTools/H2TauTau/interface/VBFMVA2012.h deleted file mode 100644 index 2fb914293f04..000000000000 --- a/CMGTools/H2TauTau/interface/VBFMVA2012.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef CMGTools_H2TauTau_VBFMVA2012_H -#define CMGTools_H2TauTau_VBFMVA2012_H - -#include -#include "TMath.h" -#include -#include -#include "TMVA/Reader.h" - - -class VBFMVA2012 { -public: - - VBFMVA2012 () {} - - VBFMVA2012 (const char * weightsFile) ; - - ~VBFMVA2012 () ; - - double val ( - double mjj , // the invariant mass of the two tag jets - double dEta , // the pseudorapidity difference between the two tag jets - double C1 , // the pseudorapidity difference between the *visible* di-tau vector and the closest tag jet - double C2 // the *visible* pT of the di-tau - ) ; - -private: - - void init (const char * weightsFile) ; - - std::vector vbfvars_ ; - TMVA::Reader *reader_ ; -}; - - - - -#endif - - diff --git a/CMGTools/H2TauTau/plotting/datacard/README b/CMGTools/H2TauTau/plotting/datacard/README deleted file mode 100644 index f82feb52a4c4..000000000000 --- a/CMGTools/H2TauTau/plotting/datacard/README +++ /dev/null @@ -1 +0,0 @@ -These scripts were written by Colin to combine the datacards and write them out as a combined datacard diff --git a/CMGTools/H2TauTau/plotting/datacard/alldatacards.py b/CMGTools/H2TauTau/plotting/datacard/alldatacards.py deleted file mode 100644 index 0e6882d96605..000000000000 --- a/CMGTools/H2TauTau/plotting/datacard/alldatacards.py +++ /dev/null @@ -1,189 +0,0 @@ -import os -import sys -import shutil - -from ROOT import gROOT - - -def mkdir_p(path): - try: - os.makedirs(path) - except OSError as exc: # Python >2.5 - if exc.errno == errno.EEXIST: - pass - else: raise - - -def mkdir(dir): - global remove_all - adir = '/'.join([os.getcwd(), dir]) - if os.path.isdir(dir): - while 1: - if not remove_all: - answer = raw_input(adir + ' exists. Do you want to remove it? [y/n/a]') - if answer=='y': - os.system('rm -r '+dir) - break - elif answer=='a': - os.system('rm -r '+dir) - remove_all = True - if answer=='n': - sys.exit(1) - else: - os.system('rm -r '+dir) - break - os.mkdir(dir) - - -def dataAndBackground(dir, cuts, macro): - print os.getcwd() - for cutname, cut in cuts.iteritems(): - mkdir(cutname) - op = os.getcwd() - os.chdir(cutname) - # in batch mode, and don't plot the signal - cmd = "nohup python {macro} {dir} {cfg} -g Dummy -H svfitMass -E -C '{cut}' -b &".format( - macro=macro, - dir=dir, - cfg=cfg, - cut=cut - ) - print cmd - os.system(cmd) - os.chdir(op) - - - -def mcTemplates(dir, cuts, refilter, channel, prefix): - print os.getcwd() - macro = mc_macro - for cutname, cut in cuts.iteritems(): - mkdir(cutname) - op = os.getcwd() - os.chdir(cutname) - # in batch mode, and don't plot the signal - print refilter - cmd = "nohup python {macro} {dir} {cfg} -E -f '{refilter}' -c {channel} -p {prefix} -H svfitMass -C '{cut}' -b &".format( - macro=macro, - dir=dir, - cfg=cfg, - cut=cut, - refilter=refilter, - channel=channel, - prefix=prefix - ) - print cmd - os.system(cmd) - os.chdir(op) - - -def chdir(dir, subdir): - # oldpwd = os.getcwd() - # import pdb; pdb.set_trace() - os.chdir(dir) - dcdir = subdir - if not os.path.isdir(dcdir): - mkdir_p(dcdir) - os.chdir(dcdir) - shutil.copyfile( cfg, '/'.join(['.', os.path.basename(cfg)])) - - -if __name__ == '__main__': - - - import os - import sys - from optparse import OptionParser - - parser = OptionParser() - parser.usage = """ - %prog - """ - parser.add_option("-f", "--filter", - dest="filter", - help="Regexp filters to select components for the MC-only templates, separated by semicolons, e.g. Higgs;ZTT", - default='Higgs.*;Ztt.*') - parser.add_option("-d", "--disabledata", - dest="disabledata", - action='store_true', - help="Disable datacard production for the data and background estimation", - default=False) - parser.add_option("-m", "--disablemc", - dest="disablemc", - action='store_false', - help="Disable datacard production for MC", - default=False) - - - (options,args) = parser.parse_args() - - if len(args)!=2: - parser.print_usage() - print 'provide exactly 2 arguments.' - sys.exit(1) - - # dir = 'Prod_MC_AndrewTrigger_Nov2' - dir = args[0] - channel = args[1] - - oldpwd = os.getcwd() - - plotterdir = '/'.join([ os.environ['CMSSW_BASE'], 'src/CMGTools/H2TauTau/python/proto/plotter'] ) - mc_macro = '/'.join([plotterdir,'plot_H2TauTauMC.py']) - - inclusive_macro = None - vbf_macro = None - inclusive_cuts = None - vbf_cuts = { - 'vbf':'mt<20' - } - vbf_mc_cuts = { - 'vbf':'Xcat_IncX && Xcat_VBFX && mt<20 && diTau_charge==0' - } - - if channel=='TauEle': - inclusive_macro = '/'.join([plotterdir,'plot_H2TauTauDataMC_TauEle_Inclusive_Colin.py']) - vbf_macro = '/'.join([plotterdir,'plot_H2TauTauDataMC_TauEle_VBF_Colin.py']) - cfg = 'tauEle_2011_cfg.py' - inclusive_cuts = { - 'inclusive':'Xcat_IncX && mt<20', - '0jet_low':'Xcat_IncX && Xcat_J0X && l1_pt<40 && mt<20', - '0jet_high':'Xcat_IncX && Xcat_J0X && l1_pt>40 && mt<20', - 'boost_low':'Xcat_IncX && Xcat_J1X && l1_pt<40 && mt<20 && met>30', - 'boost_high':'Xcat_IncX && Xcat_J1X && l1_pt>40 && mt<20 && met>30', - } - elif channel=='TauMu': - inclusive_macro = '/'.join([plotterdir,'plot_H2TauTauDataMC_TauMu_Inclusive.py']) - vbf_macro = '/'.join([plotterdir,'plot_H2TauTauDataMC_TauMu_VBF.py']) - cfg = 'tauMu_2011_cfg.py' - inclusive_cuts = { - 'inclusive':'Xcat_IncX && mt<20', - '0jet_low':'Xcat_IncX && Xcat_J0X && l1_pt<40 && mt<20', - '0jet_high':'Xcat_IncX && Xcat_J0X && l1_pt>40 && mt<20', - 'boost_low':'Xcat_IncX && Xcat_J1X && l1_pt<40 && mt<20', - 'boost_high':'Xcat_IncX && Xcat_J1X && l1_pt>40 && mt<20', - } - else: - print 'channel not recognized:', channel - - cfg = '/'.join([oldpwd, cfg]) - dir = '/'.join([oldpwd, dir]) - - dirs = [dir] - - remove_all = False - - for dir in dirs: - print dir - - if not options.disabledata: - chdir(dir, 'Datacards/DataAndBackground') - dataAndBackground(dir, inclusive_cuts, inclusive_macro) - dataAndBackground(dir, vbf_cuts, vbf_macro) - os.chdir(oldpwd) - - if not options.disablemc: - chdir(dir, 'Datacards/MC') - mcTemplates(dir, inclusive_cuts, options.filter, channel, prefix='MC') - mcTemplates(dir, vbf_mc_cuts, options.filter, channel, prefix='MC') - os.chdir(oldpwd) diff --git a/CMGTools/H2TauTau/plotting/datacard/compareNtuple.py b/CMGTools/H2TauTau/plotting/datacard/compareNtuple.py deleted file mode 100644 index 8aa85a1d62fa..000000000000 --- a/CMGTools/H2TauTau/plotting/datacard/compareNtuple.py +++ /dev/null @@ -1,163 +0,0 @@ -#!/bin/env python - -import time -import sys -import os -import copy -from CMGTools.RootTools.RootInit import * -from CMGTools.RootTools.Style import sData, sBlue, styleSet -from ROOT import TTree, TLegend - - -from optparse import OptionParser - -parser = OptionParser() -parser.usage = '%prog ' - -parser.add_option("-m", "--min", - dest="ymin", - default=0.0,help='y min') -parser.add_option("-M", "--max", - dest="ymax", - default=1.1,help='y max') - -options, args = parser.parse_args() -if len(args)<2: - print 'provide at least 2 arguments (the files containing the trees you want to compare)' - sys.exit(1) - -options.ymin = float(options.ymin) -options.ymax = float(options.ymax) - -files = args - - - -styles = [sBlue, sData] - -keeper = [] - -def getTree( fileName ): - print 'setup', fileName - if not os.path.isfile(fileName): - raise ValueError(fileName + 'does not exist') - file = TFile( fileName) - keeper.extend( [file] ) - trees = [] - for k in file.GetListOfKeys(): - obj = file.Get(k.GetName()) - if isinstance(obj,TTree): - trees.append( obj ) - if len(trees)==0: - print 'no tree in file', fileName - sys.exit(1) - elif len(trees)>1: - print 'too many trees in file', fileName - sys.exit(1) - print 'loading', obj.GetName(), 'from', file.GetName() - return trees[0] - -trees = [] -for file in files: - trees.append( getTree(file) ) - -legend = None - -def draw(var, cut='', norm=False, rebin=None, nbins=None, xmin=None, xmax=None ): - global legend - same = '' - if nbins is not None: - if xmin is None or xmax is None: - raise ValueError('if you specify nbins, you also should specify xmin and xmax') - firstLegend = False - if not legend: - firstLegend = True - legend = TLegend(0.7, 0.7, 0.9, 0.9) - for index, tree in enumerate(trees): - theVar = var - if same == '' and nbins: - theVar = '{var}>>{hist}({nbins},{min},{max})'.format( - var = var, - hist = 'hist', - nbins = nbins, - min = min, - max = max) - tree.Draw(theVar, cut, same) - hist = tree.GetHistogram() - print tree.GetName(), hist.Integral() - if same == '': - hist.Sumw2() - if norm: - hist.Scale( 1/hist.Integral() ) - hist.GetYaxis().SetRangeUser(0,1) - if rebin is not None and same=='': - hist.Rebin(rebin) - if index < len(styles): - styles[index].formatHisto( hist ) - hist.Draw(same) - if firstLegend: - legend.AddEntry(hist, files[index], 'lp' ) - if same == '': - same = 'same' - legend.Draw('same') - - -areFriends = False - -def friendAlias(index): - return 'T{index}'.format(index=index) - -def makeFriends(): - entries = map( TTree.GetEntries, trees ) - sameNumEntries = all( x==entries[0] for x in entries ) - if not sameNumEntries: - print 'cannot call this function if your trees have different numbers of entries' - return None - mtree = trees[0] - for index, tree in enumerate(trees): - if tree == mtree: continue - mtree.AddFriend( tree, friendAlias(index) ) - areFriends = True - return mtree - -def drawDiff(var, cut=''): - mtree = trees[0] - if not areFriends: - mtree = makeFriends() - same = '' - histograms = {} - leaves = [leave.GetName() for leave in mtree.GetListOfBranches()] - if not var in leaves: - import pdb; pdb.set_trace() - raise ValueError( var + ' is not in reference tree.') - for index, tree in enumerate(trees): - if tree == mtree: continue - leaves = [leave.GetName() for leave in tree.GetListOfBranches()] - if not var in leaves: - raise ValueError( var + ' is not in reference tree ' + friendAlias(index)) - diffvar = '{var}-{ovar}'.format(var=var, - ovar = '.'.join([friendAlias(index), var])) - print diffvar - mtree.Draw(diffvar, cut, same) - hist = mtree.GetHistogram() - histograms['.'.join([friendAlias(index), var])] = hist - if index < len(styles): - styles[index].formatHisto( hist ) - if same == '': - same = 'same' - return histograms - - -def fullDiff(cut=''): - mtree = trees[0] - for var in (l.GetName() for l in mtree.GetListOfLeaves()) : - # print 'diffing', var - histograms = drawDiff( var, cut ) - gPad.Modified() - gPad.Update() - for name, histo in histograms.iteritems(): - if histo.GetMean()!=0 or histo.GetRMS()!=0: - print 'print difference spotted in', name - # time.sleep(0.1) - - diff --git a/CMGTools/H2TauTau/plotting/datacard/descmap_colin.txt b/CMGTools/H2TauTau/plotting/datacard/descmap_colin.txt deleted file mode 100644 index b019ea7d352e..000000000000 --- a/CMGTools/H2TauTau/plotting/datacard/descmap_colin.txt +++ /dev/null @@ -1,23 +0,0 @@ -muTau_inclusive.root muTau.root:muTau_inclusive -muTau_inclusive_CMS_scale_tUp.root muTau.root:muTau_inclusive -muTau_inclusive_CMS_scale_tDown.root muTau.root:muTau_inclusive - -muTau_0jet_low.root muTau.root:muTau_0jet_low -muTau_0jet_low_CMS_scale_tUp.root muTau.root:muTau_0jet_low -muTau_0jet_low_CMS_scale_tDown.root muTau.root:muTau_0jet_low - -muTau_0jet_high.root muTau.root:muTau_0jet_high -muTau_0jet_high_CMS_scale_tUp.root muTau.root:muTau_0jet_high -muTau_0jet_high_CMS_scale_tDown.root muTau.root:muTau_0jet_high - -muTau_boost_low.root muTau.root:muTau_boost_low -muTau_boost_low_CMS_scale_tUp.root muTau.root:muTau_boost_low -muTau_boost_low_CMS_scale_tDown.root muTau.root:muTau_boost_low - -muTau_boost_high.root muTau.root:muTau_boost_high -muTau_boost_high_CMS_scale_tUp.root muTau.root:muTau_boost_high -muTau_boost_high_CMS_scale_tDown.root muTau.root:muTau_boost_high - -muTau_vbf.root muTau.root:muTau_vbf -muTau_vbf_CMS_scale_tUp.root muTau.root:muTau_vbf -muTau_vbf_CMS_scale_tDown.root muTau.root:muTau_vbf diff --git a/CMGTools/H2TauTau/plotting/datacard/descmap_tauEle.txt b/CMGTools/H2TauTau/plotting/datacard/descmap_tauEle.txt deleted file mode 100644 index a1dda3614da8..000000000000 --- a/CMGTools/H2TauTau/plotting/datacard/descmap_tauEle.txt +++ /dev/null @@ -1,23 +0,0 @@ -TauEle_X.root TauEle_PietroJuly13_mVis.root:TauEle_X -TauEle_X_CMS_scale_tUp.root TauEle_PietroJuly13_mVis.root:TauEle_X -TauEle_X_CMS_scale_tDown.root TauEle_PietroJuly13_mVis.root:TauEle_X - -TauEle_0jet_low.root TauEle_PietroJuly13_mVis.root:TauEle_0jet_low -TauEle_0jet_low_CMS_scale_tUp.root TauEle_PietroJuly13_mVis.root:TauEle_0jet_low -TauEle_0jet_low_CMS_scale_tDown.root TauEle_PietroJuly13_mVis.root:TauEle_0jet_low - -TauEle_0jet_high.root TauEle_PietroJuly13_mVis.root:TauEle_0jet_high -TauEle_0jet_high_CMS_scale_tUp.root TauEle_PietroJuly13_mVis.root:TauEle_0jet_high -TauEle_0jet_high_CMS_scale_tDown.root TauEle_PietroJuly13_mVis.root:TauEle_0jet_high - -TauEle_boosted_low.root TauEle_PietroJuly13_mVis.root:TauEle_boost_low -TauEle_boosted_low_CMS_scale_tUp.root TauEle_PietroJuly13_mVis.root:TauEle_boost_low -TauEle_boosted_low_CMS_scale_tDown.root TauEle_PietroJuly13_mVis.root:TauEle_boost_low - -TauEle_boosted_high.root TauEle_PietroJuly13_mVis.root:TauEle_boost_high -TauEle_boosted_high_CMS_scale_tUp.root TauEle_PietroJuly13_mVis.root:TauEle_boost_high -TauEle_boosted_high_CMS_scale_tDown.root TauEle_PietroJuly13_mVis.root:TauEle_boost_high - -TauEle_vbf.root TauEle_PietroJuly13_mVis.root:TauEle_vbf -TauEle_vbf_CMS_scale_tUp.root TauEle_PietroJuly13_mVis.root:TauEle_vbf -TauEle_vbf_CMS_scale_tDown.root TauEle_PietroJuly13_mVis.root:TauEle_vbf diff --git a/CMGTools/H2TauTau/plotting/datacard/fractions.txt b/CMGTools/H2TauTau/plotting/datacard/fractions.txt deleted file mode 100644 index c33477a4f16f..000000000000 --- a/CMGTools/H2TauTau/plotting/datacard/fractions.txt +++ /dev/null @@ -1,5 +0,0 @@ -0.752276599407 -0.171668857336 -0.0536961443722 -0.0159474294633 -0.00641100015491 diff --git a/CMGTools/H2TauTau/plotting/datacard/nevents.txt b/CMGTools/H2TauTau/plotting/datacard/nevents.txt deleted file mode 100644 index 349a76994d93..000000000000 --- a/CMGTools/H2TauTau/plotting/datacard/nevents.txt +++ /dev/null @@ -1,5 +0,0 @@ -81035922.744426474 -75890221.360668004 -25326376.405680001 -7514498.0491649993 -13022311.366807999 diff --git a/CMGTools/H2TauTau/plugins/H2TauTauTools.cc b/CMGTools/H2TauTau/plugins/H2TauTauTools.cc index eba5de23f311..d57165cabcc4 100644 --- a/CMGTools/H2TauTau/plugins/H2TauTauTools.cc +++ b/CMGTools/H2TauTau/plugins/H2TauTauTools.cc @@ -7,13 +7,16 @@ DEFINE_FWK_MODULE(TauMuWithSVFitProducer); DEFINE_FWK_MODULE(TauEleWithSVFitProducer); DEFINE_FWK_MODULE(MuEleWithSVFitProducer); DEFINE_FWK_MODULE(TauTauWithSVFitProducer); +DEFINE_FWK_MODULE(DiMuWithSVFitProducer); DEFINE_FWK_MODULE(TauMuPOProducer); DEFINE_FWK_MODULE(TauElePOProducer); DEFINE_FWK_MODULE(MuElePOProducer); DEFINE_FWK_MODULE(DiTauPOProducer); +DEFINE_FWK_MODULE(DiMuPOProducer); DEFINE_FWK_MODULE(TauMuUpdateProducer); DEFINE_FWK_MODULE(TauEleUpdateProducer); DEFINE_FWK_MODULE(MuEleUpdateProducer); DEFINE_FWK_MODULE(DiTauUpdateProducer); +DEFINE_FWK_MODULE(DiMuUpdateProducer); diff --git a/CMGTools/H2TauTau/plugins/H2TauTauTools.h b/CMGTools/H2TauTau/plugins/H2TauTauTools.h index 4743bb8920ad..993acd7a5765 100644 --- a/CMGTools/H2TauTau/plugins/H2TauTauTools.h +++ b/CMGTools/H2TauTau/plugins/H2TauTauTools.h @@ -10,11 +10,13 @@ typedef DiTauObjectFactory< pat::Tau, pat::Tau > DiTauPOProducer; typedef DiTauObjectFactory< pat::Tau, pat::Electron > TauElePOProducer; typedef DiTauObjectFactory< pat::Tau, pat::Muon > TauMuPOProducer; typedef DiTauObjectFactory< pat::Muon, pat::Electron > MuElePOProducer; +typedef DiTauObjectFactory< pat::Muon, pat::Muon > DiMuPOProducer; typedef DiObjectUpdateFactory< pat::Tau, pat::Muon > TauMuUpdateProducer; typedef DiObjectUpdateFactory< pat::Tau, pat::Electron > TauEleUpdateProducer; typedef DiObjectUpdateFactory< pat::Muon, pat::Electron > MuEleUpdateProducer; typedef DiObjectUpdateFactory< pat::Tau, pat::Tau> DiTauUpdateProducer; +typedef DiObjectUpdateFactory< pat::Muon, pat::Muon > DiMuUpdateProducer; } @@ -22,4 +24,4 @@ typedef DiTauWithSVFitProducer< pat::Tau, pat::Muon > TauMuWithSVFitProducer; typedef DiTauWithSVFitProducer< pat::Tau, pat::Electron > TauEleWithSVFitProducer; typedef DiTauWithSVFitProducer< pat::Muon, pat::Electron > MuEleWithSVFitProducer; typedef DiTauWithSVFitProducer< pat::Tau, pat::Tau > TauTauWithSVFitProducer; - +typedef DiTauWithSVFitProducer< pat::Muon, pat::Muon > DiMuWithSVFitProducer; diff --git a/CMGTools/H2TauTau/prod/h2TauTauMiniAOD_cfg.py b/CMGTools/H2TauTau/prod/h2TauTauMiniAOD_cfg.py new file mode 100644 index 000000000000..94cc3f903eeb --- /dev/null +++ b/CMGTools/H2TauTau/prod/h2TauTauMiniAOD_cfg.py @@ -0,0 +1,229 @@ +import FWCore.ParameterSet.Config as cms + +from CMGTools.Production.datasetToSource import datasetToSource +from CMGTools.H2TauTau.tools.setupJSON import setupJSON +# from CMGTools.H2TauTau.tools.setupRecoilCorrection import setupRecoilCorrection +from CMGTools.H2TauTau.tools.setupEmbedding import setupEmbedding +from CMGTools.H2TauTau.objects.jetreco_cff import addAK4Jets +from CMGTools.H2TauTau.tools.setupOutput import addTauMuOutput, addTauEleOutput, addDiTauOutput, addMuEleOutput, addDiMuOutput + +sep_line = '-'*70 + +process = cms.Process("H2TAUTAU") + +process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(-1)) + +numberOfFilesToProcess = -1 +debugEventContent = False + +# choose from 'tau-mu' 'di-tau' 'tau-ele' 'mu-ele' 'all-separate', 'all' +# channel = 'all' +channel = 'di-mu' + +# newSVFit enables the svfit mass reconstruction used for the H->tau tau analysis. +# if false, much faster processing but mass is wrong. +newSVFit = False +tauScaling = 0 # JAN: to be implemented downstream + +# increase to 1000 before running on the batch, to reduce size of log files +# on your account +reportInterval = 100 + +print sep_line +print 'channel', channel +print 'newSVFit', newSVFit +print 'tau scaling =', tauScaling + +# Input & JSON ------------------------------------------------- + +# dataset_user = 'htautau_group' +# dataset_name = '/VBF_HToTauTau_M-125_13TeV-powheg-pythia6/Spring14dr-PU20bx25_POSTLS170_V5-v1/AODSIM/SS14/' +# dataset_files = 'miniAOD-prod_PAT_.*root' + +dataset_user = 'CMS' +# dataset_name = '/TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/Phys14DR-PU40bx25_PHYS14_25_V1-v1/MINIAODSIM' +# dataset_name = '/GluGluToHToTauTau_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM' +dataset_name = '/DYJetsToLL_M-50_13TeV-madgraph-pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM' +#dataset_name = '/GluGluToHToTauTau_M-125_13TeV-powheg-pythia6/Phys14DR-PU40bx25_PHYS14_25_V1-v2/MINIAODSIM' +# dataset_name = '/VBF_HToTauTau_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v2/MINIAODSIM' +# dataset_name = '/VBF_HToTauTau_M-125_13TeV-powheg-pythia6/Phys14DR-PU40bx25_PHYS14_25_V1-v1/MINIAODSIM' +# dataset_name = '/TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v2/MINIAODSIM' ## also in Marias request +# dataset_name = '/TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/Phys14DR-PU40bx25_PHYS14_25_V1-v1/MINIAODSIM' + +dataset_files = '.*root' + + +process.source = datasetToSource( + dataset_user, + dataset_name, + dataset_files, + ) + +process.source.inputCommands=cms.untracked.vstring( + 'keep *' + ) + +process.options = cms.untracked.PSet( + allowUnscheduled = cms.untracked.bool(True) +) + +if numberOfFilesToProcess>0: + process.source.fileNames = process.source.fileNames[:numberOfFilesToProcess] + +runOnMC = process.source.fileNames[0].find('Run201')==-1 and process.source.fileNames[0].find('embedded')==-1 + +if runOnMC == False: + json = setupJSON(process) + + +# load the channel paths ------------------------------------------- +process.load('CMGTools.H2TauTau.h2TauTau_cff') + +# JAN: recoil correction disabled for now; reactivate if necessary +# setting up the recoil correction according to the input file +# recoilEnabled = False +# setupRecoilCorrection( process, runOnMC, +# enable=recoilEnabled, is53X=isNewerThan('CMSSW_5_2_X')) + + + +isEmbedded = setupEmbedding(process, channel) +addAK4 = True + +# Adding jet collection +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') +process.GlobalTag.globaltag = 'PHYS14_25_V2::All' +# process.GlobalTag.globaltag = 'auto:run2_mc' + + +process.load('JetMETCorrections.Configuration.DefaultJEC_cff') +process.load('PhysicsTools.PatAlgos.slimming.unpackedTracksAndVertices_cfi') +process.load("Configuration.StandardSequences.Geometry_cff") +process.load("Configuration.StandardSequences.MagneticField_38T_cff") +process.load('TrackingTools.TransientTrack.TransientTrackBuilder_cfi') +process.load('RecoBTag.Configuration.RecoBTag_cff') + +if addAK4: + addAK4Jets(process) + process.mvaMetInputPath.insert(0, process.jetSequenceAK4) + +if '25' in dataset_name: + print 'Using 25 ns MVA MET training' + process.mvaMETTauMu.inputFileNames = cms.PSet( + U = cms.FileInPath('RecoMET/METPUSubtraction/data/RecoilCor_13TeV.root'), + DPhi = cms.FileInPath('RecoMET/METPUSubtraction/data/PhiCor_13TeV.root'), + CovU1 = cms.FileInPath('RecoMET/METPUSubtraction/data/CovU1_13TeV.root'), + CovU2 = cms.FileInPath('RecoMET/METPUSubtraction/data/CovU2_13TeV.root') + ) + # process.mvaMETTauMu.inputRecords = cms.PSet( + # U = cms.string("U1Correction"), + # DPhi = cms.string("PhiCorrection"), + # CovU1 = cms.string("CovU1"), + # CovU2 = cms.string("CovU2") + # ) + # process.mvaMETTauMu.inputFileNames = cms.PSet( + # U = cms.FileInPath('RecoMET/METPUSubtraction/data/gbrmet_53_Sep2013_type1.root'), + # DPhi = cms.FileInPath('RecoMET/METPUSubtraction/data/gbrmetphi_53_June2013_type1.root'), + # CovU1 = cms.FileInPath('RecoMET/METPUSubtraction/data/gbru1cov_53_Dec2012.root'), + # CovU2 = cms.FileInPath('RecoMET/METPUSubtraction/data/gbru2cov_53_Dec2012.root') + # ) + + + +# OUTPUT definition ---------------------------------------------------------- +process.outpath = cms.EndPath() + + +# JAN: In 2015, we should finally make sure that we apply the correction to all +# generator-matched taus, regardless of the process + +# 2012: don't apply Tau ES corrections for data (but do for embedded) or +# processes not containing real taus + +# signalTauProcess = (process.source.fileNames[0].find('HToTauTau') != -1) or (process.source.fileNames[0].find('DY') != -1) or isEmbedded + +if channel=='all' or channel=='all-separate': + process.schedule = cms.Schedule( + process.mvaMetInputPath, + process.tauMuPath, + process.tauElePath, + process.muElePath, + process.diTauPath, + process.outpath + ) +elif channel=='tau-mu': + process.schedule = cms.Schedule( + process.mvaMetInputPath, + process.tauMuPath, + process.outpath + ) +elif channel=='tau-ele': + process.schedule = cms.Schedule( + process.mvaMetInputPath, + process.tauElePath, + process.outpath + ) +elif channel=='di-tau': + process.schedule = cms.Schedule( + process.mvaMetInputPath, + process.diTauPath, + process.outpath + ) +elif channel=='mu-ele': + process.schedule = cms.Schedule( + process.mvaMetInputPath, + process.muElePath, + process.outpath + ) +elif channel=='di-mu': + process.schedule = cms.Schedule( + process.mvaMetInputPath, + process.diMuPath, + process.outpath + ) +else: + raise ValueError('unrecognized channel') + +### Enable printouts like this: +# process.cmgTauMuCorSVFitPreSel.verbose = True + +if channel=='tau-mu' or 'all' in channel: + addTauMuOutput(process, debugEventContent, addPreSel=False, oneFile=(channel=='all')) +if channel=='tau-ele' or 'all' in channel: + addTauEleOutput(process, debugEventContent, addPreSel=False, oneFile=(channel=='all')) +if channel=='mu-ele' or 'all' in channel: + addMuEleOutput(process, debugEventContent, addPreSel=False, oneFile=(channel=='all')) +if channel=='di-mu' or 'all' in channel: + addDiMuOutput(process, debugEventContent, addPreSel=False, oneFile=(channel=='all')) +if channel=='di-tau' or 'all' in channel: + addDiTauOutput(process, debugEventContent, addPreSel=False, oneFile=(channel=='all')) + +# Message logger setup. +process.load("FWCore.MessageLogger.MessageLogger_cfi") +process.MessageLogger.cerr.FwkReport.reportEvery = reportInterval +process.options = cms.untracked.PSet(wantSummary = cms.untracked.bool(False)) + +if newSVFit: + process.cmgTauMuCorSVFitPreSel.SVFitVersion = 2 + process.cmgTauEleCorSVFitPreSel.SVFitVersion = 2 + process.cmgDiTauCorSVFitPreSel.SVFitVersion = 2 + process.cmgMuEleCorSVFitPreSel.SVFitVersion = 2 +else: + process.cmgTauMuCorSVFitPreSel.SVFitVersion = 1 + process.cmgTauEleCorSVFitPreSel.SVFitVersion = 1 + process.cmgDiTauCorSVFitPreSel.SVFitVersion = 1 + process.cmgMuEleCorSVFitPreSel.SVFitVersion = 1 + +print sep_line +print 'INPUT:' +print sep_line +print process.source.fileNames +print +if not runOnMC: + print 'json:', json +print +print sep_line +print 'PROCESSING' +print sep_line +print 'runOnMC:', runOnMC +print diff --git a/CMGTools/H2TauTau/prod/h2TauTauMiniAOD_mutau_cfg.py b/CMGTools/H2TauTau/prod/h2TauTauMiniAOD_mutau_cfg.py deleted file mode 100644 index 9abd52b00e85..000000000000 --- a/CMGTools/H2TauTau/prod/h2TauTauMiniAOD_mutau_cfg.py +++ /dev/null @@ -1,251 +0,0 @@ -import FWCore.ParameterSet.Config as cms -from PhysicsTools.Heppy.utils.cmsswRelease import isNewerThan, cmsswIs44X - -sep_line = '-'*70 - -process = cms.Process("H2TAUTAU") - -process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(1000)) - -numberOfFilesToProcess = -1 -debugEventContent = False - -# tau-mu, tau-ele, di-tau, all -channel = 'tau-mu' # 'tau-mu' #'di-tau' 'all' 'tau-ele' -jetRecalib = False -useCHS = False - -# newSVFit enables the svfit mass reconstruction used for the H->tau tau analysis. -# if false, much faster processing but mass is wrong. -newSVFit = True -tauScaling = 0 -applyESCorr = True - -# increase to 1000 before running on the batch, to reduce size of log files -# on your account -reportInterval = 1000 - -print sep_line -print 'channel', channel -print 'jet recalib', jetRecalib -print 'useCHS', useCHS -print 'newSVFit', newSVFit -print 'tau scaling =', tauScaling - -# Input & JSON ------------------------------------------------- - -dataset_user = 'htautau_group' -dataset_name = '/VBF_HToTauTau_M-125_13TeV-powheg-pythia6/Spring14dr-PU20bx25_POSTLS170_V5-v1/AODSIM/SS14/' -dataset_files = 'miniAOD-prod_PAT_.*root' - -from CMGTools.Production.datasetToSource import datasetToSource -process.source = datasetToSource( - dataset_user, - dataset_name, - dataset_files, - ) - -process.source.inputCommands=cms.untracked.vstring( - 'keep *' - ) - -process.options = cms.untracked.PSet( - allowUnscheduled = cms.untracked.bool(True) -) - -if numberOfFilesToProcess>0: - process.source.fileNames = process.source.fileNames[:numberOfFilesToProcess] - -runOnMC = process.source.fileNames[0].find('Run201')==-1 and process.source.fileNames[0].find('embedded')==-1 - -if runOnMC == False: - from CMGTools.H2TauTau.tools.setupJSON import setupJSON - json = setupJSON(process) - - -# load the channel paths ------------------------------------------- -process.load('CMGTools.H2TauTau.h2TauTau_cff') - -# setting up the recoil correction according to the input file --------------- -print sep_line -from CMGTools.H2TauTau.tools.setupRecoilCorrection import setupRecoilCorrection - -recoilEnabled = False -setupRecoilCorrection( process, runOnMC, - enable=recoilEnabled, is53X=isNewerThan('CMSSW_5_2_X')) - -from CMGTools.H2TauTau.tools.setupEmbedding import setupEmbedding - -isEmbedded = setupEmbedding(process, channel) - -# Adding jet collection -process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') -process.GlobalTag.globaltag = 'PLS170_V7AN1::All' - -process.load('JetMETCorrections.Configuration.DefaultJEC_cff') -process.load('PhysicsTools.PatAlgos.slimming.unpackedTracksAndVertices_cfi') -process.load("Configuration.StandardSequences.Geometry_cff") -process.load("Configuration.StandardSequences.MagneticField_38T_cff") -process.load('TrackingTools.TransientTrack.TransientTrackBuilder_cfi') -process.load('RecoBTag.Configuration.RecoBTag_cff') - -from CMGTools.H2TauTau.objects.jetreco_cff import addAK4Jets - -addAK4Jets(process) -process.tauMuPath.insert(0, process.jetSequenceAK4) - -# OUTPUT definition ---------------------------------------------------------- -process.outpath = cms.EndPath() - -# don't apply Tau ES corrections for data (but do for embedded) or processes not containing real taus - -signalTauProcess = (process.source.fileNames[0].find('HToTauTau') != -1) or (process.source.fileNames[0].find('DY') != -1) or isEmbedded - -# UPDATE: Only apply Tau ES corrections for embedded -# signalTauProcess = isEmbedded - -# if not runOnMC and not isEmbedded: - -#import pdb; pdb.set_trace(); #pdb.tauMuPath - -if not signalTauProcess or not applyESCorr: - print 'Not applying tau ES corrections as no process with real simulated taus or tau ES switched off' - process.tauMuPath.remove( process.cmgTauMuCor ) - process.cmgTauMuTauPtSel.src = cms.InputTag('mvaMETTauMu') - # process.diTauPath.remove( process.cmgDiTauCorPreSel ) - process.mvaMETDiTau.src = cms.InputTag('cmgDiTauPreSel') - process.tauElePath.remove( process.cmgTauEleCor ) - process.cmgTauEleTauPtSel.src = cms.InputTag('mvaMETTauEle') -else: - print 'Apply tau ES corrections' - - -process.tauMuPath.remove(process.cmgPFJetForRecoilPresel) -process.tauMuPath.remove(process.cmgPFJetForRecoil) - -if channel=='all': - process.schedule = cms.Schedule( - process.tauMuPath, - process.tauElePath, - # process.muElePath, - process.diTauPath, - process.outpath - ) -elif channel=='tau-mu': - process.schedule = cms.Schedule( - process.tauMuPath, - process.outpath - ) -elif channel=='tau-ele': - process.schedule = cms.Schedule( - process.tauElePath, - process.outpath - ) -elif channel=='di-tau': - process.schedule = cms.Schedule( - process.diTauPath, - process.outpath - ) -else: - raise ValueError('unrecognized channel') - - -print sep_line -print 'INPUT:' -print sep_line -print process.source.fileNames -print -if runOnMC==False: - print 'json:', json -print -print sep_line -print 'PROCESSING' -print sep_line -print 'runOnMC:', runOnMC -print -print sep_line -print 'OUTPUT:' -print sep_line -justn = 30 -# print 'baseline selection EDM output'.ljust(justn), baselineName -# print 'basic selection EDM output'.ljust(justn), basicName -# print 'histograms output'.ljust(justn), histName -# print 'Debug event content'.ljust(justn), debugEventContent - -### Enable printouts like this: -# process.cmgTauMuCorSVFitPreSel.verbose = True -# process.mvaMETTauMu.verbose = True -# process.recoilCorMETTauMu.verbose= True - -# systematic shift on tau energy scale -# process.cmgTauScaler.cfg.nSigma = tauScaling - -from CMGTools.H2TauTau.tools.setupOutput import addTauMuOutput, addTauEleOutput, addDiTauOutput -if channel=='tau-mu' or channel=='all': - addTauMuOutput( process, debugEventContent, addPreSel=False) -if channel=='tau-ele' or channel=='all': - addTauEleOutput( process, debugEventContent, addPreSel=False) -## if channel=='mu-ele' or channel=='all': -## addMuEleOutput( process, debugEventContent, addPreSel=False) -if channel=='di-tau' or channel=='all': - addDiTauOutput( process, debugEventContent, addPreSel=False) - - -# Message logger setup. -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = reportInterval -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) - - -# # Jet recalibration -# if jetRecalib: -# process.load('Configuration.StandardSequences.Services_cff') -# process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') -# GT = None -# if runOnMC: -# if cmsswIs44X(): -# GT = 'START44_V13::All' -# else: -# GT = 'START52_V10::All' -# else: -# if cmsswIs44X(): -# GT = 'GR_R_44_V15::All' -# else: -# GT = 'GR_R_52_V8::All' -# process.GlobalTag.globaltag = GT -# from CMGTools.Common.miscProducers.cmgPFJetCorrector_cfi import cmgPFJetCorrector -# process.cmgPFJetSel = cmgPFJetCorrector.clone(src='cmgPFJetSel', -# payload='AK5PF') -# process.cmgPFJetSelCHS = cmgPFJetCorrector.clone(src='cmgPFJetSelCHS', -# payload='AK5PFchs') - -# if runOnMC: -# process.cmgPFJetSel.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute') -# process.cmgPFJetSelCHS.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute') -# else: -# process.cmgPFJetSel.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute','L2L3Residual') -# process.cmgPFJetSelCHS.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute','L2L3Residual') - -# process.tauMuPath.insert(0, process.cmgPFJetSel) -# process.tauElePath.insert(0, process.cmgPFJetSel) -# process.diTauPath.insert(0, process.cmgPFJetSel) - -# process.tauMuPath.insert(0, process.cmgPFJetSelCHS) -# process.tauElePath.insert(0, process.cmgPFJetSelCHS) -# process.diTauPath.insert(0, process.cmgPFJetSelCHS) - -# print sep_line -# print 'Jet recalibration with GLOBAL TAG', GT - -# if useCHS: -# process.cmgPFJetForRecoil.src = 'cmgPFJetSelCHS' - -if newSVFit: - process.cmgTauMuCorSVFitPreSel.SVFitVersion = 2 - process.cmgTauEleCorSVFitPreSel.SVFitVersion = 2 - process.cmgDiTauCorSVFitPreSel.SVFitVersion = 2 -else: - process.cmgTauMuCorSVFitPreSel.SVFitVersion = 1 - process.cmgTauEleCorSVFitPreSel.SVFitVersion = 1 - process.cmgDiTauCorSVFitPreSel.SVFitVersion = 1 - diff --git a/CMGTools/H2TauTau/prod/h2TauTau_cfg.py b/CMGTools/H2TauTau/prod/h2TauTau_cfg.py deleted file mode 100644 index ac976c28eb45..000000000000 --- a/CMGTools/H2TauTau/prod/h2TauTau_cfg.py +++ /dev/null @@ -1,305 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from PhysicsTools.Heppy.utils.cmsswRelease import isNewerThan, cmsswIs44X,cmsswIs52X - -sep_line = '-'*70 - -########## CONTROL CARDS - -process = cms.Process("H2TAUTAU") - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -# -1 : process all files -numberOfFilesToProcess = -1 - -debugEventContent = False - -#tau-mu, tau-ele, di-tau, all -channel = 'tau-mu' # 'tau-mu' #'di-tau' 'all' 'tau-ele' -jetRecalib = False -useCHS = False -newSVFit = True -tauScaling = 0 -reportInterval = 5000 - -print sep_line -print 'channel' , channel -print 'jet recalib' , jetRecalib -print 'useCHS' , useCHS -print 'newSVFit' , newSVFit -print 'tau scaling =', tauScaling - -########## - - - -# Input & JSON ------------------------------------------------- -dataset_user = 'cmgtools_group' -dataset_name = '/GluGluToHToTauTau_M-120_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/PAT_CMG_V5_16_0' - -# dataset_user = 'cmgtools' -# dataset_name = '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_16_0' - -#dataset_user = 'cmgtools' -#dataset_name = '/TauParked/Run2012D-22Jan2013-v1/AOD/PAT_CMG_V5_16_0' -dataset_files = 'cmgTuple.*root' - -# creating the source -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - dataset_user, - dataset_name, - dataset_files, - ) - -process.source.inputCommands=cms.untracked.vstring( - 'keep *', - 'drop cmgStructuredPFJets_cmgStructuredPFJetSel__PAT' - ) - - -# process.source.fileNames = ['file:VBF_HToTauTau.root'] - -# restricting the number of files to process to a given number -if numberOfFilesToProcess>0: - process.source.fileNames = process.source.fileNames[:numberOfFilesToProcess] - - -###ProductionTaskHook$$$ - -runOnMC = process.source.fileNames[0].find('Run201')==-1 and process.source.fileNames[0].find('embedded')==-1 - -# Sequence & path definition ------------------------------------------------- - - -# set up JSON --------------------------------------------------------------- -if runOnMC==False: - from CMGTools.H2TauTau.tools.setupJSON import setupJSON - json = setupJSON(process) - - -# load the channel paths ------------------------------------------- -process.load('CMGTools.H2TauTau.h2TauTau_cff') - -# setting up the recoil correction according to the input file --------------- - -print sep_line -from CMGTools.H2TauTau.tools.setupRecoilCorrection import setupRecoilCorrection - -recoilEnabled = True -setupRecoilCorrection( process, runOnMC, - enable=recoilEnabled, is53X=isNewerThan('CMSSW_5_2_X'),channel=channel) - - -# Kinematic reweighting for the embedded samples from here https://twiki.cern.ch/twiki/bin/viewauth/CMS/MuonTauReplacementRecHit -# Can also put this into a separate file under tools - -isEmbedded = process.source.fileNames[0].find('embedded') != -1 - -if isEmbedded: - process.load('TauAnalysis.MCEmbeddingTools.embeddingKineReweight_cff') - - if channel == 'all': - print 'ERROR: not possible to run all the channels for the embedded samples right now' - - # for "standard" e+tau channel - if channel == 'tau-ele': - process.embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_ePtGt20tauPtGt18_recEmbedded.root") - process.tauElePath.insert(-1, process.embeddingKineReweightSequenceRECembedding) - - # for e+tau channel of "soft lepton" analysis - #embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_ePt9to30tauPtGt18_recEmbedded.root") - - # for "standard" mu+tau channel - if channel == 'tau-mu': - process.embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_muPtGt16tauPtGt18_recEmbedded.root") - process.tauMuPath.insert(-1, process.embeddingKineReweightSequenceRECembedding) - - # for mu+tau channel of "soft lepton" analysis - #embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_muPt7to25tauPtGt18_recEmbedded.root") - - # for tautau channel - if channel == 'di-tau': - process.embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_tautau_recEmbedded.root") - process.diTauPath.insert(-1, process.embeddingKineReweightSequenceRECembedding) - - print "Embedded samples; using kinematic reweighting file:", process.embeddingKineReweightRECembedding.inputFileName - - # for emu, mumu and ee channels - #embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_recEmbedding_emu.root") - - -# OUTPUT definition ---------------------------------------------------------- -process.outpath = cms.EndPath() - -# generator ---------------------------------------------- -if not runOnMC : - if not isEmbedded : - process.diTauPath.remove( process.cmgDiTauCor ) - process.cmgDiTauPtSel.src = cms.InputTag('mvaMETDiTau') - process.tauMuPath.remove( process.cmgTauMuCor ) ## boh - process.cmgTauMuTauPtSel.src = cms.InputTag('mvaMETTauMu') ## boh - process.tauElePath.remove( process.cmgTauEleCor ) ## boh - process.cmgTauEleTauPtSel.src = cms.InputTag('mvaMETTauEle') ## boh - - process.tauMuPath.remove( process.genSequence ) - process.tauElePath.remove( process.genSequence ) - process.diTauPath.remove( process.genSequence ) - - -#Jose: process.schedule doesn't have a += operator? -if channel=='all': - process.schedule = cms.Schedule( - process.tauMuPath, - process.tauElePath, - # process.muElePath, - process.diTauPath, - process.outpath - ) -elif channel=='tau-mu': - process.schedule = cms.Schedule( - process.tauMuPath, - process.outpath - ) -elif channel=='tau-ele': - process.schedule = cms.Schedule( - process.tauElePath, - process.outpath - ) -elif channel=='di-tau': - process.schedule = cms.Schedule( - process.diTauPath, - process.outpath - ) -else: - raise ValueError('unrecognized channel') - - - -print sep_line -print 'INPUT:' -print sep_line -print process.source.fileNames -print -if runOnMC==False: - print 'json:', json -print -print sep_line -print 'PROCESSING' -print sep_line -print 'runOnMC:', runOnMC -print 'isEmbedded:', isEmbedded -print -print sep_line -print 'OUPUT:' -print sep_line -justn = 30 -# print 'baseline selection EDM output'.ljust(justn), baselineName -# print 'basic selection EDM output'.ljust(justn), basicName -# print 'histograms output'.ljust(justn), histName -# print 'Debug event content'.ljust(justn), debugEventContent - -# you can enable printouts of most modules like this: -# process.cmgTauMuCorSVFitPreSel.verbose = True -# process.mvaMETTauMu.verbose = True -# process.recoilCorMETTauMu.verbose= True - -# systematic shift on tau energy scale -process.cmgDiTauCor.cfg.nSigma = tauScaling - -from CMGTools.H2TauTau.tools.setupOutput import * - -if channel=='tau-mu' or channel=='all': - addTauMuOutput( process, debugEventContent, addPreSel=False) -if channel=='tau-ele' or channel=='all': - addTauEleOutput( process, debugEventContent, addPreSel=False) -## if channel=='mu-ele' or channel=='all': -## addMuEleOutput( process, debugEventContent, addPreSel=False) -if channel=='di-tau' or channel=='all': - addDiTauOutput( process, debugEventContent, addPreSel=False) - - - - -# Message logger setup. -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = reportInterval -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) - - -# Jet recalibration - -if jetRecalib: - process.load('Configuration.StandardSequences.Services_cff') - process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') - GT = None - if runOnMC: - if cmsswIs44X(): - GT = 'START44_V13::All' - else: - GT = 'START52_V10::All' - else: - if cmsswIs44X(): - GT = 'GR_R_44_V15::All' - else: - GT = 'GR_R_52_V8::All' - process.GlobalTag.globaltag = GT - from CMGTools.Common.miscProducers.cmgPFJetCorrector_cfi import cmgPFJetCorrector - process.cmgPFJetSel = cmgPFJetCorrector.clone(src='cmgPFJetSel', - payload='AK5PF') - process.cmgPFJetSelCHS = cmgPFJetCorrector.clone(src='cmgPFJetSelCHS', - payload='AK5PFchs') - - if runOnMC: - process.cmgPFJetSel.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute') - process.cmgPFJetSelCHS.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute') - else: - process.cmgPFJetSel.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute','L2L3Residual') - process.cmgPFJetSelCHS.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute','L2L3Residual') - - process.tauMuPath.insert(0, process.cmgPFJetSel) - process.tauElePath.insert(0, process.cmgPFJetSel) - process.diTauPath.insert(0, process.cmgPFJetSel) - - process.tauMuPath.insert(0, process.cmgPFJetSelCHS) - process.tauElePath.insert(0, process.cmgPFJetSelCHS) - process.diTauPath.insert(0, process.cmgPFJetSelCHS) - - print sep_line - print 'Jet recalibration with GLOBAL TAG', GT - -if useCHS: - process.cmgPFJetForRecoil.src = 'cmgPFJetSelCHS' - -if newSVFit: - process.cmgTauMuCorSVFitPreSel.SVFitVersion = 2 - process.cmgTauEleCorSVFitPreSel.SVFitVersion = 2 - process.cmgDiTauCorSVFitPreSel.SVFitVersion = 2 -else: - process.cmgTauMuCorSVFitPreSel.SVFitVersion = 1 - process.cmgTauEleCorSVFitPreSel.SVFitVersion = 1 - process.cmgDiTauCorSVFitPreSel.SVFitVersion = 1 - -# process.tauMu_fullsel_tree_CMG.SelectEvents = cms.untracked.PSet() - -# process.cmgTauMu.cuts.baseline.tauLeg.iso = cms.string('leg1().tauID("byRawIsoMVA") > 0.5') -# process.cmgTauMu.cuts.baseline.tauLeg.iso = cms.string('leg1().tauID("byRawIsoMVA") > -9999') -# process.cmgTauMu.cuts.baseline.tauLeg.iso = cms.string('leg1().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10.') -# process.cmgTauMu.cuts.baseline.tauLeg.kinematics.pt = cms.string('leg1().pt() > 10.') - -# process.cmgDiTau.cuts.baseline.tau1Leg.iso = cms.string('leg1().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10.') -# process.cmgDiTau.cuts.baseline.tau2Leg.iso = cms.string('leg2().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10.') -process.cmgDiTau.cuts.baseline.tau1Leg.kinematics.pt = cms.string('leg1().pt()>35.') -process.cmgDiTau.cuts.baseline.tau2Leg.kinematics.pt = cms.string('leg2().pt()>35.') -process.cmgDiTau.cuts.baseline.tau1Leg.kinematics.eta = cms.string('abs(leg1().eta())<2.1') -process.cmgDiTau.cuts.baseline.tau2Leg.kinematics.eta = cms.string('abs(leg2().eta())<2.1') - - - - - diff --git a/CMGTools/H2TauTau/prod/h2TauTau_mutau_cfg.py b/CMGTools/H2TauTau/prod/h2TauTau_mutau_cfg.py deleted file mode 100644 index 61016fb355ca..000000000000 --- a/CMGTools/H2TauTau/prod/h2TauTau_mutau_cfg.py +++ /dev/null @@ -1,331 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from PhysicsTools.Heppy.utils.cmsswRelease import isNewerThan, cmsswIs44X,cmsswIs52X - -sep_line = '-'*70 - -########## CONTROL CARDS - -process = cms.Process("H2TAUTAU") - -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(5000) ) - -process.maxLuminosityBlocks = cms.untracked.PSet( - input = cms.untracked.int32(-1) - ) - -# -1 : process all files -numberOfFilesToProcess = 10 - -debugEventContent = False - -#tau-mu, tau-ele, di-tau, all -channel = 'tau-mu' # 'tau-mu' #'di-tau' 'all' 'tau-ele' -jetRecalib = False -useCHS = False -#newSVFit enables the svfit mass reconstruction used for the H->tau tau analysis. -# if false, much faster processing but mass is wrong. -newSVFit = True -tauScaling = 0 -applyESCorr = True -# increase to 1000 before running on the batch, to reduce size of log files -# on your account -reportInterval = 1000 - -print sep_line -print 'channel', channel -print 'jet recalib', jetRecalib -print 'useCHS', useCHS -print 'newSVFit', newSVFit -print 'tau scaling =', tauScaling - -########## - - - -# Input & JSON ------------------------------------------------- - - -dataset_user = 'cmgtools' - - -# dataset_name = '/VBF_HToTauTau_M-125_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V5_B/PAT_CMG_V5_6_0_B' -# dataset_name = '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_14_0' -# dataset_name = '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_16_0' -# dataset_name = '/TauPlusX/Run2012A-22Jan2013-v1/AOD/PAT_CMG_V5_16_0' -# dataset_name = '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1-f456bdbb960236e5c696adfe9b04eaae/USER/V5_B/PAT_CMG_V5_16_0' - - -# /GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_14_0 - -#dataset_user = 'cmgtools_group' -#dataset_name = '/WH_ZH_TTH_HToTauTau_M-125_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_14_0' - -#dataset_name = '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1-5ef1c0fd428eb740081f19333520fdc8/USER/V5_B/PAT_CMG_V5_16_0' -dataset_name = '/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_16_0' - -#dataset_name = '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_16_0' - -dataset_user = 'steggema' -# dataset_name = '/Radion_hh_tautaubb_LR3tevLHC8_glufusion_MR300_GENSIM_19082013/caber-Radion_hh_tautaubb_LR3tevLHC8_glufusion_MR300_20082013_AODSIM-c8f8ed334db8a7d6f56c62266b1dfa5b/USER/PAT_CMG_V5_16_0' -dataset_name = '/AbelianZprime_hh_TauTauBB_LHC8_M700_GENSIM_29082012/caber-Radion_hh_TauTauBB_LHC8_M700_31082013_AODSIM-c8f8ed334db8a7d6f56c62266b1dfa5b/USER/PAT_CMG_V5_16_0' - -dataset_files = 'cmgTuple.*root' - -# creating the source -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - dataset_user, - dataset_name, - dataset_files, - ) - -process.source.inputCommands=cms.untracked.vstring( - 'keep *', - 'drop cmgStructuredPFJets_cmgStructuredPFJetSel__PAT' - ) - - -# process.source.fileNames = ['file:VBF_HToTauTau.root'] - -# restricting the number of files to process to a given number -if numberOfFilesToProcess>0: - process.source.fileNames = process.source.fileNames[:numberOfFilesToProcess] - - -###ProductionTaskHook$$$ - -runOnMC = process.source.fileNames[0].find('Run201')==-1 and process.source.fileNames[0].find('embedded')==-1 - - - -# Sequence & path definition ------------------------------------------------- - - -# set up JSON --------------------------------------------------------------- -if runOnMC==False: - from CMGTools.H2TauTau.tools.setupJSON import setupJSON - json = setupJSON(process) - - -# load the channel paths ------------------------------------------- -process.load('CMGTools.H2TauTau.h2TauTau_cff') - -# setting up the recoil correction according to the input file --------------- - -print sep_line -from CMGTools.H2TauTau.tools.setupRecoilCorrection import setupRecoilCorrection - -recoilEnabled = True -setupRecoilCorrection( process, runOnMC, - enable=recoilEnabled, is53X=isNewerThan('CMSSW_5_2_X')) - - -# Kinematic reweighting for the embedded samples from here https://twiki.cern.ch/twiki/bin/viewauth/CMS/MuonTauReplacementRecHit -# Can also put this into a separate file under tools - -isEmbedded = process.source.fileNames[0].find('embedded') != -1 - -isRHEmbedded = process.source.fileNames[0].find('RHembedded') != -1 - -if isEmbedded and isRHEmbedded: - process.load('TauAnalysis.MCEmbeddingTools.embeddingKineReweight_cff') - - if channel == 'all': - print 'ERROR: not possible to run all the channels for the embedded samples right now' - - # for "standard" e+tau channel - if channel == 'tau-ele': - process.embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_ePtGt20tauPtGt18_recEmbedded.root") - process.tauElePath.insert(-1, process.embeddingKineReweightSequenceRECembedding) - - # for e+tau channel of "soft lepton" analysis - #embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_ePt9to30tauPtGt18_recEmbedded.root") - - # for "standard" mu+tau channel - if channel == 'tau-mu': - process.embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_muPtGt16tauPtGt18_recEmbedded.root") - process.tauMuPath.insert(-1, process.embeddingKineReweightSequenceRECembedding) - - # for mu+tau channel of "soft lepton" analysis - #embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_muPt7to25tauPtGt18_recEmbedded.root") - - # for tautau channel - if channel == 'di-tau': - process.embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_tautau_recEmbedded.root") - process.diTauPath.insert(-1, process.embeddingKineReweightSequenceRECembedding) - - print "Embedded samples; using kinematic reweighting file:", process.embeddingKineReweightRECembedding.inputFileName - - # for emu, mumu and ee channels - #embeddingKineReweightRECembedding.inputFileName = cms.FileInPath("TauAnalysis/MCEmbeddingTools/data/embeddingKineReweight_recEmbedding_emu.root") - - -# OUTPUT definition ---------------------------------------------------------- -process.outpath = cms.EndPath() - -# don't apply Tau ES corrections for data (but do for embedded) or processes not containing real taus - -signalTauProcess = (process.source.fileNames[0].find('HToTauTau') != -1) or (process.source.fileNames[0].find('DY') != -1) or isEmbedded - -# UPDATE: Only apply Tau ES corrections for embedded -# signalTauProcess = isEmbedded - -# if not runOnMC and not isEmbedded: -if not signalTauProcess or not applyESCorr: - print 'Not applying tau ES corrections as no process with real simulated taus or tau ES switched off' - process.tauMuPath.remove( process.cmgTauMuCor ) - process.cmgTauMuTauPtSel.src = cms.InputTag('mvaMETTauMu') - # process.diTauPath.remove( process.cmgDiTauCorPreSel ) - process.mvaMETDiTau.src = cms.InputTag('cmgDiTauPreSel') - process.tauElePath.remove( process.cmgTauEleCor ) - process.cmgTauEleTauPtSel.src = cms.InputTag('mvaMETTauEle') -else: - print 'Apply tau ES corrections' - -# generator ---------------------------------------------- -if not runOnMC: - process.tauMuPath.remove( process.genSequence ) - process.tauElePath.remove( process.genSequence ) - process.diTauPath.remove( process.genSequence ) - - -#Jose: process.schedule doesn't have a += operator? -if channel=='all': - process.schedule = cms.Schedule( - process.tauMuPath, - process.tauElePath, - # process.muElePath, - process.diTauPath, - process.outpath - ) -elif channel=='tau-mu': - process.schedule = cms.Schedule( - process.tauMuPath, - process.outpath - ) -elif channel=='tau-ele': - process.schedule = cms.Schedule( - process.tauElePath, - process.outpath - ) -elif channel=='di-tau': - process.schedule = cms.Schedule( - process.diTauPath, - process.outpath - ) -else: - raise ValueError('unrecognized channel') - - - -print sep_line -print 'INPUT:' -print sep_line -print process.source.fileNames -print -if runOnMC==False: - print 'json:', json -print -print sep_line -print 'PROCESSING' -print sep_line -print 'runOnMC:', runOnMC -print -print sep_line -print 'OUPUT:' -print sep_line -justn = 30 -# print 'baseline selection EDM output'.ljust(justn), baselineName -# print 'basic selection EDM output'.ljust(justn), basicName -# print 'histograms output'.ljust(justn), histName -# print 'Debug event content'.ljust(justn), debugEventContent - -# you can enable printouts of most modules like this: -# process.cmgTauMuCorSVFitPreSel.verbose = True -# process.mvaMETTauMu.verbose = True -# process.recoilCorMETTauMu.verbose= True - -# systematic shift on tau energy scale -# process.cmgTauScaler.cfg.nSigma = tauScaling - -from CMGTools.H2TauTau.tools.setupOutput import * -if channel=='tau-mu' or channel=='all': - addTauMuOutput( process, debugEventContent, addPreSel=False) -if channel=='tau-ele' or channel=='all': - addTauEleOutput( process, debugEventContent, addPreSel=False) -## if channel=='mu-ele' or channel=='all': -## addMuEleOutput( process, debugEventContent, addPreSel=False) -if channel=='di-tau' or channel=='all': - addDiTauOutput( process, debugEventContent, addPreSel=False) - - - - -# Message logger setup. -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = reportInterval -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) - - -# Jet recalibration - -if jetRecalib: - process.load('Configuration.StandardSequences.Services_cff') - process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') - GT = None - if runOnMC: - if cmsswIs44X(): - GT = 'START44_V13::All' - else: - GT = 'START52_V10::All' - else: - if cmsswIs44X(): - GT = 'GR_R_44_V15::All' - else: - GT = 'GR_R_52_V8::All' - process.GlobalTag.globaltag = GT - from CMGTools.Common.miscProducers.cmgPFJetCorrector_cfi import cmgPFJetCorrector - process.cmgPFJetSel = cmgPFJetCorrector.clone(src='cmgPFJetSel', - payload='AK5PF') - process.cmgPFJetSelCHS = cmgPFJetCorrector.clone(src='cmgPFJetSelCHS', - payload='AK5PFchs') - - if runOnMC: - process.cmgPFJetSel.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute') - process.cmgPFJetSelCHS.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute') - else: - process.cmgPFJetSel.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute','L2L3Residual') - process.cmgPFJetSelCHS.levels = cms.vstring('L1FastJet','L2Relative','L3Absolute','L2L3Residual') - - process.tauMuPath.insert(0, process.cmgPFJetSel) - process.tauElePath.insert(0, process.cmgPFJetSel) - process.diTauPath.insert(0, process.cmgPFJetSel) - - process.tauMuPath.insert(0, process.cmgPFJetSelCHS) - process.tauElePath.insert(0, process.cmgPFJetSelCHS) - process.diTauPath.insert(0, process.cmgPFJetSelCHS) - - print sep_line - print 'Jet recalibration with GLOBAL TAG', GT - -if useCHS: - process.cmgPFJetForRecoil.src = 'cmgPFJetSelCHS' - -if newSVFit: - process.cmgTauMuCorSVFitPreSel.SVFitVersion = 2 - process.cmgTauEleCorSVFitPreSel.SVFitVersion = 2 - process.cmgDiTauCorSVFitPreSel.SVFitVersion = 2 -else: - process.cmgTauMuCorSVFitPreSel.SVFitVersion = 1 - process.cmgTauEleCorSVFitPreSel.SVFitVersion = 1 - process.cmgDiTauCorSVFitPreSel.SVFitVersion = 1 - -# process.tauMu_fullsel_tree_CMG.SelectEvents = cms.untracked.PSet() - -# process.cmgTauMu.cuts.baseline.tauLeg.iso = cms.string('leg1().tauID("byRawIsoMVA") > 0.5') -process.cmgTauMu.cuts.baseline.tauLeg.iso = cms.string('leg1().tauID("byRawIsoMVA") > -9999') -process.cmgTauMu.cuts.baseline.tauLeg.iso = cms.string('leg1().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10.') -if 'Higgs' in dataset_name or 'HToTauTau' in dataset_name or isEmbedded: - process.cmgTauMu.cuts.baseline.tauLeg.iso = cms.string('leg1().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 1.5') -process.cmgTauMu.cuts.baseline.tauLeg.kinematics.pt = cms.string('leg1().pt() > 10.') diff --git a/CMGTools/H2TauTau/prod/samples_mc_phys14_PU20bx25.txt b/CMGTools/H2TauTau/prod/samples_mc_phys14_PU20bx25.txt new file mode 100644 index 000000000000..4fd5c3c08b3e --- /dev/null +++ b/CMGTools/H2TauTau/prod/samples_mc_phys14_PU20bx25.txt @@ -0,0 +1,13 @@ +CMS%/GluGluToHToTauTau_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM +CMS%/DYJetsToLL_M-50_13TeV-madgraph-pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM +CMS%/WJetsToLNu_13TeV-madgraph-pythia8-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM +CMS%/TT_Tune4C_13TeV-pythia8-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM +CMS%/TTJets_MSDecaysCKM_central_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM +CMS%/T_tW-channel-DR_Tune4C_13TeV-CSA14-powheg-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM +CMS%/Tbar_tW-channel-DR_Tune4C_13TeV-CSA14-powheg-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM +CMS%/WZJetsTo3LNu_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM +CMS%/VBF_HToTauTau_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v2/MINIAODSIM +CMS%/GluGluToHToTauTau_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM +CMS%/PYTHIA6_Tauola_nMSSM_bba1_tautau_m30_FilterMuOrEle15_13TeV/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM +CMS%/PYTHIA6_Tauola_nMSSM_bba1_tautau_m30_FilterMuOrEle15_13TeV/Phys14DR-PU40bx25_tsg_PHYS14_25_V1-v2/MINIAODSIM + diff --git a/CMGTools/H2TauTau/python/dcsJSONS.py b/CMGTools/H2TauTau/python/dcsJSONS.py deleted file mode 100644 index c9067232d9a2..000000000000 --- a/CMGTools/H2TauTau/python/dcsJSONS.py +++ /dev/null @@ -1,9 +0,0 @@ -dcs2011 = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions11/7TeV/DCSOnly/json_DCSONLY.txt' -dcs2012 = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/DCSOnly/json_DCSONLY.txt' - -dcsJsonMap = { - '.*Run2011.*':dcs2011, - '.*Run2012.*':dcs2012, - '.*_2011.*':dcs2011, - '.*_2012.*':dcs2012, - } diff --git a/CMGTools/H2TauTau/python/eventContent/common_cff.py b/CMGTools/H2TauTau/python/eventContent/common_cff.py index d52c409a008a..7242fa11eea2 100644 --- a/CMGTools/H2TauTau/python/eventContent/common_cff.py +++ b/CMGTools/H2TauTau/python/eventContent/common_cff.py @@ -1,14 +1,35 @@ import FWCore.ParameterSet.Config as cms import copy - - common = [ 'drop *', + 'keep double_fixedGridRho*_*_*', + 'keep edmTriggerResults_TriggerResults_*_*', + 'keep patPackedTriggerPrescales_*_*_*', + 'keep patElectrons_slimmedElectrons_*_*', + 'keep patJets_slimmedJets_*_*', + 'keep patMETs_slimmedMETs_*_*', + 'keep patMuons_slimmedMuons_*_*', + # 'keep patPacked*_*_*_*', + 'keep patPackedCandidate*_*packedPFCandidates*_*_*PAT', # RIC: agreed to keep it to: 1. tau vtx 2. possibly compute isolations at analysis level + 'keep patTaus_slimmedTaus_*_*', + 'keep patTrigger*_*_*_*', + 'keep recoVertexs_*_*_*', + 'keep cmgMETSignificances_*_*_*', + 'keep patCompositeCandidates_cmg*CorSVFitFullSel_*_*', + 'keep patJets_patJetsAK4PF_*_*', + 'keep PileupSummaryInfos_*_*_*', + 'keep recoGenParticles_prunedGenParticles_*_*', + 'keep patPackedGenParticles_packedGenParticles__PAT', # these are status 1 + 'keep recoGsfElectronCores_*_*_*', # needed? + 'keep recoSuperClusters_*_*_*', # for electron MVA ID + 'keep recoGenJets_slimmedGenJets_*_*', + 'keep *_slimmedSecondaryVertices_*_*', + 'keep patPackedCandidates_packedPFCandidates__PAT' ] - -commonDebug = copy.deepcopy( common ) -commonDebug.extend( [ +commonDebug = copy.deepcopy(common) +commonDebug.extend([ + 'keep patCompositeCandidates_*_*_*', # keep all intermediate di-taus + 'keep patElectrons_*_*_*' ]) - diff --git a/CMGTools/H2TauTau/python/eventContent/diMu_cff.py b/CMGTools/H2TauTau/python/eventContent/diMu_cff.py new file mode 100644 index 000000000000..c3503796e7ec --- /dev/null +++ b/CMGTools/H2TauTau/python/eventContent/diMu_cff.py @@ -0,0 +1,18 @@ +import FWCore.ParameterSet.Config as cms +import copy + +from CMGTools.H2TauTau.eventContent.common_cff import common, commonDebug + +diMuSpecific = [ + ] + +diMuSpecificDebug = copy.deepcopy(diMuSpecific) +diMuSpecificDebug.extend([ + ]) + +diMu = copy.deepcopy(common) +diMu.extend(diMuSpecific) + +diMuDebug = copy.deepcopy(commonDebug) +diMuDebug.extend(diMuSpecificDebug) + diff --git a/CMGTools/H2TauTau/python/eventContent/diTau_cff.py b/CMGTools/H2TauTau/python/eventContent/diTau_cff.py index fcd22f130b5d..73fc712a0c8c 100644 --- a/CMGTools/H2TauTau/python/eventContent/diTau_cff.py +++ b/CMGTools/H2TauTau/python/eventContent/diTau_cff.py @@ -1,94 +1,17 @@ import FWCore.ParameterSet.Config as cms import copy -from CMGTools.H2TauTau.eventContent.common_cff import * +from CMGTools.H2TauTau.eventContent.common_cff import common, commonDebug diTauSpecific = [ - 'drop cmgTaucmgTaucmgDiObjects_*_*_*', - 'keep *_cmgDiTauCorSVFitFullSel_*_*', ] diTauSpecificDebug = copy.deepcopy( diTauSpecific) diTauSpecificDebug.extend( [ - 'keep *_cmgDiTau_*_*', - 'keep *_cmgDiTauPreSel_*_*', - 'keep *_cmgDiTauFullSel_*_*', - 'keep *_recoilCorMETDiTau_*_*', - 'keep *_cmgDiTauCorPreSel_*_*', ] ) diTau = copy.deepcopy( common ) -diTau.extend( diTauSpecific ) +diTau.extend(diTauSpecific) diTauDebug = copy.deepcopy( commonDebug ) diTauDebug.extend( diTauSpecificDebug ) - -##### In case one has to run on a PAT tuple instead of CMG tuple make the event content explicit -diTau=["drop *"] -diTau+=["keep *_source_*_*"] -diTau+=["keep *_generator_*_*"] -diTau+=["keep *_TriggerResults__*"] -diTau+=["keep *_addPileupInfo__HLT"] -diTau+=["keep *_genJetSel__PAT"] -diTau+=["keep *_tauGenJetsSelectorAllHadrons__PAT"] -diTau+=["keep *_genParticlesPruned__PAT"] -diTau+=["keep *_vertexWeight*__*"] -diTau+=["keep *_ak5CaloJets_rho_RECO"] -diTau+=["keep *_ak5PFJets_rho_RECO"] -diTau+=["keep *_ak5TrackJets_rho_RECO"] -diTau+=["keep *_ak7BasicJets_rho_RECO"] -diTau+=["keep *_ak7CaloJets_rho_RECO"] -diTau+=["keep *_ak7PFJets_rho_RECO"] -diTau+=["keep *_kt4CaloJets_rho_RECO"] -diTau+=["keep *_kt4PFJets_rho_RECO"] -diTau+=["keep *_kt6CaloJets_rho_RECO"] -diTau+=["keep *_kt6CaloJetsCentral_rho_RECO"] -diTau+=["keep *_kt6PFJets_rho_RECO"] -diTau+=["keep *_kt6PFJetsCentralChargedPileUp_rho_RECO"] -diTau+=["keep *_kt6PFJetsCentralNeutral_rho_RECO"] -diTau+=["keep *_kt6PFJetsCentralNeutralTight_rho_RECO"] -diTau+=["keep *_TriggerResults__RECO"] -diTau+=["keep *_offlinePrimaryVertices__RECO"] -diTau+=["keep *_pfMetSignificance__PAT"] -diTau+=["keep *_ak5PFJetsCHS_rho_PAT"] -diTau+=["keep *_ak5PFJetsCHSpruned_rho_PAT"] -diTau+=["keep *_kt6PFJetsCHSForIso_rho_PAT"] -diTau+=["keep *_kt6PFJetsForIso_rho_PAT"] -diTau+=["keep *_kt6PFJetsForRhoComputationVoronoi_rho_PAT"] -diTau+=["keep *_TriggerResults__PAT"] -diTau+=["keep *_nJetsPtGt1__PAT"] -diTau+=["keep *_cmgPFBaseJetLead__PAT"] -diTau+=["keep *_cmgPFBaseJetLeadCHS__PAT"] -diTau+=["keep *_cmgPFMET__PAT"] -diTau+=["keep *_cmgPFMETRaw__PAT"] -diTau+=["keep *_cmgDiElectronSel__PAT"] -diTau+=["keep *_cmgDiMuonSel__PAT"] -diTau+=["keep *_cmgElectronSel__PAT"] -diTau+=["keep *_cmgMuonSel__PAT"] -diTau+=["keep *_cmgPFJetLooseJetIdFailed__PAT"] -diTau+=["keep *_cmgPFJetMediumJetIdFailed__PAT"] -diTau+=["keep *_cmgPFJetSel__PAT"] -diTau+=["keep *_cmgPFJetSelCHS__PAT"] -diTau+=["keep *_cmgPFJetTightJetIdFailed__PAT"] -diTau+=["keep *_cmgPFJetVeryLooseJetId95Failed__PAT"] -diTau+=["keep *_cmgPFJetVeryLooseJetId95gammaFailed__PAT"] -diTau+=["keep *_cmgPFJetVeryLooseJetId95h0Failed__PAT"] -diTau+=["keep *_cmgPFJetVeryLooseJetId99Failed__PAT"] -diTau+=["keep *_cmgPhotonSel__PAT"] -diTau+=["keep *_cmgStructuredPFJetSel__PAT"] -diTau+=["keep *_cmgTriggerObjectListSel__PAT"] -diTau+=["keep *_cmgTriggerObjectSel__PAT"] -diTau+=["keep *_patElectronsWithTrigger__PAT"] -diTau+=["keep *_patMuonsWithTrigger__PAT"] -diTau+=["keep *_nopuMet__PAT"] -diTau+=["keep *_pcMet__PAT"] -diTau+=["keep *_pfMetForRegression__PAT"] -diTau+=["keep *_puMet__PAT"] -diTau+=["keep *_tkMet__PAT"] -diTau+=["keep *_TriggerResults__H2TAUTAU"] -diTau+=["keep *_cmgDiTauCorSVFitFullSel__H2TAUTAU"] -diTau+=["keep *_mvaMETdiTau__H2TAUTAU"] -diTau+=["keep *_mvaMETdiTau__H2TAUTAU"] -diTau+=["keep *_goodPVFilter__H2TAUTAU"] -diTau+=['keep *_genParticles_*_*'] -#print diTau diff --git a/CMGTools/H2TauTau/python/eventContent/muEle_cff.py b/CMGTools/H2TauTau/python/eventContent/muEle_cff.py index 3d51aec61160..df14252b39ae 100644 --- a/CMGTools/H2TauTau/python/eventContent/muEle_cff.py +++ b/CMGTools/H2TauTau/python/eventContent/muEle_cff.py @@ -1,25 +1,18 @@ import FWCore.ParameterSet.Config as cms import copy -from CMGTools.H2TauTau.eventContent.common_cff import * +from CMGTools.H2TauTau.eventContent.common_cff import common, commonDebug muEleSpecific = [ - 'drop cmgMuoncmgElectroncmgDiObjects_*_*_*', - 'keep *_cmgMuEleCorSVFitFullSel_*_*', ] -muEleSpecificDebug = copy.deepcopy( muEleSpecific) -muEleSpecificDebug.extend( [ - 'keep *_cmgMuEle_*_*', - 'keep *_cmgMuElePreSel_*_*', - 'keep *_cmgMuEleFullSel_*_*', - 'keep *_recoilCorMETMuEle_*_*', - 'keep *_cmgMuEleCorPreSel_*_*', - ] ) +muEleSpecificDebug = copy.deepcopy(muEleSpecific) +muEleSpecificDebug.extend([ + ]) -muEle = copy.deepcopy( common ) -muEle.extend( muEleSpecific ) +muEle = copy.deepcopy(common) +muEle.extend(muEleSpecific) -muEleDebug = copy.deepcopy( commonDebug ) -muEleDebug.extend( muEleSpecificDebug ) +muEleDebug = copy.deepcopy(commonDebug) +muEleDebug.extend(muEleSpecificDebug) diff --git a/CMGTools/H2TauTau/python/eventContent/tauEle_cff.py b/CMGTools/H2TauTau/python/eventContent/tauEle_cff.py index 5dabb13d5693..314711e10cc5 100644 --- a/CMGTools/H2TauTau/python/eventContent/tauEle_cff.py +++ b/CMGTools/H2TauTau/python/eventContent/tauEle_cff.py @@ -1,25 +1,18 @@ import FWCore.ParameterSet.Config as cms import copy -from CMGTools.H2TauTau.eventContent.common_cff import * +from CMGTools.H2TauTau.eventContent.common_cff import common, commonDebug tauEleSpecific = [ - 'drop cmgTaucmgElectroncmgDiObjects_*_*_*', - 'keep *_cmgTauEleCorSVFitFullSel_*_*', ] -tauEleSpecificDebug = copy.deepcopy( tauEleSpecific) -tauEleSpecificDebug.extend( [ - 'keep *_cmgTauEle_*_*', - 'keep *_cmgTauElePreSel_*_*', - 'keep *_cmgTauEleFullSel_*_*', - 'keep *_recoilCorMETTauEle_*_*', - 'keep *_cmgTauEleCorPreSel_*_*', - ] ) +tauEleSpecificDebug = copy.deepcopy(tauEleSpecific) +tauEleSpecificDebug.extend([ + ]) -tauEle = copy.deepcopy( common ) -tauEle.extend( tauEleSpecific ) +tauEle = copy.deepcopy(common) +tauEle.extend(tauEleSpecific) -tauEleDebug = copy.deepcopy( commonDebug ) -tauEleDebug.extend( tauEleSpecificDebug ) +tauEleDebug = copy.deepcopy(commonDebug) +tauEleDebug.extend(tauEleSpecificDebug) diff --git a/CMGTools/H2TauTau/python/eventContent/tauMu_cff.py b/CMGTools/H2TauTau/python/eventContent/tauMu_cff.py index 67e61aa78049..d2e4d74244c1 100644 --- a/CMGTools/H2TauTau/python/eventContent/tauMu_cff.py +++ b/CMGTools/H2TauTau/python/eventContent/tauMu_cff.py @@ -1,39 +1,18 @@ import FWCore.ParameterSet.Config as cms import copy -from CMGTools.H2TauTau.eventContent.common_cff import * +from CMGTools.H2TauTau.eventContent.common_cff import common, commonDebug tauMuSpecific = [ - 'keep double_fixedGridRho*_*_*', - 'keep edmTriggerResults_TriggerResults_*_*', - 'keep patPackedTriggerPrescales_*_*_*', - 'keep patElectrons_*_*_*', - 'keep patJets_slimmedJets_*_*', - 'keep patMETs_*_*_*', - 'keep patMuons_*_*_*', - 'keep patPacked*_*_*_*', - 'keep patTaus_*_*_*', - 'keep patTrigger*_*_*_*', - 'keep recoVertexs_*_*_*', - 'keep cmgMETSignificances_*_*_*', - 'keep patCompositeCandidates_*_*_*', - 'keep patJets_patJetsAK4PF_*_*', - 'keep PileupSummaryInfos_*_*_*', - 'keep recoGenParticles_prunedGenParticles_*_*', - 'keep recoGsfElectronCores_*_*_*', - 'keep recoSuperClusters_*_*_*', - 'keep recoGenJets_slimmedGenJets_*_*' ] -tauMuSpecificDebug = copy.deepcopy( tauMuSpecific) -tauMuSpecificDebug.extend( [ - # 'drop *_cmgTauMu_*_*', - - ] ) +tauMuSpecificDebug = copy.deepcopy(tauMuSpecific) +tauMuSpecificDebug.extend([ + ]) -tauMu = copy.deepcopy( common ) -tauMu.extend( tauMuSpecific ) +tauMu = copy.deepcopy(common) +tauMu.extend(tauMuSpecific) -tauMuDebug = copy.deepcopy( commonDebug ) -tauMuDebug.extend( tauMuSpecificDebug ) +tauMuDebug = copy.deepcopy(commonDebug) +tauMuDebug.extend(tauMuSpecificDebug) diff --git a/CMGTools/H2TauTau/python/h2TauTau_cff.py b/CMGTools/H2TauTau/python/h2TauTau_cff.py index 12e581e8e303..5ff69b075df4 100644 --- a/CMGTools/H2TauTau/python/h2TauTau_cff.py +++ b/CMGTools/H2TauTau/python/h2TauTau_cff.py @@ -1,37 +1,67 @@ import FWCore.ParameterSet.Config as cms -from CMGTools.H2TauTau.objects.tauMuObjectsMVAMET_cff import * -from CMGTools.H2TauTau.objects.tauEleObjectsMVAMET_cff import * -from CMGTools.H2TauTau.objects.diTauObjectsMVAMET_cff import * -from CMGTools.H2TauTau.skims.skim_cff import * -from CMGTools.Common.miscProducers.mvaMET.metRegression_cff import * +from CMGTools.H2TauTau.objects.tauMuObjectsMVAMET_cff import tauMuSequence +from CMGTools.H2TauTau.objects.tauEleObjectsMVAMET_cff import tauEleSequence +from CMGTools.H2TauTau.objects.diTauObjectsMVAMET_cff import diTauSequence +from CMGTools.H2TauTau.objects.diMuObjectsMVAMET_cff import diMuSequence +from CMGTools.H2TauTau.objects.muEleObjectsMVAMET_cff import muEleSequence +from CMGTools.H2TauTau.skims.skim_cff import tauMuFullSelSkimSequence, tauEleFullSelSkimSequence, diTauFullSelSkimSequence, muEleFullSelSkimSequence, diMuFullSelSkimSequence + + +# Need to explicitly import all modules in all sequences for cms.load(..) +# to work properly in the top-level config + +from CMGTools.H2TauTau.objects.mvaMetInputs_cff import mvaMetInputSequence, calibratedAK4PFJetsForPFMVAMEt, puJetIdForPFMVAMEt + +from CMGTools.H2TauTau.objects.tauMuObjectsMVAMET_cff import mvaMETTauMu, cmgTauMu, cmgTauMuCor, cmgTauMuTauPtSel, cmgTauMuCorSVFitPreSel, cmgTauMuCorSVFitFullSel, tauMuMVAMetSequence, tauPreSelectionTauMu, muonPreSelectionTauMu + +from CMGTools.H2TauTau.objects.tauEleObjectsMVAMET_cff import mvaMETTauEle, cmgTauEle, cmgTauEleCor, cmgTauEleTauPtSel, cmgTauEleCorSVFitPreSel, cmgTauEleCorSVFitFullSel, tauEleMVAMetSequence, tauPreSelectionTauEle, electronPreSelectionTauEle + +from CMGTools.H2TauTau.objects.diTauObjectsMVAMET_cff import mvaMETDiTau, cmgDiTau, cmgDiTauCor, cmgDiTauTauPtSel, cmgDiTauCorSVFitPreSel, cmgDiTauCorSVFitFullSel, diTauMVAMetSequence, tauPreSelectionDiTau + +from CMGTools.H2TauTau.objects.muEleObjectsMVAMET_cff import mvaMETMuEle, cmgMuEle, cmgMuEleCor, cmgMuEleTauPtSel, cmgMuEleCorSVFitPreSel, cmgMuEleCorSVFitFullSel, muEleMVAMetSequence, muonPreSelectionMuEle, electronPreSelectionMuEle + +from CMGTools.H2TauTau.objects.diMuObjectsMVAMET_cff import mvaMETDiMu, cmgDiMu, cmgDiMuCor, cmgDiMuTauPtSel, cmgDiMuCorSVFitPreSel, cmgDiMuCorSVFitFullSel, diMuMVAMetSequence, muonPreSelectionDiMu + +from CMGTools.H2TauTau.skims.skim_cff import tauMuFullSelCount, tauEleFullSelCount, diTauFullSelCount, muEleFullSelCount, diMuFullSelCount -# tau-mu --- -# full selection +# MVA MET Inputs +mvaMetInputPath = cms.Path( + mvaMetInputSequence + ) + +# tau-mu --- tauMuPath = cms.Path( - metRegressionSequence + + # metRegressionSequence + tauMuSequence + tauMuFullSelSkimSequence ) -# # tau-ele --- - -# # full selection -# tauElePath = cms.Path( -# metRegressionSequence + -# tauEleSequence + -# tauEleFullSelSkimSequence -# ) - -# # tau-tau --- +# tau-ele --- +tauElePath = cms.Path( + # metRegressionSequence + + tauEleSequence + + tauEleFullSelSkimSequence + ) -# # full selection -# diTauPath = cms.Path( -# metRegressionSequence + -# diTauSequence + -# diTauFullSelSkimSequence -# ) +# tau-tau --- +diTauPath = cms.Path( + # metRegressionSequence + + diTauSequence + + diTauFullSelSkimSequence + ) +# tau-tau --- +diMuPath = cms.Path( + # metRegressionSequence + + diMuSequence + + diMuFullSelSkimSequence + ) +# mu-ele --- +muElePath = cms.Path( + muEleSequence + + muEleFullSelSkimSequence + ) diff --git a/CMGTools/H2TauTau/python/htt_ntuple_base_cff.py b/CMGTools/H2TauTau/python/htt_ntuple_base_cff.py new file mode 100644 index 000000000000..06ef88d13268 --- /dev/null +++ b/CMGTools/H2TauTau/python/htt_ntuple_base_cff.py @@ -0,0 +1,120 @@ +import PhysicsTools.HeppyCore.framework.config as cfg + +# import all analysers: +# Heppy analyzers +from PhysicsTools.Heppy.analyzers.core.JSONAnalyzer import JSONAnalyzer +from PhysicsTools.Heppy.analyzers.core.EventSelector import EventSelector +from PhysicsTools.Heppy.analyzers.objects.VertexAnalyzer import VertexAnalyzer +from PhysicsTools.Heppy.analyzers.core.PileUpAnalyzer import PileUpAnalyzer +from PhysicsTools.Heppy.analyzers.gen.GeneratorAnalyzer import GeneratorAnalyzer + +# Tau-tau analyzers +from CMGTools.H2TauTau.proto.analyzers.TriggerAnalyzer import TriggerAnalyzer +from CMGTools.H2TauTau.proto.analyzers.JetAnalyzer import JetAnalyzer +from CMGTools.H2TauTau.proto.analyzers.EmbedWeighter import EmbedWeighter +from CMGTools.H2TauTau.proto.analyzers.DYJetsFakeAnalyzer import DYJetsFakeAnalyzer +from CMGTools.H2TauTau.proto.analyzers.NJetsAnalyzer import NJetsAnalyzer +from CMGTools.H2TauTau.proto.analyzers.HiggsPtWeighter import HiggsPtWeighter +from CMGTools.H2TauTau.proto.analyzers.VBFAnalyzer import VBFAnalyzer + +puFileMC = None +puFileData = None + +eventSelector = cfg.Analyzer( + EventSelector, + name='EventSelector', + toSelect=[] +) + +jsonAna = cfg.Analyzer( + JSONAnalyzer, + name='JSONAnalyzer', +) + +triggerAna = cfg.Analyzer( + TriggerAnalyzer, + name='TriggerAnalyzer', + addTriggerObjects=True, + requireTrigger=True, + usePrescaled=False +) + +vertexAna = cfg.Analyzer( + VertexAnalyzer, + name='VertexAnalyzer', + goodVertices='offlinePrimaryVertices', + fixedWeight=1, + verbose=False +) + +pileUpAna = cfg.Analyzer( + PileUpAnalyzer, + name='PileUpAnalyzer', + true=True +) + +genAna = GeneratorAnalyzer.defaultConfig + +dyJetsFakeAna = cfg.Analyzer( + DYJetsFakeAnalyzer, + name='DYJetsFakeAnalyzer', + channel='', +) + +jetAna = cfg.Analyzer( + JetAnalyzer, + name='JetAnalyzer', + jetCol='slimmedJets', # <- These are CHS jets + # jetCol = 'patJetsAK4PF', # <- These are plain PF jets + jetPt=20., + jetEta=4.7, + relaxJetId=False, + jerCorr=False, + #jesCorr = 1., + puJetIDDisc='pileupJetIdFull:full53xDiscriminant', +) + +vbfAna = cfg.Analyzer( + VBFAnalyzer, + name='VBFAnalyzer', + cjvPtCut=30., + Mjj=500., + deltaEta=3.5 +) + +embedWeighter = cfg.Analyzer( + EmbedWeighter, + name='EmbedWeighter', + isRecHit=False, + verbose=False +) + +NJetsAna = cfg.Analyzer( + NJetsAnalyzer, + name='NJetsAnalyzer', + fillTree=True, + verbose=False +) + +higgsWeighter = cfg.Analyzer( + HiggsPtWeighter, + name='HiggsPtWeighter', +) + + +################################################### +### SEQUENCE ### +################################################### +commonSequence = cfg.Sequence([ + jsonAna, + triggerAna, + vertexAna, + genAna, + dyJetsFakeAna, + jetAna, + vbfAna, + pileUpAna, + embedWeighter, + NJetsAna, + higgsWeighter +]) diff --git a/CMGTools/H2TauTau/python/objects/cmgDiMuCor_cfi.py b/CMGTools/H2TauTau/python/objects/cmgDiMuCor_cfi.py new file mode 100644 index 000000000000..be39eeefa50f --- /dev/null +++ b/CMGTools/H2TauTau/python/objects/cmgDiMuCor_cfi.py @@ -0,0 +1,16 @@ +import FWCore.ParameterSet.Config as cms + +cmgDiMuCor = cms.EDProducer( + "DiMuUpdateProducer", + diObjectCollection = cms.InputTag('cmgDiMu'), + genCollection = cms.InputTag('prunedGenParticles'), + nSigma = cms.double(0), + uncertainty = cms.double(0.03), # 2012: 0.03 + shift1ProngNoPi0 = cms.double(0.), + shift1Prong1Pi0 = cms.double(0.), # 2012: 0.012 + ptDependence1Pi0 = cms.double(0.), + shift3Prong = cms.double(0.), # 2012: 0.012 + ptDependence3Prong = cms.double(0.), + shiftMet = cms.bool(True), + shiftTaus = cms.bool(True) +) diff --git a/CMGTools/H2TauTau/python/objects/cmgDiMu_cfi.py b/CMGTools/H2TauTau/python/objects/cmgDiMu_cfi.py new file mode 100644 index 000000000000..bb86b8e3e35b --- /dev/null +++ b/CMGTools/H2TauTau/python/objects/cmgDiMu_cfi.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +cmgDiMu = cms.EDProducer( + "DiMuPOProducer", + leg1Collection=cms.InputTag('muonPreSelectionDiMu'), + leg2Collection=cms.InputTag('muonPreSelectionDiMu'), + metCollection=cms.InputTag('mvaMETDiMu'), + ) diff --git a/CMGTools/H2TauTau/python/objects/cmgDiTauCor_cfi.py b/CMGTools/H2TauTau/python/objects/cmgDiTauCor_cfi.py index a5ccf0c48e3b..fafa1647b242 100644 --- a/CMGTools/H2TauTau/python/objects/cmgDiTauCor_cfi.py +++ b/CMGTools/H2TauTau/python/objects/cmgDiTauCor_cfi.py @@ -1,24 +1,16 @@ import FWCore.ParameterSet.Config as cms -cmgDiTauCorFactory = cms.PSet( - # leg1 and leg2 are dummy collections here - leg1Collection = cms.InputTag(''), - leg2Collection = cms.InputTag(''), - #metCollection = cms.InputTag('recoilCorrectedMET'), - diObjectCollection = cms.InputTag('cmgDiTauSel'), +cmgDiTauCor = cms.EDProducer( + "DiTauUpdateProducer", + diObjectCollection = cms.InputTag('cmgDiTau'), + genCollection = cms.InputTag('prunedGenParticles'), nSigma = cms.double(0), - uncertainty = cms.double(0.03), + uncertainty = cms.double(0.03), # 2012: 0.03 shift1ProngNoPi0 = cms.double(0.), - shift1Prong1Pi0 = cms.double(0.012), ## 1.5% +1.0% by Phil for summer 13 (WARINING THIS +1.0% has been turned off) https://indico.cern.ch/getFile.py/access?contribId=24&sessionId=4&resId=0&materialId=slides&confId=252865 + shift1Prong1Pi0 = cms.double(0.), # 2012: 0.012 ptDependence1Pi0 = cms.double(0.), - shift3Prong = cms.double(0.012), + shift3Prong = cms.double(0.), # 2012: 0.012 ptDependence3Prong = cms.double(0.), shiftMet = cms.bool(True), shiftTaus = cms.bool(True) ) - -cmgDiTauCor = cms.EDFilter( - "DiTauUpdatePOProducer", - cfg = cmgDiTauCorFactory.clone(), - cuts = cms.PSet() - ) diff --git a/CMGTools/H2TauTau/python/objects/cmgDiTau_cfi.py b/CMGTools/H2TauTau/python/objects/cmgDiTau_cfi.py new file mode 100644 index 000000000000..a552d15935f7 --- /dev/null +++ b/CMGTools/H2TauTau/python/objects/cmgDiTau_cfi.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +cmgDiTau = cms.EDProducer( + "DiTauPOProducer", + leg1Collection = cms.InputTag("tauPreSelectionDiTau"), + leg2Collection = cms.InputTag("tauPreSelectionDiTau"), + metCollection = cms.InputTag('mvaMETDiTau') + ) diff --git a/CMGTools/H2TauTau/python/objects/cmgMuEleCor_cfi.py b/CMGTools/H2TauTau/python/objects/cmgMuEleCor_cfi.py index f0caa287c055..a08fb4f8e0d0 100644 --- a/CMGTools/H2TauTau/python/objects/cmgMuEleCor_cfi.py +++ b/CMGTools/H2TauTau/python/objects/cmgMuEleCor_cfi.py @@ -1,22 +1,20 @@ import FWCore.ParameterSet.Config as cms -cmgMuEleCorFactory = cms.PSet( - # leg1 and leg2 are dummy collections here - leg1Collection = cms.InputTag(''), - leg2Collection = cms.InputTag(''), - metCollection = cms.InputTag('recoilCorrectedMET'), - diObjectCollection = cms.InputTag('cmgMuEleSel'), +# JAN - currently doesn't make sense for mu-ele as no hadronic tau +# corrections are needed in the mu-ele channel, but this should be replaced +# by something like an electron + +cmgMuEleCor = cms.EDProducer( + "MuEleUpdateProducer", + diObjectCollection = cms.InputTag('cmgMuEle'), + genCollection = cms.InputTag('prunedGenParticles'), nSigma = cms.double(0), - uncertainty = cms.double(0.03), + uncertainty = cms.double(0.03), # 2012: 0.03 shift1ProngNoPi0 = cms.double(0.), - shift1Prong1Pi0 = cms.double(0.), + shift1Prong1Pi0 = cms.double(0.), # 2012: 0.012 ptDependence1Pi0 = cms.double(0.), - shift3Prong = cms.double(0.), - ptDependence3Prong = cms.double(0.) -) - -cmgMuEleCor = cms.EDFilter( - "MuEleUpdatePOProducer", - cfg = cmgMuEleCorFactory.clone(), - cuts = cms.PSet() - ) + shift3Prong = cms.double(0.), # 2012: 0.012 + ptDependence3Prong = cms.double(0.), + shiftMet = cms.bool(True), + shiftTaus = cms.bool(True) +) \ No newline at end of file diff --git a/CMGTools/H2TauTau/python/objects/cmgMuEle_cfi.py b/CMGTools/H2TauTau/python/objects/cmgMuEle_cfi.py new file mode 100644 index 000000000000..f2b69a3e3d81 --- /dev/null +++ b/CMGTools/H2TauTau/python/objects/cmgMuEle_cfi.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +cmgMuEle = cms.EDProducer( + "MuElePOProducer", + leg1Collection=cms.InputTag('muonPreSelectionMuEle'), + leg2Collection=cms.InputTag('electronPreSelectionMuEle'), + metCollection=cms.InputTag('mvaMETMuEle'), + ) diff --git a/CMGTools/H2TauTau/python/objects/cmgTauEleCor_cfi.py b/CMGTools/H2TauTau/python/objects/cmgTauEleCor_cfi.py index 845e775a2ef9..115dbb5f55c1 100644 --- a/CMGTools/H2TauTau/python/objects/cmgTauEleCor_cfi.py +++ b/CMGTools/H2TauTau/python/objects/cmgTauEleCor_cfi.py @@ -1,22 +1,16 @@ import FWCore.ParameterSet.Config as cms -cmgTauEleCorFactory = cms.PSet( - diObjectCollection = cms.InputTag('cmgTauEleSel'), +cmgTauEleCor = cms.EDProducer( + "TauEleUpdateProducer", + diObjectCollection = cms.InputTag('cmgTauEle'), + genCollection = cms.InputTag('prunedGenParticles'), nSigma = cms.double(0), - uncertainty = cms.double(0.03), + uncertainty = cms.double(0.03), # 2012: 0.03 shift1ProngNoPi0 = cms.double(0.), - # shift1Prong1Pi0 = cms.double(0.025), - shift1Prong1Pi0 = cms.double(0.012), #Phil's update - ptDependence1Pi0 = cms.double(0.000), - # 0.012 according to the TWiki - shift3Prong = cms.double(0.012), - ptDependence3Prong = cms.double(0.000), + shift1Prong1Pi0 = cms.double(0.), # 2012: 0.012 + ptDependence1Pi0 = cms.double(0.), + shift3Prong = cms.double(0.), # 2012: 0.012 + ptDependence3Prong = cms.double(0.), shiftMet = cms.bool(True), shiftTaus = cms.bool(True) ) - -cmgTauEleCor = cms.EDFilter( - "TauEleUpdatePOProducer", - cfg = cmgTauEleCorFactory.clone(), - cuts = cms.PSet() - ) diff --git a/CMGTools/H2TauTau/python/objects/cmgTauEle_cfi.py b/CMGTools/H2TauTau/python/objects/cmgTauEle_cfi.py new file mode 100644 index 000000000000..431fd07dac45 --- /dev/null +++ b/CMGTools/H2TauTau/python/objects/cmgTauEle_cfi.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +cmgTauEle = cms.EDProducer( + "TauElePOProducer", + leg1Collection=cms.InputTag('tauPreSelectionTauEle'), + leg2Collection=cms.InputTag('electronPreSelectionTauEle'), + metCollection=cms.InputTag('mvaMETTauEle'), + ) diff --git a/CMGTools/H2TauTau/python/objects/cmgTauMuCor_cfi.py b/CMGTools/H2TauTau/python/objects/cmgTauMuCor_cfi.py index bff808c6ca8d..17b1698090fc 100644 --- a/CMGTools/H2TauTau/python/objects/cmgTauMuCor_cfi.py +++ b/CMGTools/H2TauTau/python/objects/cmgTauMuCor_cfi.py @@ -2,28 +2,15 @@ cmgTauMuCor = cms.EDProducer( "TauMuUpdateProducer", - # leg1 and leg2 are dummy collections here - leg1Collection = cms.InputTag(''), - leg2Collection = cms.InputTag(''), - #metCollection = cms.InputTag('recoilCorrectedMET'), - diObjectCollection = cms.InputTag('cmgTauMuSel'), - # Read the pruned particles containing the leptons + diObjectCollection = cms.InputTag('cmgTauMu'), genCollection = cms.InputTag('prunedGenParticles'), nSigma = cms.double(0), - uncertainty = cms.double(0.03), + uncertainty = cms.double(0.03), # 2012: 0.03 shift1ProngNoPi0 = cms.double(0.), - # shift1Prong1Pi0 = cms.double(0.015), - shift1Prong1Pi0 = cms.double(0.012), #Phil's update - ptDependence1Pi0 = cms.double(0.000), - # 0.012 according to the TWiki - shift3Prong = cms.double(0.012), - ptDependence3Prong = cms.double(0.000), + shift1Prong1Pi0 = cms.double(0.), # 2012: 0.012 + ptDependence1Pi0 = cms.double(0.), + shift3Prong = cms.double(0.), # 2012: 0.012 + ptDependence3Prong = cms.double(0.), shiftMet = cms.bool(True), shiftTaus = cms.bool(True) ) - -# cmgTauMuCor = cms.EDProducer( -# "TauMuUpdateProducer", -# cfg = cmgTauMuCorFactory.clone(), -# cuts = cms.PSet() -# ) diff --git a/CMGTools/H2TauTau/python/objects/cmgTauMu_cfi.py b/CMGTools/H2TauTau/python/objects/cmgTauMu_cfi.py new file mode 100644 index 000000000000..27778ac54afd --- /dev/null +++ b/CMGTools/H2TauTau/python/objects/cmgTauMu_cfi.py @@ -0,0 +1,8 @@ +import FWCore.ParameterSet.Config as cms + +cmgTauMu = cms.EDProducer( + "TauMuPOProducer", + leg1Collection=cms.InputTag('tauPreSelectionTauMu'), + leg2Collection=cms.InputTag('muonPreSelectionTauMu'), + metCollection=cms.InputTag('mvaMETTauMu'), + ) diff --git a/CMGTools/H2TauTau/python/objects/diMuObjectsMVAMET_cff.py b/CMGTools/H2TauTau/python/objects/diMuObjectsMVAMET_cff.py new file mode 100644 index 000000000000..d484a8032e7a --- /dev/null +++ b/CMGTools/H2TauTau/python/objects/diMuObjectsMVAMET_cff.py @@ -0,0 +1,65 @@ +import FWCore.ParameterSet.Config as cms + +from CMGTools.H2TauTau.objects.cmgDiMu_cfi import cmgDiMu +from CMGTools.H2TauTau.skims.cmgDiMuSel_cfi import cmgDiMuSel + +from CMGTools.H2TauTau.objects.cmgDiMuCor_cfi import cmgDiMuCor +from CMGTools.H2TauTau.objects.diMuSVFit_cfi import diMuSVFit + +from CMGTools.H2TauTau.objects.muCuts_cff import muonPreSelection + +from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt + +# lepton pre-selection +muonPreSelectionDiMu = muonPreSelection.clone() + +# mva MET +mvaMETDiMu = pfMVAMEt.clone() + +mvaMETDiMu.srcPFCandidates = cms.InputTag("packedPFCandidates") +mvaMETDiMu.srcVertices = cms.InputTag("offlineSlimmedPrimaryVertices") +mvaMETDiMu.srcLeptons = cms.VInputTag( + cms.InputTag("muonPreSelectionDiMu", "", ""), + cms.InputTag("muonPreSelectionDiMu", "", ""), + ) +mvaMETDiMu.permuteLeptons = cms.bool(True) + + + +# Correct tau pt (after MVA MET according to current baseline) +cmgDiMuCor = cmgDiMuCor.clone() + +# This selector goes after the tau pt correction +cmgDiMuTauPtSel = cms.EDFilter( + "PATCompositeCandidateSelector", + src = cms.InputTag("cmgDiMuCor"), + cut = cms.string("daughter(0).pt()>18.") + ) + +cmgDiMuTauPtSel = cmgDiMuTauPtSel.clone() + + +# recoil correction +# JAN: We don't know yet if we need this in 2015; re-include if necessary + +diMuMVAMetSequence = cms.Sequence( + mvaMETDiMu + ) + +# SVFit +cmgDiMuCorSVFitPreSel = diMuSVFit.clone() + +# If you want to apply some extra selection after SVFit, do it here +cmgDiMuCorSVFitFullSel = cmgDiMuSel.clone(src = 'cmgDiMuCorSVFitPreSel', + cut = '' + ) + +diMuSequence = cms.Sequence( # + muonPreSelectionDiMu + + diMuMVAMetSequence + + cmgDiMu + + cmgDiMuCor+ + cmgDiMuTauPtSel + + cmgDiMuCorSVFitPreSel + + cmgDiMuCorSVFitFullSel + ) diff --git a/CMGTools/H2TauTau/python/objects/diMuSVFit_cfi.py b/CMGTools/H2TauTau/python/objects/diMuSVFit_cfi.py new file mode 100644 index 000000000000..94c9b8cb0917 --- /dev/null +++ b/CMGTools/H2TauTau/python/objects/diMuSVFit_cfi.py @@ -0,0 +1,9 @@ +import FWCore.ParameterSet.Config as cms + +diMuSVFit = cms.EDProducer( + "DiMuWithSVFitProducer", + diTauSrc = cms.InputTag("cmgDiMuTauPtSel"), + SVFitVersion = cms.int32(2), # 1 for 2011 version, 2 for new 2012 (slow) version + fitAlgo = cms.string('VEGAS'), + verbose = cms.untracked.bool(False) + ) diff --git a/CMGTools/H2TauTau/python/objects/diTauObjectsMVAMET_cff.py b/CMGTools/H2TauTau/python/objects/diTauObjectsMVAMET_cff.py index 3777927d23dc..3f7599fcc35c 100644 --- a/CMGTools/H2TauTau/python/objects/diTauObjectsMVAMET_cff.py +++ b/CMGTools/H2TauTau/python/objects/diTauObjectsMVAMET_cff.py @@ -1,73 +1,64 @@ import FWCore.ParameterSet.Config as cms -from CMGTools.Common.Tools.cmsswRelease import cmsswIs44X,cmsswIs52X -from CMGTools.Common.diTau_cff import * -from CMGTools.H2TauTau.objects.diTauCuts_cff import * -from CMGTools.H2TauTau.objects.cmgDiTauCor_cfi import cmgDiTauCor -from CMGTools.H2TauTau.objects.diTauSVFit_cfi import diTauSVFit -from CMGTools.Common.eventCleaning.goodPVFilter_cfi import goodPVFilter -from CMGTools.Utilities.metRecoilCorrection.metRecoilCorrection_cff import * -from CMGTools.Utilities.mvaMET.mvaMET_cff import * -from CMGTools.Common.factories.cmgBaseMETFromPFMET_cfi import cmgBaseMETFromPFMET +from CMGTools.H2TauTau.skims.cmgDiTauSel_cfi import cmgDiTauSel -# build diTau ---------------------------------------------------------- -cmgDiTau.cuts = diTauCuts.clone() -cmgDiTau.cfg.metsigCollection = cms.InputTag('') +from CMGTools.H2TauTau.objects.cmgDiTau_cfi import cmgDiTau +from CMGTools.H2TauTau.objects.cmgDiTauCor_cfi import cmgDiTauCor +from CMGTools.H2TauTau.objects.diTauSVFit_cfi import diTauSVFit +from CMGTools.H2TauTau.objects.tauCuts_cff import tauPreSelection -# pT preselection ------------------------------------------------------ -cmgDiTauPreSel = cmgDiTauSel.clone( - src = 'cmgDiTau', - cut = 'leg1().pt()>40. && leg2().pt()>40. && leg1().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10. && leg2().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10.', - ) - -# sequence ------------------------------------------------------------- -diTauStdSequence = cms.Sequence( cmgDiTau + - cmgDiTauPreSel - ) +from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt + +# tau pre-selection +tauPreSelectionDiTau = tauPreSelection.clone( + #cut = 'pt > 40. && abs(eta) < 2.5 && tauID("decayModeFinding") > 0.5') + cut = 'pt > 40. && abs(eta) < 2.5 && tauID("decayModeFindingNewDMs") > 0.5') # RIC: new DM. Probably we'd want to save both with an OR and decide later, useful for studying new tauID + +# 2012 preselection: +# cut = 'leg1().pt()>40. && leg2().pt()>40. && leg1().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10. && leg2().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10.', -# mva MET -------------------------------------------------------------- -mvaMETDiTau.recBosonSrc = 'cmgDiTauPreSel' +# mva MET +mvaMETDiTau = pfMVAMEt.clone() -# correct TauES (after MVA MET according to current baseline) ---------- +mvaMETDiTau.srcPFCandidates = cms.InputTag("packedPFCandidates") +mvaMETDiTau.srcVertices = cms.InputTag("offlineSlimmedPrimaryVertices") +mvaMETDiTau.srcLeptons = cms.VInputTag( + cms.InputTag("tauPreSelectionDiTau", "", ""), + cms.InputTag("tauPreSelectionDiTau", "", ""), + ) +mvaMETDiTau.permuteLeptons = cms.bool(True) + + +# correct TauES (after MVA MET according to current baseline) cmgDiTauCor = cmgDiTauCor.clone() -cmgDiTauCor.cfg.diObjectCollection = cms.InputTag('mvaMETDiTau') -# this selector goes after the TauES correction ------------------------ -cmgDiTauPtSel = cmgDiTauSel.clone( - src = cms.InputTag( "cmgDiTauCor" ), - cut = cms.string( "leg1().pt()>45. && leg2().pt()>45." ) - ) +# this selector goes after the TauES correction +cmgDiTauTauPtSel = cms.EDFilter( + "PATCompositeCandidateSelector", + src = cms.InputTag("cmgDiTauCor"), + cut = cms.string("daughter(0).pt()>45. && daughter(1).pt()>45.") + ) # recoil correction ---------------------------------------------------- -recoilCorMETDiTau = recoilCorrectedMETDiTau.clone( - recBosonSrc = 'cmgDiTauPtSel', - ) +# JAN: We don't know yet if we need this in 2015; re-include if necessary # sequence ------------------------------------------------------------- -mvaMETSequence = cms.Sequence( goodPVFilter + - mvaMETDiTau + - cmgDiTauCor + - cmgDiTauPtSel + - recoilCorMETDiTau - ) +diTauMVAMetSequence = cms.Sequence( + mvaMETDiTau + ) # SVFit ---------------------------------------------------------------- cmgDiTauCorSVFitPreSel = diTauSVFit.clone() -cmgDiTauCorSVFitPreSel.diTauSrc = cms.InputTag('recoilCorMETDiTau') -#cmgDiTauCorSVFitPreSel.verbose = True - -cmgDiTauCorSVFitFullSel = cmgDiTauSel.clone( src = 'cmgDiTauCorSVFitPreSel', - cut = '', - ) - -diTauCorSVFitSequence = cms.Sequence( - mvaMETSequence + - cmgDiTauCorSVFitPreSel + - cmgDiTauCorSVFitFullSel - ) -diTauSequence = cms.Sequence( diTauStdSequence + - diTauCorSVFitSequence - ) +cmgDiTauCorSVFitFullSel = cmgDiTauSel.clone() +diTauSequence = cms.Sequence( + tauPreSelectionDiTau + + diTauMVAMetSequence + + cmgDiTau + + cmgDiTauCor + + cmgDiTauTauPtSel + + cmgDiTauCorSVFitPreSel + + cmgDiTauCorSVFitFullSel + ) diff --git a/CMGTools/H2TauTau/python/objects/diTauSVFit_cfi.py b/CMGTools/H2TauTau/python/objects/diTauSVFit_cfi.py index 5505f26db0f9..2e5886572e09 100644 --- a/CMGTools/H2TauTau/python/objects/diTauSVFit_cfi.py +++ b/CMGTools/H2TauTau/python/objects/diTauSVFit_cfi.py @@ -2,10 +2,8 @@ diTauSVFit = cms.EDProducer( "TauTauWithSVFitProducer", - diTauSrc = cms.InputTag("cmgDiTauCorPreSel"), - # metSrc = cms.InputTag("cmgPFMET"), - #metsigSrc = cms.InputTag("pfMetSignificance"), ## ?? - # metsigSrc = cms.InputTag("mvaMETDiTau"), ## ?? - SVFitVersion = cms.int32(2), # 1 for 2011 version , 2 for new 2012 (slow) version - verbose = cms.untracked.bool( False ) + diTauSrc = cms.InputTag("cmgDiTauTauPtSel"), + SVFitVersion = cms.int32(2), # 1 for 2011 version, 2 for new 2012 (slow) version + fitAlgo = cms.string('VEGAS'), + verbose = cms.untracked.bool(False) ) diff --git a/CMGTools/H2TauTau/python/objects/eleCuts_cff.py b/CMGTools/H2TauTau/python/objects/eleCuts_cff.py index 203ee7e4728f..19bbd9dae747 100644 --- a/CMGTools/H2TauTau/python/objects/eleCuts_cff.py +++ b/CMGTools/H2TauTau/python/objects/eleCuts_cff.py @@ -1,9 +1,13 @@ import FWCore.ParameterSet.Config as cms -from PhysicsTools.Heppy.utils.cmsswRelease import isNewerThan -is53X = isNewerThan('CMSSW_5_2_X') +electronPreSelection = cms.EDFilter( + "PATElectronSelector", + src = cms.InputTag("slimmedElectrons"), + cut = cms.string('pt > 20. && abs(eta) < 2.5') + # JAN: Should add MVA cut here when studied + ) -def getEleCuts(leg, channel='tauEle', skim=False): +def getEleCuts(leg, channel='tauEle'): ptCut = None etaCut = None @@ -13,9 +17,7 @@ def getEleCuts(leg, channel='tauEle', skim=False): lmvaID3 = -99999 # isoCut = 100 if channel == 'tauEle': - ptCut = 20. - if is53X: - ptCut = 24. + ptCut = 24. etaCut = 2.1 # lmvaID = 0.9 lmvaID1 = 0.925 @@ -28,9 +30,6 @@ def getEleCuts(leg, channel='tauEle', skim=False): else: raise ValueError('bad channel specification:'+channel) - if skim: - print 'WARNING: skimming not implemented in getEleCuts!' - eleCuts = cms.PSet( kinematics = cms.PSet( pt = cms.string('{leg}().pt()>{ptCut}'.format(leg=leg, ptCut=ptCut)), @@ -41,10 +40,6 @@ def getEleCuts(leg, channel='tauEle', skim=False): convVeto = cms.string('{leg}().passConversionVeto()!=0'.format(leg=leg)), mvaID = cms.string('(abs({leg}().sourcePtr().superCluster().eta())<0.8 && {leg}().mvaNonTrigV0() > {lmvaID1}) || (abs({leg}().sourcePtr().superCluster().eta())>0.8 && abs({leg}().sourcePtr().superCluster().eta())<1.479 && {leg}().mvaNonTrigV0() > {lmvaID2}) || (abs({leg}().sourcePtr().superCluster().eta())>1.479 && {leg}().mvaNonTrigV0() > {lmvaID3})'.format(leg=leg, lmvaID1=lmvaID1, lmvaID2=lmvaID2, lmvaID3=lmvaID3)) ), -# iso = cms.PSet( -# #COLIN the iso elest be done on charged particles, not charged hadrons -# relIsoDBeta = cms.string('{leg}().relIso(0.5, 1)<{isoCut}'.format(leg=leg,isoCut=isoCut)) -# ) ) return eleCuts diff --git a/CMGTools/H2TauTau/python/objects/jetreco_cff.py b/CMGTools/H2TauTau/python/objects/jetreco_cff.py index dd0b11cd90ed..a13ca00cba7d 100644 --- a/CMGTools/H2TauTau/python/objects/jetreco_cff.py +++ b/CMGTools/H2TauTau/python/objects/jetreco_cff.py @@ -1,7 +1,7 @@ import FWCore.ParameterSet.Config as cms from RecoJets.JetProducers.ak4PFJets_cfi import ak4PFJets as ak4PF -from CMGTools.External.puJetIDAlgo_cff import met_53x, full_53x +from RecoJets.JetProducers.puJetIDAlgo_cff import met_53x, full_53x pileupJetIdMET = cms.EDProducer( 'PileupJetIdProducer', @@ -25,19 +25,20 @@ from PhysicsTools.PatAlgos.tools.jetTools import addJetCollection def addAK4Jets(process): - process.ak4PFJets = ak4PF.clone(src = 'packedPFCandidates') + process.ak4PFJets = ak4PF.clone(src = 'packedPFCandidates') addJetCollection( process, postfix = "", labelName = 'AK4PF', jetSource = cms.InputTag('ak4PFJets'), - trackSource = cms.InputTag('unpackedTracksAndVertices'), - pvSource = cms.InputTag('unpackedTracksAndVertices'), + trackSource = cms.InputTag('unpackedTracksAndVertices'), + pvSource = cms.InputTag('unpackedTracksAndVertices'), jetCorrections = ('AK4PF', cms.vstring(['L1FastJet', 'L2Relative', 'L3Absolute']), 'Type-2'), btagDiscriminators = ['combinedSecondaryVertexBJetTags'], - algo = 'AK', + algo = 'AK', rParam = 0.4 ) + process.ak4PFJets.doAreaFastjet = cms.bool(True) process.patJetGenJetMatchAK4PF.matched = "slimmedGenJets" process.patJetPartonMatchAK4PF.matched = "prunedGenParticles" process.patJetPartons.particles = "prunedGenParticles" @@ -55,13 +56,13 @@ def addAK4Jets(process): process.patJetsAK4PF.userData.userFloats.src = [ cms.InputTag("pileupJetIdMET:met53xDiscriminant"), cms.InputTag("pileupJetIdFull:full53xDiscriminant")] process.jetSequenceAK4 = cms.Sequence( - process.ak4PFJets + - process.unpackedTracksAndVertices + + process.ak4PFJets + + process.unpackedTracksAndVertices + process.jetTracksAssociatorAtVertexAK4PF + process.patJetCorrFactorsAK4PF + - process.pileupJetIdMET + + process.pileupJetIdMET + process.pileupJetIdFull + - process.patJetChargeAK4PF + + process.patJetChargeAK4PF + process.patJetPartons + process.patJetPartonMatchAK4PF + process.patJetGenJetMatchAK4PF + @@ -69,9 +70,9 @@ def addAK4Jets(process): process.patJetPartonsLegacy + process.patJetPartonAssociationLegacyAK4PF + process.patJetFlavourAssociationLegacyAK4PF + - # process.inclusiveSecondaryVertexFinderTagInfosAK4PF + - process.impactParameterTagInfosAK4PF + - process.secondaryVertexTagInfosAK4PF + + # process.inclusiveSecondaryVertexFinderTagInfosAK4PF + + process.impactParameterTagInfosAK4PF + + process.secondaryVertexTagInfosAK4PF + process.combinedSecondaryVertexBJetTagsAK4PF + process.patJetsAK4PF ) diff --git a/CMGTools/H2TauTau/python/objects/muCuts_cff.py b/CMGTools/H2TauTau/python/objects/muCuts_cff.py index 03c60064f27a..46ebb55b83bc 100644 --- a/CMGTools/H2TauTau/python/objects/muCuts_cff.py +++ b/CMGTools/H2TauTau/python/objects/muCuts_cff.py @@ -1,6 +1,11 @@ import FWCore.ParameterSet.Config as cms -# from CMGTools.Common.selections.vbtfmuon_cfi import * +muonPreSelection = cms.EDFilter( + "PATMuonSelector", + src = cms.InputTag("slimmedMuons"), + cut = cms.string('pt > 20. && abs(eta) < 2.5 && isPFMuon && (isGlobalMuon || isTrackerMuon)') + ) + # muCuts = vbtfmuon.clone() # muCuts.dxy = cms.string('abs(dxy)<0.045') @@ -24,24 +29,28 @@ def getMuCuts( leg, channel='tauMu'): eta = cms.string('abs({leg}().eta())<{etaCut}'.format(leg=leg, etaCut=etaCut)) ) - id = cms.PSet( - isGlobal = cms.string('{leg}().isGlobalMuon()'.format(leg=leg)), - isTracker = cms.string('{leg}().isTracker()'.format(leg=leg)), - normalizedChi2 = cms.string('{leg}().normalizedChi2() < 10'.format(leg=leg)), - numberOfValidMuonHits = cms.string('{leg}().numberOfValidMuonHits() > 0'.format(leg=leg)), - numberOfMatchedStations = cms.string('{leg}().numberOfMatchedStations() > 1'.format(leg=leg)), - numberOfValidPixelHits = cms.string('{leg}().sourcePtr().innerTrack().hitPattern().numberOfValidPixelHits() > 0'.format(leg=leg)), - trackerLayersWithMeasurement = cms.string('{leg}().trackerLayersWithMeasurement() > 5'.format(leg=leg)), - dxy = cms.string('abs({leg}().dxy()) < 0.045'.format(leg=leg)), - dz = cms.string('abs({leg}().dz()) < 0.2'.format(leg=leg)) + looseId = cms.PSet( + isPF = cms.string('{leg}().isPFMuon()'.format(leg=leg)), + isGlobalOrTracker = cms.string('{leg}().isGlobalMuon() || {leg}().isTrackerMuon()'.format(leg=leg)) + # isGlobal = cms.string('{leg}().isGlobalMuon()'.format(leg=leg)), + # isTracker = cms.string('{leg}().isTracker()'.format(leg=leg)), + # normalizedChi2 = cms.string('{leg}().normalizedChi2() < 10'.format(leg=leg)), + # numberOfValidMuonHits = cms.string('{leg}().numberOfValidMuonHits() > 0'.format(leg=leg)), + # numberOfMatchedStations = cms.string('{leg}().numberOfMatchedStations() > 1'.format(leg=leg)), + # numberOfValidPixelHits = cms.string('{leg}().sourcePtr().innerTrack().hitPattern().numberOfValidPixelHits() > 0'.format(leg=leg)), + # trackerLayersWithMeasurement = cms.string('{leg}().trackerLayersWithMeasurement() > 5'.format(leg=leg)), + # dxy = cms.string('abs({leg}().dxy()) < 0.045'.format(leg=leg)), + # dz = cms.string('abs({leg}().dz()) < 0.2'.format(leg=leg)) ) ## iso = cms.PSet( ## relIsoDBeta = cms.string('{leg}().relIso(0.5, 1)<100.0'.format(leg=leg)) ## ) + muCuts = cms.PSet( - kinematics = kinematics.clone(), + kinematics=kinematics.clone(), + id=looseId.clone() ) return muCuts diff --git a/CMGTools/H2TauTau/python/objects/muEleCuts_cff.py b/CMGTools/H2TauTau/python/objects/muEleCuts_cff.py index 02ab0c8db22a..bcf5928d16db 100644 --- a/CMGTools/H2TauTau/python/objects/muEleCuts_cff.py +++ b/CMGTools/H2TauTau/python/objects/muEleCuts_cff.py @@ -1,18 +1,18 @@ import FWCore.ParameterSet.Config as cms -from CMGTools.H2TauTau.objects.muCuts_cff import getMuCuts from CMGTools.H2TauTau.objects.eleCuts_cff import getEleCuts +from CMGTools.H2TauTau.objects.muCuts_cff import getMuCuts +# from CMGTools.H2TauTau.objects.eleSkimCuts_cff import * +# from CMGTools.H2TauTau.objects.tauSkimCuts_cff import * -muEleCuts = cms.PSet( +tauEleCuts = cms.PSet( baseline = cms.PSet( - mass = cms.string('mass()>10'), - muLeg = getMuCuts('leg1', 'muEle').clone(), - eleLeg = getEleCuts('leg2', 'muEle').clone() + #mass = cms.string('mass()>10'), + muLeg = getMuCuts('leg1','tauMu').clone(), + eleLeg = getEleCuts('leg2', 'tauEle').clone() ), - # this cut is kept out of the baseline for now, until it is studied. - # caloMuVeto = cms.string('leg1().eOverP()>0.2'), ) if __name__ == '__main__': - print muEleCuts + print tauEleCuts diff --git a/CMGTools/H2TauTau/python/objects/muEleObjectsMVAMET_cff.py b/CMGTools/H2TauTau/python/objects/muEleObjectsMVAMET_cff.py new file mode 100644 index 000000000000..1eb8efce5dba --- /dev/null +++ b/CMGTools/H2TauTau/python/objects/muEleObjectsMVAMET_cff.py @@ -0,0 +1,68 @@ +import FWCore.ParameterSet.Config as cms + +from CMGTools.H2TauTau.objects.cmgMuEle_cfi import cmgMuEle +from CMGTools.H2TauTau.skims.cmgMuEleSel_cfi import cmgMuEleSel + +from CMGTools.H2TauTau.objects.cmgMuEleCor_cfi import cmgMuEleCor +from CMGTools.H2TauTau.objects.muEleSVFit_cfi import muEleSVFit + +from CMGTools.H2TauTau.objects.muCuts_cff import muonPreSelection +from CMGTools.H2TauTau.objects.eleCuts_cff import electronPreSelection + +from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt + +# lepton pre-selection +muonPreSelectionMuEle = muonPreSelection.clone() +electronPreSelectionMuEle = electronPreSelection.clone() + +# mva MET +mvaMETMuEle = pfMVAMEt.clone() + +mvaMETMuEle.srcPFCandidates = cms.InputTag("packedPFCandidates") +mvaMETMuEle.srcVertices = cms.InputTag("offlineSlimmedPrimaryVertices") +mvaMETMuEle.srcLeptons = cms.VInputTag( + cms.InputTag("muonPreSelectionMuEle", "", ""), + cms.InputTag("electronPreSelectionMuEle", "", ""), + ) +mvaMETMuEle.permuteLeptons = cms.bool(True) + + + +# Correct tau pt (after MVA MET according to current baseline) +cmgMuEleCor = cmgMuEleCor.clone() + +# This selector goes after the tau pt correction +cmgMuEleTauPtSel = cms.EDFilter( + "PATCompositeCandidateSelector", + src = cms.InputTag("cmgMuEleCor"), + cut = cms.string("daughter(0).pt()>18.") + ) + +cmgMuEleTauPtSel = cmgMuEleTauPtSel.clone() + + +# recoil correction +# JAN: We don't know yet if we need this in 2015; re-include if necessary + +muEleMVAMetSequence = cms.Sequence( + mvaMETMuEle + ) + +# SVFit +cmgMuEleCorSVFitPreSel = muEleSVFit.clone() + +# If you want to apply some extra selection after SVFit, do it here +cmgMuEleCorSVFitFullSel = cmgMuEleSel.clone(src = 'cmgMuEleCorSVFitPreSel', + cut = '' + ) + +muEleSequence = cms.Sequence( # + muonPreSelectionMuEle + + electronPreSelectionMuEle + + muEleMVAMetSequence + + cmgMuEle + + cmgMuEleCor+ + cmgMuEleTauPtSel + + cmgMuEleCorSVFitPreSel + + cmgMuEleCorSVFitFullSel + ) diff --git a/CMGTools/H2TauTau/python/objects/muEleSVFit_cfi.py b/CMGTools/H2TauTau/python/objects/muEleSVFit_cfi.py index 071071890cca..d756af8d7e77 100644 --- a/CMGTools/H2TauTau/python/objects/muEleSVFit_cfi.py +++ b/CMGTools/H2TauTau/python/objects/muEleSVFit_cfi.py @@ -2,7 +2,8 @@ muEleSVFit = cms.EDProducer( "MuEleWithSVFitProducer", - diTauSrc = cms.InputTag("cmgMuEleCorPreSel"), - metsigSrc = cms.InputTag("pfMetSignificance"), - verbose = cms.untracked.bool( False ) + diTauSrc = cms.InputTag("cmgMuEleTauPtSel"), + SVFitVersion = cms.int32(2), # 1 for 2011 version , 2 for new 2012 (slow) version + fitAlgo = cms.string('VEGAS'), + verbose = cms.untracked.bool(False) ) diff --git a/CMGTools/H2TauTau/python/objects/mvaMetInputs_cff.py b/CMGTools/H2TauTau/python/objects/mvaMetInputs_cff.py new file mode 100644 index 000000000000..db1b713ee3c3 --- /dev/null +++ b/CMGTools/H2TauTau/python/objects/mvaMetInputs_cff.py @@ -0,0 +1,14 @@ +import FWCore.ParameterSet.Config as cms + +from RecoMET.METPUSubtraction.mvaPFMET_cff import puJetIdForPFMVAMEt, calibratedAK4PFJetsForPFMVAMEt + + +puJetIdForPFMVAMEt.jec = cms.string('AK4PF') +#process.puJetIdForPFMVAMEt.jets = cms.InputTag("ak4PFJets") +puJetIdForPFMVAMEt.vertexes = cms.InputTag("offlineSlimmedPrimaryVertices") +puJetIdForPFMVAMEt.rho = cms.InputTag("fixedGridRhoFastjetAll") + +mvaMetInputSequence = cms.Sequence( + calibratedAK4PFJetsForPFMVAMEt* + puJetIdForPFMVAMEt + ) diff --git a/CMGTools/H2TauTau/python/objects/tauCuts_cff.py b/CMGTools/H2TauTau/python/objects/tauCuts_cff.py index dbbc3a02c61d..0b7b831a5f24 100644 --- a/CMGTools/H2TauTau/python/objects/tauCuts_cff.py +++ b/CMGTools/H2TauTau/python/objects/tauCuts_cff.py @@ -1,7 +1,17 @@ import FWCore.ParameterSet.Config as cms -cutsElectronMVA3Medium = [0.933,0.921,0.944,0.945,0.918,0.941,0.981,0.943,0.956,0.947,0.951,0.95,0.897,0.958,0.955,0.942] +tauPreSelection = cms.EDFilter( + # "PFTauSelector", + "PATTauSelector", + src = cms.InputTag("slimmedTaus"), + # The tau disriminators are defined here http://cmslxr.fnal.gov/lxr/source/PhysicsTools/PatAlgos/python/producersLayer1/tauProducer_cfi.py + cut = cms.string('pt > 15. && abs(eta) < 2.5 && tauID("decayModeFinding") > 0.5') + # againstMuonLooseMVA, againstElectronLooseMVA5: could be in pre-selection + # as well + ) + +cutsElectronMVA3Medium = [0.933,0.921,0.944,0.945,0.918,0.941,0.981,0.943,0.956,0.947,0.951,0.95,0.897,0.958,0.955,0.942] electronMVA3MediumString = '' for iCat, catCut in enumerate(cutsElectronMVA3Medium): @@ -12,12 +22,10 @@ electronMVA3MediumString = '||'.join([electronMVA3MediumString, mvaCut]) electronMVA3MediumString += '|| {leg}().tauID("againstElectronMVA3category") > 15' -def getTauCuts( leg, channel='tauMu'): +def getTauCuts(leg, channel='tauMu'): ptCut = 15. etaCut = 2.3 - muVeto = None - eVeto = None kinematics = cms.PSet( pt = cms.string('{leg}().pt()>{ptCut}'.format(leg=leg, ptCut=ptCut)), diff --git a/CMGTools/H2TauTau/python/objects/tauEleObjectsMVAMET_cff.py b/CMGTools/H2TauTau/python/objects/tauEleObjectsMVAMET_cff.py index e6f8d31a38f2..dec8a6fcab93 100644 --- a/CMGTools/H2TauTau/python/objects/tauEleObjectsMVAMET_cff.py +++ b/CMGTools/H2TauTau/python/objects/tauEleObjectsMVAMET_cff.py @@ -1,110 +1,68 @@ import FWCore.ParameterSet.Config as cms -from CMGTools.Common.diTau_cff import * -from CMGTools.H2TauTau.objects.tauEleCuts_cff import * - -from PhysicsTools.Heppy.utils.cmsswRelease import cmsswIs44X,cmsswIs52X - -from CMGTools.Utilities.metRecoilCorrection.metRecoilCorrection_cff import * +from CMGTools.H2TauTau.objects.cmgTauEle_cfi import cmgTauEle +from CMGTools.H2TauTau.skims.cmgTauEleSel_cfi import cmgTauEleSel from CMGTools.H2TauTau.objects.cmgTauEleCor_cfi import cmgTauEleCor from CMGTools.H2TauTau.objects.tauEleSVFit_cfi import tauEleSVFit -from PhysicsTools.Heppy.utils.cmsswRelease import cmsswIs44X,cmsswIs52X - - - -# no correction, no svfit --------------------------------------------------- - -# attaching the cuts defined in this module -# to the di-tau factory -cmgTauEle.cuts = tauEleCuts.clone() -cmgTauEle.cfg.leg1Collection = 'cmgTauSel' -cmgTauEle.cfg.metsigCollection = cms.InputTag('') - -# preselection -cmgTauElePreSel = cmgTauEleSel.clone( - # cut = '' - #WARNING - cut = 'getSelection("cuts_baseline")' - ) - -tauEleStdSequence = cms.Sequence( - cmgTauEle + - cmgTauElePreSel - ) +from CMGTools.H2TauTau.objects.tauCuts_cff import tauPreSelection +from CMGTools.H2TauTau.objects.eleCuts_cff import electronPreSelection -# correction and svfit ------------------------------------------------------ +from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt -# this is done for preselected di-taus +# tau pre-selection +tauPreSelectionTauEle = tauPreSelection.clone() +electronPreSelectionTauEle = electronPreSelection.clone() # mva MET +mvaMETTauEle = pfMVAMEt.clone() -from CMGTools.Common.eventCleaning.goodPVFilter_cfi import goodPVFilter - -from CMGTools.Utilities.mvaMET.mvaMET_cff import * -from CMGTools.Common.factories.cmgBaseMETFromPFMET_cfi import cmgBaseMETFromPFMET -mvaMETTauEle.recBosonSrc = 'cmgTauElePreSel' +mvaMETTauEle.srcPFCandidates = cms.InputTag("packedPFCandidates") +mvaMETTauEle.srcVertices = cms.InputTag("offlineSlimmedPrimaryVertices") +mvaMETTauEle.srcLeptons = cms.VInputTag( + cms.InputTag("tauPreSelectionTauEle", "", ""), + cms.InputTag("electronPreSelectionTauEle", "", ""), + ) +mvaMETTauEle.permuteLeptons = cms.bool(True) -cmgTauEleMVAPreSel = cmgTauEleCor.clone() -cmgTauEleMVAPreSel.cfg.diObjectCollection = 'cmgTauElePreSel' # Correct tau pt (after MVA MET according to current baseline) - -from CMGTools.H2TauTau.objects.cmgTauEleCor_cfi import cmgTauEleCor cmgTauEleCor = cmgTauEleCor.clone() -cmgTauEleCor.cfg.diObjectCollection = cms.InputTag('mvaMETTauEle') - -# This selector goes after the tau pt correction. -# Can in principal apply any further selection on the -# di-tau object. +# This selector goes after the tau pt correction cmgTauEleTauPtSel = cms.EDFilter( - "CmgTauEleSelector", - src = cms.InputTag( "cmgTauEleCor" ), - cut = cms.string( "leg1().pt()>18." ) + "PATCompositeCandidateSelector", + src = cms.InputTag("cmgTauEleCor"), + cut = cms.string("daughter(0).pt()>18.") ) cmgTauEleTauPtSel = cmgTauEleTauPtSel.clone() -# recoil correction - -#IN 52X: should be type1 MET. In 44X, should be raw MET -diTausForRecoil = 'cmgTauEleTauPtSel' -recoilCorMETTauEle = recoilCorrectedMETTauEle.clone( - recBosonSrc = diTausForRecoil - ) -# mvaBaseMETTauEle = cmgBaseMETFromPFMET.clone() -# mvaBaseMETTauEle.cfg.inputCollection = 'recoilCorMETTauEle' +# recoil correction +# JAN: We don't know yet if we need this in 2015; re-include if necessary -tauEleMvaMETRecoilSequence = cms.Sequence( goodPVFilter + - mvaMETTauEle + - cmgTauEleCor + - cmgTauEleTauPtSel + - recoilCorMETTauEle - ) +tauEleMVAMetSequence = cms.Sequence( + mvaMETTauEle + ) # SVFit - cmgTauEleCorSVFitPreSel = tauEleSVFit.clone() -cmgTauEleCorSVFitPreSel.diTauSrc = cms.InputTag('recoilCorMETTauEle') -# cmgTauEleCorSVFitPreSel.metsigSrc = 'mvaMETTauEle' -cmgTauEleCorSVFitFullSel = cmgTauEleSel.clone( src = 'cmgTauEleCorSVFitPreSel', - cut = '' - # WARNING! - # cut = 'getSelection("cuts_baseline")' - ) - -tauEleCorSVFitSequence = cms.Sequence( # - tauEleMvaMETRecoilSequence + - # cmgTauEleCorPreSel + + +# If you want to apply some extra selection after SVFit, do it here +cmgTauEleCorSVFitFullSel = cmgTauEleSel.clone(src = 'cmgTauEleCorSVFitPreSel', + cut = '' + ) + +tauEleSequence = cms.Sequence( # + tauPreSelectionTauEle + + electronPreSelectionTauEle + + tauEleMVAMetSequence + + cmgTauEle + + cmgTauEleCor+ + cmgTauEleTauPtSel + cmgTauEleCorSVFitPreSel + cmgTauEleCorSVFitFullSel ) - -tauEleSequence = cms.Sequence( tauEleStdSequence + - tauEleCorSVFitSequence - ) - diff --git a/CMGTools/H2TauTau/python/objects/tauEleSVFit_cfi.py b/CMGTools/H2TauTau/python/objects/tauEleSVFit_cfi.py index 14c0c8df62fd..460a5de77c59 100644 --- a/CMGTools/H2TauTau/python/objects/tauEleSVFit_cfi.py +++ b/CMGTools/H2TauTau/python/objects/tauEleSVFit_cfi.py @@ -2,10 +2,8 @@ tauEleSVFit = cms.EDProducer( "TauEleWithSVFitProducer", - diTauSrc = cms.InputTag("cmgTauEleCorPreSel"), - # metSrc = cms.InputTag("cmgPFMET"), - # metsigSrc = cms.InputTag("pfMetSignificance"), - # metsigSrc = cms.InputTag("mvaMETTauEle"), + diTauSrc = cms.InputTag("cmgTauEleTauPtSel"), SVFitVersion = cms.int32(2), # 1 for 2011 version , 2 for new 2012 (slow) version - verbose = cms.untracked.bool( False ) + fitAlgo = cms.string('VEGAS'), + verbose = cms.untracked.bool(False) ) diff --git a/CMGTools/H2TauTau/python/objects/tauMuCuts_cff.py b/CMGTools/H2TauTau/python/objects/tauMuCuts_cff.py index e64a919d8e8d..9a9d0a3b687f 100644 --- a/CMGTools/H2TauTau/python/objects/tauMuCuts_cff.py +++ b/CMGTools/H2TauTau/python/objects/tauMuCuts_cff.py @@ -2,8 +2,6 @@ from CMGTools.H2TauTau.objects.muCuts_cff import getMuCuts from CMGTools.H2TauTau.objects.tauCuts_cff import getTauCuts -# from CMGTools.H2TauTau.objects.muSkimCuts_cff import * -# from CMGTools.H2TauTau.objects.tauSkimCuts_cff import * tauMuCuts = cms.PSet( baseline = cms.PSet( diff --git a/CMGTools/H2TauTau/python/objects/tauMuObjectsMVAMET_cff.py b/CMGTools/H2TauTau/python/objects/tauMuObjectsMVAMET_cff.py index f14ce60c15b4..13874f58053b 100644 --- a/CMGTools/H2TauTau/python/objects/tauMuObjectsMVAMET_cff.py +++ b/CMGTools/H2TauTau/python/objects/tauMuObjectsMVAMET_cff.py @@ -1,92 +1,69 @@ import FWCore.ParameterSet.Config as cms -from CMGTools.Common.diTau_cff import * -from CMGTools.H2TauTau.objects.tauMuCuts_cff import * - -from PhysicsTools.Heppy.utils.cmsswRelease import cmsswIs44X,cmsswIs52X - -from CMGTools.Utilities.metRecoilCorrection.metRecoilCorrection_cff import * +from CMGTools.H2TauTau.objects.cmgTauMu_cfi import cmgTauMu +from CMGTools.H2TauTau.skims.cmgTauMuSel_cfi import cmgTauMuSel from CMGTools.H2TauTau.objects.cmgTauMuCor_cfi import cmgTauMuCor from CMGTools.H2TauTau.objects.tauMuSVFit_cfi import tauMuSVFit -from PhysicsTools.Heppy.utils.cmsswRelease import cmsswIs44X,cmsswIs52X - -cmgTauMu.leg1Collection = cms.InputTag('slimmedTaus') -cmgTauMu.leg2Collection = cms.InputTag('slimmedMuons') -cmgTauMu.metsigCollection = cms.InputTag('') -cmgTauMu.metCollection = cms.InputTag('slimmedMETs') - -# creates a tau-mu pair -tauMuStdSequence = cms.Sequence( - cmgTauMu - ) +from CMGTools.H2TauTau.objects.tauCuts_cff import tauPreSelection +from CMGTools.H2TauTau.objects.muCuts_cff import muonPreSelection +from RecoMET.METPUSubtraction.mvaPFMET_cff import pfMVAMEt -# correction and svfit ------------------------------------------------------ +# tau pre-selection +tauPreSelectionTauMu = tauPreSelection.clone() +muonPreSelectionTauMu = muonPreSelection.clone() # mva MET +mvaMETTauMu = pfMVAMEt.clone() -from CMGTools.Common.eventCleaning.goodPVFilter_cfi import goodPVFilter - -from CMGTools.Utilities.mvaMET.mvaMET_cff import * +mvaMETTauMu.srcPFCandidates = cms.InputTag("packedPFCandidates") +mvaMETTauMu.srcVertices = cms.InputTag("offlineSlimmedPrimaryVertices") +mvaMETTauMu.srcLeptons = cms.VInputTag( + cms.InputTag("tauPreSelectionTauMu", "", ""), + cms.InputTag("muonPreSelectionTauMu", "", ""), + ) +mvaMETTauMu.permuteLeptons = cms.bool(True) -cmgTauMuMVAPreSel = cmgTauMuCor.clone() -cmgTauMuMVAPreSel.diObjectCollection = 'cmgTauMu' # Correct tau pt (after MVA MET according to current baseline) - -from CMGTools.H2TauTau.objects.cmgTauMuCor_cfi import cmgTauMuCor cmgTauMuCor = cmgTauMuCor.clone() -cmgTauMuCor.diObjectCollection = cms.InputTag('mvaMETTauMu') - -# JAN: It's debatable whether this should be applied after MVA MET -# and before the recoil correction instead of at the very beginning - - # This selector goes after the tau pt correction cmgTauMuTauPtSel = cms.EDFilter( "PATCompositeCandidateSelector", - src = cms.InputTag( "cmgTauMuCor" ), - cut = cms.string( "daughter(0).pt()>18." ) + src = cms.InputTag("cmgTauMuCor"), + cut = cms.string("daughter(0).pt()>18.") ) cmgTauMuTauPtSel = cmgTauMuTauPtSel.clone() # recoil correction +# JAN: We don't know yet if we need this in 2015; re-include if necessary -diTausForRecoil = 'cmgTauMuTauPtSel' -recoilCorMETTauMu = recoilCorrectedMETTauMu.clone( - recBosonSrc = diTausForRecoil - ) - -tauMuMvaMETrecoilSequence = cms.Sequence( goodPVFilter + - mvaMETTauMu + - cmgTauMuCor + - cmgTauMuTauPtSel + - recoilCorMETTauMu - ) +tauMuMVAMetSequence = cms.Sequence( + mvaMETTauMu + ) # SVFit - cmgTauMuCorSVFitPreSel = tauMuSVFit.clone() -cmgTauMuCorSVFitPreSel.diTauSrc = cms.InputTag('recoilCorMETTauMu') - -# This module is not really necessary anymore -cmgTauMuCorSVFitFullSel = cmgTauMuSel.clone( src = 'cmgTauMuCorSVFitPreSel', - cut = '' - ) -tauMuCorSVFitSequence = cms.Sequence( # - tauMuMvaMETrecoilSequence + +# If you want to apply some extra selection after SVFit, do it here +cmgTauMuCorSVFitFullSel = cmgTauMuSel.clone(src = 'cmgTauMuCorSVFitPreSel', + cut = '' + ) + +tauMuSequence = cms.Sequence( + tauPreSelectionTauMu + + muonPreSelectionTauMu + + tauMuMVAMetSequence + + cmgTauMu + + cmgTauMuCor+ + cmgTauMuTauPtSel + cmgTauMuCorSVFitPreSel + cmgTauMuCorSVFitFullSel - ) - -tauMuSequence = cms.Sequence( tauMuStdSequence + - tauMuCorSVFitSequence - ) + ) diff --git a/CMGTools/H2TauTau/python/objects/tauMuSVFit_cfi.py b/CMGTools/H2TauTau/python/objects/tauMuSVFit_cfi.py index 49b674dc462c..657ef2e4dcd8 100644 --- a/CMGTools/H2TauTau/python/objects/tauMuSVFit_cfi.py +++ b/CMGTools/H2TauTau/python/objects/tauMuSVFit_cfi.py @@ -2,10 +2,8 @@ tauMuSVFit = cms.EDProducer( "TauMuWithSVFitProducer", - diTauSrc = cms.InputTag("cmgTauMuCorPreSel"), - # metsigSrc = cms.InputTag("pfMetSignificance"), - metsigSrc = cms.InputTag("mvaMETTauMu"), - SVFitVersion = cms.int32(2), # 1 for 2011 version , 2 for new 2012 (slow) version + diTauSrc = cms.InputTag("cmgTauMuTauPtSel"), + SVFitVersion = cms.int32(2), # 1 for 2011 version, 2 for new 2012 (slow) version fitAlgo = cms.string('VEGAS'), - verbose = cms.untracked.bool( False ) + verbose = cms.untracked.bool(False) ) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/BTagEffWeighter.py b/CMGTools/H2TauTau/python/proto/analyzers/BTagEffWeighter.py deleted file mode 100644 index 3cee3cca1ad3..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/BTagEffWeighter.py +++ /dev/null @@ -1,88 +0,0 @@ -import re - -from ROOT import TFile - -from CMGTools.RootTools.analyzers.GenParticleAnalyzer import * -from PhysicsTools.HeppyCore.utils.deltar import matchObjectCollection -from CMGTools.RootTools.physicsobjects.genutils import * -from PhysicsTools.HeppyCore.statistics.average import Average - -from CMGTools.H2TauTau.proto.BTagEfficiency import BTagEfficiency, BTagWeight - -class BTagEffWeighter( GenParticleAnalyzer ): - '''Weight the event to get the NLO Higgs pT distribution for ggH events - - btagEffAna = cfg.Analyzer( - 'BTagEffWeighter', - workingPoint = 0.679, - verbose = True - ) - ''' - - def __init__(self, cfg_ana, cfg_comp, looperName): - super(BTagEffWeighter,self).__init__(cfg_ana, cfg_comp, looperName) - - self.btagWeight_ = BTagWeight() - self.btagEff_ = BTagEfficiency() - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - - def declareHandles(self): - super(VBFAnalyzer, self).declareHandles() - - self.handles['jets'] = AutoHandle( self.cfg_ana.jetCol, - 'std::vector' ) - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - - def beginLoop(self, setup): - print self, self.__class__ - super(BTagEffWeighter,self).beginLoop(setup) - self.averages.add('btagEffWeight', Average('btagEffWeight') ) - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - - def process(self, event): - super(BTagEffWeighter, self).process(event) - - btagEffWeight_ = 1 # this is a float - - # loop over jets - self.btagWeight_.BTagWeightPy.cleanVector() - cmgJets = self.handles['jets'].product() - for jet in cmgJets : - if abs (jet.eta()) > 2.4: - continue - - jetpt = jet.pt() - jeteta = jet.eta() - jetflavor = abs (jet.partonFlavour()) - discr = self.workingPoint - eff = 1. - sf = 1. - if jetflavor == 5 : - eff = self.btagEff_.BTagEfficiencyPy.btagEFF(discr,1) - sf = self.btagEff_.BTagEfficiencyPy.btagSF(jetpt,1) - elif jetflavor == 4 : - eff = self.btagEff_.BTagEfficiencyPy.btagEFF(discr,0) - sf = self.btagEff_.BTagEfficiencyPy.btagSF(jetpt,0) - else : - eff = self.btagEff_.BTagEfficiencyPy.mistagEFF(jetpt,jeteta) - sf = self.btagEff_.BTagEfficiencyPy.mistagSF(jetpt,jeteta) - - self.btagWeight_.BTagWeightPy.addJet(eff,sf) - - btagEffWeight_ = self.btagWeight_.BTagWeightPy.weight() - event.btagEffWeight = btagEffWeight_ - - self.averages['btagEffWeight'].add( event.btagEffWeight ) - if self.cfg_ana.verbose: - print 'BTagEffWeighter:',event.btagEffWeight - return True - diff --git a/CMGTools/H2TauTau/python/proto/analyzers/BTagPlotter.py b/CMGTools/H2TauTau/python/proto/analyzers/BTagPlotter.py deleted file mode 100644 index 9dab39ecc76d..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/BTagPlotter.py +++ /dev/null @@ -1,41 +0,0 @@ -from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from PhysicsTools.Heppy.physicsobjects.PhysicsObjectsimport Jet -from ROOT import TH1F, TFile - -class BTagPlotter( Analyzer ): - def __init__(self, cfg_ana, cfg_comp, looperName): - super(BTagPlotter,self).__init__(cfg_ana, cfg_comp, looperName) - fileName = '/'.join([self.dirName, - self.name+'_plots.root']) - self.file = TFile( fileName, 'recreate' ) - self.h_mva_b_btag = TH1F ('h_mva_b_btag', 'h_mva_b_btag', 100, 0, 1) - self.h_mva_b_bvet = TH1F ('h_mva_b_bvet', 'h_mva_b_bvet', 100, 0, 1) - self.h_mva_l_btag = TH1F ('h_mva_l_btag', 'h_mva_l_btag', 100, 0, 1) - self.h_mva_l_bvet = TH1F ('h_mva_l_bvet', 'h_mva_l_bvet', 100, 0, 1) - self.h_mva_g_btag = TH1F ('h_mva_g_btag', 'h_mva_g_btag', 100, 0, 1) - self.h_mva_g_bvet = TH1F ('h_mva_g_bvet', 'h_mva_g_bvet', 100, 0, 1) - - - def beginLoop(self, setup): - super(BTagPlotter,self).beginLoop(setup) - - def process(self, event): - self.readCollections( event.input ) - for jet in event.jets: - pf = abs(jet.partonFlavour()) - if jet.btagFlag == True : - if (pf < 5) : self.h_mva_l_btag.Fill (jet.btagMVA) - elif (pf == 5) : self.h_mva_b_btag.Fill (jet.btagMVA) - elif (pf == 21) : self.h_mva_g_btag.Fill (jet.btagMVA) - else : - if (pf < 5) : self.h_mva_l_bvet.Fill (jet.btagMVA) - elif (pf == 5) : self.h_mva_b_bvet.Fill (jet.btagMVA) - elif (pf == 21) : self.h_mva_g_bvet.Fill (jet.btagMVA) - - - def write(self): - super(BTagPlotter, self).write() - self.file.Write() - self.file.Close() - diff --git a/CMGTools/H2TauTau/python/proto/analyzers/DYJetsFakeAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/DYJetsFakeAnalyzer.py index 21de464bf54c..93f7d8180684 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/DYJetsFakeAnalyzer.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/DYJetsFakeAnalyzer.py @@ -1,101 +1,254 @@ -from CMGTools.RootTools.analyzers.GenParticleAnalyzer import * -from PhysicsTools.HeppyCore.utils.deltar import matchObjectCollection -from CMGTools.RootTools.physicsobjects.genutils import * -from math import sqrt +import ROOT -class DYJetsFakeAnalyzer( GenParticleAnalyzer ): - '''Checks which kind of DYJet event this is. +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.utils.deltar import bestMatch + + +class DYJetsFakeAnalyzer(Analyzer): + + '''Checks which kind of DYJet of Higgs event this is. isFake gets written to the event. - Z->tau tau : isFake = 0 - Z->tau tau with matched rec hadr. tau->l: isFake = 3 - Z->l l matched : isFake = 1 - - other : isFake = 2 - - set the lepton type as leptonType in the configuration + - other : isFake = 2 + set the lepton type as leptonType in the configuration. + In case of VH events, only the Higgs is considered. ''' - def isHadronicTau(self, tau): - if tau.numberOfDaughters() > 0: - # Catch status 2 tau - if abs(tau.daughter(0).pdgId()) == 15: - return self.isHadronicTau(tau.daughter(0)) - else: - sumPx = 0. - sumPy = 0. - isHadronic = False - for i in range(0, tau.numberOfDaughters()): - tdId = abs(tau.daughter(i).pdgId()) - if tdId not in (11, 12, 13, 14, 15, 16): - if tdId == 24: - return self.isHadronicTau(tau.daughter(i)) - isHadronic = True - sumPx += tau.daughter(i).px() - sumPy += tau.daughter(i).py() - return isHadronic and sqrt(sumPx*sumPx + sumPy*sumPy) > 18. + def process(self, event): + + event.geninfo_tt = False + event.geninfo_mt = False + event.geninfo_et = False + event.geninfo_ee = False + event.geninfo_mm = False + event.geninfo_em = False + event.geninfo_EE = False + event.geninfo_MM = False + event.geninfo_TT = False + event.geninfo_LL = False + event.geninfo_fakeid = -99 + event.geninfo_mass = -99. + event.genmet_pt = -99. + event.genmet_eta = -99. + event.genmet_e = -99. + event.genmet_px = -99. + event.genmet_py = -99. + event.genmet_phi = -99. + event.geninfo_has_z = False + event.geninfo_has_w = False + + # gen MET as sum of the neutrino 4-momenta + neutrinos = [ + p for p in event.genParticles if abs(p.pdgId()) in (12, 14, 16)] + + genmet = ROOT.math.XYZTLorentzVectorD() + for nu in neutrinos: + genmet += nu.p4() + + event.genmet_pt = genmet.pt() + event.genmet_eta = genmet.eta() + event.genmet_e = genmet.e() + event.genmet_px = genmet.px() + event.genmet_py = genmet.py() + event.genmet_phi = genmet.phi() + + ptcut = 0. + # you can apply a pt cut on the gen leptons, electrons and muons + # in HIG-13-004 it was 8 GeV + if hasattr(self.cfg_ana, 'genPtCut'): + ptcut = self.cfg_ana.genPtCut + + self.ptSelGentauleps = [lep for lep in event.gentauleps if lep.pt() > ptcut] + self.ptSelGenleps = [lep for lep in event.genleps if lep.pt() > ptcut] + self.ptSelGenSummary = [p for p in event.generatorSummary if p.pt() > ptcut and abs(p.pdgId()) not in [6, 23, 24, 25, 35, 36, 37]] + # self.ptSelGentaus = [ lep for lep in event.gentaus if lep.pt() + # > ptcut ] # not needed + + self.l1 = event.diLepton.leg1() + self.l2 = event.diLepton.leg2() + + self.genMatch(event, self.l1) + self.genMatch(event, self.l2) + + if 'Higgs' in self.cfg_comp.name: + theZs = [bos for bos in event.genHiggsBosons if bos.pdgId() in (25, 35, 36, 37)] + elif 'DY' in self.cfg_comp.name: + theZs = [bos for bos in event.genVBosons if bos.pdgId() == 23] + elif 'W' in self.cfg_comp.name: + theZs = [bos for bos in event.genVBosons if abs(bos.pdgId()) == 24] else: - print 'WARNING, generated tau has no daughter' - return False + return True - def process(self, event): - event.isFake = 0 - if not self.cfg_comp.isMC: + # there must always be a Z or a H boson + # should raise an error too FIXME + if len(theZs) != 1: + print 'I cannot find any H, W or Z in the sample!' + return False + + event.parentBoson = theZs[0] + + # check SM H associated production + if event.parentBoson.pdgId() == 25: + if any([bos.pdgId() == 23 for bos in event.genVBosons]): + event.hasZ = True + if any([abs(bos.pdgId()) == 24 for bos in event.genVBosons]): + event.hasW = True + + # gen mass of the Higgs or Z boson + event.geninfo_mass = event.parentBoson.mass() + + # move on if this is a W sample + if abs(event.parentBoson.pdgId()) == 24: return True - - self.readCollections( event.input ) - event.genParticles = self.buildGenParticles( self.mchandles['genpart'].product(), event ) - - # check if it is a Z->tau tau event. - tauDaus, bosonPresent = bosonToX( event.genParticles, 23, 15) - if not bosonPresent: - event.isFake = 0 + + self.getGenType(event) + + if self.cfg_ana.channel == 'tt': + self.isFakeTauTau(event) + if self.cfg_ana.channel == 'et': + self.isFakeETau(event) + if self.cfg_ana.channel == 'mt': + self.isFakeMuTau(event) + if self.cfg_ana.channel == 'em': + self.isFakeEMu(event) + + def genMatch(self, event, leg, dR=0.3, matchAll=True): + + dR2 = dR * dR + + leg.isTauHad = False + leg.isTauLep = False + leg.isPromptLep = False + leg.genp = None + + # match the tau_h leg + # to generated had taus + l1match, dR2best = bestMatch(leg, event.gentaus) + if dR2best < dR2: + leg.genp = l1match + leg.isTauHad = True + return + + # to generated leptons from taus + l1match, dR2best = bestMatch(leg, self.ptSelGentauleps) + if dR2best < dR2: + leg.genp = l1match + leg.isTauLep = True + return + + # to generated prompt leptons + l1match, dR2best = bestMatch(leg, self.ptSelGenleps) + if dR2best < dR2: + leg.genp = l1match + leg.isPromptLep = True + return + + # match with any other relevant gen particle + if matchAll: + l1match, dR2best = bestMatch(leg, self.ptSelGenSummary) + if dR2best < dR2: + leg.genp = l1match + + + def getGenType(self, event): + '''Check the Z or H boson decay mode at gen level. + Saves a bunch of flags in the event + (capital e/m denotes prompt electron/muon). + event.geninfo_tt : Z/H -> tautau -> tau_h tau_h + event.geninfo_mt : Z/H -> tautau -> m tau_h + event.geninfo_et : Z/H -> tautau -> e tau_h + event.geninfo_ee : Z/H -> tautau -> ee + event.geninfo_mm : Z/H -> tautau -> mm + event.geninfo_em : Z/H -> tautau -> em + event.geninfo_EE : Z/H -> ee + event.geninfo_MM : Z/H -> mm + event.geninfo_TT : Z/H -> tautau + event.geninfo_LL : Z/H -> ll (ee or mm) + ''' + # Z->TT + + h_taus = event.gentaus + l_taus = event.gentauleps + ls = event.genleps + + if len(l_taus) + len(h_taus) == 2: + event.geninfo_TT = True + + # full hadronic first + if len(h_taus) == 2: + event.geninfo_tt = True + + # semi leptonic + elif len(h_taus) == 1: + if abs(l_taus[0].pdgId()) == 11: + event.geninfo_et = True + if abs(l_taus[0].pdgId()) == 13: + event.geninfo_mt = True + + # fully leptonic + elif len(h_taus) == 0: + if abs(l_taus[0].pdgId()) == 11 and abs(l_taus[1].pdgId()) == 11: + event.geninfo_ee = True + elif abs(l_taus[0].pdgId()) == 13 and abs(l_taus[1].pdgId()) == 13: + event.geninfo_mm = True + else: + event.geninfo_em = True + # Z->LL + elif len(ls) == 2: + event.geninfo_LL = True + if abs(ls[0].pdgId()) == 11 and abs(ls[1].pdgId()) == 11: + event.geninfo_EE = True + elif abs(ls[0].pdgId()) == 13 and abs(ls[1].pdgId()) == 13: + event.geninfo_MM = True + + # should raise an error too FIXME + + def isFakeMuTau(self, event): + '''Define the criteria to label a given mt ZTT event as fake''' + if self.l1.isTauHad and self.l2.isTauLep and event.geninfo_mt: + event.geninfo_fakeid = 0 + elif self.l1.isPromptLep and self.l2.isPromptLep and event.geninfo_LL: + event.geninfo_fakeid = 1 + elif self.l1.isTauLep and self.l2.isTauLep: + event.geninfo_fakeid = 3 + else: + event.geninfo_fakeid = 2 + + def isFakeETau(self, event): + '''Define the criteria to label a given et ZTT event as fake''' + if self.l1.isTauHad and self.l2.isTauLep and event.geninfo_et: + event.geninfo_fakeid = 0 + elif self.l1.isPromptLep and self.l2.isPromptLep and event.geninfo_LL: + event.geninfo_fakeid = 1 + elif self.l1.isTauLep and self.l2.isTauLep: + event.geninfo_fakeid = 3 + else: + event.geninfo_fakeid = 2 + + def isFakeEMu(self, event): + '''Define the criteria to label a given em ZTT event as fake. + RIC: TO BE PROPERLY DEFINED FIXME! + ''' + if self.l1.isTauLep and self.l2.isTauLep and event.geninfo_em: + event.geninfo_fakeid = 0 + elif self.l1.isPromptLep and self.l2.isPromptLep and event.geninfo_LL: + event.geninfo_fakeid = 1 + elif self.l1.isTauHad and self.l2.isTauLep: + event.geninfo_fakeid = 3 + else: + event.geninfo_fakeid = 2 + + def isFakeTauTau(self, event): + '''Define the criteria to label a given tt ZTT event as fake + RIC: TO BE PROPERLY DEFINED FIXME! + ''' + if self.l1.isTauHad and self.l2.isTauHad and event.geninfo_tt: + event.geninfo_fakeid = 0 + elif self.l1.isPromptLep and self.l2.isPromptLep and event.geninfo_LL: + event.geninfo_fakeid = 1 + elif self.l1.isTauLep and self.l2.isTauLep: + event.geninfo_fakeid = 3 else: - # isZtautau = len( tauDaus )==2 - taus = filter(lambda x: x.status()==3 and abs(x.pdgId())==15, - event.genParticles) - isZtautau = len(taus)==2 - - hadronicTaus = [tau for tau in taus if self.isHadronicTau(tau)] - - # print '-'*50 - # print map(str, taus) - # print isZtautau - - # Updated recipe Aug 2013: match both electrons and muons regardless of status - # with pt > 8 - genLeptons = filter(lambda x: x.pt() > 8. and (abs(x.pdgId()) == 11 or abs(x.pdgId()) == 13), event.genParticles) - # genLegs, dummy = bosonToX( event.genParticles, 23, - # self.cfg_ana.leptonType ) - # import pdb; pdb.set_trace() - lepPairs = matchObjectCollection( [event.diLepton.leg1(), - event.diLepton.leg2()], - genLeptons, 0.5**2 ) - tauPairs = matchObjectCollection( [event.diLepton.leg1(), - event.diLepton.leg2()], - hadronicTaus, 0.5**2 ) - - # if lepPairs[event.diLepton.leg1()] and lepPairs[event.diLepton.leg2()]: - - # Updated recipe: Only match tau leg, not lepton leg - # This assumes that leg 1 is the hadronic tau! - if isZtautau and not lepPairs[event.diLepton.leg1()] and tauPairs[event.diLepton.leg1()]: - event.isFake = 0 - elif isZtautau and lepPairs[event.diLepton.leg1()]: - event.isFake = 3 - elif not isZtautau and lepPairs[event.diLepton.leg1()]: - # import pdb; pdb.set_trace() - # print 'fake1',event.diLepton.leg1().pdgId(), event.diLepton.leg2().pdgId() - event.isFake = 1 - # Keep this explicitly, but would be covered by global else below - elif isZtautau and not tauPairs[event.diLepton.leg1()]: - event.isFake = 2 - elif not isZtautau and not lepPairs[event.diLepton.leg1()]: - event.isFake = 2 - else: - print 'WARNING: Logic issue, no assignment in DY jets fake analyzer' - if self.cfg_ana.verbose: - # import pdb; pdb.set_trace() - print event.diLepton - print 'isFake = ', event.isFake - return True - - # now check if the two di-tau legs are matched to the gen leptons + event.geninfo_fakeid = 2 diff --git a/CMGTools/H2TauTau/python/proto/analyzers/DiLeptonAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/DiLeptonAnalyzer.py new file mode 100644 index 000000000000..29f76b4202cd --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/DiLeptonAnalyzer.py @@ -0,0 +1,296 @@ +import operator + +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Lepton +from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaR2 + +from CMGTools.H2TauTau.proto.physicsobjects.DiObject import DiObject + + +class DiLeptonAnalyzer(Analyzer): + + """Generic analyzer for Di-Leptons. + + Originally in RootTools, then under heppy examples, + copied from there to not rely on an example. + + Example configuration, and list of parameters: + #O means optional + + ana = cfg.Analyzer( + DiLeptonAnalyzer, + 'DiLeptonAnalyzer', + pt1=20, # pt, eta, iso cuts for leg 1 + eta1=2.3, + iso1=None, + pt2=20, # same for leg 2 + eta2=2.1, + iso2=0.1, + m_min=10, # mass range + m_max=99999, + dR_min=0.5, #O min delta R between the two legs + allTriggerObjMatched=False, + verbose=False #from base Analyzer class + ) + """ + + # The DiObject class will be used as the di-object class + # and the Lepton class as the lepton class + # Child classes override this choice, and can e.g. decide to use + # the TauMuon class as a di-object class + DiObjectClass = DiObject + LeptonClass = Lepton + OtherLeptonClass = Lepton + + def beginLoop(self, setup): + super(DiLeptonAnalyzer, self).beginLoop(setup) + self.counters.addCounter('DiLepton') + count = self.counters.counter('DiLepton') + count.register('all events') + count.register('> 0 di-lepton') + count.register('lepton accept') + count.register('third lepton veto') + count.register('leg1 offline cuts passed') + count.register('leg2 offline cuts passed') + count.register('trig matched') + count.register('{min:3.1f} < m < {max:3.1f}'.format(min=self.cfg_ana.m_min, + max=self.cfg_ana.m_max)) + if hasattr(self.cfg_ana, 'dR_min'): + count.register('dR > {min:3.1f}'.format(min=self.cfg_ana.dR_min)) + + count.register('exactly 1 di-lepton') + + def buildDiLeptons(self, cmgDiLeptons, event): + '''Creates python DiLeptons from the di-leptons read from the disk. + to be overloaded if needed.''' + return map(self.__class__.DiObjectClass, cmgDiLeptons) + + def buildLeptons(self, cmgLeptons, event): + '''Creates python Leptons from the leptons read from the disk. + to be overloaded if needed.''' + return map(self.__class__.LeptonClass, cmgLeptons) + + def buildOtherLeptons(self, cmgLeptons, event): + '''Creates python Leptons from the leptons read from the disk. + to be overloaded if needed.''' + return map(self.__class__.LeptonClass, cmgLeptons) + + def process(self, event): + self.readCollections(event.input) + + event.diLeptons = self.buildDiLeptons( + self.handles['diLeptons'].product(), event) + event.leptons = self.buildLeptons( + self.handles['leptons'].product(), event) + event.otherLeptons = self.buildOtherLeptons( + self.handles['otherLeptons'].product(), event) + return self.selectionSequence(event, fillCounter=True, + leg1IsoCut=self.cfg_ana.iso1, + leg2IsoCut=self.cfg_ana.iso2) + + def selectionSequence(self, event, fillCounter, leg1IsoCut=None, leg2IsoCut=None): + + if fillCounter: + self.counters.counter('DiLepton').inc('all events') + + if len(event.diLeptons) == 0: + return False + + if fillCounter: + self.counters.counter('DiLepton').inc('> 0 di-lepton') + + # testing di-lepton itself + selDiLeptons = event.diLeptons + + event.leptonAccept = False + if self.leptonAccept(event.leptons): + if fillCounter: + self.counters.counter('DiLepton').inc('lepton accept') + event.leptonAccept = True + + event.thirdLeptonVeto = False + if self.thirdLeptonVeto(event.leptons, event.otherLeptons): + if fillCounter: + self.counters.counter('DiLepton').inc('third lepton veto') + event.thirdLeptonVeto = True + + # testing leg1 + selDiLeptons = [diL for diL in selDiLeptons if + self.testLeg1(diL.leg1(), leg1IsoCut)] + + if len(selDiLeptons) == 0: + return False + elif fillCounter: + self.counters.counter('DiLepton').inc('leg1 offline cuts passed') + + # testing leg2 + selDiLeptons = [diL for diL in selDiLeptons if + self.testLeg2(diL.leg2(), leg2IsoCut)] + if len(selDiLeptons) == 0: + return False + else: + if fillCounter: + self.counters.counter('DiLepton').inc( + 'leg2 offline cuts passed') + + # Trigger matching; both legs + if len(self.cfg_comp.triggers) > 0: + requireAllMatched = hasattr(self.cfg_ana, 'allTriggerObjMatched') \ + and self.cfg_ana.allTriggerObjMatched + selDiLeptons = [diL for diL in selDiLeptons if + self.trigMatched(event, diL, requireAllMatched)] + + if len(selDiLeptons) == 0: + return False + elif fillCounter: + self.counters.counter('DiLepton').inc('trig matched') + + # mass cut + selDiLeptons = [diL for diL in selDiLeptons if + self.testMass(diL)] + if len(selDiLeptons) == 0: + return False + else: + if fillCounter: + self.counters.counter('DiLepton').inc( + '{min:3.1f} < m < {max:3.1f}'.format(min=self.cfg_ana.m_min, + max=self.cfg_ana.m_max) + ) + + # delta R cut + if hasattr(self.cfg_ana, 'dR_min'): + selDiLeptons = [diL for diL in selDiLeptons if + self.testDeltaR(diL)] + if len(selDiLeptons) == 0: + return False + else: + if fillCounter: + self.counters.counter('DiLepton').inc( + 'dR > {min:3.1f}'.format(min=self.cfg_ana.dR_min) + ) + + # exactly one? + if len(selDiLeptons) == 0: + return False + elif len(selDiLeptons) == 1: + if fillCounter: + self.counters.counter('DiLepton').inc('exactly 1 di-lepton') + + event.diLepton = self.bestDiLepton(selDiLeptons) + event.leg1 = event.diLepton.leg1() + event.leg2 = event.diLepton.leg2() + event.selectedLeptons = [event.leg1, event.leg2] + + return True + + def declareHandles(self): + super(DiLeptonAnalyzer, self).declareHandles() + + def leptonAccept(self, leptons): + '''Should implement a default version running on event.leptons.''' + return True + + def thirdLeptonVeto(self, leptons, otherLeptons, isoCut=0.3): + '''Should implement a default version running on event.leptons.''' + return True + + def testLeg1(self, leg, isocut=None): + '''returns testLeg1ID && testLeg1Iso && testLegKine for leg1''' + return self.testLeg1ID(leg) and \ + self.testLeg1Iso(leg, isocut) and \ + self.testLegKine(leg, self.cfg_ana.pt1, self.cfg_ana.eta1) + + def testLeg2(self, leg, isocut=None): + '''returns testLeg2ID && testLeg2Iso && testLegKine for leg2''' + return self.testLeg2ID(leg) and \ + self.testLeg2Iso(leg, isocut) and \ + self.testLegKine(leg, self.cfg_ana.pt2, self.cfg_ana.eta2) + + def testLegKine(self, leg, ptcut, etacut): + '''Tests pt and eta.''' + return leg.pt() > ptcut and \ + abs(leg.eta()) < etacut + + def testLeg1ID(self, leg): + '''Always return true by default, overload in your subclass''' + return True + + def testLeg1Iso(self, leg, isocut): + '''If isocut is None, the iso value is taken from the iso1 parameter. + Checks the standard dbeta corrected isolation. + ''' + if isocut is None: + isocut = self.cfg_ana.iso1 + return leg.relIso(0.5) < isocut + + def testLeg2ID(self, leg): + '''Always return true by default, overload in your subclass''' + return True + + def testLeg2Iso(self, leg, isocut): + '''If isocut is None, the iso value is taken from the iso2 parameter. + Checks the standard dbeta corrected isolation. + ''' + if isocut is None: + isocut = self.cfg_ana.iso2 + return leg.relIso(0.5) < isocut + + def testMass(self, diLepton): + '''returns True if the mass of the dilepton is between the m_min and m_max parameters''' + mass = diLepton.mass() + return self.cfg_ana.m_min < mass and mass < self.cfg_ana.m_max + + def testDeltaR(self, diLepton): + '''returns True if the two diLepton.leg1() and .leg2() have a delta R larger than the dR_min parameter.''' + dR = deltaR(diLepton.leg1().eta(), diLepton.leg1().phi(), + diLepton.leg2().eta(), diLepton.leg2().phi()) + return dR > self.cfg_ana.dR_min + + def bestDiLepton(self, diLeptons): + '''Returns the best diLepton (the one with highest pt1 + pt2).''' + return max(diLeptons, key=operator.methodcaller('sumPt')) + + def trigMatched(self, event, diL, requireAllMatched=False): + '''Check that at least one trigger object per pgdId from a given trigger + has a matched leg with the same pdg ID. If requireAllMatched is True, + requires that each single trigger object has a match.''' + matched = False + legs = [diL.leg1(), diL.leg2()] + event.matchedPaths = set() + + for info in event.trigger_infos: + if not info.fired: + continue + + matchedIds = set() + allMatched = True + for to in info.objects: + if self.trigObjMatched(to, legs): + matchedIds.add(abs(to.pdgId())) + else: + allMatched = False + + if matchedIds == info.objIds: + if requireAllMatched and not allMatched: + matched = False + else: + matched = True + event.matchedPaths.add(info.name) + + return matched + + def trigObjMatched(self, to, legs, dR2Max=0.25): # dR2Max=0.089999 + '''Returns true if the trigger object is matched to one of the given + legs''' + eta = to.eta() + phi = to.phi() + pdgId = abs(to.pdgId()) + to.matched = False + for leg in legs: + # JAN - Single-ele trigger filter has pdg ID 0, to be understood + if pdgId == 0 or pdgId == abs(leg.pdgId()): + if deltaR2(eta, phi, leg.eta(), leg.phi()) < dR2Max: + to.matched = True + # leg.trigMatched = True + + return to.matched diff --git a/CMGTools/H2TauTau/python/proto/analyzers/DiTauHistograms.py b/CMGTools/H2TauTau/python/proto/analyzers/DiTauHistograms.py deleted file mode 100644 index 677c1fa1aee9..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/DiTauHistograms.py +++ /dev/null @@ -1,32 +0,0 @@ -from ROOT import TTree, TH1F, TH2F, TProfile, TLegend, gDirectory - -from CMGTools.RootTools.statistics.Histograms import Histograms - - -class DiTauHistograms(Histograms): - def __init__(self, name): - - self.h_pzeta = TH1F(name+'_h_pzeta', ';p_{#zeta} (GeV)', 60, -200,100) - self.h_vismass = TH1F(name+'_h_vismass', ';m_{vis} (GeV)', 50, 0, 200) - self.h_svfitmass = TH1F(name+'_h_svfitmass', ';m_{SVFit} (GeV)', 38, 0, 304) - self.h_mT = TH1F(name+'_h_mT', ';m_{T} (GeV)', 100,0,200) - self.h_dr1 = TH1F(name+'_h_dr1', ';#DeltaR', 1000,-2,8) - self.h_dr2 = TH1F(name+'_h_dr2', ';#DeltaR', 1000,-2,8) - - super(DiTauHistograms, self).__init__(name) - - def FillHistos(self, tree, cut='', nEvents=999999999): - print 'Filling histograms: ' + self.name - tree.Draw('tauMu.obj[0].pZeta()>>'+self.h_pzeta.GetName(),cut,'goff',nEvents) - tree.Draw('tauMu.obj[0].mass()>>'+self.h_vismass.GetName(),cut,'goff',nEvents) - tree.Draw('tauMu.obj[0].mTLeg2()>>'+self.h_mT.GetName(),cut,'goff',nEvents) - - def FillDiTau(self, diTau, weight=1): - self.h_pzeta.Fill( diTau.pZetaDisc(), weight) - self.h_vismass.Fill( diTau.mass(), weight) - self.h_svfitmass.Fill( diTau.massSVFit(), weight) - self.h_mT.Fill( diTau.mTLeg2(), weight) - self.h_dr1.Fill( diTau.leg1DeltaR, weight) - self.h_dr2.Fill( diTau.leg2DeltaR, weight) - - diff --git a/CMGTools/H2TauTau/python/proto/analyzers/GenErsatzAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/GenErsatzAnalyzer.py deleted file mode 100644 index ebdc4032291b..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/GenErsatzAnalyzer.py +++ /dev/null @@ -1,51 +0,0 @@ -from CMGTools.RootTools.analyzers.GenParticleAnalyzer import * -from PhysicsTools.HeppyCore.utils.deltar import matchObjectCollection -from CMGTools.RootTools.physicsobjects.genutils import * - -class Boson(GenParticle): - def __init__(self, boson): - super(Boson, self).__init__(boson) - self.leg1 = GenParticle(boson.daughter(0)) - self.leg2 = GenParticle(boson.daughter(1)) - - def __str__(self): - header = super(Boson, self).__str__() - return '\n'.join( [header, - '\t'+str(self.leg1), - '\t'+str(self.leg2)] ) - -class ZBoson(Boson): - pass - -class WBoson(Boson): - def __init__(self, boson): - super(WBoson, self).__init__(boson) - self.lep = self.leg1 - self.nu = self.leg2 - # in case of W, neutrino supposed to be on leg2 - assert( abs(self.leg1.pdgId()) not in [12,14,16]) - - -class GenErsatzAnalyzer( GenParticleAnalyzer ): - - def process(self, event): - # event.W = None - # event.Z = None - if not self.cfg_comp.isMC: - return True - result = super(GenErsatzAnalyzer, self).process(event) - - event.genZs = [ZBoson(part) for part in event.genParticles if part.status()==3 and part.pdgId()==23] - event.genWs = [WBoson(part) for part in event.genParticles if part.status()==3 and abs(part.pdgId())==24] - - if self.cfg_ana.verbose: - print 'W Bosons:' - for b in wbosons: - print b - print 'Z Bosons:' - for b in zbosons: - print b - -## filter(lambda x: x.status()==3 and x.pdgId()==23, event.genParticles) -## wbosons = filter(lambda x: x.status()==3 and abs(x.pdgId())==24, event.genParticles) -## print map(str, wbosons) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauEventSorter.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauEventSorter.py deleted file mode 100644 index f0a4809f6c5e..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauEventSorter.py +++ /dev/null @@ -1,144 +0,0 @@ -from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from PhysicsTools.HeppyCore.statistics.average import Average -from CMGTools.RootTools.statistics.Tree import Tree -from ROOT import TFile - -from CMGTools.H2TauTau.proto.analyzers.Regions import H2TauTauRegions -from CMGTools.H2TauTau.proto.analyzers.H2TauTauOutput import H2TauTauOutput as H2TauTauOutput -from CMGTools.H2TauTau.proto.analyzers.H2TauTauOutput import inclusiveRegionName -from CMGTools.H2TauTau.proto.analyzers.H2TauTauOutput import wholeMTRegionName -from PhysicsTools.Heppy.physicsobjects import GenParticle - - -import os, errno - -def mkdir_p(path): - try: - os.makedirs(path) - except OSError as exc: # Python >2.5 - if exc.errno == errno.EEXIST: - pass - else: raise - - -class H2TauTauEventSorter( Analyzer ): - '''Analyze the event content, and fills histograms for the signal - and control regions.''' - - def __init__(self, cfg_ana, cfg_comp, looperName): - super(H2TauTauEventSorter,self).__init__(cfg_ana, cfg_comp, looperName) - self.regions = H2TauTauRegions( self.cfg_ana ) - self.output = H2TauTauOutput( self.dirName, self.regions, - self.cfg_ana.leg1, - self.cfg_ana.leg2 ) - self.treeFile = TFile('/'.join([self.dirName, 'tree.root']), 'recreate') - self.tree = Tree('tree','flat ntuple') - self.tree.addVar('float', 'vismass') - self.tree.addVar('float', 'svfitmass') - self.tree.addVar('float', 'l1_pt') - self.tree.addVar('float', 'l1_eta') - self.tree.addVar('float', 'l2_pt') - self.tree.addVar('float', 'l2_eta') - self.tree.addVar('float', 'j1_pt') - self.tree.addVar('float', 'j1_eta') - self.tree.addVar('float', 'j2_pt') - self.tree.addVar('float', 'j2_eta') - self.tree.book() - - self.fakes = False - if hasattr(self.cfg_comp, 'fakes') and \ - self.cfg_comp.fakes is True : - self.fakes = True - # fakedir = self.dirName.replace('DYJets', 'DYJets_Fakes') - fakedir = '/'.join([self.looperName, 'Fakes', self.name]) - mkdir_p(fakedir) - self.outputFakes = H2TauTauOutput( fakedir, - self.regions, - self.cfg_ana.leg1, - self.cfg_ana.leg2 ) - - def declareHandles(self): - super(H2TauTauEventSorter, self).declareHandles() - - self.mchandles['genParticles'] = AutoHandle( 'genParticlesStatus3', - 'std::vector' ) - - self.embhandles['generatorWeight'] = AutoHandle( ('generator', 'weight'), - 'double') - - def beginLoop(self, setup): - super(H2TauTauEventSorter,self).beginLoop(setup) - self.counters.addCounter('Sorter') - self.counters.counter('Sorter').register('All events') - self.counters.counter('Sorter').register('tau iso') - self.counters.counter('Sorter').register('Matched = None or True') - self.averages.add('generatorWeight', Average('generatorWeight') ) - self.averages.add('eventWeight', Average('eventWeight') ) - - - def process(self, event): - self.readCollections( event.input ) - - event.generatorWeight = 1 - if self.cfg_comp.isEmbed: - event.generatorWeight = self.embhandles['generatorWeight'].product()[0] - event.eventWeight *= event.generatorWeight - self.averages['generatorWeight'].add(event.generatorWeight) - - # full weight - self.averages['eventWeight'].add(event.eventWeight) - - matched = None - if self.fakes: - genParticles = self.mchandles['genParticles'].product() - event.genParticles = map( GenParticle, genParticles) - leg1DeltaR, leg2DeltaR = event.diLepton.match( event.genParticles ) - if leg1DeltaR>-1 and leg1DeltaR < 0.1 and \ - leg2DeltaR>-1 and leg2DeltaR < 0.1: - matched = True - else: - matched = False - - self.tree.s.vismass = event.diLepton.mass() - self.tree.s.svfitmass = event.diLepton.massSVFit() - self.tree.s.l1_pt = event.diLepton.leg1().pt() - self.tree.s.l1_eta = event.diLepton.leg1().eta() - self.tree.s.l2_pt = event.diLepton.leg2().pt() - self.tree.s.l2_eta = event.diLepton.leg2().eta() - if len(event.cleanJets) > 0: - self.tree.s.j1_pt = event.cleanJets[0].pt() - self.tree.s.j1_eta = event.cleanJets[0].eta() - if len(event.cleanJets) > 1: - self.tree.s.j2_pt = event.cleanJets[1].pt() - self.tree.s.j2_eta = event.cleanJets[1].eta() - self.tree.fill() - - regionName = self.regions.test( event ) - # print regionName - self.counters.counter('Sorter').inc('All events') - -# if event.diLepton.leg1().tauID('byLooseCombinedIsolationDeltaBetaCorr') is True: -# self.counters.counter('Sorter').inc('tau iso') -# else: -# print event.diLepton.leg1().tauID('byLooseCombinedIsolationDeltaBetaCorr') - - - if matched is None or matched is True: - self.output.Fill( event, regionName ) - self.counters.counter('Sorter').inc('Matched = None or True') - elif matched is False: - self.outputFakes.Fill( event, regionName ) - else: - raise ValueError('should not happen!') - return True - - - def write(self): - '''Write all histograms to their root files''' - super(H2TauTauEventSorter, self).write() - self.output.Write() - if self.fakes: - self.outputFakes.Write() - self.treeFile.Write() - diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauHistogramList.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauHistogramList.py deleted file mode 100644 index f46138ac549f..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauHistogramList.py +++ /dev/null @@ -1,185 +0,0 @@ -import os - -from ROOT import TFile - -from CMGTools.H2TauTau.proto.analyzers.DiTauHistograms import DiTauHistograms -from CMGTools.H2TauTau.proto.analyzers.LegHistograms import TauHistograms, MuHistograms, EleHistograms -from CMGTools.H2TauTau.proto.analyzers.VertexHistograms import VertexHistograms -from CMGTools.H2TauTau.proto.analyzers.JetHistograms import JetHistograms - -class H2TauTauHistogramList( object ): - def __init__(self,name): - self.name = name - fileName = self.name + '.root' - index = 0 - while os.path.isfile( fileName ) is True: - index += 1 - fileName = self.name + '_%d.root' % index - - self.file = TFile( fileName, 'recreate') - self.hists = [] - - - def createGenericHistograms(self): - - self.diTau = DiTauHistograms( 'diTau' ) - self.vertex = VertexHistograms( 'vertex') - self.cleanJets = JetHistograms( 'cleanJets') - self.jets = JetHistograms( 'jets') - self.jetsVBF = JetHistograms( 'jetsVBF') - self.leadJet = JetHistograms( 'leadJet') - - self.hists.append( self.diTau ) - self.hists.append( self.vertex ) - self.hists.append( self.cleanJets ) - self.hists.append( self.jets ) - self.hists.append( self.jetsVBF ) - self.hists.append( self.leadJet ) - - - def fillGenericHistograms(self, event, weight): - self.diTau.FillDiTau( event.diLepton, weight ) - self.vertex.FillVertices( event.vertices, weight ) - self.cleanJets.Fill( event.cleanJets, weight ) - self.jets.Fill( event.jets, weight ) - if len( event.cleanJets )>1: - self.jetsVBF.Fill( event.cleanJets[:2], weight ) - if len( event.cleanJets )>0: - self.leadJet.Fill( [event.cleanJets[0]], weight ) - - - def createTauHistograms(self, legName): - if legName != 'tau_2': - self.tau = TauHistograms( 'tau',legName) - self.tau0 = TauHistograms( 'tau0',legName) - self.tau1 = TauHistograms( 'tau1',legName) - self.tau10 = TauHistograms( 'tau10',legName) - self.hists.append( self.tau ) - self.hists.append( self.tau0 ) - self.hists.append( self.tau1 ) - self.hists.append( self.tau10 ) - else: - self.tau2 = TauHistograms( 'tau',legName) - self.tau2_0 = TauHistograms( 'tau0',legName) - self.tau2_1 = TauHistograms( 'tau1',legName) - self.tau2_10 = TauHistograms( 'tau10',legName) - self.hists.append( self.tau2 ) - self.hists.append( self.tau2_0 ) - self.hists.append( self.tau2_1 ) - self.hists.append( self.tau2_10 ) - - - - def fillTauHistograms(self, tau, weight, leg='leg1'): - dec = tau.decayMode() - # import pdb; pdb.set_trace() - - htau = self.tau - htau0 = self.tau0 - htau1 = self.tau1 - htau10 = self.tau10 - if leg == 'leg2': - htau = self.tau2 - htau0 = self.tau2_0 - htau1 = self.tau2_1 - htau10 = self.tau2_10 - - htau.FillTau( tau, weight ) - if dec == 0: - htau0.FillTau( tau, weight ) - elif dec == 1: - htau1.FillTau( tau, weight ) - elif dec == 10: - htau10.FillTau( tau, weight ) - - - def createMuHistograms(self, legName): - self.mu = MuHistograms( 'mu','leg2') - self.hists.append( self.mu ) - - - def fillMuHistograms(self, mu, weight): - self.mu.FillMu( mu, weight ) - - - def createEleHistograms(self, legName): - self.ele = EleHistograms( 'ele','leg2') - self.hists.append( self.ele ) - - - def fillEleHistograms(self, ele, weight): - self.ele.FillEle( ele, weight ) - - - def FormatHistos(self, style): - for hist in self.hists: - hist.FormatHistos( style ) - - - def Write(self): - for hist in self.hists: - hist.Write( self.file ) - - - def __str__(self): - print 'Histograms', name - -#COLIN this design looks a bit like C++. Could I do something more clever in python? - -class TauMuHistogramList(H2TauTauHistogramList): - def __init__(self, name, leg1Name, leg2Name ): - super(TauMuHistogramList, self).__init__(name) - self.createGenericHistograms() - self.createTauHistograms('leg1') - self.createMuHistograms('leg2') - - def Fill(self, event, weight): - self.fillGenericHistograms( event, weight ) - self.fillTauHistograms( event.diLepton.leg1(), weight ) - self.fillMuHistograms( event.diLepton.leg2(), weight ) - - - -class TauEleHistogramList(H2TauTauHistogramList): - def __init__(self, name, leg1Name, leg2Name ): - super(TauEleHistogramList, self).__init__(name) - self.createGenericHistograms() - self.createTauHistograms('leg1') - self.createEleHistograms('leg2') - - def Fill(self, event, weight): - self.fillGenericHistograms( event, weight ) - self.fillTauHistograms( event.diLepton.leg1(), weight ) - self.fillEleHistograms( event.diLepton.leg2(), weight ) - - - -class MuEleHistogramList(H2TauTauHistogramList): - def __init__(self, name, leg1Name, leg2Name ): - super(MuEleHistogramList, self).__init__(name) - self.createGenericHistograms() - self.createMuHistograms('leg1') - self.createEleHistograms('leg2') - - def Fill(self, event, weight): - self.fillGenericHistograms( event, weight ) - self.fillMuHistograms( event.diLepton.leg1(), weight ) - self.fillEleHistograms( event.diLepton.leg2(), weight ) - - -class TauTauHistogramList(H2TauTauHistogramList): - def __init__(self, name, leg1Name, leg2Name): - super(TauTauHistogramList, self).__init__(name) - self.createGenericHistograms() - # import pdb; pdb.set_trace() - self.createTauHistograms(leg1Name) - self.createTauHistograms(leg2Name) - - def Fill(self, event, weight): - self.fillGenericHistograms( event, weight ) - self.fillTauHistograms( event.diLepton.leg1(), weight ) - self.fillTauHistograms( event.diLepton.leg2(), weight, 'leg2') - - - - diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauOutput.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauOutput.py deleted file mode 100644 index b1e0bab6a08e..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauOutput.py +++ /dev/null @@ -1,72 +0,0 @@ -import os -from CMGTools.H2TauTau.proto.analyzers.H2TauTauHistogramList import TauMuHistogramList, TauEleHistogramList, MuEleHistogramList, TauTauHistogramList -from CMGTools.RootTools.fwlite.Output import Output - -def inclusiveRegionName(name): - '''Inclusive region name (wrt to jet categories)''' - newName = name.split('_')[0:2] - newName.append('Inclusive') - return '_'.join( newName ) - - -def wholeMTRegionName(name): - newName = name.split('_') - newName[0] = 'AllMT' - return '_'.join( newName ) - - -class H2TauTauOutput(Output): - - def __init__(self, name, regions, leg1Name, leg2Name): - self.name = name - super(H2TauTauOutput, self).__init__(name, 'w') - - # determine which type of histogram list we want to use, - # depending on the specified di-tau channel - # leg1Name = 'tau' - # leg2Name = 'mu' - classObject = None - l1Name = leg1Name.split('_')[0] - l2Name = leg2Name.split('_')[0] - - if l1Name == 'tau' and l2Name == 'mu': - ClassObject = TauMuHistogramList - elif l1Name == 'tau' and l2Name == 'ele': - ClassObject = TauEleHistogramList - elif l1Name == 'mu' and l2Name == 'ele': - ClassObject = MuEleHistogramList - elif l1Name == 'tau' and l2Name == 'tau': - ClassObject = TauTauHistogramList - - - inclusiveRegions = set() - for regionName in regions.regionNames(): - self.histoLists[ regionName ] = ClassObject( '/'.join([self.name, regionName]), leg1Name, leg2Name ) - incRegName = inclusiveRegionName( regionName ) - inclusiveRegions.add( incRegName ) - for regionName in inclusiveRegions: - self.histoLists[ regionName ] = ClassObject( '/'.join([self.name, regionName ]), leg1Name, leg2Name ) - wholeMTRegions = set() - for regionName in self.histoLists.keys(): - wholeMTRegName = wholeMTRegionName( regionName ) - wholeMTRegions.add( wholeMTRegName ) - for regionName in wholeMTRegions: - self.histoLists[ regionName ] = ClassObject( '/'.join([self.name, regionName ]), leg1Name, leg2Name ) - - - def Fill(self, event, regionName ): - histoList = self.histoLists[regionName] - histoList.Fill( event, event.eventWeight ) - # inclusive analysis - incRegionName = inclusiveRegionName( regionName ) - histoList = self.histoLists[incRegionName] - histoList.Fill( event, event.eventWeight ) - # whole MT - wholeMTRegName = wholeMTRegionName( regionName ) - histoList = self.histoLists[wholeMTRegName] - histoList.Fill( event, event.eventWeight ) - # whole MT, inclusive - wholeMTRegNameInclusive = wholeMTRegionName( incRegionName ) - histoList = self.histoLists[wholeMTRegNameInclusive] - histoList.Fill( event, event.eventWeight ) - diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauSyncTree.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauSyncTree.py deleted file mode 100644 index 2ece4fe61031..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauSyncTree.py +++ /dev/null @@ -1,281 +0,0 @@ -from CMGTools.RootTools.analyzers.TreeAnalyzerNumpy import TreeAnalyzerNumpy -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from CMGTools.H2TauTau.proto.analyzers.ntuple import * - - -class H2TauTauSyncTree( TreeAnalyzerNumpy ): - '''Tree producer for the H->tau tau analysis. - - Some of the functions in this class should be made available to everybody.''' - - def declareVariables(self): - - tr = self.tree - - var( tr, 'run', int) - var( tr, 'lumi', int) - var( tr, 'evt', int) - - var( tr, 'npv', int) - var( tr, 'npu', int) - var( tr, 'rho') - - var( tr, 'mcweight') - var( tr, 'puweight') - var( tr, 'effweight') - var( tr, 'weight') - var( tr, 'embeddedWeight') - - var( tr, 'm_sv') - var( tr, 'mvis') - var( tr, 'm_sv_Up') - var( tr, 'm_sv_Down') - - var( tr, 'pt_1') - var( tr, 'phi_1') - var( tr, 'eta_1') - var( tr, 'm_1') - var( tr, 'q_1') - var( tr, 'iso_1') - var( tr, 'mva_1') - var( tr, 'd0_1') - var( tr, 'dZ_1') - var( tr, 'passid_1', int) - var( tr, 'passiso_1', int) - var( tr, 'mt_1') - var( tr, 'trigweight_1') - var( tr, 'idweight_1') - var( tr, 'isoweight_1') - - - var( tr, 'pt_2') - var( tr, 'phi_2') - var( tr, 'eta_2') - var( tr, 'm_2') - var( tr, 'q_2') - var( tr, 'iso_2') - var( tr, 'mva_2') - var( tr, 'passid_2', int) - var( tr, 'passiso_2', int) - var( tr, 'mt_2') - var( tr, 'trigweight_2') - var( tr, 'idweight_2') - var( tr, 'isoweight_2') - - var( tr, 'met') - var( tr, 'metphi') - var( tr, 'mvamet') - var( tr, 'mvametphi') - var( tr, 'pzetavis') - var( tr, 'pzetamiss') - - var( tr, 'metcov00') - var( tr, 'metcov01') - var( tr, 'metcov10') - var( tr, 'metcov11') - - var( tr, 'mvacov00') - var( tr, 'mvacov01') - var( tr, 'mvacov10') - var( tr, 'mvacov11') - - var( tr, 'jpt_1') - var( tr, 'jeta_1') - var( tr, 'jphi_1') - var( tr, 'jptraw_1') - var( tr, 'jptunc_1') - var( tr, 'jmva_1') - var( tr, 'jpass_1', int) - - var( tr, 'jpt_2') - var( tr, 'jeta_2') - var( tr, 'jphi_2') - var( tr, 'jptraw_2') - var( tr, 'jptunc_2') - var( tr, 'jmva_2') - var( tr, 'jpass_2', int) - - var( tr, 'bpt') - var( tr, 'beta') - var( tr, 'bphi') - - var( tr, 'mjj') - var( tr, 'jdeta') - var( tr, 'njetingap', int) - var( tr, 'mva') - - var( tr, 'jdphi') - var( tr, 'dijetpt') - var( tr, 'dijetphi') - var( tr, 'hdijetphi') - var( tr, 'visjeteta') - var( tr, 'ptvis') - - var( tr, 'nbtag', int) - var( tr, 'njets', int) - var( tr, 'njetspt20', int) - - - def declareHandles(self): - super(H2TauTauSyncTree, self).declareHandles() - self.handles['pfmetraw'] = AutoHandle( - 'slimmedMETs', - 'std::vector' - ) - # self.handles['pfmetsig'] = AutoHandle( - # 'pfMetSignificance', - # 'cmg::METSignificance' - # ) - - - def process(self, event): - self.readCollections( event.input ) - - # not event.thirdLeptonVeto or \ - # not event.leptonAccept: - if not event.isSignal or \ - (hasattr(event, 'thirdLeptonVeto') and not event.thirdLeptonVeto ) or \ - (hasattr(event, 'leptonAccept') and not event.leptonAccept ): - return False - - if hasattr(self.cfg_ana, 'isFake') and \ - event.isFake != self.cfg_ana.isFake: - return False - - tr = self.tree - tr.reset() - - fill( tr, 'run', event.run) - fill( tr, 'lumi',event.lumi) - fill( tr, 'evt', event.eventId) - - fill( tr, 'npv', len(event.goodVertices)) - nPU = -1 - if hasattr(event, 'pileUpInfo'): - nPU = event.pileUpInfo[1].nTrueInteractions() - fill( tr, 'npu', nPU) - fill( tr, 'rho', event.rho) - - fill( tr, 'mcweight', event.eventWeight) - fill( tr, 'puweight', event.vertexWeight) #OK - # warning: phil's leg definition is different from ours! - # for him, leg1 = muon, leg2 = tau - leg1 = event.diLepton.leg2() - leg2 = event.diLepton.leg1() - fill( tr, 'effweight', leg1.weight*leg2.weight) - fill( tr, 'weight', event.eventWeight ) - if hasattr(event, 'embedWeight'): - fill( tr, 'embeddedWeight', event.embedWeight ) - - fill( tr, 'mvis', event.diLepton.mass() ) - fill( tr, 'm_sv', event.diLepton.svfitMass() ) - fill( tr, 'm_sv_Up', -1) #? tau up 3% - fill( tr, 'm_sv_Down', -1) #? tau down 3% - - fill( tr, 'pt_1', leg1.pt()) - fill( tr, 'phi_1', leg1.phi()) - fill( tr, 'eta_1', leg1.eta()) - fill( tr, 'm_1', leg1.mass()) - fill( tr, 'q_1', leg1.charge()) - fill( tr, 'iso_1', leg1.relIsoAllChargedDB05()) - fill( tr, 'mva_1', leg1.mvaId()) # should be filled for e-tau: mva id - fill( tr, 'd0_1', leg1.dxy() ) - fill( tr, 'dZ_1', leg1.dz()) - fill( tr, 'passid_1', leg1.tightId() ) - fill( tr, 'passiso_1', leg1.relIsoAllChargedDB05()<0.1 ) - fill( tr, 'mt_1', event.diLepton.mTLeg2()) - fill( tr, 'trigweight_1', leg1.triggerWeight) - fill( tr, 'idweight_1', leg1.idWeight) - fill( tr, 'isoweight_1', leg1.isoWeight) - - fill( tr, 'pt_2', leg2.pt()) - fill( tr, 'phi_2', leg2.phi()) - fill( tr, 'eta_2', leg2.eta()) - fill( tr, 'm_2', leg2.mass()) - fill( tr, 'q_2', leg2.charge()) - fill( tr, 'iso_2', leg2.tauID("byRawIsoMVA")) - fill( tr, 'mva_2', leg2.tauID("againstElectronMVA")) # we probably need the mva output here. I guess this is a working point - fill( tr, 'passid_2', 1) - fill( tr, 'passiso_2', 1) - fill( tr, 'mt_2', event.diLepton.mTLeg1()) - fill( tr, 'trigweight_2', leg2.triggerWeight) - fill( tr, 'idweight_2', leg2.idWeight) - fill( tr, 'isoweight_2', leg2.isoWeight) - - met = self.handles['pfmetraw'].product()[0] - fill( tr, 'met', met.pt()) # raw - fill( tr, 'metphi', met.phi()) # raw - fill( tr, 'mvamet', event.diLepton.met().pt()) - fill( tr, 'mvametphi', event.diLepton.met().phi()) - fill( tr, 'pzetavis', event.diLepton.pZetaVis()) - fill( tr, 'pzetamiss', event.diLepton.pZetaMET()) - - #metsig = self.handles['pfmetsig'].product().significance() - metsig = event.diLepton.metSig().significance() - # if hasattr(event.diLepton, 'mvaMetSig'): - # metsig = event.diLepton.mvaMetSig.significance() - fill( tr, 'metcov00', metsig(0,0)) - fill( tr, 'metcov01', metsig(0,1)) - fill( tr, 'metcov10', metsig(1,0)) - fill( tr, 'metcov11', metsig(1,1)) - - if hasattr( event.diLepton, 'mvaMetSig'): - mvametsig = event.diLepton.mvaMetSig.significance() - fill( tr, 'mvacov00', mvametsig(0,0)) - fill( tr, 'mvacov01', mvametsig(0,1)) - fill( tr, 'mvacov10', mvametsig(1,0)) - fill( tr, 'mvacov11', mvametsig(1,1)) - nJets = len(event.cleanJets30) - nJetsPt20 = len(event.cleanJets) - jets = event.cleanJets30 - if self.cfg_ana.pt20: - jets = event.cleanJets - if nJets>=1: - j1 = jets[0] - fill( tr, 'jpt_1', j1.pt()) - fill( tr, 'jeta_1', j1.eta()) - fill( tr, 'jphi_1', j1.phi()) - fill( tr, 'jptraw_1', j1.pt()*j1.rawFactor()) - fill( tr, 'jptunc_1', j1.uncOnFourVectorScale()) - fill( tr, 'jmva_1', j1.puMva("full")) - # 2 is the loose working point - fill( tr, 'jpass_1', j1.passPuJetId("full", 2)) - - if nJets>=2: - j2 = jets[1] - fill( tr, 'jpt_2', j2.pt()) - fill( tr, 'jeta_2', j2.eta()) - fill( tr, 'jphi_2', j2.phi()) - fill( tr, 'jptraw_2', j2.pt()*j2.rawFactor()) - fill( tr, 'jptunc_2', j2.uncOnFourVectorScale()) - fill( tr, 'jmva_2', j2.puMva("full")) - # 2 is the loose working point - fill( tr, 'jpass_2', j2.passPuJetId("full", 2)) - - if len(event.cleanBJets)>0: - fill( tr, 'bpt', event.cleanBJets[0].pt()) - fill( tr, 'beta', event.cleanBJets[0].eta()) - fill( tr, 'bphi', event.cleanBJets[0].phi()) - - if hasattr( event, 'vbf'): - vbf = event.vbf - # import pdb; pdb.set_trace() - fill( tr, 'mjj', vbf.mjj) - fill( tr, 'jdeta', abs(vbf.deta)) - fill( tr, 'njetingap', len(vbf.centralJets)) - fill( tr, 'mva', vbf.mva) - - # add the following variables to the vbf object in VBFAnalyzer - fill( tr, 'jdphi', abs(vbf.dphi)) - fill( tr, 'dijetpt', vbf.dijetpt) - fill( tr, 'dijetphi', vbf.dijetphi) - fill( tr, 'hdijetphi', abs(vbf.dphidijethiggs)) # higgs p = p1 + p2 + met - fill( tr, 'visjeteta', vbf.visjeteta) - fill( tr, 'ptvis', vbf.ptvis) - - fill( tr, 'nbtag', len(event.cleanBJets)) - fill( tr, 'njets', nJets) - fill( tr, 'njetspt20', nJetsPt20) - - self.tree.tree.Fill() - return True diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauSyncTreeTauTau.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauSyncTreeTauTau.py deleted file mode 100644 index a0dbe1972bc9..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauSyncTreeTauTau.py +++ /dev/null @@ -1,446 +0,0 @@ -from CMGTools.RootTools.analyzers.TreeAnalyzerNumpy import TreeAnalyzerNumpy -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from CMGTools.H2TauTau.proto.analyzers.ntuple import * - -class H2TauTauSyncTreeTauTau( TreeAnalyzerNumpy ): - '''Tree producer for the H->tau tau analysis. - - Some of the functions in this class should be made available to everybody.''' - - def declareVariables(self): - - tr = self.tree - var( tr, 'NUP' , int) - - var( tr, 'run' , int) - var( tr, 'lumi', int) - var( tr, 'evt' , int) - - var( tr, 'npv', int) - var( tr, 'npu', int) - var( tr, 'rho') - - var( tr, 'mcweight') - var( tr, 'puweight') - var( tr, 'effweight') - var( tr, 'decaymodeweight') - var( tr, 'weight') - - var( tr, 'm_sv') - var( tr, 'mvis') - var( tr, 'm_sv_Up') - var( tr, 'm_sv_Down') - - var( tr, 'gen_pt_1') - var( tr, 'pt_1') - var( tr, 'phi_1') - var( tr, 'eta_1') - var( tr, 'm_1') - var( tr, 'q_1') - var( tr, 'iso_1') - #var( tr, 'mva_1') - var( tr, 'antiele_1') - var( tr, 'd0_1') - var( tr, 'dZ_1') - var( tr, 'passid_1', int) - var( tr, 'passiso_1', int) - var( tr, 'mt_1') - var( tr, 'trigweight_1') - var( tr, 'idweight_1') - var( tr, 'isoweight_1') - var( tr, 'byCombinedIsolationDeltaBetaCorrRaw3Hits_1') - var( tr, 'againstElectronMVA3raw_1') - var( tr, 'againstElectronMVA3category_1') - var( tr, 'byIsolationMVA2raw_1') - var( tr, 'againstMuonLoose_1') - var( tr, 'againstMuonLoose2_1') - var( tr, 'againstMuonMedium2_1') - var( tr, 'againstMuonTight2_1') - var( tr, 'againstElectronLooseMVA3_1') - var( tr, 'againstElectronLoose_1') - var( tr, 'againstElectronNewLooseMVA3_1') - - - var( tr, 'gen_pt_2') - var( tr, 'pt_2') - var( tr, 'phi_2') - var( tr, 'eta_2') - var( tr, 'm_2') - var( tr, 'q_2') - var( tr, 'iso_2') - #var( tr, 'mva_2') - var( tr, 'antiele_2') - var( tr, 'passid_2', int) - var( tr, 'passiso_2', int) - var( tr, 'mt_2') - var( tr, 'trigweight_2') - var( tr, 'idweight_2') - var( tr, 'isoweight_2') - var( tr, 'byCombinedIsolationDeltaBetaCorrRaw3Hits_2') - var( tr, 'againstElectronMVA3raw_2') - var( tr, 'againstElectronMVA3category_2') - var( tr, 'byIsolationMVA2raw_2') - var( tr, 'againstMuonLoose2_2') - var( tr, 'againstMuonLoose_2') - var( tr, 'againstMuonMedium2_2') - var( tr, 'againstMuonTight2_2') - var( tr, 'againstElectronLooseMVA3_2') - var( tr, 'againstElectronLoose_2') - var( tr, 'againstElectronNewLooseMVA3_2') - - var( tr, 'met') - var( tr, 'metphi') - var( tr, 'mvamet') - var( tr, 'mvametphi') - var( tr, 'pzetavis') - var( tr, 'pzetamiss') - - var( tr, 'metcov00') - var( tr, 'metcov01') - var( tr, 'metcov10') - var( tr, 'metcov11') - - var( tr, 'mvacov00') - var( tr, 'mvacov01') - var( tr, 'mvacov10') - var( tr, 'mvacov11') - - var( tr, 'jpt_1') - var( tr, 'jeta_1') - var( tr, 'jphi_1') - var( tr, 'jptraw_1') - var( tr, 'jptunc_1') - var( tr, 'jmva_1') - var( tr, 'jpass_1', int) - - var( tr, 'jpt_2') - var( tr, 'jeta_2') - var( tr, 'jphi_2') - var( tr, 'jptraw_2') - var( tr, 'jptunc_2') - var( tr, 'jmva_2') - var( tr, 'jpass_2', int) - - var( tr, 'bpt') - var( tr, 'beta') - var( tr, 'bphi') - - var( tr, 'mjj') - var( tr, 'jdeta') - var( tr, 'njetingap', int) - var( tr, 'mva') - - var( tr, 'jdphi') - var( tr, 'dijetpt') - var( tr, 'dijetphi') - var( tr, 'hdijetphi') - var( tr, 'visjeteta') - var( tr, 'ptvis') - - var( tr, 'nbtag', int) - var( tr, 'njets', int) - var( tr, 'njetspt20', int) - - var( tr, 'l1TrigMatched_diTau', int) - var( tr, 'l2TrigMatched_diTau', int) - - var( tr, 'l1TrigMatched_diTauJet' , int) - var( tr, 'l2TrigMatched_diTauJet' , int) - var( tr, 'jetTrigMatched_diTauJet', int) - - ####### TRIGGER WEIGHTS - var( tr, 'triggerWeight_diTauJet' ) - var( tr, 'triggerEffMC_diTauJet' ) - var( tr, 'triggerEffData_diTauJet') - - var( tr, 'triggerWeight_diTau' ) - var( tr, 'triggerEffMC_diTau' ) - var( tr, 'triggerEffData_diTau') - - ####### LEPTON VETO - var( tr, 'muon1Pt' ) - var( tr, 'electron1Pt') - - ####### EMBEDDED WEIGHTS - var( tr, 'genfilter') - var( tr, 'tauspin' ) - var( tr, 'zmumusel' ) - var( tr, 'muradcorr') - var( tr, 'genTau2PtVsGenTau1Pt' ) - var( tr, 'genTau2EtaVsGenTau1Eta' ) - var( tr, 'genDiTauMassVsGenDiTauPt') - - - - def declareHandles(self): - super(H2TauTauSyncTreeTauTau, self).declareHandles() - self.handles['pfmetraw'] = AutoHandle( - 'cmgPFMETRaw', - 'std::vector' - ) - self.handles['pfmetsig'] = AutoHandle( - 'pfMetSignificance', - 'cmg::METSignificance' - ) - - def process(self, event): - self.readCollections( event.input ) - - tr = self.tree - tr.reset() - - #import pdb ; pdb.set_trace() - if hasattr(event,"run"): - fill( tr,'run', event.run) - if hasattr(event,"lumi"): - fill( tr,'lumi', event.lumi) - if hasattr(event,"eventId"): - fill( tr,'evt', event.eventId) - - fill( tr, 'npv', len(event.goodVertices)) - nPU = -1 - if hasattr(event, 'pileUpInfo'): - nPU = event.pileUpInfo[1].nTrueInteractions() - fill( tr, 'npu', nPU) - fill( tr, 'rho', event.rho) - fill( tr, 'NUP', event.NUP ) - - #fill( tr, 'mcweight', event.eventWeight) - #fill( tr, 'puweight', event.vertexWeight) #OK - # no need to invert in tau tau case! - - ### taus pt hierarchy can be swapped after TauES correction - if event.diLepton.leg1().pt() >= event.diLepton.leg2().pt() : - leg1 = event.diLepton.leg1() - leg2 = event.diLepton.leg2() - fill( tr, 'mt_1', event.diLepton.mTLeg1()) - fill( tr, 'mt_2', event.diLepton.mTLeg2()) - if event.diLepton.leg1().pt() < event.diLepton.leg2().pt() : - leg2 = event.diLepton.leg1() - leg1 = event.diLepton.leg2() - fill( tr, 'mt_2', event.diLepton.mTLeg1()) - fill( tr, 'mt_1', event.diLepton.mTLeg2()) - - #fill( tr, 'effweight', leg1.weight*leg2.weight) - fill( tr, 'weight', event.eventWeight ) - - fill( tr, 'mvis', event.diLepton.mass() ) - fill( tr, 'm_sv', event.diLepton.massSVFit() ) - fill( tr, 'm_sv_Up' , -1) #? tau up 3% - fill( tr, 'm_sv_Down', -1) #? tau down 3% - - fill( tr, 'gen_pt_1', leg1.physObj.genJetp4().pt()) - fill( tr, 'pt_1', leg1.pt()) - fill( tr, 'phi_1', leg1.phi()) - fill( tr, 'eta_1', leg1.eta()) - fill( tr, 'm_1', leg1.mass()) - fill( tr, 'q_1', leg1.charge()) - fill( tr, 'iso_1', leg1.tauID("byRawIsoMVA")) - fill( tr, 'antiele_1', leg2.tauID("againstElectronMVA")) # we probably need the mva output here. I guess this is a working point - #fill( tr, 'mva_1', leg1.tauID("againstElectronMVA")) # we probably need the mva output here. I guess this is a working point - fill( tr, 'passid_1', 1) - fill( tr, 'passiso_1', 1) - fill( tr, 'trigweight_1', leg1.triggerWeight) - fill( tr, 'idweight_1' , leg1.idWeight) - fill( tr, 'isoweight_1' , leg1.isoWeight) - fill( tr, 'byCombinedIsolationDeltaBetaCorrRaw3Hits_1', leg1.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits")) - fill( tr, 'againstElectronMVA3raw_1' , leg1.tauID("againstElectronMVA3raw")) - fill( tr, 'againstElectronMVA3category_1', leg1.tauID("againstElectronMVA3category")) - fill( tr, 'byIsolationMVA2raw_1' , leg1.tauID("byIsolationMVA2raw")) - fill( tr, 'againstMuonLoose2_1' , leg1.tauID("againstMuonLoose2")) - fill( tr, 'againstMuonLoose_1' , leg1.tauID("againstMuonLoose")) - fill( tr, 'againstMuonMedium2_1' , leg1.tauID("againstMuonMedium2")) - fill( tr, 'againstMuonTight2_1' , leg1.tauID("againstMuonTight2")) - fill( tr, 'againstElectronLooseMVA3_1' , leg1.tauID("againstElectronLooseMVA3")) - fill( tr, 'againstElectronLoose_1' , leg1.tauID("againstElectronLoose")) - fill( tr, 'againstElectronNewLooseMVA3_1', leg1.NewLooseAntiEleMVA3) - - fill( tr, 'gen_pt_2' , leg2.physObj.genJetp4().pt()) - fill( tr, 'pt_2' , leg2.pt()) - fill( tr, 'phi_2' , leg2.phi()) - fill( tr, 'eta_2' , leg2.eta()) - fill( tr, 'm_2' , leg2.mass()) - fill( tr, 'q_2' , leg2.charge()) - fill( tr, 'iso_2' , leg2.tauID("byRawIsoMVA")) - fill( tr, 'antiele_2', leg2.tauID("againstElectronMVA")) # we probably need the mva output here. I guess this is a working point - fill( tr, 'passid_2' , 1) - fill( tr, 'passiso_2', 1) - fill( tr, 'trigweight_2', leg2.triggerWeight) - fill( tr, 'idweight_2' , leg2.idWeight) - fill( tr, 'isoweight_2' , leg2.isoWeight) - fill( tr, 'byCombinedIsolationDeltaBetaCorrRaw3Hits_2', leg2.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits")) - fill( tr, 'againstElectronMVA3raw_2' , leg2.tauID("againstElectronMVA3raw")) - fill( tr, 'againstElectronMVA3category_2', leg2.tauID("againstElectronMVA3category")) - fill( tr, 'byIsolationMVA2raw_2' , leg2.tauID("byIsolationMVA2raw")) - fill( tr, 'againstMuonLoose2_2' , leg2.tauID("againstMuonLoose2")) - fill( tr, 'againstMuonLoose_2' , leg2.tauID("againstMuonLoose")) - fill( tr, 'againstMuonMedium2_2' , leg2.tauID("againstMuonMedium2")) - fill( tr, 'againstMuonTight2_2' , leg2.tauID("againstMuonTight2")) - fill( tr, 'againstElectronLooseMVA3_2' , leg2.tauID("againstElectronLooseMVA3")) - fill( tr, 'againstElectronLoose_2' , leg2.tauID("againstElectronLoose")) - fill( tr, 'againstElectronNewLooseMVA3_2', leg2.NewLooseAntiEleMVA3) - - met = self.handles['pfmetraw'].product()[0] - fill( tr, 'met', met.pt()) # raw - fill( tr, 'metphi', met.phi()) # raw - fill( tr, 'mvamet', event.diLepton.met().pt()) - fill( tr, 'mvametphi', event.diLepton.met().phi()) - fill( tr, 'pzetavis', event.diLepton.pZetaVis()) - fill( tr, 'pzetamiss', event.diLepton.pZetaMET()) - - fill( tr, 'mvacov00', event.diLepton.metSig().significance()(0,0)) - fill( tr, 'mvacov01', event.diLepton.metSig().significance()(0,1)) - fill( tr, 'mvacov10', event.diLepton.metSig().significance()(1,0)) - fill( tr, 'mvacov11', event.diLepton.metSig().significance()(1,1)) - - fill( tr, 'metcov00', event.metsig.significance()(0,0)) - fill( tr, 'metcov01', event.metsig.significance()(0,1)) - fill( tr, 'metcov10', event.metsig.significance()(1,0)) - fill( tr, 'metcov11', event.metsig.significance()(1,1)) - -# metsig = self.handles['pfmetsig'].product().significance() -# fill( tr, 'metcov00', metsig(0,0)) -# fill( tr, 'metcov01', metsig(0,1)) -# fill( tr, 'metcov10', metsig(1,0)) -# fill( tr, 'metcov11', metsig(1,1)) -# -# -# mvametsig = self.handles['recoilcorrectedmvamet'].product().significance() -# fill( tr, 'mvacov00', mvametsig(0,0)) -# fill( tr, 'mvacov01', mvametsig(0,1)) -# fill( tr, 'mvacov10', mvametsig(1,0)) -# fill( tr, 'mvacov11', mvametsig(1,1)) - -# if hasattr( event.diLepton, 'mvaMetSig'): -# mvametsig = event.diLepton.mvaMetSig.significance() -# fill( tr, 'mvacov00', mvametsig(0,0)) -# fill( tr, 'mvacov01', mvametsig(0,1)) -# fill( tr, 'mvacov10', mvametsig(1,0)) -# fill( tr, 'mvacov11', mvametsig(1,1)) - - nJets = len(event.cleanJets30) - nJetsPt20 = len(event.cleanJets) - jets = event.cleanJets30 - if self.cfg_ana.pt20: - jets = event.cleanJets - if nJets>=1: - j1 = jets[0] - fill( tr, 'jpt_1' , j1.pt()) - fill( tr, 'jeta_1' , j1.eta()) - fill( tr, 'jphi_1' , j1.phi()) - fill( tr, 'jptraw_1', j1.pt()*j1.rawFactor()) - fill( tr, 'jptunc_1', j1.uncOnFourVectorScale()) - fill( tr, 'jmva_1' , j1.puMva("full53x")) - # 2 is the loose working point - fill( tr, 'jpass_1' , j1.passPuJetId("full53x", 2)) - - if nJets>=2: - j2 = jets[1] - fill( tr, 'jpt_2' , j2.pt()) - fill( tr, 'jeta_2' , j2.eta()) - fill( tr, 'jphi_2' , j2.phi()) - fill( tr, 'jptraw_2', j2.pt()*j2.rawFactor()) - fill( tr, 'jptunc_2', j2.uncOnFourVectorScale()) - fill( tr, 'jmva_2' , j2.puMva("full53x")) - # 2 is the loose working point - fill( tr, 'jpass_2' , j2.passPuJetId("full53x", 2)) - - if len(event.cleanBJets)>0: - fill( tr, 'bpt' , event.cleanBJets[0].pt()) - fill( tr, 'beta', event.cleanBJets[0].eta()) - fill( tr, 'bphi', event.cleanBJets[0].phi()) - - if hasattr( event, 'vbf'): - vbf = event.vbf - # import pdb; pdb.set_trace() - fill( tr, 'mjj', vbf.mjj) - fill( tr, 'jdeta', abs(vbf.deta)) - fill( tr, 'njetingap', len(vbf.centralJets)) - fill( tr, 'mva', vbf.mva) - - # add the following variables to the vbf object in VBFAnalyzer - fill( tr, 'jdphi' , abs(vbf.dphi)) - fill( tr, 'dijetpt' , vbf.dijetpt) - fill( tr, 'dijetphi' , vbf.dijetphi) - fill( tr, 'hdijetphi', abs(vbf.dphidijethiggs)) # higgs p = p1 + p2 + met - fill( tr, 'visjeteta', vbf.visjeteta) - fill( tr, 'ptvis' , vbf.ptvis) - - # trigger matching for diTau trigger present in parked dataset - if hasattr(event,"l1TrigMatched_diTau") and hasattr(event,"l2TrigMatched_diTau") : - fill( tr, 'l1TrigMatched_diTau' , event.l1TrigMatched_diTau ) - fill( tr, 'l2TrigMatched_diTau' , event.l2TrigMatched_diTau ) - else: - fill( tr, 'l1TrigMatched_diTau' , -1) - fill( tr, 'l2TrigMatched_diTau' , -1) - - # trigger matching for diTauJet trigger - if hasattr(event,"l1TrigMatched_diTauJet") and hasattr(event,"l2TrigMatched_diTauJet") and hasattr(event,"jetTrigMatched_diTauJet"): - fill( tr, 'l1TrigMatched_diTauJet' , event.l1TrigMatched_diTauJet ) - fill( tr, 'l2TrigMatched_diTauJet' , event.l2TrigMatched_diTauJet ) - fill( tr, 'jetTrigMatched_diTauJet', event.jetTrigMatched_diTauJet) - else: - fill( tr, 'l1TrigMatched_diTauJet' , -1) - fill( tr, 'l2TrigMatched_diTauJet' , -1) - fill( tr, 'jetTrigMatched_diTauJet', -1) - - - if hasattr(event,"triggerWeight_diTauJet") and hasattr(event,"triggerEffMC_diTauJet") and hasattr(event,"triggerEffData_diTauJet"): - fill( tr, 'triggerWeight_diTauJet' ,event.triggerWeight_diTauJet ) - fill( tr, 'triggerEffMC_diTauJet' ,event.triggerEffMC_diTauJet ) - fill( tr, 'triggerEffData_diTauJet',event.triggerEffData_diTauJet) - else : - fill( tr, 'triggerWeight_diTauJet' ,1) - fill( tr, 'triggerEffMC_diTauJet' ,1) - fill( tr, 'triggerEffData_diTauJet',1) - - - if hasattr(event,"triggerWeight_diTau") and hasattr(event,"triggerEffMC_diTau") and hasattr(event,"triggerEffData_diTau"): - fill( tr, 'triggerWeight_diTau' ,event.triggerWeight_diTau ) - fill( tr, 'triggerEffMC_diTau' ,event.triggerEffMC_diTau ) - fill( tr, 'triggerEffData_diTau',event.triggerEffData_diTau) - else : - fill( tr, 'triggerWeight_diTau' ,1) - fill( tr, 'triggerEffMC_diTau' ,1) - fill( tr, 'triggerEffData_diTau',1) - - - fill( tr, 'nbtag', len(event.cleanBJets)) - fill( tr, 'njets', nJets) - fill( tr, 'njetspt20', nJetsPt20) - - #import pdb ; pdb.set_trace() - if len(event.muons)>0: - #import pdb ; pdb.set_trace() - fill( tr, 'muon1Pt' , event.muons[0].pt() ) - else: - fill( tr, 'muon1Pt' , -1 ) - - if len(event.electrons)>0: - #import pdb ; pdb.set_trace() - fill( tr, 'electron1Pt' , event.electrons[0].pt() ) - else: - fill( tr, 'electron1Pt' , -1 ) - - ####### EMBEDDED WEIGHTS - fill( tr, 'genfilter' , event.genfilter ) - fill( tr, 'tauspin' , event.tauspin ) - fill( tr, 'zmumusel' , event.zmumusel ) - fill( tr, 'muradcorr' , event.muradcorr ) - fill( tr, 'genTau2PtVsGenTau1Pt' , event.genTau2PtVsGenTau1Pt ) - fill( tr, 'genTau2EtaVsGenTau1Eta' , event.genTau2EtaVsGenTau1Eta ) - fill( tr, 'genDiTauMassVsGenDiTauPt', event.genDiTauMassVsGenDiTauPt ) - - ### MY WEIGTHS - fill( tr, 'effweight' , event.triggerWeight_diTau ) - fill( tr, 'puweight' , event.vertexWeight ) - fill( tr, 'mcweight' , 1./event.ntot ) - DMweight = 1. - if leg1.decayMode()==0 : - DMweight *= 0.88 - if leg2.decayMode()==0 : - DMweight *= 0.88 - fill( tr, 'decaymodeweight' , DMweight) - - self.tree.tree.Fill() - return True diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducer.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducer.py new file mode 100644 index 000000000000..c36c29c8c482 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducer.py @@ -0,0 +1,93 @@ +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducerBase import H2TauTauTreeProducerBase + +class H2TauTauTreeProducer(H2TauTauTreeProducerBase): + + ''' + Base H->tautau tree producer. + Books and fills the branches that are common to + all four channels (mt, et, tt, em). + The following branches are booked and filled: + _ event ID + _ di-tau pair variables (including MET) + _ raw pf MET + _ pass_leptons (both legs pass tight ID and isolation) + _ third lepton veto + _ dilepton veto + _ VBF variables + _ generator information variables (including NUP) + _ jet1 and jet2 variables (sorted by pt) + _ bjet1 and bjet2 variables (sorted by pt) + _ event weight + _ vertex weight + _ embed weight + _ gen parent boson H, W, Z (if exists) + _ weight_njet + _ event rho + _ HqT weights + Signal lepton-specific variables need to be booked + and filled in the channel-specific child producers. + + The branch names can be changed by means of a dictionary. + ''' + + def __init__(self, *args): + super(H2TauTauTreeProducer, self).__init__(*args) + + def declareHandles(self): + super(H2TauTauTreeProducer, self).declareHandles() + self.handles['pfmetraw'] = AutoHandle( + 'slimmedMETs', + 'std::vector' + ) + + def declareVariables(self, setup): + + self.bookEvent(self.tree) + self.bookDiLepton(self.tree) + self.bookGenInfo(self.tree) + self.bookVBF(self.tree, 'vbf') + + self.bookJet(self.tree, 'jet1') + self.bookJet(self.tree, 'jet2') + + self.bookJet(self.tree, 'bjet1') + self.bookJet(self.tree, 'bjet2') + + self.bookParticle(self.tree, 'pfmet') + + self.bookGenParticle(self.tree, 'genboson') + + + def process(self, event): + + # needed when doing handle.product(), goes back to + # PhysicsTools.Heppy.analyzers.core.Analyzer + self.readCollections(event.input) + + self.tree.reset() + + if not eval(self.skimFunction): + return False + + self.fillEvent(self.tree, event) + self.fillDiLepton(self.tree, event.diLepton) + self.fillGenInfo(self.tree, event) + if hasattr(event, 'vbf'): + self.fillVBF(self.tree, 'vbf', event.vbf) + + for i, jet in enumerate(event.cleanJets[:2]): + self.fillJet(self.tree, 'jet{n}'.format(n=str(i + 1)), jet) + + for i, jet in enumerate(event.cleanBJets[:2]): + self.fillJet(self.tree, 'bjet{n}'.format(n=str(i + 1)), jet) + + if hasattr(event, 'parentBoson'): + self.fillGenParticle(self.tree, 'genboson', event.parentBoson) + + pfmet = self.handles['pfmetraw'].product()[0] + self.fillParticle(self.tree, 'pfmet', pfmet) + + if type(self) is H2TauTauTreeProducer: + self.fillTree(event) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerBase.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerBase.py new file mode 100644 index 000000000000..eeb7f675b300 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerBase.py @@ -0,0 +1,188 @@ +from PhysicsTools.Heppy.analyzers.core.TreeAnalyzerNumpy import TreeAnalyzerNumpy + +from CMGTools.H2TauTau.proto.analyzers.varsDictionary import vars as var_dict +from CMGTools.H2TauTau.proto.analyzers.TreeVariables import event_vars, ditau_vars, particle_vars, lepton_vars, electron_vars, muon_vars, tau_vars, jet_vars, geninfo_vars, vbf_vars + +class H2TauTauTreeProducerBase(TreeAnalyzerNumpy): + + ''' + Base H->tautau tree producer. + Provides basic functionality for tau-tau specific trees. + + The branch names can be changed by means of a dictionary. + ''' + + def __init__(self, *args): + super(H2TauTauTreeProducerBase, self).__init__(*args) + self.varStyle = 'std' + self.varDict = var_dict + self.skimFunction = 'True' + if hasattr(self.cfg_ana, 'varStyle'): + self.varStyle = self.cfg_ana.varStyle + if hasattr(self.cfg_ana, 'varDict'): + self.varDict = self.cfg_ana.varDict + if hasattr(self.cfg_ana, 'skimFunction'): + self.skimFunction = self.cfg_ana.skimFunction + + def var(self, tree, varName, type=float): + tree.var(self.varName(varName), type) + + def fill(self, tree, varName, value): + tree.fill(self.varName(varName), value) + + def varName(self, name): + try: + return self.varDict[name][self.varStyle] + except: + if self.verbose: + print 'WARNING: self.varDict[{NAME}][{VARSTYLE}] does not exist'.format(NAME=name, VARSTYLE=self.varStyle) + print ' using {NAME}'.format(NAME=name) + return name + + def fillTree(self, event): + if eval(self.skimFunction): + self.tree.tree.Fill() + + def bookGeneric(self, tree, var_list, obj_name=None): + for var in var_list: + names = [obj_name, var.name] if obj_name else [var.name] + self.var(tree, '_'.join(names), var.type) + + def fillGeneric(self, tree, var_list, obj, obj_name=None): + for var in var_list: + names = [obj_name, var.name] if obj_name else [var.name] + self.fill(tree, '_'.join(names), var.function(obj)) + + + def declareVariables(self, setup): + ''' Declare all variables here in derived calss + ''' + pass + + def process(self, event): + ''' Fill variables here in derived class + + End implementation with self.fillTree(event) + ''' + # needed when doing handle.product(), goes back to + # PhysicsTools.Heppy.analyzers.core.Analyzer + self.tree.reset() + + if not eval(self.skimFunction): + return False + + # self.fillTree(event) + + # event + def bookEvent(self, tree): + self.bookGeneric(tree, event_vars) + + def fillEvent(self, tree, event): + self.fillGeneric(tree, event_vars, event) + + # simple particle + def bookParticle(self, tree, p_name): + self.bookGeneric(tree, particle_vars, p_name) + + def fillParticle(self, tree, p_name, particle): + self.fillGeneric(tree, particle_vars, particle, p_name) + + # simple gen particle + def bookGenParticle(self, tree, p_name): + self.bookParticle(tree, p_name) + self.var(tree, '{p_name}_pdgId'.format(p_name=p_name)) + + def fillGenParticle(self, tree, p_name, particle): + self.fillParticle(tree, p_name, particle) + self.fill(tree, '{p_name}_pdgId'.format(p_name=p_name), particle.pdgId()) + + # di-tau + def bookDiLepton(self, tree): + # RIC: to add + # svfit 'fittedDiTauSystem', 'fittedMET', 'fittedTauLeptons' + self.bookGeneric(tree, ditau_vars) + self.bookParticle(tree, 'svfit_l1') + self.bookParticle(tree, 'svfit_l2') + + def fillDiLepton(self, tree, diLepton): + self.fillGeneric(tree, ditau_vars, diLepton) + if hasattr(diLepton, 'svfit_Taus'): + for i, tau in enumerate(diLepton.svfitTaus()): + self.fillParticle(tree, 'svfit_l' + str(i + 1), tau) + + # lepton + def bookLepton(self, tree, p_name): + self.bookParticle(tree, p_name) + self.bookParticle(tree, p_name + '_jet') + self.bookGeneric(tree, lepton_vars, p_name) + + def fillLepton(self, tree, p_name, lepton): + self.fillParticle(tree, p_name, lepton) + if hasattr(lepton, 'jet'): + self.fillParticle(tree, p_name + '_jet', lepton.jet) + self.fillGeneric(tree, lepton_vars, lepton, p_name) + + # muon + def bookMuon(self, tree, p_name): + self.bookLepton(tree, p_name) + self.bookGeneric(tree, muon_vars, p_name) + + def fillMuon(self, tree, p_name, muon): + self.fillLepton(tree, p_name, muon) + self.fillGeneric(tree, muon_vars, muon, p_name) + + # ele + def bookEle(self, tree, p_name): + self.bookLepton(tree, p_name) + self.bookGeneric(tree, electron_vars, p_name) + + def fillEle(self, tree, p_name, ele): + self.fillLepton(tree, p_name, ele) + self.fillGeneric(tree, electron_vars, ele, p_name) + + # tau + def bookTau(self, tree, p_name): + self.bookLepton(tree, p_name) + self.bookGeneric(tree, tau_vars, p_name) + + def fillTau(self, tree, p_name, tau): + self.fillLepton(tree, p_name, tau) + self.fillGeneric(tree, tau_vars, tau, p_name) + + # jet + def bookJet(self, tree, p_name): + self.bookParticle(tree, p_name) + self.bookGeneric(tree, jet_vars, p_name) + + def fillJet(self, tree, p_name, jet): + self.fillParticle(tree, p_name, jet) + self.fillGeneric(tree, jet_vars, jet, p_name) + + # vbf + def bookVBF(self, tree, p_name): + self.bookGeneric(tree, vbf_vars, p_name) + + def fillVBF(self, tree, p_name, vbf): + self.fillGeneric(tree, vbf_vars, vbf, p_name) + + # generator information + def bookGenInfo(self, tree): + self.bookGeneric(tree, geninfo_vars) + + def fillGenInfo(self, tree, event): + self.fillGeneric(tree, geninfo_vars, event) + + # quark and gluons + def bookQG(self, tree, maxNGenJets=2): + for i in range(0, maxNGenJets): + self.bookGenParticle(self.tree, 'genqg_{i}'.format(i=i)) + + def fillQG(self, tree, event, maxNGenJets=2): + # Fill hard quarks/gluons + quarksGluons = [p for p in event.genParticles if abs(p.pdgId()) in (1, 2, 3, 4, 5, 21) and + p.status() == 3 and + (p.numberOfDaughters() == 0 or p.daughter(0).status() != 3)] + quarksGluons.sort(key=lambda x: -x.pt()) + for i in range(0, min(maxNGenJets, len(quarksGluons))): + self.fillGenParticle( + tree, 'genqg_{i}'.format(i=i), quarksGluons[i]) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerGenerator.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerGenerator.py index 1d42db7d3771..c7769a404bed 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerGenerator.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerGenerator.py @@ -3,7 +3,7 @@ from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import GenJet from PhysicsTools.HeppyCore.utils.deltar import cleanObjectCollection -from CMGTools.RootTools.analyzers.TreeAnalyzerNumpy import TreeAnalyzerNumpy +from PhysicsTools.Heppy.analyzers.core.TreeAnalyzerNumpy import TreeAnalyzerNumpy from CMGTools.H2TauTau.proto.analyzers.ntuple import * class H2TauTauTreeProducerGenerator( TreeAnalyzerNumpy ): diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerMuEle.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerMuEle.py new file mode 100644 index 000000000000..2e394ecd4822 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerMuEle.py @@ -0,0 +1,35 @@ +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducer import H2TauTauTreeProducer + +class H2TauTauTreeProducerMuEle(H2TauTauTreeProducer): + '''Tree producer for the H->tau tau analysis''' + + def declareVariables(self, setup): + super(H2TauTauTreeProducerMuEle, self).declareVariables(setup) + + self.bookMuon(self.tree, 'l1') + self.bookEle (self.tree, 'l2') + + self.bookGenParticle(self.tree, 'l1_gen') + self.var(self.tree, 'l1_gen_lepfromtau', int) + self.bookGenParticle(self.tree, 'l2_gen') + self.var(self.tree, 'l2_gen_lepfromtau', int) + + + def process(self, event): + + super(H2TauTauTreeProducerMuEle, self).process(event) + + muon = event.diLepton.leg1() + ele = event.diLepton.leg2() + + self.fillMuon(self.tree, 'l1', muon) + self.fillEle(self.tree, 'l2', ele) + + if muon.genp: + self.fillGenParticle(self.tree, 'l1_gen', muon.genp) + self.fill(self.tree, 'l1_gen_lepfromtau', muon.isTauLep) + if ele.genp: + self.fillGenParticle(self.tree, 'l2_gen', ele.genp) + self.fill(self.tree, 'l2_gen_lepfromtau', ele.isTauLep) + + self.fillTree(event) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerMuMu.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerMuMu.py index 55a5dda10b7e..be732b8b87fe 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerMuMu.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerMuMu.py @@ -1,87 +1,33 @@ -from CMGTools.RootTools.analyzers.TreeAnalyzerNumpy import TreeAnalyzerNumpy -from CMGTools.H2TauTau.proto.analyzers.ntuple import * +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducer import H2TauTauTreeProducer -class H2TauTauTreeProducerMuMu( TreeAnalyzerNumpy ): - '''Tree producer for the H->tau tau analysis. +class H2TauTauTreeProducerMuMu(H2TauTauTreeProducer): - Some of the functions in this class should be made available to everybody.''' - - def declareVariables(self): + '''Tree producer for the H->tau tau->mu mu analysis.''' - tr = self.tree - var( tr, 'visMass') -## var( tr, 'svfitMass') - var( tr, 'mt') - var( tr, 'met') - - bookParticle(tr, 'diMuon') - bookMuon(tr, 'l1') - bookMuon(tr, 'l2') - bookParticle(tr, 'l1Jet') - bookParticle(tr, 'l2Jet') - - var( tr, 'nJets') - bookJet(tr, 'jet1') - bookJet(tr, 'jet2') + def declareVariables(self, setup): - # b jets - var( tr, 'nBJets') - bookJet(tr, 'bjet1') + super(H2TauTauTreeProducerMuMu, self).declareVariables(setup) - bookVBF( tr, 'VBF' ) - - var( tr, 'weight') - var( tr, 'vertexWeight') - - var( tr, 'nVert') - -## var( tr, 'isFake') -## var( tr, 'isSignal') - + self.bookMuon(self.tree, 'l1') + self.bookMuon(self.tree, 'l2') - def process(self, event): - - tr = self.tree - tr.reset() - - fill(tr, 'visMass', event.diLepton.mass()) -## fill(tr, 'svfitMass', event.diLepton.massSVFit()) - fill(tr, 'mt', event.diLepton.mTLeg2()) - fill(tr, 'met', event.diLepton.met().pt()) - - fillParticle(tr, 'diMuon', event.diLepton) - fillMuon(tr, 'l1', event.diLepton.leg1() ) - fillMuon(tr, 'l2', event.diLepton.leg2() ) - fillParticle(tr, 'l1Jet', event.diLepton.leg1().jet ) - fillParticle(tr, 'l2Jet', event.diLepton.leg2().jet ) + self.bookGenParticle(self.tree, 'l1_gen') + self.bookGenParticle(self.tree, 'l2_gen') - nJets = len(event.cleanJets) - fill(tr, 'nJets', nJets ) - if nJets>=1: - fillJet(tr, 'jet1', event.cleanJets[0] ) - if nJets>=2: - fillJet(tr, 'jet2', event.cleanJets[1] ) + def process(self, event): + super(H2TauTauTreeProducerMuMu, self).process(event) - nBJets = len(event.cleanBJets) - if nBJets>0: - fillJet(tr, 'bjet1', event.cleanBJets[0] ) - fill(tr, 'nBJets', nBJets) + mu1 = event.diLepton.leg1() + mu2 = event.diLepton.leg2() - if hasattr( event, 'vbf'): - fillVBF( tr, 'VBF', event.vbf ) + self.fillMuon(self.tree, 'l1', mu1) + self.fillMuon(self.tree, 'l2', mu2) - fill(tr, 'weight', event.eventWeight) + if hasattr(mu1, 'genp'): + self.fillGenParticle(self.tree, 'l1_gen', mu1.genp) + if hasattr(mu2, 'genp'): + self.fillGenParticle(self.tree, 'l2_gen', mu2.genp) - if hasattr( event, 'vertexWeight'): - fill(tr, 'vertexWeight', event.vertexWeight) - fill(tr, 'nVert', len(event.vertices) ) - -## isFake = 1 -## if hasattr( event, 'genMatched'): -## if event.genMatched == 1: -## isFake = 0 -## fill(tr, 'isFake', isFake) -## fill(tr, 'isSignal', event.isSignal) - - self.tree.tree.Fill() + self.fillTree(event) + \ No newline at end of file diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauEle.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauEle.py index ab448f16bb3f..7782d3220af3 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauEle.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauEle.py @@ -1,170 +1,53 @@ -from CMGTools.RootTools.analyzers.TreeAnalyzerNumpy import TreeAnalyzerNumpy -from CMGTools.H2TauTau.proto.analyzers.ntuple import * -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle - - -class H2TauTauTreeProducerTauEle( TreeAnalyzerNumpy ): - '''Tree producer for the H->tau tau analysis. - - Some of the functions in this class should be made available to everybody.''' - - def declareVariables(self): - - tr = self.tree - - var( tr, 'run', int) - var( tr, 'lumi', int) - var( tr, 'evt', int) - var( tr, 'NUP', int) - - bookDiLepton(tr) - - var( tr, 'pfmet') - - bookParticle(tr, 'diTau') - bookTau(tr, 'l1') - bookEle(tr, 'l2') - bookParticle(tr, 'l1Jet') - bookParticle(tr, 'l2Jet') - - var( tr, 'nJets') - var( tr, 'nJets20') - bookJet(tr, 'jet1') - bookJet(tr, 'jet2') - - # b jets - var( tr, 'nBJets') - var(tr, 'nCSVLJets') - bookJet(tr, 'bjet1') - - bookVBF( tr, 'VBF' ) - - var( tr, 'weight') - var( tr, 'vertexWeight') - var( tr, 'embedWeight') - var( tr, 'hqtWeight') - var( tr, 'hqtWeightUp') - var( tr, 'hqtWeightDown') - var( tr, 'NJetWeight') - var( tr, 'zllWeight') - - var( tr, 'tauFakeRateWeight') - var( tr, 'tauFakeRateWeightUp') - var( tr, 'tauFakeRateWeightDown') - - var( tr, 'nVert') - - var( tr, 'isFake') - var( tr, 'isSignal') - var( tr, 'leptonAccept') - var( tr, 'thirdLeptonVeto') - - var(tr, 'genMass') - - bookGenParticle(tr, 'genW') - bookGenParticle(tr, 'genZ') - bookGenParticle(tr, 'genWlep') - bookGenParticle(tr, 'genWnu') - bookGenParticle(tr, 'genZleg1') - bookGenParticle(tr, 'genZleg2') - - - def declareHandles(self): - super(H2TauTauTreeProducerTauEle, self).declareHandles() - self.handles['pfmetraw'] = AutoHandle( - 'cmgPFMETRaw', - 'std::vector' - ) - +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducer import H2TauTauTreeProducer + +class H2TauTauTreeProducerTauEle(H2TauTauTreeProducer): + '''Tree producer for the H->tau tau analysis.''' + + def declareVariables(self, setup): + + super(H2TauTauTreeProducerTauEle, self).declareVariables(setup) + + self.bookTau(self.tree, 'l1') + self.bookEle(self.tree, 'l2') + + self.bookGenParticle(self.tree, 'l1_gen') + self.var(self.tree, 'l1_gen_lepfromtau', int) + self.bookGenParticle(self.tree, 'l2_gen') + self.var(self.tree, 'l2_gen_lepfromtau', int) + + self.bookParticle(self.tree, 'l1_gen_vis') + + self.var(self.tree, 'l1_weight_fakerate') + self.var(self.tree, 'l1_weight_fakerate_up') + self.var(self.tree, 'l1_weight_fakerate_down') + + self.var( self.tree, 'weight_zll') + def process(self, event): - self.readCollections( event.input ) - - tr = self.tree - tr.reset() - - fill( tr, 'run', event.run) - fill( tr, 'lumi',event.lumi) - fill( tr, 'evt', event.eventId) - fill( tr, 'NUP', event.NUP) - - fillDiLepton( tr, event.diLepton ) - - # import pdb; pdb.set_trace() - pfmet = self.handles['pfmetraw'].product()[0] - fill(tr, 'pfmet', pfmet.pt()) - - - fillParticle(tr, 'diTau', event.diLepton) - fillTau(tr, 'l1', event.diLepton.leg1() ) - fillEle(tr, 'l2', event.diLepton.leg2() ) - fillParticle(tr, 'l1Jet', event.diLepton.leg1().jet ) - fillParticle(tr, 'l2Jet', event.diLepton.leg2().jet ) - - - fill(tr, 'nJets20', len(event.cleanJets) ) - nJets30 = len(event.cleanJets30) - fill(tr, 'nJets', nJets30 ) - nJets = len(event.cleanJets) - if nJets>=1: - fillJet(tr, 'jet1', event.cleanJets[0] ) - if nJets>=2: - fillJet(tr, 'jet2', event.cleanJets[1] ) - - nBJets = len(event.cleanBJets) - if nBJets>0: - fillJet(tr, 'bjet1', event.cleanBJets[0] ) - fill(tr, 'nBJets', nBJets) - - # JAN - FIXME - temporarily directly count CSVL - # jets. Eventually apply SFs as for CSVM jets - # after rewriting BTagSF module - nCSVLJets = 0 - for jet in event.cleanJets: - if jet.btag('combinedSecondaryVertexBJetTags') > 0.244: - nCSVLJets += 1 - fill(tr, 'nCSVLJets', nCSVLJets) - - if hasattr( event, 'vbf'): - fillVBF( tr, 'VBF', event.vbf ) - - fill(tr, 'weight', event.eventWeight) - fill(tr, 'embedWeight', event.embedWeight) - fill(tr, 'hqtWeight', event.higgsPtWeight) - fill(tr, 'hqtWeightUp', event.higgsPtWeightUp) - fill(tr, 'hqtWeightDown', event.higgsPtWeightDown) - - fill(tr, 'tauFakeRateWeightUp', event.tauFakeRateWeightUp) - fill(tr, 'tauFakeRateWeightDown', event.tauFakeRateWeightDown) - fill(tr, 'tauFakeRateWeight', event.tauFakeRateWeight) - - if hasattr(event, 'NJetWeight'): - fill(tr, 'NJetWeight', event.NJetWeight) - fill(tr, 'zllWeight', event.zllWeight) - - if hasattr( event, 'vertexWeight'): - fill(tr, 'vertexWeight', event.vertexWeight) - fill(tr, 'nVert', len(event.vertices) ) - - fill(tr, 'isFake', event.isFake) - fill(tr, 'isSignal', event.isSignal) - fill(tr, 'leptonAccept', event.leptonAccept) - fill(tr, 'thirdLeptonVeto', event.thirdLeptonVeto) - - if hasattr(event, 'genParticles'): - for p in event.genParticles: - if p.pdgId() in [23, 25, 35, 36, 37]: - fill(tr, 'genMass', p.mass()) - break - - if hasattr( event, 'genZs'): - if len(event.genZs): - fillGenParticle(tr, 'genZ', event.genZs[0]) - fillGenParticle(tr, 'genZleg1', event.genZs[0].leg1) - fillGenParticle(tr, 'genZleg2', event.genZs[0].leg2) - if hasattr( event, 'genWs'): - if len(event.genWs): - fillGenParticle(tr, 'genW', event.genWs[0]) - fillGenParticle(tr, 'genWlep', event.genWs[0].lep) - fillGenParticle(tr, 'genWnu', event.genWs[0].nu) - - self.tree.tree.Fill() + + super(H2TauTauTreeProducerTauEle, self).process(event) + + tau = event.diLepton.leg1() + ele = event.diLepton.leg2() + + self.fillTau(self.tree, 'l1', tau) + self.fillEle(self.tree, 'l2', ele) + + if tau.genp: + self.fillGenParticle(self.tree, 'l1_gen', tau.genp) + self.fill(self.tree, 'l1_gen_lepfromtau', tau.isTauLep) + if ele.genp: + self.fillGenParticle(self.tree, 'l2_gen', ele.genp) + self.fill(self.tree, 'l2_gen_lepfromtau', ele.isTauLep) + + # save the p4 of the visible tau products at the generator level + if tau.genJet() and hasattr(tau, 'genp') and abs(tau.genp.pdgId()) == 15: + self.fillParticle(self.tree, 'l1_gen_vis', tau.physObj.genJet()) + + self.fill(self.tree, 'l1_weight_fakerate', event.tauFakeRateWeightUp) + self.fill(self.tree, 'l1_weight_fakerate_up', event.tauFakeRateWeightDown) + self.fill(self.tree, 'l1_weight_fakerate_down', event.tauFakeRateWeight) + + self.fill(self.tree, 'weight_zll', event.zllWeight) + + self.fillTree(event) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauMu.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauMu.py index 2219d4a350a4..a0fd3bde3f53 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauMu.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauMu.py @@ -1,218 +1,51 @@ -from PhysicsTools.Heppy.analyzers.core.TreeAnalyzerNumpy import TreeAnalyzerNumpy -from CMGTools.H2TauTau.proto.analyzers.ntuple import * -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducer import H2TauTauTreeProducer -class H2TauTauTreeProducerTauMu( TreeAnalyzerNumpy ): - '''Tree producer for the H->tau tau analysis. +class H2TauTauTreeProducerTauMu(H2TauTauTreeProducer): + + '''Tree producer for the H->tau tau analysis.''' - Some of the functions in this class should be made available to everybody.''' - def declareVariables(self, setup): - tr = self.tree - - var( tr, 'run', int) - var( tr, 'lumi', int) - var( tr, 'evt', int) - var( tr, 'NUP', int) - var( tr, 'rho') - - bookDiLepton(tr) - - var( tr, 'pfmet') - - bookParticle(tr, 'diTau') - bookTau(tr, 'l1') - bookGenParticle(tr, 'l1_gen') - var(tr, 'l1_gen_vis_pt') - var(tr, 'l1_gen_vis_eta') - var(tr, 'l1_gen_vis_phi') - bookMuon(tr, 'l2') - bookGenParticle(tr, 'l2_gen') - bookParticle(tr, 'l1Jet') - bookParticle(tr, 'l2Jet') - - var( tr, 'nJets') - var( tr, 'nJets20') - bookJet(tr, 'jet1') - bookJet(tr, 'jet2') - - # b jets - var( tr, 'nBJets') - var(tr, 'nCSVLJets') - bookJet(tr, 'bjet1') - - bookVBF( tr, 'VBF' ) - #bookJet(tr, 'cjet') # leading central veto jet from VBF - - var( tr, 'weight') - var( tr, 'vertexWeight') - var( tr, 'embedWeight') - var( tr, 'hqtWeight') - var( tr, 'hqtWeightUp') - var( tr, 'hqtWeightDown') - var( tr, 'NJetWeight') - - var( tr, 'tauFakeRateWeight') - var( tr, 'tauFakeRateWeightUp') - var( tr, 'tauFakeRateWeightDown') - - var( tr, 'nVert') - - var( tr, 'isFake') - var( tr, 'isSignal') - var( tr, 'leptonAccept') - var( tr, 'thirdLeptonVeto') - - var(tr, 'genMass') - var(tr, 'genMet') - var(tr, 'genMex') - var(tr, 'genMey') - - self.maxNGenJets = 4 - for i in range(0, self.maxNGenJets): - bookGenParticle(tr, 'genQG_{i}'.format(i=i)) - - - - def declareHandles(self): - super(H2TauTauTreeProducerTauMu, self).declareHandles() - self.handles['pfmetraw'] = AutoHandle( - 'slimmedMETs', - 'std::vector' - ) - + super(H2TauTauTreeProducerTauMu, self).declareVariables(setup) + + self.bookTau(self.tree, 'l1') + self.bookMuon(self.tree, 'l2') + + self.bookGenParticle(self.tree, 'l1_gen') + self.var(self.tree, 'l1_gen_lepfromtau', int) + self.bookGenParticle(self.tree, 'l2_gen') + self.var(self.tree, 'l2_gen_lepfromtau', int) + + self.bookParticle(self.tree, 'l1_gen_vis') + + self.var(self.tree, 'l1_weight_fakerate') + self.var(self.tree, 'l1_weight_fakerate_up') + self.var(self.tree, 'l1_weight_fakerate_down') + def process(self, event): - self.readCollections( event.input ) - - tr = self.tree - tr.reset() - - fill( tr, 'run', event.run) - fill( tr, 'lumi',event.lumi) - fill( tr, 'evt', event.eventId) - - # This is only relevant for the W/Z+N-jet samples - if hasattr(event, 'NUP'): - fill( tr, 'NUP', event.NUP) - fill( tr, 'rho', event.rho) - - fillDiLepton( tr, event.diLepton ) - - # import pdb; pdb.set_trace() - pfmet = self.handles['pfmetraw'].product()[0] - fill(tr, 'pfmet', pfmet.pt()) - - - fillParticle(tr, 'diTau', event.diLepton) - fillTau(tr, 'l1', event.diLepton.leg1() ) - genTau = event.diLepton.leg1().genParticle() - if genTau: - fillGenParticle(tr, 'l1_gen', genTau) - - def getAllDaughters(p, l): - for i in range(0, p.numberOfDaughters()): - d = p.daughter(i) - l.append(d) - getAllDaughters(d, l) - - p4vis = genTau.p4() - daughters = [] - getAllDaughters(genTau, daughters) - invisDaughters = [p for p in daughters if abs(p.pdgId()) in [12, 14, 16]] - for d in invisDaughters: - p4vis -= d.p4() - - fill(tr, 'l1_gen_vis_pt', p4vis.pt()) - fill(tr, 'l1_gen_vis_eta', p4vis.eta()) - fill(tr, 'l1_gen_vis_phi', p4vis.phi()) - - - fillMuon(tr, 'l2', event.diLepton.leg2() ) - if event.diLepton.leg2().genParticle(): - fillGenParticle(tr, 'l2_gen', event.diLepton.leg2().genParticle()) - fillParticle(tr, 'l1Jet', event.diLepton.leg1().jet ) - fillParticle(tr, 'l2Jet', event.diLepton.leg2().jet ) - - - fill(tr, 'nJets20', len(event.cleanJets) ) - nJets30 = len(event.cleanJets30) - fill(tr, 'nJets', nJets30 ) - nJets = len(event.cleanJets) - if nJets>=1: - fillJet(tr, 'jet1', event.cleanJets[0] ) - if nJets>=2: - fillJet(tr, 'jet2', event.cleanJets[1] ) - - nBJets = len(event.cleanBJets) - if nBJets>0: - fillJet(tr, 'bjet1', event.cleanBJets[0] ) - fill(tr, 'nBJets', nBJets) - - # JAN - directly count CSVL jets as done in - # other groups. May apply SFs as for CSVM jets - # after rewriting BTagSF module in the future - nCSVLJets = 0 - for jet in event.cleanJets: - if jet.btag('combinedSecondaryVertexBJetTags') > 0.244: - nCSVLJets += 1 - fill(tr, 'nCSVLJets', nCSVLJets) - - if hasattr( event, 'vbf'): - fillVBF( tr, 'VBF', event.vbf ) - #if len(event.vbf.centralJets) > 0: - # fillJet(tr, 'cjet', event.vbf.centralJets[0]) - - fill(tr, 'weight', event.eventWeight) - fill(tr, 'embedWeight', event.embedWeight) - fill(tr, 'hqtWeight', event.higgsPtWeight) - fill(tr, 'hqtWeightUp', event.higgsPtWeightUp) - fill(tr, 'hqtWeightDown', event.higgsPtWeightDown) - if hasattr( event, 'NJetWeight'): - fill(tr, 'NJetWeight', event.NJetWeight) - - fill(tr, 'tauFakeRateWeightUp', event.tauFakeRateWeightUp) - fill(tr, 'tauFakeRateWeightDown', event.tauFakeRateWeightDown) - fill(tr, 'tauFakeRateWeight', event.tauFakeRateWeight) - - - - if hasattr( event, 'vertexWeight'): - fill(tr, 'vertexWeight', event.vertexWeight) - fill(tr, 'nVert', len(event.vertices) ) - - fill(tr, 'isFake', event.isFake) - fill(tr, 'isSignal', event.isSignal) - fill(tr, 'leptonAccept', event.leptonAccept) - fill(tr, 'thirdLeptonVeto', event.thirdLeptonVeto) - - - if hasattr(event, 'genParticles'): - # Get Higgs/Z mass - for p in event.genParticles: - if p.pdgId() in [23, 25, 35, 36, 37]: - fill(tr, 'genMass', p.mass()) - break - - # Calculate gen MET - neutrinos = [p for p in event.genParticles if abs(p.pdgId()) in (12, 14, 16)] - if neutrinos: - genMet = neutrinos[0].p4() - for p in neutrinos[1:]: - genMet += p.p4() - fill(tr, 'genMet', p.pt()) - fill(tr, 'genMex', p.px()) - fill(tr, 'genMey', p.py()) - else: - fill(tr, 'genMet', 0.) - fill(tr, 'genMex', 0.) - fill(tr, 'genMey', 0.) - - # Fill hard quarks/gluons - quarksGluons = [p for p in event.genParticles if abs(p.pdgId()) in (1, 2, 3, 4, 5, 21) and p.status() == 3 and (p.numberOfDaughters() == 0 or p.daughter(0).status() != 3)] - quarksGluons.sort(key=lambda x: -x.pt()) - for i in range(0, min(self.maxNGenJets, len(quarksGluons))): - fillGenParticle(tr, 'genQG_{i}'.format(i=i), quarksGluons[i]) - - self.tree.tree.Fill() + + super(H2TauTauTreeProducerTauMu, self).process(event) + + tau = event.diLepton.leg1() + muon = event.diLepton.leg2() + + self.fillTau(self.tree, 'l1', tau) + self.fillMuon(self.tree, 'l2', muon) + + if tau.genp: + self.fillGenParticle(self.tree, 'l1_gen', tau.genp) + self.fill(self.tree, 'l1_gen_lepfromtau', tau.isTauLep) + if muon.genp: + self.fillGenParticle(self.tree, 'l2_gen', muon.genp) + self.fill(self.tree, 'l2_gen_lepfromtau', muon.isTauLep) + + # save the p4 of the visible tau products at the generator level + if tau.genJet() and hasattr(tau, 'genp') and abs(tau.genp.pdgId()) == 15: + self.fillParticle(self.tree, 'l1_gen_vis', tau.physObj.genJet()) + + self.fill(self.tree, 'l1_weight_fakerate', event.tauFakeRateWeightUp) + self.fill(self.tree, 'l1_weight_fakerate_up', event.tauFakeRateWeightDown) + self.fill(self.tree, 'l1_weight_fakerate_down', event.tauFakeRateWeight) + + self.fillTree(event) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauTau.py b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauTau.py index b0cbfad124a4..65beae6dc26a 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauTau.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/H2TauTauTreeProducerTauTau.py @@ -1,635 +1,45 @@ -from CMGTools.RootTools.analyzers.TreeAnalyzer import TreeAnalyzer -from PhysicsTools.HeppyCore.utils.deltar import bestMatch -from math import * -import inspect +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducer import H2TauTauTreeProducer -def lineno(): - '''Returns the current line number in our program.''' - return inspect.currentframe().f_back.f_lineno - - - -def deltaPhi(phi1, phi2): - p=abs(phi1-phi2) - if ptau tau analysis. - - Some of the functions in this class should be made available to everybody.''' +class H2TauTauTreeProducerTauTau( H2TauTauTreeProducer ): + '''Tree producer for the H->tau tau analysis''' + + def declareVariables(self, setup): - def declareVariables(self): - - def var( varName ): - self.tree.addVar('float', varName) - - def varInt( varName ): - self.tree.addVar('int', varName) - - def particleVars( pName ): - var('{pName}Px'.format(pName=pName) ) - var('{pName}Py'.format(pName=pName) ) - var('{pName}Pz'.format(pName=pName) ) - var('{pName}E'.format(pName=pName) ) - var('{pName}Pt'.format(pName=pName) ) - var('{pName}Eta'.format(pName=pName) ) - var('{pName}Phi'.format(pName=pName) ) - var('{pName}Charge'.format(pName=pName) ) - var('{pName}Mass'.format(pName=pName) ) - if not ('diTau' in pName or 'jet' in pName or 'L1' in pName): - var('{pName}DecayMode'.format(pName=pName) ) - var('{pName}RawDB3HIso'.format(pName=pName) ) - var('{pName}LooseDB3HIso'.format(pName=pName) ) - var('{pName}MediumDB3HIso'.format(pName=pName) ) - var('{pName}TightDB3HIso'.format(pName=pName) ) - var('{pName}LooseEle'.format(pName=pName) ) - var('{pName}MedEle'.format(pName=pName) ) - var('{pName}MVAEle'.format(pName=pName) ) - var('{pName}LooseMu'.format(pName=pName) ) - var('{pName}jetMass'.format(pName=pName) ) - var('{pName}jetPt'.format(pName=pName) ) - var('{pName}againstElectronMVA3raw'.format(pName=pName) ) - #var('{pName}againstElectronLooseMVA3'.format(pName=pName) ) - #var('{pName}againstElectronMediumMVA3'.format(pName=pName) ) - #var('{pName}againstElectronTightMVA3'.format(pName=pName) ) - var('{pName}againstElectronVTightMVA3'.format(pName=pName) ) - var('{pName}againstElectronMVA3category'.format(pName=pName)) - var('{pName}againstElectronNewLooseMVA3'.format(pName=pName)) - var('{pName}againstMuonLoose2'.format(pName=pName) ) - var('{pName}againstMuonMedium2'.format(pName=pName) ) - var('{pName}againstMuonTight2'.format(pName=pName) ) - var('{pName}VertexZ'.format(pName=pName) ) - var('{pName}GenPdgId'.format(pName=pName) ) - var('{pName}GenPt'.format(pName=pName) ) - var('{pName}GenEta'.format(pName=pName) ) - var('{pName}GenPhi'.format(pName=pName) ) - var('{pName}GenMass'.format(pName=pName) ) - - varInt('run' ) - varInt('lumi' ) - varInt('event') - - varInt('isRealTau') - - var('visMass' ) - var('svfitMass') - var('mt1') - var('mt2') - var('l1Radius') - var('l2Radius') - var('pThiggs') - - var('mvacov00') - var('mvacov01') - var('mvacov10') - var('mvacov11') - var('metPhi') - var('mex') - var('mey') - var('met') - var('mttj') - - var('rawMET') - - var('mjj') - var('dEtajj') - var('dPhijj') -# var('dPhittjj') -# var('dEtattjj') - varInt('nCentralJets') -# var('vbfMVA') - - var('dRtt') - var('dRttL1') - var('dEtatt') - var('dPhitt') - - particleVars('diTau') - particleVars('l1') - particleVars('l2') - -# var('l1jetMass') -# var('l1jetPt') -# var('l1jetWidth') -# var('l1jetBtag') -# -# var('l2jetMass') -# var('l2jetPt') -# var('l2jetWidth') -# var('l2jetBtag') -# -# var('l1match') -# var('l2match') -# -# var('l1JetInvMass') -# var('l2JetInvMass') - - ####### TRIGGER MATCHING - varInt( 'l1TrigMatched_diTau' ) - varInt( 'l2TrigMatched_diTau' ) - varInt( 'l1TrigMatched_diTauJet' ) - varInt( 'l2TrigMatched_diTauJet' ) - varInt( 'jetTrigMatched_diTauJet') - - ####### TRIGGER WEIGHTS - var( 'triggerWeight_diTauJet' ) - var( 'triggerEffMC_diTauJet' ) - var( 'triggerEffData_diTauJet') - - var( 'triggerWeight_diTau' ) - var( 'triggerEffMC_diTau' ) - var( 'triggerEffData_diTau') - - ####### JETS VARIABLES - varInt('nJets') - particleVars('jet1') - particleVars('jet2') - var('jet1Btag') - var('jet2Btag') - var('jet1Bmatch') - var('jet2Bmatch') - #var('sumJetPt') - #var('allJetPt') - varInt('nbJets') - particleVars('bjet1') - particleVars('bjet2') - #var('sumbJetPt') - #var('allbJetPt') - - ####### WEIGHTS AND VERTICES - var('weight') - var('vertexWeight') - var('embedWeight') - var('triggerWeight') - var('triggerEffData') - var('triggerEffMC') - varInt('nVert') - - ####### L1 MATCHING PARTICLES - var('l1L1Px' ) - var('l1L1Py' ) - var('l1L1Pz' ) - var('l1L1E' ) - var('l1L1Pt' ) - var('l1L1Eta' ) - var('l1L1Phi' ) - var('l1L1Charge') - var('l1L1Mass' ) - - var('l2L1Px' ) - var('l2L1Py' ) - var('l2L1Pz' ) - var('l2L1E' ) - var('l2L1Pt' ) - var('l2L1Eta' ) - var('l2L1Phi' ) - var('l2L1Charge') - var('l2L1Mass' ) - - ####### GENERATOR VARIABLES - varInt('genMatched') - varInt('isFake' ) - varInt('isZtt' ) - varInt('isZee' ) - varInt('isZmm' ) - varInt('isZj' ) - varInt('isZttj' ) - varInt('isZttll' ) - varInt('isPhoton' ) - varInt('isElectron') - varInt('isMuon' ) - varInt('hasW' ) - varInt('hasZ' ) - var('genMass' ) - #var('genMassSmeared' ) - #var('svfitMassSmeared') - - ####### THIRD LEPTON VETO - var('electron1Pt' ) - var('electron1Eta') - var('electron1Phi') - var('muon1Pt' ) - var('muon1Eta') - var('muon1Phi') - - ####### HIGGS PT WEIGHTS - var('higgsPtWeightNom') - var('higgsPtWeightUp') - var('higgsPtWeightDown') - - ####### EMBEDDED WEIGHTS - var('genfilter' ) - var('tauspin' ) - var('zmumusel' ) - var('muradcorr' ) - var('genTau2PtVsGenTau1Pt' ) - var('genTau2EtaVsGenTau1Eta' ) - var('genDiTauMassVsGenDiTauPt') - - ####### NUM OF GEN JETS FOR STITCHING - var('NUP') - - self.triggers=[ - 'HLT_LooseIsoPFTau35_Trk20_Prong1_v6', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_v2', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v6', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v6', - 'HLT_Mu17_Mu8_v16', - 'HLT_Mu17_Mu8_v17', - 'HLT_Mu17_Mu8_v18', - 'HLT_Mu17_Mu8_v19', - 'HLT_Mu17_Mu8_v21', - 'HLT_Mu17_Mu8_v21', - 'HLT_Mu17_Mu8_v22', - ] - for trig in self.triggers: - varInt(trig) - - self.tree.book() - - def process(self, event): - - #if event.eventId in notPassed : - # print 'WEIRD!! I have this event' - # import pdb ; pdb.set_trace() - - scale=1.0 - - def fill( varName, value ): - setattr( self.tree.s, varName, value ) - - def fParticleVars( pName, particle ): - fill('{pName}Px'.format(pName=pName) , particle.px()*scale ) - fill('{pName}Py'.format(pName=pName) , particle.py()*scale ) - fill('{pName}Pz'.format(pName=pName) , particle.pz()*scale ) - fill('{pName}E'.format(pName=pName) , particle.energy()*scale ) - fill('{pName}Pt'.format(pName=pName) , particle.pt()*scale ) - fill('{pName}Eta'.format(pName=pName) , particle.eta() ) - fill('{pName}Phi'.format(pName=pName) , particle.phi() ) - fill('{pName}Charge'.format(pName=pName) , particle.charge() ) - fill('{pName}Mass'.format(pName=pName) , particle.mass()*scale ) - if not ('diTau' in pName or 'jet' in pName or 'L1' in pName): - fill('{pName}DecayMode'.format(pName=pName) , particle.decayMode() ) - fill('{pName}RawDB3HIso'.format(pName=pName) , particle.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") ) - fill('{pName}LooseDB3HIso'.format(pName=pName) , particle.tauID("byLooseCombinedIsolationDeltaBetaCorr3Hits") ) - fill('{pName}MediumDB3HIso'.format(pName=pName) , particle.tauID("byMediumCombinedIsolationDeltaBetaCorr3Hits")) - fill('{pName}TightDB3HIso'.format(pName=pName) , particle.tauID("byTightCombinedIsolationDeltaBetaCorr3Hits") ) - fill('{pName}LooseEle'.format(pName=pName) , particle.tauID("againstElectronLoose") ) - fill('{pName}MedEle'.format(pName=pName) , particle.tauID("againstElectronMedium") ) - fill('{pName}MVAEle'.format(pName=pName) , particle.tauID("againstElectronMVA") ) - fill('{pName}LooseMu'.format(pName=pName) , particle.tauID("againstMuonLoose") ) - fill('{pName}jetMass'.format(pName=pName) , particle.jetRefp4().mass() ) - fill('{pName}jetPt'.format(pName=pName) , particle.jetRefp4().pt() ) - fill('{pName}againstElectronMVA3raw'.format(pName=pName) , particle.tauID("againstElectronMVA3raw") ) - fill('{pName}againstElectronLooseMVA3'.format(pName=pName) , particle.tauID("againstElectronLooseMVA3") ) - fill('{pName}againstElectronMediumMVA3'.format(pName=pName) , particle.tauID("againstElectronMediumMVA3") ) - fill('{pName}againstElectronTightMVA3'.format(pName=pName) , particle.tauID("againstElectronTightMVA3") ) - fill('{pName}againstElectronVTightMVA3'.format(pName=pName) , particle.tauID("againstElectronVTightMVA3") ) - fill('{pName}againstElectronMVA3category'.format(pName=pName), particle.tauID("againstElectronMVA3category") ) - fill('{pName}againstElectronNewLooseMVA3'.format(pName=pName), particle.NewLooseAntiEleMVA3 ) - fill('{pName}againstMuonLoose2'.format(pName=pName) , particle.tauID("againstMuonLoose2") ) - fill('{pName}againstMuonMedium2'.format(pName=pName) , particle.tauID("againstMuonMedium2") ) - fill('{pName}againstMuonTight2'.format(pName=pName) , particle.tauID("againstMuonTight2") ) - fill('{pName}VertexZ'.format(pName=pName) , particle.tau.vz() ) - - if hasattr(event,"run"): - fill('run', event.run) - if hasattr(event,"lumi"): - fill('lumi', event.lumi) - if hasattr(event,"eventId"): - fill('event', event.eventId) - - if hasattr(event,"isRealTau"): - fill('isRealTau', event.isRealTau) - - fill('visMass' , event.diLepton.mass()*scale) - fill('svfitMass', event.diLepton.massSVFit()*scale) - ### import pdb ; pdb.set_trace() ## SVFit pT is missingin tautau cmgtuples - ### need to hack http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/UserCode/CMG/CMGTools/H2TauTau/interface/DiTauWithSVFitProducer.h?revision=1.11&view=markup - #fill('svfitPt' , event.diLepton.massSVFit()*scale) - fill('pThiggs' , sqrt(pow(event.diLepton.met().px()+event.diLepton.leg1().px()+event.diLepton.leg2().px(),2)+pow(event.diLepton.met().py()+event.diLepton.leg1().py()+event.diLepton.leg2().py(),2))*scale) - - #mvametsig = event.diLepton.mvaMetSig.significance() - fill('mvacov00', event.diLepton.metSig().significance()(0,0)) - fill('mvacov01', event.diLepton.metSig().significance()(0,1)) - fill('mvacov10', event.diLepton.metSig().significance()(1,0)) - fill('mvacov11', event.diLepton.metSig().significance()(1,1)) - fill('metPhi' , event.diLepton.met().phi()*scale) - fill('mex' , event.diLepton.met().px()*scale) - fill('mey' , event.diLepton.met().py()*scale) - fill('met' , event.diLepton.met().pt()*scale) - fill('rawMET' , event.rawMET[0].pt()) - fill('dRtt' , sqrt(pow(deltaPhi(event.diLepton.leg1().phi(),event.diLepton.leg2().phi()),2)+pow(fabs(event.diLepton.leg1().eta()-event.diLepton.leg2().eta()),2))) - fill('dPhitt' , deltaPhi(event.diLepton.leg1().phi(),event.diLepton.leg2().phi())) - fill('dEtatt' , fabs(event.diLepton.leg1().eta()-event.diLepton.leg2().eta())) - - if hasattr(event.leg1,"L1particle") and hasattr(event.leg2,"L1particle") : - fill('dRttL1' , sqrt(pow(deltaPhi(event.leg1.L1particle.phi(),event.leg2.L1particle.phi()),2)+pow(fabs(event.leg1.L1particle.eta()-event.leg2.L1particle.eta()),2))) - - fill('l1L1Px' , event.leg1.L1particle.px() ) - fill('l1L1Py' , event.leg1.L1particle.py() ) - fill('l1L1Pz' , event.leg1.L1particle.pz() ) - fill('l1L1E' , event.leg1.L1particle.energy()) - fill('l1L1Pt' , event.leg1.L1particle.pt() ) - fill('l1L1Eta' , event.leg1.L1particle.eta() ) - fill('l1L1Phi' , event.leg1.L1particle.phi() ) - fill('l1L1Charge', event.leg1.L1particle.charge()) - fill('l1L1Mass' , event.leg1.L1particle.mass() ) - - fill('l2L1Px' , event.leg2.L1particle.px() ) - fill('l2L1Py' , event.leg2.L1particle.py() ) - fill('l2L1Pz' , event.leg2.L1particle.pz() ) - fill('l2L1E' , event.leg2.L1particle.energy()) - fill('l2L1Pt' , event.leg2.L1particle.pt() ) - fill('l2L1Eta' , event.leg2.L1particle.eta() ) - fill('l2L1Phi' , event.leg2.L1particle.phi() ) - fill('l2L1Charge', event.leg2.L1particle.charge()) - fill('l2L1Mass' , event.leg2.L1particle.mass() ) - #fParticleVars('l1L1', event.leg1.L1particle) - #fParticleVars('l2L1', event.leg2.L1particle) - - ### taus pt hierarchy can be swapped after TauES correction - if event.diLepton.leg1().pt() >= event.diLepton.leg2().pt() : - leg1 = event.diLepton.leg1() - leg2 = event.diLepton.leg2() - fill('mt1', event.diLepton.mTLeg1()*scale) - fill('mt2', event.diLepton.mTLeg2()*scale) - elif event.diLepton.leg1().pt() < event.diLepton.leg2().pt() : - leg2 = event.diLepton.leg1() - leg1 = event.diLepton.leg2() - fill('mt2', event.diLepton.mTLeg1()*scale) - fill('mt1', event.diLepton.mTLeg2()*scale) - - ## tau1 radius - eta = [] - phi = [] - for sigCand in event.diLepton.leg1().physObj.signalPFCands() : - eta.append(sigCand.eta()) - phi.append(sigCand.phi()) - dR = 0. - for i in range(len(eta)) : - if deltaR(leg1.eta(), leg1.phi(), eta[i], phi[i]) > dR : - dR = deltaR(leg1.eta(), leg1.phi(), eta[i], phi[i]) - fill('l1Radius', dR) - - ## tau2 radius - eta = [] - phi = [] - for sigCand in event.diLepton.leg2().physObj.signalPFCands() : - eta.append(sigCand.eta()) - phi.append(sigCand.phi()) - dR = 0. - for i in range(len(eta)) : - if deltaR(leg2.eta(), leg2.phi(), eta[i], phi[i]) > dR : - dR = deltaR(leg2.eta(), leg2.phi(), eta[i], phi[i]) - fill('l2Radius', dR) - - - - fParticleVars('l1', leg1 ) - fParticleVars('l2', leg2 ) - - l1jet = bestMatch( leg1, event.jets )[0] - l2jet = bestMatch( leg2, event.jets )[0] - - if l1jet: - fill('l1jetWidth', l1jet.rms() ) - fill('l1jetBtag' , l1jet.btag("combinedSecondaryVertexBJetTags") ) - - if l2jet: - fill('l2jetWidth', l2jet.rms() ) - fill('l2jetBtag' , l1jet.btag("combinedSecondaryVertexBJetTags") ) - - if hasattr(event,"leg1DeltaR"): - fill('l1match', event.leg1DeltaR ) - fill('l2match', event.leg2DeltaR ) - else: - fill('l1match', -1 ) - fill('l2match', -1 ) - - if hasattr(event,"genMass"): - fill('genMass', event.genMass ) -# from ROOT import TFile,TH1F -# f = TFile("/afs/cern.ch/user/h/hinzmann/workspace/stable2012/CMGTools/CMSSW_5_2_5/src/CMGTools/H2TauTau/python/proto/embeddedWeights.root") -# hEmbed = f.Get("hemb") -# shift=hEmbed.GetRandom()/event.genMass -# fill('genMassSmeared', event.genMass*shift ) -# fill('svfitMassSmeared', event.diLepton.massSVFit()*scale*shift ) - else: - fill('genMass' , -1 ) - fill('genMassSmeared' , -1 ) - fill('svfitMassSmeared', -1 ) - - # trigger matching for diTau trigger present in parked dataset - if hasattr(event,"l1TrigMatched_diTau") and hasattr(event,"l2TrigMatched_diTau") : - fill( 'l1TrigMatched_diTau' , event.l1TrigMatched_diTau ) - fill( 'l2TrigMatched_diTau' , event.l2TrigMatched_diTau ) - else: - fill( 'l1TrigMatched_diTau' , -1) - fill( 'l2TrigMatched_diTau' , -1) - - # trigger matching for diTauJet trigger - if hasattr(event,"l1TrigMatched_diTauJet") and hasattr(event,"l2TrigMatched_diTauJet") and hasattr(event,"jetTrigMatched_diTauJet"): - fill( 'l1TrigMatched_diTauJet' , event.l1TrigMatched_diTauJet ) - fill( 'l2TrigMatched_diTauJet' , event.l2TrigMatched_diTauJet ) - fill( 'jetTrigMatched_diTauJet', event.jetTrigMatched_diTauJet) - else: - fill( 'l1TrigMatched_diTauJet' , -1) - fill( 'l2TrigMatched_diTauJet' , -1) - fill( 'jetTrigMatched_diTauJet', -1) - - - if hasattr(event,"triggerWeight_diTauJet") and hasattr(event,"triggerEffMC_diTauJet") and hasattr(event,"triggerEffData_diTauJet"): - fill( 'triggerWeight_diTauJet' ,event.triggerWeight_diTauJet ) - fill( 'triggerEffMC_diTauJet' ,event.triggerEffMC_diTauJet ) - fill( 'triggerEffData_diTauJet',event.triggerEffData_diTauJet) - else : - fill( 'triggerWeight_diTauJet' ,1) - fill( 'triggerEffMC_diTauJet' ,1) - fill( 'triggerEffData_diTauJet',1) - - - if hasattr(event,"triggerWeight_diTau") and hasattr(event,"triggerEffMC_diTau") and hasattr(event,"triggerEffData_diTau"): - fill( 'triggerWeight_diTau' ,event.triggerWeight_diTau ) - fill( 'triggerEffMC_diTau' ,event.triggerEffMC_diTau ) - fill( 'triggerEffData_diTau',event.triggerEffData_diTau) - else : - fill( 'triggerWeight_diTau' ,1) - fill( 'triggerEffMC_diTau' ,1) - fill( 'triggerEffData_diTau',1) - - nJets = len(event.cleanJets) - fill('nJets', nJets ) - if nJets>=1: - fParticleVars('jet1', event.cleanJets[0] ) - fill('jet1Btag' , event.cleanJets[0].btag("combinedSecondaryVertexBJetTags") ) - fill('jet1Bmatch' , event.cleanJets[0].matchGenParton ) - fill('mttj' , sqrt(pow(event.diLepton.energy()+event.cleanJets[0].energy(),2) - pow(event.diLepton.px()+event.cleanJets[0].px(),2) - pow(event.diLepton.py()+event.cleanJets[0].py(),2) - pow(event.diLepton.pz()+event.cleanJets[0].pz(),2))) - fill('l1JetInvMass' , sqrt(pow(leg1.energy()+event.cleanJets[0].energy(),2) - pow(leg1.px()+event.cleanJets[0].px(),2) - pow(leg1.py()+event.cleanJets[0].py(),2) - pow(leg1.pz()+event.cleanJets[0].pz(),2))) - fill('l2JetInvMass' , sqrt(pow(leg2.energy()+event.cleanJets[0].energy(),2) - pow(leg2.px()+event.cleanJets[0].px(),2) - pow(leg2.py()+event.cleanJets[0].py(),2) - pow(leg2.pz()+event.cleanJets[0].pz(),2))) - if nJets>=2: - fParticleVars('jet2', event.cleanJets[1] ) - fill('jet2Btag' , event.cleanJets[1].btag("combinedSecondaryVertexBJetTags") ) - fill('jet2Bmatch' , event.cleanJets[1].matchGenParton ) - fill('mjj' , event.vbf.mjj) - fill('dEtajj' , event.vbf.deta) - fill('dPhijj' , deltaPhi(event.cleanJets[0].phi(), event.cleanJets[1].phi())) - fill('dEtattjj' , fabs(event.cleanJets[0].eta()+event.cleanJets[1].eta()-event.diLepton.eta())) - fill('dPhittjj' , deltaPhi(event.cleanJets[0].phi()+event.cleanJets[1].phi(),event.diLepton.phi())) - fill('nCentralJets' , len(event.vbf.centralJets)) - fill('vbfMVA' , event.vbf.mva) - - ## Riccardo - sumJetPt = 0. - for j in range(nJets) : - sumJetPt += event.cleanJets[j].pt() - fill('allJetPt', event.cleanJets[j].pt()) - if nJets == 0 : sumJetPt = -99. - fill('sumJetPt', sumJetPt) - - nbJets = len(event.cleanBJets) - fill('nbJets', nbJets ) - if nbJets>=1: - fParticleVars('bjet1', event.cleanBJets[0] ) - if nbJets>=2: - fParticleVars('bjet2', event.cleanBJets[1] ) - - ## Riccardo - sumbJetPt = 0. - for j in range(nbJets) : - sumbJetPt += event.cleanBJets[j].pt() - fill('allbJetPt', event.cleanBJets[j].pt()) - if nbJets == 0 : sumbJetPt = -99. - fill('sumbJetPt', sumbJetPt) - - fill('weight', event.eventWeight) - if hasattr( event, 'vertexWeight'): - fill('vertexWeight', event.vertexWeight ) - fill('nVert' , len(event.vertices) ) - if hasattr( event, 'embedWeight'): - fill('embedWeight', event.embedWeight) - if hasattr( event, 'triggerWeight'): - fill('triggerWeight', event.triggerWeight) - - if hasattr( event, 'triggerEffData'): - fill('triggerEffData', event.triggerEffData) - if hasattr( event, 'triggerEffMC'): - fill('triggerEffMC', event.triggerEffMC) - - isFake = 1 - if hasattr( event, 'genMatched'): - if event.genMatched == 1: - isFake = 0 - fill('isFake', isFake) - - if hasattr( event, 'isZtt') and hasattr( event, 'isZee') and hasattr( event, 'isZmm') and hasattr( event, 'isZj') and hasattr( event, 'isZttll') and hasattr( event, 'isZttj') : - fill('isZtt' , event.isZtt ) - fill('isZee' , event.isZee ) - fill('isZmm' , event.isZmm ) - fill('isZj' , event.isZj ) - fill('isZttll', event.isZttll ) - fill('isZttj' , event.isZttj ) - else : - fill('isZtt' , -1 ) - fill('isZee' , -1 ) - fill('isZmm' , -1 ) - fill('isZj' , -1 ) - fill('isZttll', -1 ) - fill('isZttj' , -1 ) - - - genMatched = 0 - if hasattr(event,'genMatched') and event.genMatched > 0: genMatched = event.genMatched - fill('genMatched', genMatched) - - isPhoton = 0 - if hasattr(event,'isPhoton') and event.isPhoton == 1: isPhoton = 1 - fill('isPhoton', isPhoton) - - isElectron = 0 - if hasattr(event,'isElectron') and event.isElectron > 0: isElectron = event.isElectron - fill('isElectron', isElectron) - - isMuon = 0 - if hasattr(event,'isMuon') and event.isMuon > 0: isMuon = event.isMuon - fill('isMuon', isMuon) - - hasW = 0 - if hasattr(event,'hasW') and event.hasW == 1: hasW = 1 - fill('hasW', hasW) - - hasZ = 0 - if hasattr(event,'hasZ') and event.hasZ == 1: hasZ = 1 - fill('hasZ', hasZ) - - if hasattr(leg1,'genl') : - fill('l1GenPdgId', leg1.genl.pdgId()) - fill('l1GenPt' , leg1.genl.pt() ) - fill('l1GenEta' , leg1.genl.eta() ) - fill('l1GenPhi' , leg1.genl.phi() ) - fill('l1GenMass' , leg1.genl.mass() ) - else : - fill('l1GenPt' , -1. ) - fill('l1GenEta' , -99.) - fill('l1GenPhi' , -99.) - fill('l1GenMass', -1. ) - - if hasattr(leg2,'genl') : - fill('l2GenPdgId', leg2.genl.pdgId()) - fill('l2GenPt' , leg2.genl.pt() ) - fill('l2GenEta' , leg2.genl.eta() ) - fill('l2GenPhi' , leg2.genl.phi() ) - fill('l2GenMass' , leg2.genl.mass()) - else : - fill('l2GenPt' , -1. ) - fill('l2GenEta' , -99.) - fill('l2GenPhi' , -99.) - fill('l2GenMass', -1. ) - - if len(event.muons)>0: - fill('muon1Pt' , event.muons[0].pt() ) - fill('muon1Eta', event.muons[0].eta() ) - fill('muon1Phi', event.muons[0].phi() ) - else: - fill('muon1Pt' , -1 ) - fill('muon1Eta', -1 ) - fill('muon1Phi', -1 ) - - if len(event.electrons)>0: - fill('electron1Pt' , event.electrons[0].pt() ) - fill('electron1Eta', event.electrons[0].eta() ) - fill('electron1Phi', event.electrons[0].phi() ) - else: - fill('electron1Pt' , -1 ) - fill('electron1Eta', -1 ) - fill('electron1Phi', -1 ) - - fill('higgsPtWeightNom' ,event.higgsPtWeightNom ) - fill('higgsPtWeightUp' ,event.higgsPtWeightUp ) - fill('higgsPtWeightDown',event.higgsPtWeightDown) - - ####### EMBEDDED WEIGHTS - fill( 'genfilter' , event.genfilter ) - fill( 'tauspin' , event.tauspin ) - fill( 'zmumusel' , event.zmumusel ) - fill( 'muradcorr' , event.muradcorr ) - fill( 'genTau2PtVsGenTau1Pt' , event.genTau2PtVsGenTau1Pt ) - fill( 'genTau2EtaVsGenTau1Eta' , event.genTau2EtaVsGenTau1Eta ) - fill( 'genDiTauMassVsGenDiTauPt', event.genDiTauMassVsGenDiTauPt ) - - fill('NUP', event.NUP ) - - for trig in self.triggers: - fill(trig, getattr(event,trig)) + super(H2TauTauTreeProducerTauTau, self).declareVariables(setup) + + self.bookTau(self.tree, 'l1') + self.bookTau(self.tree, 'l2') + + self.bookGenParticle(self.tree, 'l1_gen') + self.bookGenParticle(self.tree, 'l2_gen') - self.tree.fill() + self.bookParticle(self.tree, 'l1_gen_vis') + self.bookParticle(self.tree, 'l2_gen_vis') + + def process(self, event): + + super(H2TauTauTreeProducerTauTau, self).process(event) + + tau1 = event.leg1 + tau2 = event.leg2 + + self.fillTau(self.tree, 'l1', tau1 ) + self.fillTau(self.tree, 'l2', tau2 ) + + if hasattr(tau1, 'genl1') : self.fillGenParticle(self.tree, 'l1_gen', tau1.genl ) + if hasattr(tau2, 'genl2') : self.fillGenParticle(self.tree, 'l2_gen', tau2.genl ) + + # RIC: hasattr has depth=1, butthis would be nicer + # http://code.activestate.com/recipes/577346-getattr-with-arbitrary-depth/ + # may think of putting it into some utils + tau1po = event.leg1.physObj + tau2po = event.leg2.physObj + + # save the p4 of the visible tau products at the generator level + # make sure that the reco tau matches with a gen tau that decays into hadrons + if hasattr(tau1po, 'genJet') and hasattr(tau1,'genl') and abs(tau1.genl.pdgId()) == 15 and tau1.physObj.genJet() : + self.fillParticle(self.tree, 'l1_gen_vis', tau1.physObj.genJet() ) + if hasattr(tau2po, 'genJet') and hasattr(tau2,'genl') and abs(tau2.genl.pdgId()) == 15 and tau2.physObj.genJet() : + self.fillParticle(self.tree, 'l2_gen_vis', tau2.physObj.genJet() ) + + self.fillTree(event) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/HiggsPtWeighter.py b/CMGTools/H2TauTau/python/proto/analyzers/HiggsPtWeighter.py index b5a37c340502..813226e06475 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/HiggsPtWeighter.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/HiggsPtWeighter.py @@ -2,28 +2,24 @@ from ROOT import TFile -from CMGTools.RootTools.analyzers.GenParticleAnalyzer import * -from PhysicsTools.HeppyCore.utils.deltar import matchObjectCollection -from CMGTools.RootTools.physicsobjects.genutils import * -from PhysicsTools.HeppyCore.statistics.average import Average +from PhysicsTools.HeppyCore.statistics.average import Average +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer -class HiggsPtWeighter( GenParticleAnalyzer ): - '''Weight the event to get the NLO Higgs pT distribution for ggH events - ''' +class HiggsPtWeighter( Analyzer ): + '''Weight the event to get the NLO Higgs pT distribution for ggH events''' def __init__(self, cfg_ana, cfg_comp, looperName): super(HiggsPtWeighter,self).__init__(cfg_ana, cfg_comp, looperName) - + self.rePatGGH = re.compile('HiggsGGH(\d+)') self.isGGH, self.higgsMass = self.isGGH(self.cfg_comp) if self.isGGH: - self.higgsPtWeightFile=TFile("$CMSSW_BASE/src/CMGTools/H2TauTau/data/weight_ptH_{mass}_8TeV.root".format(mass=self.higgsMass)) - self.higgsPtWeightHistogram = self.higgsPtWeightFile.Get("Nominal") - self.higgsPtWeightHistogramUp = self.higgsPtWeightFile.Get("Up") - self.higgsPtWeightHistogramDown = self.higgsPtWeightFile.Get("Down") - - + self.higgsPtWeightFile = TFile("$CMSSW_BASE/src/CMGTools/H2TauTau/data/weight_ptH_{mass}_8TeV.root".format(mass=self.higgsMass)) + self.higgsPtWeightHistogram = self.higgsPtWeightFile.Get("Nominal") + self.higgsPtWeightHistogramUp = self.higgsPtWeightFile.Get("Up" ) + self.higgsPtWeightHistogramDown = self.higgsPtWeightFile.Get("Down" ) + def isGGH(self, component): if self.cfg_comp.isMC: match = self.rePatGGH.match( self.cfg_comp.name ) @@ -35,29 +31,30 @@ def isGGH(self, component): else: return False, -1 - def beginLoop(self, setup): print self, self.__class__ super(HiggsPtWeighter,self).beginLoop(setup) self.averages.add('weight', Average('weight') ) def process(self, event): - event.higgsPtWeight = 1 - event.higgsPtWeightUp = 1 + + event.higgsPtWeight = 1 + event.higgsPtWeightUp = 1 event.higgsPtWeightDown = 1 - if not self.isGGH: - return True + + if not self.isGGH: return True + + higgsBosons = event.genHiggsBosons - result = super(HiggsPtWeighter, self).process(event) - higgsBosons = [gen for gen in event.genParticles if gen.status()==3 and gen.pdgId()==25] if len(higgsBosons)!=1: - strerr = '{nhiggs} Higgs bosons, this should not happen for a ggH component. Your component is:\n {comp}'.format(nhiggs=len(higgsBosons), comp=str(self.cfg_comp)) + strerr = '{nhiggs} Higgs bosons, this should not happen for a ggH component. \ + Your component is:\n {comp}'.format(nhiggs=len(higgsBosons), comp=str(self.cfg_comp)) raise ValueError(strerr) event.genHiggs = higgsBosons[0] higgsPt = event.genHiggs.pt() - event.higgsPtWeight = self.higgsPtWeightHistogram.GetBinContent(self.higgsPtWeightHistogram.FindBin(higgsPt)) - event.higgsPtWeightUp = self.higgsPtWeightHistogramUp.GetBinContent(self.higgsPtWeightHistogramUp.FindBin(higgsPt)) + event.higgsPtWeight = self.higgsPtWeightHistogram .GetBinContent(self.higgsPtWeightHistogram .FindBin(higgsPt)) + event.higgsPtWeightUp = self.higgsPtWeightHistogramUp .GetBinContent(self.higgsPtWeightHistogramUp .FindBin(higgsPt)) event.higgsPtWeightDown = self.higgsPtWeightHistogramDown.GetBinContent(self.higgsPtWeightHistogramDown.FindBin(higgsPt)) ### MULTIPLYING TO THE EVENT WEIGHT @@ -67,8 +64,8 @@ def process(self, event): self.averages['weight'].add( event.higgsPtWeight ) if self.cfg_ana.verbose: print 'HiggsPtWeighter: pt_H={pt:6.2f}, weight={weight:6.2f}'.format( - pt=higgsPt, - weight=event.higgsPtWeight + pt = higgsPt, + weight= event.higgsPtWeight ) return True diff --git a/CMGTools/H2TauTau/python/proto/analyzers/JetAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/JetAnalyzer.py new file mode 100644 index 000000000000..3eb2a77bfd78 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/JetAnalyzer.py @@ -0,0 +1,235 @@ +import random + +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle +from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Jet, GenJet + +from PhysicsTools.HeppyCore.utils.deltar import cleanObjectCollection, matchObjectCollection +from PhysicsTools.HeppyCore.utils.deltar import deltaR2 + +from PhysicsTools.Heppy.physicsutils.BTagSF import BTagSF +from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import GenParticle +from PhysicsTools.Heppy.utils.cmsswRelease import isNewerThan + +# JAN: Kept this version of the jet analyzer in the tau-tau sequence +# for now since it has all the agreed-upon features used in the tau-tau group, +# in particular the SF seeding for b-tagging. +# In the long run, it might be a good idea to switch to the generic jet analyzer +# in heppy and possibly add b-tagging in another step or add it to the generic +# jet analyzer + + +class JetAnalyzer(Analyzer): + + """Analyze jets. + + Copied from heppy examples and edit to not rely on heppy examples. + + This analyzer filters the jets that do not correspond to the leptons + stored in event.selectedLeptons, and puts in the event: + - jets: all jets passing the pt and eta cuts + - cleanJets: the collection of jets away from the leptons + - cleanBJets: the jets passing testBJet, and away from the leptons + + Example configuration: + + jetAna = cfg.Analyzer( + 'JetAnalyzer', + jetCol = 'slimmedJets' + # cmg jet input collection + # pt threshold + jetPt = 30, + # eta range definition + jetEta = 5.0, + # seed for the btag scale factor + btagSFseed = 0xdeadbeef, + # if True, the PF and PU jet ID are not applied, and the jets get flagged + relaxJetId = False, + ) + """ + + def __init__(self, cfg_ana, cfg_comp, looperName): + super(JetAnalyzer, self).__init__(cfg_ana, cfg_comp, looperName) + self.btagSF = BTagSF(0) + self.is2012 = isNewerThan('CMSSW_5_2_0') + + def declareHandles(self): + super(JetAnalyzer, self).declareHandles() + + self.handles['jets'] = AutoHandle(self.cfg_ana.jetCol, + 'std::vector') + if self.cfg_comp.isMC: + self.mchandles['genParticles'] = AutoHandle('packedGenParticles', + 'std::vector') + self.mchandles['genJets'] = AutoHandle('slimmedGenJets', + 'std::vector') + + def beginLoop(self, setup): + super(JetAnalyzer, self).beginLoop(setup) + self.counters.addCounter('jets') + count = self.counters.counter('jets') + count.register('all events') + count.register('at least 2 good jets') + count.register('at least 2 clean jets') + count.register('at least 1 b jet') + count.register('at least 2 b jets') + + def process(self, event): + + self.readCollections(event.input) + miniaodjets = self.handles['jets'].product() + + allJets = [] + event.jets = [] + event.bJets = [] + event.cleanJets = [] + event.cleanBJets = [] + + leptons = [] + if hasattr(event, 'selectedLeptons'): + leptons = event.selectedLeptons + + genJets = None + if self.cfg_comp.isMC: + genJets = map(GenJet, self.mchandles['genJets'].product()) + + for maodjet in miniaodjets: + jet = Jet(maodjet) + allJets.append(jet) + if self.cfg_comp.isMC and hasattr(self.cfg_comp, 'jetScale'): + scale = random.gauss(self.cfg_comp.jetScale, + self.cfg_comp.jetSmear) + jet.scaleEnergy(scale) + if genJets: + # Use DeltaR = 0.25 matching like JetMET + pairs = matchObjectCollection([jet], genJets, 0.25 * 0.25) + if pairs[jet] is None: + pass + else: + jet.matchedGenJet = pairs[jet] + # Add JER correction for MC jets. Requires gen-jet matching. + if self.cfg_comp.isMC and hasattr(self.cfg_ana, 'jerCorr') and self.cfg_ana.jerCorr: + self.jerCorrection(jet) + # Add JES correction for MC jets. + if self.cfg_comp.isMC and hasattr(self.cfg_ana, 'jesCorr'): + self.jesCorrection(jet, self.cfg_ana.jesCorr) + if self.testJet(jet): + event.jets.append(jet) + if self.testBJet(jet): + event.bJets.append(jet) + + self.counters.counter('jets').inc('all events') + + event.cleanJets, dummy = cleanObjectCollection(event.jets, + masks=leptons, + deltaRMin=0.5) + event.cleanBJets, dummy = cleanObjectCollection(event.bJets, + masks=leptons, + deltaRMin=0.5) + + pairs = matchObjectCollection(leptons, allJets, 0.5 * 0.5) + # associating a jet to each lepton + for lepton in leptons: + jet = pairs[lepton] + if jet is None: + lepton.jet = lepton + else: + lepton.jet = jet + + # associating a leg to each clean jet + invpairs = matchObjectCollection(event.cleanJets, leptons, 99999.) + for jet in event.cleanJets: + leg = invpairs[jet] + jet.leg = leg + + for jet in event.cleanJets: + jet.matchGenParton = 999.0 + + if self.cfg_comp.isMC and "BB" in self.cfg_comp.name: + genParticles = self.mchandles['genParticles'].product() + event.genParticles = map(GenParticle, genParticles) + for gen in genParticles: + if abs(gen.pdgId()) == 5 and gen.mother() and abs(gen.mother().pdgId()) == 21: + for jet in event.cleanJets: + dR = deltaR2(jet.eta(), jet.phi(), gen.eta(), gen.phi()) + if dR < jet.matchGenParton: + jet.matchGenParton = dR + + event.jets30 = [jet for jet in event.jets if jet.pt() > 30] + event.cleanJets30 = [jet for jet in event.cleanJets if jet.pt() > 30] + if len(event.jets30) >= 2: + self.counters.counter('jets').inc('at least 2 good jets') + if len(event.cleanJets30) >= 2: + self.counters.counter('jets').inc('at least 2 clean jets') + if len(event.cleanBJets) > 0: + self.counters.counter('jets').inc('at least 1 b jet') + if len(event.cleanBJets) > 1: + self.counters.counter('jets').inc('at least 2 b jets') + return True + + def jerCorrection(self, jet): + ''' Adds JER correction according to first method at + https://twiki.cern.ch/twiki/bin/view/CMS/JetResolution + + Requires some attention when genJet matching fails. + ''' + if not hasattr(jet, 'matchedGenJet'): + return + #import pdb; pdb.set_trace() + corrections = [0.052, 0.057, 0.096, 0.134, 0.288] + maxEtas = [0.5, 1.1, 1.7, 2.3, 5.0] + eta = abs(jet.eta()) + for i, maxEta in enumerate(maxEtas): + if eta < maxEta: + pt = jet.pt() + deltaPt = (pt - jet.matchedGenJet.pt()) * corrections[i] + totalScale = (pt + deltaPt) / pt + + if totalScale < 0.: + totalScale = 0. + jet.scaleEnergy(totalScale) + break + + def jesCorrection(self, jet, scale=0.): + ''' Adds JES correction in number of sigmas (scale) + ''' + # Do nothing if nothing to change + if scale == 0.: + return + unc = jet.uncOnFourVectorScale() + totalScale = 1. + scale * unc + if totalScale < 0.: + totalScale = 0. + jet.scaleEnergy(totalScale) + + def testJetID(self, jet): + jet.puJetIdPassed = jet.puJetId() + jet.pfJetIdPassed = jet.jetID("POG_PFID_Loose") + if self.cfg_ana.relaxJetId: + return True + else: + return jet.puJetIdPassed and jet.pfJetIdPassed + + def testJet(self, jet): + return jet.pt() > self.cfg_ana.jetPt and \ + abs( jet.eta() ) < self.cfg_ana.jetEta and \ + self.testJetID(jet) + + def testBJet(self, jet): + # medium csv working point + # https://twiki.cern.ch/twiki/bin/viewauth/CMS/BTagPerformanceOP#B_tagging_Operating_Points_for_3 + jet.btagMVA = jet.btag('combinedInclusiveSecondaryVertexV2BJetTags') + jet.btagFlag = jet.btagWP('CSVv2IVFM') + # jet.btagFlag = self.btagSF.isbtagged( + # jet.pt(), + # jet.eta(), + # jet.btag("combinedInclusiveSecondaryVertexV2BJetTags"), + # abs(jet.partonFlavour()), + # not self.cfg_comp.isMC, + # 0, 0, + # self.is2012 + # ) + return jet.pt() > 20 and \ + abs(jet.eta()) < 2.4 and \ + jet.btagFlag and \ + self.testJetID(jet) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/JetHistograms.py b/CMGTools/H2TauTau/python/proto/analyzers/JetHistograms.py deleted file mode 100644 index 77226e96122a..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/JetHistograms.py +++ /dev/null @@ -1,43 +0,0 @@ -from ROOT import TTree, TH1F, TH2F, TProfile, gDirectory - -from CMGTools.RootTools.statistics.Histograms import Histograms - -class JetHistograms(Histograms): - - def __init__(self, name, fillFractions=False): - - self.fillFractions = fillFractions - - self.h_n = TH1F(name+'_h_n', ';N_{jets}', 7, -0.5, 6.5) - self.h_pt = TH1F(name+'_h_pt', ';p_{T} (GeV)', 80, 0, 400) - self.h_eta = TH1F(name+'_h_eta', ';#eta', 50, -5, 5) - self.h_rawFactor = TH1F(name+'_h_rawFactor', ';raw factor', 100, 0.6, 1.1) - - # need to see entries for frac = 1 - if self.fillFractions: - self.h_frac_ch = TH1F(name+'_h_frac_ch', ';ch E fraction', 55, 0, 1.1) - self.h_frac_nh = TH1F(name+'_h_frac_nh', ';nh E fraction', 55, 0, 1.1) - self.h_frac_ph = TH1F(name+'_h_frac_ph', ';ph E fraction', 55, 0, 1.1) - self.h_frac_mu = TH1F(name+'_h_frac_mu', ';mu E fraction', 55, 0, 1.1) - self.h_frac_ele = TH1F(name+'_h_frac_ele', ';ele E fraction', 55, 0, 1.1) - self.h_frac_hfhad = TH1F(name+'_h_frac_hfhad', ';HF had E fraction', 55, 0, 1.1) - self.h_frac_hfem = TH1F(name+'_h_frac_hfem', ';HF em E fraction', 55, 0, 1.1) - - super(JetHistograms, self).__init__(name) - - - def Fill(self, jets, weight ): - self.h_n.Fill( len(jets), weight ) - for jet in jets: - self.h_pt.Fill( jet.pt(), weight ) - self.h_eta.Fill( jet.eta(), weight ) - self.h_rawFactor.Fill( jet.rawFactor(), weight ) - # COLIN: commenting the following lines allows to gain some speed - if self.fillFractions: - self.h_frac_ch.Fill( jet.component(1).fraction(), weight ) - self.h_frac_nh.Fill( jet.component(5).fraction(), weight ) - self.h_frac_ph.Fill( jet.component(4).fraction(), weight ) - self.h_frac_mu.Fill( jet.component(3).fraction(), weight ) - self.h_frac_ele.Fill( jet.component(2).fraction(), weight ) - self.h_frac_hfhad.Fill( jet.component(6).fraction(), weight ) - self.h_frac_hfem.Fill( jet.component(7).fraction(), weight ) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/JetWeighter.py b/CMGTools/H2TauTau/python/proto/analyzers/JetWeighter.py deleted file mode 100644 index 709f4014012a..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/JetWeighter.py +++ /dev/null @@ -1,102 +0,0 @@ -from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from PhysicsTools.HeppyCore.statistics.average import Average - -from CMGTools.H2TauTau.proto.TriggerEfficiency import TriggerEfficiency - - -class JetWeighter( Analyzer ): - '''Gets jet1 efficiency weight and puts it in the event''' - - def __init__(self, cfg_ana, cfg_comp, looperName): - super(JetWeighter,self).__init__(cfg_ana, cfg_comp, looperName) - - self.jet1 = None - self.weight = None - # self.weightFactor = 1. - self.trigEff = None - if self.cfg_comp.isMC or self.cfg_comp.isEmbed: - self.trigEff = TriggerEfficiency() - self.trigEff.lepEff = getattr( self.trigEff, - self.cfg_ana.effWeight ) - self.trigEff.lepEffMC = None - if hasattr( self.cfg_ana, 'effWeightMC'): - self.trigEff.lepEffMC = getattr( self.trigEff, - self.cfg_ana.effWeightMC ) - - - def beginLoop(self, setup): - print self, self.__class__ - super(JetWeighter,self).beginLoop(setup) - self.averages.add('weight', Average('weight') ) - self.averages.add('triggerWeight', Average('triggerWeight') ) - self.averages.add('eff_data', Average('eff_data') ) - self.averages.add('eff_MC', Average('eff_MC') ) - self.averages.add('recEffWeight', Average('recEffWeight') ) - - - def process(self, event): - self.readCollections( event.input ) - if len(event.cleanJets)<1: return - #import pdb ; pdb.set_trace() - self.jet1 = event.cleanJets[0] - self.jet1.weight = 1 - self.jet1.triggerWeight = 1 - self.jet1.triggerEffData = 1 - self.jet1.triggerEffMC = 1 - if self.cfg_comp.isMC or self.cfg_comp.isEmbed: - assert( self.trigEff is not None ) - #import pdb ; pdb.set_trace() - self.jet1.triggerEffData = self.trigEff.lepEff( self.jet1.pt(), self.jet1.eta() ) - self.jet1.triggerWeight = self.jet1.triggerEffData - - #import pdb ; pdb.set_trace() - if self.trigEff.lepEffMC is not None and len(self.cfg_comp.triggers)>0: - self.jet1.triggerEffMC = self.trigEff.lepEffMC( self.jet1.pt(), self.jet1.eta() ) - if self.jet1.triggerEffMC>0: - self.jet1.triggerWeight /= self.jet1.triggerEffMC - else: - self.jet1.triggerWeight = 1. - - #import pdb ; pdb.set_trace() - - self.jet1.weight = self.jet1.triggerWeight - -## varName = '_'.join([self.jet1Name, 'eff']) -## setattr( event, varName, self.jet1.triggerEffData ) - -## varName = '_'.join([self.jet1Name, 'effMC']) -## setattr( event, varName, self.triggerEffMC ) - -## varName = '_'.join([self.jet1Name, 'triggerWeight']) -## setattr( event, varName, self.jet1.triggerWeight ) - -## varName = '_'.join([self.jet1Name, 'weight']) -## setattr( event, varName, self.jet1.weight ) - - -######## commented for now, need to change the variables names -# event.eventWeight *= self.jet1.weight -# if not hasattr(event,"triggerWeight") : event.triggerWeight = 1.0 -# event.triggerWeight *= self.jet1.triggerWeight -# if not hasattr(event,"triggerEffMC") : event.triggerEffMC = 1.0 -# event.triggerEffMC *= self.jet1.triggerEffMC -# if not hasattr(event,"triggerEffData"): event.triggerEffData = 1.0 -# event.triggerEffData *= self.jet1.triggerEffData - - - event.eventWeight *= self.jet1.weight - if not hasattr(event,"triggerWeight_diTauJet") : event.triggerWeight_diTauJet = 1.0 - event.triggerWeight_diTauJet *= self.jet1.triggerWeight - if not hasattr(event,"triggerEffMC_diTauJet") : event.triggerEffMC_diTauJet = 1.0 - event.triggerEffMC_diTauJet *= self.jet1.triggerEffMC - if not hasattr(event,"triggerEffData_diTauJet"): event.triggerEffData_diTauJet = 1.0 - event.triggerEffData_diTauJet *= self.jet1.triggerEffData - - - - self.averages['weight'].add( self.jet1.weight ) - self.averages['triggerWeight'].add( self.jet1.triggerWeight ) - self.averages['eff_data'].add( self.jet1.triggerEffData ) - self.averages['eff_MC'].add( self.jet1.triggerEffMC ) - diff --git a/CMGTools/H2TauTau/python/proto/analyzers/LegHistograms.py b/CMGTools/H2TauTau/python/proto/analyzers/LegHistograms.py deleted file mode 100644 index 5140e28d6269..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/LegHistograms.py +++ /dev/null @@ -1,79 +0,0 @@ -from ROOT import TTree, TH1F, TH2F, TProfile, gDirectory - -from CMGTools.RootTools.statistics.Histograms import Histograms -from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Tau,isTau - - -class LegHistograms(Histograms): - def __init__(self, name, leg): - self.leg = leg - fname = '_'.join([name,leg]) - - self.h_pt = TH1F(fname+'_h_pt', ';p_{T} (GeV)', 40, 0, 100) - self.h_eta = TH1F(fname+'_h_eta', ';#eta', 50, -2.5, 2.5) - - self.h_iso = TH1F(fname+'_h_iso', ';rel iso', 50, 0, 0.5) - self.h_iso_dbeta = TH1F(fname+'_h_iso_dbeta', ';rel iso', 50, 0, 0.5) - self.h_iso_abs = TH1F(fname+'_h_iso_abs', ';abs iso', 50, 0, 20) - self.h_iso_abs_dbeta = TH1F(fname+'_h_iso_abs_dbeta', ';abs iso', 50, 0, 20) - - self.h_iso_ch = TH1F(fname+'_h_iso_ch', ';ch iso', 50, 0, 20) - self.h_iso_nh = TH1F(fname+'_h_iso_nh', ';nh iso', 50, 0, 20) - self.h_iso_ph = TH1F(fname+'_h_iso_ph', ';ph iso', 50, 0, 20) - - super(LegHistograms, self).__init__(fname) - - - def FillLeg(self, leg, weight ): - dbetaFactor = 0.5 - self.h_pt.Fill( leg.pt(), weight ) - self.h_eta.Fill( leg.eta(), weight ) - self.h_iso.Fill( leg.relIso(), weight ) - self.h_iso_dbeta.Fill( leg.relIso(dbetaFactor), weight ) - self.h_iso_abs.Fill( leg.absIso(), weight ) - self.h_iso_abs_dbeta.Fill( leg.absIso(dbetaFactor), weight ) - self.h_iso_ch.Fill( leg.chargedHadronIso(), weight ) - self.h_iso_nh.Fill( leg.neutralHadronIso(), weight ) - self.h_iso_ph.Fill( leg.photonIso(), weight ) - if isTau(leg): - tau = Tau( leg ) - self.h_eOverP.Fill( tau.calcEOverP(), weight ) - self.h_decMode.Fill( tau.decayMode(), weight ) - - - -class TauHistograms(LegHistograms): - def __init__(self, name, leg): - - self.h_eOverP = TH1F(name+leg+'_h_eOverP', ';E / p', 150, 0, 1.5) - self.h_decMode = TH1F(name+leg+'_h_decMode', ';decay mode', 16, -0.5, 15.5) - - super(TauHistograms, self).__init__(name, leg) - - - def FillTau(self, tau, weight): - #if not isTau(tau): - # raise ValueError() - # tau = Tau( tau ) #COLIN do I need that? - self.h_eOverP.Fill( tau.calcEOverP(), weight ) - self.h_decMode.Fill( tau.decayMode(), weight ) - - super(TauHistograms, self).FillLeg(tau, weight) - - - -class MuHistograms(LegHistograms): - def __init__(self, name, leg): - super(MuHistograms, self).__init__(name, leg) - - def FillMu(self, mu, weight): - super(MuHistograms, self).FillLeg(mu, weight) - - - -class EleHistograms(LegHistograms): - def __init__(self, name, leg): - super(EleHistograms, self).__init__(name, leg) - - def FillEle(self, ele, weight): - super(EleHistograms, self).FillLeg(ele, weight) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/MuEleAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/MuEleAnalyzer.py index d50e0b2a214b..b68e41c2a4d2 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/MuEleAnalyzer.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/MuEleAnalyzer.py @@ -1,36 +1,156 @@ -from PhysicsTools.Heppy.analyzers.examples.DiLeptonAnalyzer import DiLeptonAnalyzer -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from PhysicsTools.Heppy.physicsobjects.PhysicsObjectsimport Electron +import operator -from CMGTools.H2TauTau.proto.physicsobjects.DiObject import MuonElectron +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle +from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Muon, GenParticle +# RIC: 16/2/15 need to fix the Electron object first +# from PhysicsTools.Heppy.physicsobjects.HTauTauElectron import HTauTauElectron as Electron +from PhysicsTools.Heppy.physicsobjects.Electron import Electron + +from CMGTools.H2TauTau.proto.analyzers.DiLeptonAnalyzer import DiLeptonAnalyzer +from CMGTools.H2TauTau.proto.physicsobjects.DiObject import MuonElectron class MuEleAnalyzer( DiLeptonAnalyzer ): - DiObjectClass = MuonElectron - #COLIN what should I do for the di-lepton veto?? None I guess - LeptonClass = Electron + DiObjectClass = MuonElectron + LeptonClass = Muon + OtherLeptonClass = Electron def declareHandles(self): super(MuEleAnalyzer, self).declareHandles() - # print 'MuEleAnalyzer.declareHandles' - self.handles['diLeptons'] = AutoHandle( - 'cmgMuEleCorSVFitFullSel', - 'std::vector>' - ) - self.handles['leptons'] = AutoHandle( - 'cmgElectronSel', - 'std::vector' - ) + self.handles ['diLeptons' ] = AutoHandle('cmgMuEleCorSVFitFullSel', 'std::vector') + self.handles ['otherLeptons'] = AutoHandle('slimmedElectrons' , 'std::vector' ) + self.handles ['leptons' ] = AutoHandle('slimmedMuons' , 'std::vector' ) + self.mchandles['genParticles'] = AutoHandle('prunedGenParticles' , 'std::vector' ) + + def buildDiLeptons(self, cmgDiLeptons, event): + '''Build di-leptons, associate best vertex to both legs, + select di-leptons with a tight ID muon. + The tight ID selection is done so that dxy and dz can be computed + (the muon must not be standalone). + ''' + diLeptons = [] + for index, dil in enumerate(cmgDiLeptons): + pydil = self.__class__.DiObjectClass(dil) + # pydil = MuonElectron(dil) + pydil.leg1().associatedVertex = event.goodVertices[0] + pydil.leg2().associatedVertex = event.goodVertices[0] + pydil.leg2().rho = event.rho + if not self.testLeg2( pydil.leg2(), 999999 ): + continue + # pydil.mvaMetSig = pydil.met().getSignificanceMatrix() + diLeptons.append( pydil ) + pydil.mvaMetSig = pydil.met().getSignificanceMatrix() + return diLeptons + + def buildLeptons(self, cmgLeptons, event): + '''Build muons for veto, associate best vertex, select loose ID muons. + The loose ID selection is done to ensure that the muon has an inner track.''' + leptons = [] + for index, lep in enumerate(cmgLeptons): + pyl = self.__class__.LeptonClass(lep) + #pyl = Muon(lep) + pyl.associatedVertex = event.goodVertices[0] + leptons.append( pyl ) + return leptons + + def buildOtherLeptons(self, cmgOtherLeptons, event): + '''Build electrons for third lepton veto, associate best vertex. + ''' + otherLeptons = [] + for index, lep in enumerate(cmgOtherLeptons): + pyl = self.__class__.OtherLeptonClass(lep) + #import pdb ; pdb.set_trace() + #pyl = Electron(lep) + pyl.associatedVertex = event.goodVertices[0] + pyl.rho = event.rho + otherLeptons.append( pyl ) + return otherLeptons + + def process(self, event): + + result = super(MuEleAnalyzer, self).process(event) + + if result is False: + # trying to get a dilepton from the control region. + # it must have well id'ed and trig matched legs, + # di-lepton and tri-lepton veto must pass + result = self.selectionSequence(event, fillCounter = False, + leg1IsoCut = self.cfg_ana.looseiso1, + leg2IsoCut = self.cfg_ana.looseiso2) + if result is False: + # really no way to find a suitable di-lepton, + # even in the control region + return False + event.isSignal = False + else: + event.isSignal = True - def testLeg1(self, leg): - return self.testMuon (leg) and \ - super( MuEleAnalyzer, self).testLeg1( leg ) + event.genMatched = None + if self.cfg_comp.isMC: + # print event.eventId + genParticles = self.mchandles['genParticles'].product() + event.genParticles = map( GenParticle, genParticles) + leg1DeltaR, leg2DeltaR = event.diLepton.match( event.genParticles ) + if leg1DeltaR>-1 and leg1DeltaR < 0.1 and \ + leg2DeltaR>-1 and leg2DeltaR < 0.1: + event.genMatched = True + else: + event.genMatched = False + return True - def testLeg2(self, leg): - return self.testElectron(leg) and \ - super( MuEleAnalyzer, self).testLeg2( leg ) + def testLeg1ID(self, muon): + '''Tight muon selection, no isolation requirement''' + # RIC: 9 March 2015 + return muon.muonID('POG_ID_Medium') + def testLeg1Iso(self, muon, isocut): + '''Muon isolation to be implemented''' + # RIC: this leg is the muon, + # needs to be implemented here + # For now taken straight from mt channel + if isocut is None: + isocut = self.cfg_ana.iso1 + return muon.relIso(dBetaFactor=0.5, allCharged=0) one lepton. + e.g. > 1 mu in the mu tau channel. + To be implemented.''' + return True + + def bestDiLepton(self, diLeptons): + '''Returns the best diLepton (1st precedence opposite-sign, + 2nd precedence highest pt1 + pt2).''' + osDiLeptons = [dl for dl in diLeptons if dl.leg1().charge() != dl.leg2().charge()] + if osDiLeptons : return max( osDiLeptons, key=operator.methodcaller( 'sumPt' ) ) + else : return max( diLeptons, key=operator.methodcaller( 'sumPt' ) ) + diff --git a/CMGTools/H2TauTau/python/proto/analyzers/MuMuAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/MuMuAnalyzer.py new file mode 100644 index 000000000000..ac763394dd0a --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/MuMuAnalyzer.py @@ -0,0 +1,164 @@ +import operator + +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle +from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Muon +from PhysicsTools.Heppy.physicsobjects.Electron import Electron + +from CMGTools.H2TauTau.proto.analyzers.DiLeptonAnalyzer import DiLeptonAnalyzer +from CMGTools.H2TauTau.proto.physicsobjects.DiObject import DiMuon + +class MuMuAnalyzer(DiLeptonAnalyzer): + + DiObjectClass = DiMuon + LeptonClass = Muon + OtherLeptonClass = Electron + + def declareHandles(self): + super(MuMuAnalyzer, self).declareHandles() + self.handles['diLeptons'] = AutoHandle( + 'cmgDiMuCorSVFitFullSel', + 'std::vector' + ) + + self.handles['otherLeptons'] = AutoHandle( + 'slimmedElectrons', + 'std::vector' + ) + + self.handles['leptons'] = AutoHandle( + 'slimmedMuons', + 'std::vector' + ) + + self.mchandles['genParticles'] = AutoHandle( + 'prunedGenParticles', + 'std::vector' + ) + + def buildDiLeptons(self, patDiLeptons, event): + '''Build di-leptons, associate best vertex to both legs, + select di-leptons with a tight ID muon. + The tight ID selection is done so that dxy and dz can be computed + (the muon must not be standalone). + ''' + diLeptons = [] + for index, dil in enumerate(patDiLeptons): + pydil = self.__class__.DiObjectClass(dil) + pydil.leg1().associatedVertex = event.goodVertices[0] + pydil.leg2().associatedVertex = event.goodVertices[0] + if not self.testLeg2(pydil.leg2(), 99999): + continue + # JAN: This crashes. Waiting for idea how to fix this; may have + # to change data format otherwise, though we don't yet strictly + # need the MET significance matrix here since we calculate SVFit + # before + pydil.mvaMetSig = pydil.met().getSignificanceMatrix() + diLeptons.append(pydil) + return diLeptons + + + def buildLeptons(self, patLeptons, event): + '''Build muons for veto, associate best vertex, select loose ID muons. + The loose ID selection is done to ensure that the muon has an inner track.''' + leptons = [] + for index, lep in enumerate(patLeptons): + pyl = self.__class__.LeptonClass(lep) + pyl.associatedVertex = event.goodVertices[0] + leptons.append(pyl) + return leptons + + + def buildOtherLeptons(self, patOtherLeptons, event): + '''Build electrons for third lepton veto, associate best vertex. + ''' + otherLeptons = [] + for index, lep in enumerate(patOtherLeptons): + pyl = self.__class__.OtherLeptonClass(lep) + pyl.associatedVertex = event.goodVertices[0] + pyl.rho = event.rho + otherLeptons.append(pyl) + return otherLeptons + + + def process(self, event): + result = super(MuMuAnalyzer, self).process(event) + + if result is False: + # trying to get a dilepton from the control region. + # it must have well id'ed and trig matched legs, + # di-lepton and tri-lepton veto must pass + result = self.selectionSequence(event, fillCounter=False, + leg1IsoCut=-9999, + leg2IsoCut=9999) + if result is False: + # really no way to find a suitable di-lepton, + # even in the control region + return False + event.isSignal = False + else: + event.isSignal = True + + return True + + + def testLeg1ID(self, muon): + return self.testLeg2ID(muon) + + + def testLeg1Iso(self, muon, isocut): + return self.testLeg2Iso(muon, isocut) + + + def testVertex(self, lepton): + '''Tests vertex constraints, for mu''' + return abs(lepton.dxy()) < 0.045 and abs(lepton.dz()) < 0.2 + + + def testLeg2ID(self, muon): + '''Tight muon selection, no isolation requirement''' + return muon.tightId() and self.testVertex( muon ) + + + def testLeg2Iso(self, muon, isocut): + '''Tight muon selection, with isolation requirement''' + if isocut is None: + isocut = self.cfg_ana.iso2 + + return muon.relIso(dBetaFactor=0.5, allCharged=1) < isocut + + + def thirdLeptonVeto(self, leptons, otherLeptons, ptcut=10, isocut=0.3): + '''Tri-lepton veto. Returns False if > 2 leptons (e or mu).''' + vleptons = [lep for lep in leptons if + self.testLegKine(lep, ptcut=ptcut, etacut=2.4) and + self.testLeg2ID(lep) and + self.testLeg2Iso(lep, isocut) + ] + # count electrons + votherLeptons = [olep for olep in otherLeptons if + self.testLegKine(olep, ptcut=ptcut, etacut=2.5) and + # Take loose MVA ID for now + olep.mvaIDLoose() and + self.testVertex(olep) and + olep.relIso(dBetaFactor=0.5, allCharged=0) < isocut + ] + if len(vleptons) + len(votherLeptons) > 2: + return False + + return True + + + def leptonAccept(self, leptons): + '''Di-lepton veto: none applied for now''' + return True + + def bestDiLepton(self, diLeptons): + '''Returns the best diLepton (1st precedence opposite-sign, 2nd precedence + highest pt1 + pt2).''' + + osDiLeptons = [dl for dl in diLeptons if dl.leg1().charge() != dl.leg2().charge()] + if osDiLeptons: + return max(osDiLeptons, key=operator.methodcaller('sumPt')) + else: + return max(diLeptons, key=operator.methodcaller('sumPt')) + diff --git a/CMGTools/H2TauTau/python/proto/analyzers/NJetsAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/NJetsAnalyzer.py index bba65897dafa..d8259eecf195 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/NJetsAnalyzer.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/NJetsAnalyzer.py @@ -1,31 +1,27 @@ -import re - from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer -from CMGTools.RootTools.analyzers.GenParticleAnalyzer import * -from PhysicsTools.HeppyCore.utils.deltar import matchObjectCollection -from CMGTools.RootTools.physicsobjects.genutils import * +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle from PhysicsTools.HeppyCore.statistics.average import Average + from CMGTools.RootTools.statistics.TreeNumpy import TreeNumpy from ROOT import TFile, TH1F -class NJetsAnalyzer( Analyzer ): -#class NJetsAnalyzer( GenParticleAnalyzer ): +class NJetsAnalyzer(Analyzer): + # class NJetsAnalyzer( GenParticleAnalyzer ): + '''saves the NUP variable from the LHEEventProduct information. - + For the W+jets case: NUP = 5 : 0jets NUP = 6 : 1jet ... - + In case of data, NUP = -1. In case of other MCs, the value is saved. ''' def __init__(self, cfg_ana, cfg_comp, looperName): - super(NJetsAnalyzer,self).__init__(cfg_ana, cfg_comp, looperName) - - cname = self.cfg_comp.name + super(NJetsAnalyzer, self).__init__(cfg_ana, cfg_comp, looperName) # wpat = re.compile('(DY|W)\d?Jet.*') # match DY1Jet, DYJet, W1Jet, WJet, etc. # match = wpat.match(self.cfg_comp.name) @@ -33,59 +29,55 @@ def __init__(self, cfg_ana, cfg_comp, looperName): # if self.isWJets: self.applyWeight = False - if hasattr( self.cfg_comp, 'nevents' ): - assert( hasattr( self.cfg_comp, 'fractions' ) ) - assert(len(self.cfg_comp.nevents)==len(self.cfg_comp.fractions)) + if hasattr(self.cfg_comp, 'nevents'): + assert(hasattr(self.cfg_comp, 'fractions')) + assert(len(self.cfg_comp.nevents) == len(self.cfg_comp.fractions)) self.ninc = self.cfg_comp.nevents[0] self.cfg_comp.nevents[0] = 0. - self.ni = [frac*self.ninc for frac in self.cfg_comp.fractions] + self.ni = [frac * self.ninc for frac in self.cfg_comp.fractions] self.weighti = [] - for ninc, nexc in zip(self.ni, self.cfg_comp.nevents ): - self.weighti.append( ninc/(ninc+nexc) ) + for ninc, nexc in zip(self.ni, self.cfg_comp.nevents): + self.weighti.append(ninc / (ninc + nexc)) self.applyWeight = True - - def beginLoop(self, setup): - super(NJetsAnalyzer,self).beginLoop(setup) - self.averages.add('NUP', Average('NUP') ) - self.averages.add('NJets', Average('NJets') ) - self.averages.add('NJetWeight', Average('NJetWeight') ) + super(NJetsAnalyzer, self).beginLoop(setup) + self.averages.add('NUP', Average('NUP')) + self.averages.add('NJets', Average('NJets')) + self.averages.add('NJetWeight', Average('NJetWeight')) if self.cfg_comp.isMC: self.rootfile = TFile('/'.join([self.dirName, 'NUP.root']), 'recreate') - self.nup = TH1F('nup', 'nup', 20,0,20) - self.njets = TH1F('njets', 'njets', 10,0,10) + self.nup = TH1F('nup', 'nup', 20, 0, 20) + self.njets = TH1F('njets', 'njets', 10, 0, 10) self.tree = TreeNumpy('tree', 'test tree for NJetsAnalyzer') if self.cfg_ana.fillTree: self.tree.var('njets', int) self.tree.var('nup', int) self.tree.var('weight') - - + def process(self, event): event.NUP = -1 event.NJetWeight = 1 - + if not self.cfg_comp.isMC: return True if not self.applyWeight: return True - # JAN: FIXME: No HEP event product in W+Jets extensions, but we now NUP + # JAN: FIXME: No HEP event product in W+Jets extensions, but we know NUP # from the file name if 'ext' in self.cfg_comp.name: event.NUP = int(self.cfg_comp.name[1]) + 5 else: - self.readCollections( event.input ) + self.readCollections(event.input) event.NUP = self.mchandles['source'].product().hepeup().NUP - # removing the 2 incoming partons, a boson, # and the 2 partons resulting from the decay of a boson - njets = event.NUP-5 + njets = event.NUP - 5 event.NJetWeight = self.weighti[njets] event.eventWeight *= event.NJetWeight @@ -95,32 +87,27 @@ def process(self, event): self.tree.fill('nup', event.NUP) self.tree.fill('weight', event.NJetWeight) self.tree.tree.Fill() - - self.averages['NUP'].add( event.NUP ) - self.averages['NJets'].add( njets ) - self.averages['NJetWeight'].add( event.NJetWeight ) + + self.averages['NUP'].add(event.NUP) + self.averages['NJets'].add(njets) + self.averages['NJetWeight'].add(event.NJetWeight) self.nup.Fill(event.NUP) self.njets.Fill(njets) - if self.cfg_ana.verbose: - print 'NUP, njets, weight',event.NUP, njets, event.NJetWeight + print 'NUP, njets, weight', event.NUP, njets, event.NJetWeight return True - def declareHandles(self): '''Reads LHEEventsProduct.''' super(NJetsAnalyzer, self).declareHandles() - self.mchandles['source'] = AutoHandle( + self.mchandles['source'] = AutoHandle( 'source', 'LHEEventProduct' - ) - - def write(self): - super(NJetsAnalyzer, self).write() + ) + + def write(self, setup): + super(NJetsAnalyzer, self).write(setup) if self.cfg_comp.isMC: self.rootfile.Write() self.rootfile.Close() - - - diff --git a/CMGTools/H2TauTau/python/proto/analyzers/Regions.py b/CMGTools/H2TauTau/python/proto/analyzers/Regions.py deleted file mode 100644 index 15490ccfc185..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/Regions.py +++ /dev/null @@ -1,105 +0,0 @@ -import itertools - -from CMGTools.RootTools.utils.Regions import RegionsBase, Regions1D - - -class MTRegions( Regions1D ): - '''Checks mTLeg2 of event.diLepton''' - def __init__(self, cuts): - super( MTRegions, self ).__init__() - self.addRegion('LowMT', 0, cuts.MT_low) - self.addRegion('HighMT', cuts.MT_high, float('inf') ) - - def test(self, event): - diLepton = event.diLepton - return super( MTRegions, self ).test( diLepton.mTLeg2() ) - - -class SignRegions( Regions1D ): - '''Checks the charge of event.diLepton''' - def __init__(self): - super( SignRegions, self ).__init__( complete=True ) - self.addRegion('OS', float('-inf'), 0) - self.addRegion('SS', 0, float('inf')) - - def test(self, event): - diLepton = event.diLepton - return super( SignRegions, self ).test( diLepton.leg1().charge() * \ - diLepton.leg2().charge() ) - - -class JetRegions( object ): - - def __init__(self, cuts): - self.cuts = cuts - - def regionNames(self): - return ['VBF','Boosted','0or1Jet','Remains'] - - def test(self, event): - selJets = event.cleanJets - vbf = None - if len(selJets) > 1: - # print event - vbf = event.vbf - if len(selJets) > 1 and \ - vbf.mjj > self.cuts.Mjj and \ - vbf.deta > self.cuts.deltaEta and \ - vbf.leadJets[0].eta() * vbf.leadJets[1].eta() < 0 and \ - len( vbf.centralJets ) == 0: - return 'VBF' - elif len(selJets) > 0 and selJets[0].pt()>self.cuts.Boosted_JetPt: - # missing : veto on b-tagged jets in emu channel - return 'Boosted' - elif len(selJets)==0 or \ - ( len(selJets)==1 and selJets[0].pt() 1: - # print event - vbf = event.vbf - if len(selJets) > 1 and \ - vbf.mjj > self.cuts.Mjj and \ - vbf.deta > self.cuts.deltaEta and \ - vbf.leadJets[0].eta() * vbf.leadJets[1].eta() < 0 and \ - len( vbf.centralJets ) == 0: - return 'VBF' - elif len(selJets) > 0 and selJets[0].pt()>self.cuts.Boosted_JetPt: - # missing : veto on b-tagged jets in emu channel - return 'Boosted' - elif len(selJets)==0 or \ - ( len(selJets)==1 and selJets[0].pt() 0.01: + print 'WARNING: run {RUN}, lumi {LUMI}, event {EVT}'.format(RUN=str(event.run), + LUMI=str(event.lumi), + EVT=str(event.eventId)) + print 'precomputed svfit mass ', event.diLepton.svfitMass() + print 'svfit mass computed here ', svfit.mass() + + # method override + event.diLepton.svfitMass = svfit.mass + event.diLepton.svfitMassError = svfit.massUncert + + # add also the pt, eta and phi as computed by SVfit + if self.cfg_ana.integration == 'MarkovChain': + event.diLepton.svfitPt = svfit.pt + event.diLepton.svfitPtError = svfit.ptUncert + event.diLepton.svfitEta = svfit.eta + event.diLepton.svfitPhi = svfit.phi + event.diLepton.svfitMET = svfit.fittedMET + event.diLepton.svfitTaus = svfit.fittedTauLeptons diff --git a/CMGTools/H2TauTau/python/proto/analyzers/TauDecayModeWeighter.py b/CMGTools/H2TauTau/python/proto/analyzers/TauDecayModeWeighter.py index bf39ea3b4001..65ba3ba04179 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/TauDecayModeWeighter.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/TauDecayModeWeighter.py @@ -1,7 +1,5 @@ from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle from PhysicsTools.HeppyCore.statistics.average import Average -from PhysicsTools.Heppy.utils.cmsswRelease import cmsswIs44X,cmsswIs52X class TauDecayModeWeighter( Analyzer ): '''Gets tau decay mode efficiency weight and puts it in the event''' @@ -16,25 +14,32 @@ def beginLoop(self, setup): self.averages.add('weight', Average('weight') ) # For 1 prong no pi-zero. Can be extended to more weights # if necessary - self.oneProngNoPiZeroWeight = 0.88 + # JAN: set to 1. until remeasured with 2015 data + self.oneProngNoPiZeroWeight = 1. def process(self, event): self.weight = 1 - - # Not strictly correct, but this is agreed upon for Summer 2013: + + # RIC: let the user decide which leg needs to be corrected. In tt is both. + # Default is leg1, so that for mt and et this modification is transparent + legs = self.cfg_ana.legs if hasattr(self.cfg_ana, 'legs') else ['leg1'] + + # Not strictly correct, but this was agreed upon for Summer 2013 + # JAN: Should update to gen-matched taus if self.cfg_comp.isEmbed or 'Higgs' in self.cfg_comp.name or ('DY' in self.cfg_comp.name and event.isFake == 0): - decayMode = event.diLepton.leg1().decayMode() - if decayMode == 0: - self.weight = self.oneProngNoPiZeroWeight + for leg in legs : + decayMode = getattr(event.diLepton, leg)().decayMode() + if decayMode == 0: + self.weight *= self.oneProngNoPiZeroWeight # print decayMode, self.weight, self.cfg_comp.name - - + event.eventWeight *= self.weight event.tauESWeight = self.weight if self.cfg_ana.verbose: - print 'TauDecayModeWeighter', event.diLepton.leg1().decayMode(), event.isFake, event.tauESWeight + for leg in legs : + print 'TauDecayModeWeighter\t',leg,'\t', getattr(event.diLepton, leg)().decayMode(), event.isFake, event.tauESWeight self.averages['weight'].add( self.weight ) return True diff --git a/CMGTools/H2TauTau/python/proto/analyzers/TauEleAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/TauEleAnalyzer.py index ff40e03f29d6..93ceed83589e 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/TauEleAnalyzer.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/TauEleAnalyzer.py @@ -1,11 +1,14 @@ -from PhysicsTools.Heppy.analyzers.examples.DiLeptonAnalyzer import DiLeptonAnalyzer +import operator + from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Muon, GenParticle -from PhysicsTools.Heppy.physicsobjects.HTauTauElectron import HTauTauElectron as Electron +from PhysicsTools.Heppy.physicsobjects.Muon import Muon +from PhysicsTools.Heppy.physicsobjects.Electron import Electron +from CMGTools.H2TauTau.proto.analyzers.DiLeptonAnalyzer import DiLeptonAnalyzer from CMGTools.H2TauTau.proto.physicsobjects.DiObject import TauElectron -class TauEleAnalyzer( DiLeptonAnalyzer ): + +class TauEleAnalyzer(DiLeptonAnalyzer): DiObjectClass = TauElectron LeptonClass = Electron @@ -13,38 +16,27 @@ class TauEleAnalyzer( DiLeptonAnalyzer ): def declareHandles(self): super(TauEleAnalyzer, self).declareHandles() - # print 'TauEleAnalyzer.declareHandles' self.handles['diLeptons'] = AutoHandle( 'cmgTauEleCorSVFitFullSel', - 'std::vector>' - ) - - # if hasattr(self.cfg_ana, 'mvametsigs'): - # self.handles['mvametsigs'] = AutoHandle( - # self.cfg_ana.mvametsigs, # 'mvaMETTauMu' - # 'std::vector' - # ) - + 'std::vector' + ) + self.handles['otherLeptons'] = AutoHandle( - 'cmgMuonSel', - 'std::vector' - ) + 'slimmedMuons', + 'std::vector' + ) self.handles['leptons'] = AutoHandle( - 'cmgElectronSel', - 'std::vector' - ) + 'slimmedElectrons', + 'std::vector' + ) - self.mchandles['genParticles'] = AutoHandle( 'genParticlesPruned', - 'std::vector' ) + self.mchandles['genParticles'] = AutoHandle('prunedGenParticles', + 'std::vector') self.relaxEleId = False self.relaxTauId = False - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - def buildDiLeptons(self, cmgDiLeptons, event): '''Build di-leptons, associate best vertex to both legs, select di-leptons with a tight ID electron. @@ -55,49 +47,36 @@ def buildDiLeptons(self, cmgDiLeptons, event): pydil = self.__class__.DiObjectClass(dil) pydil.leg1().associatedVertex = event.goodVertices[0] pydil.leg2().associatedVertex = event.goodVertices[0] - #COLIN for debugging - pydil.leg2().eventId = event.eventId - if not self.testLeg2( pydil.leg2(), 999999 ): - continue - # if hasattr(self.cfg_ana, 'mvametsigs'): - # pydil.mvaMetSig = mvaMetSig = self.handles['mvametsigs'].product()[index] - diLeptons.append( pydil ) + pydil.leg2().rho = event.rho + pydil.mvaMetSig = pydil.met().getSignificanceMatrix() + diLeptons.append(pydil) return diLeptons - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - def buildLeptons(self, cmgLeptons, event): '''Build electrons for veto, associate best vertex, select loose ID electrons. - Since the electrons are used for veto, the 0.3 default isolation cut is left there, + Since the electrons are used for veto, the 0.3 default isolation cut is left there, as well as the pt 15 gev cut''' leptons = [] for index, lep in enumerate(cmgLeptons): pyl = self.__class__.LeptonClass(lep) pyl.associatedVertex = event.goodVertices[0] + pyl.rho = event.rho # if not pyl.looseIdForEleTau(): # continue - leptons.append( pyl ) + if pyl.relIso(dBetaFactor=0.5, allCharged=0) > 0.3: + continue + leptons.append(pyl) return leptons - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - def testMuonIDLoose(self, muon): - '''Loose muon ID and kine, no isolation requirement, for lepton veto''' + '''Loose muon ID and kine, no isolation requirement, for lepton veto''' return muon.pt() > 15 and \ - abs( muon.eta() ) < 2.4 and \ - muon.isGlobalMuon() and \ - muon.isTrackerMuon() and \ - muon.sourcePtr().userFloat('isPFMuon') and \ - abs(muon.dz()) < 0.2 - # self.testVertex( muon ) - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - + abs(muon.eta()) < 2.4 and \ + muon.isGlobalMuon() and \ + muon.isTrackerMuon() and \ + muon.sourcePtr().userFloat('isPFMuon') and \ + abs(muon.dz()) < 0.2 + # self.testVertex( muon ) def buildOtherLeptons(self, cmgOtherLeptons, event): '''Build muons for third lepton veto, associate best vertex. @@ -108,44 +87,29 @@ def buildOtherLeptons(self, cmgOtherLeptons, event): pyl.associatedVertex = event.goodVertices[0] # if not self.testMuonIDLoose(pyl): # continue - otherLeptons.append( pyl ) + otherLeptons.append(pyl) return otherLeptons - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - def process(self, event): - - # import pdb; pdb.set_trace() + result = super(TauEleAnalyzer, self).process(event) - - if self.cfg_ana.verbose and result is False: - print event.run, event.lumi, event.eventId - for l in event.leptons: - print l - for l in event.otherLeptons: - print l - - # for dl in event.diLeptons: - # print dl.leg2(), dl.leg2().relIsoAllChargedDB05() - # import pdb; pdb.set_trace() + import pdb; pdb.set_trace() event.isSignal = False - # import pdb; pdb.set_trace() + if result is False: # trying to get a dilepton from the control region. # it must have well id'ed and trig matched legs, # and di-lepton veto must pass # i.e. only the iso requirement is relaxed - # Also relax IDs for sideband studies without changing the + # Also relax IDs for sideband studies without changing the # dilepton selectionSequence self.relaxEleId = True self.relaxTauId = True result = self.selectionSequence(event, fillCounter=False, - leg1IsoCut = -9999, - leg2IsoCut = 9999) + leg1IsoCut=self.cfg_ana.looseiso1, + leg2IsoCut=self.cfg_ana.looseiso2) self.relaxEleId = False self.relaxTauId = False @@ -155,159 +119,125 @@ def process(self, event): return False event.isSignal = False else: - event.isSignal = (True and event.leptonAccept and event.thirdLeptonVeto) - - event.genMatched = None - if self.cfg_comp.isMC: - # print event.eventId - genParticles = self.mchandles['genParticles'].product() - event.genParticles = map( GenParticle, genParticles) - leg1DeltaR, leg2DeltaR = event.diLepton.match( event.genParticles ) - if leg1DeltaR>-1 and leg1DeltaR < 0.1 and \ - leg2DeltaR>-1 and leg2DeltaR < 0.1: - event.genMatched = True - else: - event.genMatched = False - -# for dil in event.diLeptons : -# print 'TEST tau iso',result,dil.leg1().tauID('byRawIsoMVA') + event.isSignal = event.leptonAccept and event.thirdLeptonVeto return True + def testTauVertex(self, lepton): + '''Tests vertex constraints, for tau''' + # Just checks if the primary vertex the tau was reconstructed with + # corresponds to the one used in the analysis + isPV = lepton.vertex().z() == lepton.associatedVertex.z() + return isPV -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- + def testVertex(self, lepton): + '''Tests vertex constraints, for mu''' + return abs(lepton.dxy()) < 0.045 and abs(lepton.dz()) < 0.2 + def testTauVertex(self, lepton): + '''Tests vertex constraints, for tau''' + isPV = lepton.vertex().z() == lepton.associatedVertex.z() + return isPV def testLeg1ID(self, tau): - # import pdb; pdb.set_trace() # Don't apply anti-e discriminator for relaxed tau ID + # RIC: 9 March 2015 if self.relaxTauId: - return tau.tauID("againstMuonLoose")>0.5 and \ - (tau.zImpact() > 0.5 or tau.zImpact() < -1.5) and\ - self.testVertex( tau ) - return tau.electronMVA3Medium() and \ - tau.tauID("againstMuonLoose")>0.5 and \ - (tau.zImpact() > 0.5 or tau.zImpact() < -1.5) and\ - self.testVertex( tau ) - - # tau.tauID("againstElectronTightMVA3") >0.5 and \ - # tau.tauID("againstElectronMVA") >0.5 and \ - # tau.tauID("againstElectronTightMVA2") >0.5 and \ - # tau.tauID("againstMuonLoose")>0.5 and \ - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - - def testVertex(self, lepton): - '''Tests vertex constraints, for mu and tau''' - return abs(lepton.dxy()) < 0.045 and \ - abs(lepton.dz()) < 0.2 - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - + return ( (tau.tauID('decayModeFinding') > 0.5 or + tau.tauID('decayModeFindingNewDMs') > 0.5) and + tau.tauID('againstMuonLoose3') > 0.5 and + (tau.zImpact() > 0.5 or tau.zImpact() < -1.5) and + self.testTauVertex(tau) ) + return ( (tau.tauID('decayModeFinding') > 0.5 or + tau.tauID('decayModeFindingNewDMs') > 0.5) and + tau.tauID('againstElectronTightMVA5') > 0.5 and + tau.tauID('againstMuonLoose3') > 0.5 and + (tau.zImpact() > 0.5 or tau.zImpact() < -1.5) and + self.testTauVertex(tau) ) def testLeg1Iso(self, tau, isocut): - '''if isocut is None, returns true if three-hit iso MVA is passed. + '''if isocut is None, returns true if three-hit iso cut is passed. Otherwise, returns true if iso MVA > isocut.''' if isocut is None: - return tau.tauID('byCombinedIsolationDeltaBetaCorrRaw3Hits') < 1.5 + return tau.tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') > 0.5 else: - return tau.tauID("byRawIsoMVA")>isocut - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - + # JAN FIXME - placeholder, as of now only used to define passing cuts + # return tau.tauID("byIsolationMVA3newDMwLTraw") > isocut + # RIC: 9 March 2015 + return tau.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < isocut def testLeg2ID(self, electron): - '''Tight muon selection, no isolation requirement''' - # print 'WARNING: USING SETUP FOR SYNC PURPOSES' - # return electron.looseIdForEleTau() and \ - if self.relaxEleId: - return electron.relaxedIdForEleTau() and \ - self.testVertex( electron ) - return electron.tightIdForEleTau() and \ - self.testVertex( electron ) - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - + '''Tight electron selection, no isolation requirement. + Electron ID: NonTrigPhys14, Tight + ''' + return electron.electronID('POG_MVA_ID_Run2_NonTrig_Tight') and \ + self.testVertex(electron) - def testLeg2Iso(self, leg, isocut): #electron + def testLeg2Iso(self, leg, isocut): # electron if isocut is None: - isocut = self.cfg_ana.iso2 - return leg.relIsoAllChargedDB05() < isocut - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - - def testLooseLeg2 (self, leg): # electrons - if leg.relIsoAllChargedDB05() > 0.3 : return False - if abs( leg.eta() ) > 2.5 : return False - if leg.pt() < 15 : return False - if leg.looseIdForEleTau() == False : return False + isocut = self.cfg_ana.iso2 + return leg.relIso(dBetaFactor=0.5, allCharged=0) < isocut + + def testLooseLeg2(self, leg): # electrons + ''' pt, eta and isolation selection for electrons + used in the di-electron veto. + POG_PHYS14_25ns_v1_Veto + pt 15, eta 2.5, dB relIso 0.3 + ''' + if (leg.relIso(dBetaFactor=0.5, allCharged=0) > 0.3 or + abs(leg.eta()) > 2.5 or + leg.pt() < 15 or + leg.cutBasedId('POG_PHYS14_25ns_v1_Veto') == False or + self.testVertex(leg) == False): + return False return True - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - - def testTightOtherLepton (self, muon): + def testTightOtherLepton(self, muon): '''Tight muon selection, no isolation requirement''' - return muon.tightId () and \ - self.testVertex (muon) and \ - abs (muon.eta ()) < 2.4 and \ - muon.pt () > 10. and \ - muon.relIsoAllChargedDB05 () < 0.3 - + return muon.muonID('POG_ID_Medium') and \ + self.testVertex(muon) and \ + abs(muon.eta()) < 2.4 and \ + muon.pt() > 10. and \ + muon.relIso(dBetaFactor=0.5, allCharged=0) < 0.3 -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- - - def thirdLeptonVeto(self, leptons, otherLeptons, isoCut = 0.3) : + def thirdLeptonVeto(self, leptons, otherLeptons, isoCut=0.3): # count electrons (leg 2) - # import pdb; pdb.set_trace() - selLeptons = [electron for electron in leptons if - self.testLegKine(electron, ptcut=10, etacut=2.5) and \ - electron.looseIdForTriLeptonVeto() and \ - self.testVertex(electron) and \ - self.testLeg2Iso(electron, isoCut) ] + vLeptons = [electron for electron in leptons if + self.testLegKine(electron, ptcut=10, etacut=2.5) and + self.testVertex(electron) and + electron.electronID('POG_Cuts_ID_PHYS14_25ns_v1_ConvVeto_Veto') and + self.testLeg2Iso(electron, isoCut)] # count tight muons - tightOtherLeptons = [muon for muon in otherLeptons if self.testTightOtherLepton (muon)] - if len (selLeptons) + len (tightOtherLeptons) > 1 : + vOtherLeptons = [muon for muon in otherLeptons if + self.testTightOtherLepton(muon)] + + if len(vLeptons) + len(vOtherLeptons) > 1: return False - else: - return True - - -# ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- + return True - def leptonAccept(self, leptons, isoCut = 0.3) : - ''' returns True if the additional lepton veto is successful''' - # import pdb; pdb.set_trace() - looseLeptons = filter( self.testLooseLeg2, leptons) + def leptonAccept(self, leptons): + '''Returns True if the additional lepton veto is successful''' + looseLeptons = filter(self.testLooseLeg2, leptons) nLeptons = len(looseLeptons) -# return nLeptons < 2 #PG according to AN 2012/150 of 12/07/2012 - if nLeptons < 2 : + if nLeptons < 2: return True - else : - chargeSum = 0 - for i in range(len(looseLeptons)) : chargeSum = chargeSum + looseLeptons[i].charge() - if abs(chargeSum) < len(looseLeptons) : return False + + # Reject if OS + if any(l.charge() > 0 for l in looseLeptons) and \ + any(l.charge() < 0 for l in looseLeptons): + return False + return True -# elif nLeptons > 2 : -# return False -# else: # 2 leptons -# if looseLeptons[0].charge() == looseLeptons[1].charge() : -# return True -# elif deltaR (looseLeptons[0].eta(), looseLeptons[0].phi(), -# looseLeptons[1].eta(), looseLeptons[1].phi()) < 0.15 : -# return True -# else : -# return False - + def bestDiLepton(self, diLeptons): + '''Returns the best diLepton (1st precedence opposite-sign, 2nd precedence + highest pt1 + pt2).''' + + osDiLeptons = [dl for dl in diLeptons if dl.leg1().charge() != dl.leg2().charge()] + if osDiLeptons: + return max(osDiLeptons, key=operator.methodcaller('sumPt')) + else: + return max(diLeptons, key=operator.methodcaller('sumPt')) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/TauGenTreeProducer.py b/CMGTools/H2TauTau/python/proto/analyzers/TauGenTreeProducer.py new file mode 100644 index 000000000000..fb45104b3277 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/TauGenTreeProducer.py @@ -0,0 +1,106 @@ +import ROOT + +from PhysicsTools.Heppy.physicsutils.TauDecayModes import tauDecayModes + +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducerBase import H2TauTauTreeProducerBase + +class TauGenTreeProducer(H2TauTauTreeProducerBase): + ''' Tree producer for generator tau study. + ''' + + def __init__(self, *args): + super(TauGenTreeProducer, self).__init__(*args) + + def declareHandles(self): + super(TauGenTreeProducer, self).declareHandles() + + @staticmethod + def finalDaughters(gen, daughters=None): + if daughters is None: + daughters = [] + for i in range(gen.numberOfDaughters()): + daughter = gen.daughter(i) + if daughter.numberOfDaughters() == 0: + daughters.append(daughter) + else: + TauGenTreeProducer.finalDaughters(daughter, daughters) + + return daughters + + @staticmethod + def visibleP4(gen): + final_ds = TauGenTreeProducer.finalDaughters(gen) + + p4 = sum((d.p4() for d in final_ds if abs(d.pdgId()) not in [12, 14, 16]), ROOT.math.XYZTLorentzVectorD()) + + return p4 + + def declareVariables(self, setup): + + self.bookTau(self.tree, 'tau1') + self.bookGenParticle(self.tree, 'tau1_gen') + self.bookParticle(self.tree, 'tau1_gen_vis') + self.var(self.tree, 'tau1_gen_decayMode') + + self.bookTau(self.tree, 'tau2') + self.bookGenParticle(self.tree, 'tau2_gen') + self.bookParticle(self.tree, 'tau2_gen_vis') + self.var(self.tree, 'tau2_gen_decayMode') + + self.var(self.tree, 'n_gen_taus') + self.var(self.tree, 'n_gen_tauleps') + + + def process(self, event): + # needed when doing handle.product(), goes back to + # PhysicsTools.Heppy.analyzers.core.Analyzer + self.readCollections(event.input) + + + if not eval(self.skimFunction): + return False + + self.tree.reset() + + + n_gen_tau = 0 + for gen_tau in event.gentaus: + # FIXME - temporary, let's see for a longer-term solution... + if abs(gen_tau.mother().pdgId()) in [23, 24]: + continue + + if n_gen_tau >= 2: + print 'More than two generated hadronic taus!' + continue + + self.fillGenParticle(self.tree, 'tau{i}_gen'.format(i=n_gen_tau+1), gen_tau) + self.fillParticle(self.tree, 'tau{i}_gen_vis'.format(i=n_gen_tau+1), self.visibleP4(gen_tau)) + self.fill(self.tree, 'tau{i}_gen_decayMode'.format(i=n_gen_tau+1), tauDecayModes.genDecayModeInt([d for d in TauGenTreeProducer.finalDaughters(gen_tau) if abs(d.pdgId()) not in [12, 14, 16]])) + + for tau in event.selectedTaus: + if tau.mcTau == gen_tau: + # import pdb; pdb.set_trace() + self.fillTau(self.tree, 'tau{i}'.format(i=n_gen_tau+1), tau) + # if tau.genJet(): + # self.fillGenParticle(self.tree, 'tau{i}_gen_vis'.format(i=n_gen_tau), tau.genJet()) + + n_gen_tau += 1 + + self.fill(self.tree, 'n_gen_taus', n_gen_tau) + + n_gen_taulep = 0 + for gen_tau_lep in event.gentauleps: + tau = gen_tau_lep.mother() + if abs(tau.pdgId()) != 15: + continue + if abs(tau.mother().pdgId()) == 15: + tau = tau.mother() + if abs(tau.mother().pdgId()) in [23, 24]: + continue + + n_gen_taulep += 1 + + + self.fill(self.tree, 'n_gen_tauleps', n_gen_taulep) + + self.fillTree(event) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/TauMuAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/TauMuAnalyzer.py index 7543870b7c23..50ea5fa477ea 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/TauMuAnalyzer.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/TauMuAnalyzer.py @@ -1,13 +1,13 @@ import operator -from PhysicsTools.Heppy.analyzers.examples.DiLeptonAnalyzer import DiLeptonAnalyzer from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Muon, GenParticle -from PhysicsTools.Heppy.physicsobjects.HTauTauElectron import HTauTauElectron as Electron +from PhysicsTools.Heppy.physicsobjects.Muon import Muon +from PhysicsTools.Heppy.physicsobjects.Electron import Electron +from CMGTools.H2TauTau.proto.analyzers.DiLeptonAnalyzer import DiLeptonAnalyzer from CMGTools.H2TauTau.proto.physicsobjects.DiObject import TauMuon -class TauMuAnalyzer( DiLeptonAnalyzer ): +class TauMuAnalyzer(DiLeptonAnalyzer): DiObjectClass = TauMuon LeptonClass = Muon @@ -16,94 +16,81 @@ class TauMuAnalyzer( DiLeptonAnalyzer ): def declareHandles(self): super(TauMuAnalyzer, self).declareHandles() self.handles['diLeptons'] = AutoHandle( - 'cmgTauMuCorSVFitFullSel', # FIXME!! - # 'cmgTauMu', - #'std::vector>' - # 'std::vector>' + 'cmgTauMuCorSVFitFullSel', 'std::vector' ) - self.handles['mvametsigs'] = AutoHandle( - 'mvaMETTauMu', - 'std::vector' - ) - self.handles['otherLeptons'] = AutoHandle( 'slimmedElectrons', 'std::vector' ) - + self.handles['leptons'] = AutoHandle( 'slimmedMuons', 'std::vector' ) - - # FIXME reading the genparticlespruned collection. problem elsewhere? - self.mchandles['genParticles'] = AutoHandle( 'prunedGenParticles', - 'std::vector' ) - def buildDiLeptons(self, cmgDiLeptons, event): + self.mchandles['genParticles'] = AutoHandle( + 'prunedGenParticles', + 'std::vector' + ) + + + def buildDiLeptons(self, patDiLeptons, event): '''Build di-leptons, associate best vertex to both legs, select di-leptons with a tight ID muon. The tight ID selection is done so that dxy and dz can be computed (the muon must not be standalone). ''' diLeptons = [] - for index, dil in enumerate(cmgDiLeptons): - # pydil = self.__class__.DiObjectClass(dil) - pydil = TauMuon(dil) + for index, dil in enumerate(patDiLeptons): + pydil = self.__class__.DiObjectClass(dil) pydil.leg1().associatedVertex = event.goodVertices[0] pydil.leg2().associatedVertex = event.goodVertices[0] - if not self.testLeg2( pydil.leg2(), 99999 ): + if not self.testLeg2(pydil.leg2(), 99999): continue - pydil.mvaMetSig = self.handles['mvametsigs'].product()[index] - # pydil.mvaMetSig = dil.metSig() - diLeptons.append( pydil ) + # JAN: This crashes. Waiting for idea how to fix this; may have + # to change data format otherwise, though we don't yet strictly + # need the MET significance matrix here since we calculate SVFit + # before + pydil.mvaMetSig = pydil.met().getSignificanceMatrix() + diLeptons.append(pydil) return diLeptons - def buildLeptons(self, cmgLeptons, event): + def buildLeptons(self, patLeptons, event): '''Build muons for veto, associate best vertex, select loose ID muons. The loose ID selection is done to ensure that the muon has an inner track.''' leptons = [] - for index, lep in enumerate(cmgLeptons): - # pyl = self.__class__.LeptonClass(lep) - pyl = Muon(lep) + for index, lep in enumerate(patLeptons): + pyl = self.__class__.LeptonClass(lep) pyl.associatedVertex = event.goodVertices[0] - leptons.append( pyl ) + leptons.append(pyl) return leptons - def buildOtherLeptons(self, cmgOtherLeptons, event): + def buildOtherLeptons(self, patOtherLeptons, event): '''Build electrons for third lepton veto, associate best vertex. ''' otherLeptons = [] - for index, lep in enumerate(cmgOtherLeptons): - # pyl = self.__class__.OtherLeptonClass(lep) - pyl = Electron(lep) + for index, lep in enumerate(patOtherLeptons): + pyl = self.__class__.OtherLeptonClass(lep) pyl.associatedVertex = event.goodVertices[0] - # JAN FIXME: Check if the overall rho is needed (from the - # VertexAnalyzer) pyl.rho = event.rho - otherLeptons.append( pyl ) + otherLeptons.append(pyl) return otherLeptons def process(self, event): - - #if event.eventId == 70370: - # print 'EVENT', event.eventId result = super(TauMuAnalyzer, self).process(event) - # import pdb; pdb.set_trace() - if result is False: # trying to get a dilepton from the control region. # it must have well id'ed and trig matched legs, # di-lepton and tri-lepton veto must pass result = self.selectionSequence(event, fillCounter=False, - leg1IsoCut = -9999, - leg2IsoCut = 9999) + leg1IsoCut=self.cfg_ana.looseiso1, + leg2IsoCut=self.cfg_ana.looseiso2) if result is False: # really no way to find a suitable di-lepton, # even in the control region @@ -111,114 +98,110 @@ def process(self, event): event.isSignal = False else: event.isSignal = True - - event.genMatched = None - if self.cfg_comp.isMC: - # print event.eventId - genParticles = self.mchandles['genParticles'].product() - event.genParticles = map( GenParticle, genParticles) - leg1DeltaR, leg2DeltaR = event.diLepton.match( event.genParticles ) - if leg1DeltaR>-1 and leg1DeltaR < 0.1 and \ - leg2DeltaR>-1 and leg2DeltaR < 0.1: - event.genMatched = True - else: - event.genMatched = False - + return True - + def testLeg1ID(self, tau): - if tau.decayMode() == 0 and \ - tau.calcEOverP() < 0.2: #reject muons faking taus in 2011B - return False - #return tau.tauID("againstMuonTight2")>0.5 and \ - # JAN: revert back to old muon rejection (Jose HN) - return tau.tauID("againstMuonTight")>0.5 and \ - tau.tauID("againstElectronLoose")>0.5 and \ - self.testVertex( tau ) - + # RIC: 9 March 2015 + return ( (tau.tauID('decayModeFinding') > 0.5 or + tau.tauID('decayModeFindingNewDMs') > 0.5) and + tau.tauID('againstElectronVLooseMVA5') > 0.5 and + tau.tauID('againstMuonTight3') > 0.5 and + self.testTauVertex(tau) ) + # https://twiki.cern.ch/twiki/bin/view/CMS/TauIDRecommendation13TeV + # return tau.tauID('decayModeFinding') > 0.5 and \ + # tau.tauID('againstMuonTight3') > 0.5 and \ + # tau.tauID('againstElectronLooseMVA5') > 0.5 and \ + # self.testTauVertex(tau) + def testLeg1Iso(self, tau, isocut): '''if isocut is None, returns true if three-hit iso cut is passed. Otherwise, returns true if iso MVA > isocut.''' if isocut is None: - return tau.tauID('byCombinedIsolationDeltaBetaCorrRaw3Hits') < 1.5 + return tau.tauID('byLooseCombinedIsolationDeltaBetaCorr3Hits') > 0.5 else: # JAN FIXME - placeholder, as of now only used to define passing cuts - return tau.tauID("byIsolationMVA3newDMwLTraw")>isocut + # return tau.tauID("byIsolationMVA3newDMwLTraw") > isocut + # RIC: 9 March 2015 + return tau.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < isocut + + + def testTauVertex(self, lepton): + '''Tests vertex constraints, for tau''' + # Just checks if the primary vertex the tau was reconstructed with + # corresponds to the one used in the analysis + isPV = lepton.vertex().z() == lepton.associatedVertex.z() + return isPV def testVertex(self, lepton): - '''Tests vertex constraints, for mu and tau''' - return abs(lepton.dxy()) < 0.045 and \ - abs(lepton.dz()) < 0.2 + '''Tests vertex constraints, for mu''' + return abs(lepton.dxy()) < 0.045 and abs(lepton.dz()) < 0.2 def testLeg2ID(self, muon): '''Tight muon selection, no isolation requirement''' - return muon.tightId() and \ - self.testVertex( muon ) - + return muon.muonID('POG_ID_Medium') and self.testVertex(muon) + def testLeg2Iso(self, muon, isocut): '''Tight muon selection, with isolation requirement''' if isocut is None: isocut = self.cfg_ana.iso2 - return muon.relIsoAllChargedDB05() 2 leptons (e or mu).''' - vleptons = [lep for lep in leptons if - self.testLegKine(lep, ptcut=ptcut, etacut=2.4) and - self.testLeg2ID(lep) and - self.testLeg2Iso(lep, isocut) ] - # count electrons - votherLeptons = [olep for olep in otherLeptons if - self.testLegKine(olep, ptcut=ptcut, etacut=2.5) and \ - olep.looseIdForTriLeptonVeto() and \ - self.testVertex( olep ) and \ - olep.relIsoAllChargedDB05() < isocut - ] - if len(vleptons) + len(votherLeptons)> 1: + + return muon.relIso(dBetaFactor=0.5, allCharged=0) < isocut + + + def thirdLeptonVeto(self, leptons, otherLeptons, isoCut=0.3): + # count electrons (leg 2) + vOtherLeptons = [electron for electron in otherLeptons if + self.testLegKine(electron, ptcut=10, etacut=2.5) and + self.testVertex(electron) and + electron.cutBasedId('POG_PHYS14_25ns_v1_Veto') and + electron.relIso(dBetaFactor=0.5, allCharged=0) < 0.3] + + # count tight muons + vLeptons = [muon for muon in leptons if + muon.muonID('POG_ID_Medium') and + self.testVertex(muon) and + self.testLegKine(muon, ptcut=10, etacut=2.4) and + muon.relIso(dBetaFactor=0.5, allCharged=0) < 0.3] + + if len(vLeptons) + len(vOtherLeptons) > 1: return False - else: - return True - + + return True + + def leptonAccept(self, leptons): - '''The di-lepton veto, returns false if > one lepton. - e.g. > 1 mu in the mu tau channel''' + '''Di-lepton veto: returns false if >= 1 OS same flavour lepton pair, + e.g. >= 1 OS mu pair in the mu tau channel''' looseLeptons = [muon for muon in leptons if self.testLegKine(muon, ptcut=15, etacut=2.4) and muon.isGlobalMuon() and muon.isTrackerMuon() and muon.userFloat('isPFMuon') and - #COLIN Not sure this vertex cut is ok... check emu overlap - #self.testVertex(muon) and - # JAN: no dxy cut abs(muon.dz()) < 0.2 and self.testLeg2Iso(muon, 0.3) - ] - isPlus = False - isMinus = False - # import pdb; pdb.set_trace() - for lepton in looseLeptons: - if lepton.charge()<0: isMinus=True - elif lepton.charge()>0: isPlus=True - else: - raise ValueError('Impossible!') - veto = isMinus and isPlus - return not veto + ] + + if any(l.charge() > 0 for l in looseLeptons) and \ + any(l.charge() < 0 for l in looseLeptons): + return False + + return True + def bestDiLepton(self, diLeptons): '''Returns the best diLepton (1st precedence opposite-sign, 2nd precedence highest pt1 + pt2).''' - # # FIXME - temporary TEST for bias - # return max( diLeptons, key=operator.methodcaller( 'sumPt' ) ) + osDiLeptons = [dl for dl in diLeptons if dl.leg1().charge() != dl.leg2().charge()] if osDiLeptons: - return max( osDiLeptons, key=operator.methodcaller( 'sumPt' ) ) + return max(osDiLeptons, key=operator.methodcaller('sumPt')) else: - return max( diLeptons, key=operator.methodcaller( 'sumPt' ) ) + return max(diLeptons, key=operator.methodcaller('sumPt')) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/TauMuAnalyzerOld.py b/CMGTools/H2TauTau/python/proto/analyzers/TauMuAnalyzerOld.py deleted file mode 100644 index 3492c44e1dbc..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/TauMuAnalyzerOld.py +++ /dev/null @@ -1,160 +0,0 @@ -from PhysicsTools.Heppy.analyzers.examples.DiLeptonAnalyzer import DiLeptonAnalyzer -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from CMGTools.H2TauTau.proto.physicsobjects.DiObject import TauMuon -from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Muon, GenParticle - -class TauMuAnalyzer( DiLeptonAnalyzer ): - - DiObjectClass = TauMuon - LeptonClass = Muon - - def declareHandles(self): - super(TauMuAnalyzer, self).declareHandles() - # print 'TauMuAnalyzer.declareHandles' - self.handles['diLeptons'] = AutoHandle( - 'cmgTauMuCorSVFitFullSel', - 'std::vector>' - ) - - if hasattr(self.cfg_ana, 'mvametsigs'): - self.handles['mvametsigs'] = AutoHandle( - self.cfg_ana.mvametsigs, # 'mvaMETTauMu' - 'std::vector' - ) - - self.handles['leptons'] = AutoHandle( - 'cmgMuonSel', - 'std::vector' - ) - - # FIXME reading the genparticlespruned collection. problem elsewhere? - self.mchandles['genParticles'] = AutoHandle( 'genParticlesPruned', - 'std::vector' ) - - def buildDiLeptons(self, cmgDiLeptons, event): - '''Build di-leptons, associate best vertex to both legs, - select di-leptons with a tight ID muon. - The tight ID selection is done so that dxy and dz can be computed - (the muon must not be standalone). - ''' - diLeptons = [] - for index, dil in enumerate(cmgDiLeptons): - pydil = self.__class__.DiObjectClass(dil) - pydil.leg1().associatedVertex = event.goodVertices[0] - pydil.leg2().associatedVertex = event.goodVertices[0] - if not self.testMuonIDTight( pydil.leg2() ): - continue - if hasattr(self.cfg_ana, 'mvametsigs'): - pydil.mvaMetSig = mvaMetSig = self.handles['mvametsigs'].product()[index] - diLeptons.append( pydil ) - return diLeptons - - def buildLeptons(self, cmgLeptons, event): - '''Build muons for veto, associate best vertex, select loose ID muons. - The loose ID selection is done to ensure that the muon has an inner track.''' - leptons = [] - for index, lep in enumerate(cmgLeptons): - pyl = self.__class__.LeptonClass(lep) - pyl.associatedVertex = event.goodVertices[0] - if not self.testMuonIDLoose( pyl ): - continue - leptons.append( pyl ) - return leptons - - - def process(self, event): - -## if event.iEv == 421: -## import pdb; pdb.set_trace() - - result = super(TauMuAnalyzer, self).process(event) - - if result is False: - selDiLeptons = [ diL for diL in event.diLeptons if \ - self.testMass(diL) ] - if len(selDiLeptons)==0: - return False - event.diLepton = self.bestDiLepton( selDiLeptons ) - event.leg1 = event.diLepton.leg1() - event.leg2 = event.diLepton.leg2() - event.isSignal = False - else: - event.isSignal = True - - event.genMatched = None - if self.cfg_comp.isMC: - genParticles = self.mchandles['genParticles'].product() - event.genParticles = map( GenParticle, genParticles) - leg1DeltaR, leg2DeltaR = event.diLepton.match( event.genParticles ) - if leg1DeltaR>-1 and leg1DeltaR < 0.1 and \ - leg2DeltaR>-1 and leg2DeltaR < 0.1: - event.genMatched = True - else: - event.genMatched = False - - return True - - def testLeg1(self, leg): - return self.testTau(leg) and \ - super( TauMuAnalyzer, self).testLeg1( leg ) - - - def testLeg2(self, leg): - # import pdb; pdb.set_trace() - return self.testMuonTight(leg) and \ - super( TauMuAnalyzer, self).testLeg2( leg ) - - - def testTau(self, tau): - '''Returns True if a tau passes a set of cuts. - Can be used in testLeg1 and testLeg2, in child classes.''' - if tau.decayMode() == 0 and \ - tau.calcEOverP() < 0.2: #reject muons faking taus in 2011B - return False - return tau.tauID("byLooseIsoMVA")>0.5 and \ - tau.tauID("againstMuonTight")>0.5 and \ - tau.tauID("againstElectronLoose")>0.5 and \ - self.testVertex( tau ) - # tau.tauID("byLooseCombinedIsolationDeltaBetaCorr")>0.5 and \ - - - def testVertex(self, lepton): - '''Tests vertex constraints, for mu and tau''' - return abs(lepton.dxy()) < 0.045 and \ - abs(lepton.dz()) < 0.2 - - - def testMuonIDTight(self, muon): - '''Tight muon selection, no isolation requirement''' - return muon.pt() > self.cfg_ana.pt2 and \ - abs( muon.eta() ) < self.cfg_ana.eta2 and \ - muon.tightId() and \ - self.testVertex( muon ) - - def testMuonTight(self, muon ): - '''Tight muon selection, with isolation requirement''' - return self.testMuonIDTight(muon) and \ - self.muonIso(muon) 15 and \ - abs( muon.eta() ) < 2.5 and \ - muon.looseId() and \ - self.testVertex( muon ) - - - def testMuonLoose( self, muon ): - '''Loose muon selection, with isolation requirement (for di-lepton veto)''' - #COLIN: not sure the vertex constraints should be kept - return self.testMuonIDLoose(muon) and \ - self.muonIso(muon)<0.3 - - - def muonIso(self, muon ): - return muon.relIsoAllChargedDB05() - - - def leptonAccept(self, leptons): - looseLeptons = set(filter( self.testMuonLoose, leptons )) - return len(looseLeptons)<2 diff --git a/CMGTools/H2TauTau/python/proto/analyzers/TauTauAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/TauTauAnalyzer.py index 6efe6f0e99c7..baa40150077e 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/TauTauAnalyzer.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/TauTauAnalyzer.py @@ -1,820 +1,141 @@ -import math -import re -from fnmatch import fnmatch as fnm -from ROOT import TFile - -from PhysicsTools.Heppy.analyzers.examples.DiLeptonAnalyzer import DiLeptonAnalyzer -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Tau, Muon, GenParticle -from PhysicsTools.HeppyCore.utils.deltar import deltaR2 -from PhysicsTools.Heppy.physicsobjects.HTauTauElectron import HTauTauElectron as Electron -from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Jet -from PhysicsTools.HeppyCore.utils.deltar import cleanObjectCollection -from PhysicsTools.HeppyCore.statistics.counter import Counters - -from CMGTools.H2TauTau.proto.physicsobjects.DiObject import TauTau -from CMGTools.RootTools.utils.TriggerMatching import triggerMatched - -### TauID WP summer13 -# loose medium tight -# old mva > 0.795, 0.884, 0.921 -# mva2 > 0.85 , 0.90 , 0.94 -# 3hit < 2 , 1 , 0.8 - - - -notPassed = [] - -class TauTauAnalyzer( DiLeptonAnalyzer ): - - DiObjectClass = TauTau - LeptonClass = Tau - - def declareHandles(self): - super(TauTauAnalyzer, self).declareHandles() - - #self.handles['diLeptons'] = AutoHandle( 'cmgDiTauCorSVFitFullSel' , 'std::vector >' ) ## old object - #self.handles['mvametsigs'] = AutoHandle( 'mvaMETDiTau' , 'std::vector' ) - self.handles['diLeptons'] = AutoHandle( 'cmgDiTauCorSVFitFullSel' , 'std::vector >') ## new object by Jan - self.handles['rawMET'] = AutoHandle( 'cmgPFMETRaw' , 'std::vector' ) - self.handles['jets'] = AutoHandle( 'cmgPFJetSel' , 'std::vector' ) - self.handles['electrons'] = AutoHandle( 'cmgElectronSel' , 'std::vector' ) - self.handles['muons'] = AutoHandle( 'cmgMuonSel' , 'std::vector' ) - self.handles['triggerResults'] = AutoHandle( ('TriggerResults','','HLT') , 'edm::TriggerResults' ) - self.handles['metSig'] = AutoHandle( 'pfMetSignificance' , 'cmg::METSignificance' ) - self.handles['L1JetsCentral'] = AutoHandle( ('l1extraParticles','Central','RECO'), 'vector' ) - self.handles['L1JetsTau'] = AutoHandle( ('l1extraParticles','Tau' ,'RECO'), 'vector' ) - - if self.cfg_comp.isMC and ("DY" in self.cfg_comp.name or "W" in self.cfg_comp.name or ("TTJets" in self.cfg_comp.name and 'emb' not in self.cfg_comp.name ) or "Higgs" in self.cfg_comp.name and not "WW" in self.cfg_comp.name and not "WZ" in self.cfg_comp.name): - self.mchandles['genParticles'] = AutoHandle( 'genParticlesPruned','std::vector' ) - if self.cfg_comp.isMC and "QCD" in self.cfg_comp.name: - self.mchandles['generator'] = AutoHandle( 'generator','GenEventInfoProduct' ) - if self.cfg_comp.isMC and ("DY" in self.cfg_comp.name or "W" in self.cfg_comp.name and not "WW" in self.cfg_comp.name and not "WZ" in self.cfg_comp.name and not "_new" in self.cfg_comp.name) : - self.mchandles['source'] = AutoHandle('source','LHEEventProduct') - #if self.cfg_comp.isEmb or self.cfg_comp.name == "TTJets_emb" : - if 'emb' in self.cfg_comp.name : - self.embhandles['genParticlesEmb'] = AutoHandle( ('genParticles','','EmbeddedRECO'),'std::vector' ) - - self.triggers = ['HLT_LooseIsoPFTau35_Trk20_Prong1_v6', - 'HLT_LooseIsoPFTau35_Trk20_Prong1_MET70_v6' , - 'HLT_LooseIsoPFTau35_Trk20_Prong1_MET75_v6' , - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2' , - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_v2' , - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v6' , - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v6' , - ] - - self.triggersEmb = [ - 'HLT_Mu17_Mu8_v16', - 'HLT_Mu17_Mu8_v17', - 'HLT_Mu17_Mu8_v18', - 'HLT_Mu17_Mu8_v19', - 'HLT_Mu17_Mu8_v21', - 'HLT_Mu17_Mu8_v21', - 'HLT_Mu17_Mu8_v22', - ] - - self.triggers += self.triggersEmb - - ###### PT HIGGS REWEIGHTING - if "HiggsGGH" in self.cfg_comp.name: - masspoint = re.findall(r"(\d{2,3})", self.cfg_comp.name) - masspoint = str(masspoint[0]) - self.higgsPtWeightFile = TFile("$CMSSW_BASE/src/CMGTools/H2TauTau/data/weight_ptH_"+masspoint+"_8TeV.root") - self.higgsPtWeightHistogramNom = self.higgsPtWeightFile.Get("Nominal") - self.higgsPtWeightHistogramUp = self.higgsPtWeightFile.Get("Up") - self.higgsPtWeightHistogramDown = self.higgsPtWeightFile.Get("Down") - - def beginLoop(self, setup): - super(TauTauAnalyzer,self).beginLoop(setup) - self.counters = Counters() - self.counters.addCounter('DiLepton') - count = self.counters.counter('DiLepton') - count.register('all events') - count.register('> 0 di-lepton') - count.register('lepton accept') - count.register('third lepton veto') - count.register('leg1 trig matched') - count.register('leg2 trig matched') - count.register('jet trig matched') - count.register('leg1 offline cuts passed') - count.register('leg2 offline cuts passed') - count.register('{min:3.1f} < m < {max:3.1f}'.format( min = self.cfg_ana.m_min, max = self.cfg_ana.m_max )) - count.register('exactly 1 di-lepton') - - def bestDiLepton(self, diLeptons): - '''Returns the best diLepton (the one with best isolation).''' - iso = self.cfg_ana.isolation - if iso == 'mva' : #### Tau ID MVA - return max( [ (min(dilep.leg1().tauID("byRawIsoMVA"), dilep.leg2().tauID("byRawIsoMVA")), dilep) for dilep in diLeptons ] )[1] - if iso == 'mva2' : #### Tau ID MVA2 - return max( [ (min(dilep.leg1().tauID("byIsolationMVA2raw"), dilep.leg2().tauID("byIsolationMVA2raw")), dilep) for dilep in diLeptons ] )[1] - if iso == 'db3h' : #### Tau ID deltaBeta 3 hits - return min( [ (max(dilep.leg1().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits"), dilep.leg2().tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits")), dilep) for dilep in diLeptons ] )[1] - - #### highest sum pt pair - #return max( [ (dilep.sumPt(), dilep) for dilep in diLeptons ] )[1] - - def process(self, event): - # select signal dileptons with all cuts on both legs - - if 'TTJets_emb' in self.cfg_comp.name : - self.cfg_comp.isEmbed = True - self.readCollections( event.input ) - # trigger stuff could be put in a separate analyzer - # event.triggerObject = self.handles['cmgTriggerObjectSel'].product()[0] - - event.diLeptons = self.buildDiLeptons( self.handles['diLeptons'].product(), event ) - - #event.leptons = self.buildLeptons( self.handles['leptons'].product(), event ) - event.leptons = [] - for diLepton in event.diLeptons: - if not diLepton.leg1() in event.leptons: - event.leptons += [diLepton.leg1()] - if not diLepton.leg2() in event.leptons: - event.leptons += [diLepton.leg2()] - self.shiftEnergyScale(event) - - event.rawMET = self.handles['rawMET'].product() - - triggerResults = self.handles['triggerResults'].product() - triggerNames = event.input._event.triggerNames(triggerResults) - #event.hltPath = [] - for trig in self.triggers: - index = triggerNames.triggerIndex(trig) - if index >= triggerNames.size(): - trigres = -1 - else: - trigres = triggerResults.accept(index) - #event.hltPath.append(trig) - setattr(event,trig,trigres) - - result = self.selectionSequence(event, fillCounter=True) - - # select non signal dileptons with loose cuts - if result is False: - selDiLeptons = [ diL for diL in event.diLeptonsTrigMatched if \ - self.cfg_ana.m_min < diL.mass() and diL.mass() < self.cfg_ana.m_max and \ - self.testLooseLeg( diL.leg1() ) and self.testLooseLeg( diL.leg2() ) and \ - (self.testLeg( diL.leg1() ) or self.testLeg( diL.leg2() )) ] - - if len(selDiLeptons)==0: - selDiLeptons = [ diL for diL in event.diLeptons if \ - self.cfg_ana.m_min < diL.mass() and diL.mass() < self.cfg_ana.m_max and \ - self.testLooseLeg( diL.leg1() ) and self.testLooseLeg( diL.leg2() ) and \ - (self.testLeg( diL.leg1() ) or self.testLeg( diL.leg2() )) ] - if len(selDiLeptons)==0: - return False - event.diLepton = self.bestDiLepton( selDiLeptons ) - event.leg1 = event.diLepton.leg1() - event.leg2 = event.diLepton.leg2() - event.isSignal = False - else: - event.isSignal = True - - #if event.eventId in notPassed : - # print 'diLeptons built, is Signal?', result - # import pdb ; pdb.set_trace() - - #if len([event.diLepton])>1 : - #import pdb ; pdb.set_trace() - event.leg1.NewLooseAntiEleMVA3 = self.passAntiEMVA(iCat = event.diLepton.leg1().tauID("againstElectronMVA3category"), raw = event.diLepton.leg1().tauID("againstElectronMVA3raw"), WP = 0 ) - event.leg2.NewLooseAntiEleMVA3 = self.passAntiEMVA(iCat = event.diLepton.leg2().tauID("againstElectronMVA3category"), raw = event.diLepton.leg2().tauID("againstElectronMVA3raw"), WP = 0 ) - - # count muons - event.muons = [lep for lep in self.buildMuons(self.handles['muons'].product(),event) - if self.testLegKine(lep, ptcut=10, etacut=2.4) and - self.testLeg2ID(lep) and - self.testLeg2Iso(lep, 0.3) ] - # count electrons - event.electrons = [electron for electron in self.buildElectrons(self.handles['electrons'].product(),event) - if self.testLegKine(electron, ptcut=10, etacut=2.5) and - electron.looseIdForTriLeptonVeto() and - self.testVertex( electron ) and - electron.relIsoAllChargedDB05() < 0.3] - ####### what ID for veto means - ####### http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/UserCode/CMG/CMGTools/RootTools/python/physicsobjects/HTauTauElectron.py?revision=1.10&view=markup - #import pdb ; pdb.set_trace() - - if self.cfg_comp.isEmbed or "TTJets_emb" in self.cfg_comp.name : - genParticles = self.embhandles['genParticlesEmb'].product() - self.splitDYJets( event, genParticles, event.diLepton, require_status=False) - - if self.cfg_comp.isMC and ("DY" in self.cfg_comp.name or "W" in self.cfg_comp.name and not "WW" in self.cfg_comp.name and not "WZ" in self.cfg_comp.name and not "_new" in self.cfg_comp.name) : - event.NUP = self.mchandles['source'].product().hepeup().NUP - else: - event.NUP = -1 - - event.genMatched = None - if self.cfg_comp.isMC and ("DY" in self.cfg_comp.name or "Higgs" in self.cfg_comp.name): - genParticles = self.mchandles['genParticles'].product() - event.genParticles = map( GenParticle, genParticles) - - # useless now - leg1DeltaR, leg2DeltaR = event.diLepton.match( event.genParticles ) - event.leg1DeltaR = leg1DeltaR - event.leg2DeltaR = leg2DeltaR - if leg1DeltaR>-1 and leg1DeltaR < 0.3 and \ - leg2DeltaR>-1 and leg2DeltaR < 0.3 : - event.genMatched = True - else: - event.genMatched = False - - self.splitDYJets( event, genParticles, event.diLepton) - - event.isPhoton=False - event.isElectron=False - for gen in genParticles: - if abs(gen.pdgId())==15 and abs(gen.mother().pdgId())==23 and (gen.mother().mass()<80 or gen.mother().mass()>100): - event.isPhoton=True - if abs(gen.pdgId())==13 and abs(gen.mother().pdgId())==23: - event.isMuon=True - if abs(gen.pdgId())==11 and abs(gen.mother().pdgId())==23: - event.isElectron=True - - #import pdb ; pdb.set_trace() - - if self.cfg_comp.isMC and "W" in self.cfg_comp.name: - genParticles = self.mchandles['genParticles'].product() - event.genParticles = map( GenParticle, genParticles) - genTaus = [] - event.genMatched = False - event.genMatchedElectron = False - event.genMatchedMuon = False - for gen in genParticles: - if abs(gen.pdgId()) in [11,13,15] and abs(gen.mother().pdgId())==24: # W -> tau nu - genTaus.append( gen ) - if len(genTaus)>=1: - dR2leg1Min, event.diLepton.leg1Gen = ( float('inf'), None) - dR2leg2Min, event.diLepton.leg2Gen = ( float('inf'), None) - for genTau in genTaus: - dR2leg1 = deltaR2(event.diLepton.leg1().eta(), event.diLepton.leg1().phi(), - genTau.eta(), genTau.phi() ) - dR2leg2 = deltaR2(event.diLepton.leg2().eta(), event.diLepton.leg2().phi(), - genTau.eta(), genTau.phi() ) - if dR2leg1 < dR2leg1Min: - dR2leg1Min, event.diLepton.leg1Gen = (dR2leg1, genTau) - if dR2leg2 < dR2leg2Min: - dR2leg2Min, event.diLepton.leg2Gen = (dR2leg2, genTau) - leg1DeltaR = math.sqrt( dR2leg1Min ) - leg2DeltaR = math.sqrt( dR2leg2Min ) - if ((leg1DeltaR>-1 and leg1DeltaR < 0.1) or \ - (leg2DeltaR>-1 and leg2DeltaR < 0.1)) and abs(genTau.pdgId())==11: - event.genMatchedElectron = True - if ((leg1DeltaR>-1 and leg1DeltaR < 0.1) or \ - (leg2DeltaR>-1 and leg2DeltaR < 0.1)) and abs(genTau.pdgId())==13: - event.genMatchedMuon = True - if ((leg1DeltaR>-1 and leg1DeltaR < 0.1) or \ - (leg2DeltaR>-1 and leg2DeltaR < 0.1)) and abs(genTau.pdgId())==15: - event.genMatched = True - event.isElectron=False - event.isMuon=False - event.isTau=False - for gen in genParticles: - if abs(gen.pdgId())==11 and abs(gen.mother().pdgId())==24: - event.isElectron=True - if abs(gen.pdgId())==13 and abs(gen.mother().pdgId())==24: - event.isMuon=True - if abs(gen.pdgId())==15 and abs(gen.mother().pdgId())==24: - event.isTau=True - #import pdb ; pdb.set_trace() - if self.cfg_comp.isMC and "TTJets_emb" not in self.cfg_comp.name: - genParticles = self.mchandles['genParticles'].product() - event.genParticles = map( GenParticle, genParticles) - genTaus = [] - event.genMatched = 0 - event.genMatchedElectron = 0 - event.genMatchedMuon = 0 - for gen in genParticles: - if abs(gen.pdgId()) in [11,13,15] and abs(gen.mother().pdgId())==24: # W -> tau nu - genTaus.append( gen ) - if len(genTaus)>=1: - dR2leg1Min, event.diLepton.leg1Gen = ( float('inf'), None) - dR2leg2Min, event.diLepton.leg2Gen = ( float('inf'), None) - for genTau in genTaus: - dR2leg1 = deltaR2(event.diLepton.leg1().eta(), event.diLepton.leg1().phi(), - genTau.eta(), genTau.phi() ) - dR2leg2 = deltaR2(event.diLepton.leg2().eta(), event.diLepton.leg2().phi(), - genTau.eta(), genTau.phi() ) - if dR2leg1 < dR2leg1Min: - dR2leg1Min, event.diLepton.leg1Gen = (dR2leg1, genTau) - if dR2leg2 < dR2leg2Min: - dR2leg2Min, event.diLepton.leg2Gen = (dR2leg2, genTau) - leg1DeltaR = math.sqrt( dR2leg1Min ) - leg2DeltaR = math.sqrt( dR2leg2Min ) - if (leg1DeltaR>-1 and leg1DeltaR < 0.1) and abs(genTau.pdgId())==11: - event.genMatchedElectron+=1 - if (leg1DeltaR>-1 and leg1DeltaR < 0.1) and abs(genTau.pdgId())==13: - event.genMatchedMuon+=1 - if (leg1DeltaR>-1 and leg1DeltaR < 0.1) and abs(genTau.pdgId())==15: - event.genMatched+=1 - if (leg2DeltaR>-1 and leg2DeltaR < 0.1) and abs(genTau.pdgId())==11: - event.genMatchedElectron+=1 - if (leg2DeltaR>-1 and leg2DeltaR < 0.1) and abs(genTau.pdgId())==13: - event.genMatchedMuon+=1 - if (leg2DeltaR>-1 and leg2DeltaR < 0.1) and abs(genTau.pdgId())==15: - event.genMatched+=1 - event.isElectron=0 - event.isMuon=0 - event.isTau=0 - for gen in genParticles: - if abs(gen.pdgId())==11 and abs(gen.mother().pdgId())==24: - event.isElectron+=1 - if abs(gen.pdgId())==13 and abs(gen.mother().pdgId())==24: - event.isMuon+=1 - if abs(gen.pdgId())==15 and abs(gen.mother().pdgId())==24: - event.isTau+=1 - if self.cfg_comp.isMC and "QCD" in self.cfg_comp.name: - generator = self.mchandles['generator'].product() - event.generatorWeight = generator.weight() - event.eventWeight *= event.generatorWeight - #import pdb ; pdb.set_trace() - - if self.cfg_comp.isMC and "HiggsGGH" in self.cfg_comp.name: - genParticles = self.mchandles['genParticles'].product() - event.genParticles = map( GenParticle, genParticles) - higgsPt=-1 - for gen in genParticles: - if abs(gen.pdgId())==25: - higgsPt = gen.pt() - break - event.higgsPtWeightNom = self.higgsPtWeightHistogramNom.GetBinContent(self.higgsPtWeightHistogramNom.FindBin(higgsPt)) - event.higgsPtWeightUp = self.higgsPtWeightHistogramUp.GetBinContent(self.higgsPtWeightHistogramUp.FindBin(higgsPt)) - event.higgsPtWeightDown = self.higgsPtWeightHistogramDown.GetBinContent(self.higgsPtWeightHistogramDown.FindBin(higgsPt)) - else : - event.higgsPtWeightNom = 1. - event.higgsPtWeightUp = 1. - event.higgsPtWeightDown = 1. - - - ## third lepton veto - if len(event.muons)+len(event.electrons)> 0: +from PhysicsTools.HeppyCore.statistics.counter import Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle +from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Tau, Muon, Jet, GenParticle +from PhysicsTools.Heppy.physicsobjects.Electron import Electron + +from CMGTools.H2TauTau.proto.analyzers.DiLeptonAnalyzer import DiLeptonAnalyzer +from CMGTools.H2TauTau.proto.physicsobjects.DiObject import TauTau + +class TauTauAnalyzer( DiLeptonAnalyzer ) : + + DiObjectClass = TauTau + LeptonClass = Muon + OtherLeptonClass = Electron + + def declareHandles(self): + super(TauTauAnalyzer, self).declareHandles() + self.handles['diLeptons' ] = AutoHandle( 'cmgDiTauCorSVFitFullSel', 'std::vector' ) + self.handles['otherLeptons' ] = AutoHandle( 'slimmedElectrons' , 'std::vector' ) + self.handles['leptons' ] = AutoHandle( 'slimmedMuons' , 'std::vector' ) + self.handles['jets' ] = AutoHandle( 'slimmedJets' , 'std::vector' ) + + def process(self, event): + + # method inherited from parent class DiLeptonAnalyzer + # asks for at least on di-tau pair + # applies the third lepton veto + # tests leg1 and leg2 + # cleans by dR the two signal leptons + # applies the trigger matching to the two signal leptons + # choses the best di-tau pair, with the bestDiLepton method + # as implemented here + + result = super(TauTauAnalyzer, self).process(event) + + if result : + event.isSignal = True + else : + # trying to get a dilepton from the control region. + # it must have well id'ed and trig matched legs, + # di-lepton and tri-lepton veto must pass + result = self.selectionSequence( event, + fillCounter = False , + leg1IsoCut = self.cfg_ana.looseiso1 , + leg2IsoCut = self.cfg_ana.looseiso2 ) + + if result is False: + # really no way to find a suitable di-lepton, + # even in the control region return False - - if ("DY" in self.cfg_comp.name and event.isZtt) or "Higgs" in self.cfg_comp.name or (self.cfg_comp.isEmbed and event.isZtt): - event.isRealTau = 1 - else : - event.isRealTau = 0 - - if not hasattr(event,'NJetWeight') : - event.NJetWeight = 1. - #import pdb ; pdb.set_trace() - - - if ("DY" in self.cfg_comp.name and event.isZtt) or "Higgs" in self.cfg_comp.name or (self.cfg_comp.isEmbed and event.isZtt): - if event.leg1.decayMode() == 0 : - event.leg1.prongWeight = 0.88 - else : - event.leg1.prongWeight = 1. - if event.leg2.decayMode() == 0 : - event.leg2.prongWeight = 0.88 - else : - event.leg2.prongWeight = 1. - #import pdb ; pdb.set_trace() - - #event.name = self.cfg_comp.name - #import pdb ; pdb.set_trace() - event.metsig = self.handles['metSig'].product() - - - event.ntot = 1. -# ngenevts = { 'W1Jets' : 23141598.* 1.0 , -# 'W2Jets' : 34044921.* 1.0 , -# 'W3Jets' : 15539503.* 0.997191011236, -# 'W4Jets' : 13382803.* 0.996168582375, -# #'WJets' : 18393090 * 1.0 , -# 'WJets' : 57709905.* 1.0 , -# 'HiggsGGH125' : 968134. * 1.0 , -# 'HiggsVBF125' : 998836. * 1.0 , -# 'TTJetsFullLept' : 12011428 * 1.0 , -# 'TTJetsHadronic' : 31223821 * 1.0 , -# 'TTJetsSemiLept' : 24953451 * 1.0 , -# 'DYJets' : 30459503 * 1.0 , -# 'HiggsSUSYBB' : 999976 * 1.0 , -# 'HiggsSUSYGluGlu': 981688 * 1.0 , -# 'HiggsSUSYBB' : 996960 * 1.0 , -# 'HiggsSUSYGluGlu': 985800 * 1.0 , -# } - - ngenevts = { - 'HiggsSUSYGluGlu110': 1000348 * 0.990003 , - } - - #import pdb ; pdb.set_trace() - for name in ngenevts.keys() : - if name in self.cfg_comp.name : - event.ntot = ngenevts[name] - - return True - - def selectionSequence(self, event, fillCounter, leg1IsoCut=None, leg2IsoCut=None): - - if fillCounter: self.counters.counter('DiLepton').inc('all events') - - if len(event.diLeptons) == 0: - return False - if fillCounter: self.counters.counter('DiLepton').inc('> 0 di-lepton') - - # testing di-lepton itself - selDiLeptons = event.diLeptons - - if not self.leptonAccept( event.leptons ): - return False - if fillCounter: self.counters.counter('DiLepton').inc('lepton accept') - - if not hasattr( event, 'hltPaths'): - event.hltPaths = [] - - #import pdb ; pdb.set_trace() - - matching = {} - for trig in event.hltPaths : - matching.update({trig:[-99,-99,-99]}) # {trigName:leg1,leg2,jet} - - event.diLeptonsTrigMatched = [] - - for trig in event.hltPaths : - if self.cfg_comp.isEmbed : continue ## no matching for the embed - selDiLeptons = event.diLeptons - if len(self.cfg_comp.triggers)>0: - # trigger matching leg1 - selDiLeptons = [diL for diL in selDiLeptons if self.trigMatched(event, diL.leg1(), 'leg1', trig)] - if len(selDiLeptons) == 0: - matching[trig][0]=0 - else: - if fillCounter: self.counters.counter('DiLepton').inc('leg1 trig matched') - matching[trig][0]=1 - - if len(self.cfg_comp.triggers)>0: - # trigger matching leg2 - selDiLeptons = [diL for diL in selDiLeptons if self.trigMatched(event, diL.leg2(), 'leg2', trig)] - if len(selDiLeptons) == 0: - matching[trig][1]=0 - else: - if fillCounter: self.counters.counter('DiLepton').inc('leg2 trig matched') - matching[trig][1]=1 - - if len(self.cfg_comp.triggers)>0 and len(self.cfg_ana.triggerMap[ trig ])>2: - # trigger matching jet - cmgJets = self.handles['jets'].product() - jets=[] - for cmgJet in cmgJets: - jet = Jet( cmgJet ) - if self.testJet( jet ): - jets.append(jet) - - selDiLeptonsNew=[] - for diL in selDiLeptons: - cleanJets, dummy = cleanObjectCollection( jets, masks = [ diL.leg1(), diL.leg2() ], deltaRMin = 0.5 ) - if len(cleanJets)>0 and self.trigMatched(event, cleanJets[0], 'jet', trig): - selDiLeptonsNew += [diL] - selDiLeptons = selDiLeptonsNew - if len(selDiLeptons) == 0: - matching[trig][2]=0 - else: - if fillCounter: self.counters.counter('DiLepton').inc('jet trig matched') - matching[trig][2]=1 - - event.diLeptonsTrigMatched += selDiLeptons - - event.diLeptonsTrigMatched = set(event.diLeptonsTrigMatched) - - ### need unix style wild card to macth different trigger versions in data - for trig in matching.keys() : - if fnm(trig,'HLT_DoubleMediumIsoPFTau35_Trk*_eta2p1_v*') : - event.l1TrigMatched_diTau = matching[trig][0] - event.l2TrigMatched_diTau = matching[trig][1] - if fnm(trig,'HLT_DoubleMediumIsoPFTau*_Trk*_eta2p1_Jet30_v*') : - event.l1TrigMatched_diTauJet = matching[trig][0] - event.l2TrigMatched_diTauJet = matching[trig][1] - event.jetTrigMatched_diTauJet = matching[trig][2] - - # testing leg1 - selDiLeptons = [ diL for diL in selDiLeptons if self.testLeg( diL.leg1() ) ] - if len(selDiLeptons) == 0: - return False - else: - if fillCounter: self.counters.counter('DiLepton').inc('leg1 offline cuts passed') - - # testing leg2 - selDiLeptons = [ diL for diL in selDiLeptons if self.testLeg( diL.leg2() ) ] - if len(selDiLeptons) == 0: - return False - else: - if fillCounter: self.counters.counter('DiLepton').inc('leg2 offline cuts passed') - - - # mass cut - selDiLeptons = [ diL for diL in selDiLeptons if self.testMass(diL) ] - if len(selDiLeptons)==0: - return False - else: - if fillCounter: self.counters.counter('DiLepton').inc('{min:3.1f} < m < {max:3.1f}'.format( min = self.cfg_ana.m_min, max = self.cfg_ana.m_max )) - - # exactly one? - if len(selDiLeptons)==0: - return False - elif len(selDiLeptons)==1: - if fillCounter: self.counters.counter('DiLepton').inc('exactly 1 di-lepton') - - event.diLepton = self.bestDiLepton( selDiLeptons ) - event.leg1 = event.diLepton.leg1() - event.leg2 = event.diLepton.leg2() - - # match with L1 particles, whether Central Jets or Taus - L1Taus = self.handles['L1JetsTau'].product() - L1Jets = self.handles['L1JetsCentral'].product() - L1dR1T, L1dR2T, index1T, index2T = self.match(event.diLepton, L1Taus) - L1dR1J, L1dR2J, index1J, index2J = self.match(event.diLepton, L1Jets) - if L1dR1T < L1dR1J and L1dR1T<=0.5 : - if L1Taus[index1T].pt()>44. and abs(L1Taus[index1T].eta())<2.1 : - event.leg1.L1particle = L1Taus[index1T] - if L1dR1J < L1dR1T and L1dR1J<=0.5 : - if L1Jets[index1J].pt()>64. : - event.leg1.L1particle = L1Jets[index1J] - if L1dR2T < L1dR2J and L1dR2T<=0.5 : - if L1Taus[index2T].pt()>44. and abs(L1Taus[index2T].eta())<2.1 : - event.leg2.L1particle = L1Taus[index2T] - if L1dR2J < L1dR2T and L1dR2J<=0.5 : - if L1Jets[index2J].pt()>64. : - event.leg2.L1particle = L1Jets[index2J] - - ### require trigger bit in Embedded RecHit - if self.cfg_comp.isEmbed : - #if len(event.hltPath)==0 : return False - if not event.hltPath : return False - - #import pdb ; pdb.set_trace() - return True - - def testLeg(self, leg): - leg_pt = self.cfg_ana.pt - leg_eta = self.cfg_ana.eta - iso = self.cfg_ana.isolation - - if iso == 'mva' : #### Tau ID MVA - test_leg_iso = leg.tauID("byRawIsoMVA") > 0.5 # 0.884 - if iso == 'mva2' : #### Tau ID MVA2 - test_leg_iso = leg.tauID("byIsolationMVA2raw") > 0.5 # 0.90 - if iso == 'db3h' : #### Tau ID deltaBeta 3 hits - test_leg_iso = leg.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10. #15. - - return (test_leg_iso and \ - leg.pt()>leg_pt and abs(leg.eta()) < leg_eta and \ - leg.tauID("decayModeFinding") > 0.5 and \ - leg.tauID("againstElectronLoose") > 0.5 and \ - leg.tauID("againstMuonLoose") > 0.5) - - def testLooseLeg(self, leg): - leg_pt = self.cfg_ana.pt - leg_eta = self.cfg_ana.eta - iso = self.cfg_ana.isolation - - if iso == 'mva' : #### Tau ID MVA - test_leg_iso = leg.tauID("byRawIsoMVA") > 0.5 - if iso == 'mva2' : #### Tau ID MVA2 - test_leg_iso = leg.tauID("byIsolationMVA2raw") > 0.5 - if iso == 'db3h' : #### Tau ID deltaBeta 3 hits - test_leg_iso = leg.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits") < 10. #15. - - return (test_leg_iso and \ - leg.pt()>leg_pt and abs(leg.eta()) < leg_eta and \ - leg.tauID("decayModeFinding") > 0.5 and \ - leg.tauID("againstElectronLoose") > 0.5 and \ - leg.tauID("againstMuonLoose") > 0.5) - - def passAntiEMVA(self, iCat, raw, WP=0) : - iCat = int(iCat) - - if iCat<0 : return False - if iCat>15 : return True - - cutsLoose = [0.835,0.831,0.849,0.859,0.873,0.823,0.85 ,0.855,0.816,0.861,0.862,0.847,0.893,0.82 ,0.845,0.851] - cutsMedium = [0.933,0.921,0.944,0.945,0.918,0.941,0.981,0.943,0.956,0.947,0.951,0.95 ,0.897,0.958,0.955,0.942] - cutsTight = [ 0.96,0.968,0.971,0.972,0.969,0.959,0.981,0.965,0.975,0.972,0.974,0.971,0.897,0.971,0.961,0.97 ] - cutsVeryTight = [0.978,0.98 ,0.982,0.985,0.977,0.974,0.989,0.977,0.986,0.983,0.984,0.983,0.971,0.987,0.977,0.981] - cut = 0 - - if WP==0 : cut = cutsLoose[iCat] - if WP==1 : cut = cutsMedium[iCat] - if WP==2 : cut = cutsTight[iCat] - if WP==3 : cut = cutsVeryTight[iCat] - - return (raw>cut) - - def muonIso(self, muon ): - '''dbeta corrected pf isolation with all charged particles instead of - charged hadrons''' - return muon.relIsoAllChargedDB05() - - def testLeg2ID(self, muon): - '''Tight muon selection, no isolation requirement''' - return muon.tightId() and \ - self.testVertex( muon ) - - def testLeg2Iso(self, muon, isocut): - '''Tight muon selection, with isolation requirement''' - if isocut is None: - isocut = self.cfg_ana.iso2 - return self.muonIso(muon) 15 and \ - abs( muon.eta() ) < 2.4 and \ - muon.isGlobalMuon() and \ - muon.isTrackerMuon() and \ - muon.sourcePtr().userFloat('isPFMuon') and \ - abs(muon.dz()) < 0.2 - - def buildMuons(self, cmgLeptons, event): - '''Build muons for veto, associate best vertex, select loose ID muons. - The loose ID selection is done to ensure that the muon has an inner track.''' - leptons = [] - for index, lep in enumerate(cmgLeptons): - pyl = Muon(lep) - pyl.associatedVertex = event.goodVertices[0] - if not self.testMuonIDLoose( pyl ): - continue - leptons.append( pyl ) - return leptons - - def buildElectrons(self, cmgOtherLeptons, event): - '''Build electrons for third lepton veto, associate best vertex. - ''' - otherLeptons = [] - for index, lep in enumerate(cmgOtherLeptons): - pyl = Electron(lep) - pyl.associatedVertex = event.goodVertices[0] - #COLINTLV check ID - # if not self.testMuonIDLoose(pyl): - # continue - otherLeptons.append( pyl ) - return otherLeptons - - def trigMatched(self, event, leg, legName, trigpath): - '''Returns true if the leg is matched to a trigger object as defined in the - triggerMap parameter''' - if not hasattr( self.cfg_ana, 'triggerMap'): - return True - #path = event.hltPath this works if you have only one path - path = trigpath - #import pdb ; pdb.set_trace() - triggerObjects = event.triggerObjects - filters = self.cfg_ana.triggerMap[ path ] - filter = None - if legName == 'leg1': - filter = filters[0] - elif legName == 'leg2': - filter = filters[1] - elif legName == 'jet': - filter = filters[2] - else: - raise ValueError( 'legName should be leg1 or leg2, not {leg}'.format( - leg=legName ) ) - # the default dR2Max value is 0.3^2 - pdgIds = None - if len(filter) == 2: - filter, pdgIds = filter[0], filter[1] - - return triggerMatched(leg, triggerObjects, path, filter, - dR2Max=0.5*0.5,dRMax=0.5, - pdgIds=pdgIds ) - - def testJetID(self, jet): - - #jet.puJetIdPassed = jet.puJetId() - jet.puJetIdPassed = jet.puJetId53X() - jet.pfJetIdPassed = jet.looseJetId() - - #jet.pfJetIdPassed = jet.getSelection('cuts_looseJetId') - - if self.cfg_ana.relaxJetId: - return True - else: - return jet.puJetIdPassed and jet.pfJetIdPassed - - def testJet( self, jet ): - # 2 is loose pile-up jet id - return jet.pt() > self.cfg_ana.jetPt and \ - abs( jet.eta() ) < self.cfg_ana.jetEta and \ - self.testJetID(jet) - # jet.passPuJetId('full', 2) - - def match(self, myPair, genParticles): - - dR2leg1Min = 999. - dR2leg2Min = 999. - dR2leg1 = 999. - dR2leg2 = 999. - index1 = -99 - index2 = -99 - - for index, genPart in enumerate(genParticles) : - dR2leg1 = deltaR2(myPair.leg1().eta(), myPair.leg1().phi(), genPart.eta(), genPart.phi() ) - dR2leg2 = deltaR2(myPair.leg2().eta(), myPair.leg2().phi(), genPart.eta(), genPart.phi() ) - if dR2leg1 < dR2leg1Min: - dR2leg1Min = dR2leg1 - index1 = index - if dR2leg2 < dR2leg2Min: - dR2leg2Min = dR2leg2 - index2 = index - - self.leg1DeltaR = math.sqrt( dR2leg1Min ) - self.leg2DeltaR = math.sqrt( dR2leg2Min ) - self.index1 = index1 - self.index2 = index2 - return (self.leg1DeltaR, self.leg2DeltaR, self.index1, self.index2) - - def splitDYJets( self, event, genParticles, myPair, require_status = True, bosons = [23,25,35,36]) : - - ## require_status: yes, status==3 for MCs, but status may vary for emb, therefore it is switched off - ## PDG Id: e 11, mu 13, tau 15, Z 23, h 25, H 35, A 36, H+ 37 - ## DYJets sample gets split by gen matching and - ## Higgs samples are given a flag (isZtt) to require reco taus matched to gen taus - - ## flag to split DYJets into ZTT, ZL, ZJ - event.isZtt = False ## two taus gen matched - event.isZttj = False ## two taus that fail the matching - event.isZee = False ## two electrons, both fake taus - event.isZmm = False ## two muons, both fake taus - event.isZttll = False ## ZTT->LL, both lepton fake taus - event.isZj = False ## whatever else - - ## lists with the index of Z boson's daughters - genTausFromZ = [] - genMuonsFromZ = [] - genElectronsFromZ = [] - genLeptonsFromTaus = [] - - for index, gen in enumerate(genParticles): - - status = gen.status() - id = gen.pdgId() - motherId = 0 - if gen.numberOfMothers()>0 : - motherId = gen.mother().pdgId() - - if ((not require_status) or status==3) and abs(id)==15 and abs(motherId) in bosons : genTausFromZ.append(index) - if ((not require_status) or status==3) and abs(id)==13 and abs(motherId) in bosons : genMuonsFromZ.append(index) - if ((not require_status) or status==3) and abs(id)==11 and abs(motherId) in bosons : genElectronsFromZ.append(index) - if ((not require_status) or status==3) and abs(id)==11 and abs(motherId)==15 : genLeptonsFromTaus.append(index) - if ((not require_status) or status==3) and abs(id)==13 and abs(motherId)==15 : genLeptonsFromTaus.append(index) - - if abs(gen.pdgId()) in [23] : event.hasW = True - if abs(gen.pdgId()) in [24] : event.hasZ = True - - if abs(gen.pdgId()) in [23, 25, 35, 36, 37] : event.genMass = gen.mass() - - - if len(genTausFromZ) == 2 : - ##### we don't match the embedded and therefore we don't match the DY->TT - #event.isZtt = True - ##### now we do 26/8/2013 - leg1TauDR, leg2TauDR, dummy, dummy = self.match( myPair, [ genParticles[genTausFromZ[0]],genParticles[genTausFromZ[1]] ] ) - - if leg1TauDR < 0.3 : myPair.leg1().genl = genParticles[genTausFromZ[0]] - if leg2TauDR < 0.3 : myPair.leg2().genl = genParticles[genTausFromZ[1]] - - if leg1TauDR < 0.3 and leg2TauDR < 0.3 : - event.isZtt = True - else : - event.isZttj = True - - elif len(genMuonsFromZ) == 2 : - leg1MuDR, leg2MuDR, dummy, dummy = self.match( myPair, [ genParticles[genMuonsFromZ[0]],genParticles[genMuonsFromZ[1]] ] ) - - if leg1MuDR < 0.3 : myPair.leg1().genl = genParticles[genMuonsFromZ[0]] - if leg2MuDR < 0.3 : myPair.leg2().genl = genParticles[genMuonsFromZ[1]] - - if leg1MuDR < 0.3 and leg2MuDR < 0.3 : - event.isZmm = True - - elif len(genElectronsFromZ) == 2 : - leg1ElDR, leg2ElDR, dummy, dummy = self.match( myPair, [ genParticles[genElectronsFromZ[0]],genParticles[genElectronsFromZ[1]] ] ) - - if leg1ElDR < 0.3 : myPair.leg1().genl = genParticles[genElectronsFromZ[0]] - if leg2ElDR < 0.3 : myPair.leg2().genl = genParticles[genElectronsFromZ[1]] - - if leg1ElDR < 0.3 and leg2ElDR < 0.3 : - event.isZee = True - - elif len(genLeptonsFromTaus) == 2 : - leg1LepDR, leg2LepDR, dummy, dummy = self.match( myPair, [ genParticles[genLeptonsFromTaus[0]],genParticles[genLeptonsFromTaus[1]] ] ) - - if leg1LepDR < 0.3 : myPair.leg1().genl = genParticles[genLeptonsFromTaus[0]] - if leg2LepDR < 0.3 : myPair.leg2().genl = genParticles[genLeptonsFromTaus[1]] - - if leg1LepDR < 0.3 and leg2LepDR < 0.3 : - event.isZttll = True - - ## needs to be rerun with all samples - #if not(event.isZtt or event.isZee or event.isZmm or event.isZttll or event.isZttj) : - if not(event.isZtt or event.isZee or event.isZmm) : - event.isZj = True - + event.isSignal = False + + if not ( hasattr(event, 'leg1') and hasattr(event, 'leg2') ) : + return False + + # make sure that the legs are sorted by pt + if event.leg1.pt() < event.leg2.pt() : + event.leg1 = event.diLepton.leg2() + event.leg2 = event.diLepton.leg1() + event.selectedLeptons = [event.leg2, event.leg1] + + return True + + def buildDiLeptons(self, cmgDiLeptons, event): + '''Build di-leptons, associate best vertex to both legs.''' + diLeptons = [] + for index, dil in enumerate(cmgDiLeptons): + pydil = TauTau(dil) + pydil.leg1().associatedVertex = event.goodVertices[0] + pydil.leg2().associatedVertex = event.goodVertices[0] + diLeptons.append( pydil ) + pydil.mvaMetSig = pydil.met().getSignificanceMatrix() + return diLeptons + + def buildLeptons(self, cmgLeptons, event): + '''Build muons for veto, associate best vertex, select loose ID muons. + The loose ID selection is done to ensure that the muon has an inner track.''' + leptons = [] + for index, lep in enumerate(cmgLeptons): + pyl = Muon(lep) + pyl.associatedVertex = event.goodVertices[0] + if not pyl.muonID('POG_ID_Medium') : continue + if not pyl.relIso(dBetaFactor=0.5, allCharged=0) < 0.3 : continue + if not self.testLegKine(pyl, ptcut=10, etacut=2.4) : continue + leptons.append( pyl ) + return leptons + + def buildOtherLeptons(self, cmgOtherLeptons, event): + '''Build electrons for third lepton veto, associate best vertex.''' + otherLeptons = [] + for index, lep in enumerate(cmgOtherLeptons): + pyl = Electron(lep) + pyl.associatedVertex = event.goodVertices[0] + pyl.rho = event.rho + if not pyl.cutBasedId('POG_PHYS14_25ns_v1_Veto') : continue + if not pyl.relIso(dBetaFactor=0.5, allCharged=0) < 0.3 : continue + if not self.testLegKine(pyl, ptcut=10, etacut=2.5) : continue + otherLeptons.append( pyl ) + return otherLeptons + + def testLeg(self, leg, leg_pt, leg_eta, iso, isocut): + '''requires loose isolation, pt, eta and minimal tauID cuts''' + return ( self.testTauVertex(leg) and + leg.tauID(iso) < isocut and + leg.pt() > leg_pt and + abs(leg.eta()) < leg_eta and + (leg.tauID('decayModeFinding') > 0.5 or + leg.tauID('decayModeFindingNewDMs') > 0.5) and + leg.tauID('againstElectronVLooseMVA5') > 0.5 and + leg.tauID('againstMuonLoose3') > 0.5 ) + + def testLeg1(self, leg, isocut): + leg_pt = self.cfg_ana.pt1 + leg_eta = self.cfg_ana.eta1 + iso = self.cfg_ana.isolation + return self.testLeg(leg, leg_pt, leg_eta, iso, isocut) + + def testLeg2(self, leg, isocut): + leg_pt = self.cfg_ana.pt2 + leg_eta = self.cfg_ana.eta2 + iso = self.cfg_ana.isolation + return self.testLeg(leg, leg_pt, leg_eta, iso, isocut) + + def testTauVertex(self, lepton): + '''Tests vertex constraints, for tau''' + isPV = lepton.vertex().z() == lepton.associatedVertex.z() + return isPV + + def testVertex(self, lepton, dxy = 0.045, dz = 0.2): + '''Tests vertex constraints, for mu, e and tau''' + return abs(lepton.dxy()) < dxy and \ + abs(lepton.dz()) < dz + + def bestDiLepton(self, diLeptons): + '''Returns the best diLepton (1st precedence most isolated opposite-sign, + 2nd precedence most isolated).''' + osDiLeptons = [dl for dl in diLeptons if dl.leg1().charge() != dl.leg2().charge()] + least_iso = lambda dl : max(dl.leg1().tauID(self.cfg_ana.isolation), dl.leg2().tauID(self.cfg_ana.isolation)) + # set reverse = True in case the isolation changes to MVA + # in that case the least isolated is the one with the lowest MVAscore + if osDiLeptons : return sorted(osDiLeptons, key=lambda dl : least_iso(dl), reverse=False)[0] + else : return sorted( diLeptons, key=lambda dl : least_iso(dl), reverse=False)[0] diff --git a/CMGTools/H2TauTau/python/proto/analyzers/TauTreeProducer.py b/CMGTools/H2TauTau/python/proto/analyzers/TauTreeProducer.py new file mode 100644 index 000000000000..c10fb385583c --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/TauTreeProducer.py @@ -0,0 +1,44 @@ +from PhysicsTools.Heppy.physicsutils.TauDecayModes import tauDecayModes + +from CMGTools.H2TauTau.proto.analyzers.H2TauTauTreeProducerBase import H2TauTauTreeProducerBase + +class TauTreeProducer(H2TauTauTreeProducerBase): + ''' Tree producer for tau POG study. + ''' + + def __init__(self, *args): + super(TauTreeProducer, self).__init__(*args) + self.maxNTaus = 5 + + def declareHandles(self): + super(TauTreeProducer, self).declareHandles() + + def declareVariables(self, setup): + + self.bookTau(self.tree, 'tau') + self.bookGenParticle(self.tree, 'tau_gen') + self.bookGenParticle(self.tree, 'tau_gen_vis') + self.var(self.tree, 'tau_gen_decayMode') + + + def process(self, event): + # needed when doing handle.product(), goes back to + # PhysicsTools.Heppy.analyzers.core.Analyzer + self.readCollections(event.input) + + + if not eval(self.skimFunction): + return False + + for i_tau, tau in enumerate(event.selectedTaus): + + if i_tau < self.maxNTaus: + self.tree.reset() + self.fillTau(self.tree, 'tau', tau) + if tau.mcTau: + self.fillGenParticle(self.tree, 'tau_gen', tau.mcTau) + if tau.genJet(): + self.fillGenParticle(self.tree, 'tau_gen_vis', tau.genJet()) + self.fill(self.tree, 'tau_gen_decayMode', tauDecayModes.genDecayModeInt(tau.genJet())) + + self.fillTree(event) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/TreeVariables.py b/CMGTools/H2TauTau/python/proto/analyzers/TreeVariables.py new file mode 100644 index 000000000000..0fb394746aba --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/TreeVariables.py @@ -0,0 +1,180 @@ +from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaPhi + +from CMGTools.H2TauTau.proto.analyzers.tauIDs import tauIDs + +class Variable(): + def __init__(self, name, function=None, type=float): + self.name = name + self.function = function + if function is None: + # Note: works for attributes, not member functions + self.function = lambda x : getattr(x, self.name, -999.) + self.type = float + +# event variables +event_vars = [ + Variable('run', type=int), + Variable('lumi', type=int), + Variable('event', lambda ev : ev.eventId, type=int), + Variable('pass_leptons', lambda ev : ev.isSignal, type=int), + Variable('veto_dilepton', lambda ev : ev.leptonAccept, type=int), + Variable('veto_thirdlepton', lambda ev : ev.thirdLeptonVeto, type=int), + Variable('n_jets', lambda ev : len(ev.cleanJets30), type=int), + Variable('n_jets_20', lambda ev : len(ev.cleanJets), type=int), + Variable('n_bjets', lambda ev : len(ev.cleanBJets), type=int), + Variable('n_jets_csvl', lambda ev : sum(1 for jet in ev.cleanJets if jet.btagWP('CSVv2IVFL')), type=int), + Variable('n_vertices', lambda ev : len(ev.vertices), type=int), + Variable('rho', lambda ev : ev.rho), + Variable('weight', lambda ev : ev.eventWeight), + Variable('weight_vertex', lambda ev : ev.vertexWeight), + Variable('weight_embed', lambda ev : ev.embedWeight), + Variable('weight_njet', lambda ev : ev.NJetWeight), + Variable('weight_hqt', lambda ev : ev.higgsPtWeight), + Variable('weight_hqt_up', lambda ev : ev.higgsPtWeightUp), + Variable('weight_hqt_down', lambda ev : ev.higgsPtWeightDown), +] + +# di-tau object variables +ditau_vars = [ + Variable('mvis', lambda dil : dil.mass()), + Variable('svfit_mass', lambda dil : dil.svfitMass()), + Variable('svfit_mass_error', lambda dil : dil.svfitMassError()), + Variable('svfit_pt', lambda dil : dil.svfitPt()), + Variable('svfit_pt_error', lambda dil : dil.svfitPtError()), + Variable('svfit_eta', lambda dil : dil.svfitEta()), + Variable('svfit_phi', lambda dil : dil.svfitPhi()), + Variable('svfit_met_pt', lambda dil : dil.svfitMET().Rho() if hasattr(dil, 'svfitMET') else -999.), + Variable('svfit_met_e', lambda dil : dil.svfitMET().mag2() if hasattr(dil, 'svfitMET') else -999.), + Variable('svfit_met_phi', lambda dil : dil.svfitMET().phi() if hasattr(dil, 'svfitMET') else -999.), + Variable('svfit_met_eta', lambda dil : dil.svfitMET().eta() if hasattr(dil, 'svfitMET') else -999.), + Variable('pzeta_met', lambda dil : dil.pZetaMET()), + Variable('pzeta_vis', lambda dil : dil.pZetaVis()), + Variable('pzeta_disc', lambda dil : dil.pZetaDisc()), + Variable('mt', lambda dil : dil.mTLeg2()), + Variable('mt_leg2', lambda dil : dil.mTLeg2()), + Variable('mt_leg1', lambda dil : dil.mTLeg1()), + Variable('met_cov00', lambda dil : dil.mvaMetSig(0, 0)), + Variable('met_cov01', lambda dil : dil.mvaMetSig(0, 1)), + Variable('met_cov10', lambda dil : dil.mvaMetSig(1, 0)), + Variable('met_cov11', lambda dil : dil.mvaMetSig(1, 1)), + Variable('met_phi', lambda dil : dil.met().phi()), + Variable('met_px', lambda dil : dil.met().px()), + Variable('met_py', lambda dil : dil.met().py()), + Variable('met_pt', lambda dil : dil.met().pt()), + Variable('pthiggs', lambda dil : (dil.leg1().p4() + dil.leg2().p4() + dil.met().p4()).pt()), + Variable('delta_phi_l1_l2', lambda dil : deltaPhi(dil.leg1().phi(), dil.leg2().phi())), + Variable('delta_eta_l1_l2', lambda dil : abs(dil.leg1().eta() - dil.leg2().eta())), + Variable('delta_r_l1_l2', lambda dil : deltaR(dil.leg1().eta(), dil.leg1().phi(), dil.leg2().eta(), dil.leg2().phi())), + Variable('delta_phi_l1_met', lambda dil : deltaPhi(dil.leg1().phi(), dil.met().phi())), + Variable('delta_phi_l2_met', lambda dil : deltaPhi(dil.leg2().phi(), dil.met().phi())), +] + +# generic particle +particle_vars = [ + Variable('pt', lambda p: p.pt()), + Variable('eta', lambda p: p.eta()), + Variable('phi', lambda p: p.phi()), + Variable('charge', lambda p: p.charge() if hasattr(p, 'charge') else 0), # charge may be non-integer for gen particles + Variable('mass', lambda p: p.mass()), +] + +# generic lepton +lepton_vars = [ + Variable('reliso05', lambda lep : lep.relIso(dBetaFactor=0.5, allCharged=0)), + Variable('dxy', lambda lep : lep.dxy()), + Variable('dz', lambda lep : lep.dz()), + Variable('weight'), + Variable('weight_trigger', lambda lep : getattr(lep, 'triggerWeight', -999.)), + Variable('eff_trigger_data', lambda lep : getattr(lep, 'triggerEffData', -999.)), + Variable('eff_trigger_mc', lambda lep : getattr(lep, 'triggerEffMC', -999.)), + Variable('weight_rec_eff', lambda lep : getattr(lep, 'recEffWeight', -999.)), +] + +# electron +electron_vars = [ + Variable('eid_nontrigmva_loose', lambda ele : ele.mvaIDRun2("NonTrigPhys14", "Loose")), + Variable('eid_nontrigmva_tight', lambda ele : ele.mvaIDRun2("NonTrigPhys14", "Tight")), + Variable('eid_veto', lambda ele : ele.cutBasedId('POG_PHYS14_25ns_v1_Veto')), + Variable('eid_loose', lambda ele : ele.cutBasedId('POG_PHYS14_25ns_v1_Loose')), + Variable('eid_medium', lambda ele : ele.cutBasedId('POG_PHYS14_25ns_v1_Medium')), + Variable('eid_tight', lambda ele : ele.cutBasedId('POG_PHYS14_25ns_v1_Tight')), + Variable('nhits_missing', lambda ele : ele.physObj.gsfTrack().hitPattern().numberOfHits(1), int), + Variable('pass_conv_veto', lambda ele : ele.passConversionVeto()), +] + +# muon +muon_vars = [ + Variable('muonid_loose', lambda muon : muon.muonID('POG_ID_Loose')), + Variable('muonid_medium', lambda muon : muon.muonID('POG_ID_Medium')), + Variable('muonid_tight', lambda muon : muon.muonID('POG_ID_Tight')), + Variable('muonid_tightnovtx', lambda muon : muon.muonID('POG_ID_TightNoVtx')), + Variable('muonid_highpt', lambda muon : muon.muonID('POG_ID_HighPt')), +] + +# tau +tau_vars = [ + Variable('decayMode', lambda tau : tau.decayMode()), + Variable('zImpact', lambda tau : tau.zImpact()) +] +for tau_id in tauIDs: + if type(tau_id) is str: + # Need to use eval since functions are otherwise bound to local + # variables + tau_vars.append(Variable(tau_id, eval('lambda tau : tau.tauID("{id}")'.format(id=tau_id)))) + else: + sum_id_str = ' + '.join('tau.tauID("{id}")'.format(id=tau_id[0].format(wp=wp)) for wp in tau_id[1]) + tau_vars.append(Variable(tau_id[0].format(wp=''), + eval('lambda tau : ' + sum_id_str), int)) + + +# jet +jet_vars = [ + # JAN - only one PU mva working point, but we may want to add more + # run in our skimming step + # (for which Jet.py would have to be touched again) + Variable('mva_pu', lambda jet : jet.puMva('pileupJetIdFull:full53xDiscriminant')), + Variable('id_loose', lambda jet : jet.looseJetId()), + Variable('id_pu', lambda jet : jet.puJetId()), + Variable('mva_btag', lambda jet : jet.btagMVA), + Variable('area', lambda jet : jet.jetArea()), + Variable('flavour_parton', lambda jet : jet.partonFlavour()), + Variable('csv', lambda jet : jet.btag('combinedInclusiveSecondaryVertexV2BJetTags')), + Variable('rawfactor', lambda jet : jet.rawFactor()), + Variable('genjet_pt', lambda jet : jet.matchedGenJet.pt() if hasattr(jet, 'matchedGenJet') and jet.matchedGenJet else -999.), +] + +# gen info +geninfo_vars = [ + Variable('geninfo_nup', lambda ev : ev.NUP if hasattr(ev, 'NUP') else -1, type=int), + Variable('geninfo_tt', type=int), + Variable('geninfo_mt', type=int), + Variable('geninfo_et', type=int), + Variable('geninfo_ee', type=int), + Variable('geninfo_mm', type=int), + Variable('geninfo_em', type=int), + Variable('geninfo_EE', type=int), + Variable('geninfo_MM', type=int), + Variable('geninfo_TT', type=int), + Variable('geninfo_LL', type=int), + Variable('geninfo_fakeid', type=int), + Variable('geninfo_has_w', type=int), + Variable('geninfo_has_z', type=int), + Variable('geninfo_mass'), + Variable('genmet_pt'), + Variable('genmet_eta'), + Variable('genmet_e'), + Variable('genmet_px'), + Variable('genmet_py'), + Variable('genmet_phi'), +] + +vbf_vars = [ + Variable('mjj'), + Variable('deta'), + Variable('n_central', lambda vbf : len(vbf.centralJets), int), + Variable('jdphi', lambda vbf : vbf.dphi), + Variable('dijetpt'), + Variable('dijetphi'), + Variable('dphidijethiggs'), + Variable('mindetajetvis', lambda vbf : vbf.visjeteta), +] diff --git a/CMGTools/H2TauTau/python/proto/analyzers/TriggerAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/TriggerAnalyzer.py new file mode 100644 index 000000000000..cc585b27fe52 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/TriggerAnalyzer.py @@ -0,0 +1,116 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +import PhysicsTools.HeppyCore.framework.config as cfg + +class TriggerInfo(object): + def __init__(self, name, index, fired=True, prescale=1.): + self.name = name + self.index = index + self.fired = fired + self.prescale = prescale + self.objects = [] + self.objIds = set() + + def __str__(self): + return 'TriggerInfo: name={name}, fired={fired}, n_objects={n_o}'.format( + name=self.name, fired=self.fired, n_o=len(self.objects)) + +class TriggerAnalyzer(Analyzer): + '''Access to trigger information, and trigger selection. The required + trigger names need to be attached to the components.''' + + def declareHandles(self): + super(TriggerAnalyzer, self).declareHandles() + + self.handles['triggerResultsHLT'] = AutoHandle( + ('TriggerResults', '', 'HLT'), + 'edm::TriggerResults' + ) + + self.handles['triggerObjects'] = AutoHandle( + 'selectedPatTrigger', + 'std::vector' + ) + + self.handles['triggerPrescales'] = AutoHandle( + 'patTrigger', + 'pat::PackedTriggerPrescales' + ) + + def beginLoop(self, setup): + super(TriggerAnalyzer,self).beginLoop(setup) + + self.triggerList = self.cfg_comp.triggers + self.vetoTriggerList = None + + if hasattr(self.cfg_comp, 'vetoTriggers'): + self.vetoTriggerList = self.cfg_comp.vetoTriggers + + + self.counters.addCounter('Trigger') + self.counters.counter('Trigger').register('All events') + self.counters.counter('Trigger').register('HLT') + + + def process(self, event): + self.readCollections(event.input) + + event.run = event.input.eventAuxiliary().id().run() + event.lumi = event.input.eventAuxiliary().id().luminosityBlock() + event.eventId = event.input.eventAuxiliary().id().event() + + triggerBits = self.handles['triggerResultsHLT'].product() + names = event.input.object().triggerNames(triggerBits) + + preScales = self.handles['triggerPrescales'].product() + + self.counters.counter('Trigger').inc('All events') + + trigger_passed = False + + trigger_infos = [] + for trigger_name in self.triggerList: + index = names.triggerIndex(trigger_name) + if index == len(triggerBits): + continue + prescale = preScales.getPrescaleForIndex(index) + fired = triggerBits.accept(index) + + trigger_infos.append(TriggerInfo(trigger_name, index, fired, prescale)) + + if fired and (prescale == 1 or self.cfg_ana.usePrescaled): + trigger_passed = True + + if self.cfg_ana.addTriggerObjects: + triggerObjects = self.handles['triggerObjects'].product() + for to in triggerObjects: + to.unpackPathNames(names) + for info in trigger_infos: + if to.hasPathName(info.name, True): + info.objects.append(to) + info.objIds.add(abs(to.pdgId())) + + event.trigger_infos = trigger_infos + + if self.cfg_ana.requireTrigger: + if not trigger_passed: + return False + + self.counters.counter('Trigger').inc('HLT') + return True + + def __str__(self): + tmp = super(TriggerAnalyzer,self).__str__() + triglist = str(self.triggerList) + return '\n'.join([tmp, triglist]) + +setattr(TriggerAnalyzer, 'defaultConfig', + cfg.Analyzer( + class_object=TriggerAnalyzer, + requireTrigger=True, + usePrescaled=False, + addTriggerObjects=True, + # vetoTriggers=[], + ) +) diff --git a/CMGTools/H2TauTau/python/proto/analyzers/VBFAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/VBFAnalyzer.py index 9cd928048d23..3479885126f8 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/VBFAnalyzer.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/VBFAnalyzer.py @@ -1,238 +1,60 @@ -import random from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer -from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Jet, GenJet -from PhysicsTools.HeppyCore.utils.deltar import cleanObjectCollection, matchObjectCollection -from PhysicsTools.Heppy.physicsobjects.VBF import VBF -from PhysicsTools.Heppy.physicsutils.BTagSF import BTagSF -from PhysicsTools.Heppy.physicsobjects import GenParticle -from PhysicsTools.HeppyCore.utils.deltar import deltaR2 -from PhysicsTools.Heppy.utils.cmsswRelease import isNewerThan - -class VBFAnalyzer( Analyzer ): - '''Analyze jets, and in particular VBF. - This analyzer filters the jets that do not correspond to the di-lepton - legs, and stores in the event: - - jets: all jets passing the pt and eta cuts - - cleanJets: the collection of clean jets - - vbf: the VBF object with all necessary variables, if it can be defined - - bJets: the bjets passing testBJet (see this method) +from PhysicsTools.Heppy.physicsutils.VBF import VBF - Example configuration: - vbfAna = cfg.Analyzer( - 'VBFAnalyzer', - jetCol = 'cmgPFJetSel', - jetPt = 30, - jetEta = 5.0, - btagSFseed = 123456, - **vbfKwargs - ) +class VBFAnalyzer(Analyzer): + """Analyses the collection of jets stored in event.cleanJets, + and adds a VBF object to the event, as event.vbf. - ''' + The analyzer currently needs also event.diLepton to compute fancy + variables for the VBF MVA, but we could remove this requirement if needed. - def __init__(self, cfg_ana, cfg_comp, looperName): - super(VBFAnalyzer,self).__init__(cfg_ana, cfg_comp, looperName) - self.btagSF = BTagSF (cfg_ana.btagSFseed) - # import pdb; pdb.set_trace() - self.is2012 = isNewerThan('CMSSW_5_2_0') + Example configuration: - def declareHandles(self): - super(VBFAnalyzer, self).declareHandles() + vbfAna = cfg.Analyzer( + 'VBFAnalyzer', + Mjj = 500, + deltaEta = 3.5, + cjvPtCut = 30., + ) - self.handles['jets'] = AutoHandle( self.cfg_ana.jetCol, - 'std::vector' ) - - if self.cfg_comp.isMC: - self.mchandles['genJets'] = AutoHandle('genJetSel', - 'std::vector > >') + """ - if self.cfg_comp.isMC and ("BB" in self.cfg_comp.name): - self.mchandles['genParticles'] = AutoHandle( 'genParticlesPruned', - 'std::vector' ) + def __init__(self, cfg_ana, cfg_comp, looperName): + super(VBFAnalyzer, self).__init__(cfg_ana, cfg_comp, looperName) def beginLoop(self, setup): - super(VBFAnalyzer,self).beginLoop(setup) + super(VBFAnalyzer, self).beginLoop(setup) self.counters.addCounter('VBF') count = self.counters.counter('VBF') count.register('all events') - count.register('at least 2 good jets') - count.register('at least 2 clean jets') count.register('M_jj > {cut:3.1f}'.format(cut=self.cfg_ana.Mjj)) - count.register('delta Eta > {cut:3.1f}'.format(cut=self.cfg_ana.deltaEta) ) + count.register('delta Eta > {cut:3.1f}'.format(cut=self.cfg_ana.deltaEta)) count.register('no central jets') - + def process(self, event): - - self.readCollections( event.input ) - cmgJets = self.handles['jets'].product() - - allJets = [] - event.jets = [] - event.bJets = [] - event.cleanJets = [] - event.cleanBJets = [] - - leg1 = event.diLepton.leg1() - leg2 = event.diLepton.leg2() - - genJets = None - if self.cfg_comp.isMC: - genJets = map( GenJet, self.mchandles['genJets'].product() ) - - for cmgJet in cmgJets: - jet = Jet( cmgJet ) - allJets.append( jet ) - if self.cfg_comp.isMC and hasattr( self.cfg_comp, 'jetScale'): - scale = random.gauss( self.cfg_comp.jetScale, - self.cfg_comp.jetSmear ) - jet.scaleEnergy( scale ) - - if self.testJet( jet ): - event.jets.append(jet) - if self.testBJet(jet): - event.bJets.append(jet) - if genJets: - # Use DeltaR = 0.25 matching like JetMET - pairs = matchObjectCollection( [jet], genJets, 0.25*0.25) - if pairs[jet] is None: - pass - else: - jet.matchedGenJet = pairs[jet] - - #Add JER correction for MC jets. Requires gen-jet matching - if self.cfg_comp.isMC and hasattr(self.cfg_ana, 'jerCorr') and self.cfg_ana.jerCorr: - self.jerCorrection(jet) + self.readCollections(event.input) self.counters.counter('VBF').inc('all events') - event.cleanJets, dummy = cleanObjectCollection( event.jets, - masks = [leg1, - leg2 ], - deltaRMin = 0.5 ) - - - event.cleanBJets, dummy = cleanObjectCollection( event.bJets, - masks = [leg1, - leg2 ], - deltaRMin = 0.5 ) - - pairs = matchObjectCollection( [ leg1, - leg2 ], allJets, 0.5*0.5) - - # associating a jet to each leg - leg1.jet = pairs[leg1] - leg2.jet = pairs[leg2] - if leg1.jet is None: #COLIN: I don't understand the code below... - leg1.jet = leg1 - if leg2.jet is None: - leg2.jet = leg2 - - # associating a leg to each clean jet - invpairs = matchObjectCollection( event.cleanJets, [ leg1,leg2 ], 99999. ) - for jet in event.cleanJets: - leg = invpairs[jet] - jet.leg = leg - - for jet in event.cleanJets: - jet.matchGenParton=999.0 - - if self.cfg_comp.isMC and "BB" in self.cfg_comp.name: - genParticles = self.mchandles['genParticles'].product() - event.genParticles = map( GenParticle, genParticles) - for gen in genParticles: - if abs(gen.pdgId())==5 and gen.mother() and abs(gen.mother().pdgId())==21: - for jet in event.cleanJets: - dR=deltaR2(jet.eta(), jet.phi(), gen.eta(), gen.phi() ) - if dR30] - event.cleanJets30 = [jet for jet in event.cleanJets if jet.pt()>30] - - if len( event.jets30 )>=2: - self.counters.counter('VBF').inc('at least 2 good jets') - - if len( event.cleanJets30 )>=2: - self.counters.counter('VBF').inc('at least 2 clean jets') - - if len(event.cleanJets)<2: + if len(event.cleanJets) < 2: return True - event.vbf = VBF( event.cleanJets, event.diLepton, - None, self.cfg_ana.cjvPtCut ) + event.vbf = VBF(event.cleanJets, event.diLepton, None, self.cfg_ana.cjvPtCut) if event.vbf.mjj > self.cfg_ana.Mjj: - self.counters.counter('VBF').inc('M_jj > {cut:3.1f}'.format(cut=self.cfg_ana.Mjj) ) + self.counters.counter('VBF').inc('M_jj > {cut:3.1f}'.format(cut=self.cfg_ana.Mjj)) else: - return True + return True + if abs(event.vbf.deta) > self.cfg_ana.deltaEta: - self.counters.counter('VBF').inc('delta Eta > {cut:3.1f}'.format(cut=self.cfg_ana.deltaEta) ) + self.counters.counter('VBF').inc('delta Eta > {cut:3.1f}'.format(cut=self.cfg_ana.deltaEta)) else: - return True - if len(event.vbf.centralJets)==0: + return True + + if len(event.vbf.centralJets) == 0: self.counters.counter('VBF').inc('no central jets') else: return True - + return True - - def jerCorrection(self, jet): - ''' Adds JER correction according to first method at - https://twiki.cern.ch/twiki/bin/view/CMS/JetResolution - - Requires some attention when genJet matching fails. - ''' - if not hasattr(jet, 'matchedGenJet'): - return - - corrections = [0.052, 0.057, 0.096, 0.134, 0.288] - maxEtas = [0.5, 1.1, 1.7, 2.3, 5.0] - eta = abs(jet.eta()) - - for i, maxEta in enumerate(maxEtas): - if eta < maxEta: - pt = jet.pt() - deltaPt = (pt - jet.matchedGenJet.pt()) * corrections[i] - totalScale = (pt + deltaPt) / pt - if totalScale < 0.: - totalScale = 0. - jet.scaleEnergy(totalScale) - break - - def testJetID(self, jet): - # Use new PU jet ID working point - jet.puJetIdPassed = jet.puJetId(wp53x=True) - - jet.pfJetIdPassed = jet.looseJetId() - if self.cfg_ana.relaxJetId: - return True - else: - return jet.puJetIdPassed and jet.pfJetIdPassed - - - def testJet( self, jet ): - # 2 is loose pile-up jet id - return jet.pt() > self.cfg_ana.jetPt and \ - abs( jet.eta() ) < self.cfg_ana.jetEta and \ - self.testJetID(jet) - # jet.passPuJetId('full', 2) - - - def testBJet(self, jet): - # medium csv working point - # https://twiki.cern.ch/twiki/bin/viewauth/CMS/BTagPerformanceOP#B_tagging_Operating_Points_for_3 - jet.btagMVA = jet.btag("combinedSecondaryVertexBJetTags") - jet.btagFlag = self.btagSF.BTagSFcalc.isbtagged(jet.pt(), - jet.eta(), - jet.btag("combinedSecondaryVertexBJetTags"), - abs(jet.partonFlavour()), - not self.cfg_comp.isMC, - 0,0, - self.is2012 ) - return jet.pt()>20 and \ - abs( jet.eta() ) < 2.4 and \ - jet.btagFlag and \ - self.testJetID(jet) - # jet.passPuJetId('full', 2) - # jet.btag("combinedSecondaryVertexBJetTags")>0.679 and \ diff --git a/CMGTools/H2TauTau/python/proto/analyzers/VertexHistograms.py b/CMGTools/H2TauTau/python/proto/analyzers/VertexHistograms.py deleted file mode 100644 index e04e6ee686e9..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/VertexHistograms.py +++ /dev/null @@ -1,27 +0,0 @@ -from ROOT import TTree, TH1F, TH2F, TProfile, gDirectory - -from CMGTools.RootTools.statistics.Histograms import Histograms - -class VertexHistograms(Histograms): - def __init__(self, name ): - self.name = name - - self.h_nvertices = TH1F(name+'_h_nvertices', ';# vertices', - 25,-0.5,24.5) - - self.hists = [] - self.hists.append( self.h_nvertices ) - - def FillVertices(self, vertices, weight=1): - self.h_nvertices.Fill( len(vertices), weight) - - def FormatHistos(self, style ): - for hist in self.hists: - style.formatHisto( hist ) - - def Write(self, dir ): - self.dir = dir.mkdir( self.name ) - self.dir.cd() - for hist in self.hists: - hist.Write() - dir.cd() diff --git a/CMGTools/H2TauTau/python/proto/analyzers/WNJetsTreeAnalyzer.py b/CMGTools/H2TauTau/python/proto/analyzers/WNJetsTreeAnalyzer.py index 3d08f5b51e82..9a6721bce08e 100644 --- a/CMGTools/H2TauTau/python/proto/analyzers/WNJetsTreeAnalyzer.py +++ b/CMGTools/H2TauTau/python/proto/analyzers/WNJetsTreeAnalyzer.py @@ -1,5 +1,4 @@ from CMGTools.RootTools.analyzers.TreeAnalyzer import TreeAnalyzer -import random class WNJetsTreeAnalyzer( TreeAnalyzer ): diff --git a/CMGTools/H2TauTau/python/proto/analyzers/ntuple.py b/CMGTools/H2TauTau/python/proto/analyzers/ntuple.py deleted file mode 100644 index 300f0bf6ef26..000000000000 --- a/CMGTools/H2TauTau/python/proto/analyzers/ntuple.py +++ /dev/null @@ -1,223 +0,0 @@ -#!/bin/env python -from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaPhi - - -tauIDs = ['againstElectronLoose', 'againstElectronLooseMVA5', 'againstElectronMVA5category', 'againstElectronMVA5raw', 'againstElectronMedium', 'againstElectronMediumMVA5', 'againstElectronTight', 'againstElectronTightMVA5', 'againstElectronVLooseMVA5', 'againstElectronVTightMVA5', 'againstMuonLoose', 'againstMuonLoose2', 'againstMuonLoose3', 'againstMuonLooseMVA', 'againstMuonMVAraw', 'againstMuonMedium', 'againstMuonMedium2', 'againstMuonMediumMVA', 'againstMuonTight', 'againstMuonTight2', 'againstMuonTight3', 'againstMuonTightMVA', 'byCombinedIsolationDeltaBetaCorrRaw3Hits', 'byIsolationMVA3newDMwLTraw', 'byIsolationMVA3newDMwoLTraw', 'byIsolationMVA3oldDMwLTraw', 'byIsolationMVA3oldDMwoLTraw', 'byLooseCombinedIsolationDeltaBetaCorr3Hits', 'byLooseIsolationMVA3newDMwLT', 'byLooseIsolationMVA3newDMwoLT', 'byLooseIsolationMVA3oldDMwLT', 'byLooseIsolationMVA3oldDMwoLT', 'byMediumCombinedIsolationDeltaBetaCorr3Hits', 'byMediumIsolationMVA3newDMwLT', 'byMediumIsolationMVA3newDMwoLT', 'byMediumIsolationMVA3oldDMwLT', 'byMediumIsolationMVA3oldDMwoLT', 'byTightCombinedIsolationDeltaBetaCorr3Hits', 'byTightIsolationMVA3newDMwLT', 'byTightIsolationMVA3newDMwoLT', 'byTightIsolationMVA3oldDMwLT', 'byTightIsolationMVA3oldDMwoLT', 'byVLooseIsolationMVA3newDMwLT', 'byVLooseIsolationMVA3newDMwoLT', 'byVLooseIsolationMVA3oldDMwLT', 'byVLooseIsolationMVA3oldDMwoLT', 'byVTightIsolationMVA3newDMwLT', 'byVTightIsolationMVA3newDMwoLT', 'byVTightIsolationMVA3oldDMwLT', 'byVTightIsolationMVA3oldDMwoLT', 'byVVTightIsolationMVA3newDMwLT', 'byVVTightIsolationMVA3newDMwoLT', 'byVVTightIsolationMVA3oldDMwLT', 'byVVTightIsolationMVA3oldDMwoLT', 'chargedIsoPtSum', 'decayModeFinding', 'decayModeFindingNewDMs', 'neutralIsoPtSum', 'puCorrPtSum'] - -def var( tree, varName, type=float ): - tree.var(varName, type) - -def fill( tree, varName, value ): - tree.fill( varName, value ) - -# simple particle - -def bookParticle( tree, pName ): - var(tree, '{pName}_pt'.format(pName=pName)) - var(tree, '{pName}_eta'.format(pName=pName)) - var(tree, '{pName}_phi'.format(pName=pName)) - var(tree, '{pName}_charge'.format(pName=pName)) - -def fillParticle( tree, pName, particle ): - fill(tree, '{pName}_pt'.format(pName=pName), particle.pt() ) - fill(tree, '{pName}_eta'.format(pName=pName), particle.eta() ) - fill(tree, '{pName}_phi'.format(pName=pName), particle.phi() ) - fill(tree, '{pName}_charge'.format(pName=pName), particle.charge() ) - -def bookGenParticle(tree, pName): - bookParticle(tree, pName) - var(tree, '{pName}_mass'.format(pName=pName)) - var(tree, '{pName}_pdgId'.format(pName=pName)) - -def fillGenParticle( tree, pName, particle ): - fillParticle( tree, pName, particle ) - fill(tree, '{pName}_mass'.format(pName=pName), particle.mass() ) - fill(tree, '{pName}_pdgId'.format(pName=pName), particle.pdgId() ) - -# di-tau - -def bookDiLepton(tree): - var( tree, 'visMass') - var( tree, 'svfitMass') - var( tree, 'pZetaMET') - var( tree, 'pZetaVis') - var( tree, 'pZetaDisc') - var( tree, 'mt') - var( tree, 'mtleg1') - var( tree, 'met') - var( tree, 'metphi') - var( tree, 'pthiggs') - var( tree, 'deltaPhiL1L2') - var( tree, 'deltaEtaL1L2') - var( tree, 'deltaRL1L2') - var( tree, 'deltaPhiL1MET') - var( tree, 'deltaPhiL2MET') - - -def fillDiLepton(tree, diLepton): - fill(tree, 'visMass', diLepton.mass()) - fill(tree, 'svfitMass', diLepton.svfitMass()) - fill(tree, 'pZetaMET', diLepton.pZetaMET()) - fill(tree, 'pZetaVis', diLepton.pZetaVis()) - fill(tree, 'pZetaDisc', diLepton.pZetaDisc()) - fill(tree, 'mt', diLepton.mTLeg2()) - fill(tree, 'mtleg1', diLepton.mTLeg1()) - fill(tree, 'met', diLepton.met().pt()) - fill(tree, 'metphi', diLepton.met().phi()) - - pthiggs = (diLepton.leg1().p4()+diLepton.leg2().p4()+diLepton.met().p4()).pt() - fill(tree, 'pthiggs', pthiggs) - - l1eta = diLepton.leg1().eta() - l2eta = diLepton.leg2().eta() - l1phi = diLepton.leg1().phi() - l2phi = diLepton.leg2().phi() - metphi = diLepton.met().phi() - fill(tree, 'deltaPhiL1L2', deltaPhi(l1phi, l2phi)) - fill(tree, 'deltaEtaL1L2', abs(l1eta-l2eta)) - fill(tree, 'deltaRL1L2', deltaR(l1eta, l1phi, l2eta, l2phi)) - fill(tree, 'deltaPhiL1MET', deltaPhi(l1phi, metphi)) - fill(tree, 'deltaPhiL2MET', deltaPhi(l2phi, metphi)) - -# lepton - -def bookLepton( tree, pName ): - bookParticle(tree, pName ) - var(tree, '{pName}_relIso05'.format(pName=pName)) - var(tree, '{pName}_dxy'.format(pName=pName)) - var(tree, '{pName}_dz'.format(pName=pName)) - var(tree, '{pName}_weight'.format(pName=pName)) - var(tree, '{pName}_triggerWeight'.format(pName=pName)) - var(tree, '{pName}_triggerEffData'.format(pName=pName)) - var(tree, '{pName}_triggerEffMC'.format(pName=pName)) - var(tree, '{pName}_recEffWeight'.format(pName=pName)) - -def fillLepton( tree, pName, lepton ): - fillParticle(tree, pName, lepton ) - fill(tree, '{pName}_relIso05'.format(pName=pName), lepton.relIsoAllChargedDB05() ) - fill(tree, '{pName}_dxy'.format(pName=pName), lepton.dxy() ) - fill(tree, '{pName}_dz'.format(pName=pName), lepton.dz() ) - fill(tree, '{pName}_weight'.format(pName=pName), lepton.weight ) - fill(tree, '{pName}_triggerWeight'.format(pName=pName), lepton.triggerWeight ) - fill(tree, '{pName}_triggerEffData'.format(pName=pName), lepton.triggerEffData ) - fill(tree, '{pName}_triggerEffMC'.format(pName=pName), lepton.triggerEffMC ) - fill(tree, '{pName}_recEffWeight'.format(pName=pName), lepton.recEffWeight ) - - -# muon - - -def bookMuon( tree, pName ): - bookLepton(tree, pName ) - var(tree, '{pName}_mvaIso'.format(pName=pName)) - var(tree, '{pName}_looseId'.format(pName=pName)) - var(tree, '{pName}_tightId'.format(pName=pName)) - -def fillMuon( tree, pName, muon ): - fillLepton(tree, pName, muon) - # JAN FIXME - do we need the MVA iso and does it exist? - # fill(tree, '{pName}_mvaIso'.format(pName=pName), muon.mvaIso() ) - fill(tree, '{pName}_looseId'.format(pName=pName), muon.looseId() ) - fill(tree, '{pName}_tightId'.format(pName=pName), muon.tightId() ) - - -# electron - - -def bookEle( tree, pName ): - bookLepton(tree, pName ) - var(tree, '{pName}_mvaIso'.format(pName=pName)) - var(tree, '{pName}_mvaTrigV0'.format(pName=pName)) - var(tree, '{pName}_mvaNonTrigV0'.format(pName=pName)) - var(tree, '{pName}_looseId'.format(pName=pName)) - var(tree, '{pName}_tightId'.format(pName=pName)) - var(tree, '{pName}_numberOfMissingHits'.format(pName=pName)) - var(tree, '{pName}_passConversionVeto'.format(pName=pName)) - - -def fillEle( tree, pName, ele ): - fillLepton(tree, pName, ele) - fill(tree, '{pName}_mvaIso'.format(pName=pName), ele.mvaIso() ) - fill(tree, '{pName}_mvaTrigV0'.format(pName=pName), ele.sourcePtr().electronID("mvaTrigV0") ) - fill(tree, '{pName}_mvaNonTrigV0'.format(pName=pName), ele.sourcePtr().electronID("mvaNonTrigV0") ) - fill(tree, '{pName}_looseId'.format(pName=pName), ele.looseIdForEleTau() ) - fill(tree, '{pName}_tightId'.format(pName=pName), ele.tightIdForEleTau() ) - fill(tree, '{pName}_numberOfMissingHits'.format(pName=pName), ele.numberOfHits() ) - fill(tree, '{pName}_passConversionVeto'.format(pName=pName), ele.passConversionVeto() ) - -# tau - -def bookTau( tree, pName ): - bookLepton(tree, pName ) - for tauID in tauIDs: - var(tree, '{pName}_{tauID}'.format(pName=pName, tauID=tauID)) - - var(tree, '{pName}_EOverp'.format(pName=pName)) - var(tree, '{pName}_decayMode'.format(pName=pName)) - var(tree, '{pName}_mass'.format(pName=pName)) - var(tree, '{pName}_zImpact'.format(pName=pName)) - -def fillTau( tree, pName, tau ): - fillLepton(tree, pName, tau) - for tauID in tauIDs: - fill(tree, '{pName}_{tauID}'.format(pName=pName, tauID=tauID), - tau.tauID(tauID)) - # fill(tree, '{pName}_EOverp'.format(pName=pName), - # tau.calcEOverP()) - fill(tree, '{pName}_decayMode'.format(pName=pName), - tau.decayMode()) - fill(tree, '{pName}_mass'.format(pName=pName), - tau.mass()) - fill(tree, '{pName}_zImpact'.format(pName=pName), - tau.zImpact()) - -# jet - -def bookJet( tree, pName ): - bookParticle(tree, pName ) - var(tree, '{pName}_puMva'.format(pName=pName)) - var(tree, '{pName}_looseJetId'.format(pName=pName)) - var(tree, '{pName}_btagMVA'.format(pName=pName)) - var(tree, '{pName}_area'.format(pName=pName)) - var(tree, '{pName}_genJetPt'.format(pName=pName)) - var(tree, '{pName}_partonFlavour'.format(pName=pName)) - -def fillJet( tree, pName, jet ): - fillParticle(tree, pName, jet ) - # JAN - only one PU mva working point, but we may want to add more - # run in our skimming step - # (for which Jet.py would have to be touched again) - fill(tree, '{pName}_puMva'.format(pName=pName), jet.puMva('pileupJetIdFull:full53xDiscriminant') ) - fill(tree, '{pName}_looseJetId'.format(pName=pName), jet.looseJetId()) - fill(tree, '{pName}_btagMVA'.format(pName=pName), jet.btagMVA) - fill(tree, '{pName}_area'.format(pName=pName), jet.jetArea()) - if hasattr(jet, 'matchedGenJet') and jet.matchedGenJet: - fill(tree, '{pName}_genJetPt'.format(pName=pName), jet.matchedGenJet.pt()) - fill(tree, '{pName}_partonFlavour'.format(pName=pName), jet.partonFlavour()) - -# vbf - -def bookVBF( tree, pName ): - var(tree, '{pName}_mjj'.format(pName=pName)) - var(tree, '{pName}_deta'.format(pName=pName)) - var(tree, '{pName}_nCentral'.format(pName=pName)) - var(tree, '{pName}_mva'.format(pName=pName)) - var(tree, '{pName}_jdphi'.format(pName=pName)) - var(tree, '{pName}_dijetpt'.format(pName=pName)) - var(tree, '{pName}_dijetphi'.format(pName=pName)) - var(tree, '{pName}_hdijetphi'.format(pName=pName)) - var(tree, '{pName}_visjeteta'.format(pName=pName)) - var(tree, '{pName}_ptvis'.format(pName=pName)) - -def fillVBF( tree, pName, vbf ): - fill(tree, '{pName}_mjj'.format(pName=pName), vbf.mjj ) - fill(tree, '{pName}_deta'.format(pName=pName), vbf.deta ) - fill(tree, '{pName}_nCentral'.format(pName=pName), len(vbf.centralJets) ) - fill(tree, '{pName}_mva'.format(pName=pName), vbf.mva ) - fill(tree, '{pName}_jdphi'.format(pName=pName), vbf.dphi ) - fill(tree, '{pName}_dijetpt'.format(pName=pName), vbf.dijetpt ) - fill(tree, '{pName}_dijetphi'.format(pName=pName), vbf.dijetphi ) - fill(tree, '{pName}_hdijetphi'.format(pName=pName), vbf.dphidijethiggs ) - fill(tree, '{pName}_visjeteta'.format(pName=pName), vbf.visjeteta ) - fill(tree, '{pName}_ptvis'.format(pName=pName), vbf.ptvis ) - diff --git a/CMGTools/H2TauTau/python/proto/analyzers/tauIDs.py b/CMGTools/H2TauTau/python/proto/analyzers/tauIDs.py new file mode 100644 index 000000000000..7739d8b0ccf9 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/tauIDs.py @@ -0,0 +1,26 @@ +tauIDs = [ + ('againstElectron{wp}', ['Loose', 'Medium', 'Tight']), + ('againstElectron{wp}MVA5', ['VLoose', 'Loose', 'Medium', 'Tight', 'VTight']), + 'againstElectronMVA5category', + 'againstElectronMVA5raw', + ('againstMuon{wp}', ['Loose', 'Medium', 'Tight']), + ('againstMuon{wp}2', ['Loose', 'Medium', 'Tight']), + ('againstMuon{wp}3', ['Loose', 'Tight']), + ('againstMuon{wp}MVA', ['Loose', 'Medium', 'Tight']), + 'againstMuonMVAraw', + 'byCombinedIsolationDeltaBetaCorrRaw3Hits', + 'byIsolationMVA3newDMwLTraw', + 'byIsolationMVA3newDMwoLTraw', + 'byIsolationMVA3oldDMwLTraw', + 'byIsolationMVA3oldDMwoLTraw', + ('by{wp}CombinedIsolationDeltaBetaCorr3Hits', ['Loose', 'Medium', 'Tight']), + ('by{wp}IsolationMVA3newDMwLT', ['VLoose', 'Loose', 'Medium', 'Tight', 'VTight', 'VVTight']), + ('by{wp}IsolationMVA3newDMwoLT', ['VLoose', 'Loose', 'Medium', 'Tight', 'VTight', 'VVTight']), + ('by{wp}IsolationMVA3oldDMwLT', ['VLoose', 'Loose', 'Medium', 'Tight', 'VTight', 'VVTight']), + ('by{wp}IsolationMVA3oldDMwoLT', ['VLoose', 'Loose', 'Medium', 'Tight', 'VTight', 'VVTight']), + 'chargedIsoPtSum', + 'decayModeFinding', + 'decayModeFindingNewDMs', + 'neutralIsoPtSum', + 'puCorrPtSum' +] diff --git a/CMGTools/H2TauTau/python/proto/analyzers/varsDictionary.py b/CMGTools/H2TauTau/python/proto/analyzers/varsDictionary.py new file mode 100644 index 000000000000..b8efeec100e6 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/analyzers/varsDictionary.py @@ -0,0 +1,190 @@ +# change the branch names here + +vars = {} + +# Event ID +vars['run'] = {'std': 'run', 'sync': 'run'} +vars['lumi'] = {'std': 'lumi', 'sync': 'lumi'} +vars['event'] = {'std': 'event', 'sync': 'evt'} + +# Generator info +vars['geninfo_tt'] = {'std': 'geninfo_tt', 'sync': 'geninfo_tt'} +vars['geninfo_mt'] = {'std': 'geninfo_mt', 'sync': 'geninfo_mt'} +vars['geninfo_et'] = {'std': 'geninfo_et', 'sync': 'geninfo_et'} +vars['geninfo_ee'] = {'std': 'geninfo_ee', 'sync': 'geninfo_ee'} +vars['geninfo_mm'] = {'std': 'geninfo_mm', 'sync': 'geninfo_mm'} +vars['geninfo_em'] = {'std': 'geninfo_em', 'sync': 'geninfo_em'} +vars['geninfo_EE'] = {'std': 'geninfo_EE', 'sync': 'geninfo_EE'} +vars['geninfo_MM'] = {'std': 'geninfo_MM', 'sync': 'geninfo_MM'} +vars['geninfo_LL'] = {'std': 'geninfo_LL', 'sync': 'geninfo_LL'} +vars['geninfo_fakeid'] = {'std': 'geninfo_fakeid', 'sync': 'geninfo_fakeid'} + +# Weights +vars['weight'] = {'std': 'weight', 'sync': 'weight'} +vars['weight_vertex'] = {'std': 'weight_vertex', 'sync': 'puweight'} + +# PileUp +vars['geninfo_nup'] = {'geninfo_nup': 'NUP', 'sync': 'NUP'} +vars['n_vertices'] = {'std': 'n_vertices', 'sync': 'npv'} +vars['npu'] = {'std': 'npu', 'sync': 'npu'} +vars['rho'] = {'std': 'rho', 'sync': 'rho'} + +# Leg 1 (tau, mu, ele) +vars['l1_pt'] = {'std': 'l1_pt', 'sync': 'pt_1'} +vars['l1_phi'] = {'std': 'l1_phi', 'sync': 'phi_1'} +vars['l1_eta'] = {'std': 'l1_eta', 'sync': 'eta_1'} +vars['l1_mass'] = {'std': 'l1_mass', 'sync': 'm_1'} +vars['l1_charge'] = {'std': 'l1_charge', 'sync': 'q_1'} +vars['l1_dxy'] = {'std': 'l1_dxy', 'sync': 'd0_1'} +vars['l1_dz'] = {'std': 'l1_dz', 'sync': 'dZ_1'} +vars['mt_leg1'] = {'std': 'mt_leg1', 'sync': 'mt_1'} +vars['l1_reliso05'] = {'std': 'l1_reliso05', 'sync': 'iso_1'} +vars['l1_muonid_loose'] = {'std': 'l1_muonid_loose', 'sync': 'id_m_loose_1'} +vars['l1_muonid_medium'] = {'std': 'l1_muonid_medium', 'sync': 'id_m_medium_1'} +vars['l1_muonid_tight'] = {'std': 'l1_muonid_tight', 'sync': 'id_m_tight_1'} +vars['l1_muonid_tightnovtx'] = {'std': 'l1_muonid_tightnovtx', 'sync': 'id_m_tightnovtx_1'} +vars['l1_muonid_highpt'] = {'std': 'l1_muonid_highpt', 'sync': 'id_m_highpt_1'} +vars['l1_eid_nontrigmva_loose'] = {'std': 'l1_eid_nontrigmva_loose', 'sync': 'id_e_mva_nt_loose_1'} +vars['l1_eid_nontrigmva_tight'] = {'std': 'l1_eid_nontrigmva_tight', 'sync': 'id_e_mva_nt_loose_1'} +vars['l1_eid_veto'] = {'std': 'l1_eid_veto', 'sync': 'id_e_cut_veto_1'} +vars['l1_eid_loose'] = {'std': 'l1_eid_loose', 'sync': 'id_e_cut_loose_1'} +vars['l1_eid_medium'] = {'std': 'l1_eid_medium', 'sync': 'id_e_cut_medium_1'} +vars['l1_eid_tight'] = {'std': 'l1_eid_tight', 'sync': 'id_e_cut_tight_1'} +vars['l1_weight_trigger'] = {'std': 'l1_weight_trigger', 'sync': 'trigweight_1'} +vars['l1_againstElectronLooseMVA5'] = {'std': 'l1_againstElectronLooseMVA5', 'sync': 'againstElectronLooseMVA5_1'} +vars['l1_againstElectronMediumMVA5'] = {'std': 'l1_againstElectronMediumMVA5', 'sync': 'againstElectronMediumMVA5_1'} +vars['l1_againstElectronTightMVA5'] = {'std': 'l1_againstElectronTightMVA5', 'sync': 'againstElectronTightMVA5_1'} +vars['l1_againstElectronVLooseMVA5'] = {'std': 'l1_againstElectronVLooseMVA5', 'sync': 'againstElectronVLooseMVA5_1'} +vars['l1_againstElectronVTightMVA5'] = {'std': 'l1_againstElectronVTightMVA5', 'sync': 'againstElectronVTightMVA5_1'} +vars['l1_againstMuonLoose3'] = {'std': 'l1_againstMuonLoose3', 'sync': 'againstMuonLoose3_1'} +vars['l1_againstMuonTight3'] = {'std': 'l1_againstMuonTight3', 'sync': 'againstMuonTight3_1'} +vars['l1_byCombinedIsolationDeltaBetaCorrRaw3Hits'] = {'std': 'l1_byCombinedIsolationDeltaBetaCorrRaw3Hits', 'sync': 'byCombinedIsolationDeltaBetaCorrRaw3Hits_1'} +vars['l1_byIsolationMVA3newDMwoLTraw'] = {'std': 'l1_byIsolationMVA3newDMwoLTraw', 'sync': 'byIsolationMVA3newDMwoLTraw_1'} +vars['l1_byIsolationMVA3oldDMwoLTraw'] = {'std': 'l1_byIsolationMVA3oldDMwoLTraw', 'sync': 'byIsolationMVA3oldDMwoLTraw_1'} +vars['l1_byIsolationMVA3newDMwLTraw'] = {'std': 'l1_byIsolationMVA3newDMwLTraw', 'sync': 'byIsolationMVA3newDMwLTraw_1'} +vars['l1_byIsolationMVA3oldDMwLTraw'] = {'std': 'l1_byIsolationMVA3oldDMwLTraw', 'sync': 'byIsolationMVA3oldDMwLTraw_1'} +vars['l1_chargedIsoPtSum'] = {'std': 'l1_chargedIsoPtSum', 'sync': 'chargedIsoPtSum_1'} +vars['l1_decayModeFinding'] = {'std': 'l1_decayModeFinding', 'sync': 'decayModeFinding_1'} +vars['l1_decayModeFindingNewDMs'] = {'std': 'l1_decayModeFindingNewDMs', 'sync': 'decayModeFindingNewDMs_1'} +vars['l1_neutralIsoPtSum'] = {'std': 'l1_neutralIsoPtSum', 'sync': 'neutralIsoPtSum_1'} +vars['l1_puCorrPtSum'] = {'std': 'l1_puCorrPtSum', 'sync': 'puCorrPtSum_1'} + +# Leg 2 (tau, mu, ele) +vars['l2_pt'] = {'std': 'l2_pt', 'sync': 'pt_2'} +vars['l2_phi'] = {'std': 'l2_phi', 'sync': 'phi_2'} +vars['l2_eta'] = {'std': 'l2_eta', 'sync': 'eta_2'} +vars['l2_mass'] = {'std': 'l2_mass', 'sync': 'm_2'} +vars['l2_charge'] = {'std': 'l2_charge', 'sync': 'q_2'} +vars['l2_dxy'] = {'std': 'l2_dxy', 'sync': 'd0_2'} +vars['l2_dz'] = {'std': 'l2_dz', 'sync': 'dZ_2'} +vars['mt_leg2'] = {'std': 'mt_leg2', 'sync': 'mt_2'} +vars['l2_reliso05'] = {'std': 'l2_reliso05', 'sync': 'iso_2'} +vars['l2_muonid_loose'] = {'std': 'l2_muonid_loose', 'sync': 'id_m_loose_2'} +vars['l2_muonid_medium'] = {'std': 'l2_muonid_medium', 'sync': 'id_m_medium_2'} +vars['l2_muonid_tight'] = {'std': 'l2_muonid_tight', 'sync': 'id_m_tight_2'} +vars['l2_muonid_tightnovtx'] = {'std': 'l2_muonid_tightnovtx', 'sync': 'id_m_tightnovtx_2'} +vars['l2_muonid_highpt'] = {'std': 'l2_muonid_highpt', 'sync': 'id_m_highpt_2'} +vars['l2_eid_nontrigmva_loose'] = {'std': 'l2_eid_nontrigmva_loose', 'sync': 'id_e_mva_nt_loose_2'} +vars['l2_eid_nontrigmva_tight'] = {'std': 'l2_eid_nontrigmva_tight', 'sync': 'id_e_mva_nt_loose_2'} +vars['l2_eid_veto'] = {'std': 'l2_eid_veto', 'sync': 'id_e_cut_veto_2'} +vars['l2_eid_loose'] = {'std': 'l2_eid_loose', 'sync': 'id_e_cut_loose_2'} +vars['l2_eid_medium'] = {'std': 'l2_eid_medium', 'sync': 'id_e_cut_medium_2'} +vars['l2_eid_tight'] = {'std': 'l2_eid_tight', 'sync': 'id_e_cut_tight_2'} +vars['l2_weight_trigger'] = {'std': 'l2_weight_trigger', 'sync': 'trigweight_2'} +vars['l2_againstElectronLooseMVA5'] = {'std': 'l2_againstElectronLooseMVA5', 'sync': 'againstElectronLooseMVA5_2'} +vars['l2_againstElectronMediumMVA5'] = {'std': 'l2_againstElectronMediumMVA5', 'sync': 'againstElectronMediumMVA5_2'} +vars['l2_againstElectronTightMVA5'] = {'std': 'l2_againstElectronTightMVA5', 'sync': 'againstElectronTightMVA5_2'} +vars['l2_againstElectronVLooseMVA5'] = {'std': 'l2_againstElectronVLooseMVA5', 'sync': 'againstElectronVLooseMVA5_2'} +vars['l2_againstElectronVTightMVA5'] = {'std': 'l2_againstElectronVTightMVA5', 'sync': 'againstElectronVTightMVA5_2'} +vars['l2_againstMuonLoose3'] = {'std': 'l2_againstMuonLoose3', 'sync': 'againstMuonLoose3_2'} +vars['l2_againstMuonTight3'] = {'std': 'l2_againstMuonTight3', 'sync': 'againstMuonTight3_2'} +vars['l2_byCombinedIsolationDeltaBetaCorrRaw3Hits'] = {'std': 'l2_byCombinedIsolationDeltaBetaCorrRaw3Hits', 'sync': 'byCombinedIsolationDeltaBetaCorrRaw3Hits_2'} +vars['l2_byIsolationMVA3newDMwoLTraw'] = {'std': 'l2_byIsolationMVA3newDMwoLTraw', 'sync': 'byIsolationMVA3newDMwoLTraw_2'} +vars['l2_byIsolationMVA3oldDMwoLTraw'] = {'std': 'l2_byIsolationMVA3oldDMwoLTraw', 'sync': 'byIsolationMVA3oldDMwoLTraw_2'} +vars['l2_byIsolationMVA3newDMwLTraw'] = {'std': 'l2_byIsolationMVA3newDMwLTraw', 'sync': 'byIsolationMVA3newDMwLTraw_2'} +vars['l2_byIsolationMVA3oldDMwLTraw'] = {'std': 'l2_byIsolationMVA3oldDMwLTraw', 'sync': 'byIsolationMVA3oldDMwLTraw_2'} +vars['l2_chargedIsoPtSum'] = {'std': 'l2_chargedIsoPtSum', 'sync': 'chargedIsoPtSum_2'} +vars['l2_decayModeFinding'] = {'std': 'l2_decayModeFinding', 'sync': 'decayModeFinding_2'} +vars['l2_decayModeFindingNewDMs'] = {'std': 'l2_decayModeFindingNewDMs', 'sync': 'decayModeFindingNewDMs_2'} +vars['l2_neutralIsoPtSum'] = {'std': 'l2_neutralIsoPtSum', 'sync': 'neutralIsoPtSum_2'} +vars['l2_puCorrPtSum'] = {'std': 'l2_puCorrPtSum', 'sync': 'puCorrPtSum_2'} + +# di-tau pair +vars['pthiggs'] = {'std': 'pthiggs', 'sync': 'pth'} +vars['visMass'] = {'std': 'visMass', 'sync': 'm_vis'} +vars['svfit_mass'] = {'std': 'svfit_mass', 'sync': 'm_sv'} +vars['svfit_pt'] = {'std': 'svfit_pt', 'sync': 'pt_sv'} +vars['svfit_eta'] = {'std': 'svfit_eta', 'sync': 'eta_sv'} +vars['svfit_phi'] = {'std': 'svfit_phi', 'sync': 'phi_sv'} +vars['svfit_met'] = {'std': 'svfit_met', 'sync': 'met_sv'} + +# MET +vars['pfmet_pt'] = {'std': 'pfmet_pt', 'sync': 'met'} +vars['pfmet_phi'] = {'std': 'pfmet_phi', 'sync': 'metphi'} +vars['met_pt'] = {'std': 'met_pt', 'sync': 'mvamet'} +vars['met_phi'] = {'std': 'met_phi', 'sync': 'mvametphi'} +vars['pzeta_vis'] = {'std': 'pzeta_vis', 'sync': 'pzetavis'} +vars['pzeta_met'] = {'std': 'pzeta_met', 'sync': 'pzetamiss'} + +vars['met_cov00'] = {'std': 'met_cov00', 'sync': 'mvacov00'} +vars['met_cov01'] = {'std': 'met_cov01', 'sync': 'mvacov01'} +vars['met_cov10'] = {'std': 'met_cov10', 'sync': 'mvacov10'} +vars['met_cov11'] = {'std': 'met_cov11', 'sync': 'mvacov11'} + +# VBF +vars['ditau_mjj'] = {'std': 'ditau_mjj', 'sync': 'mjj'} +vars['ditau_deta'] = {'std': 'ditau_deta', 'sync': 'jdeta'} +vars['ditau_nCentral'] = {'std': 'ditau_nCentral', 'sync': 'njetingap'} +vars['ditau_mva'] = {'std': 'ditau_mva', 'sync': 'mva'} + +vars['ditau_jdphi'] = {'std': 'ditau_jdphi', 'sync': 'jdphi'} +vars['ditau_dijetpt'] = {'std': 'ditau_dijetpt', 'sync': 'dijetpt'} +vars['ditau_dijetphi'] = {'std': 'ditau_dijetphi', 'sync': 'dijetphi'} +vars['ditau_hdijetphi'] = {'std': 'ditau_hdijetphi', 'sync': 'hdijetphi'} +vars['ditau_visjeteta'] = {'std': 'ditau_visjeteta', 'sync': 'visjeteta'} +vars['ditau_ptvis'] = {'std': 'ditau_ptvis', 'sync': 'ptvis'} + +# N Jets +vars['n_jets'] = {'std': 'n_jets', 'sync': 'njets'} +vars['n_jets_20'] = {'std': 'n_jets_20', 'sync': 'njetspt20'} +vars['n_bjets'] = {'std': 'n_bjets', 'sync': 'nbtag'} + +# Jet 1 +vars['jet1_pt'] = {'std': 'jet1_pt', 'sync': 'jpt_1'} +vars['jet1_eta'] = {'std': 'jet1_eta', 'sync': 'jeta_1'} +vars['jet1_phi'] = {'std': 'jet1_phi', 'sync': 'jphi_1'} +vars['jet1_rawfactor'] = {'std': 'jet1_rawfactor', 'sync': 'jrawf_1'} +vars['jet1_mva_pu'] = {'std': 'jet1_mva_pu', 'sync': 'jmva_1'} +vars['jet1_id_loose'] = {'std': 'jet1_id_loose', 'sync': 'jpfid_1'} +vars['jet1_id_pu'] = {'std': 'jet1_id_pu', 'sync': 'jpuid_1'} +vars['jet1_csv'] = {'std': 'jet1_csv', 'sync': 'jcsv_1'} + +# Jet 2 +vars['jet2_pt'] = {'std': 'jet2_pt', 'sync': 'jpt_2'} +vars['jet2_eta'] = {'std': 'jet2_eta', 'sync': 'jeta_2'} +vars['jet2_phi'] = {'std': 'jet2_phi', 'sync': 'jphi_2'} +vars['jet2_rawfactor'] = {'std': 'jet2_rawfactor', 'sync': 'jrawf_2'} +vars['jet2_mva_pu'] = {'std': 'jet2_mva_pu', 'sync': 'jmva_2'} +vars['jet2_id_loose'] = {'std': 'jet2_id_loose', 'sync': 'jpfid_2'} +vars['jet2_id_pu'] = {'std': 'jet2_id_pu', 'sync': 'jpuid_2'} +vars['jet2_csv'] = {'std': 'jet2_csv', 'sync': 'jcsv_2'} + +# bJet 1 +vars['bjet1_pt'] = {'std': 'bjet1_pt', 'sync': 'bjpt_1'} +vars['bjet1_eta'] = {'std': 'bjet1_eta', 'sync': 'bjeta_1'} +vars['bjet1_phi'] = {'std': 'bjet1_phi', 'sync': 'bjphi_1'} +vars['bjet1_rawfactor'] = {'std': 'bjet1_rawfactor', 'sync': 'bjrawf_1'} +vars['bjet1_mva_pu'] = {'std': 'bjet1_mva_pu', 'sync': 'bjmva_1'} +vars['bjet1_id_loose'] = {'std': 'bjet1_id_loose', 'sync': 'bjpfid_1'} +vars['bjet1_id_pu'] = {'std': 'bjet1_id_pu', 'sync': 'bjpuid_1'} +vars['bjet1_csv'] = {'std': 'bjet1_csv', 'sync': 'bjcsv_1'} + +# bJet 2 +vars['bjet2_pt'] = {'std': 'bjet2_pt', 'sync': 'bjpt_2'} +vars['bjet2_eta'] = {'std': 'bjet2_eta', 'sync': 'bjeta_2'} +vars['bjet2_phi'] = {'std': 'bjet2_phi', 'sync': 'bjphi_2'} +vars['bjet2_rawfactor'] = {'std': 'bjet2_rawfactor', 'sync': 'bjrawf_2'} +vars['bjet2_mva_pu'] = {'std': 'bjet2_mva_pu', 'sync': 'bjmva_2'} +vars['bjet2_id_loose'] = {'std': 'bjet2_id_loose', 'sync': 'bjpfid_2'} +vars['bjet2_id_pu'] = {'std': 'bjet2_id_pu', 'sync': 'bjpuid_2'} +vars['bjet2_csv'] = {'std': 'bjet2_csv', 'sync': 'bjcsv_2'} diff --git a/CMGTools/H2TauTau/python/proto/physicsobjects/DiObject.py b/CMGTools/H2TauTau/python/proto/physicsobjects/DiObject.py index 6189169ab3b7..f27d62976d10 100644 --- a/CMGTools/H2TauTau/python/proto/physicsobjects/DiObject.py +++ b/CMGTools/H2TauTau/python/proto/physicsobjects/DiObject.py @@ -1,12 +1,13 @@ import math from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Muon, Tau -from PhysicsTools.Heppy.physicsobjects.HTauTauElectron import HTauTauElectron +# from PhysicsTools.Heppy.physicsobjects.HTauTauElectron import HTauTauElectron +from PhysicsTools.Heppy.physicsobjects.Electron import Electron from PhysicsTools.HeppyCore.utils.deltar import deltaR2 from ROOT import TVector3 class DiObject( object ): - + def __init__(self, diobject): self.diobject = diobject #p4 = LorentzVector( 1,0,0,1) @@ -43,7 +44,7 @@ def __str__(self): class DiTau( DiObject ): def __init__(self, diobject): super(DiTau, self).__init__(diobject) - + def met(self): return self.daughter(2) @@ -59,6 +60,12 @@ def svfitPt(self): def svfitPtError(self): return self.userFloat('ptUncert') + def svfitEta(self): + return self.userFloat('fittedEta') + + def svfitPhi(self): + return self.userFloat('fittedPhi') + def pZeta(self): if not hasattr(self, 'pZetaVis_'): self.calcPZeta() @@ -129,11 +136,11 @@ def match(self, genParticles): # print 'Gen taus: ' # print '\n'.join( map( str, genTaus ) ) if len(genTaus)!=2: - #COLIN what about WW, ZZ? + #COLIN what about WW, ZZ? return (-1, -1) else: dR2leg1Min, self.leg1Gen = ( float('inf'), None) - dR2leg2Min, self.leg2Gen = ( float('inf'), None) + dR2leg2Min, self.leg2Gen = ( float('inf'), None) for genTau in genTaus: dR2leg1 = deltaR2(self.leg1().eta(), self.leg1().phi(), genTau.eta(), genTau.phi() ) @@ -148,7 +155,7 @@ def match(self, genParticles): # print self.leg2Gen self.leg1DeltaR = math.sqrt( dR2leg1Min ) self.leg2DeltaR = math.sqrt( dR2leg2Min ) - return (self.leg1DeltaR, self.leg2DeltaR) + return (self.leg1DeltaR, self.leg2DeltaR) class DiMuon( DiTau ): def __init__(self, diobject): @@ -174,12 +181,13 @@ def leg1(self): def leg2(self): return self.mu - + class TauElectron( DiTau ): def __init__(self, diobject): super(TauElectron, self).__init__(diobject) self.tau = Tau( super(TauElectron, self).leg1() ) - self.ele = HTauTauElectron( super(TauElectron, self).leg1() ) + self.ele = Electron( super(TauElectron, self).leg2() ) +# self.ele = HTauTauElectron( super(TauElectron, self).leg2() ) def leg1(self): return self.tau @@ -191,10 +199,24 @@ class MuonElectron( DiTau ): def __init__(self, diobject): super(MuonElectron, self).__init__(diobject) self.mu = Muon( super(MuonElectron, self).leg1() ) - self.ele = HTauTauElectron( super(MuonElectron, self).leg2() ) + self.ele = Electron( super(MuonElectron, self).leg2() ) +# self.ele = HTauTauElectron( super(MuonElectron, self).leg2() ) def leg1(self): return self.mu def leg2(self): return self.ele + +class TauTau( DiTau ): + def __init__(self, diobject): + super(TauTau, self).__init__(diobject) + self.tau = Tau( super(TauTau, self).leg1() ) + self.tau2 = Tau( super(TauTau, self).leg2() ) + + def leg1(self): + return self.tau + + def leg2(self): + return self.tau2 + diff --git a/CMGTools/H2TauTau/python/proto/physicsobjects/TauDecayModes.py b/CMGTools/H2TauTau/python/proto/physicsobjects/TauDecayModes.py deleted file mode 100644 index 82cda85e42c9..000000000000 --- a/CMGTools/H2TauTau/python/proto/physicsobjects/TauDecayModes.py +++ /dev/null @@ -1,52 +0,0 @@ -print 'importing' - -class TauDecayModes( object ): - - def __init__(self): - self._decayModes() - - def _decayModes(self): - '''Builds the internal dictionaries from the enum defined in - http://cmslxr.fnal.gov/lxr/source/DataFormats/TauReco/interface/PFTau.h''' - tmp = [ - 'kOneProng0PiZero', - 'kOneProng1PiZero', - 'kOneProng2PiZero', - 'kOneProng3PiZero', - 'kOneProngNPiZero', - 'kTwoProng0PiZero', - 'kTwoProng1PiZero', - 'kTwoProng2PiZero', - 'kTwoProng3PiZero', - 'kTwoProngNPiZero', - 'kThreeProng0PiZero', - 'kThreeProng1PiZero', - 'kThreeProng2PiZero', - 'kThreeProng3PiZero', - 'kThreeProngNPiZero', - 'kRareDecayMode' - ] - self.decayModes = dict( (index, name) for index,name in enumerate( tmp ) ) - self.decayModeNames = dict( (value, key) for key, value \ - in self.decayModes.iteritems() ) - - def intToName( self, anInt ): - '''Returns the decay mode name corresponding to an int.''' - return self.decayModes[ anInt ] - - def nameToInt( self, aName ): - '''Returns the decay mode int corresponding to a name.''' - return self.decayModeNames[ aName ] - - def __str__(self): - return str( self.decayModes ) - -tauDecayModes = TauDecayModes() - -if __name__ == '__main__': - - dec = TauDecayModes() - print dec - - print 0, dec.intToName(0) - print 'kThreeProng0PiZero', dec.nameToInt('kThreeProng0PiZero') diff --git a/CMGTools/H2TauTau/python/proto/samples/cmg_testMVAs.py b/CMGTools/H2TauTau/python/proto/samples/cmg_testMVAs.py deleted file mode 100644 index fd0974a20077..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/cmg_testMVAs.py +++ /dev/null @@ -1,39 +0,0 @@ -import copy -from CMGTools.H2TauTau.proto.samples.mc_fall11 import * -from CMGTools.H2TauTau.proto.samples.mc_qcdmu import * -from CMGTools.H2TauTau.proto.samples.mc_higgs import * - -aod = 'V3' -pat = 'PAT_CMG_TestMVAs' -filePattern = 'tree.*root' - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V3/{pat}'.format(pat=pat), 'cmgtools', filePattern) -DYJets.nGenEvents = 36209629 - -# DYJetsChamonix=copy.deepcopy(DYJets) -# DYJetsChamonix.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_Chamonix12_START44_V10-v2/AODSIM/PAT_CMG_V3_0_0', 'cmgtools', filePattern) - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V3/TAUTAU/{pat}'.format(pat=pat), 'cmgtools', filePattern) -WJets.nGenEvents = 81345381 - -TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V3/{pat}'.format(pat=pat), 'cmgtools', filePattern) -TTJets.nGenEvents = 3701947 - -QCDMuH20Pt15.files = getFiles('/QCD_Pt-20_MuEnrichedPt-15_TuneZ2_7TeV-pythia6/Summer11-PU_S4_START42_V11-v1/AODSIM/V2/{pat}'.format(pat=pat), 'cmgtools', filePattern) - -QCDMuH15to20Pt5.files = getFiles('/QCD_Pt-15to20_MuPt5Enriched_TuneZ2_7TeV-pythia6/Summer11-PU_S3_START42_V11-v2/AODSIM/V3/{pat}'.format(pat=pat), 'cmgtools', filePattern) - -Hig105.files = getFiles('/GluGluToHToTauTau_M-105_7TeV-powheg-pythia6/Summer11-PU_S4_START42_V11-v1/AODSIM/V2/{pat}'.format(pat=pat), 'cmgtools', filePattern) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'cmg-tuples, TestMVAs, MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/csa2014/higgs.py b/CMGTools/H2TauTau/python/proto/samples/csa2014/higgs.py index 18137af420a3..aba22aaa75b4 100644 --- a/CMGTools/H2TauTau/python/proto/samples/csa2014/higgs.py +++ b/CMGTools/H2TauTau/python/proto/samples/csa2014/higgs.py @@ -42,8 +42,15 @@ effCorrFactor = 1 ) +############# TTH ############### - +HiggsTTHInclusive125 = cfg.MCComponent( + name = 'HiggsTTHInclusive125', + files = [], + xSection = None, + nGenEvents = 0, + triggers = [], + effCorrFactor = 1 ) @@ -90,27 +97,34 @@ HiggsVHtoWW125 ] +mc_higgs_tth = [ + HiggsTTHInclusive125 +] mc_higgs = copy.copy( mc_higgs_vbf ) mc_higgs.extend( mc_higgs_ggh ) mc_higgs.extend( mc_higgs_vh ) +mc_higgs.extend( mc_higgs_tth ) pattern = re.compile('Higgs(\D+)(\d+)') for h in mc_higgs: - # import pdb ; pdb.set_trace() - # import pdb; pdb.set_trace() m = pattern.match( h.name ) process = m.group(1) + + isToWW = False + isInclusive = False if 'toWW' in process : - process = process.replace('toWW','') - isToWW = True - else : - isToWW = False + process = process.replace('toWW', '') + isToWW = True + if 'Inclusive' in process: + process = process.replace('Inclusive', '') + isInclusive = True + mass = float(m.group(2)) xSection = 0. try: - if process=='VH': + if process == 'VH': xSection += yrparser13TeV.get(mass)['WH']['sigma'] xSection += yrparser13TeV.get(mass)['ZH']['sigma'] else: @@ -123,15 +137,14 @@ else: xSection += 0.5 * (yrparser13TeV.get(mass-1.)[process]['sigma'] + yrparser13TeV.get(mass+1.)[process]['sigma']) - if not isToWW : - br = yrparser13TeV.get(mass)['H2F']['tautau'] + if isToWW : + br = yrparser13TeV.get(mass)['H2B']['WW'] + elif isInclusive: + br = 1. else : - br = yrparser13TeV.get(mass)['H2B']['WW'] + br = yrparser13TeV.get(mass)['H2F']['tautau'] + h.xSection = xSection*br h.branchingRatio = br print h.name, 'sigma*br =', h.xSection, 'sigma =', xSection, 'br =', h.branchingRatio - -# print 'generating shifted samples' -# mc_higgs_up = sampleShift( locals(), mc_higgs, 'Up') -# mc_higgs_down = sampleShift( locals(), mc_higgs, 'Down') diff --git a/CMGTools/H2TauTau/python/proto/samples/csa2014/tauMu_Sync_Jan.py b/CMGTools/H2TauTau/python/proto/samples/csa2014/tauMu_Sync_Jan.py index 0045cf5776a2..3fd2f8d67759 100644 --- a/CMGTools/H2TauTau/python/proto/samples/csa2014/tauMu_Sync_Jan.py +++ b/CMGTools/H2TauTau/python/proto/samples/csa2014/tauMu_Sync_Jan.py @@ -10,15 +10,28 @@ for s in mc_higgs: mc_dict[s.name] = s -MC_list = [mc_dict['HiggsVBF125']] +MC_list = [mc_dict['HiggsTTHInclusive125']] for sam in MC_list: sam.triggers = None # No triggers yet sam.triggers = [] # No triggers yet allsamples = copy.copy(MC_list) -pat = '/VBF_HToTauTau_M-125_13TeV-powheg-pythia6/Spring14dr-PU20bx25_POSTLS170_V5-v1/AODSIM/SS14/TAUMU_MINIAODTEST_steggema' +pat = '/TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/Phys14DR-PU40bx25_PHYS14_25_V1-v1/MINIAODSIM/TAUMU_MINIAODTEST_NOSVFIT_steggema' -mc_dict['HiggsVBF125'].files = getFiles(pat, 'steggema', '.*root') -mc_dict['HiggsVBF125'].splitFactor = 14 +mc_dict['HiggsTTHInclusive125'].files = getFiles(pat, 'htautau_group', '.*root') +mc_dict['HiggsTTHInclusive125'].splitFactor = 7 + + +# MC_list = [mc_dict['HiggsVBF125']] +# for sam in MC_list: +# sam.triggers = None # No triggers yet +# sam.triggers = [] # No triggers yet + +# allsamples = copy.copy(MC_list) + +# pat = '/VBF_HToTauTau_M-125_13TeV-powheg-pythia6/Spring14dr-PU20bx25_POSTLS170_V5-v1/AODSIM/SS14/TAUMU_MINIAODTEST_steggema' + +# mc_dict['HiggsVBF125'].files = getFiles(pat, 'steggema', '.*root') +# mc_dict['HiggsVBF125'].splitFactor = 14 diff --git a/CMGTools/H2TauTau/python/proto/samples/getFiles.py b/CMGTools/H2TauTau/python/proto/samples/getFiles.py deleted file mode 100644 index d3e88c3a2640..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/getFiles.py +++ /dev/null @@ -1,6 +0,0 @@ -def getFiles(dataset, user, pattern, useCache=True): - from CMGTools.Production.datasetToSource import datasetToSource - # print 'getting files for', dataset,user,pattern - ds = datasetToSource( user, dataset, pattern, useCache ) - files = ds.fileNames - return ['root://eoscms//eos/cms%s' % f for f in files] diff --git a/CMGTools/H2TauTau/python/proto/samples/phys14/connector.py b/CMGTools/H2TauTau/python/proto/samples/phys14/connector.py new file mode 100644 index 000000000000..519ea02a9ed1 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/samples/phys14/connector.py @@ -0,0 +1,164 @@ +import os +import pickle +import glob +import re + +from CMGTools.RootTools.utils.splitFactor import splitFactor + +from CMGTools.H2TauTau.proto.samples.phys14.higgs import mc_higgs +from CMGTools.H2TauTau.proto.samples.phys14.ewk import mc_ewk +from CMGTools.H2TauTau.proto.samples.phys14.diboson import mc_diboson +from CMGTools.H2TauTau.proto.samples.phys14.qcd import mc_qcd +from CMGTools.H2TauTau.proto.samples.phys14.triggers_tauMu import mc_triggers as mc_triggers_mt +from CMGTools.H2TauTau.proto.samples.phys14.triggers_tauEle import mc_triggers as mc_triggers_et +from CMGTools.H2TauTau.proto.samples.phys14.triggers_tauTau import mc_triggers as mc_triggers_tt +from CMGTools.H2TauTau.proto.samples.phys14.triggers_muEle import mc_triggers as mc_triggers_em + +class httConnector(object): + + def __init__(self, tier, user, pattern, triggers, + production=False, splitFactor=10e4, + fineSplitFactor=4, cache=True, verbose=False): + ''' ''' + if tier.startswith('%'): + self.tier = tier + else: + self.tier = '%'+tier + self.user = user + self.pattern = pattern + self.cache = cache + self.verbose = verbose + self.production = production + self.triggers = triggers + self.splitFactor = splitFactor + self.fineSplitFactor = fineSplitFactor + self.homedir = os.getenv('HOME') + self.mc_dict = {} + self.MC_list = [] + self.aliases = aliases = { + '/GluGluToHToTauTau.*Phys14DR.*' : 'HiggsGGH' , + '/VBF_HToTauTau.*Phys14DR.*' : 'HiggsVBF' , + '/DYJetsToLL.*Phys14DR.*' : 'DYJets' , + '/TTJets.*Phys14DR.*' : 'TTJets' , + '/T_tW.*Phys14DR.*' : 'T_tW' , + '/Tbar_tW.*Phys14DR.*' : 'Tbar_tW' , + '/WZJetsTo3LNu.*Phys14DR.*' : 'WZJetsTo3LNu' , + '/TTbarH.*Phys14DR.*' : 'HiggsTTHInclusive', + '/WJetsToLNu.*Phys14DR.*' : 'WJets' , + '/QCD_Pt-10to20_EMEnriched.*Phys14DR.*' : 'QCDEM10to20' , + '/QCD_Pt-20to30_EMEnriched.*Phys14DR.*' : 'QCDEM20to30' , + '/QCD_Pt-30to80_EMEnriched.*Phys14DR.*' : 'QCDEM30to80' , + '/QCD_Pt-80to170_EMEnriched.*Phys14DR.*' : 'QCDEM80to170' , + '/QCD_Pt-30to50_MuEnrichedPt5.*Phys14DR.*' : 'QCDMu30to50' , + '/QCD_Pt-50to80_MuEnrichedPt5.*Phys14DR.*' : 'QCDMu50to80' , + '/QCD_Pt-80to120_MuEnrichedPt5.*Phys14DR.*' : 'QCDMu80to120' , + } + self.dictionarize_() + self.listify_() + + def dictionarize_(self): + ''' ''' + for s in mc_higgs + mc_ewk + mc_diboson + mc_qcd: + self.mc_dict[s.name] = s + + def listify_(self): + ''' ''' + self.MC_list = [v for k, v in self.mc_dict.items()] + for sam in self.MC_list: + sam.splitFactor = splitFactor(sam, self.splitFactor) + sam.fineSplitFactor = self.fineSplitFactor + if self.triggers == 'mt': sam.triggers = mc_triggers_mt + if self.triggers == 'et': sam.triggers = mc_triggers_et + if self.triggers == 'tt': sam.triggers = mc_triggers_tt + if self.triggers == 'em': sam.triggers = mc_triggers_em + + def connect(self): + '''Retrieves the relevant information + (e.g. files location) for each component. + To avoid multiple connections to the database + is production == True, it checks for a cached + pickle file containing all the info. + + FIXME! RIC: this should be done by default, + but I make the use of the cached pickle explicit + because the name of the parent dataset, and + therefore the number of events and the + computing efficiency, is not + saved in the pickle file, and it can only be retrieved + through a query to the database. This is + necessary at the analysis level, but not at + the production stage, where the only bit of info + that's really needed is the location of the files. + Should revisit the way the pickle file is saved + so that ALL the relevant info is stored there. + ''' + if self.production: + self.connect_by_pck_() + else: + self.connect_by_db_() + + self.pruneSampleList_() + + def connect_by_db_(self): + ''' ''' + from CMGTools.RootTools.utils.connect import connect + connect(self.MC_list, self.tier, self.pattern, + self.aliases, cache=self.cache, verbose=self.verbose) + + def connect_by_pck_(self): + ''' ''' + from CMGTools.RootTools.utils.getFiles import getFiles + + redict_aliases = dict( zip(self.aliases.values(), self.aliases.keys()) ) + + regex = re.compile(r'(?P[a-zA-Z0-9_]+[a-zA-Z])(?:[0-9]+)$') + + for alias_k, alias_v in self.mc_dict.items(): + m = regex.match(alias_k) + if m and 'QCD' not in alias_k: + alias_k = m.group('sample') + if alias_k not in self.aliases.values(): + continue + sample_pck = '*'.join(['',redict_aliases[alias_k].replace('/','').replace('.','*'), + self.tier.replace('%',''),self.pattern+'.pck']) + cached_sample = glob.glob('/'.join([self.homedir,'.cmgdataset',sample_pck])) + single_mc_list = [alias_v] + + if len(cached_sample) == 0: + print 'sample not cached yet, connecting to the DB' + from CMGTools.RootTools.utils.connect import connect + connect(single_mc_list, self.tier, self.pattern, self.aliases, + cache=self.cache, verbose=self.verbose) + + elif len(cached_sample) >1: + print 'better specify which sample, many found' + print cached_sample + raise + + else: + file = open(cached_sample[0]) + mycomp = pickle.load(file) + single_mc_list[0].files = getFiles('/'.join( ['']+mycomp.lfnDir.split('/')[mycomp.lfnDir.split('/').index('CMG')+1:] ), + mycomp.user, self.pattern, useCache=self.cache) + print 'attached files to %s' %(single_mc_list[0].name) + print 'files %s' %('/'.join(single_mc_list[0].files[0].split('/')[:-1]+[self.pattern])) + + def pruneSampleList_(self): + self.MC_list = [m for m in self.MC_list if m.files] + +if __name__ == '__main__': + + from optparse import OptionParser + parser = OptionParser() + parser.usage = ''' To be written ''' + + parser.add_option('-T', '--tier' , dest = 'tier' , help = 'Tier. Search samples on eos that end with this tier' ) + parser.add_option('-U', '--user' , dest = 'user' , help = 'User. User or group that owns the samples. Default htautau_group' , default = 'htautau_group') + parser.add_option('-P', '--pattern' , dest = 'pattern' , help = 'Pattern. Connect only files that match this pattern. Default .*root' , default = '.*root' ) + parser.add_option('-C', '--channel' , dest = 'channel' , help = 'Channel. Choose [mt, et, tt, em]. Default mt' , default = 'mt' ) + parser.add_option('-p', '--production', dest = 'production', help = 'Production. Check the cache first. Default False' , default = False ) + + (options,args) = parser.parse_args() + + my_connect = httConnector(options.tier, options.user, options.pattern, options.channel, options.production) + my_connect.connect() diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/diboson.py b/CMGTools/H2TauTau/python/proto/samples/phys14/diboson.py similarity index 100% rename from CMGTools/H2TauTau/python/proto/samples/run2012/diboson.py rename to CMGTools/H2TauTau/python/proto/samples/phys14/diboson.py diff --git a/CMGTools/H2TauTau/python/proto/samples/phys14/ewk.py b/CMGTools/H2TauTau/python/proto/samples/phys14/ewk.py new file mode 100644 index 000000000000..9036430edd57 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/samples/phys14/ewk.py @@ -0,0 +1,234 @@ +import CMGTools.RootTools.fwlite.Config as cfg + +DYJets = cfg.MCComponent( + name = 'DYJets', + files = [], + xSection = 2008.4*3., + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +DY1Jets = cfg.MCComponent( + name = 'DY1Jets', + files = [], + xSection = 561.0, + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +DY2Jets = cfg.MCComponent( + name = 'DY2Jets', + files = [], + xSection = 181., + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +DY3Jets = cfg.MCComponent( + name = 'DY3Jets', + files = [], + xSection = 51.1, + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +DY4Jets = cfg.MCComponent( + name = 'DY4Jets', + files = [], + xSection = 23.04, + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +WJets = cfg.MCComponent( + name = 'WJets', + files = [], + xSection = 36257.2 , + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +W1234Jets = cfg.MCComponent( + name = 'W1234Jets', + files = [], + xSection = 9401.8, + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +W1Jets = cfg.MCComponent( + name = 'W1Jets', + files = [], + xSection = 6440.4, #PG inclusive scaled according to LO XS + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +W2Jets = cfg.MCComponent( + name = 'W2Jets', + files = [], + xSection = 2087.2, #PG inclusive scaled according to LO XS + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +W3Jets = cfg.MCComponent( + name = 'W3Jets', + files = [], + xSection = 619.0, #PG inclusive scaled according to LO XS + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +W1Jets_ext = cfg.MCComponent( + name = 'W1Jets_ext', + files = [], + xSection = 6440.4, #PG inclusive scaled according to LO XS + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +W2Jets_ext = cfg.MCComponent( + name = 'W2Jets_ext', + files = [], + xSection = 2087.2, #PG inclusive scaled according to LO XS + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +W3Jets_ext = cfg.MCComponent( + name = 'W3Jets_ext', + files = [], + xSection = 619.0, #PG inclusive scaled according to LO XS + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +W4Jets = cfg.MCComponent( + name = 'W4Jets', + files = [], + xSection = 255.2, #PG inclusive scaled according to LO XS + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +TTJets = cfg.MCComponent( + name = 'TTJets', + files = [], + xSection = 228.4, # correction factor from Valentina removed as it depends on the jet binning + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +TTJetsFullLept = cfg.MCComponent( + name = 'TTJetsFullLept', + files = [], + xSection = 249.5*0.96*(1-0.676)*(1-0.676), # TOP-12-007 + Valentina's SF + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +TTJetsSemiLept = cfg.MCComponent( + name = 'TTJetsSemiLept', + files = [], + xSection = 249.5*0.96*(1-0.676)*0.676*2, # TOP-12-007 + Valentina's SF + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +TTJetsHadronic = cfg.MCComponent( + name = 'TTJetsHadronic', + files = [], + xSection = 249.5*0.96*0.676*0.676, # TOP-12-007 + Valentina's SF + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +T_tW = cfg.MCComponent( + name = 'T_tW', + files = [], + xSection = 11.1, # from the sync twiki + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + +Tbar_tW = cfg.MCComponent( + name = 'Tbar_tW', + files = [], + xSection = 11.1, # from the sync twiki + nGenEvents = 1, + triggers = [], + effCorrFactor = 1 ) + + + +mc_dy = [ + DYJets, + DY1Jets, + DY2Jets, + DY3Jets, + DY4Jets, + ] + +mc_w = [ + WJets, + W1234Jets, + W1Jets, + W2Jets, + W3Jets, + W4Jets, + ] + +mc_w_ext = [ + W1Jets_ext, + W2Jets_ext, + W3Jets_ext, + ] + +t_mc_ewk = [ + TTJets, + T_tW, + Tbar_tW, + TTJetsFullLept, + TTJetsSemiLept, + TTJetsHadronic, + ] + + +mc_ewk = [] +mc_ewk += mc_dy +mc_ewk += mc_w +mc_ewk += t_mc_ewk + + +# for backward compatibility: +ztt_mc_ewk = mc_dy +ztt_inc_mc_ewk = [DYJets] +w_mc_ewk = mc_w + + +#stitching: + +# from COLIN, measured on inclusive DYJets sample, before any selection. +dy_fractions = [ 0.72328, + 0.188645, + 0.0613196, + 0.0188489, + 0.00790643 + ] + +for dy in mc_dy: + dy.fractions = dy_fractions + + +# from Jose +w_fractions = [ 0.74392452, + 0.175999, + 0.0562617, + 0.0168926, + 0.00692218 + ] + +for w in mc_w + mc_w_ext: + w.fractions = w_fractions + diff --git a/CMGTools/H2TauTau/python/proto/samples/phys14/higgs.py b/CMGTools/H2TauTau/python/proto/samples/phys14/higgs.py new file mode 100644 index 000000000000..aba22aaa75b4 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/samples/phys14/higgs.py @@ -0,0 +1,150 @@ +import copy +import re +import PhysicsTools.HeppyCore.framework.config as cfg +from CMGTools.RootTools.yellowreport.YRParser import yrparser13TeV +# from CMGTools.H2TauTau.proto.samples.sampleShift import sampleShift + + +HiggsVBF125 = cfg.MCComponent( + name = 'HiggsVBF125', + files = [], + xSection = None, + nGenEvents = 0, + triggers = [], + effCorrFactor = 1 ) + + + +############# Gluon fusion ############### + + +HiggsGGH125 = cfg.MCComponent( + name = 'HiggsGGH125', + files = [], + xSection = None, + nGenEvents = 0, + triggers = [], + effCorrFactor = 1 ) + + + + +############# VH ############### + + + +HiggsVH125 = cfg.MCComponent( + name = 'HiggsVH125', + files = [], + xSection = None, + nGenEvents = 0, + triggers = [], + effCorrFactor = 1 ) + + +############# TTH ############### + +HiggsTTHInclusive125 = cfg.MCComponent( + name = 'HiggsTTHInclusive125', + files = [], + xSection = None, + nGenEvents = 0, + triggers = [], + effCorrFactor = 1 ) + + + +HiggsVBFtoWW125 = cfg.MCComponent( + name = 'HiggsVBFtoWW125', + files = [], + xSection = None, + nGenEvents = 0, + triggers = [], + effCorrFactor = 1 ) + +HiggsGGHtoWW125 = cfg.MCComponent( + name = 'HiggsGGHtoWW125', + files = [], + xSection = None, + nGenEvents = 0, + triggers = [], + effCorrFactor = 1 ) + +HiggsVHtoWW125 = cfg.MCComponent( + name = 'HiggsVHtoWW125', + files = [], + xSection = None, + nGenEvents = 0, + triggers = [], + effCorrFactor = 1 ) + + + +############# + +mc_higgs_vbf = [ + HiggsVBF125, + HiggsVBFtoWW125, + ] + +mc_higgs_ggh = [ + HiggsGGH125, + HiggsGGHtoWW125, + ] + +mc_higgs_vh = [ + HiggsVH125, + HiggsVHtoWW125 + ] + +mc_higgs_tth = [ + HiggsTTHInclusive125 +] + +mc_higgs = copy.copy( mc_higgs_vbf ) +mc_higgs.extend( mc_higgs_ggh ) +mc_higgs.extend( mc_higgs_vh ) +mc_higgs.extend( mc_higgs_tth ) + + +pattern = re.compile('Higgs(\D+)(\d+)') +for h in mc_higgs: + m = pattern.match( h.name ) + process = m.group(1) + + isToWW = False + isInclusive = False + if 'toWW' in process : + process = process.replace('toWW', '') + isToWW = True + if 'Inclusive' in process: + process = process.replace('Inclusive', '') + isInclusive = True + + mass = float(m.group(2)) + xSection = 0. + try: + if process == 'VH': + xSection += yrparser13TeV.get(mass)['WH']['sigma'] + xSection += yrparser13TeV.get(mass)['ZH']['sigma'] + else: + xSection += yrparser13TeV.get(mass)[process]['sigma'] + except KeyError: + print 'Higgs mass', mass, 'not found in cross section tables. Interpolating linearly at +- 1 GeV...' + if process=='VH': + xSection += 0.5 * (yrparser13TeV.get(mass-1.)['WH']['sigma'] + xSection + yrparser13TeV.get(mass+1.)['WH']['sigma']) + xSection += 0.5 * (yrparser13TeV.get(mass-1.)['ZH']['sigma'] + yrparser13TeV.get(mass+1.)['ZH']['sigma']) + else: + xSection += 0.5 * (yrparser13TeV.get(mass-1.)[process]['sigma'] + yrparser13TeV.get(mass+1.)[process]['sigma']) + + if isToWW : + br = yrparser13TeV.get(mass)['H2B']['WW'] + elif isInclusive: + br = 1. + else : + br = yrparser13TeV.get(mass)['H2F']['tautau'] + + h.xSection = xSection*br + h.branchingRatio = br + print h.name, 'sigma*br =', h.xSection, 'sigma =', xSection, 'br =', h.branchingRatio + diff --git a/CMGTools/H2TauTau/python/proto/samples/phys14/qcd.py b/CMGTools/H2TauTau/python/proto/samples/phys14/qcd.py new file mode 100644 index 000000000000..7ccc802401cb --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/samples/phys14/qcd.py @@ -0,0 +1,82 @@ +import CMGTools.RootTools.fwlite.Config as cfg + +QCDEM10to20 = cfg.MCComponent( + name = 'QCDEM10to20', + files = [] , + xSection = 1. , + nGenEvents = 1 , + triggers = [] , + effCorrFactor = 1 + ) + +QCDEM20to30 = cfg.MCComponent( + name = 'QCDEM20to30', + files = [] , + xSection = 1. , + nGenEvents = 1 , + triggers = [] , + effCorrFactor = 1 + ) + +QCDEM30to80 = cfg.MCComponent( + name = 'QCDEM30to80', + files = [] , + xSection = 1. , + nGenEvents = 1 , + triggers = [] , + effCorrFactor = 1 + ) + +QCDEM80to170 = cfg.MCComponent( + name = 'QCDEM80to170', + files = [] , + xSection = 1. , + nGenEvents = 1 , + triggers = [] , + effCorrFactor = 1 + ) + +QCDMu30to50 = cfg.MCComponent( + name = 'QCDMu30to50', + files = [] , + xSection = 1. , + nGenEvents = 1 , + triggers = [] , + effCorrFactor = 1 + ) + +QCDMu50to80 = cfg.MCComponent( + name = 'QCDMu50to80', + files = [] , + xSection = 1. , + nGenEvents = 1 , + triggers = [] , + effCorrFactor = 1 + ) + +QCDMu80to120 = cfg.MCComponent( + name = 'QCDMu80to120', + files = [] , + xSection = 1. , + nGenEvents = 1 , + triggers = [] , + effCorrFactor = 1 + ) + +mc_qcd_em = [ + QCDEM10to20 , + QCDEM20to30 , + QCDEM30to80 , + QCDEM80to170, + ] + +mc_qcd_mu = [ + QCDMu30to50 , + QCDMu50to80 , + QCDMu80to120, + ] + +mc_qcd = [] +mc_qcd += mc_qcd_em +mc_qcd += mc_qcd_mu + diff --git a/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_muEle.py b/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_muEle.py new file mode 100644 index 000000000000..2a880264c397 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_muEle.py @@ -0,0 +1,11 @@ +data_triggers = [ + ] + + +mc_triggers = [ + 'HLT_Mu23_TrkIsoVVL_Ele12_Gsf_CaloId_TrackId_Iso_MediumWP_v1', + 'HLT_Mu8_TrkIsoVVL_Ele23_Gsf_CaloId_TrackId_Iso_MediumWP_v1' + ] + +embed_triggers = [ + ] diff --git a/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_tauEle.py b/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_tauEle.py new file mode 100644 index 000000000000..dfecd6748582 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_tauEle.py @@ -0,0 +1,11 @@ +data_triggers = [ + ] + + +mc_triggers = [ + 'HLT_Ele22_eta2p1_WP85_Gsf_LooseIsoPFTau20_v1', + 'HLT_Ele27_eta2p1_WP85_Gsf_v1' + ] + +embed_triggers = [ + ] diff --git a/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_tauMu.py b/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_tauMu.py new file mode 100644 index 000000000000..5636969bb8c4 --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_tauMu.py @@ -0,0 +1,11 @@ +data_triggers = [ + ] + + +mc_triggers = [ + 'HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v1', + 'HLT_IsoMu24_eta2p1_IterTrk02_v1' + ] + +embed_triggers = [ + ] diff --git a/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_tauTau.py b/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_tauTau.py new file mode 100644 index 000000000000..4180e3e8ec1e --- /dev/null +++ b/CMGTools/H2TauTau/python/proto/samples/phys14/triggers_tauTau.py @@ -0,0 +1,10 @@ +data_triggers = [ + ] + + +mc_triggers = [ + 'HLT_DoubleMediumIsoPFTau40_Trk1_eta2p1_Reg_v1' + ] + +embed_triggers = [ + ] diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/computeLumi.py b/CMGTools/H2TauTau/python/proto/samples/run2011/computeLumi.py deleted file mode 100644 index 38000ecb8648..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/computeLumi.py +++ /dev/null @@ -1,19 +0,0 @@ -import os - -def computeLumi(comp, test=True): - lumiCalc = 'lumiCalc2.py' - for trigpat in comp.triggers: - trigbase = trigpat.replace('*','X') - trigre = trigpat.replace('*','.*') - cmd = 'nohup {lumiCalc} -i {json} recorded --hltpath {trigpat} | grep -E "{trigre}" > {name}_{trigbase}.txt &'.format( - name = comp.name, - lumiCalc = lumiCalc, - json = comp.json, - trigpat = trigpat, - trigbase = trigbase, - trigre = trigre - ) - print cmd - if not test: - os.system(cmd) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/data.py b/CMGTools/H2TauTau/python/proto/samples/run2011/data.py deleted file mode 100644 index c7af9c27595e..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/data.py +++ /dev/null @@ -1,66 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg - -#COLIN: I'm not completely sure we should use the jsons in our package. -# what about using the official ones? At least, one should check if it makes any difference - -jsondir = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions11/7TeV' -promptjson = '/'.join([jsondir, 'Prompt/Cert_160404-180252_7TeV_PromptReco_Collisions11_JSON.txt']) - - -data_Run2011A_May10ReReco_v1 = cfg.DataComponent( - name = 'data_Run2011A_May10ReReco_v1', - files = [], - intLumi = 168.59, # 215.63, 168.59 ... this is because we should start from run 163262, as - # before the tau trigger is bugged - triggers = [], - json = '/'.join([jsondir, 'Reprocessing/Cert_160404-163869_7TeV_May10ReReco_Collisions11_JSON_v3.txt']) - ) - -data_Run2011A_PromptReco_v4 = cfg.DataComponent( - name = 'data_Run2011A_PromptReco_v4', - files = [], - intLumi = 951.426, # 955.212 (Pietro) - triggers = [], - json = promptjson - ) - -data_Run2011A_05Aug2011_v1 = cfg.DataComponent( - name = 'data_Run2011A_05Aug2011_v1', - files = [], - intLumi = 383.798, # 389.876 (Pietro) - triggers = [], - json = '/'.join([jsondir, 'Reprocessing/Cert_170249-172619_7TeV_ReReco5Aug_Collisions11_JSON_v3.txt']) - ) - -data_Run2011A_03Oct2011_v1 = cfg.DataComponent( - name = 'data_Run2011A_03Oct2011_v1', - files = [], - intLumi = 696.471, #706.7 (Pietro) - triggers = [], - json = promptjson - ) - -data_Run2011B_PromptReco_v1 = cfg.DataComponent( - name = 'data_Run2011B_PromptReco_v1', - files = [], - intLumi = 2714.0, #same (Pietro) - triggers = [], - json = promptjson - ) - - -data_list_2011A = [ - data_Run2011A_May10ReReco_v1, - data_Run2011A_PromptReco_v4, - data_Run2011A_05Aug2011_v1, - data_Run2011A_03Oct2011_v1 - ] - -data_list_2011B = [ - data_Run2011B_PromptReco_v1 - ] - -data_list_2011 = copy.copy( data_list_2011A ) -data_list_2011.extend( data_list_2011B ) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/data_diTau.py b/CMGTools/H2TauTau/python/proto/samples/run2011/data_diTau.py deleted file mode 100644 index b42009868e1c..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/data_diTau.py +++ /dev/null @@ -1,62 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg - -H2TauTauPackage = '/'.join( [ os.environ['CMSSW_BASE'], - 'src/CMGTools/H2TauTau' ] ) - - -data_Run2011A_May10ReReco_v1 = cfg.DataComponent( - name = 'data_Run2011A_May10ReReco_v1', - files = [], - intLumi = 168.538, - triggers = [], - json = '{H2TauTauPackage}/json/finalTauPlusXMay.txt'.format(H2TauTauPackage=H2TauTauPackage) - ) - -data_Run2011A_PromptReco_v4 = cfg.DataComponent( - name = 'data_Run2011A_PromptReco_v4', - files = [], - intLumi = 955.001, - triggers = [], - json = '{H2TauTauPackage}/json/finalTauPlusXv4.txt'.format(H2TauTauPackage=H2TauTauPackage) - ) - -data_Run2011A_05Aug2011_v1 = cfg.DataComponent( - name = 'data_Run2011A_05Aug2011_v1', - files = [], - intLumi = 386.825, - triggers = [], - json = '{H2TauTauPackage}/json/finalTauPlusXAug5.txt'.format(H2TauTauPackage=H2TauTauPackage) - ) - -data_Run2011A_PromptReco_v6 = cfg.DataComponent( - name = 'data_Run2011A_PromptReco_v6', - files = [], - intLumi = 701.129, - triggers = [], - json = '{H2TauTauPackage}/json/finalTauPlusXOct3.txt'.format(H2TauTauPackage=H2TauTauPackage) - ) - -data_Run2011B_PromptReco_v1 = cfg.DataComponent( - name = 'data_Run2011B_PromptReco_v1', - files = [], - intLumi = 2706.0, - triggers = [], - json = '{H2TauTauPackage}/json/finalTauPlusX2011B.txt'.format(H2TauTauPackage=H2TauTauPackage) - ) - - -data_list_2011A = [ - data_Run2011A_May10ReReco_v1, - data_Run2011A_PromptReco_v4, - data_Run2011A_05Aug2011_v1, - #data_Run2011A_PromptReco_v6 - ] - -data_list_2011B = [ - #data_Run2011B_PromptReco_v1 - ] - -data_list_2011 = copy.copy( data_list_2011A ) -data_list_2011.extend( data_list_2011B ) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/data_dimuon.py b/CMGTools/H2TauTau/python/proto/samples/run2011/data_dimuon.py deleted file mode 100644 index a8f2b0b0e504..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/data_dimuon.py +++ /dev/null @@ -1,28 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg - -# total 5.05 from Cris, using Nov08 re-reco JSON. -# I'm now using the PR JSON... - -totLum = 5050 - -data_Run2011A = cfg.DataComponent( - name = 'data_Run2011A', - files = [], - intLumi = totLum / 2., # just sharing the total lumi arbitrarily - triggers = [], - json = None - ) - -data_Run2011B = cfg.DataComponent( - name = 'data_Run2011B', - files = [], - intLumi = totLum / 2., - triggers = [], - json = None - ) - - - -data_list_2011 = [data_Run2011A, data_Run2011B] diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/density.py b/CMGTools/H2TauTau/python/proto/samples/run2011/density.py deleted file mode 100644 index 45314478e8fc..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/density.py +++ /dev/null @@ -1,23 +0,0 @@ -def isLowDensity(component): - nfiles = len(component.files) - return nfiles>200 and \ - component.dataset_entries/float(nfiles)<500 - - -def groupingProposal(component, nperfile): - nfiles = len(component.files) - cnpf = component.dataset_entries / float(nfiles) - grouping = int(nperfile / cnpf) - res = dict( name = component.name, - entries = component.dataset_entries, - grouping = grouping, - entriespergroup = cnpf * grouping, - njobs = nfiles / grouping - ) - return res - - -def density(components, npf = 5e3): - big = filter( isLowDensity, components ) - for c in big: - print groupingProposal(c, npf) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/diMu_ColinNov6.py b/CMGTools/H2TauTau/python/proto/samples/run2011/diMu_ColinNov6.py deleted file mode 100644 index 33418209b10d..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/diMu_ColinNov6.py +++ /dev/null @@ -1,48 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.H2TauTau.tools.jsonPick import jsonPick - -from CMGTools.H2TauTau.proto.samples.run2011.data_dimuon import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * - -aliases = { - '/DYJetsToLL_TuneZ2_M-50_7TeV.*START42.*/VertexWeight':'DYJets', -## '/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola.*START42.*':'WJets', -## '/W1Jet.*START42.*':'W1Jets', -## '/W2Jets.*START42.*':'W2Jets', -## '/W3Jets.*START42.*':'W3Jets', -## '/W4Jets.*START42.*':'W4Jets', - '/DoubleMu/Run2011B-16Jan2012-v1/AOD/V5/PAT_CMG_V5_6_0_B$':'data_Run2011B', - '/DoubleMu/Run2011A-16Jan2012-v1/AOD/V5/PAT_CMG_V5_6_0_B$':'data_Run2011A', - '/TTJets.*START42.*/VertexWeight':'TTJets', - '/WWJetsTo2L2Nu.*START42.*/VertexWeight':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*/VertexWeight':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*/VertexWeight':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*/VertexWeight':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*/VertexWeight':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START42.*/VertexWeight':'ZZJetsTo4L', - } - - -data_list = data_list_2011 - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) - -connect( allsamples, '%PAT_CMG_V5_6_0_B%', 'cmgTuple.*root', aliases, cache=True, verbose=False) - -for c in allsamples: - c.splitFactor = splitFactor(c, nEventsPerJob=2e5) - -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0]) - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_Apr10.py b/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_Apr10.py deleted file mode 100644 index ec92c49e9f95..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_Apr10.py +++ /dev/null @@ -1,96 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data_diTau import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.mc_fall11 import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * -from CMGTools.H2TauTau.proto.samples.run2011.triggers_diTau import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -aod = 'V2' -pat = 'PAT_CMG_V2_5_0' -htt = 'DITAU_loosee' -filePattern = 'diTau.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -#data_Run2011A_May10ReReco_v1.files = getFiles('/Tau/Run2011A-May10ReReco-v1/AOD/V4/PAT_CMG_V4_0_0/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) - -#data_Run2011A_PromptReco_v4.files = getFiles('/Tau/Run2011A-PromptReco-v4/AOD/V4/PAT_CMG_V4_0_0/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) - -#data_Run2011A_05Aug2011_v1.files = getFiles('/Tau/Run2011A-05Aug2011-v1/AOD/V4/PAT_CMG_V4_0_0/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) - -#data_Run2011A_PromptReco_v6.files = getFiles('/Tau/Run2011A-PromptReco-v6/AOD/V4/PAT_CMG_V4_0_0/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) - -#data_Run2011B_PromptReco_v1.files = getFiles('/Tau/Run2011B-PromptReco-v1/AOD/V4/PAT_CMG_V4_0_0/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) - -# Embedded samples -------------------------------------------------------------------- - -## embed_Run2011A_May10ReReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011A_PromptReco_v4.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011A_05Aug2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011A_03Oct2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011B_PromptReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) -DYJets.nGenEvents = 36209629 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) -WJets.nGenEvents = 81345381 - -TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) -TTJets.nGenEvents = 3701947 - -#QCD15.files = getFiles('/QCD_Pt-15to30_TuneZ2_7TeV_pythia6/Fall11-PU_S6_START42_V14B-v3/AODSIM/V4/PAT_CMG_V4_0_0/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) -#QCD15.nGenEvents = 10991904 - -#QCD30.files = getFiles('/QCD_Pt-30to50_TuneZ2_7TeV_pythia6/Fall11-PU_S6_START42_V14B-v3/AODSIM/V4/PAT_CMG_V4_0_0/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) -#QCD30.nGenEvents = 6583068 - -#QCD50.files = getFiles('/QCD_Pt-50to80_TuneZ2_7TeV_pythia6/Fall11-PU_S6_START42_V14B-v2/AODSIM/V4/PAT_CMG_V4_0_0/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) -#QCD50.nGenEvents = 6600000 - -#QCD80.files = getFiles('/QCD_Pt-80to120_TuneZ2_7TeV_pythia6/Fall11-PU_S6_START42_V14B-v3/AODSIM/V4/PAT_CMG_V4_0_0/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) -#QCD80.nGenEvents = 6581772 - -ggHTT125.files = getFiles('/GluGluToHToTauTau_M-125_7TeV-powheg-pythia6/Summer11-PU_S4_START42_V11-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) -ggHTT125.nGenEvents = 199986 - -VBFHTT125.files = getFiles('/VBF_HToTauTau_M-125_7TeV-powheg-pythia6-tauola/Summer11-PU_S4_START42_V11-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'hinzmann', filePattern) -VBFHTT125.nGenEvents = 198612 - - -# Higgs Summer11 ---------------------------------------------------------------------------- - -# not available yet - - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_June1.py b/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_June1.py deleted file mode 100644 index 05f466493b34..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_June1.py +++ /dev/null @@ -1,314 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data_diTau import * -# from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * - -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -#from CMGTools.RootTools.yellowreport.YRParser import yrparser - -Higgsgg110 = cfg.MCComponent( - name = 'Higgsgg110', - files = [], - xSection = 19.84*6.37e-2, - nGenEvents = 199988, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg115 = cfg.MCComponent( - name = 'Higgsgg115', - files = [], - xSection = 18.13*6.37e-2, - nGenEvents = 196002, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg120 = cfg.MCComponent( - name = 'Higgsgg120', - files = [], - xSection = 16.63*6.37e-2, - nGenEvents = 199981, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg125 = cfg.MCComponent( - name = 'Higgsgg125', - files = [], - xSection = 15.31*6.37e-2, - nGenEvents = 199986, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg130 = cfg.MCComponent( - name = 'Higgsgg130', - files = [], - xSection = 14.12*6.37e-2, - nGenEvents = 199985, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg135 = cfg.MCComponent( - name = 'Higgsgg135', - files = [], - xSection = 13.08*6.37e-2, - nGenEvents = 198571, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg140 = cfg.MCComponent( - name = 'Higgsgg140', - files = [], - xSection = 12.13*6.37e-2, - nGenEvents = 191549, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg145 = cfg.MCComponent( - name = 'Higgsgg145', - files = [], - xSection = 11.27*6.37e-2, - nGenEvents = 199981, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF110 = cfg.MCComponent( - name = 'HiggsVBF110', - files = [], - xSection = 1.398*6.37e-2, - nGenEvents = 198435, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF115 = cfg.MCComponent( - name = 'HiggsVBF115', - files = [], - xSection = 1.332*6.37e-2, - nGenEvents = 198051, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF120 = cfg.MCComponent( - name = 'HiggsVBF120', - files = [], - xSection = 1.263*6.37e-2, - nGenEvents = 198632, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF125 = cfg.MCComponent( - name = 'HiggsVBF125', - files = [], - xSection = 1.211*6.37e-2, - nGenEvents = 198612, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF130 = cfg.MCComponent( - name = 'HiggsVBF130', - files = [], - xSection = 1.154*6.37e-2, - nGenEvents = 197236, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF135 = cfg.MCComponent( - name = 'HiggsVBF135', - files = [], - xSection = 1.100*6.37e-2, - nGenEvents = 198682, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF140 = cfg.MCComponent( - name = 'HiggsVBF140', - files = [], - xSection = 1.052*6.37e-2, - nGenEvents = 193846, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF145 = cfg.MCComponent( - name = 'HiggsVBF145', - files = [], - xSection = 1.004*6.37e-2, - nGenEvents = 197095, - triggers = [], - effCorrFactor = 1 ) - - - -mc_higgs_gg = [ - Higgsgg110, - Higgsgg115, - Higgsgg120, - Higgsgg125, - Higgsgg130, - Higgsgg135, - Higgsgg140, - Higgsgg145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['gg']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_vbf = [ - HiggsVBF110, - HiggsVBF115, - HiggsVBF120, - HiggsVBF125, - HiggsVBF130, - HiggsVBF135, - HiggsVBF140, - HiggsVBF145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['VBF']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs = copy.copy( mc_higgs_gg ) + copy.copy( mc_higgs_vbf ) - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_diTau import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -user = 'hinzmann' -aod = 'V5' -pat = 'PAT_CMG_V5_4_1' -htt = 'H2TAUTAU_hinzmann1June12' -filePattern = 'diTau.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/Tau/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/Tau/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/Tau/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# data_Run2011A_PromptReco_v6.files = getFiles('/Tau/Run2011A-PromptReco-v6/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# data_Run2011B_PromptReco_v1.files = getFiles('/Tau/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# Embedded samples -------------------------------------------------------------------- - -## embed_Run2011A_May10ReReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_PromptReco_v4.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_05Aug2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_03Oct2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011B_PromptReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 36209629 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 - -W3Jets = cfg.MCComponent( - name = 'W3Jets', - files = getFiles('/W3Jets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - xSection = 304.0, - nGenEvents = 7541595*1.99724/2.0, - triggers = [], - effCorrFactor = 1 ) - -#TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 59613991 - -WW = cfg.MCComponent( - name = 'WW', - files = [], - xSection = 43., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WW.files = getFiles('/WW_TuneZ2_7TeV_pythia6_tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WW.nGenEvents = 4225916 - -WZ = cfg.MCComponent( - name = 'WZ', - files = [], - xSection = 18.2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZ.files = getFiles('/WZ_TuneZ2_7TeV_pythia6_tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WZ.nGenEvents = 4265243 - -ZZ = cfg.MCComponent( - name = 'ZZ', - files = [], - xSection = 5.9, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZ.files = getFiles('/ZZ_TuneZ2_7TeV_pythia6_tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -ZZ.nGenEvents = 4191045 - -# Higgs Summer11 ---------------------------------------------------------------------------- - -Higgsgg110.files = getFiles('/GluGluToHToTauTau_M-110_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg115.files = getFiles('/GluGluToHToTauTau_M-115_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg120.files = getFiles('/GluGluToHToTauTau_M-120_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg130.files = getFiles('/GluGluToHToTauTau_M-130_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg135.files = getFiles('/GluGluToHToTauTau_M-135_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg140.files = getFiles('/GluGluToHToTauTau_M-140_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg145.files = getFiles('/GluGluToHToTauTau_M-145_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF140.files = getFiles('/VBF_HToTauTau_M-140_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF145.files = getFiles('/VBF_HToTauTau_M-145_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -mc_fall11 = copy.copy( mc_ewk ) -mc_fall11.extend( mc_higgs ) -mc_fall11.extend([WW, WZ, ZZ]) - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_June5.py b/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_June5.py deleted file mode 100644 index 7ec78f34b760..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_June5.py +++ /dev/null @@ -1,314 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data_diTau import * -# from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * - -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -#from CMGTools.RootTools.yellowreport.YRParser import yrparser - -Higgsgg110 = cfg.MCComponent( - name = 'Higgsgg110', - files = [], - xSection = 19.84*6.37e-2, - nGenEvents = 199988, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg115 = cfg.MCComponent( - name = 'Higgsgg115', - files = [], - xSection = 18.13*6.37e-2, - nGenEvents = 196002, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg120 = cfg.MCComponent( - name = 'Higgsgg120', - files = [], - xSection = 16.63*6.37e-2, - nGenEvents = 199981, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg125 = cfg.MCComponent( - name = 'Higgsgg125', - files = [], - xSection = 15.31*6.37e-2, - nGenEvents = 199986, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg130 = cfg.MCComponent( - name = 'Higgsgg130', - files = [], - xSection = 14.12*6.37e-2, - nGenEvents = 199985, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg135 = cfg.MCComponent( - name = 'Higgsgg135', - files = [], - xSection = 13.08*6.37e-2, - nGenEvents = 198571, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg140 = cfg.MCComponent( - name = 'Higgsgg140', - files = [], - xSection = 12.13*6.37e-2, - nGenEvents = 191549, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg145 = cfg.MCComponent( - name = 'Higgsgg145', - files = [], - xSection = 11.27*6.37e-2, - nGenEvents = 199981, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF110 = cfg.MCComponent( - name = 'HiggsVBF110', - files = [], - xSection = 1.398*6.37e-2, - nGenEvents = 198435, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF115 = cfg.MCComponent( - name = 'HiggsVBF115', - files = [], - xSection = 1.332*6.37e-2, - nGenEvents = 198051, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF120 = cfg.MCComponent( - name = 'HiggsVBF120', - files = [], - xSection = 1.263*6.37e-2, - nGenEvents = 198632, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF125 = cfg.MCComponent( - name = 'HiggsVBF125', - files = [], - xSection = 1.211*6.37e-2, - nGenEvents = 198612, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF130 = cfg.MCComponent( - name = 'HiggsVBF130', - files = [], - xSection = 1.154*6.37e-2, - nGenEvents = 197236, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF135 = cfg.MCComponent( - name = 'HiggsVBF135', - files = [], - xSection = 1.100*6.37e-2, - nGenEvents = 198682, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF140 = cfg.MCComponent( - name = 'HiggsVBF140', - files = [], - xSection = 1.052*6.37e-2, - nGenEvents = 193846, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF145 = cfg.MCComponent( - name = 'HiggsVBF145', - files = [], - xSection = 1.004*6.37e-2, - nGenEvents = 197095, - triggers = [], - effCorrFactor = 1 ) - - - -mc_higgs_gg = [ - Higgsgg110, - Higgsgg115, - Higgsgg120, - Higgsgg125, - Higgsgg130, - Higgsgg135, - Higgsgg140, - Higgsgg145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['gg']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_vbf = [ - HiggsVBF110, - HiggsVBF115, - HiggsVBF120, - HiggsVBF125, - HiggsVBF130, - HiggsVBF135, - HiggsVBF140, - HiggsVBF145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['VBF']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs = copy.copy( mc_higgs_gg ) + copy.copy( mc_higgs_vbf ) - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_diTau import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -user = 'hinzmann' -aod = 'V5' -pat = 'PAT_CMG_V5_4_1' -htt = 'H2TAUTAU_hinzmann5June12' -filePattern = 'diTau.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/Tau/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/Tau/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/Tau/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# data_Run2011A_PromptReco_v6.files = getFiles('/Tau/Run2011A-PromptReco-v6/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# data_Run2011B_PromptReco_v1.files = getFiles('/Tau/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# Embedded samples -------------------------------------------------------------------- - -## embed_Run2011A_May10ReReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_PromptReco_v4.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_05Aug2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_03Oct2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011B_PromptReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 36209629 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 - -W3Jets = cfg.MCComponent( - name = 'W3Jets', - files = getFiles('/W3Jets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - xSection = 304.0, - nGenEvents = 7541595*1.99724/2.0, - triggers = [], - effCorrFactor = 1 ) - -#TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 59613991 - -WW = cfg.MCComponent( - name = 'WW', - files = [], - xSection = 43., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WW.files = getFiles('/WW_TuneZ2_7TeV_pythia6_tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WW.nGenEvents = 4225916 - -WZ = cfg.MCComponent( - name = 'WZ', - files = [], - xSection = 18.2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZ.files = getFiles('/WZ_TuneZ2_7TeV_pythia6_tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WZ.nGenEvents = 4265243 - -ZZ = cfg.MCComponent( - name = 'ZZ', - files = [], - xSection = 5.9, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZ.files = getFiles('/ZZ_TuneZ2_7TeV_pythia6_tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -ZZ.nGenEvents = 4191045 - -# Higgs Summer11 ---------------------------------------------------------------------------- - -Higgsgg110.files = getFiles('/GluGluToHToTauTau_M-110_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg115.files = getFiles('/GluGluToHToTauTau_M-115_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg120.files = getFiles('/GluGluToHToTauTau_M-120_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg130.files = getFiles('/GluGluToHToTauTau_M-130_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg135.files = getFiles('/GluGluToHToTauTau_M-135_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg140.files = getFiles('/GluGluToHToTauTau_M-140_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg145.files = getFiles('/GluGluToHToTauTau_M-145_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF140.files = getFiles('/VBF_HToTauTau_M-140_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF145.files = getFiles('/VBF_HToTauTau_M-145_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -mc_fall11 = copy.copy( mc_ewk ) -mc_fall11.extend( mc_higgs ) -mc_fall11.extend([WW, WZ, ZZ]) - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_May10.py b/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_May10.py deleted file mode 100644 index 5b3692a00a52..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_May10.py +++ /dev/null @@ -1,306 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data_diTau import * -# from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * - -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -#from CMGTools.RootTools.yellowreport.YRParser import yrparser - -Higgsgg110 = cfg.MCComponent( - name = 'Higgsgg110', - files = [], - xSection = 19.84*6.37e-2, - nGenEvents = 199988, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg115 = cfg.MCComponent( - name = 'Higgsgg115', - files = [], - xSection = 18.13*6.37e-2, - nGenEvents = 196002, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg120 = cfg.MCComponent( - name = 'Higgsgg120', - files = [], - xSection = 16.63*6.37e-2, - nGenEvents = 199981, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg125 = cfg.MCComponent( - name = 'Higgsgg125', - files = [], - xSection = 15.31*6.37e-2, - nGenEvents = 199986, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg130 = cfg.MCComponent( - name = 'Higgsgg130', - files = [], - xSection = 14.12*6.37e-2, - nGenEvents = 199985, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg135 = cfg.MCComponent( - name = 'Higgsgg135', - files = [], - xSection = 13.08*6.37e-2, - nGenEvents = 198571, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg140 = cfg.MCComponent( - name = 'Higgsgg140', - files = [], - xSection = 12.13*6.37e-2, - nGenEvents = 191549, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg145 = cfg.MCComponent( - name = 'Higgsgg145', - files = [], - xSection = 11.27*6.37e-2, - nGenEvents = 199981, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF110 = cfg.MCComponent( - name = 'HiggsVBF110', - files = [], - xSection = 1.398*6.37e-2, - nGenEvents = 198435, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF115 = cfg.MCComponent( - name = 'HiggsVBF115', - files = [], - xSection = 1.332*6.37e-2, - nGenEvents = 198051, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF120 = cfg.MCComponent( - name = 'HiggsVBF120', - files = [], - xSection = 1.263*6.37e-2, - nGenEvents = 198632, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF125 = cfg.MCComponent( - name = 'HiggsVBF125', - files = [], - xSection = 1.211*6.37e-2, - nGenEvents = 198612, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF130 = cfg.MCComponent( - name = 'HiggsVBF130', - files = [], - xSection = 1.154*6.37e-2, - nGenEvents = 197236, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF135 = cfg.MCComponent( - name = 'HiggsVBF135', - files = [], - xSection = 1.100*6.37e-2, - nGenEvents = 198682, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF140 = cfg.MCComponent( - name = 'HiggsVBF140', - files = [], - xSection = 1.052*6.37e-2, - nGenEvents = 193846, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF145 = cfg.MCComponent( - name = 'HiggsVBF145', - files = [], - xSection = 1.004*6.37e-2, - nGenEvents = 197095, - triggers = [], - effCorrFactor = 1 ) - - - -mc_higgs_gg = [ - Higgsgg110, - Higgsgg115, - Higgsgg120, - Higgsgg125, - Higgsgg130, - Higgsgg135, - Higgsgg140, - Higgsgg145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['gg']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_vbf = [ - HiggsVBF110, - HiggsVBF115, - HiggsVBF120, - HiggsVBF125, - HiggsVBF130, - HiggsVBF135, - HiggsVBF140, - HiggsVBF145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['VBF']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs = copy.copy( mc_higgs_gg ) + copy.copy( mc_higgs_vbf ) - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_diTau import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -user = 'hinzmann' -aod = 'V5' -pat = 'PAT_CMG_V5_2_0' -htt = 'H2TAUTAU_hinzmann18May12' -filePattern = 'diTau.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/Tau/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/Tau/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/Tau/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# data_Run2011A_PromptReco_v6.files = getFiles('/Tau/Run2011A-PromptReco-v6/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# data_Run2011B_PromptReco_v1.files = getFiles('/Tau/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# Embedded samples -------------------------------------------------------------------- - -## embed_Run2011A_May10ReReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_PromptReco_v4.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_05Aug2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_03Oct2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011B_PromptReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 36209629 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 - -TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 59613991 - -WW = cfg.MCComponent( - name = 'WW', - files = [], - xSection = 43., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WW.files = getFiles('/WW_TuneZ2_7TeV_pythia6_tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WW.nGenEvents = 4225916 - -WZ = cfg.MCComponent( - name = 'WZ', - files = [], - xSection = 18.2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZ.files = getFiles('/WZ_TuneZ2_7TeV_pythia6_tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WZ.nGenEvents = 4265243 - -ZZ = cfg.MCComponent( - name = 'ZZ', - files = [], - xSection = 5.9, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZ.files = getFiles('/ZZ_TuneZ2_7TeV_pythia6_tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -ZZ.nGenEvents = 4191045 - -# Higgs Summer11 ---------------------------------------------------------------------------- - -Higgsgg110.files = getFiles('/GluGluToHToTauTau_M-110_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg115.files = getFiles('/GluGluToHToTauTau_M-115_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg120.files = getFiles('/GluGluToHToTauTau_M-120_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg130.files = getFiles('/GluGluToHToTauTau_M-130_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg135.files = getFiles('/GluGluToHToTauTau_M-135_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg140.files = getFiles('/GluGluToHToTauTau_M-140_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg145.files = getFiles('/GluGluToHToTauTau_M-145_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF140.files = getFiles('/VBF_HToTauTau_M-140_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF145.files = getFiles('/VBF_HToTauTau_M-145_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -mc_fall11 = copy.copy( mc_ewk ) -mc_fall11.extend( mc_higgs ) -mc_fall11.extend([WW, WZ, ZZ]) - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_march12.py b/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_march12.py deleted file mode 100644 index 74131fd49713..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/diTau_march12.py +++ /dev/null @@ -1,19 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data import * - -aod = 'V3' -pat = 'PAT_CMG_TestMVAs' -htt = 'H2TAUTAU_TestMVAs_Mar12' -filePattern = 'diTau.*fullsel.*root' - - -data_Run2011A_May10ReReco_v1.files = getFiles('/TauPlusX/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/TauPlusX/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/TauPlusX/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011A_03Oct2011_v1.files = getFiles('/TauPlusX/Run2011A-03Oct2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011B_PromptReco_v1.files = getFiles('/TauPlusX/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/diboson.py b/CMGTools/H2TauTau/python/proto/samples/run2011/diboson.py deleted file mode 100644 index fde6c619ac5c..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/diboson.py +++ /dev/null @@ -1,106 +0,0 @@ -import CMGTools.RootTools.fwlite.Config as cfg - -# exclusive madgraph samples -# -- -- -- -- -- -- -- -- - -WWJetsTo2L2Nu = cfg.MCComponent( - name = 'WWJetsTo2L2Nu', - files = [], - xSection = 4.514, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZJetsTo2L2Q = cfg.MCComponent( - name = 'WZJetsTo2L2Q', - files = [], - xSection = 1.243, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZJetsTo3LNu = cfg.MCComponent( - name = 'WZJetsTo3LNu', - files = [], - xSection = 0.596, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZJetsTo2L2Nu = cfg.MCComponent( - name = 'ZZJetsTo2L2Nu', - files = [], - # xSection = 0.119, - xSection = 0.283, # from Andrew, not checked - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZJetsTo2L2Q = cfg.MCComponent( - name = 'ZZJetsTo2L2Q', - files = [], - # xSection = 0.417, - xSection = 0.833, # from Andrew, not checked - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZJetsTo4L = cfg.MCComponent( - name = 'ZZJetsTo4L', - files = [], - xSection = 0.060, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - - -mc_diboson_xcl = [ - WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L - ] - - -# inclusive pythia samples -# -- -- -- -- -- -- -- -- - -WW = cfg.MCComponent( - name = 'WW', - files = [], - xSection = 43., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZ = cfg.MCComponent( - name = 'WZ', - files = [], - xSection = 18.2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZ = cfg.MCComponent( - name = 'ZZ', - files = [], - xSection = 5.9, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - - -mc_diboson = [ - WWJetsTo2L2Nu, - WZJetsTo2L2Q, - WZJetsTo3LNu, - ZZJetsTo2L2Nu, - ZZJetsTo2L2Q, - ZZJetsTo4L, -# WW, -# WZ, -# ZZ - ] - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/embed.py b/CMGTools/H2TauTau/python/proto/samples/run2011/embed.py deleted file mode 100644 index 8e935ab0dcdb..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/embed.py +++ /dev/null @@ -1,58 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg - -jsondir = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions11/7TeV' -promptjson = '/'.join([jsondir, 'Prompt/Cert_160404-180252_7TeV_PromptReco_Collisions11_JSON.txt']) - - -embed_Run2011A_May10ReReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2011A_May10ReReco_v1', - files = [], - triggers = [], - json = '/'.join([jsondir, 'Reprocessing/Cert_160404-163869_7TeV_May10ReReco_Collisions11_JSON_v3.txt']) - ) - -embed_Run2011A_PromptReco_v4 = cfg.EmbedComponent( - name = 'embed_Run2011A_PromptReco_v4', - files = [], - triggers = [], - json = promptjson - ) - -embed_Run2011A_05Aug2011_v1 = cfg.EmbedComponent( - name = 'embed_Run2011A_05Aug2011_v1', - files = [], - triggers = [], - json = '/'.join([jsondir, 'Reprocessing/Cert_170249-172619_7TeV_ReReco5Aug_Collisions11_JSON_v3.txt']) - ) - -embed_Run2011A_03Oct2011_v1 = cfg.EmbedComponent( - name = 'embed_Run2011A_03Oct2011_v1', - files = [], - triggers = [], - json = promptjson - ) - -embed_Run2011B_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2011B_PromptReco_v1', - files = [], - triggers = [], - json = promptjson - ) - - - -embed_list_2011A = [ - embed_Run2011A_May10ReReco_v1, - embed_Run2011A_PromptReco_v4, - embed_Run2011A_05Aug2011_v1, - embed_Run2011A_03Oct2011_v1 - ] - -embed_list_2011B = [ - embed_Run2011B_PromptReco_v1 - ] - -embed_list_2011 = copy.copy( embed_list_2011A ) -embed_list_2011.extend( embed_list_2011B ) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/ewk.py b/CMGTools/H2TauTau/python/proto/samples/run2011/ewk.py deleted file mode 100644 index 6b1327721525..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/ewk.py +++ /dev/null @@ -1,127 +0,0 @@ -import CMGTools.RootTools.fwlite.Config as cfg - -valentinaFactor = 0.95 - -DYJets = cfg.MCComponent( - name = 'DYJets', - files = [], - xSection = 3048. * valentinaFactor, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - - -WJets = cfg.MCComponent( - name = 'WJets', - files = [], - xSection = 31314., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W1Jets = cfg.MCComponent( - name = 'W1Jets', - files = [], - xSection = 1., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W2Jets = cfg.MCComponent( - name = 'W2Jets', - files = [], - xSection = 1., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W3Jets = cfg.MCComponent( - name = 'W3Jets', - files = [], - xSection = 1., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W4Jets = cfg.MCComponent( - name = 'W4Jets', - files = [], - xSection = 1., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -TTJets = cfg.MCComponent( - name = 'TTJets', - files = [], - xSection = 164.4 * valentinaFactor, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -T_s = cfg.MCComponent( - name = 'T_s', - files = [], - xSection = 2.72, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -T_t = cfg.MCComponent( - name = 'T_t', - files = [], - xSection = 42.6, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -T_tW = cfg.MCComponent( - name = 'T_tW', - files = [], - xSection = 5.3, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -Tbar_s = cfg.MCComponent( - name = 'Tbar_s', - files = [], - xSection = 1.49, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -Tbar_t = cfg.MCComponent( - name = 'Tbar_t', - files = [], - xSection = 22., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -Tbar_tW = cfg.MCComponent( - name = 'Tbar_tW', - files = [], - xSection = 5.3, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - - -mc_ewk = [ - DYJets, - WJets, - W1Jets, - W2Jets, - W3Jets, - W4Jets, - TTJets, -# T_s, -# T_t, - T_tW, - Tbar_tW, -# Tbar_s, -# Tbar_t, - ] - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/higgs.py b/CMGTools/H2TauTau/python/proto/samples/run2011/higgs.py deleted file mode 100644 index 2bae69743e0d..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/higgs.py +++ /dev/null @@ -1,300 +0,0 @@ -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.yellowreport.YRParser import yrparser7TeV - -HiggsVBF110 = cfg.MCComponent( - name = 'HiggsVBF110', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF115 = cfg.MCComponent( - name = 'HiggsVBF115', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF120 = cfg.MCComponent( - name = 'HiggsVBF120', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF125 = cfg.MCComponent( - name = 'HiggsVBF125', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF130 = cfg.MCComponent( - name = 'HiggsVBF130', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF135 = cfg.MCComponent( - name = 'HiggsVBF135', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF140 = cfg.MCComponent( - name = 'HiggsVBF140', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF145 = cfg.MCComponent( - name = 'HiggsVBF145', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF150 = cfg.MCComponent( - name = 'HiggsVBF150', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - - -############# Gluon fusion ############### - -HiggsGGH110 = cfg.MCComponent( - name = 'HiggsGGH110', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH115 = cfg.MCComponent( - name = 'HiggsGGH115', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH120 = cfg.MCComponent( - name = 'HiggsGGH120', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH125 = cfg.MCComponent( - name = 'HiggsGGH125', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH130 = cfg.MCComponent( - name = 'HiggsGGH130', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH135 = cfg.MCComponent( - name = 'HiggsGGH135', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH140 = cfg.MCComponent( - name = 'HiggsGGH140', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH145 = cfg.MCComponent( - name = 'HiggsGGH145', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH150 = cfg.MCComponent( - name = 'HiggsGGH150', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - - -############# VH ############### - -HiggsVH110 = cfg.MCComponent( - name = 'HiggsVH110', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH115 = cfg.MCComponent( - name = 'HiggsVH115', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH120 = cfg.MCComponent( - name = 'HiggsVH120', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH125 = cfg.MCComponent( - name = 'HiggsVH125', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH130 = cfg.MCComponent( - name = 'HiggsVH130', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH135 = cfg.MCComponent( - name = 'HiggsVH135', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH140 = cfg.MCComponent( - name = 'HiggsVH140', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH145 = cfg.MCComponent( - name = 'HiggsVH145', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH150 = cfg.MCComponent( - name = 'HiggsVH150', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - - - -############# - -mc_higgs_vbf = [ - HiggsVBF110, - HiggsVBF115, - HiggsVBF120, - HiggsVBF125, - HiggsVBF130, - HiggsVBF135, - HiggsVBF140, - HiggsVBF145, - # HiggsVBF150, - ] - -mc_higgs_ggh = [ - HiggsGGH110, - HiggsGGH115, - HiggsGGH120, - HiggsGGH125, - HiggsGGH130, - HiggsGGH135, - HiggsGGH140, - HiggsGGH145, - # HiggsGGH150, - ] - -mc_higgs_vh = [ - HiggsVH110, - HiggsVH115, - HiggsVH120, - HiggsVH125, - HiggsVH130, - HiggsVH135, - HiggsVH140, - HiggsVH145, - # HiggsVH150, - ] - - -mc_higgs = copy.copy( mc_higgs_vbf ) -mc_higgs.extend( mc_higgs_ggh ) -mc_higgs.extend( mc_higgs_vh ) - - -pattern = re.compile('Higgs(\D+)(\d+)') -for h in mc_higgs: - # import pdb; pdb.set_trace() - m = pattern.match( h.name ) - process = m.group(1) - mass = float(m.group(2)) - xSection = 0. - if process=='VH': - xSection += yrparser7TeV.get(mass)['WH']['sigma'] - xSection += yrparser7TeV.get(mass)['ZH']['sigma'] - else: - xSection += yrparser7TeV.get(mass)[process]['sigma'] - br = yrparser7TeV.get(mass)['H2F']['tautau'] - h.xSection = xSection*br - h.branchingRatio = br - # print h.name, 'sigma*br =', h.xSection, 'sigma =', xSection, 'br =', h.branchingRatio - - -## print 'generating shifted samples' - - -## mc_higgs_up = sampleShift( locals(), mc_higgs, 'Up') -## mc_higgs_down = sampleShift( locals(), mc_higgs, 'Down') - - - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/mc_higgs.py b/CMGTools/H2TauTau/python/proto/samples/run2011/mc_higgs.py deleted file mode 100644 index d2ed8ed47faa..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/mc_higgs.py +++ /dev/null @@ -1,16 +0,0 @@ -import CMGTools.RootTools.fwlite.Config as cfg - - -Hig105 = cfg.MCComponent( - name = 'Hig105', - files = [], - xSection = 1., # dummy - nGenEvents = 1, # dummy - triggers = [], - effCorrFactor = 1 ) - - - -mc_higgs = [ - Hig105 - ] diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/mc_qcdmu.py b/CMGTools/H2TauTau/python/proto/samples/run2011/mc_qcdmu.py deleted file mode 100644 index 2a6f2120fbab..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/mc_qcdmu.py +++ /dev/null @@ -1,27 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg - - -QCDMuH20Pt15 = cfg.MCComponent( - name = 'QCDMuH20Pt15', - files = [], - xSection = 1., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -QCDMuH15to20Pt5 = cfg.MCComponent( - name = 'QCDMuH15to20Pt5', - files = [], - xSection = 1., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - - -mc_qcd = [ - QCDMuH20Pt15, - QCDMuH15to20Pt5, - ] - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/qcd.py b/CMGTools/H2TauTau/python/proto/samples/run2011/qcd.py deleted file mode 100644 index 31e370d2a5dc..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/qcd.py +++ /dev/null @@ -1,41 +0,0 @@ -import CMGTools.RootTools.fwlite.Config as cfg - -QCD15 = cfg.MCComponent( - name = 'QCD15', - files = [], - xSection = 8.159e08, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -QCD30 = cfg.MCComponent( - name = 'QCD30', - files = [], - xSection = 5.312e07, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -QCD50 = cfg.MCComponent( - name = 'QCD50', - files = [], - xSection = 6.359e06, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -QCD80 = cfg.MCComponent( - name = 'QCD80', - files = [], - xSection = 7.843e05, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - - -mc_qcd = [ - QCD15, - QCD30, - QCD50, - QCD80 - ] diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/splitFactor.py b/CMGTools/H2TauTau/python/proto/samples/run2011/splitFactor.py deleted file mode 100644 index cd1777d4487f..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/splitFactor.py +++ /dev/null @@ -1,2 +0,0 @@ -# migrated to RootTools -from CMGTools.RootTools.utils.splitFactor import splitFactor diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_ColinOct31.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_ColinOct31.py deleted file mode 100644 index f4adc8723b3e..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_ColinOct31.py +++ /dev/null @@ -1,72 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauEle import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', - '/WJetsToLNu.*START42.*Merge':'WJets', - '/W1Jet.*START42.*Merge':'W1Jets', - '/W2Jets.*START42.*Merge':'W2Jets', - '/W3Jets.*START42.*Merge':'W3Jets', - '/W4Jets.*START42.*Merge':'W4Jets', - '/TTJets.*START42.*Merge':'TTJets', - '/T_TuneZ2_tW-channel.*START42.*':'T_tW', - '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', - '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-03Oct2011-v1.*Merge':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1.*Merge':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4.*Merge':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1.*Merge':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', - '/WW_TuneZ2.*START42.*':'WW', - '/WZ_TuneZ2.*START42.*':'WZ', - '/ZZ_TuneZ2.*START42.*':'ZZ', - '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -# pat = '/VBF%TAUELE_2011_Colin_Oct25' -# pat = '/VBF%/TAUELE_2011_ColinOct31_Test1' -pat = '%/TAUELE_2011_OK_ColinOct31%' -connect( allsamples, pat, 'tauEle.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Down_ColinDec6.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Down_ColinDec6.py deleted file mode 100644 index ac25f684b528..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Down_ColinDec6.py +++ /dev/null @@ -1,72 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauEle import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', - '/WJetsToLNu.*START42.*Merge':'WJets', - '/W1Jet.*START42.*Merge':'W1Jets', - '/W2Jets.*START42.*Merge':'W2Jets', - '/W3Jets.*START42.*Merge':'W3Jets', - '/W4Jets.*START42.*Merge':'W4Jets', - '/TTJets.*START42.*Merge':'TTJets', - '/T_TuneZ2_tW-channel.*START42.*':'T_tW', - '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', - '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-03Oct2011-v1.*Merge':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1.*Merge':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4.*Merge':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1.*Merge':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', - '/WW_TuneZ2.*START42.*':'WW', - '/WZ_TuneZ2.*START42.*':'WZ', - '/ZZ_TuneZ2.*START42.*':'ZZ', - '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -# pat = '/VBF%TAUELE_2011_Colin_Oct25' -# pat = '/VBF%/TAUELE_2011_ColinOct31_Test1' -pat = '%TAUELE_MetCorInTauScale_Down_Colin_Dec6' -connect( allsamples, pat, 'tauEle.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Down_ColinOct31.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Down_ColinOct31.py deleted file mode 100644 index 07150a4b2155..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Down_ColinOct31.py +++ /dev/null @@ -1,72 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauEle import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', - '/WJetsToLNu.*START42.*Merge':'WJets', - '/W1Jet.*START42.*Merge':'W1Jets', - '/W2Jets.*START42.*Merge':'W2Jets', - '/W3Jets.*START42.*Merge':'W3Jets', - '/W4Jets.*START42.*Merge':'W4Jets', - '/TTJets.*START42.*Merge':'TTJets', - '/T_TuneZ2_tW-channel.*START42.*':'T_tW', - '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', - '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-03Oct2011-v1.*Merge':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1.*Merge':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4.*Merge':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1.*Merge':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', - '/WW_TuneZ2.*START42.*':'WW', - '/WZ_TuneZ2.*START42.*':'WZ', - '/ZZ_TuneZ2.*START42.*':'ZZ', - '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -# pat = '/VBF%TAUELE_2011_Colin_Oct25' -# pat = '/VBF%/TAUELE_2011_ColinOct31_Test1' -pat = '%/TAUELE_2011_Down_ColinOct31%' -connect( allsamples, pat, 'tauEle.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Sync_Colin.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Sync_Colin.py deleted file mode 100644 index 2e89a84bf909..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Sync_Colin.py +++ /dev/null @@ -1,74 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauEle import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', - '/WJetsToLNu.*START42.*Merge':'WJets', - '/W1Jet.*START42.*Merge':'W1Jets', - '/W2Jets.*START42.*Merge':'W2Jets', - '/W3Jets.*START42.*Merge':'W3Jets', - '/W4Jets.*START42.*Merge':'W4Jets', - '/TTJets.*START42.*Merge':'TTJets', - '/T_TuneZ2_tW-channel.*START42.*':'T_tW', - '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', - '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-03Oct2011-v1.*Merge':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1.*Merge':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4.*Merge':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1.*Merge':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', - '/WW_TuneZ2.*START42.*':'WW', - '/WZ_TuneZ2.*START42.*':'WZ', - '/ZZ_TuneZ2.*START42.*':'ZZ', - '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -# pat = '/VBF%TAUELE_2011_Colin_Oct25' -# pat = '/VBF%/TAUELE_2011_ColinOct31_Test1' -# pat = '%TAUELE_MetCorInTauScale_Up_Colin_Dec6' -# pat = '%TAUELE_TestMoriond3_ColinDec10' -pat = '%TAUELE_TestMoriond_FullSVFit_ColinDec11' -connect( allsamples, pat, 'tauEle.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Up_ColinDec6.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Up_ColinDec6.py deleted file mode 100644 index 031a3507198f..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Up_ColinDec6.py +++ /dev/null @@ -1,72 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauEle import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', - '/WJetsToLNu.*START42.*Merge':'WJets', - '/W1Jet.*START42.*Merge':'W1Jets', - '/W2Jets.*START42.*Merge':'W2Jets', - '/W3Jets.*START42.*Merge':'W3Jets', - '/W4Jets.*START42.*Merge':'W4Jets', - '/TTJets.*START42.*Merge':'TTJets', - '/T_TuneZ2_tW-channel.*START42.*':'T_tW', - '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', - '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-03Oct2011-v1.*Merge':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1.*Merge':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4.*Merge':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1.*Merge':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', - '/WW_TuneZ2.*START42.*':'WW', - '/WZ_TuneZ2.*START42.*':'WZ', - '/ZZ_TuneZ2.*START42.*':'ZZ', - '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -# pat = '/VBF%TAUELE_2011_Colin_Oct25' -# pat = '/VBF%/TAUELE_2011_ColinOct31_Test1' -pat = '%TAUELE_MetCorInTauScale_Up_Colin_Dec6' -connect( allsamples, pat, 'tauEle.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Up_ColinOct31.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Up_ColinOct31.py deleted file mode 100644 index 390bbb52184b..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_Up_ColinOct31.py +++ /dev/null @@ -1,72 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauEle import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', - '/WJetsToLNu.*START42.*Merge':'WJets', - '/W1Jet.*START42.*Merge':'W1Jets', - '/W2Jets.*START42.*Merge':'W2Jets', - '/W3Jets.*START42.*Merge':'W3Jets', - '/W4Jets.*START42.*Merge':'W4Jets', - '/TTJets.*START42.*Merge':'TTJets', - '/T_TuneZ2_tW-channel.*START42.*':'T_tW', - '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', - '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-03Oct2011-v1.*Merge':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1.*Merge':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4.*Merge':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1.*Merge':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', - '/WW_TuneZ2.*START42.*':'WW', - '/WZ_TuneZ2.*START42.*':'WZ', - '/ZZ_TuneZ2.*START42.*':'ZZ', - '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -# pat = '/VBF%TAUELE_2011_Colin_Oct25' -# pat = '/VBF%/TAUELE_2011_ColinOct31_Test1' -pat = '%/TAUELE_2011_Up_ColinOct31%' -connect( allsamples, pat, 'tauEle.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_march12.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_march12.py deleted file mode 100644 index 0d4f0ccb77bc..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauEle_march12.py +++ /dev/null @@ -1,79 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.mc_fall11 import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauEle import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -aod = 'V3' -pat = 'PAT_CMG_TestMVAs' -htt = 'H2TAUTAU_TestMVAs_Mar12' -filePattern = 'tauEle.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/TauPlusX/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/TauPlusX/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/TauPlusX/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011A_03Oct2011_v1.files = getFiles('/TauPlusX/Run2011A-03Oct2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011B_PromptReco_v1.files = getFiles('/TauPlusX/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - - -# Embedded samples -------------------------------------------------------------------- - -## embed_Run2011A_May10ReReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011A_PromptReco_v4.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011A_05Aug2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011A_03Oct2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011B_PromptReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V3/{pat}/{htt}'.format(pat=pat, htt=htt), 'cbern', filePattern) -DYJets.nGenEvents = 36209629 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V3/TAUTAU/{pat}/{htt}'.format(pat=pat, htt=htt), 'cbern', filePattern) -WJets.nGenEvents = 81345381 - -TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V3/{pat}/{htt}'.format(pat=pat, htt=htt), 'cbern', filePattern) -TTJets.nGenEvents = 3701947 - - -# Higgs Summer11 ---------------------------------------------------------------------------- - -# not available yet - - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinJul4.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinJul4.py deleted file mode 100644 index 9ee3d80c0d52..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinJul4.py +++ /dev/null @@ -1,52 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -MC = copy.copy( mc_ewk ) -MC.extend( mc_higgs ) -# MC.extend( mc_diboson ) -for sam in MC: - sam.triggers = mc_triggers_fall11 -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -aliases = { - '/VBF_HToTauTau':'HiggsVBF', - '/GluGluToHToTauTau':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau':'HiggsVH', - '/DYJets':'DYJets', - '/WJets':'WJets', - '/W2Jets':'W2Jets', - '/W3Jets':'W3Jets', - '/TTJets':'TTJets', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011_v1':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1':'embed_Run2011B_PromptReco_v1', - '/TauPlusX/Run2011A-03Oct2011-v1':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-05Aug2011-v1':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1':'data_Run2011B_PromptReco_v1' - } - -connect( allsamples, '%TAUMU_Jul3_RelTauPt', 'tauMu.*root', aliases, cache=True) - -TTJets.nGenEvents = 59613991 * 0.1790225 / 0.179171 * 0.99962399999999996 -WJets.nGenEvents = 81345381 * 0.0236105 / 0.023636999999999998 * 0.99954999999999994 - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay12.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay12.py deleted file mode 100644 index f6d714fc98a6..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay12.py +++ /dev/null @@ -1,101 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -user = 'cbern' -aod = 'V5' -pat = 'PAT_CMG_V5_2_0' -htt = 'H2TAUTAU_TauMu_MetRaw_ColinMay12' -filePattern = 'tauMu.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/TauPlusX/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/TauPlusX/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/TauPlusX/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_03Oct2011_v1.files = getFiles('/TauPlusX/Run2011A-03Oct2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011B_PromptReco_v1.files = getFiles('/TauPlusX/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# Embedded samples -------------------------------------------------------------------- - -embed_Run2011A_May10ReReco_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_10May2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_PromptReco_v4.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_05Aug2011_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_03Oct2011_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011B_PromptReco_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 36209629 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/HTTSKIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 - -TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{aod}/HTTSKIM1/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 59613991 - - -# Higgs Summer11 ---------------------------------------------------------------------------- - -# not available yet - -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF110.nGenEvents = 198435 - -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.nGenEvents = 198051 - -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.nGenEvents = 198632 - -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.nGenEvents = 198612 - -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF130.nGenEvents = 197236 - -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF135.nGenEvents = 198682 - -mc_fall11 = copy.copy( mc_ewk ) -mc_fall11.extend( mc_higgs ) - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay15.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay15.py deleted file mode 100644 index d1f72c30f32b..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay15.py +++ /dev/null @@ -1,101 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -user = 'cbern' -aod = 'V5' -pat = 'PAT_CMG_V5_2_0' -htt = 'H2TAUTAU_ColinMay15' -filePattern = 'tauMu.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/TauPlusX/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/TauPlusX/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/TauPlusX/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_03Oct2011_v1.files = getFiles('/TauPlusX/Run2011A-03Oct2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011B_PromptReco_v1.files = getFiles('/TauPlusX/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# Embedded samples -------------------------------------------------------------------- - -embed_Run2011A_May10ReReco_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_10May2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_PromptReco_v4.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_05Aug2011_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_03Oct2011_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011B_PromptReco_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 36209629 * 1.99507512214 / 2. - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/HTTSKIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 - -TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{aod}/HTTSKIM1/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 59613991 - - -# Higgs Summer11 ---------------------------------------------------------------------------- - -# not available yet - -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF110.nGenEvents = 198435 - -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.nGenEvents = 198051 - -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.nGenEvents = 198632 - -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.nGenEvents = 198612 - -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF130.nGenEvents = 197236 - -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF135.nGenEvents = 198682 - -mc_fall11 = copy.copy( mc_ewk ) -mc_fall11.extend( mc_higgs ) - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay18.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay18.py deleted file mode 100644 index 858bf5f8f121..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay18.py +++ /dev/null @@ -1,101 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -user = 'cbern' -aod = 'V5' -pat = 'PAT_CMG_V5_2_0' -htt = 'H2TAUTAU_ColinMay18' -filePattern = 'tauMu.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/TauPlusX/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/TauPlusX/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/TauPlusX/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_03Oct2011_v1.files = getFiles('/TauPlusX/Run2011A-03Oct2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011B_PromptReco_v1.files = getFiles('/TauPlusX/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# Embedded samples -------------------------------------------------------------------- - -embed_Run2011A_May10ReReco_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_10May2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_PromptReco_v4.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_05Aug2011_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_03Oct2011_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011B_PromptReco_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 36209629 * 1.99507512214 / 2. - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/HTTSKIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 - -TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{aod}/HTTSKIM1/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 59613991 - - -# Higgs Summer11 ---------------------------------------------------------------------------- - -# not available yet - -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF110.nGenEvents = 198435 - -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.nGenEvents = 198051 - -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.nGenEvents = 198632 - -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.nGenEvents = 198612 - -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF130.nGenEvents = 197236 - -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF135.nGenEvents = 198682 - -mc_fall11 = copy.copy( mc_ewk ) -mc_fall11.extend( mc_higgs ) - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay18_CHS.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay18_CHS.py deleted file mode 100644 index 77c43465acc7..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinMay18_CHS.py +++ /dev/null @@ -1,101 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -user = 'cbern' -aod = 'V5' -pat = 'PAT_CMG_V5_2_0' -htt = 'H2TAUTAU_ColinMay18_CHS' -filePattern = 'tauMu.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/TauPlusX/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/TauPlusX/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/TauPlusX/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_03Oct2011_v1.files = getFiles('/TauPlusX/Run2011A-03Oct2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011B_PromptReco_v1.files = getFiles('/TauPlusX/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# Embedded samples -------------------------------------------------------------------- - -embed_Run2011A_May10ReReco_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_10May2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_PromptReco_v4.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_05Aug2011_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011A_03Oct2011_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -embed_Run2011B_PromptReco_v1.files = getFiles('/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1_embedded_trans1_tau116_ptmu1_13had1_17_v3-f456bdbb960236e5c696adfe9b04eaae/USER/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 36209629 * 1.99507512214 / 2. - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/HTTSKIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 - -TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{aod}/HTTSKIM1/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 59613991 - - -# Higgs Summer11 ---------------------------------------------------------------------------- - -# not available yet - -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF110.nGenEvents = 198435 - -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.nGenEvents = 198051 - -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.nGenEvents = 198632 - -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.nGenEvents = 198612 - -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF130.nGenEvents = 197236 - -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF135.nGenEvents = 198682 - -mc_fall11 = copy.copy( mc_ewk ) -mc_fall11.extend( mc_higgs ) - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinOct23.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinOct23.py deleted file mode 100644 index c37ec8b54bf9..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinOct23.py +++ /dev/null @@ -1,70 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', - '/WJetsToLNu.*START42.*':'WJets', - '/W1Jet.*START42.*':'W1Jets', - '/W2Jets.*START42.*':'W2Jets', - '/W3Jets.*START42.*':'W3Jets', - '/W4Jets.*START42.*':'W4Jets', - '/TTJets.*START42.*':'TTJets', - '/T_TuneZ2_tW-channel.*START42.*':'T_tW', - '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', - '/TauPlusX/Run2011A-03Oct2011-v1.*':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1.*':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4.*':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011_v1.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011_v1.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', - '/WW_TuneZ2.*START42.*':'WW', - '/WZ_TuneZ2.*START42.*':'WZ', - '/ZZ_TuneZ2.*START42.*':'ZZ', - '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -connect( allsamples, '%TAUMU_2011_Colin_Oct24', 'tauMu.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinOct23_Down.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinOct23_Down.py deleted file mode 100644 index f2802c9d00cb..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinOct23_Down.py +++ /dev/null @@ -1,70 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', -## '/WJetsToLNu.*START42.*':'WJets', -## '/W1Jet.*START42.*':'W1Jets', -## '/W2Jets.*START42.*':'W2Jets', -## '/W3Jets.*START42.*':'W3Jets', -## '/W4Jets.*START42.*':'W4Jets', -## '/TTJets.*START42.*':'TTJets', -## '/T_TuneZ2_tW-channel.*START42.*':'T_tW', -## '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', -## '/TauPlusX/Run2011A-03Oct2011-v1.*':'data_Run2011A_03Oct2011_v1', -## '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', -## '/TauPlusX/Run2011A-May10ReReco-v1.*':'data_Run2011A_May10ReReco_v1', -## '/TauPlusX/Run2011A-PromptReco-v4.*':'data_Run2011A_PromptReco_v4', -## '/TauPlusX/Run2011B-PromptReco-v1':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011_v1.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011_v1.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', -## '/WW_TuneZ2.*START42.*':'WW', -## '/WZ_TuneZ2.*START42.*':'WZ', -## '/ZZ_TuneZ2.*START42.*':'ZZ', -## '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', -## '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', -## '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', -## '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', -## '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', -## '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -connect( allsamples, '%TAUMU_Down_ColinOct30', 'tauMu.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinOct23_Up.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinOct23_Up.py deleted file mode 100644 index 8daf7478a453..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinOct23_Up.py +++ /dev/null @@ -1,70 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', -## '/WJetsToLNu.*START42.*':'WJets', -## '/W1Jet.*START42.*':'W1Jets', -## '/W2Jets.*START42.*':'W2Jets', -## '/W3Jets.*START42.*':'W3Jets', -## '/W4Jets.*START42.*':'W4Jets', -## '/TTJets.*START42.*':'TTJets', -## '/T_TuneZ2_tW-channel.*START42.*':'T_tW', -## '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', -## '/TauPlusX/Run2011A-03Oct2011-v1.*':'data_Run2011A_03Oct2011_v1', -## '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', -## '/TauPlusX/Run2011A-May10ReReco-v1.*':'data_Run2011A_May10ReReco_v1', -## '/TauPlusX/Run2011A-PromptReco-v4.*':'data_Run2011A_PromptReco_v4', -## '/TauPlusX/Run2011B-PromptReco-v1':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011_v1.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011_v1.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', -## '/WW_TuneZ2.*START42.*':'WW', -## '/WZ_TuneZ2.*START42.*':'WZ', -## '/ZZ_TuneZ2.*START42.*':'ZZ', -## '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', -## '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', -## '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', -## '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', -## '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', -## '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -connect( allsamples, '%TAUMU_Up_ColinOct30', 'tauMu.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinSep20.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinSep20.py deleted file mode 100644 index 74b6b67668e6..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_ColinSep20.py +++ /dev/null @@ -1,70 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', - '/WJetsToLNu.*START42.*':'WJets', - '/W2Jets.*START42.*':'W2Jets', - '/W3Jets.*START42.*':'W3Jets', - '/TTJets.*START42.*':'TTJets', - '/T_TuneZ2_s-channel.*START42.*':'T_s', - '/T_TuneZ2_t-channel.*START42.*':'T_t', - '/T_TuneZ2_tW-channel.*START42.*':'T_tW', - '/Tbar_TuneZ2_s-channel.*START42.*':'Tbar_s', - '/Tbar_TuneZ2_t-channel.*START42.*':'Tbar_t', - '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', - '/TauPlusX/Run2011A-03Oct2011-v1.*':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1.*':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4.*':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011_v1.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011_v1.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', - '/WW_TuneZ2.*START42.*':'WW', - '/WZ_TuneZ2.*START42.*':'WZ', - '/ZZ_TuneZ2.*START42.*':'ZZ', - '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', - } - - -MC = copy.copy( mc_ewk ) -MC.extend( mc_higgs ) -MC.extend( mc_diboson ) -for sam in MC: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -connect( allsamples, '%/TAUMU_2011_ColinSep21_NewSVFit', 'tauMu.*root', aliases, cache=True, verbose=False) - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_JoseMay8.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_JoseMay8.py deleted file mode 100644 index da0a46a7a378..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_JoseMay8.py +++ /dev/null @@ -1,86 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data import * -# from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -user = 'benitezj' -aod = 'V5' -pat = 'PAT_CMG_V5_1_0' -htt = 'H2TAUTAU_JoseMay8' -filePattern = 'tauMu.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/TauPlusX/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/TauPlusX/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/TauPlusX/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_03Oct2011_v1.files = getFiles('/TauPlusX/Run2011A-03Oct2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011B_PromptReco_v1.files = getFiles('/TauPlusX/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# Embedded samples -------------------------------------------------------------------- - -## embed_Run2011A_May10ReReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_PromptReco_v4.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_05Aug2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_03Oct2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011B_PromptReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 36209629 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/HTTSKIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 - -# TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/HTTSKIM10/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -# TTJets.nGenEvents = 3701947 - - -# Higgs Summer11 ---------------------------------------------------------------------------- - -# not available yet - -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -mc_fall11 = copy.copy( mc_ewk ) -mc_fall11.extend( mc_higgs ) - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_JoseMay9.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_JoseMay9.py deleted file mode 100644 index b31e71f9571c..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_JoseMay9.py +++ /dev/null @@ -1,89 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data import * -# from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -user = 'benitezj' -aod = 'V5' -pat = 'PAT_CMG_V5_1_0' -htt = 'H2TAUTAU_JoseMay9' -filePattern = 'tauMu.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/TauPlusX/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/TauPlusX/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2011A_PromptReco_v4.intLumi *= 0.978 - -data_Run2011A_05Aug2011_v1.files = getFiles('/TauPlusX/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2011A_05Aug2011_v1.intLumi *= 0.946 - -data_Run2011A_03Oct2011_v1.files = getFiles('/TauPlusX/Run2011A-03Oct2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2011A_03Oct2011_v1.intLumi *= 0.958 - -data_Run2011B_PromptReco_v1.files = getFiles('/TauPlusX/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2011B_PromptReco_v1.intLumi *= 0.973 - -# Embedded samples -------------------------------------------------------------------- - -## embed_Run2011A_May10ReReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_PromptReco_v4.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_05Aug2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011A_03Oct2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2011B_PromptReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 36209629 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/HTTSKIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 - -TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{aod}/HTTSKIM10/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 59613991 - - -# Higgs Summer11 ---------------------------------------------------------------------------- - -# not available yet - -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -mc_fall11 = copy.copy( mc_ewk ) -mc_fall11.extend( mc_higgs ) - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_MuRm_ColinOct6.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_MuRm_ColinOct6.py deleted file mode 100644 index d874d0695509..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_MuRm_ColinOct6.py +++ /dev/null @@ -1,52 +0,0 @@ -import itertools -import copy -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.H2TauTau.tools.jsonPick import jsonPick -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers - -from CMGTools.H2TauTau.proto.samples.run2011.ewk import DYJets as DYJetsMuRm -from CMGTools.H2TauTau.proto.samples.run2011.ewk import WJets - - -DYJetsMuRm.name = 'DYJetsMuRm' - -data_Run2011A_MuRm = cfg.DataComponent( - name = 'data_Run2011A_MuRm', - files = [], - intLumi = 0., - triggers = [] - ) - -data_Run2011B_MuRm = cfg.DataComponent( - name = 'data_Run2011B_MuRm', - files = [], - intLumi = 0., - triggers = [] - ) - -aliases = { - '/DYJets.*START42.*':'DYJetsMuRm', - '/WJetsToLNu.*START42.*':'WJets', - '/DoubleMu/Run2011A-16Jan2012-v1/AOD.*':'data_Run2011A_MuRm', - '/DoubleMu/Run2011B-16Jan2012-v1/AOD.*':'data_Run2011B_MuRm', - } - - - - -allsamples = [DYJetsMuRm, WJets, data_Run2011A_MuRm, data_Run2011B_MuRm] - -# connect( allsamples, '%TAUMU_%MuRm_ColinSep28', 'tauMu.*root', aliases, cache=True, verbose=False) -connect( allsamples, '%TAUMU_MuRm_rlxTauIso_ColinOct6', 'tauMu.*root', aliases, cache=True, verbose=False) - -MC_list = [DYJetsMuRm, WJets] -data_list_2011 = [data_Run2011A_MuRm, data_Run2011B_MuRm] -embed_list = [] - -for mc in MC_list: - mc.triggers = mc_triggers -for data in data_list_2011: - data.json = jsonPick( data.files[0] ) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_RecoilTest_ColinOct23.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_RecoilTest_ColinOct23.py deleted file mode 100644 index f84a5af6e852..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_RecoilTest_ColinOct23.py +++ /dev/null @@ -1,69 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', - '/WJetsToLNu.*START42.*':'WJets', - '/W2Jets.*START42.*':'W2Jets', - '/W3Jets.*START42.*':'W3Jets', - '/W4Jets.*START42.*':'W4Jets', - '/TTJets.*START42.*':'TTJets', - '/T_TuneZ2_tW-channel.*START42.*':'T_tW', - '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', - '/TauPlusX/Run2011A-03Oct2011-v1.*':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1.*':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4.*':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011_v1.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011_v1.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', - '/WW_TuneZ2.*START42.*':'WW', - '/WZ_TuneZ2.*START42.*':'WZ', - '/ZZ_TuneZ2.*START42.*':'ZZ', - '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -connect( allsamples, '%TAUMU_2011_Colin_OSVFit_RecoilTest_Oct23', 'tauMu.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_Sync_Colin.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_Sync_Colin.py deleted file mode 100644 index fd390c45a17e..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_Sync_Colin.py +++ /dev/null @@ -1,71 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START42.*':'HiggsVBF', - '/GluGluToHToTauTau.*START42.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START42.*':'HiggsVH', - '/DYJets.*START42.*':'DYJets', - '/WJetsToLNu.*START42.*Merge':'WJets', - '/W1Jet.*START42.*Merge':'W1Jets', - '/W2Jets.*START42.*Merge':'W2Jets', - '/W3Jets.*START42.*Merge':'W3Jets', - '/W4Jets.*START42.*Merge':'W4Jets', - '/TTJets.*START42.*Merge':'TTJets', - '/T_TuneZ2_tW-channel.*START42.*':'T_tW', - '/Tbar_TuneZ2_tW-channel.*START42.*':'Tbar_tW', - '/TauPlusX/Run2011A-05Aug2011-v1.*':'data_Run2011A_05Aug2011_v1', - '/TauPlusX/Run2011A-03Oct2011-v1.*Merge':'data_Run2011A_03Oct2011_v1', - '/TauPlusX/Run2011A-May10ReReco-v1.*Merge':'data_Run2011A_May10ReReco_v1', - '/TauPlusX/Run2011A-PromptReco-v4.*Merge':'data_Run2011A_PromptReco_v4', - '/TauPlusX/Run2011B-PromptReco-v1.*Merge':'data_Run2011B_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_03Oct2011.*':'embed_Run2011A_03Oct2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_05Aug2011_v1.*':'embed_Run2011A_05Aug2011_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_10May2011.*':'embed_Run2011A_May10ReReco_v1', - '/DoubleMu/StoreResults-DoubleMu_2011A_PR_v4.*':'embed_Run2011A_PromptReco_v4', - '/DoubleMu/StoreResults-DoubleMu_2011B_PR_v1.*':'embed_Run2011B_PromptReco_v1', - '/WW_TuneZ2.*START42.*':'WW', - '/WZ_TuneZ2.*START42.*':'WZ', - '/ZZ_TuneZ2.*START42.*':'ZZ', - '/WWJetsTo2L2Nu.*START42.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START42.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START42.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START42.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START42.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START42.*':'ZZJetsTo4L', - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -for sam in MC_list: - sam.triggers = mc_triggers -for data in data_list_2011A: - data.triggers = data_triggers_2011A -for data in data_list_2011B: - data.triggers = data_triggers_2011B - - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list_2011 ) -allsamples.extend( embed_list_2011 ) - -# pat = '%TAUMU_TestMoriond3_ColinDec10' -pat = '%TAUMU_TestMoriond_FullSVFit_ColinDec11' -connect( allsamples, pat, 'tauMu.*root', aliases, cache=True, verbose=False) -Tbar_tW.nGenEvents = 809984. - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_Sync_ColinAug30.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_Sync_ColinAug30.py deleted file mode 100644 index 71042e4f258f..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_Sync_ColinAug30.py +++ /dev/null @@ -1,30 +0,0 @@ -import copy - -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -# from CMGTools.H2TauTau.proto.samples.run2011.ewk import * -# from CMGTools.H2TauTau.proto.samples.run2011.diboson import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import mc_triggers - -MC = copy.copy( mc_higgs ) -HiggsVBF125Small = copy.deepcopy( HiggsVBF125 ) -HiggsVBF125Small.name = 'HiggsVBF125Small' - -MC.append( HiggsVBF125Small ) -for sam in MC: - sam.triggers = mc_triggers - -allsamples = copy.copy(MC) - -HiggsVBF125Small.files = [] - -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_7TeV-powheg-pythia6-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V5/PAT_CMG_V5_5_1_Test3/TAUMU_NewSVFit_ColinSep3', - 'cbern', '.*root') - - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_Sync_ColinJul20.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_Sync_ColinJul20.py deleted file mode 100644 index 8f2cbdb86041..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_Sync_ColinJul20.py +++ /dev/null @@ -1,19 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 -from CMGTools.Production.getFiles import getFiles - -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * - -MC = copy.copy( mc_higgs ) -for sam in MC: - sam.triggers = mc_triggers_fall11 - sam.triggers = ["HLT_IsoMu15_eta2p1_LooseIsoPFTau20_v1"] - - -allsamples = copy.copy(MC) - -HiggsVBF120.files = getFiles('/H2TAUTAU/Sync/VBF/AOD/PAT_CMG_V5_5_0/TAUMU_SumEtFix_Colin_Jul20', 'cmgtools', '.*root') -HiggsGGH120.files = getFiles('/H2TAUTAU/Sync/VBF/AOD/PAT_CMG_V5_5_0/TAUMU_SumEtFix_Colin_Jul20', 'cmgtools', '.*root') - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_march12.py b/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_march12.py deleted file mode 100644 index 5f2df1b7eb96..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/tauMu_march12.py +++ /dev/null @@ -1,79 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2011.data import * -from CMGTools.H2TauTau.proto.samples.run2011.embed import * -from CMGTools.H2TauTau.proto.samples.run2011.mc_fall11 import * -from CMGTools.H2TauTau.proto.samples.run2011.higgs import * -from CMGTools.H2TauTau.proto.samples.run2011.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -aod = 'V3' -pat = 'PAT_CMG_TestMVAs' -htt = 'H2TAUTAU_TestMVAs_Mar12' -filePattern = 'tauMu.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2011A_May10ReReco_v1.files = getFiles('/TauPlusX/Run2011A-May10ReReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011A_PromptReco_v4.files = getFiles('/TauPlusX/Run2011A-PromptReco-v4/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011A_05Aug2011_v1.files = getFiles('/TauPlusX/Run2011A-05Aug2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011A_03Oct2011_v1.files = getFiles('/TauPlusX/Run2011A-03Oct2011-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -data_Run2011B_PromptReco_v1.files = getFiles('/TauPlusX/Run2011B-PromptReco-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - - -# Embedded samples -------------------------------------------------------------------- - -## embed_Run2011A_May10ReReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011A_PromptReco_v4.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011A_05Aug2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011A_03Oct2011_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - -## embed_Run2011B_PromptReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), 'cbern', filePattern) - - -# MC Fall11 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V3/{pat}/{htt}'.format(pat=pat, htt=htt), 'cbern', filePattern) -DYJets.nGenEvents = 36209629 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V3/TAUTAU/{pat}/{htt}'.format(pat=pat, htt=htt), 'cbern', filePattern) -WJets.nGenEvents = 81345381 - -TTJets.files = getFiles('/TTJets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/V3/{pat}/{htt}'.format(pat=pat, htt=htt), 'cbern', filePattern) -TTJets.nGenEvents = 3701947 - - -# Higgs Summer11 ---------------------------------------------------------------------------- - -# not available yet - - -for data in data_list_2011A: - data.triggers = data_triggers_2011A - -for data in data_list_2011B: - data.triggers = data_triggers_2011B - -MC = [] -for mc in mc_fall11: - mc.triggers = mc_triggers_fall11 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_list_2011) - - print 'MC FALL11:' - print - printSamples(mc_fall11) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/triggers_diTau.py b/CMGTools/H2TauTau/python/proto/samples/run2011/triggers_diTau.py deleted file mode 100644 index ae594c0a14b0..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/triggers_diTau.py +++ /dev/null @@ -1,40 +0,0 @@ -data_triggers_2011A = [ - 'HLT_DoubleIsoPFTau20_Trk5_v1', - 'HLT_DoubleIsoPFTau20_Trk5_v2', - 'HLT_DoubleIsoPFTau20_Trk5_v3', - 'HLT_DoubleIsoPFTau20_Trk5_v4', - - 'HLT_DoubleIsoPFTau25_Trk5_eta2p1_v1', - 'HLT_DoubleIsoPFTau25_Trk5_eta2p1_v2', - 'HLT_DoubleIsoPFTau25_Trk5_eta2p1_v3', - 'HLT_DoubleIsoPFTau25_Trk5_eta2p1_v4', - - 'HLT_DoubleIsoPFTau35_Trk5_eta2p1_v1', - 'HLT_DoubleIsoPFTau35_Trk5_eta2p1_v2', - 'HLT_DoubleIsoPFTau35_Trk5_eta2p1_v3', - 'HLT_DoubleIsoPFTau35_Trk5_eta2p1_v4', - - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v1', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v2', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v3', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v4', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v5', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v6', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v7', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v8', - ] - -data_triggers_2011B = [ - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v1', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v2', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v3', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v4', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v5', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v6', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v7', - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1_v8', - ] - -mc_triggers_fall11 = [ - #'HLT_DoubleIsoPFTau45_Trk5_eta2p1', - ] diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/triggers_tauEle.py b/CMGTools/H2TauTau/python/proto/samples/run2011/triggers_tauEle.py deleted file mode 100644 index 1e79d3b93b2a..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/triggers_tauEle.py +++ /dev/null @@ -1,43 +0,0 @@ -blah = 'CaloIdVT_CaloIsoT_TrkIdT_TrkIsoT' - -# COLIN FIXME: wildcards for v* should work, look at the effect. If it works, migrate - -data_triggers_2011A = [ - # the first 2 triggers correspond to runs before the good run list - # why do we get them?? - # 'HLT_Ele15_{blah}_LooseIsoPFTau15_v1'.format(blah=blah), - # 'HLT_Ele15_{blah}_LooseIsoPFTau15_v2'.format(blah=blah), - 'HLT_Ele15_{blah}_LooseIsoPFTau15_v4'.format(blah=blah), - # 'HLT_Ele15_{blah}_LooseIsoPFTau15_v6'.format(blah=blah), - # 'HLT_Ele15_{blah}_LooseIsoPFTau15_v8'.format(blah=blah), - # 'HLT_Ele15_{blah}_LooseIsoPFTau15_v9'.format(blah=blah), - # 'HLT_Ele15_{blah}_LooseIsoPFTau20_v4'.format(blah=blah), - 'HLT_Ele15_{blah}_LooseIsoPFTau20_v6'.format(blah=blah), - 'HLT_Ele15_{blah}_LooseIsoPFTau20_v8'.format(blah=blah), - 'HLT_Ele15_{blah}_LooseIsoPFTau20_v9'.format(blah=blah), - # 'HLT_Ele15_{blah}_TightIsoPFTau20_v1'.format(blah=blah), - 'HLT_Ele15_{blah}_TightIsoPFTau20_v2'.format(blah=blah), - 'HLT_Ele18_{blah}_MediumIsoPFTau20_v1'.format(blah=blah), - # 'HLT_Ele18_{blah}_MediumIsoPFTau20_v2'.format(blah=blah), - # 'HLT_Ele18_{blah}_MediumIsoPFTau20_v3'.format(blah=blah), - # 'HLT_Ele18_{blah}_MediumIsoPFTau20_v4'.format(blah=blah), - # 'HLT_Ele20_{blah}_MediumIsoPFTau20_v1'.format(blah=blah), - # 'HLT_Ele20_{blah}_MediumIsoPFTau20_v2'.format(blah=blah), - # 'HLT_Ele20_{blah}_MediumIsoPFTau20_v3'.format(blah=blah), - # 'HLT_Ele20_{blah}_MediumIsoPFTau20_v4'.format(blah=blah), - # 'HLT_Ele20_{blah}_MediumIsoPFTau20_v5'.format(blah=blah), - # 'HLT_Ele20_{blah}_MediumIsoPFTau20_v6'.format(blah=blah) - ] - -data_triggers_2011B = [ - 'HLT_Ele18_{blah}_MediumIsoPFTau20_v1'.format(blah=blah), - # 'HLT_Ele20_{blah}_MediumIsoPFTau20_v1'.format(blah=blah), - 'HLT_Ele20_{blah}_MediumIsoPFTau20_v5'.format(blah=blah), - 'HLT_Ele20_{blah}_MediumIsoPFTau20_v6'.format(blah=blah) - ] - -mc_triggers_fall11 = [ - 'HLT_Ele18_{blah}_MediumIsoPFTau20_v1'.format(blah=blah) - ] - -mc_triggers = mc_triggers_fall11 diff --git a/CMGTools/H2TauTau/python/proto/samples/run2011/triggers_tauMu.py b/CMGTools/H2TauTau/python/proto/samples/run2011/triggers_tauMu.py deleted file mode 100644 index e8da2f21a123..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2011/triggers_tauMu.py +++ /dev/null @@ -1,22 +0,0 @@ -data_triggers_2011A = [ - 'HLT_IsoMu12_LooseIsoPFTau10_v4', - 'HLT_IsoMu15_LooseIsoPFTau15_v2', - 'HLT_IsoMu15_LooseIsoPFTau15_v4', - 'HLT_IsoMu15_LooseIsoPFTau15_v5', - 'HLT_IsoMu15_LooseIsoPFTau15_v6', - 'HLT_IsoMu15_LooseIsoPFTau15_v7', - 'HLT_IsoMu15_LooseIsoPFTau15_v8', - 'HLT_IsoMu15_LooseIsoPFTau15_v9' - ] - -data_triggers_2011B = [ - 'HLT_IsoMu15_eta2p1_LooseIsoPFTau20_v1', - 'HLT_IsoMu15_eta2p1_LooseIsoPFTau20_v5', - 'HLT_IsoMu15_eta2p1_LooseIsoPFTau20_v6' - ] - -mc_triggers_fall11 = [ - 'HLT_IsoMu15_LooseIsoPFTau15_v9', - ] - -mc_triggers = mc_triggers_fall11 diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/WJets_JanMay29.py b/CMGTools/H2TauTau/python/proto/samples/run2012/WJets_JanMay29.py deleted file mode 100644 index 34f6ea3fc968..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/WJets_JanMay29.py +++ /dev/null @@ -1,52 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) -allsamples.extend( embed_list ) - - -connect( allsamples, '/W%Jet%PAT_CMG_V5_14_0', 'cmgTuple.*root', aliases, cache=True, verbose=False) - -# this number is not in the DB (dbs says this sample is still in production) -# WJets.nGenEvents = 61444940 - -## for mc in MC_list: -## mc.triggers = mc_triggers -## # allsamples.append(mc) -## for data in data_list: -## if len(data.files): -## data.json = jsonPick( data.files[0], jsonMap) -## data.triggers = data_triggers -## # allsamples.append(data) -## for embed in embed_list: -## if len(embed.files): -## embed.json = jsonPick( data.files[0], jsonMap) -## # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/cmgTuple_data_ColinOct10.py b/CMGTools/H2TauTau/python/proto/samples/run2012/cmgTuple_data_ColinOct10.py deleted file mode 100644 index c270028388bc..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/cmgTuple_data_ColinOct10.py +++ /dev/null @@ -1,40 +0,0 @@ -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.H2TauTau.proto.samples.computeLumi import computeLumi -from CMGTools.H2TauTau.tools.jsonPick import jsonPick - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -# from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -# from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - '/TauPlusX/Run2012A-13Jul2012.*':'data_Run2012A', - '/TauPlusX/Run2012A-recover-06Aug2012-v1.*':'data_Run2012A_aug6', - '/TauPlusX/Run2012B-13Jul2012.*':'data_Run2012B', - '/TauPlusX/Run2012C-24Aug2012-v1.*':'data_Run2012C_v1', - '/TauPlusX/Run2012C-PromptReco-v2.*':'data_Run2012C_v2' - } - -allsamples = copy.copy(data_list) - -connect( allsamples, '%Run2012%PAT_CMG_V5_8_0', 'cmgTuple.*root', aliases, cache=True, verbose=False) - -allsamples = [] - -for data in data_list: - data.json = jsonPick( data.files[0]) - data.triggers = data_triggers - allsamples.append(data) -for c in allsamples: - c.splitFactor = splitFactor(c) - - - -# for c in data_list: -# computeLumi(c, test=True) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/data.py b/CMGTools/H2TauTau/python/proto/samples/run2012/data.py deleted file mode 100644 index 3799950fe4a3..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/data.py +++ /dev/null @@ -1,71 +0,0 @@ -import CMGTools.RootTools.fwlite.Config as cfg -import copy - - -data_Run2012A = cfg.DataComponent( - name = 'data_Run2012A', - files = [], - # intLumi = 96.404 + 396.906 + 395.991, # old lumi - intLumi = 94.676 + 390.113 + 391.376, # pixel lumi - triggers = [], - json = None - ) -data_Run2012B = cfg.DataComponent( - name = 'data_Run2012B', - files = [], - # intLumi = 4429., # old lumi - intLumi = 4411., # pixel lumi - triggers = [], - json = None - ) - - -data_Run2012C = cfg.DataComponent( - name = 'data_Run2012C', - files = [], - # intLumi = 1783. + 5087. + 282.692, # old lumi - intLumi = 1734. + 5041. + 279.843, # pixel lumi - triggers = [], - json = None - ) - -data_Run2012D = cfg.DataComponent( - name = 'data_Run2012D', - files = [], - # intLumi = 7318., # old lumi - intLumi = 7369., # pixel lumi - triggers = [], - ) - -data_list = [ - data_Run2012A, - data_Run2012B, - data_Run2012C, - data_Run2012D, - ] - -# Replace lumiCalc2.py by pixelLumiCalc.py below for pixel lumi -# -# # 2012 D -# -# lumiCalc2.py --begin 203777 --end 208687 -i $Json2012 recorded --hltpath HLT_IsoMu17_eta2p1_LooseIsoPFTau20_* | grep HLT_IsoMu17_eta2p1_LooseIsoPFTau20 -# | HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v7 | 74410 | 7.318(/fb) | 7.318(/fb) | -# -# # 2012 C -# -# lumiCalc2.py --begin 198022 --end 203743 -i $Json2012 recorded --hltpath HLT_IsoMu17_eta2p1_LooseIsoPFTau20_* | grep HLT_IsoMu17_eta2p1_LooseIsoPFTau20 -# | HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v3 | 22016 | 1.783(/fb) | 1.783(/fb) | -# | HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v6 | 54989 | 5.087(/fb) | 5.087(/fb) | -# | HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v7 | 3578 | 282.692(/pb) | 282.692(/pb) | -# -# # 2012 B -# -# lumiCalc2.py --begin 193833 --end 196532 -i $Json2012 recorded --hltpath HLT_IsoMu17_eta2p1_LooseIsoPFTau20_* | grep HLT_IsoMu17_eta2p1_LooseIsoPFTau20 -# | HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v2 | 50904 | 4.429(/fb) | 4.429(/fb) | -# -# # 2012 A -# -# lumiCalc2.py --begin 190456 --end 193621 -i $Json2012 recorded --hltpath HLT_IsoMu18_eta2p1_LooseIsoPFTau20_* | grep HLT_IsoMu18_eta2p1_LooseIsoPFTau20 -# | HLT_IsoMu18_eta2p1_LooseIsoPFTau20_v4 | 2803 | 96.404(/pb) | 96.404(/pb) | -# | HLT_IsoMu18_eta2p1_LooseIsoPFTau20_v5 | 7037 | 396.906(/pb) | 396.906(/pb) | -# | HLT_IsoMu18_eta2p1_LooseIsoPFTau20_v6 | 6514 | 395.991(/pb) | 395.991(/pb) | diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/data_diTau.py b/CMGTools/H2TauTau/python/proto/samples/run2012/data_diTau.py deleted file mode 100644 index 0844eb2bd99e..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/data_diTau.py +++ /dev/null @@ -1,120 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg - -H2TauTauPackage = '/'.join( [ os.environ['CMSSW_BASE'], - 'src/CMGTools/H2TauTau' ] ) - - - -data_Run2012A_22Jan2013_v1 = cfg.DataComponent( - name = 'data_Run2012A_22Jan2013_v1', - files = [], - intLumi = 96.404 + 396.906 + 395.991, - triggers = [], - ) -data_Run2012B_22Jan2013_v1 = cfg.DataComponent( - name = 'data_Run2012B_22Jan2013_v1', - files = [], - intLumi = 4429., - triggers = [], - ) -data_Run2012C_22Jan2013_v1 = cfg.DataComponent( - name = 'data_Run2012C_22Jan2013_v1', - files = [], - intLumi = 1783. + 5087. + 282.692, - triggers = [], - ) -data_Run2012D_22Jan2013_v1 = cfg.DataComponent( - name = 'data_Run2012D_22Jan2013_v1', - files = [], - intLumi = 7318., - triggers = [], - ) - - - -data_parked_2012 = [ data_Run2012B_22Jan2013_v1, - data_Run2012C_22Jan2013_v1, - data_Run2012D_22Jan2013_v1, - data_Run2012A_22Jan2013_v1, - ] - - - - - - - - - - - - - - - -data_Run2012A_13Jul2012_v1 = cfg.DataComponent( - name = 'data_Run2012A_13Jul2012_v1', - files = [], - intLumi = 806.194, - triggers = [], - ) - -data_Run2012A_recover_06Aug2012_v1 = cfg.DataComponent( - name = 'data_Run2012A_recover_06Aug2012_v1', - files = [], - intLumi = 82.136, - triggers = [], - ) - -data_Run2012B_13Jul2012_v1 = cfg.DataComponent( - name = 'data_Run2012B_13Jul2012_v1', - files = [], - intLumi = 4420., - triggers = [], - ) - -data_Run2012C_24Aug2012_v1 = cfg.DataComponent( - name = 'data_Run2012C_24Aug2012_v1', - files = [], - intLumi = 493.975, - triggers = [], - ) - -data_Run2012C_PromptReco_v2 = cfg.DataComponent( - name = 'data_Run2012C_PromptReco_v2', - files = [], - intLumi = 6397., - triggers = [], - ) - -data_Run2012D_PromptReco_v1 = cfg.DataComponent( - name = 'data_Run2012D_PromptReco_v1', - files = [], - intLumi = 7274., - triggers = [], - ) - - - -data_2012A = [ - data_Run2012A_13Jul2012_v1, - data_Run2012A_recover_06Aug2012_v1, - ] - -data_2012B = [ - data_Run2012B_13Jul2012_v1 - ] - -data_2012C = [ - data_Run2012C_24Aug2012_v1, - data_Run2012C_PromptReco_v2 - ] - -data_2012D = [ - data_Run2012D_PromptReco_v1, - ] - - -data_2012 = data_2012A + data_2012B + data_2012C + data_2012D diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_June1.py b/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_June1.py deleted file mode 100644 index c4be06889c5f..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_June1.py +++ /dev/null @@ -1,546 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2012.data_diTau import * -# from CMGTools.H2TauTau.proto.samples.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * - -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -#from CMGTools.RootTools.yellowreport.YRParser import yrparser - -Higgsgg110 = cfg.MCComponent( - name = 'Higgsgg110', - files = [], - xSection = 25.04*8.02e-2, - nGenEvents =999907*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg115 = cfg.MCComponent( - name = 'Higgsgg115', - files = [], - xSection = 22.96*7.65e-2, - nGenEvents = 917825*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg120 = cfg.MCComponent( - name = 'Higgsgg120', - files = [], - xSection = 21.13*7.10e-2, - nGenEvents = 4999561*1.99183/2.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg125 = cfg.MCComponent( - name = 'Higgsgg125', - files = [], - xSection = 19.52*6.37e-2, - nGenEvents = 968134*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg130 = cfg.MCComponent( - name = 'Higgsgg130', - files = [], - xSection = 18.07*5.48e-2, - nGenEvents = 999921, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg135 = cfg.MCComponent( - name = 'Higgsgg135', - files = [], - xSection = 16.79*4.52e-2, - nGenEvents = 860729*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg140 = cfg.MCComponent( - name = 'Higgsgg140', - files = [], - xSection = 15.63*3.54e-2, - nGenEvents = 999932*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg145 = cfg.MCComponent( - name = 'Higgsgg145', - files = [], - xSection = 14.59*2.61e-2, - nGenEvents = 962119, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF110 = cfg.MCComponent( - name = 'HiggsVBF110', - files = [], - xSection = 1.791*8.02e-2, - nGenEvents = 499385*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF115 = cfg.MCComponent( - name = 'HiggsVBF115', - files = [], - xSection = 1.709*7.65e-2, - nGenEvents = 998870*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF120 = cfg.MCComponent( - name = 'HiggsVBF120', - files = [], - xSection = 1.632*7.10e-2, - nGenEvents = 4798759*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF125 = cfg.MCComponent( - name = 'HiggsVBF125', - files = [], - xSection = 1.559*6.37e-2, - nGenEvents = 998836*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF130 = cfg.MCComponent( - name = 'HiggsVBF130', - files = [], - xSection = 1.490*5.48e-2, - nGenEvents = 998790*0.99190, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF135 = cfg.MCComponent( - name = 'HiggsVBF135', - files = [], - xSection = 1.425*4.52e-2, - nGenEvents = 998817*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF140 = cfg.MCComponent( - name = 'HiggsVBF140', - files = [], - xSection = 1.365*3.54e-2, - nGenEvents = 998894*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF145 = cfg.MCComponent( - name = 'HiggsVBF145', - files = [], - xSection = 1.306*2.61e-2, - nGenEvents = 998883*1.0, - triggers = [], - effCorrFactor = 1 ) - - - -# xsec WH + ZH + TTH -# https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt8TeV -HiggsVH110 = cfg.MCComponent( - name = 'HiggsVH110', - files = [], - xSection = (1.060+0.5869+0.1887)*8.02e-2, - nGenEvents = 200408*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH115 = cfg.MCComponent( - name = 'HiggsVH115', - files = [], - xSection = (0.9165+0.5117+0.1663)*7.65e-2, - nGenEvents = 200460*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH120 = cfg.MCComponent( - name = 'HiggsVH120', - files = [], - xSection = (0.7859+0.4483+0.1470)*7.10e-2, - nGenEvents = 200448*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH125 = cfg.MCComponent( - name = 'HiggsVH125', - files = [], - xSection = (0.6966+0.3943+0.1302)*6.37e-2, - nGenEvents = 200124*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH130 = cfg.MCComponent( - name = 'HiggsVH130', - files = [], - xSection = (0.6095+0.3473+0.1157)*5.48e-2, - nGenEvents = 200080*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH135 = cfg.MCComponent( - name = 'HiggsVH135', - files = [], - xSection = (0.5351+0.3074+0.1031)*4.52e-2, - nGenEvents = 200128*0.97169, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH140 = cfg.MCComponent( - name = 'HiggsVH140', - files = [], - xSection = (0.4713+0.2728+0.09207)*3.54e-2, - nGenEvents = 200186*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH145 = cfg.MCComponent( - name = 'HiggsVH145', - files = [], - xSection = (0.4164+0.2424+0.08246)*2.61e-2, - nGenEvents = 200384*1.0, - triggers = [], - effCorrFactor = 1 ) - - -mc_higgs_gg = [ - Higgsgg110, - Higgsgg115, - Higgsgg120, - Higgsgg125, - Higgsgg130, - Higgsgg135, - Higgsgg140, - Higgsgg145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['gg']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_vbf = [ - HiggsVBF110, - HiggsVBF115, - HiggsVBF120, - HiggsVBF125, - HiggsVBF130, - HiggsVBF135, - HiggsVBF140, - HiggsVBF145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['VBF']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_VH = [ - HiggsVH110, - HiggsVH115, - HiggsVH120, - HiggsVH125, - HiggsVH130, - HiggsVH135, - HiggsVH140, - HiggsVH145, - ] - -mc_higgs = copy.copy( mc_higgs_gg ) + copy.copy( mc_higgs_vbf ) + copy.copy( mc_higgs_VH ) - - - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_diTau import data_triggers_2012A, data_triggers_2012B, mc_triggers_spring12 - -user = 'hinzmann' -aod = 'V5' -pat = 'PAT_CMG_V5_4_0' -htt = 'H2TAUTAU_hinzmann1June12' -filePattern = 'diTau.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2012A_PromptReco_v1.files = getFiles('/Tau/Run2012A-PromptReco-v1/RECO/PAT_CMG_V5_4_0_runrange_190605-194076/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2012B_PromptReco_v1.files = getFiles('/Tau/Run2012B-PromptReco-v1/RECO/PAT_CMG_V5_4_0_runrange_start-194479/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_194480-195016/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_195017-195396/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_195397-195947/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_195948-196531/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# Embedded samples -------------------------------------------------------------------- - -embed_Run2012A_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012A_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_2012A_PromptReco_v1_embedded_trans1_tau132_pttau1_17had2_17_v2-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - triggers = [], - ) - -embed_Run2012B_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012B_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run193752to195135_embedded_trans1_tau132_pttau1_17had2_17_v2-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run195147to196070_embedded_trans1_tau132_pttau1_17had2_17_v2-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run196090to196531_embedded_trans1_tau132_pttau1_17had2_17_v2-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - triggers = [], - ) - -# MC spring12 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 30461028*0.9926 ### all but June1 v1 -#DYJets.nGenEvents = 1082838 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 -#WJets.nGenEvents = 18393090*0.99689 ### all but June1 v1 - -W3Jets = cfg.MCComponent( - name = 'W3Jets', - files = getFiles('/W3JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12-PU_S7_START52_V9-v2/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - xSection = 304.0, - nGenEvents = 7541595*1.99724/2.0, -# nGenEvents = 14725074*1.98661/2.0, - triggers = [], - effCorrFactor = 1 ) - -TTJets.files = getFiles('/TTJets_TuneZ2star_8TeV-madgraph-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 6736135*1.0 - -WW = cfg.MCComponent( - name = 'WW', - files = [], - xSection = 43., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WW.files = getFiles('/WW_TuneZ2star_8TeV_pythia6_tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WW.nGenEvents = 10000431 - -WZ = cfg.MCComponent( - name = 'WZ', - files = [], - xSection = 18.2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZ.files = getFiles('/WZ_TuneZ2star_8TeV_pythia6_tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WZ.nGenEvents = 9996622 - -ZZ = cfg.MCComponent( - name = 'ZZ', - files = [], - xSection = 5.9, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZ.files = getFiles('/ZZ_TuneZ2star_8TeV_pythia6_tauola/Summer12-PU_S7_START50_V15-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -ZZ.nGenEvents = 9799908 - -QCD = cfg.MCComponent( - name = 'QCD', - files = getFiles('/QCD_Pt-15to3000_TuneZ2star_Flat_8TeV_pythia6/Summer12-PU_S7_START52_V9-v5/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - xSection = 1.0, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -QCD50 = cfg.MCComponent( - name = 'QCD50', - files = getFiles('/QCD_Pt-50to80_TuneZ2star_8TeV_pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - xSection = 1.0, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -QCD80 = cfg.MCComponent( - name = 'QCD80', - files = getFiles('/QCD_Pt-80to120_TuneZ2star_8TeV_pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - xSection = 1.0, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -# Higgs Summer11 ---------------------------------------------------------------------------- - -Higgsgg110.files = getFiles('/GluGluToHToTauTau_M-110_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg115.files = getFiles('/GluGluToHToTauTau_M-115_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg120.files = getFiles('/GluGluToHToTauTau_M-120_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg130.files = getFiles('/GluGluToHToTauTau_M-130_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg135.files = getFiles('/GluGluToHToTauTau_M-135_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg140.files = getFiles('/GluGluToHToTauTau_M-140_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg145.files = getFiles('/GluGluToHToTauTau_M-145_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF140.files = getFiles('/VBF_HToTauTau_M-140_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF145.files = getFiles('/VBF_HToTauTau_M-145_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH110.files = getFiles('/WH_ZH_TTH_HToTauTau_M-110_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v3/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH115.files = getFiles('/WH_ZH_TTH_HToTauTau_M-115_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH120.files = getFiles('/WH_ZH_TTH_HToTauTau_M-120_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH125.files = getFiles('/WH_ZH_TTH_HToTauTau_M-125_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH130.files = getFiles('/WH_ZH_TTH_HToTauTau_M-130_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH135.files = getFiles('/WH_ZH_TTH_HToTauTau_M-135_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH140.files = getFiles('/WH_ZH_TTH_HToTauTau_M-140_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH145.files = getFiles('/WH_ZH_TTH_HToTauTau_M-145_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -VBF_HToWWTo2LAndTau2Nu_M_125 = cfg.MCComponent( - name = 'VBF_HToWWTo2LAndTau2Nu_M_125', - files = [], - xSection = 1.559*2.34e-2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -VBF_HToWWTo2LAndTau2Nu_M_125.files = getFiles('/VBF_HToWWTo2LAndTau2Nu_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -VBF_HToWWTo2LAndTau2Nu_M_125.nGenEvents = 9799908 - -GluGluToHToWWTo2LAndTau2Nu_M_125 = cfg.MCComponent( - name = 'GluGluToHToWWTo2LAndTau2Nu_M_125', - files = [], - xSection = 19.52*2.34e-2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -GluGluToHToWWTo2LAndTau2Nu_M_125.files = getFiles('/GluGluToHToWWTo2LAndTau2Nu_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -GluGluToHToWWTo2LAndTau2Nu_M_125.nGenEvents = 9799908 - - -# Higgs WW/ZZ Fall11 ---------------------------------------------------------------------------- - -GluGluToHToWWTo2Tau2Nu_M_120 = cfg.MCComponent( - name = 'GluGluToHToWWTo2Tau2Nu_M_120', - files = [], - xSection = 16.63*(1.54e-2-6.94e-3), - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -GluGluToHToWWTo2Tau2Nu_M_120.files = getFiles('/GluGluToHToWWTo2Tau2Nu_M-120_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/PAT_CMG_V5_4_1/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -GluGluToHToWWTo2Tau2Nu_M_120.nGenEvents = 54996 - -GluGluToHToWWToTauNuQQ_M_120 = cfg.MCComponent( - name = 'GluGluToHToWWToTauNuQQ_M_120', - files = [], - xSection = 16.63*1.49e-3/3., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -GluGluToHToWWToTauNuQQ_M_120.files = getFiles('/GluGluToHToWWToTauNuQQ_M-120_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/PAT_CMG_V5_4_1/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -GluGluToHToWWToTauNuQQ_M_120.nGenEvents = 109994 - -VBF_HToWWToTauNuQQ_M_120 = cfg.MCComponent( - name = 'VBF_HToWWToTauNuQQ_M_120', - files = [], - xSection = 1.263*1.49e-3/3., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -VBF_HToWWToTauNuQQ_M_120.files = getFiles('/VBF_HToWWToTauNuQQ_M-120_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/PAT_CMG_V5_4_1/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -VBF_HToWWToTauNuQQ_M_120.nGenEvents = 109857 - -VBF_HToWWTo2Tau2Nu_M_120 = cfg.MCComponent( - name = 'VBF_HToWWTo2Tau2Nu_M_120', - files = [], - xSection = 1.263*(1.54e-2-6.94e-3), - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -VBF_HToWWTo2Tau2Nu_M_120.files = getFiles('/VBF_HToWWTo2Tau2Nu_M-120_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/PAT_CMG_V5_4_1/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -VBF_HToWWTo2Tau2Nu_M_120.nGenEvents = 52803 - -GluGluToHToZZTo2L2Nu_M_125 = cfg.MCComponent( - name = 'GluGluToHToZZTo2L2Nu_M_125', - files = [], - xSection = 15.31*2.36e-2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -GluGluToHToZZTo2L2Nu_M_125.files = getFiles('/GluGluToHToZZTo2L2Nu_M-125_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/PAT_CMG_V5_4_1/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -GluGluToHToZZTo2L2Nu_M_125.nGenEvents = 292174 - -GluGluToHToZZTo2L2Q_M_125 = cfg.MCComponent( - name = 'GluGluToHToZZTo2L2Q_M_125', - files = [], - xSection = 15.31*3.73e-3, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -GluGluToHToZZTo2L2Q_M_125.files = getFiles('/GluGluToHToZZTo2L2Q_M-125_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/PAT_CMG_V5_4_1/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -GluGluToHToZZTo2L2Q_M_125.nGenEvents = 263973 - -VBF_ToHToZZTo2l2q_M_130 = cfg.MCComponent( - name = 'VBF_ToHToZZTo2l2q_M_130', - files = [], - xSection = 1.211*3.73e-3, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -VBF_ToHToZZTo2l2q_M_130.files = getFiles('/VBF_ToHToZZTo2l2q_M-130_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/PAT_CMG_V5_4_1/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -VBF_ToHToZZTo2l2q_M_130.nGenEvents = 49944 - -VBF_ToHToZZTo2L2NU_M_125 = cfg.MCComponent( - name = 'VBF_ToHToZZTo2L2NU_M_125', - files = [], - xSection = 1.211*2.36e-2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -VBF_ToHToZZTo2L2NU_M_125.files = getFiles('/VBF_ToHToZZTo2L2NU_M-125_7TeV-powheg-pythia6/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/PAT_CMG_V5_4_1/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -VBF_ToHToZZTo2L2NU_M_125.nGenEvents = 49347 - - -mc_spring12 = copy.copy( mc_ewk ) -mc_spring12.extend( mc_higgs ) -mc_spring12.extend([W3Jets, WW, WZ, ZZ]) -mc_spring12.extend([QCD,QCD50,QCD80]) -mc_spring12.extend([GluGluToHToWWTo2LAndTau2Nu_M_125,VBF_HToWWTo2LAndTau2Nu_M_125]) - -for data in data_2012A: - data.triggers = data_triggers_2012A - -for data in data_2012B: - data.triggers = data_triggers_2012B - -MC = [] -for mc in mc_spring12: - mc.triggers = mc_triggers_spring12 - MC.append(mc) - -embedded_2012 = [embed_Run2012A_PromptReco_v1, embed_Run2012B_PromptReco_v1] - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2012:' - print - printSamples(data_2012) - - print 'MC spring12:' - print - printSamples(mc_spring12) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_June4.py b/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_June4.py deleted file mode 100644 index 2c2f1e4da234..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_June4.py +++ /dev/null @@ -1,303 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2012.data_diTau import * -# from CMGTools.H2TauTau.proto.samples.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * - -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -#from CMGTools.RootTools.yellowreport.YRParser import yrparser - -Higgsgg110 = cfg.MCComponent( - name = 'Higgsgg110', - files = [], - xSection = 25.04*8.02e-2, - nGenEvents =999907, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg115 = cfg.MCComponent( - name = 'Higgsgg115', - files = [], - xSection = 22.96*7.65e-2, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg120 = cfg.MCComponent( - name = 'Higgsgg120', - files = [], - xSection = 21.13*7.10e-2, - nGenEvents = 4999561, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg125 = cfg.MCComponent( - name = 'Higgsgg125', - files = [], - xSection = 19.52*6.37e-2, - nGenEvents = 968134, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg130 = cfg.MCComponent( - name = 'Higgsgg130', - files = [], - xSection = 18.07*5.48e-2, - nGenEvents = 999921, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg135 = cfg.MCComponent( - name = 'Higgsgg135', - files = [], - xSection = 16.79*4.52e-2, - nGenEvents = 860729, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg140 = cfg.MCComponent( - name = 'Higgsgg140', - files = [], - xSection = 15.63*3.54e-2, - nGenEvents = 999932, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg145 = cfg.MCComponent( - name = 'Higgsgg145', - files = [], - xSection = 14.59*2.61e-2, - nGenEvents = 962119, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF110 = cfg.MCComponent( - name = 'HiggsVBF110', - files = [], - xSection = 1.791*8.02e-2, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF115 = cfg.MCComponent( - name = 'HiggsVBF115', - files = [], - xSection = 1.709*7.65e-2, - nGenEvents = 998870, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF120 = cfg.MCComponent( - name = 'HiggsVBF120', - files = [], - xSection = 1.632*7.10e-2, - nGenEvents = 4798759, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF125 = cfg.MCComponent( - name = 'HiggsVBF125', - files = [], - xSection = 1.559*6.37e-2, - nGenEvents = 998836, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF130 = cfg.MCComponent( - name = 'HiggsVBF130', - files = [], - xSection = 1.490*5.48e-2, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF135 = cfg.MCComponent( - name = 'HiggsVBF135', - files = [], - xSection = 1.425*4.52e-2, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF140 = cfg.MCComponent( - name = 'HiggsVBF140', - files = [], - xSection = 1.365*3.54e-2, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF145 = cfg.MCComponent( - name = 'HiggsVBF145', - files = [], - xSection = 1.306*2.61e-2, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - - - - -mc_higgs_gg = [ - #Higgsgg110, - #Higgsgg115, - #Higgsgg120, - Higgsgg125, - #Higgsgg130, - #Higgsgg135, - #Higgsgg140, - #Higgsgg145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['gg']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_vbf = [ - #HiggsVBF110, - #HiggsVBF115, - #HiggsVBF120, - HiggsVBF125, - #HiggsVBF130, - #HiggsVBF135, - #HiggsVBF140, - #HiggsVBF145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['VBF']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs = copy.copy( mc_higgs_gg ) + copy.copy( mc_higgs_vbf ) - - - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_diTau import data_triggers_2012A, data_triggers_2012B, mc_triggers_spring12 - -user = 'hinzmann' -aod = 'V5' -pat = 'PAT_CMG_V5_4_0' -htt = 'H2TAUTAU_hinzmann4June12' -filePattern = 'diTau.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2012A_PromptReco_v1.files = getFiles('/Tau/Run2012A-PromptReco-v1/RECO/PAT_CMG_V5_4_0_runrange_190605-194076/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2012B_PromptReco_v1.files = getFiles('/Tau/Run2012B-PromptReco-v1/RECO/PAT_CMG_V5_4_0_runrange_start-194479/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_194480-195016/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# Embedded samples -------------------------------------------------------------------- - -## embed_Run2012A_May10ReReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2012A_PromptReco_v4.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2012A_05Aug2012_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2012A_03Oct2012_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -## embed_Run2012B_PromptReco_v1.files = getFiles('/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -# MC spring12 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 30461028*0.9926 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 18393090*0.99689 - -TTJets.files = getFiles('/TTJets_TuneZ2star_8TeV-madgraph-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 6736135 - -WW = cfg.MCComponent( - name = 'WW', - files = [], - xSection = 43., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WW.files = getFiles('/WW_TuneZ2star_8TeV_pythia6_tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WW.nGenEvents = 10000431 - -WZ = cfg.MCComponent( - name = 'WZ', - files = [], - xSection = 18.2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZ.files = getFiles('/WZ_TuneZ2star_8TeV_pythia6_tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WZ.nGenEvents = 9996622 - -ZZ = cfg.MCComponent( - name = 'ZZ', - files = [], - xSection = 5.9, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZ.files = getFiles('/ZZ_TuneZ2star_8TeV_pythia6_tauola/Summer12-PU_S7_START50_V15-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -ZZ.nGenEvents = 9799908 - -# Higgs Summer11 ---------------------------------------------------------------------------- - -Higgsgg110.files = getFiles('/GluGluToHToTauTau_M-110_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -#Higgsgg115.files = getFiles('/GluGluToHToTauTau_M-115_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg120.files = getFiles('/GluGluToHToTauTau_M-120_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg130.files = getFiles('/GluGluToHToTauTau_M-130_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg135.files = getFiles('/GluGluToHToTauTau_M-135_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg140.files = getFiles('/GluGluToHToTauTau_M-140_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg145.files = getFiles('/GluGluToHToTauTau_M-145_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -#HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -#HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -#HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -#HiggsVBF140.files = getFiles('/VBF_HToTauTau_M-140_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -#HiggsVBF145.files = getFiles('/VBF_HToTauTau_M-145_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - - -mc_spring12 = copy.copy( mc_ewk ) -mc_spring12.extend( mc_higgs ) -mc_spring12.extend([WW, WZ, ZZ]) - -for data in data_2012A: - data.triggers = data_triggers_2012A - -for data in data_2012B: - data.triggers = data_triggers_2012B - -MC = [] -for mc in mc_spring12: - mc.triggers = mc_triggers_spring12 - MC.append(mc) - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2012:' - print - printSamples(data_2012) - - print 'MC spring12:' - print - printSamples(mc_spring12) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_June5.py b/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_June5.py deleted file mode 100644 index 26dc713362f9..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_June5.py +++ /dev/null @@ -1,440 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2012.data_diTau import * -# from CMGTools.H2TauTau.proto.samples.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * - -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -#from CMGTools.RootTools.yellowreport.YRParser import yrparser - -Higgsgg110 = cfg.MCComponent( - name = 'Higgsgg110', - files = [], - xSection = 25.04*8.02e-2, - nGenEvents =999907*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg115 = cfg.MCComponent( - name = 'Higgsgg115', - files = [], - xSection = 22.96*7.65e-2, - nGenEvents = 917825*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg120 = cfg.MCComponent( - name = 'Higgsgg120', - files = [], - xSection = 21.13*7.10e-2, - nGenEvents = 4999561*1.99183/2.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg125 = cfg.MCComponent( - name = 'Higgsgg125', - files = [], - xSection = 19.52*6.37e-2, - nGenEvents = 968134*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg130 = cfg.MCComponent( - name = 'Higgsgg130', - files = [], - xSection = 18.07*5.48e-2, - nGenEvents = 999921, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg135 = cfg.MCComponent( - name = 'Higgsgg135', - files = [], - xSection = 16.79*4.52e-2, - nGenEvents = 860729*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg140 = cfg.MCComponent( - name = 'Higgsgg140', - files = [], - xSection = 15.63*3.54e-2, - nGenEvents = 999932*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg145 = cfg.MCComponent( - name = 'Higgsgg145', - files = [], - xSection = 14.59*2.61e-2, - nGenEvents = 962119, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF110 = cfg.MCComponent( - name = 'HiggsVBF110', - files = [], - xSection = 1.791*8.02e-2, - nGenEvents = 499385*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF115 = cfg.MCComponent( - name = 'HiggsVBF115', - files = [], - xSection = 1.709*7.65e-2, - nGenEvents = 998870*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF120 = cfg.MCComponent( - name = 'HiggsVBF120', - files = [], - xSection = 1.632*7.10e-2, - nGenEvents = 4798759*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF125 = cfg.MCComponent( - name = 'HiggsVBF125', - files = [], - xSection = 1.559*6.37e-2, - nGenEvents = 998836*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF130 = cfg.MCComponent( - name = 'HiggsVBF130', - files = [], - xSection = 1.490*5.48e-2, - nGenEvents = 998790*0.99190, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF135 = cfg.MCComponent( - name = 'HiggsVBF135', - files = [], - xSection = 1.425*4.52e-2, - nGenEvents = 998817*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF140 = cfg.MCComponent( - name = 'HiggsVBF140', - files = [], - xSection = 1.365*3.54e-2, - nGenEvents = 998894*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF145 = cfg.MCComponent( - name = 'HiggsVBF145', - files = [], - xSection = 1.306*2.61e-2, - nGenEvents = 998883*1.0, - triggers = [], - effCorrFactor = 1 ) - - - -# xsec WH + ZH + TTH -# https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt8TeV -HiggsVH110 = cfg.MCComponent( - name = 'HiggsVH110', - files = [], - xSection = (1.060+0.5869+0.1887)*8.02e-2, - nGenEvents = 200408*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH115 = cfg.MCComponent( - name = 'HiggsVH115', - files = [], - xSection = (0.9165+0.5117+0.1663)*7.65e-2, - nGenEvents = 200460*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH120 = cfg.MCComponent( - name = 'HiggsVH120', - files = [], - xSection = (0.7859+0.4483+0.1470)*7.10e-2, - nGenEvents = 200448*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH125 = cfg.MCComponent( - name = 'HiggsVH125', - files = [], - xSection = (0.6966+0.3943+0.1302)*6.37e-2, - nGenEvents = 200124*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH130 = cfg.MCComponent( - name = 'HiggsVH130', - files = [], - xSection = (0.6095+0.3473+0.1157)*5.48e-2, - nGenEvents = 200080*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH135 = cfg.MCComponent( - name = 'HiggsVH135', - files = [], - xSection = (0.5351+0.3074+0.1031)*4.52e-2, - nGenEvents = 200128*0.97169, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH140 = cfg.MCComponent( - name = 'HiggsVH140', - files = [], - xSection = (0.4713+0.2728+0.09207)*3.54e-2, - nGenEvents = 200186*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH145 = cfg.MCComponent( - name = 'HiggsVH145', - files = [], - xSection = (0.4164+0.2424+0.08246)*2.61e-2, - nGenEvents = 200384*1.0, - triggers = [], - effCorrFactor = 1 ) - - -mc_higgs_gg = [ - Higgsgg110, - Higgsgg115, - Higgsgg120, - Higgsgg125, - Higgsgg130, - Higgsgg135, - Higgsgg140, - Higgsgg145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['gg']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_vbf = [ - HiggsVBF110, - HiggsVBF115, - HiggsVBF120, - HiggsVBF125, - HiggsVBF130, - HiggsVBF135, - HiggsVBF140, - HiggsVBF145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['VBF']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_VH = [ - HiggsVH110, - HiggsVH115, - HiggsVH120, - HiggsVH125, - HiggsVH130, - HiggsVH135, - HiggsVH140, - HiggsVH145, - ] - -mc_higgs = copy.copy( mc_higgs_gg ) + copy.copy( mc_higgs_vbf ) + copy.copy( mc_higgs_VH ) - - - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_diTau import data_triggers_2012A, data_triggers_2012B, mc_triggers_spring12 - -user = 'hinzmann' -aod = 'V5' -pat = 'PAT_CMG_V5_4_0' -pat2 = 'PAT_CMG_V5_4_1' -htt = 'H2TAUTAU_hinzmann5June12' -filePattern = 'diTau.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2012A_PromptReco_v1.files = getFiles('/Tau/Run2012A-PromptReco-v1/RECO/PAT_CMG_V5_4_0_runrange_190605-194076/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2012B_PromptReco_v1.files = getFiles('/Tau/Run2012B-PromptReco-v1/RECO/PAT_CMG_V5_4_0_runrange_start-194479/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_194480-195016/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_195017-195396/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_195397-195947/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_195948-196531/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# Embedded samples -------------------------------------------------------------------- - -embed_Run2012A_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012A_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_2012A_PromptReco_v1_embedded_trans1_tau132_pttau1_17had2_17_v2-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - triggers = [], - ) - -embed_Run2012B_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012B_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run193752to195135_embedded_trans1_tau132_pttau1_17had2_17_v2-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run195147to196070_embedded_trans1_tau132_pttau1_17had2_17_v2-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run196090to196531_embedded_trans1_tau132_pttau1_17had2_17_v2-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - triggers = [], - ) - -# MC spring12 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 30461028*0.9926 - -# WJets Spring12 -#WJets.files = getFiles('/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -#WJets.nGenEvents = 18393090*0.99689 - -# WJets Fall11 -WJets.files = getFiles('/WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat2, htt=htt), user, filePattern) -WJets.nGenEvents = 81345381 -WJets.xSection = 36257.2 - -# WJets Spring12 -#W3Jets = cfg.MCComponent( -# name = 'W3Jets', -# files = getFiles('/W3JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12-PU_S7_START52_V9-v2/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), -# xSection = 304.0, -# nGenEvents = 14725074*1.98661/2.0, -# triggers = [], -# effCorrFactor = 1 ) - -# W3Jets Fall11 -W3Jets = cfg.MCComponent( - name = 'W3Jets', - files = getFiles('/W3Jets_TuneZ2_7TeV-madgraph-tauola/Fall11-PU_S6_START42_V14B-v2/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat2, htt=htt), user, filePattern), - xSection = 304.0, - nGenEvents = 7541595*1.99724/2.0, -# nGenEvents = 14725074*1.98661/2.0, - triggers = [], - effCorrFactor = 1 ) - -TTJets.files = getFiles('/TTJets_TuneZ2star_8TeV-madgraph-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 6736135*1.0 - -WW = cfg.MCComponent( - name = 'WW', - files = [], - xSection = 43., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WW.files = getFiles('/WW_TuneZ2star_8TeV_pythia6_tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WW.nGenEvents = 10000431 - -WZ = cfg.MCComponent( - name = 'WZ', - files = [], - xSection = 18.2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZ.files = getFiles('/WZ_TuneZ2star_8TeV_pythia6_tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WZ.nGenEvents = 9996622 - -ZZ = cfg.MCComponent( - name = 'ZZ', - files = [], - xSection = 5.9, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZ.files = getFiles('/ZZ_TuneZ2star_8TeV_pythia6_tauola/Summer12-PU_S7_START50_V15-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -ZZ.nGenEvents = 9799908 - -QCD = cfg.DataComponent( - name = 'QCD', - files = getFiles('/QCD_Pt-15to3000_TuneZ2star_Flat_8TeV_pythia6/Summer12-PU_S7_START52_V9-v5/AODSIM/{aod}/{pat}/H2TAUTAU_hinzmann1June12'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - intLumi = 1.0, # dummy - triggers = [] ) - -QCD50 = cfg.DataComponent( - name = 'QCD50', - files = getFiles('/QCD_Pt-50to80_TuneZ2star_8TeV_pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/H2TAUTAU_hinzmann1June12'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - intLumi = 1.0, # dummy - triggers = [] ) - -QCD80 = cfg.DataComponent( - name = 'QCD80', - files = getFiles('/QCD_Pt-80to120_TuneZ2star_8TeV_pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/H2TAUTAU_hinzmann1June12'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - intLumi = 1.0, # dummy - triggers = [] ) - -# Higgs Summer11 ---------------------------------------------------------------------------- - -Higgsgg110.files = getFiles('/GluGluToHToTauTau_M-110_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg115.files = getFiles('/GluGluToHToTauTau_M-115_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg120.files = getFiles('/GluGluToHToTauTau_M-120_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg130.files = getFiles('/GluGluToHToTauTau_M-130_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg135.files = getFiles('/GluGluToHToTauTau_M-135_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg140.files = getFiles('/GluGluToHToTauTau_M-140_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg145.files = getFiles('/GluGluToHToTauTau_M-145_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF140.files = getFiles('/VBF_HToTauTau_M-140_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF145.files = getFiles('/VBF_HToTauTau_M-145_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH110.files = getFiles('/WH_ZH_TTH_HToTauTau_M-110_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v3/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH115.files = getFiles('/WH_ZH_TTH_HToTauTau_M-115_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH120.files = getFiles('/WH_ZH_TTH_HToTauTau_M-120_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH125.files = getFiles('/WH_ZH_TTH_HToTauTau_M-125_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH130.files = getFiles('/WH_ZH_TTH_HToTauTau_M-130_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH135.files = getFiles('/WH_ZH_TTH_HToTauTau_M-135_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH140.files = getFiles('/WH_ZH_TTH_HToTauTau_M-140_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH145.files = getFiles('/WH_ZH_TTH_HToTauTau_M-145_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -mc_spring12 = copy.copy( mc_ewk ) -mc_spring12.extend( mc_higgs ) -mc_spring12.extend([W3Jets, WW, WZ, ZZ]) -mc_spring12.extend([QCD]) - -for data in data_2012A: - data.triggers = data_triggers_2012A - -for data in data_2012B: - data.triggers = data_triggers_2012B - -MC = [] -for mc in mc_spring12: - mc.triggers = mc_triggers_spring12 - MC.append(mc) - -embedded_2012 = [embed_Run2012A_PromptReco_v1, embed_Run2012B_PromptReco_v1] - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2012:' - print - printSamples(data_2012) - - print 'MC spring12:' - print - printSamples(mc_spring12) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_Oct24.py b/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_Oct24.py deleted file mode 100644 index 3f362602b4d5..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_Oct24.py +++ /dev/null @@ -1,1071 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2012.data_diTau import * -# from CMGTools.H2TauTau.proto.samples.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * - -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -#from CMGTools.RootTools.yellowreport.YRParser import yrparser - -Higgsgg110 = cfg.MCComponent( - name = 'Higgsgg110', - files = [], - xSection = 25.04*8.02e-2, - nGenEvents =999907*1.959996/2.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg115 = cfg.MCComponent( - name = 'Higgsgg115', - files = [], - xSection = 22.96*7.65e-2, - nGenEvents = 917825*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg120 = cfg.MCComponent( - name = 'Higgsgg120', - files = [], - xSection = 21.13*7.10e-2, - nGenEvents = 4999561*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg125 = cfg.MCComponent( - name = 'Higgsgg125', - files = [], - xSection = 19.52*6.37e-2, - nGenEvents = 968134*1.979342/2.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg130 = cfg.MCComponent( - name = 'Higgsgg130', - files = [], - xSection = 18.07*5.48e-2, - nGenEvents = 999921*1.979998/2.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg135 = cfg.MCComponent( - name = 'Higgsgg135', - files = [], - xSection = 16.79*4.52e-2, - nGenEvents = 860729*1.953528/2.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg140 = cfg.MCComponent( - name = 'Higgsgg140', - files = [], - xSection = 15.63*3.54e-2, - nGenEvents = 999932*1.85999/2.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg145 = cfg.MCComponent( - name = 'Higgsgg145', - files = [], - xSection = 14.59*2.61e-2, - nGenEvents = 962119*1.87778/2.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF110 = cfg.MCComponent( - name = 'HiggsVBF110', - files = [], - xSection = 1.791*8.02e-2, - nGenEvents = 499385*1.920811/2.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF115 = cfg.MCComponent( - name = 'HiggsVBF115', - files = [], - xSection = 1.709*7.65e-2, - nGenEvents = 998870*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF120 = cfg.MCComponent( - name = 'HiggsVBF120', - files = [], - xSection = 1.632*7.10e-2, - nGenEvents = 4798759*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF125 = cfg.MCComponent( - name = 'HiggsVBF125', - files = [], - xSection = 1.559*6.37e-2, - nGenEvents = 998836*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF130 = cfg.MCComponent( - name = 'HiggsVBF130', - files = [], - xSection = 1.490*5.48e-2, - nGenEvents = 998790*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF135 = cfg.MCComponent( - name = 'HiggsVBF135', - files = [], - xSection = 1.425*4.52e-2, - nGenEvents = 998817*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF140 = cfg.MCComponent( - name = 'HiggsVBF140', - files = [], - xSection = 1.365*3.54e-2, - nGenEvents = 998894*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF145 = cfg.MCComponent( - name = 'HiggsVBF145', - files = [], - xSection = 1.306*2.61e-2, - nGenEvents = 998883*1.975395/2.0, - triggers = [], - effCorrFactor = 1 ) - - - -# xsec WH + ZH + TTH -# https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt8TeV -HiggsVH110 = cfg.MCComponent( - name = 'HiggsVH110', - files = [], - xSection = (1.060+0.5869+0.1887)*8.02e-2, - nGenEvents = 200408*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH115 = cfg.MCComponent( - name = 'HiggsVH115', - files = [], - xSection = (0.9165+0.5117+0.1663)*7.65e-2, - nGenEvents = 200460*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH120 = cfg.MCComponent( - name = 'HiggsVH120', - files = [], - xSection = (0.7859+0.4483+0.1470)*7.10e-2, - nGenEvents = 200448*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH125 = cfg.MCComponent( - name = 'HiggsVH125', - files = [], - xSection = (0.6966+0.3943+0.1302)*6.37e-2, - nGenEvents = 200124*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH130 = cfg.MCComponent( - name = 'HiggsVH130', - files = [], - xSection = (0.6095+0.3473+0.1157)*5.48e-2, - nGenEvents = 200080*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH135 = cfg.MCComponent( - name = 'HiggsVH135', - files = [], - xSection = (0.5351+0.3074+0.1031)*4.52e-2, - nGenEvents = 200128*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH140 = cfg.MCComponent( - name = 'HiggsVH140', - files = [], - xSection = (0.4713+0.2728+0.09207)*3.54e-2, - nGenEvents = 200186*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH145 = cfg.MCComponent( - name = 'HiggsVH145', - files = [], - xSection = (0.4164+0.2424+0.08246)*2.61e-2, - nGenEvents = 200384*1.0, - triggers = [], - effCorrFactor = 1 ) - - -HiggsSUSYBB80 = cfg.MCComponent( - name = 'HiggsSUSYBB80', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB90 = cfg.MCComponent( - name = 'HiggsSUSYBB90', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB100 = cfg.MCComponent( - name = 'HiggsSUSYBB100', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB110 = cfg.MCComponent( - name = 'HiggsSUSYBB110', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB120 = cfg.MCComponent( - name = 'HiggsSUSYBB120', - files = [], - xSection = 1.0, - nGenEvents = 991913*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB130 = cfg.MCComponent( - name = 'HiggsSUSYBB130', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB140 = cfg.MCComponent( - name = 'HiggsSUSYBB140', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB160 = cfg.MCComponent( - name = 'HiggsSUSYBB160', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB180 = cfg.MCComponent( - name = 'HiggsSUSYBB180', - files = [], - xSection = 1.0, - nGenEvents = 967197*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB200 = cfg.MCComponent( - name = 'HiggsSUSYBB200', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB250 = cfg.MCComponent( - name = 'HiggsSUSYBB250', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB300 = cfg.MCComponent( - name = 'HiggsSUSYBB300', - files = [], - xSection = 1.0, - nGenEvents = 999900*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB350 = cfg.MCComponent( - name = 'HiggsSUSYBB350', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB400 = cfg.MCComponent( - name = 'HiggsSUSYBB400', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB450 = cfg.MCComponent( - name = 'HiggsSUSYBB450', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB500 = cfg.MCComponent( - name = 'HiggsSUSYBB500', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB600 = cfg.MCComponent( - name = 'HiggsSUSYBB600', - files = [], - xSection = 1.0, - nGenEvents = 987577*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB700 = cfg.MCComponent( - name = 'HiggsSUSYBB700', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB800 = cfg.MCComponent( - name = 'HiggsSUSYBB800', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB900 = cfg.MCComponent( - name = 'HiggsSUSYBB900', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB1000 = cfg.MCComponent( - name = 'HiggsSUSYBB1000', - files = [], - xSection = 1.0, - nGenEvents = 996838*1.0, - triggers = [], - effCorrFactor = 1 ) - - -HiggsSUSYGluGlu80 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu80', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu90 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu90', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu100 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu100', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu110 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu110', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu120 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu120', - files = [], - xSection = 1.0, - nGenEvents = 1000620*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu130 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu130', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu140 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu140', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu160 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu160', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu180 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu180', - files = [], - xSection = 1.0, - nGenEvents = 997200*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu200 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu200', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu250 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu250', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu300 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu300', - files = [], - xSection = 1.0, - nGenEvents = 990976*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu350 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu350', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu400 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu400', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu450 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu450', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu500 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu500', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu600 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu600', - files = [], - xSection = 1.0, - nGenEvents = 980316*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu700 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu700', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu800 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu800', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu1000 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu1000', - files = [], - xSection = 1.0, - nGenEvents = 994294*1.0, - triggers = [], - effCorrFactor = 1 ) - - - -mc_higgs_gg = [ - Higgsgg110, - Higgsgg115, - Higgsgg120, - Higgsgg125, - Higgsgg130, - Higgsgg135, - Higgsgg140, - Higgsgg145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['gg']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_vbf = [ - HiggsVBF110, - HiggsVBF115, - HiggsVBF120, - HiggsVBF125, - HiggsVBF130, - HiggsVBF135, - HiggsVBF140, - HiggsVBF145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['VBF']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_VH = [ - HiggsVH110, - HiggsVH115, - HiggsVH120, - HiggsVH125, - HiggsVH130, - HiggsVH135, - HiggsVH140, - HiggsVH145, - ] - -mc_higgs_SUSYBB = [ - HiggsSUSYBB80, - HiggsSUSYBB90, - HiggsSUSYBB100, - HiggsSUSYBB110, - HiggsSUSYBB120, - HiggsSUSYBB130, - HiggsSUSYBB140, - HiggsSUSYBB160, - HiggsSUSYBB180, - HiggsSUSYBB200, - HiggsSUSYBB250, - HiggsSUSYBB300, - HiggsSUSYBB350, - HiggsSUSYBB400, - HiggsSUSYBB450, - HiggsSUSYBB500, - HiggsSUSYBB600, - HiggsSUSYBB700, - HiggsSUSYBB800, - HiggsSUSYBB1000, - ] - -mc_higgs_SUSYGluGlu = [ - HiggsSUSYGluGlu80, - HiggsSUSYGluGlu90, - HiggsSUSYGluGlu100, - HiggsSUSYGluGlu110, - HiggsSUSYGluGlu120, - HiggsSUSYGluGlu130, - HiggsSUSYGluGlu140, - HiggsSUSYGluGlu160, - HiggsSUSYGluGlu180, - HiggsSUSYGluGlu200, - HiggsSUSYGluGlu250, - HiggsSUSYGluGlu300, - HiggsSUSYGluGlu350, - HiggsSUSYGluGlu400, - HiggsSUSYGluGlu450, - HiggsSUSYGluGlu500, - HiggsSUSYGluGlu600, - HiggsSUSYGluGlu700, - HiggsSUSYGluGlu800, - HiggsSUSYGluGlu1000, - ] - -mc_higgs = copy.copy( mc_higgs_gg ) + copy.copy( mc_higgs_vbf ) + copy.copy( mc_higgs_VH ) + copy.copy( mc_higgs_SUSYBB ) + copy.copy( mc_higgs_SUSYGluGlu ) - - - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_diTau import * - -user = 'hinzmann' -user2 = 'manzoni' -user3 = 'cbern' -aod = 'V5_B' -pat = 'PAT_CMG_V5_8_0' -htt = 'HTT_Sep12_hinzmann' -htt2 = 'HTT_29Jan_metType1Recoil' -htt3 = 'TAUTAU_Nom_Jan30' -htt4 = 'TAUTAU_Up_Jan30' -htt5 = 'TAUTAU_Down_Jan30' -htt_nom = 'HTT_Feb5_hinzmann_Nom' -htt_up = 'HTT_Feb5_hinzmann_Up' -htt_down = 'HTT_Feb5_hinzmann_Down' -filePattern = 'diTau.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2012A_PromptReco_v1.files = getFiles('/Tau/Run2012A-13Jul2012-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012A-recover-06Aug2012-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2012B_PromptReco_v1.files = getFiles('/Tau/Run2012B-13Jul2012-v1/AOD/V5/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2012C_PromptReco_v1.files = getFiles('/Tau/Run2012C-24Aug2012-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2012C_PromptReco_v2.files = getFiles('/Tau/Run2012C-PromptReco-v2/AOD/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2012D_PromptReco_v1.files = getFiles('/Tau/Run2012D-PromptReco-v1/AOD/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# Embedded samples -------------------------------------------------------------------- - -cache = True - -embed_Run2012A_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012A_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_Run2012A_13Jul2012_v1_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) + \ - getFiles('/DoubleMu/StoreResults-DoubleMu_Run2012A-recover_06Aug2012_v1_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - triggers = [], - ) - -embed_Run2012B_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012B_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_Run2012B_13Jul2012_v4_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - triggers = [], - ) - -embed_Run2012C_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012C_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_Run2012C_24Aug2012_v1_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - triggers = [], - ) - -embed_Run2012C_PromptReco_v2 = cfg.EmbedComponent( - name = 'embed_Run2012C_PromptReco_v2', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_Run2012C_PromptReco_v2_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - triggers = [], - ) - -embed_Run2012D_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012D_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_2012D_PromptReco_v1_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - triggers = [], - ) - -# MC spring12 ---------------------------------------------------------------------------- - -#DYJets.files = getFiles('/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -DYJets.files = getFiles('/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt3), user3, filePattern, cache) -DYJets.nGenEvents = 30459503*0.99836254 * 253./5. ## computing efficiency -DYJets.xSection = 3503.71 - -DY1Jets = cfg.MCComponent( - name = 'DY1Jets', - #files = getFiles('/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - files = getFiles('/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt3), user3, filePattern, cache), - xSection = 561.0, - nGenEvents = 24045248*1.0, - triggers = [], - effCorrFactor = 1 ) - -DY2Jets = cfg.MCComponent( - name = 'DY2Jets', - #files = getFiles('/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7C-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - files = getFiles('/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7C-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt3), user3, filePattern, cache), - xSection = 181.0, - nGenEvents = 21852156*0.999445, - triggers = [], - effCorrFactor = 1 ) - -DY3Jets = cfg.MCComponent( - name = 'DY3Jets', - #files = getFiles('/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - files = getFiles('/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt3), user3, filePattern, cache), - xSection = 51.1, - nGenEvents = 11015445*1.0, - triggers = [], - effCorrFactor = 1 ) - -DY4Jets = cfg.MCComponent( - name = 'DY4Jets', - #files = getFiles('/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - files = getFiles('/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt3), user3, filePattern, cache), - xSection = 23.04, - nGenEvents = 6402827*1.0, - triggers = [], - effCorrFactor = 1 ) - -#WJets.files = getFiles('/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) + \ -# getFiles('/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -WJets.files = getFiles('/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt='HTT_29Jan_metType1Recoil'), 'manzoni', filePattern, cache) + \ - getFiles('/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt='HTT_29Jan_metType1Recoil'), 'manzoni', filePattern, cache) -WJets.nGenEvents = 57709905*0.99037+18393090*0.993474 - -W1Jets = cfg.MCComponent( - name = 'W1Jets', - files = getFiles('/W1JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - #files = getFiles('/W1JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt='HTT_29Jan_metType1Recoil'), 'manzoni', filePattern, cache), - xSection = 6440.4, - nGenEvents = 23141598*0.981021, - triggers = [], - effCorrFactor = 1 ) - -W2Jets = cfg.MCComponent( - name = 'W2Jets', - files = getFiles('/W2JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - #files = getFiles('/W2JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt='HTT_29Jan_metType1Recoil'), 'manzoni', filePattern, cache), - xSection = 2087.2, - nGenEvents = 34044921*0.981852, - triggers = [], - effCorrFactor = 1 ) - -W3Jets = cfg.MCComponent( - name = 'W3Jets', - files = getFiles('/W3JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - #files = getFiles('/W3JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt='HTT_29Jan_metType1Recoil'), 'manzoni', filePattern, cache), - xSection = 619.0, - nGenEvents = 15539503*0.979117, - triggers = [], - effCorrFactor = 1 ) - -W4Jets = cfg.MCComponent( - name = 'W4Jets', - files = getFiles('/W4JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt2), user2, filePattern, cache), - #files = getFiles('/W4JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt='HTT_29Jan_metType1Recoil'), 'manzoni', filePattern, cache), - xSection = 255.2, - nGenEvents = 13382803*0.981096, - triggers = [], - effCorrFactor = 1 ) - -T_s = cfg.MCComponent( - name = 'T_s', - files = [],#getFiles('/T_s-channel_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_10_0/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - xSection = 3.79, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -T_t = cfg.MCComponent( - name = 'T_t', - files = [],#getFiles('/T_t-channel_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_10_0/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - xSection = 56.4, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -T_tW = cfg.MCComponent( - name = 'T_tW', - files = getFiles('/T_tW-channel-DR_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - xSection = 11.1, - nGenEvents = 497658*1.0, - triggers = [], - effCorrFactor = 1 ) - -Tbar_s = cfg.MCComponent( - name = 'Tbar_s', - files = [],#getFiles('/Tbar_s-channel_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PATbar_CMG_V5_10_0/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - xSection = 1.76, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -Tbar_t = cfg.MCComponent( - name = 'Tbar_t', - files = [],#getFiles('/Tbar_t-channel_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PATbar_CMG_V5_10_0/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - xSection = 30.7, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -Tbar_tW = cfg.MCComponent( - name = 'Tbar_tW', - files = getFiles('/Tbar_tW-channel-DR_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - xSection = 11.1, - nGenEvents = 986920*1.0, - triggers = [], - effCorrFactor = 1 ) - -TTJets.files = getFiles('/TTJets_MassiveBinDECAY_TuneZ2star_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -TTJets.nGenEvents = 6923750*0.99747 - -WW = cfg.MCComponent( - name = 'WW', - files = [], - xSection = 43., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WW.files = getFiles('/WW_TuneZ2star_8TeV_pythia6_tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -WW.nGenEvents = 10000431*0.99793 - -WZ = cfg.MCComponent( - name = 'WZ', - files = [], - xSection = 18.2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZ.files = getFiles('/WZ_TuneZ2star_8TeV_pythia6_tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -WZ.nGenEvents = 10000283*1.0 - -ZZ = cfg.MCComponent( - name = 'ZZ', - files = [], - xSection = 5.9, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZ.files = getFiles('/ZZ_TuneZ2star_8TeV_pythia6_tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -ZZ.nGenEvents = 9799908*0.99878 - -QCD = cfg.DataComponent( - name = 'QCD', - files = [], - #files = getFiles('/QCD_Pt-15to3000_TuneZ2star_Flat_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v5/AODSIM/{aod}/{pat}/H2TAUTAU_hinzmann1June12'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - intLumi = 1.0, # dummy - triggers = [] ) - -QCD80 = cfg.DataComponent( - name = 'QCD80', - #files = [], - files = getFiles('/QCD_Pt-80to120_TuneZ2star_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v3/AODSIM/{aod}/V5_B/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - intLumi = 1.0, # dummy - triggers = [] ) - -QCD120 = cfg.DataComponent( - name = 'QCD120', - #files = [], - files = getFiles('/QCD_Pt-120to170_TuneZ2star_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v3/AODSIM/{aod}/V5_B/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - intLumi = 1.0, # dummy - triggers = [] ) - -# Higgs Summer11 ---------------------------------------------------------------------------- - -#Higgsgg110.files = getFiles('/GluGluToHToTauTau_M-110_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#Higgsgg115.files = getFiles('/GluGluToHToTauTau_M-115_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#Higgsgg120.files = getFiles('/GluGluToHToTauTau_M-120_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#Higgsgg130.files = getFiles('/GluGluToHToTauTau_M-130_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#Higgsgg135.files = getFiles('/GluGluToHToTauTau_M-135_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#Higgsgg140.files = getFiles('/GluGluToHToTauTau_M-140_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#Higgsgg145.files = getFiles('/GluGluToHToTauTau_M-145_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVBF140.files = getFiles('/VBF_HToTauTau_M-140_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVBF145.files = getFiles('/VBF_HToTauTau_M-145_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVH110.files = getFiles('/WH_ZH_TTH_HToTauTau_M-110_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVH115.files = getFiles('/WH_ZH_TTH_HToTauTau_M-115_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVH120.files = getFiles('/WH_ZH_TTH_HToTauTau_M-120_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVH125.files = getFiles('/WH_ZH_TTH_HToTauTau_M-125_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVH130.files = getFiles('/WH_ZH_TTH_HToTauTau_M-130_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVH135.files = getFiles('/WH_ZH_TTH_HToTauTau_M-135_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVH140.files = getFiles('/WH_ZH_TTH_HToTauTau_M-140_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -#HiggsVH145.files = getFiles('/WH_ZH_TTH_HToTauTau_M-145_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) - - -##################### - - -Higgsgg110.files = getFiles('/GluGluToHToTauTau_M-110_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -Higgsgg115.files = getFiles('/GluGluToHToTauTau_M-115_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -Higgsgg120.files = getFiles('/GluGluToHToTauTau_M-120_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt_nom), user, filePattern, cache) -Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -Higgsgg130.files = getFiles('/GluGluToHToTauTau_M-130_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -Higgsgg135.files = getFiles('/GluGluToHToTauTau_M-135_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -Higgsgg140.files = getFiles('/GluGluToHToTauTau_M-140_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -Higgsgg145.files = getFiles('/GluGluToHToTauTau_M-145_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVBF140.files = getFiles('/VBF_HToTauTau_M-140_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVBF145.files = getFiles('/VBF_HToTauTau_M-145_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVH110.files = getFiles('/WH_ZH_TTH_HToTauTau_M-110_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVH115.files = getFiles('/WH_ZH_TTH_HToTauTau_M-115_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVH120.files = getFiles('/WH_ZH_TTH_HToTauTau_M-120_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVH125.files = getFiles('/WH_ZH_TTH_HToTauTau_M-125_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVH130.files = getFiles('/WH_ZH_TTH_HToTauTau_M-130_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVH135.files = getFiles('/WH_ZH_TTH_HToTauTau_M-135_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) -HiggsVH140.files = getFiles('/WH_ZH_TTH_HToTauTau_M-140_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt5), user3, filePattern, cache) - -### -HiggsVH145.files = getFiles('/WH_ZH_TTH_HToTauTau_M-145_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt4), user3, filePattern, cache) - - - - - -##################### - - - - - -HiggsSUSYBB80.files = getFiles('/SUSYBBHToTauTau_M-80_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB90.files = getFiles('/SUSYBBHToTauTau_M-90_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB100.files = getFiles('/SUSYBBHToTauTau_M-100_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB110.files = getFiles('/SUSYBBHToTauTau_M-110_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB120.files = getFiles('/SUSYBBHToTauTau_M-120_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB130.files = getFiles('/SUSYBBHToTauTau_M-130_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB140.files = getFiles('/SUSYBBHToTauTau_M-140_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB160.files = getFiles('/SUSYBBHToTauTau_M-160_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB180.files = getFiles('/SUSYBBHToTauTau_M-180_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB200.files = getFiles('/SUSYBBHToTauTau_M-200_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB250.files = getFiles('/SUSYBBHToTauTau_M-250_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB300.files = getFiles('/SUSYBBHToTauTau_M-300_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB350.files = getFiles('/SUSYBBHToTauTau_M-350_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB400.files = getFiles('/SUSYBBHToTauTau_M-400_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB450.files = getFiles('/SUSYBBHToTauTau_M-450_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB500.files = getFiles('/SUSYBBHToTauTau_M-500_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB600.files = getFiles('/SUSYBBHToTauTau_M-600_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB700.files = getFiles('/SUSYBBHToTauTau_M-700_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB800.files = getFiles('/SUSYBBHToTauTau_M-800_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYBB1000.files = getFiles('/SUSYBBHToTauTau_M-1000_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) - -HiggsSUSYGluGlu80.files = getFiles('/SUSYGluGluToHToTauTau_M-80_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu90.files = getFiles('/SUSYGluGluToHToTauTau_M-90_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu100.files = getFiles('/SUSYGluGluToHToTauTau_M-100_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu110.files = getFiles('/SUSYGluGluToHToTauTau_M-110_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu120.files = getFiles('/SUSYGluGluToHToTauTau_M-120_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu130.files = getFiles('/SUSYGluGluToHToTauTau_M-130_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu140.files = getFiles('/SUSYGluGluToHToTauTau_M-140_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu160.files = getFiles('/SUSYGluGluToHToTauTau_M-160_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu180.files = getFiles('/SUSYGluGluToHToTauTau_M-180_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu200.files = getFiles('/SUSYGluGluToHToTauTau_M-200_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu250.files = getFiles('/SUSYGluGluToHToTauTau_M-250_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu300.files = getFiles('/SUSYGluGluToHToTauTau_M-300_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu350.files = getFiles('/SUSYGluGluToHToTauTau_M-350_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu400.files = getFiles('/SUSYGluGluToHToTauTau_M-400_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu450.files = getFiles('/SUSYGluGluToHToTauTau_M-450_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu500.files = getFiles('/SUSYGluGluToHToTauTau_M-500_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu600.files = getFiles('/SUSYGluGluToHToTauTau_M-600_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu700.files = getFiles('/SUSYGluGluToHToTauTau_M-700_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu800.files = getFiles('/SUSYGluGluToHToTauTau_M-800_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) -HiggsSUSYGluGlu1000.files = getFiles('/SUSYGluGluToHToTauTau_M-1000_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache) - -GluGluToHToBB125 = cfg.MCComponent( - name = 'GluGluToHToBB125', - #files = [], - files = getFiles('/GluGluToHToBB_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0_tauSkim/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - xSection = 19.52*5.77e-1, # dummy - triggers = [], - nGenEvents = 999908, - effCorrFactor = 1 ) - -VBF_HToBB125 = cfg.MCComponent( - name = 'VBF_HToBB125', - #files = [], - files = getFiles('/VBF_HToBB_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0_tauSkim/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - xSection = 1.559*5.77e-1, # dummy - triggers = [], - nGenEvents = 998844, - effCorrFactor = 1 ) - -TTH_HToBB125 = cfg.MCComponent( - name = 'TTH_HToBB125', - #files = [], - files = getFiles('/TTH_HToBB_M-125_8TeV-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0_tauSkim/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern, cache), - xSection = (0.1302)*5.77e-1, # VH 0.6966+0.3943+ - triggers = [], - nGenEvents = 1000008, - effCorrFactor = 1 ) - -mc_spring12 = copy.copy( mc_ewk ) -mc_spring12.extend( mc_higgs ) -mc_spring12.extend([DY1Jets, DY2Jets, DY3Jets, DY4Jets, W1Jets, W2Jets, W3Jets, W4Jets, WW, WZ, ZZ]) -mc_spring12.extend([T_s, T_t, T_tW, Tbar_s, Tbar_t, Tbar_tW]) -mc_spring12.extend([QCD]) -mc_spring12.extend([GluGluToHToBB125, VBF_HToBB125, TTH_HToBB125]) - -for data in data_2012A: - data.triggers = data_triggers_2012A -for data in data_2012B: - data.triggers = data_triggers_2012B -for data in data_2012C: - data.triggers = data_triggers_2012C -for data in data_2012D: - data.triggers = data_triggers_2012D - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) - -###### -for sam in MC_list: - sam.triggers = mc_triggers -###### - -MC = [] -for mc in mc_spring12: - mc.triggers = mc_triggers - MC.append(mc) - -embedded_2012 = [embed_Run2012A_PromptReco_v1, embed_Run2012B_PromptReco_v1, embed_Run2012C_PromptReco_v1, embed_Run2012C_PromptReco_v2, embed_Run2012D_PromptReco_v1] - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2012:' - print - printSamples(data_2012) - - print 'MC spring12:' - print - printSamples(mc_spring12) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_Sep5.py b/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_Sep5.py deleted file mode 100644 index ac34bd93a91c..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_Sep5.py +++ /dev/null @@ -1,559 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2012.data_diTau import * -# from CMGTools.H2TauTau.proto.samples.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * - -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -#from CMGTools.RootTools.yellowreport.YRParser import yrparser - -Higgsgg110 = cfg.MCComponent( - name = 'Higgsgg110', - files = [], - xSection = 25.04*8.02e-2, - nGenEvents =999907*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg115 = cfg.MCComponent( - name = 'Higgsgg115', - files = [], - xSection = 22.96*7.65e-2, - nGenEvents = 917825*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg120 = cfg.MCComponent( - name = 'Higgsgg120', - files = [], - xSection = 21.13*7.10e-2, - nGenEvents = 4999561*0.9937, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg125 = cfg.MCComponent( - name = 'Higgsgg125', - files = [], - xSection = 19.52*6.37e-2, - nGenEvents = 968134*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg130 = cfg.MCComponent( - name = 'Higgsgg130', - files = [], - xSection = 18.07*5.48e-2, - nGenEvents = 999921, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg135 = cfg.MCComponent( - name = 'Higgsgg135', - files = [], - xSection = 16.79*4.52e-2, - nGenEvents = 860729*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg140 = cfg.MCComponent( - name = 'Higgsgg140', - files = [], - xSection = 15.63*3.54e-2, - nGenEvents = 999932*1.0, - triggers = [], - effCorrFactor = 1 ) - -Higgsgg145 = cfg.MCComponent( - name = 'Higgsgg145', - files = [], - xSection = 14.59*2.61e-2, - nGenEvents = 962119, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF110 = cfg.MCComponent( - name = 'HiggsVBF110', - files = [], - xSection = 1.791*8.02e-2, - nGenEvents = 499385*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF115 = cfg.MCComponent( - name = 'HiggsVBF115', - files = [], - xSection = 1.709*7.65e-2, - nGenEvents = 998870*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF120 = cfg.MCComponent( - name = 'HiggsVBF120', - files = [], - xSection = 1.632*7.10e-2, - nGenEvents = 4798759*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF125 = cfg.MCComponent( - name = 'HiggsVBF125', - files = [], - xSection = 1.559*6.37e-2, - nGenEvents = 998836*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF130 = cfg.MCComponent( - name = 'HiggsVBF130', - files = [], - xSection = 1.490*5.48e-2, - nGenEvents = 998790*0.99190, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF135 = cfg.MCComponent( - name = 'HiggsVBF135', - files = [], - xSection = 1.425*4.52e-2, - nGenEvents = 998817*0.9900, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF140 = cfg.MCComponent( - name = 'HiggsVBF140', - files = [], - xSection = 1.365*3.54e-2, - nGenEvents = 998894*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF145 = cfg.MCComponent( - name = 'HiggsVBF145', - files = [], - xSection = 1.306*2.61e-2, - nGenEvents = 998883*1.0, - triggers = [], - effCorrFactor = 1 ) - - - -# xsec WH + ZH + TTH -# https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt8TeV -HiggsVH110 = cfg.MCComponent( - name = 'HiggsVH110', - files = [], - xSection = (1.060+0.5869+0.1887)*8.02e-2, - nGenEvents = 200408*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH115 = cfg.MCComponent( - name = 'HiggsVH115', - files = [], - xSection = (0.9165+0.5117+0.1663)*7.65e-2, - nGenEvents = 200460*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH120 = cfg.MCComponent( - name = 'HiggsVH120', - files = [], - xSection = (0.7859+0.4483+0.1470)*7.10e-2, - nGenEvents = 200448*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH125 = cfg.MCComponent( - name = 'HiggsVH125', - files = [], - xSection = (0.6966+0.3943+0.1302)*6.37e-2, - nGenEvents = 200124*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH130 = cfg.MCComponent( - name = 'HiggsVH130', - files = [], - xSection = (0.6095+0.3473+0.1157)*5.48e-2, - nGenEvents = 200080*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH135 = cfg.MCComponent( - name = 'HiggsVH135', - files = [], - xSection = (0.5351+0.3074+0.1031)*4.52e-2, - nGenEvents = 200128*0.97169, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH140 = cfg.MCComponent( - name = 'HiggsVH140', - files = [], - xSection = (0.4713+0.2728+0.09207)*3.54e-2, - nGenEvents = 200186*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH145 = cfg.MCComponent( - name = 'HiggsVH145', - files = [], - xSection = (0.4164+0.2424+0.08246)*2.61e-2, - nGenEvents = 200384*1.0, - triggers = [], - effCorrFactor = 1 ) - - -HiggsSUSYBB120 = cfg.MCComponent( - name = 'HiggsSUSYBB120', - files = [], - xSection = 1.0, - nGenEvents = 991913*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB180 = cfg.MCComponent( - name = 'HiggsSUSYBB180', - files = [], - xSection = 1.0, - nGenEvents = 967197*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB300 = cfg.MCComponent( - name = 'HiggsSUSYBB300', - files = [], - xSection = 1.0, - nGenEvents = 999900*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB600 = cfg.MCComponent( - name = 'HiggsSUSYBB600', - files = [], - xSection = 1.0, - nGenEvents = 987577*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB1000 = cfg.MCComponent( - name = 'HiggsSUSYBB1000', - files = [], - xSection = 1.0, - nGenEvents = 996838*1.0, - triggers = [], - effCorrFactor = 1 ) - - -HiggsSUSYGluGlu120 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu120', - files = [], - xSection = 1.0, - nGenEvents = 1000620*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu180 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu180', - files = [], - xSection = 1.0, - nGenEvents = 997200*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu300 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu300', - files = [], - xSection = 1.0, - nGenEvents = 990976*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu600 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu600', - files = [], - xSection = 1.0, - nGenEvents = 980316*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu1000 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu1000', - files = [], - xSection = 1.0, - nGenEvents = 994294*1.0, - triggers = [], - effCorrFactor = 1 ) - - - -mc_higgs_gg = [ - Higgsgg110, - Higgsgg115, - Higgsgg120, - Higgsgg125, - Higgsgg130, - Higgsgg135, - Higgsgg140, - Higgsgg145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['gg']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_vbf = [ - HiggsVBF110, - HiggsVBF115, - HiggsVBF120, - HiggsVBF125, - HiggsVBF130, - HiggsVBF135, - HiggsVBF140, - HiggsVBF145, - ] - -#pattern = re.compile('Higgs(\D+)(\d+)') -#for h in mc_higgs_vbf: -# m = pattern.match( h.name ) -# process = m.group(1) -# mass = float(m.group(2)) -# h.xSection = yrparser.get(mass)['VBF']['sigma'] -# print h.name, 'sigma = ', h.xSection - -mc_higgs_VH = [ - HiggsVH110, - HiggsVH115, - HiggsVH120, - HiggsVH125, - HiggsVH130, - HiggsVH135, - HiggsVH140, - HiggsVH145, - ] - -mc_higgs_SUSYBB = [ - HiggsSUSYBB120, - HiggsSUSYBB180, - HiggsSUSYBB300, - HiggsSUSYBB600, - HiggsSUSYBB1000, - ] - -mc_higgs_SUSYGluGlu = [ - HiggsSUSYGluGlu120, - HiggsSUSYGluGlu180, - HiggsSUSYGluGlu300, - HiggsSUSYGluGlu600, - HiggsSUSYGluGlu1000, - ] - -mc_higgs = copy.copy( mc_higgs_gg ) + copy.copy( mc_higgs_vbf ) + copy.copy( mc_higgs_VH ) + copy.copy( mc_higgs_SUSYBB ) + copy.copy( mc_higgs_SUSYGluGlu ) - - - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_diTau import data_triggers_2012A, data_triggers_2012B, data_triggers_2012C, mc_triggers_spring12 - -user = 'hinzmann' -aod = 'V5_B' -pat = 'PAT_CMG_V5_6_0_B' -htt = 'HTT_Sep12_hinzmann' -filePattern = 'diTau.*fullsel.*root' - -# Data -------------------------------------------------------------------------------- - -#data_Run2012A_PromptReco_v1.files = getFiles('/Tau/Run2012A-PromptReco-v1/RECO/PAT_CMG_V5_4_0_runrange_190605-194076/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -#data_Run2012B_PromptReco_v1.files = getFiles('/Tau/Run2012B-PromptReco-v1/RECO/PAT_CMG_V5_4_0_runrange_start-194479/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ -# getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_194480-195016/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ -# getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_195017-195396/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ -# getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_195397-195947/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ -# getFiles('/Tau/Run2012B-PromptReco-v1/AOD/PAT_CMG_V5_4_0_runrange_195948-196531/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -data_Run2012A_PromptReco_v1.files = getFiles('/Tau/Run2012A-13Jul2012-v1/AOD/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2012B_PromptReco_v1.files = getFiles('/Tau/Run2012B-13Jul2012-v1/AOD/V5/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2012C_PromptReco_v1.files = getFiles('/Tau/Run2012C-PromptReco-v1/AOD/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -data_Run2012C_PromptReco_v2.files = getFiles('/Tau/Run2012C-PromptReco-v2/AOD/PAT_CMG_V5_7_0_runrange_start-202305/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/Tau/Run2012C-PromptReco-v2/AOD/PAT_CMG_V5_7_0_runrange_202306-end/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -# Embedded samples -------------------------------------------------------------------- - -embed_Run2012A_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012A_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_Run2012A_13Jul2012_v1_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/PAT_CMG_V5_8_0/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/DoubleMu/StoreResults-DoubleMu_Run2012A-recover_06Aug2012_v1_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/PAT_CMG_V5_8_0/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - triggers = [], - ) - -embed_Run2012B_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012B_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_Run2012B_13Jul2012_v4_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/PAT_CMG_V5_8_0/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - triggers = [], - ) - -embed_Run2012C_PromptReco_v1 = cfg.EmbedComponent( - name = 'embed_Run2012C_PromptReco_v1', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_Run2012C_24Aug2012_v1_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/PAT_CMG_V5_8_0/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - triggers = [], - ) - -embed_Run2012C_PromptReco_v2 = cfg.EmbedComponent( - name = 'embed_Run2012C_PromptReco_v2', - files = getFiles('/DoubleMu/StoreResults-DoubleMu_Run2012C_PromptReco_v2_embedded_trans1_tau132_pttau1_17had2_17_v1-f456bdbb960236e5c696adfe9b04eaae/USER/PAT_CMG_V5_8_0/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - triggers = [], - ) - -# MC spring12 ---------------------------------------------------------------------------- - -DYJets.files = getFiles('/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -DYJets.nGenEvents = 30459503*0.99749 - -WJets.files = getFiles('/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) + \ - getFiles('/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WJets.nGenEvents = 57709905*0.99126+18393090*0.98926 - -W3Jets = cfg.MCComponent( - name = 'W3Jets', - files = getFiles('/W3JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12-PU_S7_START52_V9-v2/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - xSection = 612.0, - nGenEvents = 15539503*0.9954, - triggers = [], - effCorrFactor = 1 ) - -TTJets.files = getFiles('/TTJets_TuneZ2star_8TeV-madgraph-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -TTJets.nGenEvents = 6736135*0.9696 - -WW = cfg.MCComponent( - name = 'WW', - files = [], - xSection = 43., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WW.files = getFiles('/WW_TuneZ2star_8TeV_pythia6_tauola/Summer12_PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WW.nGenEvents = 10000431*0.9981 - -WZ = cfg.MCComponent( - name = 'WZ', - files = [], - xSection = 18.2, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -WZ.files = getFiles('/WZ_TuneZ2star_8TeV_pythia6_tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -WZ.nGenEvents = 10000283*0.9988 - -ZZ = cfg.MCComponent( - name = 'ZZ', - files = [], - xSection = 5.9, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - -ZZ.files = getFiles('/ZZ_TuneZ2star_8TeV_pythia6_tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -ZZ.nGenEvents = 9799908*1.0 - -QCD = cfg.DataComponent( - name = 'QCD', - files = [], - #files = getFiles('/QCD_Pt-15to3000_TuneZ2star_Flat_8TeV_pythia6/Summer12-PU_S7_START52_V9-v5/AODSIM/{aod}/{pat}/H2TAUTAU_hinzmann1June12'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - intLumi = 1.0, # dummy - triggers = [] ) - -QCD50 = cfg.DataComponent( - name = 'QCD50', - files = [], - #files = getFiles('/QCD_Pt-50to80_TuneZ2star_8TeV_pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/H2TAUTAU_hinzmann1June12'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - intLumi = 1.0, # dummy - triggers = [] ) - -QCD80 = cfg.DataComponent( - name = 'QCD80', - files = [], - #files = getFiles('/QCD_Pt-80to120_TuneZ2star_8TeV_pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/H2TAUTAU_hinzmann1June12'.format(aod=aod, pat=pat, htt=htt), user, filePattern), - intLumi = 1.0, # dummy - triggers = [] ) - -# Higgs Summer11 ---------------------------------------------------------------------------- - -Higgsgg110.files = getFiles('/GluGluToHToTauTau_M-110_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg115.files = getFiles('/GluGluToHToTauTau_M-115_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg120.files = getFiles('/GluGluToHToTauTau_M-120_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -#Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{pat}/{htt}_rawMET'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -#Higgsgg125.files = getFiles('/GluGluToHToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}_rawMET'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -Higgsgg130.files = getFiles('/GluGluToHToTauTau_M-130_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg135.files = getFiles('/GluGluToHToTauTau_M-135_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg140.files = getFiles('/GluGluToHToTauTau_M-140_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -Higgsgg145.files = getFiles('/GluGluToHToTauTau_M-145_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF110.files = getFiles('/VBF_HToTauTau_M-110_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF115.files = getFiles('/VBF_HToTauTau_M-115_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF120.files = getFiles('/VBF_HToTauTau_M-120_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -#HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{pat}/HTT_Oct2_hinzmann'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF130.files = getFiles('/VBF_HToTauTau_M-130_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF135.files = getFiles('/VBF_HToTauTau_M-135_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF140.files = getFiles('/VBF_HToTauTau_M-140_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVBF145.files = getFiles('/VBF_HToTauTau_M-145_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH110.files = getFiles('/WH_ZH_TTH_HToTauTau_M-110_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v3/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH115.files = getFiles('/WH_ZH_TTH_HToTauTau_M-115_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH120.files = getFiles('/WH_ZH_TTH_HToTauTau_M-120_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH125.files = getFiles('/WH_ZH_TTH_HToTauTau_M-125_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH130.files = getFiles('/WH_ZH_TTH_HToTauTau_M-130_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH135.files = getFiles('/WH_ZH_TTH_HToTauTau_M-135_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH140.files = getFiles('/WH_ZH_TTH_HToTauTau_M-140_8TeV-pythia6-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsVH145.files = getFiles('/WH_ZH_TTH_HToTauTau_M-145_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -HiggsSUSYBB120.files = getFiles('/SUSYBBHToTauTau_M-120_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsSUSYBB180.files = getFiles('/SUSYBBHToTauTau_M-180_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsSUSYBB300.files = getFiles('/SUSYBBHToTauTau_M-300_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsSUSYBB600.files = getFiles('/SUSYBBHToTauTau_M-600_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsSUSYBB1000.files = getFiles('/SUSYBBHToTauTau_M-1000_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -HiggsSUSYGluGlu120.files = getFiles('/SUSYGluGluToHToTauTau_M-120_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsSUSYGluGlu180.files = getFiles('/SUSYGluGluToHToTauTau_M-180_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsSUSYGluGlu300.files = getFiles('/SUSYGluGluToHToTauTau_M-300_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v2/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsSUSYGluGlu600.files = getFiles('/SUSYGluGluToHToTauTau_M-120_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) -HiggsSUSYGluGlu1000.files = getFiles('/SUSYGluGluToHToTauTau_M-120_8TeV-pythia6-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/{aod}/{pat}/{htt}'.format(aod=aod, pat=pat, htt=htt), user, filePattern) - -mc_spring12 = copy.copy( mc_ewk ) -mc_spring12.extend( mc_higgs ) -mc_spring12.extend([W3Jets, WW, WZ, ZZ]) -mc_spring12.extend([QCD]) - -for data in data_2012A: - data.triggers = data_triggers_2012A - -for data in data_2012B: - data.triggers = data_triggers_2012B - -MC = [] -for mc in mc_spring12: - mc.triggers = mc_triggers_spring12 - MC.append(mc) - -embedded_2012 = [embed_Run2012A_PromptReco_v1, embed_Run2012B_PromptReco_v1, embed_Run2012C_PromptReco_v1, embed_Run2012C_PromptReco_v2] - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2012:' - print - printSamples(data_2012) - - print 'MC spring12:' - print - printSamples(mc_spring12) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_down_Feb22.py b/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_down_Feb22.py deleted file mode 100644 index a037a12c8004..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_down_Feb22.py +++ /dev/null @@ -1,101 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2012.data_diTau import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs_susy import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_diTau import * - -aliases = { - '/VBF_.*START53.*' :'HiggsVBF', - '/GluGluTo.*START53.*' :'HiggsGGH', - '/SUSYBB.*START53.*' :'HiggsSUSYBB', - '/SUSYGluGluTo.*START53.*':'HiggsSUSYGluGlu', - '/WH_ZH_TTH_.*START53.*':'HiggsVH', - '/DYJets.*START53.*' :'DYJets', - '/DY1Jets.*START53.*':'DY1Jets', - '/DY2Jets.*START53.*':'DY2Jets', - '/DY3Jets.*START53.*':'DY3Jets', - '/DY4Jets.*START53.*':'DY4Jets', - '/WJetsToLNu.*START53.*':'WJets', - '/W1Jets.*START53.*' :'W1Jets', - '/W2Jets.*START53.*' :'W2Jets', - '/W3Jets.*START53.*' :'W3Jets', - '/W4Jets.*START53.*' :'W4Jets', - '/TTJets.*START53.*' :'TTJets', - '/T_tW-channel.*START53.*' :'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/Tau/Run2012A-13Jul2012-v1.*' :'data_Run2011A_PromptReco_v1', - '/Tau/Run2012A-recover-06Aug2012-v1.*' :'data_Run2011A_PromptReco_v1', - '/Tau/Run2012B-13Jul2012-v1.*' :'data_Run2011B_PromptReco_v1', - '/Tau/Run2012C-24Aug2012-v1.*' :'data_Run2011C_PromptReco_v1', - '/Tau/Run2012C-PromptReco-v2.*' :'data_Run2011C_PromptReco_v2', - '/Tau/Run2012D-PromptReco-v1.*' :'data_Run2011D_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012A_13Jul2012_v1.*' :'embed_Run2012A_13Jul2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012A-recover_06Aug2012_v1.*':'embed_Run2012A_recover_06Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012B_13Jul2012_v4.*' :'embed_Run2012B_13Jul2012_v4', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_24Aug2012_v1.*' :'embed_Run2012C_24Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_PromptReco_v2.*' :'embed_Run2012C_PromptReco_v2', - '/DoubleMu/StoreResults-DoubleMu_2012D_PromptReco_v1.*' :'embed_2012D_PromptReco_v1', - '/WW_TuneZ2.*START53.*':'WW', - '/WZ_TuneZ2.*START53.*':'WZ', - '/ZZ_TuneZ2.*START53.*':'ZZ', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*' :'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*' :'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*' :'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*' :'ZZJetsTo4L', - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -MC_list.extend( mc_higgs_susy ) - -for sam in MC_list: - sam.triggers = mc_triggers - -for sam in data_2012 : - if '2012A' in sam.name: - sam.triggers = data_triggers_2012A - elif '2012B' in sam.name: - sam.triggers = data_triggers_2012B - elif '2012C' in sam.name: - sam.triggers = data_triggers_2012C - elif '2012D' in sam.name: - sam.triggers = data_triggers_2012D - -allsamples1 = copy.copy( mc_higgs ) -allsamples1.extend( ztt_mc_ewk ) -allsamples1.extend( embed_list ) -allsamples1.extend( mc_higgs_susy ) - -pat1 = '%HTT_Feb6_hinzmann_Down' -connect( allsamples1, pat1, 'diTau.*root', aliases, cache=True, verbose=False) - -allsamples2 = copy.copy( data_2012 ) -allsamples2.extend( t_mc_ewk ) -allsamples2.extend( mc_diboson_incl ) -allsamples2.extend( w_mc_ewk ) -pat2 = '%V5_8_0/HTT_Sep12_hinzmann' -connect( allsamples2, pat2, 'diTau.*root', aliases, cache=True, verbose=False) - -allsamples = copy.copy(allsamples1) -allsamples.extend(allsamples2) - -DYJets.nGenEvents /= 0.8 ## overall trigger efficiency in MC - -for h in mc_higgs : - h.nGenEvents /= 0.8 ## overall trigger efficiency in MC - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_nom_Feb22.py b/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_nom_Feb22.py deleted file mode 100644 index 17bfba2bb3b5..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_nom_Feb22.py +++ /dev/null @@ -1,101 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2012.data_diTau import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs_susy import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_diTau import * - -aliases = { - '/VBF_.*START53.*' :'HiggsVBF', - '/GluGluTo.*START53.*' :'HiggsGGH', - '/SUSYBB.*START53.*' :'HiggsSUSYBB', - '/SUSYGluGluTo.*START53.*':'HiggsSUSYGluGlu', - '/WH_ZH_TTH_.*START53.*':'HiggsVH', - '/DYJets.*START53.*' :'DYJets', - '/DY1Jets.*START53.*':'DY1Jets', - '/DY2Jets.*START53.*':'DY2Jets', - '/DY3Jets.*START53.*':'DY3Jets', - '/DY4Jets.*START53.*':'DY4Jets', - '/WJetsToLNu.*START53.*':'WJets', - '/W1Jets.*START53.*' :'W1Jets', - '/W2Jets.*START53.*' :'W2Jets', - '/W3Jets.*START53.*' :'W3Jets', - '/W4Jets.*START53.*' :'W4Jets', - '/TTJets.*START53.*' :'TTJets', - '/T_tW-channel.*START53.*' :'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/Tau/Run2012A-13Jul2012-v1.*' :'data_Run2011A_PromptReco_v1', - '/Tau/Run2012A-recover-06Aug2012-v1.*' :'data_Run2011A_PromptReco_v1', - '/Tau/Run2012B-13Jul2012-v1.*' :'data_Run2011B_PromptReco_v1', - '/Tau/Run2012C-24Aug2012-v1.*' :'data_Run2011C_PromptReco_v1', - '/Tau/Run2012C-PromptReco-v2.*' :'data_Run2011C_PromptReco_v2', - '/Tau/Run2012D-PromptReco-v1.*' :'data_Run2011D_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012A_13Jul2012_v1.*' :'embed_Run2012A_13Jul2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012A-recover_06Aug2012_v1.*':'embed_Run2012A_recover_06Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012B_13Jul2012_v4.*' :'embed_Run2012B_13Jul2012_v4', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_24Aug2012_v1.*' :'embed_Run2012C_24Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_PromptReco_v2.*' :'embed_Run2012C_PromptReco_v2', - '/DoubleMu/StoreResults-DoubleMu_2012D_PromptReco_v1.*' :'embed_2012D_PromptReco_v1', - '/WW_TuneZ2.*START53.*':'WW', - '/WZ_TuneZ2.*START53.*':'WZ', - '/ZZ_TuneZ2.*START53.*':'ZZ', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*' :'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*' :'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*' :'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*' :'ZZJetsTo4L', - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -MC_list.extend( mc_higgs_susy ) - -for sam in MC_list: - sam.triggers = mc_triggers - -for sam in data_2012 : - if '2012A' in sam.name: - sam.triggers = data_triggers_2012A - elif '2012B' in sam.name: - sam.triggers = data_triggers_2012B - elif '2012C' in sam.name: - sam.triggers = data_triggers_2012C - elif '2012D' in sam.name: - sam.triggers = data_triggers_2012D - -allsamples1 = copy.copy( mc_higgs ) -allsamples1.extend( ztt_mc_ewk ) -allsamples1.extend( embed_list ) -allsamples1.extend( mc_higgs_susy ) - -pat1 = '%HTT_Feb6_hinzmann_Nom' -connect( allsamples1, pat1, 'diTau.*root', aliases, cache=True, verbose=False) - -allsamples2 = copy.copy( data_2012 ) -allsamples2.extend( t_mc_ewk ) -allsamples2.extend( mc_diboson_incl ) -allsamples2.extend( w_mc_ewk ) -pat2 = '%V5_8_0/HTT_Sep12_hinzmann' -connect( allsamples2, pat2, 'diTau.*root', aliases, cache=True, verbose=False) - -allsamples = copy.copy(allsamples1) -allsamples.extend(allsamples2) - -DYJets.nGenEvents /= 0.8 ## overall trigger efficiency in MC - -for h in mc_higgs : - h.nGenEvents /= 0.8 ## overall trigger efficiency in MC - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_up_Feb22.py b/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_up_Feb22.py deleted file mode 100644 index 662ef87b845f..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/diTau_up_Feb22.py +++ /dev/null @@ -1,101 +0,0 @@ -import itertools -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2012.data_diTau import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs_susy import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_diTau import * - -aliases = { - '/VBF_.*START53.*' :'HiggsVBF', - '/GluGluTo.*START53.*' :'HiggsGGH', - '/SUSYBB.*START53.*' :'HiggsSUSYBB', - '/SUSYGluGluTo.*START53.*':'HiggsSUSYGluGlu', - '/WH_ZH_TTH_.*START53.*':'HiggsVH', - '/DYJets.*START53.*' :'DYJets', - '/DY1Jets.*START53.*':'DY1Jets', - '/DY2Jets.*START53.*':'DY2Jets', - '/DY3Jets.*START53.*':'DY3Jets', - '/DY4Jets.*START53.*':'DY4Jets', - '/WJetsToLNu.*START53.*':'WJets', - '/W1Jets.*START53.*' :'W1Jets', - '/W2Jets.*START53.*' :'W2Jets', - '/W3Jets.*START53.*' :'W3Jets', - '/W4Jets.*START53.*' :'W4Jets', - '/TTJets.*START53.*' :'TTJets', - '/T_tW-channel.*START53.*' :'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/Tau/Run2012A-13Jul2012-v1.*' :'data_Run2011A_PromptReco_v1', - '/Tau/Run2012A-recover-06Aug2012-v1.*' :'data_Run2011A_PromptReco_v1', - '/Tau/Run2012B-13Jul2012-v1.*' :'data_Run2011B_PromptReco_v1', - '/Tau/Run2012C-24Aug2012-v1.*' :'data_Run2011C_PromptReco_v1', - '/Tau/Run2012C-PromptReco-v2.*' :'data_Run2011C_PromptReco_v2', - '/Tau/Run2012D-PromptReco-v1.*' :'data_Run2011D_PromptReco_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012A_13Jul2012_v1.*' :'embed_Run2012A_13Jul2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012A-recover_06Aug2012_v1.*':'embed_Run2012A_recover_06Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012B_13Jul2012_v4.*' :'embed_Run2012B_13Jul2012_v4', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_24Aug2012_v1.*' :'embed_Run2012C_24Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_PromptReco_v2.*' :'embed_Run2012C_PromptReco_v2', - '/DoubleMu/StoreResults-DoubleMu_2012D_PromptReco_v1.*' :'embed_2012D_PromptReco_v1', - '/WW_TuneZ2.*START53.*':'WW', - '/WZ_TuneZ2.*START53.*':'WZ', - '/ZZ_TuneZ2.*START53.*':'ZZ', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*' :'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*' :'WZJetsTo3LNu', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*' :'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*' :'ZZJetsTo4L', - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) -MC_list.extend( mc_higgs_susy ) - -for sam in MC_list: - sam.triggers = mc_triggers - -for sam in data_2012 : - if '2012A' in sam.name: - sam.triggers = data_triggers_2012A - elif '2012B' in sam.name: - sam.triggers = data_triggers_2012B - elif '2012C' in sam.name: - sam.triggers = data_triggers_2012C - elif '2012D' in sam.name: - sam.triggers = data_triggers_2012D - -allsamples1 = copy.copy( mc_higgs ) -allsamples1.extend( ztt_mc_ewk ) -allsamples1.extend( embed_list ) -allsamples1.extend( mc_higgs_susy ) - -pat1 = '%HTT_Feb6_hinzmann_Up' -connect( allsamples1, pat1, 'diTau.*root', aliases, cache=True, verbose=False) - -allsamples2 = copy.copy( data_2012 ) -allsamples2.extend( t_mc_ewk ) -allsamples2.extend( mc_diboson_incl ) -allsamples2.extend( w_mc_ewk ) -pat2 = '%V5_8_0/HTT_Sep12_hinzmann' -connect( allsamples2, pat2, 'diTau.*root', aliases, cache=True, verbose=False) - -allsamples = copy.copy(allsamples1) -allsamples.extend(allsamples2) - -DYJets.nGenEvents /= 0.8 ## overall trigger efficiency in MC - -for h in mc_higgs : - h.nGenEvents /= 0.8 ## overall trigger efficiency in MC - -for c in allsamples: - c.splitFactor = splitFactor(c) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/embed.py b/CMGTools/H2TauTau/python/proto/samples/run2012/embed.py deleted file mode 100644 index 87868082ef34..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/embed.py +++ /dev/null @@ -1,51 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg - -vertexFileDir = os.environ['CMSSW_BASE'] + '/src/CMGTools/RootTools/data/Reweight/2012/Vertices' - -# trigger list: 'HLT_Mu17_Mu8_v16', 'HLT_Mu17_Mu8_v17', 'HLT_Mu17_Mu8_v18', 'HLT_Mu17_Mu8_v19', 'HLT_Mu17_Mu8_v21', 'HLT_Mu17_Mu8_v22' - -embed_Run2012A_22Jan = cfg.EmbedComponent( - name = 'embed_Run2012A_22Jan', - files = [], - intLumi = 1.0, # dummy - triggers = [], - json = None - ) - -embed_Run2012B_22Jan = cfg.EmbedComponent( - name = 'embed_Run2012B_22Jan', - files = [], - intLumi = 1.0, # dummy - triggers = [], - json = None - ) - -embed_Run2012C_22Jan = cfg.EmbedComponent( - name = 'embed_Run2012C_22Jan', - files = [], - intLumi = 1.0, # dummy - triggers = [], - json = None - ) - -embed_Run2012D_22Jan = cfg.EmbedComponent( - name = 'embed_Run2012D_22Jan', - files = [], - intLumi = 1.0, # dummy - triggers = [], - json = None - ) - - - -embed_list = [embed_Run2012A_22Jan, - embed_Run2012B_22Jan, - embed_Run2012C_22Jan, - embed_Run2012D_22Jan - ] - - - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/ewk.py b/CMGTools/H2TauTau/python/proto/samples/run2012/ewk.py deleted file mode 100644 index d2bda07e6eba..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/ewk.py +++ /dev/null @@ -1,226 +0,0 @@ -import CMGTools.RootTools.fwlite.Config as cfg -# from CMGTools.H2TauTau.proto.samples.sampleShift import sampleShift - -DYJets = cfg.MCComponent( - name = 'DYJets', - files = [], - xSection = 3503.71, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -DY1Jets = cfg.MCComponent( - name = 'DY1Jets', - files = [], - xSection = 561.0, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -DY2Jets = cfg.MCComponent( - name = 'DY2Jets', - files = [], - xSection = 181., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -DY3Jets = cfg.MCComponent( - name = 'DY3Jets', - files = [], - xSection = 51.1, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -DY4Jets = cfg.MCComponent( - name = 'DY4Jets', - files = [], - xSection = 23.04, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -WJets = cfg.MCComponent( - name = 'WJets', - files = [], - xSection = 36257.2 , - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W1Jets = cfg.MCComponent( - name = 'W1Jets', - files = [], - xSection = 6440.4, #PG inclusive scaled according to LO XS - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W2Jets = cfg.MCComponent( - name = 'W2Jets', - files = [], - xSection = 2087.2, #PG inclusive scaled according to LO XS - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W3Jets = cfg.MCComponent( - name = 'W3Jets', - files = [], - xSection = 619.0, #PG inclusive scaled according to LO XS - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W1Jets_ext = cfg.MCComponent( - name = 'W1Jets_ext', - files = [], - xSection = 6440.4, #PG inclusive scaled according to LO XS - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W2Jets_ext = cfg.MCComponent( - name = 'W2Jets_ext', - files = [], - xSection = 2087.2, #PG inclusive scaled according to LO XS - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W3Jets_ext = cfg.MCComponent( - name = 'W3Jets_ext', - files = [], - xSection = 619.0, #PG inclusive scaled according to LO XS - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -W4Jets = cfg.MCComponent( - name = 'W4Jets', - files = [], - xSection = 255.2, #PG inclusive scaled according to LO XS - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -TTJets = cfg.MCComponent( - name = 'TTJets', - files = [], - xSection = 228.4, # correction factor from Valentina removed as it depends on the jet binning - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -TTJetsFullLept = cfg.MCComponent( - name = 'TTJetsFullLept', - files = [], - xSection = 249.5*0.96*(1-0.676)*(1-0.676), # TOP-12-007 + Valentina's SF - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -TTJetsSemiLept = cfg.MCComponent( - name = 'TTJetsSemiLept', - files = [], - xSection = 249.5*0.96*(1-0.676)*0.676*2, # TOP-12-007 + Valentina's SF - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -TTJetsHadronic = cfg.MCComponent( - name = 'TTJetsHadronic', - files = [], - xSection = 249.5*0.96*0.676*0.676, # TOP-12-007 + Valentina's SF - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -T_tW = cfg.MCComponent( - name = 'T_tW', - files = [], - xSection = 11.1, # from the sync twiki - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - -Tbar_tW = cfg.MCComponent( - name = 'Tbar_tW', - files = [], - xSection = 11.1, # from the sync twiki - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - - - -mc_dy = [ - DYJets, - DY1Jets, - DY2Jets, - DY3Jets, - DY4Jets, - ] - -mc_w = [ - WJets, - W1Jets, - W2Jets, - W3Jets, - W4Jets, - ] - -mc_w_ext = [ - W1Jets_ext, - W2Jets_ext, - W3Jets_ext, - ] - -t_mc_ewk = [ - # TTJets, - T_tW, - Tbar_tW, - TTJetsFullLept, - TTJetsSemiLept, - TTJetsHadronic, - ] - - -mc_ewk = [] -mc_ewk += mc_dy -mc_ewk += mc_w -mc_ewk += t_mc_ewk - - -# for backward compatibility: -ztt_mc_ewk = mc_dy -ztt_inc_mc_ewk = [DYJets] -w_mc_ewk = mc_w - - -#stitching: - -# from COLIN, measured on inclusive DYJets sample, before any selection. -dy_fractions = [ 0.72328, - 0.188645, - 0.0613196, - 0.0188489, - 0.00790643 - ] - -for dy in mc_dy: - dy.fractions = dy_fractions - - -# from Jose -w_fractions = [ 0.74392452, - 0.175999, - 0.0562617, - 0.0168926, - 0.00692218 - ] - -for w in mc_w + mc_w_ext: - w.fractions = w_fractions - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/higgs.py b/CMGTools/H2TauTau/python/proto/samples/run2012/higgs.py deleted file mode 100644 index a97a3dddb6c6..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/higgs.py +++ /dev/null @@ -1,503 +0,0 @@ -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.yellowreport.YRParser import yrparser8TeV -# from CMGTools.H2TauTau.proto.samples.sampleShift import sampleShift - -HiggsVBF90 = cfg.MCComponent( - name = 'HiggsVBF90', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF95 = cfg.MCComponent( - name = 'HiggsVBF95', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF100 = cfg.MCComponent( - name = 'HiggsVBF100', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF105 = cfg.MCComponent( - name = 'HiggsVBF105', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF110 = cfg.MCComponent( - name = 'HiggsVBF110', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF115 = cfg.MCComponent( - name = 'HiggsVBF115', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF120 = cfg.MCComponent( - name = 'HiggsVBF120', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF125 = cfg.MCComponent( - name = 'HiggsVBF125', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF130 = cfg.MCComponent( - name = 'HiggsVBF130', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF135 = cfg.MCComponent( - name = 'HiggsVBF135', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF140 = cfg.MCComponent( - name = 'HiggsVBF140', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF145 = cfg.MCComponent( - name = 'HiggsVBF145', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF150 = cfg.MCComponent( - name = 'HiggsVBF150', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF155 = cfg.MCComponent( - name = 'HiggsVBF155', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVBF160 = cfg.MCComponent( - name = 'HiggsVBF160', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -############# Gluon fusion ############### - -HiggsGGH90 = cfg.MCComponent( - name = 'HiggsGGH90', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH95 = cfg.MCComponent( - name = 'HiggsGGH95', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH100 = cfg.MCComponent( - name = 'HiggsGGH100', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH105 = cfg.MCComponent( - name = 'HiggsGGH105', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH110 = cfg.MCComponent( - name = 'HiggsGGH110', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH115 = cfg.MCComponent( - name = 'HiggsGGH115', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH120 = cfg.MCComponent( - name = 'HiggsGGH120', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH125 = cfg.MCComponent( - name = 'HiggsGGH125', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH130 = cfg.MCComponent( - name = 'HiggsGGH130', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH135 = cfg.MCComponent( - name = 'HiggsGGH135', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH140 = cfg.MCComponent( - name = 'HiggsGGH140', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH145 = cfg.MCComponent( - name = 'HiggsGGH145', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH150 = cfg.MCComponent( - name = 'HiggsGGH150', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH155 = cfg.MCComponent( - name = 'HiggsGGH155', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGH160 = cfg.MCComponent( - name = 'HiggsGGH160', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - - -############# VH ############### - -HiggsVH90 = cfg.MCComponent( - name = 'HiggsVH90', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH95 = cfg.MCComponent( - name = 'HiggsVH95', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH100 = cfg.MCComponent( - name = 'HiggsVH100', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH105 = cfg.MCComponent( - name = 'HiggsVH105', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH110 = cfg.MCComponent( - name = 'HiggsVH110', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH115 = cfg.MCComponent( - name = 'HiggsVH115', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH120 = cfg.MCComponent( - name = 'HiggsVH120', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH125 = cfg.MCComponent( - name = 'HiggsVH125', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH130 = cfg.MCComponent( - name = 'HiggsVH130', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH135 = cfg.MCComponent( - name = 'HiggsVH135', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH140 = cfg.MCComponent( - name = 'HiggsVH140', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH145 = cfg.MCComponent( - name = 'HiggsVH145', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH150 = cfg.MCComponent( - name = 'HiggsVH150', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH155 = cfg.MCComponent( - name = 'HiggsVH155', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVH160 = cfg.MCComponent( - name = 'HiggsVH160', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - - - - - -HiggsVBFtoWW125 = cfg.MCComponent( - name = 'HiggsVBFtoWW125', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsGGHtoWW125 = cfg.MCComponent( - name = 'HiggsGGHtoWW125', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - -HiggsVHtoWW125 = cfg.MCComponent( - name = 'HiggsVHtoWW125', - files = [], - xSection = None, - nGenEvents = 0, - triggers = [], - effCorrFactor = 1 ) - - - -############# - -mc_higgs_vbf = [ - HiggsVBF90, - HiggsVBF95, - HiggsVBF100, - HiggsVBF105, - HiggsVBF110, - HiggsVBF115, - HiggsVBF120, - HiggsVBF125, - HiggsVBF130, - HiggsVBF135, - HiggsVBF140, - HiggsVBF145, - HiggsVBF150, - HiggsVBF155, - HiggsVBF160, - HiggsVBFtoWW125, - ] - -mc_higgs_ggh = [ - HiggsGGH90, - HiggsGGH95, - HiggsGGH100, - HiggsGGH105, - HiggsGGH110, - HiggsGGH115, - HiggsGGH120, - HiggsGGH125, - HiggsGGH130, - HiggsGGH135, - HiggsGGH140, - HiggsGGH145, - HiggsGGH150, - HiggsGGH155, - HiggsGGH160, - HiggsGGHtoWW125, - ] - -mc_higgs_vh = [ - HiggsVH90, - HiggsVH95, - HiggsVH100, - HiggsVH105, - HiggsVH110, - HiggsVH115, - HiggsVH120, - HiggsVH125, - HiggsVH130, - HiggsVH135, - HiggsVH140, - HiggsVH145, - HiggsVH150, - HiggsVH155, - HiggsVH160, - HiggsVHtoWW125 - ] - - -mc_higgs = copy.copy( mc_higgs_vbf ) -mc_higgs.extend( mc_higgs_ggh ) -mc_higgs.extend( mc_higgs_vh ) - - -pattern = re.compile('Higgs(\D+)(\d+)') -for h in mc_higgs: - m = pattern.match( h.name ) - process = m.group(1) - if 'toWW' in process : - process = process.replace('toWW','') - isToWW = True - else : - isToWW = False - mass = float(m.group(2)) - xSection = 0. - try: - if process=='VH': - xSection += yrparser8TeV.get(mass)['WH']['sigma'] - xSection += yrparser8TeV.get(mass)['ZH']['sigma'] - else: - xSection += yrparser8TeV.get(mass)[process]['sigma'] - except KeyError: - print 'Higgs mass', mass, 'not found in cross section tables. Interpolating linearly at +- 1 GeV...' - if process=='VH': - xSection += 0.5 * (yrparser8TeV.get(mass-1.)['WH']['sigma'] + xSection + yrparser8TeV.get(mass+1.)['WH']['sigma']) - xSection += 0.5 * (yrparser8TeV.get(mass-1.)['ZH']['sigma'] + yrparser8TeV.get(mass+1.)['ZH']['sigma']) - else: - xSection += 0.5 * (yrparser8TeV.get(mass-1.)[process]['sigma'] + yrparser8TeV.get(mass+1.)[process]['sigma']) - - if not isToWW : - br = yrparser8TeV.get(mass)['H2F']['tautau'] - else : - br = yrparser8TeV.get(mass)['H2B']['WW'] - h.xSection = xSection*br - h.branchingRatio = br - print h.name, 'sigma*br =', h.xSection, 'sigma =', xSection, 'br =', h.branchingRatio - - -# print 'generating shifted samples' -# mc_higgs_up = sampleShift( locals(), mc_higgs, 'Up') -# mc_higgs_down = sampleShift( locals(), mc_higgs, 'Down') diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/higgs_susy.py b/CMGTools/H2TauTau/python/proto/samples/run2012/higgs_susy.py deleted file mode 100644 index 07531acd8a97..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/higgs_susy.py +++ /dev/null @@ -1,399 +0,0 @@ -import copy -import re -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.yellowreport.YRParser import yrparser8TeV - -HiggsSUSYBB80 = cfg.MCComponent( - name = 'HiggsSUSYBB80', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB90 = cfg.MCComponent( - name = 'HiggsSUSYBB90', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB100 = cfg.MCComponent( - name = 'HiggsSUSYBB100', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB110 = cfg.MCComponent( - name = 'HiggsSUSYBB110', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB120 = cfg.MCComponent( - name = 'HiggsSUSYBB120', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB130 = cfg.MCComponent( - name = 'HiggsSUSYBB130', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB140 = cfg.MCComponent( - name = 'HiggsSUSYBB140', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB160 = cfg.MCComponent( - name = 'HiggsSUSYBB160', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB180 = cfg.MCComponent( - name = 'HiggsSUSYBB180', - files = [], - xSection = 1.0, - nGenEvents = 967197*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB200 = cfg.MCComponent( - name = 'HiggsSUSYBB200', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB250 = cfg.MCComponent( - name = 'HiggsSUSYBB250', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB300 = cfg.MCComponent( - name = 'HiggsSUSYBB300', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB350 = cfg.MCComponent( - name = 'HiggsSUSYBB350', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB400 = cfg.MCComponent( - name = 'HiggsSUSYBB400', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB450 = cfg.MCComponent( - name = 'HiggsSUSYBB450', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB500 = cfg.MCComponent( - name = 'HiggsSUSYBB500', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB600 = cfg.MCComponent( - name = 'HiggsSUSYBB600', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB700 = cfg.MCComponent( - name = 'HiggsSUSYBB700', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB800 = cfg.MCComponent( - name = 'HiggsSUSYBB800', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB900 = cfg.MCComponent( - name = 'HiggsSUSYBB900', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYBB1000 = cfg.MCComponent( - name = 'HiggsSUSYBB1000', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - - -HiggsSUSYGluGlu80 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu80', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu90 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu90', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu100 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu100', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu110 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu110', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu120 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu120', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu130 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu130', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu140 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu140', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu160 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu160', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu180 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu180', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu200 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu200', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu250 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu250', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu300 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu300', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu350 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu350', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu400 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu400', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu450 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu450', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu500 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu500', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu600 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu600', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu700 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu700', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu800 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu800', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu900 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu900', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - -HiggsSUSYGluGlu1000 = cfg.MCComponent( - name = 'HiggsSUSYGluGlu1000', - files = [], - xSection = 1.0, - nGenEvents = 1000000*1.0, - triggers = [], - effCorrFactor = 1 ) - - - -############# - -mc_higgs_SUSYBB = [ - HiggsSUSYBB80, - HiggsSUSYBB90, - HiggsSUSYBB100, - HiggsSUSYBB110, - HiggsSUSYBB120, - HiggsSUSYBB130, - HiggsSUSYBB140, - HiggsSUSYBB160, - HiggsSUSYBB180, - HiggsSUSYBB200, - HiggsSUSYBB250, - HiggsSUSYBB300, - HiggsSUSYBB350, - HiggsSUSYBB400, - HiggsSUSYBB450, - HiggsSUSYBB500, - HiggsSUSYBB600, - HiggsSUSYBB700, - HiggsSUSYBB800, - HiggsSUSYBB900, - HiggsSUSYBB1000, - ] - -mc_higgs_SUSYGluGlu = [ - HiggsSUSYGluGlu80, - HiggsSUSYGluGlu90, - HiggsSUSYGluGlu100, - HiggsSUSYGluGlu110, - HiggsSUSYGluGlu120, - HiggsSUSYGluGlu130, - HiggsSUSYGluGlu140, - HiggsSUSYGluGlu160, - HiggsSUSYGluGlu180, - HiggsSUSYGluGlu200, - HiggsSUSYGluGlu250, - HiggsSUSYGluGlu300, - HiggsSUSYGluGlu350, - HiggsSUSYGluGlu400, - HiggsSUSYGluGlu450, - HiggsSUSYGluGlu500, - HiggsSUSYGluGlu600, - HiggsSUSYGluGlu700, - HiggsSUSYGluGlu800, - HiggsSUSYGluGlu900, - HiggsSUSYGluGlu1000, - ] - - -mc_higgs_susy = copy.copy( mc_higgs_SUSYBB ) -#mc_higgs_susy = copy.copy( mc_higgs_SUSYGluGlu ) -mc_higgs_susy.extend( mc_higgs_SUSYGluGlu ) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/mc_basicEWK.py b/CMGTools/H2TauTau/python/proto/samples/run2012/mc_basicEWK.py deleted file mode 100644 index 7b74a593a306..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/mc_basicEWK.py +++ /dev/null @@ -1,38 +0,0 @@ -import copy -import os -import CMGTools.RootTools.fwlite.Config as cfg - - -DYJets = cfg.MCComponent( - name = 'DYJets', - files = [], - xSection = 3048., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1) - - -WJets = cfg.MCComponent( - name = 'WJets', - files = [], - xSection = 31314., - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - - -TTJets = cfg.MCComponent( - name = 'TTJets', - files = [], - xSection = 165.8, - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 ) - - -mc_basicEWK = [ - DYJets, - WJets, - TTJets - ] - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_ColinAug8.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_ColinAug8.py deleted file mode 100644 index d765a4807064..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_ColinAug8.py +++ /dev/null @@ -1,30 +0,0 @@ -import copy - -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers - -MC = copy.copy( mc_higgs ) -HiggsVBF125Small = copy.deepcopy( HiggsVBF125 ) -HiggsVBF125Small.name = 'HiggsVBF125Small' - -MC.append( HiggsVBF125Small ) -for sam in MC: - sam.triggers = mc_triggers - -allsamples = copy.copy(MC) - -HiggsVBF125Small.files = getFiles('/H2TAUTAU/Sync/2012/VBF/AOD/PAT_CMG_V5_5_1/TAUELE_ColinAug08', - 'cbern', '.*root') - -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/V5/PAT_CMG_V5_5_1/TAUELE_ColinAug13', - 'cbern', '.*root') - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_JanAug08.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_JanAug08.py deleted file mode 100644 index e7d9afc79bae..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_JanAug08.py +++ /dev/null @@ -1,133 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs_susy import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/SUSYBB.*START53.*':'HiggsSUSYBB', - '/SUSYGluGluTo.*START53.*':'HiggsSUSYGluGlu', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53_V7.*':'WJets', - '/W1Jets.*START53_V7.*':'W1Jets', - '/W2Jets.*START53_V7.*':'W2Jets', - '/W3Jets.*START53_V7.*':'W3Jets', - '/W4Jets.*START53_V7.*':'W4Jets', - '/W1Jets.*START53_V19.*':'W1Jets_ext', - '/W2Jets.*START53_V19.*':'W2Jets_ext', - '/W3Jets.*START53_V19.*':'W3Jets_ext', - '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV.*START53.*':'TTJets', - '/TTJets_FullLeptMGDecays_8TeV.*START53.*':'TTJetsFullLept', - '/TTJets_SemiLeptMGDecays_8TeV.*START53.*':'TTJetsSemiLept', - '/TTJets_HadronicMGDecays_8TeV.*START53.*':'TTJetsHadronic', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012D_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012B_22Jan', - # '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012A_22Jan', - # '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012B_22Jan', - # '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012C_22Jan', - # '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -mc_ewk = [] -# mc_ewk += mc_dy -mc_ewk += t_mc_ewk -mc_ewk += mc_w -mc_ewk += mc_w_ext - -MC_list = copy.copy( mc_ewk ) -# MC_list.extend( mc_higgs ) -# MC_list.extend( mc_higgs_susy ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) - -mc_repro = [] -mc_repro += mc_dy -mc_repro += mc_higgs -mc_repro += mc_higgs_susy - -connect( allsamples, '%TAUELE_SVFitVEGAS_Aug06%', 'tauEle.*root', aliases, cache=True, verbose=False) -connect( embed_list, '%TAUELE_SVFitVEGAS_Aug07%', 'tauEle.*root', aliases, cache=True, verbose=False) -connect( mc_repro, '%TAUELE_SVFitVEGAS_Aug26%', 'tauEle.*root', aliases, cache=True, verbose=False) - -allsamples.extend( embed_list ) -allsamples.extend( mc_repro ) -MC_list.extend( mc_repro ) - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents+W1Jets_ext.nGenEvents, - W2Jets.nGenEvents+W2Jets_ext.nGenEvents, - W3Jets.nGenEvents+W3Jets_ext.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w + mc_w_ext: - w.nevents = w_nevents - - -print [(s.name, s.dataset_entries) for s in allsamples if s.dataset_entries] -print [(s.name, s.dataset_entries) for s in allsamples if not s.dataset_entries] - -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( embed.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_JanJul15.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_JanJul15.py deleted file mode 100644 index c3215d376f09..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_JanJul15.py +++ /dev/null @@ -1,118 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV.*START53.*':'TTJets', - '/TTJets_FullLeptMGDecays_8TeV.*START53.*':'TTJetsFullLept', - '/TTJets_SemiLeptMGDecays_8TeV.*START53.*':'TTJetsSemiLept', - '/TTJets_HadronicMGDecays_8TeV.*START53.*':'TTJetsHadronic', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012B_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012D_22Jan', - # '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012A_22Jan', - # '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012B_22Jan', - # '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012C_22Jan', - # '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -mc_ewk = [] -mc_ewk += mc_dy -mc_ewk += t_mc_ewk - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) -allsamples.extend( embed_list ) - -connect( allsamples, '%TAUELE_SVFitNoES_Jul09%', 'tauEle.*root', aliases, cache=True, verbose=False) - -MC_list.extend(mc_w) -allsamples.extend(mc_w) -connect( mc_w, '%TAUELE_SVFitNoESFixedRecoil_Jul19_steggema', 'tauEle.*root', aliases, cache=True, verbose=False) - - - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w: - w.nevents = w_nevents - - -print [(s.name, s.dataset_entries) for s in allsamples] -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( embed.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_JanJun25.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_JanJun25.py deleted file mode 100644 index f40b3701a241..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_JanJun25.py +++ /dev/null @@ -1,106 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets.*START53.*':'TTJets', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012B_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_RHembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) -# allsamples.extend( embed_list ) - -connect( allsamples, '%TAUELE_SVF%_Jun28%', 'tauEle.*root', aliases, cache=True, verbose=False) - -# Accidentally named the e-tau embedded jobs TAUMU -connect( embed_list, '%PAT_CMG_V5_16_0_B%TAUMU_SVFit_Jun28_steggema', 'tauEle.*root', aliases, cache=True, verbose=False) - -allsamples.extend( embed_list ) - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w: - w.nevents = w_nevents - - -print [(s.name, s.dataset_entries) for s in allsamples] -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( data.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_PietroOct05.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_PietroOct05.py deleted file mode 100644 index 8bc0334c374f..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_PietroOct05.py +++ /dev/null @@ -1,83 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.H2TauTau.tools.jsonPick import jsonPick - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', -# '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1.*':'WJets', - '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v2.*':'WJets', - '/DYJets.*START53.*':'DYJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets.*START53.*':'TTJets', - '/TauPlusX/Run2012A-recover-06Aug2012-v1.*':'data_Run2012A_aug6', - '/TauPlusX/Run2012A-13Jul2012-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-13Jul2012-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-24Aug2012-v1.*':'data_Run2012C_v1', - '/TauPlusX/Run2012C-PromptReco-v2.*':'data_Run2012C_v2', - '/DoubleMu/StoreResults-DoubleMu_Run2012A_13Jul2012_v1_embedded_trans1_tau115_ptelec1.*':'embed_Run2012A_13Jul2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012A-recover_06Aug2012_v1_embedded_trans1_tau115_ptelec1.*':'embed_Run2012A_recover_06Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012B_13Jul2012_v4_embedded_trans1_tau115_ptelec1.*':'embed_Run2012B_13Jul2012_v4', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_24Aug2012_v1_embedded_trans1_tau115_ptelec1.*':'embed_Run2012C_24Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_PromptReco_v2_embedded_trans1_tau115_ptelec1.*':'embed_Run2012C_PromptReco_v2', - '/T_tW.*START53.*':'T_tW', - '/Tbar_tW.*START53.*':'Tbar_tW', -# '/T_t-.*START53.*':'T_t', -# '/Tbar_t-.*START53.*':'Tbar_t', -# '/T_s-.*START53.*':'T_s', -# '/Tbar_s-.*START53.*':'Tbar_s' - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/WWJetsTo2L2Nu_TuneZ2star_8TeV-madgraph.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q_TuneZ2star_8TeV-madgraph.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu_TuneZ2_8TeV-madgraph.*START53.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Q_TuneZ2star_8TeV-madgraph.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo2L2Nu_TuneZ2star_8TeV-madgraph.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo4L_TuneZ2star_8TeV-madgraph.*START53.*':'ZZJetsTo4L' - } - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_diboson ) -MC_list.extend( mc_higgs ) - -# the following for 52X sync purposes only: -#MC_list.append (HiggsGGH125) -#MC_list.append (HiggsVBF125) - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list ) -allsamples.extend( embed_list ) - - -print 'start connecting... \n\n' - -connect( allsamples, '%H2TauTau_tauEle_06oct_PG_newSVFit_MVAMET', 'tauEle.*root', aliases, - cache=True, verbose=False) - -print -for sam in MC_list: - print 'setting trigger', mc_triggers,'for sample',sam.name - sam.triggers = mc_triggers -for data in data_list: - data.triggers = data_triggers - print 'setting trigger', data.triggers,'for sample',data.name - data.json = jsonPick (data.files[0]) - print 'setting json', data.json, 'for sample', data.name -for emb in embed_list: - emb.json = jsonPick (data.files[0]) - print 'setting json', emb.json, 'for sample', emb.name -print diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_PietroOct22.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_PietroOct22.py deleted file mode 100644 index 5d713b972d7d..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_PietroOct22.py +++ /dev/null @@ -1,110 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.H2TauTau.tools.jsonPick import jsonPick - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', -# '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1.*':'WJets', - '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v2.*':'WJets', - '/DYJets.*START53.*':'DYJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets.*START53.*':'TTJets', - '/TauPlusX/Run2012A-13Jul2012-v1.*':'data_Run2012A', -# '/TauPlusX/Run2012A-recover-06Aug2012-v1.*':'data_Run2012A_aug6', - '/TauPlusX/Run2012B-13Jul2012-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-24Aug2012-v1.*':'data_Run2012C_v1', - '/TauPlusX/Run2012C-PromptReco-v2.*':'data_Run2012C_v2', - '/DoubleMu/StoreResults-DoubleMu_Run2012A_13Jul2012_v1_embedded_trans1_tau115_ptelec1.*':'embed_Run2012A_13Jul2012_v1', -# '/DoubleMu/StoreResults-DoubleMu_Run2012A-recover_06Aug2012_v1_embedded_trans1_tau115_ptelec1.*':'embed_Run2012A_recover_06Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012B_13Jul2012_v4_embedded_trans1_tau115_ptelec1.*':'embed_Run2012B_13Jul2012_v4', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_24Aug2012_v1_embedded_trans1_tau115_ptelec1.*':'embed_Run2012C_24Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_PromptReco_v2_embedded_trans1_tau115_ptelec1.*':'embed_Run2012C_PromptReco_v2', - '/T_tW.*START53.*':'T_tW', - '/Tbar_tW.*START53.*':'Tbar_tW', -# '/T_t-.*START53.*':'T_t', -# '/Tbar_t-.*START53.*':'Tbar_t', -# '/T_s-.*START53.*':'T_s', -# '/Tbar_s-.*START53.*':'Tbar_s' - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/WWJetsTo2L2Nu_TuneZ2star_8TeV-madgraph.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q_TuneZ2star_8TeV-madgraph.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu_TuneZ2_8TeV-madgraph.*START53.*':'WZJetsTo3LNu', - '/ZZJetsTo2L2Q_TuneZ2star_8TeV-madgraph.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo2L2Nu_TuneZ2star_8TeV-madgraph.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo4L_TuneZ2star_8TeV-madgraph.*START53.*':'ZZJetsTo4L' - } - - -#PG the RUN12A_aug6 is not used for HCP -#PG and furthermore the json does not look like is working for them -data_list = [ - data_Run2012A, - data_Run2012B, - data_Run2012C_v1, - data_Run2012C_v2, - ] -embed_list = [ - embed_Run2012A_13Jul2012_v1, - embed_Run2012B_13Jul2012_v4, - embed_Run2012C_24Aug2012_v1, - embed_Run2012C_PromptReco_v2 -] - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_diboson ) -MC_list.extend( mc_higgs ) - -# the following for 52X sync purposes only: -#MC_list.append (HiggsGGH125) -#MC_list.append (HiggsVBF125) - -allsamples = copy.copy(MC_list) -allsamples.extend( data_list ) -allsamples.extend( embed_list ) - - -print 'start connecting... \n\n' - -connect( allsamples, '%H2TauTau_tauEle_22oct_PG', 'tauEle.*root', aliases, - cache=True, verbose=False) - -from CMGTools.H2TauTau.proto.samples.density import * -print -print 'density test' -density (allsamples) -print - -print -for sam in MC_list: - print 'setting trigger', mc_triggers,'for sample',sam.name - sam.triggers = mc_triggers - sam.splitFactor = splitFactor (sam) -for data in data_list: - data.triggers = data_triggers - print 'setting trigger', data.triggers,'for sample',data.name - data.json = jsonPick (data.files[0]) - print 'setting json', data.json, 'for sample', data.name - data.splitFactor = splitFactor (data) -for emb in embed_list: - emb.json = jsonPick (data.files[0]) - print 'setting json', emb.json, 'for sample', emb.name - emb.splitFactor = splitFactor (emb) -print diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_PietroSep25.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_PietroSep25.py deleted file mode 100644 index 510a49a05581..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_PietroSep25.py +++ /dev/null @@ -1,75 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START52.*':'HiggsVBF', - '/GluGluToHToTauTau.*START52.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START52.*':'HiggsVH', - '/DYJets.*START52.*':'DYJets', - '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1':'WJets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1.*':'WJets', - '/W2Jets.*START52.*':'W2Jets', - '/W3Jets.*START52.*':'W3Jets', - '/TTJets.*START52.*':'TTJets', - '/TauPlusX/Run2012A-PromptReco-v1':'data_Run2012A', - '/TauPlusX/Run2012B-PromptReco-v1':'data_Run2012B', - '/DoubleMu/StoreResults-DoubleMu_2012A_PromptReco_v1':'embed_Run2012A', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run193752to195135':'embed_Run2012B_193752_195135', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run195147to196070':'embed_Run2012B_195147_196070', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run196090to196531':'embed_Run2012B_196090_196531', - '/WW_TuneZ2star.*START52.*':'WW', - '/WZ_TuneZ2star.*START52.*':'WZ', - '/ZZ_TuneZ2star.*START52.*':'ZZ', - '/T_tW.*START52.*':'T_tW', - '/Tbar_tW.*START52.*':'Tbar_tW', -# '/T_t-.*START52.*':'T_t', -# '/Tbar_t-.*START52.*':'Tbar_t', -# '/T_s-.*START52.*':'T_s', -# '/Tbar_s-.*START52.*':'Tbar_s' - '/WWJetsTo2L2Nu_TuneZ2star_8TeV-madgraph.*START52.*':'WW2l2v', - '/WZJetsTo2L2Q_TuneZ2star_8TeV-madgraph.*START52.*':'WZ2l2q', - '/WZJetsTo3LNu_TuneZ2_8TeV-madgraph.*START52.*':'WZ3lv', - '/ZZJetsTo2L2Q_TuneZ2star_8TeV-madgraph.*START52.*':'ZZ2l2q', - '/ZZJetsTo2L2Nu_TuneZ2star_8TeV-madgraph.*START52.*':'ZZ2l2v', - '/ZZJetsTo4L_TuneZ2star_8TeV-madgraph.*START52.*':'ZZ4l' - } - - -MC = copy.copy( mc_ewk ) - -#MC.extend( mc_higgs ) -# the following for 52X sync purposes only: -MC.append (HiggsGGH125) -MC.append (HiggsVBF125) - -MC.extend( mc_diboson ) -MC.extend( mc_diboson_xcl ) - -allsamples = copy.copy(MC) -allsamples.extend( data_list_2012 ) -allsamples.extend( embed_list_2012 ) - -# allsamples = copy.copy(data_list_2012) - -connect( allsamples, '%H2TauTau_tauEle_20Sep_PG_newSVFit_MVAMET', 'tauEle.*root', aliases, cache=False, verbose=False) - -print -for sam in MC: - print 'setting trigger', mc_triggers,'for sample',sam.name - sam.triggers = mc_triggers -for data in data_list_2012: - print 'setting trigger', data_triggers,'for sample',data.name - data.triggers = data_triggers -print - -# this number is not in the DB (dbs says this sample is still in production) -WJets.nGenEvents = 61444940 diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_Sync_Colin.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_Sync_Colin.py deleted file mode 100644 index a8c5e9208190..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_Sync_Colin.py +++ /dev/null @@ -1,56 +0,0 @@ -import copy - -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers - -MC_list = [HiggsVBF125] -for sam in MC_list: - sam.triggers = mc_triggers - -allsamples = copy.copy(MC_list) - - -# HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/PAT_CMG_V5_6_0_B/TAUMU_NewSVFit_Colin17Sep', -# 'cbern', '.*root') - -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/V5_B/PAT_CMG_V5_6_0_B/TAUMU_NewSVFit_Colin17Sep', -## 'cbern', '.*root') - -# full new VBF recipe -# good sync with andrew, but need to update PU weights for HCP, and to check full SVFit mass -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PATCMG_V5_8_0_Test/TAUMU_ColinSep28', -## 'cbern', '.*root') - -# second test -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0_Test2/TAUMU_OSVFit_ColinOct2', -## 'cbern', '.*root') - -# third test -#HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0_Test3/TAUMU_OSVFit_ColinOct2', -# 'cbern', '.*root', False) - -# last part of new recipe -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/PAT_CMG_V5_6_0_B/TAUMU_MVAMET2_ColinSep29', -## 'cbern', '.*root') - - - -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0/TAUELE_2012_Colin_Sync_OSVFit_23Oct', -## 'cbern', '.*root') - -pat = '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_Moriond_Test2/TAUELE_TestMoriond_Dec13' -# pat = '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_Moriond_Test2/TAUELE_TestMoriond_Dec13' -HiggsVBF125.files = getFiles(pat, - 'cbern', '.*root') - -HiggsVBF125.splitFactor = 14 - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_Sync_ColinOct1.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_Sync_ColinOct1.py deleted file mode 100644 index 712be29697b4..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_Sync_ColinOct1.py +++ /dev/null @@ -1,28 +0,0 @@ -import copy - -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers - -MC = copy.copy( mc_higgs ) -for sam in MC: - sam.triggers = mc_triggers - -allsamples = copy.copy(MC) - -# full new VBF recipe -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PATCMG_V5_8_0_Test/TAUELE_MVAMET_ColinSep1', -## 'cbern', '.*root') - -# test 3 -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0_Test3/TAUELE_OSVFit_ColinOct2', - 'cbern', '.*root') - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_Sync_Jan.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_Sync_Jan.py deleted file mode 100644 index 838d6d5376f9..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_Sync_Jan.py +++ /dev/null @@ -1,29 +0,0 @@ -import copy - -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers - -MC_list = copy.copy( mc_higgs ) -for sam in MC_list: - sam.triggers = mc_triggers - -allsamples = copy.copy(MC_list) - -# full new VBF recipe -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PATCMG_V5_8_0_Test/TAUELE_MVAMET_ColinSep1', -## 'cbern', '.*root') - -# test 3 -pat = '' -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_16_0/TAUELE_SVFit_Jun18_steggema/', - 'steggema', '.*root') - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_down_JanJul29.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_down_JanJul29.py deleted file mode 100644 index 1f4c23d98ae9..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_down_JanJul29.py +++ /dev/null @@ -1,119 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs_susy import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/SUSYBB.*START53.*':'HiggsSUSYBB', - '/SUSYGluGluTo.*START53.*':'HiggsSUSYGluGlu', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV.*START53.*':'TTJets', - '/TTJets_FullLeptMGDecays_8TeV.*START53.*':'TTJetsFullLept', - '/TTJets_SemiLeptMGDecays_8TeV.*START53.*':'TTJetsSemiLept', - '/TTJets_HadronicMGDecays_8TeV.*START53.*':'TTJetsHadronic', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012B_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -mc_ewk = [] -# mc_ewk += mc_dy -# mc_ewk += t_mc_ewk - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_higgs_susy ) -# MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -# allsamples.extend( data_list ) - -allsamples.extend( embed_list ) - -connect( allsamples, '%TAUELE_SVFitVEGASTESDown_Aug12%', 'tauEle.*root', aliases, cache=True, verbose=False) -connect( data_list, '%TAUELE_SVFitVEGAS_Aug06%', 'tauEle.*root', aliases, cache=True, verbose=False) -connect( mc_dy, '%TAUELE_SVFitVEGASTESDown_Aug26%', 'tauEle.*root', aliases, cache=True, verbose=False) - -allsamples.extend( data_list ) -allsamples.extend( mc_dy ) -MC_list.extend( mc_dy ) - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w: - w.nevents = w_nevents - - -print [(s.name, s.dataset_entries) for s in allsamples] -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( embed.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_up_JanJul29.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_up_JanJul29.py deleted file mode 100644 index aaaed33c3883..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauEle_up_JanJul29.py +++ /dev/null @@ -1,120 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs_susy import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauEle import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/SUSYBB.*START53.*':'HiggsSUSYBB', - '/SUSYGluGluTo.*START53.*':'HiggsSUSYGluGlu', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV.*START53.*':'TTJets', - '/TTJets_FullLeptMGDecays_8TeV.*START53.*':'TTJetsFullLept', - '/TTJets_SemiLeptMGDecays_8TeV.*START53.*':'TTJetsSemiLept', - '/TTJets_HadronicMGDecays_8TeV.*START53.*':'TTJetsHadronic', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012B_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_PFembedded_trans1_tau115_ptelec1_20had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -mc_ewk = [] -# mc_ewk += mc_dy -# mc_ewk += t_mc_ewk - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_higgs_susy ) -# MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -# allsamples.extend( data_list ) -allsamples.extend( embed_list ) - -connect( allsamples, '%TAUELE_SVFitVEGASTESUp_Aug12%', 'tauEle.*root', aliases, cache=True, verbose=False) -connect( data_list, '%TAUELE_SVFitVEGAS_Aug06%', 'tauEle.*root', aliases, cache=True, verbose=False) -connect( mc_dy, '%TAUELE_SVFitVEGASTESUp_Aug26%', 'tauEle.*root', aliases, cache=True, verbose=False) - -allsamples.extend( data_list ) -allsamples.extend( mc_dy ) -MC_list.extend( mc_dy ) - - - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w: - w.nevents = w_nevents - - -print [(s.name, s.dataset_entries) for s in allsamples] -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( embed.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinApr26.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinApr26.py deleted file mode 100644 index 12f7b647bf15..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinApr26.py +++ /dev/null @@ -1,69 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.H2TauTau.tools.jsonPick import jsonPick - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/DYJets.*START53.*':'DYJets', - '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1':'WJets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*-v2.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets.*START53.*':'TTJets', - '/TauPlusX/Run2012A-13Jul2012-v1.*':'data_Run2012A', - '/TauPlusX/Run2012A-recover-06Aug2012-v1.*':'data_Run2012A_aug6', - '/TauPlusX/Run2012B-13Jul2012-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-24Aug2012-v1.*':'data_Run2012C_v1', - '/TauPlusX/Run2012C-PromptReco-v2.*':'data_Run2012C_v2', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*_C$':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*_C$':'ZZJetsTo4L', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) -allsamples.extend( embed_list ) - -connect( allsamples, '%TAUMU_2012_ColinOct10%', 'tauMu.*root', aliases, cache=True, verbose=False) - -# this number is not in the DB (dbs says this sample is still in production) -# WJets.nGenEvents = 61444940 - -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0]) - data.triggers = data_triggers - # allsamples.append(data) -for c in allsamples: - c.splitFactor = splitFactor(c) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinAug8.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinAug8.py deleted file mode 100644 index d25444661e34..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinAug8.py +++ /dev/null @@ -1,31 +0,0 @@ -import copy - -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -MC = copy.copy( mc_higgs ) -HiggsVBF125Small = copy.deepcopy( HiggsVBF125 ) -HiggsVBF125Small.name = 'HiggsVBF125Small' - -MC.append( HiggsVBF125Small ) -for sam in MC: - sam.triggers = mc_triggers - -allsamples = copy.copy(MC) - -HiggsVBF125Small.files = getFiles('/H2TAUTAU/Sync/2012/VBF/AOD/PAT_CMG_V5_5_1/TAUMU_ColinAug08', - 'cbern', '.*root') - -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/V5/PAT_CMG_V5_5_1/TAUMU_ColinAug13_B', - 'cbern', '.*root') - - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinJul5.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinJul5.py deleted file mode 100644 index bb902c11ce40..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinJul5.py +++ /dev/null @@ -1,47 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau':'HiggsVBF', - '/GluGluToHToTauTau':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau':'HiggsVH', - '/DYJets':'DYJets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1':'WJets', - '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9_extension-v1':'WJets', - '/W2Jets':'W2Jets', - '/W3Jets':'W3Jets', - '/TTJets':'TTJets', - '/TauPlusX/Run2012A-PromptReco-v1':'data_Run2012A', - '/TauPlusX/Run2012B-PromptReco-v1':'data_Run2012B_start_196509', - '/DoubleMu/StoreResults-DoubleMu_2012A_PromptReco_v1':'embed_Run2012A', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run193752to195135':'embed_Run2012B_193752_195135', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run195147to196070':'embed_Run2012B_195147_196070' - } - - -MC = copy.copy( mc_ewk ) -MC.extend( mc_higgs ) -# MC.extend( mc_diboson ) -for sam in MC: - sam.triggers = mc_triggers -for data in data_list_2012: - data.triggers = data_triggers - - -allsamples = copy.copy(MC) -allsamples.extend( data_list_2012 ) -allsamples.extend( embed_list_2012 ) - -connect( allsamples, '%TAUMU_Colin_Jul4', 'tauMu.*root', aliases, cache=True) - -# this number is not in the DB (dbs says this sample is still in production) -WJets.nGenEvents = 61444940 diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinOct10.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinOct10.py deleted file mode 100644 index 12f7b647bf15..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinOct10.py +++ /dev/null @@ -1,69 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.H2TauTau.tools.jsonPick import jsonPick - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/DYJets.*START53.*':'DYJets', - '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1':'WJets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*-v2.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets.*START53.*':'TTJets', - '/TauPlusX/Run2012A-13Jul2012-v1.*':'data_Run2012A', - '/TauPlusX/Run2012A-recover-06Aug2012-v1.*':'data_Run2012A_aug6', - '/TauPlusX/Run2012B-13Jul2012-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-24Aug2012-v1.*':'data_Run2012C_v1', - '/TauPlusX/Run2012C-PromptReco-v2.*':'data_Run2012C_v2', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*_C$':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*_C$':'ZZJetsTo4L', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) -allsamples.extend( embed_list ) - -connect( allsamples, '%TAUMU_2012_ColinOct10%', 'tauMu.*root', aliases, cache=True, verbose=False) - -# this number is not in the DB (dbs says this sample is still in production) -# WJets.nGenEvents = 61444940 - -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0]) - data.triggers = data_triggers - # allsamples.append(data) -for c in allsamples: - c.splitFactor = splitFactor(c) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinSep19.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinSep19.py deleted file mode 100644 index deb284752b12..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_ColinSep19.py +++ /dev/null @@ -1,50 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START52.*':'HiggsVBF', - '/GluGluToHToTauTau.*START52.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START52.*':'HiggsVH', - '/DYJets.*START52.*':'DYJets', - '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1':'WJets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1.*':'WJets', - '/W2Jets.*START52.*':'W2Jets', - '/W3Jets.*START52.*':'W3Jets', - '/TTJets.*START52.*':'TTJets', - '/TauPlusX/Run2012A-PromptReco-v1':'data_Run2012A', - '/TauPlusX/Run2012B-PromptReco-v1':'data_Run2012B', - '/DoubleMu/StoreResults-DoubleMu_2012A_PromptReco_v1':'embed_Run2012A', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run193752to195135':'embed_Run2012B_193752_195135', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run195147to196070':'embed_Run2012B_195147_196070', - '/WW_TuneZ2star.*START52.*':'WW', - '/WZ_TuneZ2star.*START52.*':'WZ', - '/ZZ_TuneZ2star.*START52.*':'ZZ' - } - - -MC = copy.copy( mc_ewk ) -MC.extend( mc_higgs ) -MC.extend( mc_diboson ) -for sam in MC: - sam.triggers = mc_triggers -for data in data_list_2012: - data.triggers = data_triggers - - -allsamples = copy.copy(MC) -allsamples.extend( data_list_2012 ) -allsamples.extend( embed_list_2012 ) - -connect( allsamples, '%TAUMU_NewSVFit_Colin17Sep', 'tauMu.*root', aliases, cache=True, verbose=False) - -# this number is not in the DB (dbs says this sample is still in production) -WJets.nGenEvents = 61444940 diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanAug06.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanAug06.py deleted file mode 100644 index e2f6dae25a16..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanAug06.py +++ /dev/null @@ -1,135 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs_susy import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/SUSYBB.*START53.*':'HiggsSUSYBB', - '/SUSYGluGluTo.*START53.*':'HiggsSUSYGluGlu', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53_V7.*':'WJets', - '/W1Jets.*START53_V7.*':'W1Jets', - '/W2Jets.*START53_V7.*':'W2Jets', - '/W3Jets.*START53_V7.*':'W3Jets', - '/W4Jets.*START53_V7.*':'W4Jets', - '/W1Jets.*START53_V19.*':'W1Jets_ext', - '/W2Jets.*START53_V19.*':'W2Jets_ext', - '/W3Jets.*START53_V19.*':'W3Jets_ext', - '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV.*START53.*':'TTJets', - '/TTJets_FullLeptMGDecays_8TeV.*START53.*':'TTJetsFullLept', - '/TTJets_SemiLeptMGDecays_8TeV.*START53.*':'TTJetsSemiLept', - '/TTJets_HadronicMGDecays_8TeV.*START53.*':'TTJetsHadronic', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012B_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012D_22Jan', - # '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012A_22Jan', - # '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012B_22Jan', - # '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012C_22Jan', - # '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -mc_ewk = [] -# mc_ewk += mc_dy -mc_ewk += t_mc_ewk -mc_ewk += mc_w -mc_ewk += mc_w_ext - -MC_list = copy.copy( mc_ewk ) - -# MC_list.extend( mc_higgs ) -# MC_list.extend( mc_higgs_susy ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) -# allsamples.extend( embed_list ) - -mc_repro = [] -mc_repro += mc_dy -mc_repro += mc_higgs -mc_repro += mc_higgs_susy - -#connect( allsamples, '%TAUMU_SVFitVEGAS_Jul29_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) - -#connect( embed_list, '%TAUMU_SVFitVEGAS_Aug07_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) -#connect( mc_repro, '%TAUMU_SVFitVEGAS_Aug26_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) - -allsamples.extend( embed_list ) -allsamples.extend( mc_repro ) -MC_list.extend( mc_repro ) - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents+W1Jets_ext.nGenEvents, - W2Jets.nGenEvents+W2Jets_ext.nGenEvents, - W3Jets.nGenEvents+W3Jets_ext.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w+mc_w_ext: - w.nevents = w_nevents - -print [(s.name, s.dataset_entries) for s in allsamples if s.dataset_entries] -print [(s.name, s.dataset_entries) for s in allsamples if not s.dataset_entries] - -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( embed.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanJul04.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanJul04.py deleted file mode 100644 index d9506ab5e860..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanJul04.py +++ /dev/null @@ -1,119 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV.*START53.*':'TTJets', - '/TTJets_FullLeptMGDecays_8TeV.*START53.*':'TTJetsFullLept', - '/TTJets_SemiLeptMGDecays_8TeV.*START53.*':'TTJetsSemiLept', - '/TTJets_HadronicMGDecays_8TeV.*START53.*':'TTJetsHadronic', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012B_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012D_22Jan', - # '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012A_22Jan', - # '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012B_22Jan', - # '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012C_22Jan', - # '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -mc_ewk = [] -mc_ewk += mc_dy -mc_ewk += t_mc_ewk -# mc_ewk += mc_w - -MC_list = copy.copy( mc_ewk ) - -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) -allsamples.extend( embed_list ) - -connect( allsamples, '%TAUMU_SVFitNoES_Jul03_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) -# connect( allsamples, '%TAUMU_SVFitVEGAS_Jul29_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) - -MC_list.extend(mc_w) -allsamples.extend(mc_w) -connect( mc_w, '%TAUMU_SVFitNoESFixedRecoil_Jul15_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w: - w.nevents = w_nevents - - -print [(s.name, s.dataset_entries) for s in allsamples] -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( embed.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanJun18.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanJun18.py deleted file mode 100644 index 76826736e8f0..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanJun18.py +++ /dev/null @@ -1,107 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets.*START53.*':'TTJets', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012B_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -# allsamples.extend( data_list ) -# allsamples.extend( embed_list ) - -connect( allsamples, '%TAUMU_SVF%_Jun13%', 'tauMu.*root', aliases, cache=True, verbose=False) - -connect( data_list, '%TAUMU_SVF%_Jun21%', 'tauMu.*root', aliases, cache=True, verbose=False) -connect( embed_list, '%TAUMU_SVF%_Jul02', 'tauMu.*root', aliases, cache=True, verbose=False) - -allsamples.extend( data_list ) -allsamples.extend( embed_list ) - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w: - w.nevents = w_nevents - - -print [(s.name, s.dataset_entries) for s in allsamples] -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( data.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanMay23.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanMay23.py deleted file mode 100644 index f297cfd964de..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_JanMay23.py +++ /dev/null @@ -1,80 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/DYJets.*START53.*':'DYJets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets.*START53.*':'TTJets', - '/TauPlusX/Run2012A-13Jul2012-v1.*':'data_Run2012A', - '/TauPlusX/Run2012A-recover-06Aug2012-v1.*':'data_Run2012A_aug6', - '/TauPlusX/Run2012B-13Jul2012-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-24Aug2012-v1.*':'data_Run2012C_v1', - '/TauPlusX/Run2012C-PromptReco-v2.*':'data_Run2012C_v2', - '/TauPlusX/Run2012D-PromptReco-v1.*':'data_Run2012D_v1', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*_C$':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*_C$':'ZZJetsTo4L', - '/DoubleMu/StoreResults-DoubleMu_Run2012A_13Jul2012_v1_embedded_trans1.*':'embed_Run2012A_13Jul2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012B_13Jul2012_v4_embedded_trans1.*':'embed_Run2012B_13Jul2012_v4', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_PromptReco_v2_embedded_trans1.*':'embed_Run2012C_PromptReco_v2', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_24Aug2012_v1_embedded_trans1.*':'embed_Run2012C_24Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_2012D_PromptReco_v1_embedded_trans1.*':'embed_2012D_PromptReco_v1', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) -allsamples.extend( embed_list ) - - -connect( allsamples, '%TAUMU_OSVFit_May27%', 'tauMu.*root', aliases, cache=True, verbose=False) - -# this number is not in the DB (dbs says this sample is still in production) -# WJets.nGenEvents = 61444940 - -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( data.files[0], jsonMap) - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_MuRm_ColinJun19.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_MuRm_ColinJun19.py deleted file mode 100644 index 36058426dabb..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_MuRm_ColinJun19.py +++ /dev/null @@ -1,77 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - # '/WJets.*START53.*NewRecoil.*':'WJets', - '/DYJets.*START53.*NewRecoil.*':'DYJets', - '/DY1Jets.*START53.*NewRecoil.*':'DY1Jets', - '/DY2Jets.*START53.*NewRecoil.*':'DY2Jets', - '/DY3Jets.*START53.*NewRecoil.*':'DY3Jets', - '/DY4Jets.*START53.*NewRecoil.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - } - - -MC_list = copy.copy( mc_ewk ) -MC_list.extend( mc_higgs ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) -allsamples.extend( embed_list ) - - -connect( allsamples, '%TAUMU_MuRm_%Colin_%Jun13', 'tauMu.*root', aliases, cache=True, verbose=False) - -connect( [WJets], '%TAUMU_NewRecoil_RelTauIso_Colin_1Jul13', 'tauMu.*root', - {'/WJets.*START53.*NewRecoil.*':'WJets'}, cache=True, verbose=False) - -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - - - -puFileMC = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/28-09-12/MC_Summer12_PU_S10-600bins.root' -puFileData = '/afs/cern.ch/user/a/agilbert/public/HTT_Pileup/28-09-12/Data_Pileup_2012_HCP-600bins.root' - -for mc in MC_list: - mc.triggers = mc_triggers - mc.puFileMC = puFileMC - mc.puFileData = puFileData - -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( data.files[0], jsonMap) - # No trigger requirements for embedded samples - -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_MuRm_ColinOct9.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_MuRm_ColinOct9.py deleted file mode 100644 index 4c8c1def5a9f..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_MuRm_ColinOct9.py +++ /dev/null @@ -1,53 +0,0 @@ -import copy -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.H2TauTau.proto.samples.computeLumi import computeLumi -from CMGTools.H2TauTau.tools.jsonPick import jsonPick - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -# from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -# from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -walias = { - '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/V5_B/PAT_CMG_V5_8_0/TAUMU_2012_TauIsoRel_ColinOct16':'WJets', -} -aliases = { - '/DYJets.*':'DYJets', - '/TauPlusX/Run2012A-13Jul2012.*':'data_Run2012A', - '/TauPlusX/Run2012A-recover-06Aug2012-v1.*':'data_Run2012A_aug6', - '/TauPlusX/Run2012B-13Jul2012.*':'data_Run2012B', - '/TauPlusX/Run2012C-24Aug2012-v1.*':'data_Run2012C_v1', - '/TauPlusX/Run2012C-PromptReco-v2.*':'data_Run2012C_v2' - } - -MC_list = [DYJets, WJets] -allsamples = copy.copy(MC_list) -allsamples.extend(data_list) - -connect( [WJets], '/WJets%TAUMU_2012%', 'tauMu.*root', walias, cache=True, verbose=False) - -# connect( allsamples, '%TAUMU_2012_MuRm_SVFit_Recoil_ZtoW_C_15Oct%', 'tauMu.*root', aliases, cache=True, verbose=False) -connect( allsamples, '%TAUMU_MuRm_OSVFit_Colin18Oct', 'tauMu.*root', aliases, cache=True, verbose=False) - - -allsamples = [] -for mc in MC_list: - mc.triggers = mc_triggers - allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0]) - data.triggers = data_triggers - allsamples.append(data) -for c in allsamples: - c.splitFactor = splitFactor(c) - - - -## for c in data_list: -## computeLumi(c, test=True) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_MuRm_ColinSep13.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_MuRm_ColinSep13.py deleted file mode 100644 index f3380fd4c395..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_MuRm_ColinSep13.py +++ /dev/null @@ -1,138 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs_susy import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/SUSYBB.*START53.*':'HiggsSUSYBB', - '/SUSYGluGluTo.*START53.*':'HiggsSUSYGluGlu', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53_V7.*':'WJets', - '/W1Jets.*START53_V7.*':'W1Jets', - '/W2Jets.*START53_V7.*':'W2Jets', - '/W3Jets.*START53_V7.*':'W3Jets', - '/W4Jets.*START53_V7.*':'W4Jets', - '/W1Jets.*START53_V19.*':'W1Jets_ext', - '/W2Jets.*START53_V19.*':'W2Jets_ext', - '/W3Jets.*START53_V19.*':'W3Jets_ext', - '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV.*START53.*':'TTJets', - '/TTJets_FullLeptMGDecays_8TeV.*START53.*':'TTJetsFullLept', - '/TTJets_SemiLeptMGDecays_8TeV.*START53.*':'TTJetsSemiLept', - '/TTJets_HadronicMGDecays_8TeV.*START53.*':'TTJetsHadronic', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012B_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012D_22Jan', - # '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012A_22Jan', - # '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012B_22Jan', - # '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012C_22Jan', - # '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -mc_ewk = [] -mc_ewk += mc_dy -mc_ewk += t_mc_ewk -mc_ewk += mc_w -mc_ewk += mc_w_ext - -MC_list = copy.copy( mc_ewk ) -# MC_list.append(mc_dy_ext) -# MC_list.extend( mc_higgs ) -# MC_list.extend( mc_higgs_susy ) -MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) -allsamples.extend( data_list ) -# allsamples.extend( embed_list ) - -mc_repro = [] -mc_repro += mc_dy -mc_repro += mc_higgs -mc_repro += mc_higgs_susy - -# pattern = '%TAUMU_MuRm_NoRecoil_Colin15Sep' -# pattern = '%TAUMU_MuRm_LeadJets_Colin16Sep' -pattern = '%TAUMU_MuRm_RecFix_Colin17Sep' -connect( allsamples, pattern, 'tauMu.*root', aliases, cache=True, verbose=False) - -# connect( embed_list, '%TAUMU_SVFitVEGAS_Aug07_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) -# connect( mc_repro, '%TAUMU_SVFitVEGAS_Aug26_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) - -# allsamples.extend( embed_list ) -# allsamples.extend( mc_repro ) -# MC_list.extend( mc_repro ) - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents+W1Jets_ext.nGenEvents, - W2Jets.nGenEvents+W2Jets_ext.nGenEvents, - W3Jets.nGenEvents+W3Jets_ext.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w+mc_w_ext: - w.nevents = w_nevents - -print [(s.name, s.dataset_entries) for s in allsamples if s.dataset_entries] -print [(s.name, s.dataset_entries) for s in allsamples if not s.dataset_entries] - -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( embed.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e3) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_Colin.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_Colin.py deleted file mode 100644 index 49209aa4f4c9..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_Colin.py +++ /dev/null @@ -1,67 +0,0 @@ -import copy - -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.splitFactor import splitFactor - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -MC_list = [HiggsVBF125] -for sam in MC_list: - sam.triggers = mc_triggers - -allsamples = copy.copy(MC_list) - - -# HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/PAT_CMG_V5_6_0_B/TAUMU_NewSVFit_Colin17Sep', -# 'cbern', '.*root') - -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/V5_B/PAT_CMG_V5_6_0_B/TAUMU_NewSVFit_Colin17Sep', -## 'cbern', '.*root') - -# full new VBF recipe -# good sync with andrew, but need to update PU weights for HCP, and to check full SVFit mass -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PATCMG_V5_8_0_Test/TAUMU_ColinSep28', -## 'cbern', '.*root') - -# second test -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0_Test2/TAUMU_OSVFit_ColinOct2', -## 'cbern', '.*root') - -# third test -#HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0_Test3/TAUMU_OSVFit_ColinOct2', -# 'cbern', '.*root', False) - -# last part of new recipe -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/PAT_CMG_V5_6_0_B/TAUMU_MVAMET2_ColinSep29', -## 'cbern', '.*root') - - - -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0/TAUMU_2012_Colin_Sync_OSVFit_21Oct', -## 'cbern', '.*root') - - -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0/TAUMU_2012_Colin_Sync_23Oct', -## 'cbern', '.*root') - - -# old JEC -# pat = '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_Moriond_Test1/TAUMU_TestMoriond_Dec13' -# new JEC -# pat = '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_Moriond_Test2/TAUMU_TestMoriond_Dec13' -# pat = '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_Moriond_Test3/TAUMU_TestMoriond_Dec14' - -pat = '/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_14_0/TAUMU_OSVFit_NoRecoil_May1' - -HiggsVBF125.files = getFiles(pat, - 'cbern', '.*root') - -HiggsVBF125.splitFactor = 14 - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_ColinAug31.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_ColinAug31.py deleted file mode 100644 index bd19b236ec5f..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_ColinAug31.py +++ /dev/null @@ -1,31 +0,0 @@ -import copy - -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -MC = copy.copy( mc_higgs ) -HiggsVBF125Small = copy.deepcopy( HiggsVBF125 ) -HiggsVBF125Small.name = 'HiggsVBF125Small' - -MC.append( HiggsVBF125Small ) -for sam in MC: - sam.triggers = mc_triggers - -allsamples = copy.copy(MC) - -HiggsVBF125Small.files = getFiles('/H2TAUTAU/Sync/2012/VBF/AOD/PAT_CMG_V5_5_1/TAUMU_ColinAug08', - 'cbern', '.*root') - -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/V5/PAT_CMG_V5_5_1/TAUMU_ColinAug31_SVFitLegOrder', - 'cbern', '.*root') - - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_ColinSep17.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_ColinSep17.py deleted file mode 100644 index f86bda462d71..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_ColinSep17.py +++ /dev/null @@ -1,48 +0,0 @@ -import copy - -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -MC = copy.copy( mc_higgs ) -HiggsVBF125Small = copy.deepcopy( HiggsVBF125 ) -HiggsVBF125Small.name = 'HiggsVBF125Small' - -MC.append( HiggsVBF125Small ) -for sam in MC: - sam.triggers = mc_triggers - -allsamples = copy.copy(MC) - - -# HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/PAT_CMG_V5_6_0_B/TAUMU_NewSVFit_Colin17Sep', -# 'cbern', '.*root') - -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/V5_B/PAT_CMG_V5_6_0_B/TAUMU_NewSVFit_Colin17Sep', -## 'cbern', '.*root') - -# full new VBF recipe -# good sync with andrew, but need to update PU weights for HCP, and to check full SVFit mass -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PATCMG_V5_8_0_Test/TAUMU_ColinSep28', -## 'cbern', '.*root') - -# second test -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0_Test2/TAUMU_OSVFit_ColinOct2', -## 'cbern', '.*root') - -# third test -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_8_0_Test3/TAUMU_OSVFit_ColinOct2', - 'cbern', '.*root', False) - -# last part of new recipe -## HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/PAT_CMG_V5_6_0_B/TAUMU_MVAMET2_ColinSep29', -## 'cbern', '.*root') - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_ColinSep4.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_ColinSep4.py deleted file mode 100644 index 11a58a22bd15..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_Sync_ColinSep4.py +++ /dev/null @@ -1,31 +0,0 @@ -import copy - -from CMGTools.Production.getFiles import getFiles -from CMGTools.RootTools.fwlite.Config import printComps - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -MC = copy.copy( mc_higgs ) -HiggsVBF125Small = copy.deepcopy( HiggsVBF125 ) -HiggsVBF125Small.name = 'HiggsVBF125Small' - -MC.append( HiggsVBF125Small ) -for sam in MC: - sam.triggers = mc_triggers - -allsamples = copy.copy(MC) - -HiggsVBF125Small.files = getFiles('/H2TAUTAU/Sync/2012/VBF/AOD/PAT_CMG_V5_5_1/TAUMU_ColinAug08', - 'cbern', '.*root') - -HiggsVBF125.files = getFiles('/VBF_HToTauTau_M-125_8TeV-powheg-pythia6/Summer12-PU_S7_START52_V9-v1/AODSIM/V5/PAT_CMG_V5_5_1/TAUMU_ColinSep4_NewSVFit', - 'cbern', '.*root', True) - - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_dcSync_ColinSep17.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_dcSync_ColinSep17.py deleted file mode 100644 index f64b5c8d0e18..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_dcSync_ColinSep17.py +++ /dev/null @@ -1,51 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START52.*':'HiggsVBF', - '/GluGluToHToTauTau.*START52.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START52.*':'HiggsVH', - '/DYJets.*START52.*':'DYJets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1':'WJets', - '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1.*':'WJets', - '/W2Jets.*START52.*':'W2Jets', - '/W3Jets.*START52.*':'W3Jets', - '/TTJets.*START52.*':'TTJets', - '/TauPlusX/Run2012A-PromptReco-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-PromptReco-v1.*':'data_Run2012B', - '/DoubleMu/StoreResults-DoubleMu_2012A_PromptReco_v1.*':'embed_Run2012A', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run193752to195135.*':'embed_Run2012B_193752_195135', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run195147to196070.*':'embed_Run2012B_195147_196070', - '/WW_TuneZ2star.*START52.*':'WW', - '/WZ_TuneZ2star.*START52.*':'WZ', - '/ZZ_TuneZ2star.*START52.*':'ZZ' - } - - -MC = copy.copy( mc_ewk ) -MC.extend( mc_higgs ) -MC.extend( mc_diboson ) -for sam in MC: - sam.triggers = mc_triggers -for data in data_list_2012: - data.triggers = data_triggers - - -allsamples = copy.copy(MC) -allsamples.extend( data_list_2012 ) -allsamples.extend( embed_list_2012 ) - -connect( allsamples, '%TAUMU_NewSVFit_Colin17Sep', 'tauMu.*root', aliases, cache=True, verbose=False) - -# this number is not in the DB (dbs says this sample is still in production) -# WJets.nGenEvents = 61444940 - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_dcSync_ColinSep5.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_dcSync_ColinSep5.py deleted file mode 100644 index ef2d67f9414b..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_dcSync_ColinSep5.py +++ /dev/null @@ -1,50 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau':'HiggsVBF', - '/GluGluToHToTauTau':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau':'HiggsVH', - '/DYJets':'DYJets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1':'WJets', - '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V9-v1/AODSIM/V5/PAT_CMG_V5_5_1/TAUMU_ColinSep4_NewSVFit':'WJets', - '/W2Jets':'W2Jets', - '/W3Jets':'W3Jets', - '/TTJets':'TTJets', - '/TauPlusX/Run2012A-PromptReco-v1':'data_Run2012A', - '/TauPlusX/Run2012B-PromptReco-v1':'data_Run2012B', - '/DoubleMu/StoreResults-DoubleMu_2012A_PromptReco_v1':'embed_Run2012A', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run193752to195135':'embed_Run2012B_193752_195135', - '/DoubleMu/StoreResults-DoubleMu_2012B_PromptReco_v1_Run195147to196070':'embed_Run2012B_195147_196070', - '/WW_TuneZ2star':'WW', - '/WZ_TuneZ2star':'WZ', - '/ZZ_TuneZ2star':'ZZ' - } - - -MC = copy.copy( mc_ewk ) -MC.extend( mc_higgs ) -MC.extend( mc_diboson ) -for sam in MC: - sam.triggers = mc_triggers -for data in data_list_2012: - data.triggers = data_triggers - - -allsamples = copy.copy(MC) -allsamples.extend( data_list_2012 ) -allsamples.extend( embed_list_2012 ) - -connect( allsamples, '%TAUMU_ColinSep4_NewSVFit', 'tauMu.*root', aliases, cache=True, verbose=False) - -# this number is not in the DB (dbs says this sample is still in production) -WJets.nGenEvents = 61444940 diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_down_JanJul22.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_down_JanJul22.py deleted file mode 100644 index 000420642182..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_down_JanJul22.py +++ /dev/null @@ -1,121 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs_susy import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/SUSYBB.*START53.*':'HiggsSUSYBB', - '/SUSYGluGluTo.*START53.*':'HiggsSUSYGluGlu', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV.*START53.*':'TTJets', - '/TTJets_FullLeptMGDecays_8TeV.*START53.*':'TTJetsFullLept', - '/TTJets_SemiLeptMGDecays_8TeV.*START53.*':'TTJetsSemiLept', - '/TTJets_HadronicMGDecays_8TeV.*START53.*':'TTJetsHadronic', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012B_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -mc_ewk = [] -# mc_ewk += mc_dy -# mc_ewk += t_mc_ewk - -MC_list = copy.copy( mc_ewk ) - -MC_list.extend( mc_higgs ) -MC_list.extend( mc_higgs_susy ) -# MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) - -connect( allsamples, '%TAUMU_SVFitVEGAS_TESDown_Aug02_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) -connect( embed_list, '%TAUMU_SVFitVEGASTESDown_Aug07_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) -# Import the non-shifted data such that the plotting scripts know the integrated luminosity -connect( data_list, '%TAUMU_SVFitVEGAS_Jul29_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) -connect( mc_dy, '%TAUMU_SVFitVEGASTESDown_Aug26_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) - -allsamples.extend( embed_list ) -allsamples.extend( data_list ) -allsamples.extend( mc_dy ) -MC_list.extend( mc_dy ) - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w: - w.nevents = w_nevents - -print [(s.name, s.dataset_entries) for s in allsamples if s.dataset_entries] -print [(s.name, s.dataset_entries) for s in allsamples if not s.dataset_entries] - -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( embed.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_up_JanJul22.py b/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_up_JanJul22.py deleted file mode 100644 index 89e458992986..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/tauMu_up_JanJul22.py +++ /dev/null @@ -1,127 +0,0 @@ -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -from CMGTools.H2TauTau.proto.samples.run2012.data import * -from CMGTools.H2TauTau.proto.samples.run2012.embed import * -from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs import * -from CMGTools.H2TauTau.proto.samples.run2012.higgs_susy import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers, embed_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/VBFHToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/SUSYBB.*START53.*':'HiggsSUSYBB', - '/SUSYGluGluTo.*START53.*':'HiggsSUSYGluGlu', - '/DYJets.*START53.*':'DYJets', - '/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY1Jets', - '/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY2Jets', - '/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY3Jets', - '/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph.*START53.*':'DY4Jets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV.*START53.*':'TTJets', - '/TTJets_FullLeptMGDecays_8TeV.*START53.*':'TTJetsFullLept', - '/TTJets_SemiLeptMGDecays_8TeV.*START53.*':'TTJetsSemiLept', - '/TTJets_HadronicMGDecays_8TeV.*START53.*':'TTJetsHadronic', - '/TauPlusX/Run2012A-22Jan2013-v1.*':'data_Run2012A', - '/TauPlusX/Run2012B-22Jan2013-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-22Jan2013-v1.*':'data_Run2012C', - '/TauPlusX/Run2012D-22Jan2013-v1.*':'data_Run2012D', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*':'ZZJetsTo4L', - '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012A_22Jan', - '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012B_22Jan', - '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012C_22Jan', - '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_PFembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012D_22Jan', - # '/DoubleMu/StoreResults-Run2012A_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012A_22Jan', - # '/DoubleMuParked/StoreResults-Run2012D_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012B_22Jan', - # '/DoubleMuParked/StoreResults-Run2012C_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012C_22Jan', - # '/DoubleMuParked/StoreResults-Run2012B_22Jan2013_v1_RHembedded_trans1_tau116_ptmu1_16had1_18_v1.*':'embed_Run2012D_22Jan', - } - - -mc_ewk = [] -# mc_ewk += mc_dy -# mc_ewk += t_mc_ewk - -MC_list = copy.copy( mc_ewk ) - -MC_list.extend( mc_higgs ) -MC_list.extend( mc_higgs_susy ) -# MC_list.extend( mc_diboson ) - -allsamples = copy.copy( MC_list ) - - - -connect( allsamples, '%TAUMU_SVFitVEGASTESUp_Aug19_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) -connect( embed_list, '%TAUMU_SVFitVEGASTESUp_Aug07_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) -# Import the non-shifted data such that the plotting scripts know the integrated luminosity -connect( data_list, '%TAUMU_SVFitVEGAS_Jul29_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) -connect( mc_dy, '%TAUMU_SVFitVEGASTESUp_Aug26_steggema', 'tauMu.*root', aliases, cache=True, verbose=False) - -allsamples.extend( embed_list ) -allsamples.extend( data_list ) -allsamples.extend( mc_dy ) -MC_list.extend( mc_dy ) - -# Attach number of generated events for stitching -dy_nevents = [ DYJets.nGenEvents, - DY1Jets.nGenEvents, - DY2Jets.nGenEvents, - DY3Jets.nGenEvents, - DY4Jets.nGenEvents - ] -for dy in mc_dy: - dy.nevents = dy_nevents - -# Attach number of generated events for stitching -w_nevents = [ WJets.nGenEvents, - W1Jets.nGenEvents, - W2Jets.nGenEvents, - W3Jets.nGenEvents, - W4Jets.nGenEvents - ] -for w in mc_w: - w.nevents = w_nevents - -print [(s.name, s.dataset_entries) for s in allsamples if s.dataset_entries] -print [(s.name, s.dataset_entries) for s in allsamples if not s.dataset_entries] - -for mc in MC_list: - mc.triggers = mc_triggers - # allsamples.append(mc) -for data in data_list: - if len(data.files): - data.json = jsonPick( data.files[0], jsonMap) - data.triggers = data_triggers - # allsamples.append(data) -for embed in embed_list: - if len(embed.files): - embed.json = jsonPick( embed.files[0], jsonMap) - embed.triggers = embed_triggers - # No trigger requirements for embedded samples -for c in allsamples: - c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/test_forMike.py b/CMGTools/H2TauTau/python/proto/samples/run2012/test_forMike.py deleted file mode 100644 index a07bf31c2872..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/test_forMike.py +++ /dev/null @@ -1,84 +0,0 @@ -import CMGTools.RootTools.fwlite.Config as cfg -import copy -import itertools -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.utils.connect import connect -from CMGTools.RootTools.utils.splitFactor import splitFactor -from CMGTools.RootTools.json.jsonPick import jsonPick -from CMGTools.H2TauTau.officialJSONS import jsonMap - -# from CMGTools.H2TauTau.proto.samples.run2012.data import * -# from CMGTools.H2TauTau.proto.samples.run2012.embed import * -# from CMGTools.H2TauTau.proto.samples.run2012.ewk import * -# from CMGTools.H2TauTau.proto.samples.run2012.diboson import * -# from CMGTools.H2TauTau.proto.samples.run2012.higgs import * - -from CMGTools.H2TauTau.proto.samples.run2012.triggers_tauMu import data_triggers, mc_triggers - -aliases = { - '/VBF_HToTauTau.*START53.*':'HiggsVBF', - '/GluGluToHToTauTau.*START53.*':'HiggsGGH', - '/WH_ZH_TTH_HToTauTau.*START53.*':'HiggsVH', - '/DYJets.*START53.*':'DYJets', - # '/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START53_V9-v1.*':'WJets', - '/WJets.*START53.*':'WJets', - '/W1Jets.*START53.*':'W1Jets', - '/W2Jets.*START53.*':'W2Jets', - '/W3Jets.*START53.*':'W3Jets', - '/W4Jets.*START53.*':'W4Jets', - '/TTJets.*START53.*':'TTJets', - '/TauPlusX/Run2012A-13Jul2012-v1.*':'data_Run2012A', - '/TauPlusX/Run2012A-recover-06Aug2012-v1.*':'data_Run2012A_aug6', - '/TauPlusX/Run2012B-13Jul2012-v1.*':'data_Run2012B', - '/TauPlusX/Run2012C-24Aug2012-v1.*':'data_Run2012C_v1', - '/TauPlusX/Run2012C-PromptReco-v2.*':'data_Run2012C_v2', - '/TauPlusX/Run2012D-PromptReco-v1.*':'data_Run2012D_v1', - '/T_tW-channel.*START53.*':'T_tW', - '/Tbar_tW-channel.*START53.*':'Tbar_tW', - '/WWJetsTo2L2Nu.*START53.*':'WWJetsTo2L2Nu', - '/WZJetsTo2L2Q.*START53.*':'WZJetsTo2L2Q', - '/WZJetsTo3LNu.*START53.*_C$':'WZJetsTo3LNu', - '/WW_TuneZ2star.*START53.*':'WW', - '/WZ_TuneZ2star.*START53.*':'WZ', - '/ZZ_TuneZ2star.*START53.*':'ZZ', - '/ZZJetsTo2L2Nu.*START53.*':'ZZJetsTo2L2Nu', - '/ZZJetsTo2L2Q.*START53.*':'ZZJetsTo2L2Q', - '/ZZJetsTo4L.*START53.*_C$':'ZZJetsTo4L', - '/DoubleMu/StoreResults-DoubleMu_Run2012A_13Jul2012_v1_embedded_trans1.*':'embed_Run2012A_13Jul2012_v1', - '/DoubleMu/StoreResults-DoubleMu_Run2012B_13Jul2012_v4_embedded_trans1.*':'embed_Run2012B_13Jul2012_v4', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_PromptReco_v2_embedded_trans1.*':'embed_Run2012C_PromptReco_v2', - '/DoubleMu/StoreResults-DoubleMu_Run2012C_24Aug2012_v1_embedded_trans1.*':'embed_Run2012C_24Aug2012_v1', - '/DoubleMu/StoreResults-DoubleMu_2012D_PromptReco_v1_embedded_trans1.*':'embed_2012D_PromptReco_v1', - } - -LOCALS = locals() -allsamples = [] -for name in aliases.values(): - LOCALS[name] = cfg.MCComponent(name=name, - files = [], - xSection = 1, # correction factor from Valentina through Jose (18/10) - nGenEvents = 1, - triggers = [], - effCorrFactor = 1 - ) - allsamples.append(LOCALS[name]) - -connect( allsamples, '%TAUMU_OSVFit_May27%', 'tauMu.*root', aliases, cache=False, verbose=False) - -# this number is not in the DB (dbs says this sample is still in production) -# WJets.nGenEvents = 61444940 - -## for mc in MC_list: -## mc.triggers = mc_triggers -## # allsamples.append(mc) -## for data in data_list: -## if len(data.files): -## data.json = jsonPick( data.files[0], jsonMap) -## data.triggers = data_triggers -## # allsamples.append(data) -## for embed in embed_list: -## if len(embed.files): -## embed.json = jsonPick( data.files[0], jsonMap) -## # No trigger requirements for embedded samples -## for c in allsamples: -## c.splitFactor = splitFactor(c, 5e4) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/triggers_diTau.py b/CMGTools/H2TauTau/python/proto/samples/run2012/triggers_diTau.py deleted file mode 100644 index 196b1a0f33a6..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/triggers_diTau.py +++ /dev/null @@ -1,207 +0,0 @@ -data_parked_triggers_2012 = [ - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v2', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v3', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v4', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v6', - ## second part with trk1 - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_v1', - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_v3', - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_v4', - ] - -data_triggers_2012 = [ - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v4', - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v1', - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v3', - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v3', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v1', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v4', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v5', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v4', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v3', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v1' - ] - -mc_triggers_all = [ - 'HLT_LooseIsoPFTau35_Trk20_Prong1_v6', - 'HLT_LooseIsoPFTau35_Trk20_Prong1_MET70_v6', - 'HLT_LooseIsoPFTau35_Trk20_Prong1_MET75_v6', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_v2', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v6', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v6', - ] - -mc_triggers = [ - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2', - ] - -emb_rechit_triggers = [ - 'HLT_Mu17_Mu8_v16', - 'HLT_Mu17_Mu8_v17', - 'HLT_Mu17_Mu8_v18', - 'HLT_Mu17_Mu8_v19', - 'HLT_Mu17_Mu8_v21', - 'HLT_Mu17_Mu8_v21', - 'HLT_Mu17_Mu8_v22' - ] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -data_triggers_2012A = [ - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v1', - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v3', - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v4', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v1', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2', - ] - -data_triggers_2012B = [ - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v1', - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v3', - 'HLT_DoubleMediumIsoPFTau25_Trk5_eta2p1_Jet30_v4', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v1', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2', - ] - -data_triggers_2012C = [ - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v1', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v3', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v4', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v1', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v3', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v4', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v5', - #'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Reg_Jet30_v1', - ] - -data_triggers_2012D = [ - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v1', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v3', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v4', - 'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Jet30_v5', - #'HLT_DoubleMediumIsoPFTau30_Trk1_eta2p1_Reg_Jet30_v1', - ] - -data_triggers_1prong_2012A = [ - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v1', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v2', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v3', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v4', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v5', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v6', - ] - -data_triggers_1prong_2012B = [ - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v1', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v2', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v3', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v4', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v5', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v6', - ] - -data_triggers_1prong_2012C = [ - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v1', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v2', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v3', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v4', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v5', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v6', - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_v1', - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_v2', - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_v3', - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_v4', - #'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_Reg_v1', - ] - -data_triggers_1prong_2012D = [ - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_v1', - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_v2', - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_v3', - 'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_v4', - #'HLT_DoubleMediumIsoPFTau35_Trk1_eta2p1_Prong1_Reg_v1', - ] - -mc_triggers_spring12 = [ - #'HLT_LooseIsoPFTau35_Trk20_Prong1_v6', - #'HLT_LooseIsoPFTau35_Trk20_Prong1_MET70_v6', - #'HLT_LooseIsoPFTau35_Trk20_Prong1_MET75_v6', - #'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2', - #'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_v2', - #'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v6', - #'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v6', - ] - -mc_triggers_all = [ - 'HLT_LooseIsoPFTau35_Trk20_Prong1_v6', - 'HLT_LooseIsoPFTau35_Trk20_Prong1_MET70_v6', - 'HLT_LooseIsoPFTau35_Trk20_Prong1_MET75_v6', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2', - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_v2', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_v6', - 'HLT_DoubleMediumIsoPFTau35_Trk5_eta2p1_Prong1_v6', - ] - -mc_triggers = [ - 'HLT_DoubleMediumIsoPFTau30_Trk5_eta2p1_Jet30_v2', - ] - - - diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/triggers_tauEle.py b/CMGTools/H2TauTau/python/proto/samples/run2012/triggers_tauEle.py deleted file mode 100644 index 4686aad3426b..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/triggers_tauEle.py +++ /dev/null @@ -1,18 +0,0 @@ -data_triggers = [ - 'HLT_Ele20_CaloIdVT_CaloIsoRhoT_TrkIdT_TrkIsoT_LooseIsoPFTau20_v*', - 'HLT_Ele22_eta2p1_WP90Rho_LooseIsoPFTau20_v*' - ] - - -mc_triggers = [ - 'HLT_Ele22_eta2p1_WP90Rho_LooseIsoPFTau20_v*', - ] - -embed_triggers = [ - 'HLT_Mu17_Mu8_v16', - 'HLT_Mu17_Mu8_v17', - 'HLT_Mu17_Mu8_v18', - 'HLT_Mu17_Mu8_v19', - 'HLT_Mu17_Mu8_v21', - 'HLT_Mu17_Mu8_v22' - ] diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/triggers_tauMu.py b/CMGTools/H2TauTau/python/proto/samples/run2012/triggers_tauMu.py deleted file mode 100644 index d29c47d35337..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/triggers_tauMu.py +++ /dev/null @@ -1,18 +0,0 @@ -data_triggers = [ - 'HLT_IsoMu18_eta2p1_LooseIsoPFTau20_v*', # 2012A - 'HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v*' # 2012B & C & D - ] - - -mc_triggers = [ - 'HLT_IsoMu17_eta2p1_LooseIsoPFTau20_v*', # 53 MC - ] - -embed_triggers = [ - 'HLT_Mu17_Mu8_v16', - 'HLT_Mu17_Mu8_v17', - 'HLT_Mu17_Mu8_v18', - 'HLT_Mu17_Mu8_v19', - 'HLT_Mu17_Mu8_v21', - 'HLT_Mu17_Mu8_v22' - ] diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/zdata.py b/CMGTools/H2TauTau/python/proto/samples/run2012/zdata.py deleted file mode 100644 index df41f41568a6..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/zdata.py +++ /dev/null @@ -1,35 +0,0 @@ -import CMGTools.RootTools.fwlite.Config as cfg -import copy - -#FIXME add run numbers - -zdata_Run2012A = cfg.DataComponent( - name = 'zdata_Run2012A', - files = [], - intLumi = 1.0, # dummy - triggers = [], - json = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/Prompt/Cert_190456-194479_8TeV_PromptReco_Collisions12_JSON.txt' - ) - -zdata_Run2012B_start_194479 = cfg.DataComponent( - name = 'zdata_Run2012B_start_194479', - files = [], - intLumi = 1.0, # dummy - triggers = [], - json = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/Prompt/Cert_190456-194479_8TeV_PromptReco_Collisions12_JSON.txt' - ) - -zdata_Run2012B_194480_195016 = cfg.DataComponent( - name = 'zdata_Run2012B_194480_195016', - files = [], - intLumi = 1.0, # dummy - triggers = [], - json = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/Prompt/Cert_190456-195016_8TeV_PromptReco_Collisions12_JSON.txt' - ) - -zdata_list_Run2012A = [zdata_Run2012A] -zdata_list_Run2012B = [zdata_Run2012B_start_194479, - zdata_Run2012B_194480_195016] - -zdata_list_2012 = copy.copy(zdata_list_Run2012A) -zdata_list_2012.extend(zdata_list_Run2012B) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/zeleele_13Apr.py b/CMGTools/H2TauTau/python/proto/samples/run2012/zeleele_13Apr.py deleted file mode 100644 index 942b871e4edc..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/zeleele_13Apr.py +++ /dev/null @@ -1,36 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2012.data_2012 import * -from CMGTools.H2TauTau.proto.samples.run2012.mc_basicEWK import * - -# from CMGTools.H2TauTau.proto.samples.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -aod = 'V4' -pat = 'PAT_CMG_V4_0_1_Test2012' -filePattern = 'tree_CMG.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2012A_PromptReco_v1.files = getFiles('/DoubleElectron/Run2012A-PromptReco-v1/AOD/{pat}'.format(pat=pat), 'cmgtools', filePattern) - - -# MC basic EWK ---------------------------------------------------------------------------- - -# 2165676 || 2.0 || /DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V5-v2/AODSIM/V4/PAT_CMG_V4_0_1_Test2012 - -DYJets.files = getFiles('/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V5-v2/AODSIM/V4/{pat}'.format(pat=pat), 'cmgtools', filePattern) -DYJets.nGenEvents = 2165676 / 2.0 - - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_2012) - - print 'MC FALL11:' - print - printSamples(mc_basicEWK) diff --git a/CMGTools/H2TauTau/python/proto/samples/run2012/zmumu_13Apr.py b/CMGTools/H2TauTau/python/proto/samples/run2012/zmumu_13Apr.py deleted file mode 100644 index 53b6d1b7cf84..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/run2012/zmumu_13Apr.py +++ /dev/null @@ -1,38 +0,0 @@ -from CMGTools.H2TauTau.proto.samples.run2012.data_2012 import * -from CMGTools.H2TauTau.proto.samples.run2012.mc_basicEWK import * - -# from CMGTools.H2TauTau.proto.samples.triggers_tauMu import data_triggers_2011A, data_triggers_2011B, mc_triggers_fall11 - -aod = 'V4' -pat = 'PAT_CMG_V4_0_1_Test2012' -filePattern = 'tree_CMG.*root' - -# Data -------------------------------------------------------------------------------- - -data_Run2012A_PromptReco_v1.files = getFiles('/DoubleMu/Run2012A-PromptReco-v1/AOD/{pat}'.format(pat=pat), 'cmgtools', filePattern) - - -# MC basic EWK ---------------------------------------------------------------------------- - -# 2165676 || 2.0 || /DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V5-v2/AODSIM/V4/PAT_CMG_V4_0_1_Test2012 - -DYJets.files = getFiles('/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12-PU_S7_START52_V5-v2/AODSIM/V4/{pat}'.format(pat=pat), 'cmgtools', filePattern) -DYJets.nGenEvents = 2165676 / 2.0 - -data = [data_Run2012A_PromptReco_v1] -MC = [DYJets] - -if __name__ == '__main__': - - def printSamples(sams): - for sam in sams: - print - print sam - - print 'DATA 2011:' - print - printSamples(data_2012) - - print 'MC FALL11:' - print - printSamples(mc_basicEWK) diff --git a/CMGTools/H2TauTau/python/proto/samples/sampleShift.py b/CMGTools/H2TauTau/python/proto/samples/sampleShift.py deleted file mode 100644 index eb7d402d82d4..000000000000 --- a/CMGTools/H2TauTau/python/proto/samples/sampleShift.py +++ /dev/null @@ -1,41 +0,0 @@ -import copy - -def sampleShift( locals, inputList, ext ): - '''Generate copies of components in inputList. - Returns a list containing the copies, and add the copies - to the locals namespace of the context calling this function. - set local to locals() when calling the function.''' - newList = [] - for sam in inputList: - newName = '_'.join( [sam.name, ext] ) - newSam = copy.deepcopy(sam) - newSam.name = newName - locals[newName] = newSam - newList.append( newSam ) - return newList - - -def selectShift(components, shift='Up'): - shiftNames = [] - mods = [] - newComps = [] - if shift == 'Nom': - for c in components: - if not c.name.endswith('Up') and not c.name.endswith('Down'): - newComps.append(c) - return newComps - for c in components: - if c.name.endswith(shift): - shiftNames.append(c.name) - mods.append(c.name.replace('_Up','').replace('_Down','')) - for c in components: - base = c.name.replace('_Up','').replace('_Down','') - if c.name in shiftNames: - newComps.append(c) - elif base in mods: - continue - else: - newComps.append(c) - return newComps - - diff --git a/CMGTools/Common/python/Tools/applyJSON_cff.py b/CMGTools/H2TauTau/python/skims/applyJSON_cff.py similarity index 100% rename from CMGTools/Common/python/Tools/applyJSON_cff.py rename to CMGTools/H2TauTau/python/skims/applyJSON_cff.py diff --git a/CMGTools/H2TauTau/python/skims/cmgDiMuSel_cfi.py b/CMGTools/H2TauTau/python/skims/cmgDiMuSel_cfi.py new file mode 100644 index 000000000000..931ca882baf3 --- /dev/null +++ b/CMGTools/H2TauTau/python/skims/cmgDiMuSel_cfi.py @@ -0,0 +1,7 @@ +import FWCore.ParameterSet.Config as cms + +cmgDiMuSel = cms.EDFilter( + "PATCompositeCandidateSelector", + src = cms.InputTag("cmgDiMu"), + cut = cms.string("") + ) diff --git a/CMGTools/Common/python/skims/cmgDiTauCount_cfi.py b/CMGTools/H2TauTau/python/skims/cmgDiTauCount_cfi.py similarity index 100% rename from CMGTools/Common/python/skims/cmgDiTauCount_cfi.py rename to CMGTools/H2TauTau/python/skims/cmgDiTauCount_cfi.py diff --git a/CMGTools/H2TauTau/python/skims/cmgDiTauSel_cfi.py b/CMGTools/H2TauTau/python/skims/cmgDiTauSel_cfi.py new file mode 100644 index 000000000000..439ec0f4a373 --- /dev/null +++ b/CMGTools/H2TauTau/python/skims/cmgDiTauSel_cfi.py @@ -0,0 +1,11 @@ +import FWCore.ParameterSet.Config as cms + +# do not really on the default cuts implemented here, +# as they are subject to change. +# you should override these cuts in your analysis. + +cmgDiTauSel = cms.EDFilter( + "PATCompositeCandidateSelector", + src = cms.InputTag("cmgDiTauCorSVFitPreSel"), + cut = cms.string("") + ) diff --git a/CMGTools/Common/python/skims/cmgMuEleCount_cfi.py b/CMGTools/H2TauTau/python/skims/cmgMuEleCount_cfi.py similarity index 100% rename from CMGTools/Common/python/skims/cmgMuEleCount_cfi.py rename to CMGTools/H2TauTau/python/skims/cmgMuEleCount_cfi.py diff --git a/CMGTools/H2TauTau/python/skims/cmgMuEleSel_cfi.py b/CMGTools/H2TauTau/python/skims/cmgMuEleSel_cfi.py new file mode 100644 index 000000000000..2ce67e6c4b9f --- /dev/null +++ b/CMGTools/H2TauTau/python/skims/cmgMuEleSel_cfi.py @@ -0,0 +1,9 @@ +import FWCore.ParameterSet.Config as cms + +cmgMuEleSel = cms.EDFilter( + "PATCompositeCandidateSelector", + src = cms.InputTag("cmgMuEle"), + cut = cms.string("") + ) + + diff --git a/CMGTools/Common/python/skims/cmgTauCount_cfi.py b/CMGTools/H2TauTau/python/skims/cmgTauCount_cfi.py similarity index 100% rename from CMGTools/Common/python/skims/cmgTauCount_cfi.py rename to CMGTools/H2TauTau/python/skims/cmgTauCount_cfi.py diff --git a/CMGTools/Common/python/skims/cmgTauEleCount_cfi.py b/CMGTools/H2TauTau/python/skims/cmgTauEleCount_cfi.py similarity index 100% rename from CMGTools/Common/python/skims/cmgTauEleCount_cfi.py rename to CMGTools/H2TauTau/python/skims/cmgTauEleCount_cfi.py diff --git a/CMGTools/H2TauTau/python/skims/cmgTauEleSel_cfi.py b/CMGTools/H2TauTau/python/skims/cmgTauEleSel_cfi.py new file mode 100644 index 000000000000..aa9d1d06a79f --- /dev/null +++ b/CMGTools/H2TauTau/python/skims/cmgTauEleSel_cfi.py @@ -0,0 +1,7 @@ +import FWCore.ParameterSet.Config as cms + +cmgTauEleSel = cms.EDFilter( + "PATCompositeCandidateSelector", + src = cms.InputTag("cmgTauEle"), + cut = cms.string("") + ) diff --git a/CMGTools/Common/python/skims/cmgTauMuCount_cfi.py b/CMGTools/H2TauTau/python/skims/cmgTauMuCount_cfi.py similarity index 100% rename from CMGTools/Common/python/skims/cmgTauMuCount_cfi.py rename to CMGTools/H2TauTau/python/skims/cmgTauMuCount_cfi.py diff --git a/CMGTools/H2TauTau/python/skims/cmgTauMuSel_cfi.py b/CMGTools/H2TauTau/python/skims/cmgTauMuSel_cfi.py new file mode 100644 index 000000000000..1401066b9032 --- /dev/null +++ b/CMGTools/H2TauTau/python/skims/cmgTauMuSel_cfi.py @@ -0,0 +1,7 @@ +import FWCore.ParameterSet.Config as cms + +cmgTauMuSel = cms.EDFilter( + "PATCompositeCandidateSelector", + src = cms.InputTag("cmgTauMu"), + cut = cms.string("") + ) diff --git a/CMGTools/Common/python/skims/cmgTauSel_cfi.py b/CMGTools/H2TauTau/python/skims/cmgTauSel_cfi.py similarity index 100% rename from CMGTools/Common/python/skims/cmgTauSel_cfi.py rename to CMGTools/H2TauTau/python/skims/cmgTauSel_cfi.py diff --git a/CMGTools/H2TauTau/python/skims/skim_cff.py b/CMGTools/H2TauTau/python/skims/skim_cff.py index 0bb685e2fe09..2ad703eaa446 100644 --- a/CMGTools/H2TauTau/python/skims/skim_cff.py +++ b/CMGTools/H2TauTau/python/skims/skim_cff.py @@ -1,7 +1,7 @@ -from CMGTools.Common.skims.cmgTauMuCount_cfi import * -from CMGTools.Common.skims.cmgTauEleCount_cfi import * -from CMGTools.Common.skims.cmgMuEleCount_cfi import * -from CMGTools.Common.skims.cmgDiTauCount_cfi import * +from CMGTools.H2TauTau.skims.cmgTauMuCount_cfi import * +from CMGTools.H2TauTau.skims.cmgTauEleCount_cfi import * +from CMGTools.H2TauTau.skims.cmgMuEleCount_cfi import * +from CMGTools.H2TauTau.skims.cmgDiTauCount_cfi import * # tau-mu @@ -75,3 +75,17 @@ diTauFullSelCount ) +# mu-mu +diMuPreSelCount = cmgDiTauCount.clone( minNumber = 1, + src = 'cmgDiMuSVFit') + +diMuFullSelCount = diMuPreSelCount.clone( src = 'cmgDiMuCorSVFitFullSel') + + +diMuPreSelSkimSequence = cms.Sequence( + diMuPreSelCount + ) + +diMuFullSelSkimSequence = cms.Sequence( + diMuFullSelCount + ) \ No newline at end of file diff --git a/CMGTools/H2TauTau/python/tools/setupJSON.py b/CMGTools/H2TauTau/python/tools/setupJSON.py index d82a0f193037..87e474cb2541 100644 --- a/CMGTools/H2TauTau/python/tools/setupJSON.py +++ b/CMGTools/H2TauTau/python/tools/setupJSON.py @@ -1,5 +1,5 @@ import os -from CMGTools.Common.Tools.applyJSON_cff import * +from CMGTools.H2TauTau.skims.applyJSON_cff import * from CMGTools.RootTools.json.jsonPick import * from CMGTools.H2TauTau.officialJSONS import jsonMap diff --git a/CMGTools/H2TauTau/python/tools/setupOutput.py b/CMGTools/H2TauTau/python/tools/setupOutput.py index e67979c0ecd9..7aeed4455b11 100644 --- a/CMGTools/H2TauTau/python/tools/setupOutput.py +++ b/CMGTools/H2TauTau/python/tools/setupOutput.py @@ -1,94 +1,120 @@ -import os +import os import FWCore.ParameterSet.Config as cms +from CMGTools.H2TauTau.eventContent.tauMu_cff import tauMu as tauMuEventContent +from CMGTools.H2TauTau.eventContent.tauMu_cff import tauMuDebug as tauMuDebugEventContent +from CMGTools.H2TauTau.eventContent.tauEle_cff import tauEle as tauEleEventContent +from CMGTools.H2TauTau.eventContent.tauEle_cff import tauEleDebug as tauEleDebugEventContent +from CMGTools.H2TauTau.eventContent.muEle_cff import muEle as muEleEventContent +from CMGTools.H2TauTau.eventContent.muEle_cff import muEleDebug as muEleDebugEventContent +from CMGTools.H2TauTau.eventContent.diTau_cff import diTau as diTauEventContent +from CMGTools.H2TauTau.eventContent.diTau_cff import diTauDebug as diTauDebugEventContent +from CMGTools.H2TauTau.eventContent.diMu_cff import diMu as diMuEventContent +from CMGTools.H2TauTau.eventContent.diMu_cff import diMuDebug as diMuDebugEventContent -def addOutput( process, type12, addDebugEventContent=False, addPreSel=True): - - allowedTypes = ['tauMu', 'tauEle', 'muEle', 'diTau'] + +def addOutput(process, type12, addDebugEventContent=False, addPreSel=True, oneFile=False): + + allowedTypes = ['tauMu', 'tauEle', 'muEle', 'diTau', 'diMu'] if type12 not in allowedTypes: - raise ValueError( type12 + ' not in allowed types: ', allowedTypes ) + raise ValueError(type12 + ' not in allowed types: ', allowedTypes) # skim (basic selection) ------ outFileNameExt = 'CMG' + if oneFile: + mytype = 'htt' + else: + mytype = type12 basicName = '{type}_presel_tree_{ext}.root'.format( - type = type12, - ext = outFileNameExt - ) - - # process.out.fileName = cms.untracked.string( basicName ) - from CMGTools.H2TauTau.eventContent.tauMu_cff import tauMu as tauMuEventContent - from CMGTools.H2TauTau.eventContent.tauMu_cff import tauMuDebug as tauMuDebugEventContent - from CMGTools.H2TauTau.eventContent.tauEle_cff import tauEle as tauEleEventContent - from CMGTools.H2TauTau.eventContent.tauEle_cff import tauEleDebug as tauEleDebugEventContent - from CMGTools.H2TauTau.eventContent.muEle_cff import muEle as muEleEventContent - from CMGTools.H2TauTau.eventContent.muEle_cff import muEleDebug as muEleDebugEventContent - from CMGTools.H2TauTau.eventContent.diTau_cff import diTau as diTauEventContent - from CMGTools.H2TauTau.eventContent.diTau_cff import diTauDebug as diTauDebugEventContent + type=mytype, + ext=outFileNameExt + ) eventContent = None debugEventContent = None - if type12=='tauMu': + if type12 == 'tauMu': eventContent = tauMuEventContent debugEventContent = tauMuDebugEventContent - elif type12=='tauEle': + elif type12 == 'tauEle': eventContent = tauEleEventContent debugEventContent = tauEleDebugEventContent - elif type12=='muEle': + elif type12 == 'muEle': eventContent = muEleEventContent debugEventContent = muEleDebugEventContent - elif type12=='diTau': + elif type12 == 'diMu': + eventContent = diMuEventContent + debugEventContent = diMuDebugEventContent + elif type12 == 'diTau': eventContent = diTauEventContent debugEventContent = diTauDebugEventContent - - + elif oneFile: + eventContent = set(tauMuEventContent + + tauEleEventContent + + diTauEventContent + + muEleEventContent) + debugEventContent = set(tauMuDebugEventContent + + tauEleDebugEventContent + + muEleDebugEventContent + + diTauDebugEventContent) + + prePathVString = ['{type12}PreSelPath'.format(type12=type12)] + if oneFile: + prePathVString = ['{type12}PreSelPath'.format(type12=ctype) for ctype in allowedTypes] out = cms.OutputModule( "PoolOutputModule", - fileName = cms.untracked.string( basicName ), + fileName=cms.untracked.string(basicName), # save only events passing the full path - SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('{type12}PreSelPath'.format(type12=type12)) + SelectEvents=cms.untracked.PSet( + SelectEvents=cms.vstring(prePathVString) ), # save PAT Layer 1 output; you need a '*' to # unpack the list of commands 'patEventContent' - outputCommands = cms.untracked.vstring('drop *') - ) + outputCommands=cms.untracked.vstring('drop *') + ) if addDebugEventContent: - out.outputCommands.extend( debugEventContent ) + out.outputCommands.extend(debugEventContent) else: - out.outputCommands.extend( eventContent ) - + out.outputCommands.extend(eventContent) # full baseline selection ------ + pathVString = ['{type12}Path'.format(type12=type12)] + if oneFile: + pathVString = ['{type12}Path'.format(type12=ctype) for ctype in allowedTypes] outBaseline = out.clone() outBaseline.SelectEvents = cms.untracked.PSet( - SelectEvents = cms.vstring('{type12}Path'.format(type12=type12)) - ) + SelectEvents=cms.vstring(pathVString) + ) baselineName = '{type12}_fullsel_tree_{ext}.root'.format( - type12 = type12, - ext = outFileNameExt - ) + type12=mytype, + ext=outFileNameExt + ) outBaseline.fileName = baselineName - setattr( process, os.path.splitext(baselineName)[0], outBaseline ) + setattr(process, os.path.splitext(baselineName)[0], outBaseline) process.outpath += outBaseline print 'adding output:', outBaseline.fileName - if addPreSel: - setattr( process, os.path.splitext(basicName)[0], out ) + if addPreSel: + setattr(process, os.path.splitext(basicName)[0], out) process.outpath += out print 'adding output:', out.fileName - - - -def addTauMuOutput( process, debugEventContent=False, addPreSel=True): - addOutput(process,'tauMu', debugEventContent, addPreSel ) - -def addTauEleOutput( process, debugEventContent=False, addPreSel=True ): - addOutput(process,'tauEle', debugEventContent, addPreSel ) - -def addMuEleOutput( process, debugEventContent=False, addPreSel=True ): - addOutput(process,'muEle', debugEventContent, addPreSel ) - -def addDiTauOutput( process, debugEventContent=False, addPreSel=True ): - addOutput(process,'diTau', debugEventContent, addPreSel ) - + + +def addTauMuOutput(process, debugEventContent=False, addPreSel=True, oneFile=False): + addOutput(process, 'tauMu', debugEventContent, addPreSel, oneFile) + + +def addTauEleOutput(process, debugEventContent=False, addPreSel=True, oneFile=False): + addOutput(process, 'tauEle', debugEventContent, addPreSel, oneFile) + + +def addMuEleOutput(process, debugEventContent=False, addPreSel=True, oneFile=False): + addOutput(process, 'muEle', debugEventContent, addPreSel, oneFile) + + +def addDiMuOutput(process, debugEventContent=False, addPreSel=True, oneFile=False): + addOutput(process, 'diMu', debugEventContent, addPreSel, oneFile) + + +def addDiTauOutput(process, debugEventContent=False, addPreSel=True, oneFile=False): + addOutput(process, 'diTau', debugEventContent, addPreSel, oneFile) diff --git a/CMGTools/H2TauTau/src/VBFMVA.cc b/CMGTools/H2TauTau/src/VBFMVA.cc deleted file mode 100644 index ed2bb7c6f8d2..000000000000 --- a/CMGTools/H2TauTau/src/VBFMVA.cc +++ /dev/null @@ -1,53 +0,0 @@ -#include "CMGTools/H2TauTau/interface/VBFMVA.h" - -VBFMVA::VBFMVA (const char * weightsFile): vbfvars_(8,0.) - { - init (weightsFile) ; - } - -void VBFMVA::init (const char * weightsFile) - { - reader_ = new TMVA::Reader( "!Color:!Silent" ) ; - - reader_->AddVariable("mjj", &vbfvars_[0]); - reader_->AddVariable("dEta", &vbfvars_[1]); - reader_->AddVariable("dPhi", &vbfvars_[2]); - reader_->AddVariable("ditau_pt", &vbfvars_[3]); - reader_->AddVariable("dijet_pt", &vbfvars_[4]); - reader_->AddVariable("dPhi_hj", &vbfvars_[5]); - reader_->AddVariable("C1", &vbfvars_[6]); - reader_->AddVariable("C2", &vbfvars_[7]); - - std::cout << "VBF MVA: using " << weightsFile << " weight file\n" ; - reader_->BookMVA("BDTG", weightsFile); - } - - - -VBFMVA::~VBFMVA () { delete reader_ ; } - - - -double VBFMVA::val ( - double mjj , // the invariant mass of the two tag jets - double dEta , // the pseudorapidity difference between the two tag jets - double dPhi , // the phi difference between the two tag jets - double ditau_pt , // the vector sum of the pT of the tau + electron/muon + MET - double dijet_pt , // the vector sum of the pT of the two tag jets - double dPhi_hj , // the phi difference between the di-tau vector and the di-jet vector - double C1 , // the pseudorapidity difference between the *visible* di-tau vector and the closest tag jet - double C2 // the *visible* pT of the di-tau -) - { - vbfvars_[0] = mjj ; - vbfvars_[1] = dEta ; - vbfvars_[2] = dPhi ; - vbfvars_[3] = ditau_pt ; - vbfvars_[4] = dijet_pt ; - vbfvars_[5] = dPhi_hj ; - vbfvars_[6] = C1 ; - vbfvars_[7] = C2 ; - - return reader_->EvaluateMVA(vbfvars_, "BDTG"); - } - diff --git a/CMGTools/H2TauTau/src/VBFMVA2012.cc b/CMGTools/H2TauTau/src/VBFMVA2012.cc deleted file mode 100644 index ff43bc490261..000000000000 --- a/CMGTools/H2TauTau/src/VBFMVA2012.cc +++ /dev/null @@ -1,41 +0,0 @@ -#include "CMGTools/H2TauTau/interface/VBFMVA2012.h" - -VBFMVA2012::VBFMVA2012 (const char * weightsFile): vbfvars_(4,0.) - { - init (weightsFile) ; - } - -void VBFMVA2012::init (const char * weightsFile) - { - reader_ = new TMVA::Reader( "!Color:!Silent" ) ; - - reader_->AddVariable("mjj", &vbfvars_[0]); - reader_->AddVariable("dEta", &vbfvars_[1]); - reader_->AddVariable("C1", &vbfvars_[2]); - reader_->AddVariable("C2", &vbfvars_[3]); - - std::cout << "VBF MVA: using " << weightsFile << " weight file\n" ; - reader_->BookMVA("BDTG", weightsFile); - } - - - -VBFMVA2012::~VBFMVA2012 () { delete reader_ ; } - - - -double VBFMVA2012::val ( - double mjj , // the invariant mass of the two tag jets - double dEta , // the pseudorapidity difference between the two tag jets - double C1 , // the pseudorapidity difference between the *visible* di-tau vector and the closest tag jet - double C2 // the *visible* pT of the di-tau -) - { - vbfvars_[0] = mjj ; - vbfvars_[1] = dEta ; - vbfvars_[2] = C1 ; - vbfvars_[3] = C2 ; - - return reader_->EvaluateMVA(vbfvars_, "BDTG"); - } - diff --git a/CMGTools/H2TauTau/src/classes.cc b/CMGTools/H2TauTau/src/classes.cc deleted file mode 100644 index 9699e2e9df79..000000000000 --- a/CMGTools/H2TauTau/src/classes.cc +++ /dev/null @@ -1,2 +0,0 @@ -#include "CMGTools/H2TauTau/interface/METSignificance.h" - diff --git a/CMGTools/H2TauTau/src/classes.h b/CMGTools/H2TauTau/src/classes.h index a3d8ac118c68..751198c93b09 100644 --- a/CMGTools/H2TauTau/src/classes.h +++ b/CMGTools/H2TauTau/src/classes.h @@ -1,19 +1,34 @@ +#define G__DICTIONARY + #include "DataFormats/Common/interface/Wrapper.h" #include "CMGTools/H2TauTau/interface/TriggerEfficiency.h" -#include "CMGTools/H2TauTau/interface/VBFMVA.h" -#include "CMGTools/H2TauTau/interface/VBFMVA2012.h" #include "CMGTools/H2TauTau/interface/METSignificance.h" +#include "FWCore/Utilities/interface/GCC11Compatibility.h" +#ifdef CMS_NOCXX11 +#define SMATRIX_USE_COMPUTATION +#else +#define SMATRIX_USE_CONSTEXPR +#endif + +#include + namespace { struct CMGTools_H2TauTau { TriggerEfficiency trigeff; - VBFMVA vbfMva ; - VBFMVA2012 vbfMva2012 ; - cmg::METSignificance metsig_; edm::Wrapper metsige_; std::vector metsigv_; edm::Wrapper > metsigve_; + + + }; +} + +namespace DataFormats_Math { + struct dictionary { + //Used by MET Significance matrix + ROOT::Math::SMatrix smat; }; } diff --git a/CMGTools/H2TauTau/src/classes_def.xml b/CMGTools/H2TauTau/src/classes_def.xml index dd4617378150..674d2c8ec9b4 100644 --- a/CMGTools/H2TauTau/src/classes_def.xml +++ b/CMGTools/H2TauTau/src/classes_def.xml @@ -1,11 +1,10 @@ - - + diff --git a/CMGTools/HToZZ4L/cfg/run_hzz4l_cfg.py b/CMGTools/HToZZ4L/cfg/run_hzz4l_cfg.py new file mode 100644 index 000000000000..72e99b7f6a35 --- /dev/null +++ b/CMGTools/HToZZ4L/cfg/run_hzz4l_cfg.py @@ -0,0 +1,82 @@ +########################################################## +## CONFIGURATION FOR HZZ4L TREES ## +########################################################## +import PhysicsTools.HeppyCore.framework.config as cfg + +#Load all analyzers +from CMGTools.HToZZ4L.analyzers.hzz4lCore_modules_cff import * + + +#-------- SAMPLES AND TRIGGERS ----------- + +#-------- SEQUENCE +from CMGTools.HToZZ4L.samples.samples_13TeV_PHYS14 import * + +selectedComponents = [] +sequence = cfg.Sequence(hzz4lCoreSequence) + +for comp in mcSamples: + comp.triggers = triggers_multilep + comp.vetoTriggers = [] + +from PhysicsTools.HeppyCore.framework.heppy import getHeppyOption +test = getHeppyOption('test') +if test == "1": + comp = GGHZZ4L + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/GluGluToHToZZTo4L_M-125_13TeV-powheg-pythia6/MINIAODSIM/PU20bx25_tsg_PHYS14_25_V1-v1/00000/3295EF7C-2070-E411-89C4-7845C4FC35DB.root ' ] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 if getHeppyOption('single') else 5 + selectedComponents = [ comp ] +elif test == '2': + for comp in selectedComponents: + comp.files = comp.files[:1] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 +elif test == 'Debug': + comp = GGHZZ4L + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/GluGluToHToZZTo4L_M-125_13TeV-powheg-pythia6/MINIAODSIM/PU20bx25_tsg_PHYS14_25_V1-v1/00000/3295EF7C-2070-E411-89C4-7845C4FC35DB.root ' ] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + selectedComponents = [ comp ] + eventSelector.toSelect = [ (1,1,2), (1,1,53), (1,1,69), (1,1,75), (1,1,79) ] + if getHeppyOption('events'): + eventSelector.toSelect = [ eval("("+x.replace(":",",")+")") for x in getHeppyOption('events').split(",") ] + print "Will select events ",eventSelector.toSelect + sequence = cfg.Sequence([eventSelector] + hzz4lCoreSequence) +elif test == 'CR': + comp = GGHZZ4L + comp.files = [ + '/afs/cern.ch/user/g/gortona/work/public/miniAODPhys14/DYJetsToLL_M-50_13TeV_3leptons.root' + ] + comp.fineSplitFactor = 1 if getHeppyOption('single') else 4 + selectedComponents = [ comp ] + if getHeppyOption('events'): + eventSelector.toSelect = [ eval("("+x.replace(":",",")+")") for x in getHeppyOption('events').split(",") ] + sequence = cfg.Sequence([eventSelector] + hzz4lCoreSequence) + print "Will select events ",eventSelector.toSelect +elif test == 'Cat': + comp = GGHZZ4L + comp.files = [ + 'root://eoscms//eos/cms/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/ggH_JHU_125/ggH_JHU_125.MINIAODSIM00.root', + 'root://eoscms//eos/cms/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/VBF_JHU_125/VBF_JHU_125.MINIAODSIM00.root', + 'root://eoscms//eos/cms/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/WminusH_JHU_125/WminusH_JHU_125.MINIAODSIM00.root', + 'root://eoscms//eos/cms/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/ZH_JHU_125/ZH_JHU_125.MINIAODSIM00.root', + 'root://eoscms//eos/cms/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/ttH_JHU_125/ttH_JHU_125.MINIAODSIM00.root', + ] + comp.splitFactor = 1 if getHeppyOption('single') else 99 + comp.fineSplitFactor = 1 + selectedComponents = [ comp ] + if getHeppyOption('events'): + eventSelector.toSelect = [ eval("("+x.replace(":",",")+")") for x in getHeppyOption('events').split(",") ] + sequence = cfg.Sequence([eventSelector] + hzz4lCoreSequence) + print "Will select events ",eventSelector.toSelect + + +# the following is declared in case this cfg is used in input to the heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +config = cfg.Config( components = selectedComponents, + sequence = sequence, + services = [], + events_class = Events) + + diff --git a/CMGTools/HToZZ4L/cfg/syncCRs.sh b/CMGTools/HToZZ4L/cfg/syncCRs.sh new file mode 100644 index 000000000000..3b515348592a --- /dev/null +++ b/CMGTools/HToZZ4L/cfg/syncCRs.sh @@ -0,0 +1,5 @@ +DIR=${1-CRSznc} +for X in SS 2P2F 3P1F; do + echo -n "${X}: " + python ../python/scripts/eventDumper.py $DIR/GGHZZ4L/fourLeptonTreeProducer/tree.root -f "{run}:{lumi}:{evt}:{zz${X}1_mass:.2f}:{zz${X}1_z1_mass:.2f}:{zz${X}1_z2_mass:.2f}:{zz${X}1_KD:.3f}:{nJet30:d}:{Jet1_pt_zs:.2f}:{Jet2_pt_zs:.2f}" -C "zz${X}1_mass>70" | sort -t: -k3,3 -n | sort -t: -k2,2 -n --stable | sort -t: -k1,1 -n --stable | tee mydump-CR_${X}.txt | wc -l ; +done diff --git a/CMGTools/HToZZ4L/cfg/syncNumbers.sh b/CMGTools/HToZZ4L/cfg/syncNumbers.sh new file mode 100644 index 000000000000..34934acaa063 --- /dev/null +++ b/CMGTools/HToZZ4L/cfg/syncNumbers.sh @@ -0,0 +1,7 @@ +DIR=${1-TrashSync} +python ../python/scripts/eventDumper.py $DIR/GGHZZ4L/fourLeptonTreeProducer/tree.root -f '{run}:{lumi}:{evt}' -C 'zz1_mass>70' | wc -l +python ../python/scripts/eventDumper.py $DIR/GGHZZ4L/fourLeptonTreeProducer/tree.root -f '{run}:{lumi}:{evt}' -C 'zz1_mass>70 && abs(zz1_z1_l1_pdgId)==11 && abs(zz1_z2_l1_pdgId)==11 ' | wc -l +python ../python/scripts/eventDumper.py $DIR/GGHZZ4L/fourLeptonTreeProducer/tree.root -f '{run}:{lumi}:{evt}' -C 'zz1_mass>70 && abs(zz1_z1_l1_pdgId)==13 && abs(zz1_z2_l1_pdgId)==13 ' | wc -l +python ../python/scripts/eventDumper.py $DIR/GGHZZ4L/fourLeptonTreeProducer/tree.root -f '{run}:{lumi}:{evt}' -C 'zz1_mass>70 && abs(zz1_z1_l1_pdgId) != abs(zz1_z2_l1_pdgId)' | wc -l +python ../python/scripts/eventDumper.py $DIR/GGHZZ4L/fourLeptonTreeProducer/tree.root -f '{run}:{lumi}:{evt}:{zz1_mass:.2f}:{zz1_z1_mass:.2f}:{zz1_z2_mass:.2f}:{zz1_KD:.3f}:{nJet30:d}:{Jet1_pt_zs:.2f}:{Jet2_pt_zs:.2f}:{category}' -C 'zz1_mass>70 ' | sort -t: -k3,3 -n | sort -t: -k2,2 -n --stable | sort -t: -k1,1 -n --stable > mydump2.txt +python ../python/scripts/eventDumper.py $DIR/GGHZZ4L/fourLeptonTreeProducer/tree.root -f '{run}:{lumi}:{evt}:{zz1_mass:.2f}:{zz1_z1_mass:.2f}:{zz1_z2_mass:.2f}:{zz1_KD:.3f}:{nJet30:d}:{Jet1_pt_zs:.2f}:{Jet2_pt_zs:.2f}' -C 'zz1_mass>70 ' | sort -t: -k3,3 -n | sort -t: -k2,2 -n --stable | sort -t: -k1,1 -n --stable > mydump2-nocat.txt diff --git a/CMGTools/HToZZ4L/python/analyzers/ElectronMuonCleaner.py b/CMGTools/HToZZ4L/python/analyzers/ElectronMuonCleaner.py new file mode 100644 index 000000000000..9dd2a5140d05 --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/ElectronMuonCleaner.py @@ -0,0 +1,45 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.utils.deltar import deltaR + + + +class ElectronMuonCleaner( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(ElectronMuonCleaner,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(ElectronMuonCleaner, self).declareHandles() + + def beginLoop(self, setup): + super(ElectronMuonCleaner,self).beginLoop(setup) + + def process(self, event): + self.readCollections( event.input ) + + muons = [ mu for mu in event.selectedLeptons if abs(mu.pdgId())==13 and self.cfg_ana.selectedMuCut(mu) ] + muons += [ mu for mu in event.otherLeptons if abs(mu.pdgId())==13 and self.cfg_ana.otherMuCut(mu) ] + + selectedElectrons = [ ] + selectedLeptons = [ mu for mu in event.selectedLeptons if abs(mu.pdgId())==13 ] + for ele in event.selectedLeptons: + if abs(ele.pdgId()) != 11: continue + good = True + for mu in muons: + dr = deltaR(mu.eta(), mu.phi(), ele.eta(), ele.phi()) + if self.cfg_ana.mustClean(ele,mu,dr): + good = False + break + if good: + selectedLeptons.append(ele) + else: # move to the discarded ones + event.otherLeptons.append(ele) + + # re-sort + selectedLeptons.sort(key = lambda l : l.pt(), reverse = True) + selectedElectrons.sort(key = lambda l : l.pt(), reverse = True) + event.otherLeptons.sort(key = lambda l : l.pt(), reverse = True) + event.selectedLeptons = selectedLeptons + event.selectedElectrons = selectedElectrons + + return True + diff --git a/CMGTools/HToZZ4L/python/analyzers/FSRPhotonMaker.py b/CMGTools/HToZZ4L/python/analyzers/FSRPhotonMaker.py new file mode 100644 index 000000000000..f1e6b6441b82 --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/FSRPhotonMaker.py @@ -0,0 +1,90 @@ +from math import * +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaPhi +from PhysicsTools.Heppy.physicsobjects.PhysicsObject import PhysicsObject + + +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + + +from ROOT import heppy + +import os +import itertools + +class FSRPhotonMaker( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(FSRPhotonMaker,self).__init__(cfg_ana,cfg_comp,looperName) + self.leptonTag = cfg_ana.leptons + self.electronID = cfg_ana.electronID + self.IsolationComputer = heppy.IsolationComputer(0.3) + + def declareHandles(self): + super(FSRPhotonMaker, self).declareHandles() + self.handles['pf'] = AutoHandle( "packedPFCandidates",'std::vector') + + def beginLoop(self, setup): + super(FSRPhotonMaker,self).beginLoop(setup) + + def process(self, event): + self.readCollections( event.input ) + pf = map( PhysicsObject, self.handles['pf'].product() ) + leptons = getattr(event,self.leptonTag) + self.IsolationComputer.setPackedCandidates(self.handles['pf'].product()) + + + #first trim the photons that are only near leptons + direct=[] + forIso=[] + + + for p in pf: + if p.pdgId() != 22 or not( p.pt() > 2.0 and abs(p.eta()) < 2.4 ): + continue + scVetoed = False + for l in leptons: + if abs(l.pdgId())==11 and self.electronID(l): + #print "Testing photon pt %5.1f eta %+7.4f phi %+7.4f vs ele pt %.1f eta %+7.4f phi %+7.4f sc eta %+7.4f phi %+7.4f" % ( p.pt(), p.eta(), p.phi(), l.pt(), l.eta(), l.phi(), l.superCluster().eta(), l.superCluster().phi() ) + #print "Testing deta %+7.4f dphi %+7.4f sc deta %+7.4f dphi %+7.4f" % ( abs(p.eta()-l.eta()), deltaPhi(p.phi(),l.phi()), abs(p.eta()-l.superCluster().eta()), deltaPhi(p.phi(),l.superCluster().phi())) + if self.cfg_ana.electronVeto == "superclusterEta": + if (abs(p.eta()-l.superCluster().eta())<0.05 and abs(deltaPhi(p.phi(),l.superCluster().phi()))<2) or deltaR(p.eta(),p.phi(),l.superCluster().eta(),l.superCluster().phi())<0.15: + scVetoed = True; break + elif self.cfg_ana.electronVeto == "electronEta": + if (abs(p.eta()-l.eta())<0.05 and abs(deltaPhi(p.phi(),l.phi()))<2) or deltaR(p.eta(),p.phi(),l.eta(),l.phi())<0.15: + scVetoed = True; break + else: + raise RuntimeError, "electronVeto option %r not implemented" % self.cfg_ana.electronVeto + if scVetoed: continue + okNoIso = False; okIfIso = False + for l in leptons: + DR =deltaR(l.eta(),l.phi(),p.eta(),p.phi()) + if DR<0.07 and p.pt()>2.0: + direct.append(p) + okNoIso = True + break; + elif DR<0.5 and p.pt()>4.0: + okIfIso = True + if okIfIso and not okNoIso: + forIso.append(p) + isolatedPhotons=[] + for g in forIso: + g.absIsoCH = self.IsolationComputer.chargedAbsIso(g.physObj,0.3,0.0001,0.2) + g.absIsoPU = self.IsolationComputer.puAbsIso(g.physObj,0.3,0.0001,0.2) + g.absIsoNH = self.IsolationComputer.neutralHadAbsIsoRaw(g.physObj,0.3,0.01,0.5) + g.absIsoPH = self.IsolationComputer.photonAbsIsoRaw(g.physObj,0.3,0.01,0.5) + g.relIso = (g.absIsoCH+g.absIsoPU+g.absIsoNH+g.absIsoPH)/g.pt() + if g.relIso<1.0: + isolatedPhotons.append(g) + + event.fsrPhotons = isolatedPhotons+direct + + # save all, for debugging + event.fsrPhotonsNoIso = forIso + direct + for fsr in event.fsrPhotonsNoIso: + closest = min(leptons, key = lambda l : deltaR(fsr.eta(),fsr.phi(),l.eta(),l.phi())) + fsr.globalClosestLepton = closest + + return True + diff --git a/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzer.py b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzer.py new file mode 100644 index 000000000000..e2190848d60a --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzer.py @@ -0,0 +1,80 @@ +from math import * +from CMGTools.HToZZ4L.analyzers.FourLeptonAnalyzerBase import * + + +class FourLeptonAnalyzer( FourLeptonAnalyzerBase ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(FourLeptonAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + self.tag = cfg_ana.tag + def declareHandles(self): + super(FourLeptonAnalyzer, self).declareHandles() + + def beginLoop(self, setup): + super(FourLeptonAnalyzer,self).beginLoop(setup) + self.counters.addCounter('FourLepton') + count = self.counters.counter('FourLepton') + count.register('all events') + + + def process(self, event): + self.readCollections( event.input ) + + subevent = EventBox() + setattr(event,'fourLeptonAnalyzer'+self.tag,subevent) + + #startup counter + self.counters.counter('FourLepton').inc('all events') + + #create a cut flow + cutFlow = CutFlowMaker(self.counters.counter("FourLepton"),subevent,event.selectedLeptons) + + passed = cutFlow.applyCut(lambda x:True,'At least four loose leptons',4,'looseLeptons') + + #Ask for four goodleptons + passed = cutFlow.applyCut(self.leptonID,'At least four good non isolated Leptons',4,'goodLeptons') + + + #Create Four Lepton Candidates + subevent.fourLeptonPreCands = self.findOSSFQuads(cutFlow.obj1,event.fsrPhotons) + cutFlow.setSource1(subevent.fourLeptonPreCands) + + #Apply isolation on all legs + passed=cutFlow.applyCut(self.fourLeptonIsolation,'At least four OSSF Isolated leptons ',1,'fourLeptonsIsolated') + + #Apply minimum Z mass + passed=cutFlow.applyCut(self.fourLeptonMassZ1Z2,'Z masses between 12 and 120 GeV',1,'fourLeptonsZMass') + + #Apply ghost suppression + passed=cutFlow.applyCut(self.ghostSuppression,'Ghost suppression ',1,'fourLeptonsGhostSuppressed') + + #Pt Thresholds + passed=cutFlow.applyCut(self.fourLeptonPtThresholds,'Pt 20 and 10 GeV',1,'fourLeptonsPtThresholds') + + #QCD suppression + passed=cutFlow.applyCut(self.qcdSuppression,'QCD suppression',1,'fourLeptonsPtThresholds') + + #Z1 mass + passed=cutFlow.applyCut(self.fourLeptonMassZ1,'Z1 Mass cut',1,'fourLeptonsMass') + + #smart cut + passed=cutFlow.applyCut(self.stupidCut,'Smart cut',1,'fourLeptonsFinal') + + #compute MELA + passed=cutFlow.applyCut(self.fillMEs,'Fill MEs',1,'fourLeptonsWithME') + + #Save the best + if len(subevent.fourLeptonsFinal)>0: + subevent.fourLeptonsFinal=sorted(subevent.fourLeptonsFinal,key=lambda x: x.leg2.leg1.pt()+x.leg2.leg2.pt(),reverse=True) + subevent.fourLeptonsFinal=sorted(subevent.fourLeptonsFinal,key=lambda x: abs(x.leg1.M()-91.1876)) + setattr(event,'bestFourLeptons'+self.tag,subevent.fourLeptonsFinal[:getattr(self.cfg_ana,'maxCand',1)]) + else: + setattr(event,'bestFourLeptons'+self.tag,[]) + + #FSR test + passedFSR=cutFlow.applyCut(lambda x: x.hasFSR(),'FSR tagged',1,'fourLeptonsFSR') + if passedFSR: + for c in subevent.fourLeptonsFSR: + #print 'Mass' ,c.fsrUncorrected().M(),c.M() + pass + + return True diff --git a/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzer2P2F.py b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzer2P2F.py new file mode 100644 index 000000000000..316066704d9e --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzer2P2F.py @@ -0,0 +1,62 @@ +from math import * +from CMGTools.HToZZ4L.analyzers.FourLeptonAnalyzer import * + + +class FourLeptonAnalyzer2P2F( FourLeptonAnalyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(FourLeptonAnalyzer2P2F,self).__init__(cfg_ana,cfg_comp,looperName) + self.tag = cfg_ana.tag + def declareHandles(self): + super(FourLeptonAnalyzer2P2F, self).declareHandles() + + def beginLoop(self, setup): + super(FourLeptonAnalyzer2P2F,self).beginLoop(setup) + self.counters.addCounter('FourLepton') + count = self.counters.counter('FourLepton') + count.register('all events') + + + #For the good lepton preselection redefine the thingy so that leptons are loose + def leptonID(self,lepton): + return self.leptonID_loose(lepton) + + + def zSorting(self,Z1,Z2): + return True + + def fourLeptonIsolation(self,fourLepton): + ##Fancy! Here require that Z1 leptons pass tight ID and isolationand the two other leptons fail ID or isolation + leptons = fourLepton.daughterLeptons() + photons = fourLepton.daughterPhotons() + for l in [fourLepton.leg1.leg1,fourLepton.leg1.leg2]: + if not self.leptonID_tight(l): + return False + l.fsrPhotons=[] + for g in photons: + if deltaR(g.eta(),g.phi(),l.eta(),l.phi())<0.4: + l.fsrPhotons.append(g) + if abs(l.pdgId())==11: + if not (self.electronIsolation(l)): + return False + if abs(l.pdgId())==13: + if not self.muonIsolation(l): + return False + + nFail = 0 + for l in [fourLepton.leg2.leg1,fourLepton.leg2.leg2]: + if not self.leptonID_tight(l): + nFail += 1 + continue + l.fsrPhotons=[] + for g in photons: + if deltaR(g.eta(),g.phi(),l.eta(),l.phi())<0.4: + l.fsrPhotons.append(g) + if abs(l.pdgId())==11: + if not self.electronIsolation(l): + nFail += 1 + continue + if abs(l.pdgId())==13: + if not self.muonIsolation(l): + nFail += 1 + continue + return (nFail == 2) diff --git a/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzer3P1F.py b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzer3P1F.py new file mode 100644 index 000000000000..db35a5383ae3 --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzer3P1F.py @@ -0,0 +1,65 @@ +from math import * +from CMGTools.HToZZ4L.analyzers.FourLeptonAnalyzer import * + + +class FourLeptonAnalyzer3P1F( FourLeptonAnalyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(FourLeptonAnalyzer3P1F,self).__init__(cfg_ana,cfg_comp,looperName) + self.tag = cfg_ana.tag + def declareHandles(self): + super(FourLeptonAnalyzer3P1F, self).declareHandles() + + def beginLoop(self, setup): + super(FourLeptonAnalyzer3P1F,self).beginLoop(setup) + self.counters.addCounter('FourLepton') + count = self.counters.counter('FourLepton') + count.register('all events') + + + #For the good lepton preselection redefine the thingy so that leptons are loose + def leptonID(self,lepton): + return self.leptonID_loose(lepton) + + + def zSorting(self,Z1,Z2): + return True + + def fourLeptonIsolation(self,fourLepton): + ##Fancy! Here require that Z1 leptons pass tight ID and isolationand the two other leptons fail ID or isolation + leptons = fourLepton.daughterLeptons() + photons = fourLepton.daughterPhotons() + for l in [fourLepton.leg1.leg1,fourLepton.leg1.leg2]: + if not self.leptonID_tight(l): + return False + l.fsrPhotons=[] + for g in photons: + if deltaR(g.eta(),g.phi(),l.eta(),l.phi())<0.4: + l.fsrPhotons.append(g) + if abs(l.pdgId())==11: + if not (self.electronIsolation(l)): + return False + if abs(l.pdgId())==13: + if not self.muonIsolation(l): + return False + + failed=0 + for l in [fourLepton.leg2.leg1,fourLepton.leg2.leg2]: + if not self.leptonID_tight(l): + failed=failed+1 + continue + l.fsrPhotons=[] + for g in photons: + if deltaR(g.eta(),g.phi(),l.eta(),l.phi())<0.4: + l.fsrPhotons.append(g) + if abs(l.pdgId())==11: + if not self.electronIsolation(l): + failed=failed+1 + continue + if abs(l.pdgId())==13: + if not self.muonIsolation(l): + failed=failed+1 + continue + if failed==1: + return True + else: + return False diff --git a/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzerBase.py b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzerBase.py new file mode 100644 index 000000000000..ff5b0dd5eb6b --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzerBase.py @@ -0,0 +1,301 @@ +from math import * +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaPhi +from PhysicsTools.HeppyCore.framework.event import * + +from CMGTools.HToZZ4L.tools.DiObject import DiObject +from CMGTools.HToZZ4L.tools.DiObjectPair import DiObjectPair +from CMGTools.HToZZ4L.tools.OverlapCleaner import OverlapCleaner +from CMGTools.HToZZ4L.tools.CutFlowMaker import CutFlowMaker + +import os +import itertools +import collections +import ROOT + +class EventBox(object): + def __init__(self): + pass + + def __str__(self): + + header = 'EVENT BOX ---> {type} <------ EVENT BOX'.format( type=self.__class__.__name__) + varlines = [] + for var,value in sorted(vars(self).iteritems()): + tmp = value + # check for recursivity + recursive = False + if hasattr(value, '__getitem__'): + if (len(value)>0 and value[0].__class__ == value.__class__): + recursive = True + if isinstance( value, collections.Iterable ) and \ + not isinstance(value, (str,unicode)) and \ + not isinstance(value, TChain) and \ + not recursive : + tmp = map(str, value) + varlines.append( '\t{var:<15}: {value}'.format(var=var, value=tmp) ) + all = [ header ] + all.extend(varlines) + return '\n'.join( all ) + + + + +class FourLeptonAnalyzerBase( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(FourLeptonAnalyzerBase,self).__init__(cfg_ana,cfg_comp,looperName) + self._MEMs = ROOT.MEMCalculatorsWrapper(13.0) + + def declareHandles(self): + super(FourLeptonAnalyzerBase, self).declareHandles() + + def beginLoop(self, setup): + super(FourLeptonAnalyzerBase,self).beginLoop(setup) + + def process(self, event): + self.readCollections( event.input ) + + + + def leptonID_tight(self,lepton): + return lepton.tightId() + + def leptonID_loose(self,lepton): + return True + + + def leptonID(self,lepton): + return self.leptonID_tight(lepton) + + + def muonIsolation(self,lepton): + return lepton.absIsoWithFSR(R=0.4,puCorr="deltaBeta")/lepton.pt()<0.4 + + def electronIsolation(self,lepton): + return lepton.absIsoWithFSR(R=0.4,puCorr="rhoArea")/lepton.pt()<0.5 + + def diLeptonMass(self,dilepton): + return dilepton.M()>12.0 and dilepton.M()<120. + + def fourLeptonMassZ1Z2(self,fourLepton): + return self.diLeptonMass(fourLepton.leg1) and self.diLeptonMass(fourLepton.leg2) + + def fourLeptonMassZ1(self,fourLepton): + return fourLepton.leg1.M()>40.0 and fourLepton.leg1.M()<120. # usually implied in fourLeptonMassZ1Z2 but sometimes needed independently + + def stupidCut(self,fourLepton): + #if not 4mu/4e pass + if abs(fourLepton.leg1.leg1.pdgId())!=abs(fourLepton.leg2.leg1.pdgId()): + return True + + #print "Nominal, mZ1 %.3f, mZ2 %.3f: %s" % (fourLepton.leg1.M(),fourLepton.leg2.M(),fourLepton) + #find Alternative pairing.Do not forget FSR + leptons = [ fourLepton.leg1.leg1, fourLepton.leg1.leg2, fourLepton.leg2.leg1, fourLepton.leg2.leg2 ] + quads = [] + for quad in self.findOSSFQuads(leptons, fourLepton.daughterPhotons()): # only re-search for FSR from already-attached photons + # skip self + if fourLepton.leg1.leg1 == quad.leg1.leg1 and fourLepton.leg1.leg2 == quad.leg1.leg2 and fourLepton.leg2.leg1 == quad.leg2.leg1: + continue + + # we used to skip those that fail cuts except Z2 mass + ### if not self.fourLeptonIsolation(quad) or not self.fourLeptonMassZ1(quad) or not self.qcdSuppression(quad): + ### continue + # however: + # - we've now decided in the sync that we don't re-check for isolation on the alternate pairing + # - QCD suppression does not depend on photons, and so it doesn't depend on the pairing + # - if the new pairing has a better Z1 mass than the original one, then it passes the Z1 mass cut + + # skip those that have a worse Z1 mass than the nominal + if abs(fourLepton.leg1.M()-91.1876) < abs(quad.leg1.M()-91.1876): + continue + #print "Found alternate, mZ1 %.3f, mZ2 %.3f: %s" % (quad.leg1.M(),quad.leg2.M(),quad) + quads.append(quad) + if len(quads) == 0: + #print "No alternates to ",fourLepton + return True + bestByZ1 = min(quads, key = lambda quad : abs(quad.leg1.M()-91.1876)) + #print "Best alternate, mZ1 %.3f, mZ2 %.3f: %s" % (bestByZ1.leg1.M(),bestByZ1.leg2.M(),bestByZ1) + return bestByZ1.leg2.M() > 12. + + + + + def fourLeptonPtThresholds(self, fourLepton): + leading_pt = fourLepton.sortedPtLeg(0).pt() + subleading_pt = fourLepton.sortedPtLeg(1).pt() + return leading_pt>20 and subleading_pt>10 + + + def fourLeptonIsolation(self,fourLepton): + ##First ! attach the FSR photons of this candidate to the leptons! + + + + + leptons = fourLepton.daughterLeptons() + photons = fourLepton.daughterPhotons() + + + + + for l in leptons: + l.fsrPhotons=[] + for g in photons: + if deltaR(g.eta(),g.phi(),l.eta(),l.phi())<0.4: + l.fsrPhotons.append(g) + if abs(l.pdgId())==11: + if not self.electronIsolation(l): + return False + if abs(l.pdgId())==13: + if not self.muonIsolation(l): + return False + return True + + def ghostSuppression(self, fourLepton): + leptons = fourLepton.daughterLeptons() + for l1,l2 in itertools.combinations(leptons,2): + if deltaR(l1.eta(),l1.phi(),l2.eta(),l2.phi())<0.02: + return False + return True + + + + def qcdSuppression(self, fourLepton): + return fourLepton.minOSPairMass()>4.0 + + + def zSorting(self,Z1,Z2): + return abs(Z1.M()-91.1876) <= abs(Z2.M()-91.1876) + + def findOSSFQuads(self, leptons,photons): + '''Make combinatorics and make permulations of four leptons + Cut the permutations by asking Z1 nearest to Z and also + that plus is the first + Include FSR if in cfg file + ''' + out = [] + for l1, l2,l3,l4 in itertools.permutations(leptons, 4): + if (l1.pdgId()+l2.pdgId())!=0: + continue; + if (l3.pdgId()+l4.pdgId())!=0: + continue; + if (l1.pdgId()0.5: + continue; + if self.cfg_ana.attachFsrToGlobalClosestLeptonOnly: + if l != g.globalClosestLepton: + continue + if hasattr(g,'DR'): + if DR100: + continue + if abs(mllg-91.1876)>abs(mll-91.1876): + continue + z1Photons.append(g) + if g.pt()>4: + z1Above4 = True + + if g.nearestLepton in [quad.leg2.leg1,quad.leg2.leg2]: + mll = quad.leg2.M() + mllg = (quad.leg2.leg1.p4()+quad.leg2.leg2.p4()+g.p4()).M() + if mllg<4 or mllg>100: + continue + if abs(mllg-91.1876)>abs(mll-91.1876): + continue + z2Photons.append(g) + if g.pt()>4: + z2Above4 = True + + + + if len(z1Photons)>0: + if z1Above4: #Take the highest pt + fsr = max(z1Photons,key=lambda x: x.pt()) + quad.leg1.setFSR(fsr) + else: #Take the smallest DR + fsr = min(z1Photons,key=lambda x: x.DR) + quad.leg1.setFSR(fsr) + if len(z2Photons)>0: + if z2Above4: #Take the highest pt + fsr = max(z2Photons,key=lambda x: x.pt()) + quad.leg2.setFSR(fsr) + else: #Take the smallest DR + fsr = min(z2Photons,key=lambda x: x.DR) + quad.leg2.setFSR(fsr) + + quad.updateP4() + #cleanup for next combination! + for g in assocPhotons: + del g.DR + del g.nearestLepton + + + def fillMEs(self,quad): + legs = [ quad.leg1.leg1, quad.leg1.leg2, quad.leg2.leg1, quad.leg2.leg2 ] + lvs = [ ROOT.TLorentzVector(l.px(),l.py(),l.pz(),l.energy()) for l in legs ] + + if hasattr(quad.leg1,'fsrPhoton'): + photon = ROOT.TLorentzVector(quad.leg1.fsrPhoton.px(),quad.leg1.fsrPhoton.py(),quad.leg1.fsrPhoton.pz(),quad.leg1.fsrPhoton.energy()) + if quad.leg1.fsrDR1() < quad.leg1.fsrDR2(): + lvs[0] = lvs[0]+photon + else: + lvs[1]=lvs[1]+photon + + if hasattr(quad.leg2,'fsrPhoton'): + photon = ROOT.TLorentzVector(quad.leg2.fsrPhoton.px(),quad.leg2.fsrPhoton.py(),quad.leg2.fsrPhoton.pz(),quad.leg2.fsrPhoton.energy()) + if quad.leg2.fsrDR1() < quad.leg2.fsrDR2(): + lvs[2] = lvs[2]+photon + else: + lvs[3]=lvs[3]+photon + + + ids = [ l.pdgId() for l in legs ] + quad.melaAngles = self._MEMs.computeAngles(lvs[0],ids[0], lvs[1],ids[1], lvs[2],ids[2], lvs[3],ids[3]) + self._MEMs.computeAll(lvs[0],ids[0], lvs[1],ids[1], lvs[2],ids[2], lvs[3],ids[3]) + quad.KD = self._MEMs.getKD() + return True + diff --git a/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzerRelaxIdIso.py b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzerRelaxIdIso.py new file mode 100644 index 000000000000..f94409d7a272 --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzerRelaxIdIso.py @@ -0,0 +1,25 @@ +from math import * +from CMGTools.HToZZ4L.analyzers.FourLeptonAnalyzer import * + + +class FourLeptonAnalyzerRelaxIdIso( FourLeptonAnalyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(FourLeptonAnalyzerRelaxIdIso,self).__init__(cfg_ana,cfg_comp,looperName) + self.tag = cfg_ana.tag + def declareHandles(self): + super(FourLeptonAnalyzerRelaxIdIso, self).declareHandles() + + def beginLoop(self, setup): + super(FourLeptonAnalyzerRelaxIdIso,self).beginLoop(setup) + self.counters.addCounter('FourLepton') + count = self.counters.counter('FourLepton') + count.register('all events') + + + #For the good lepton preselection redefine the thingy so that leptons are loose + def leptonID(self,lepton): + return self.leptonID_loose(lepton) + + + def fourLeptonIsolation(self,fourLepton): + return True diff --git a/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzerSS.py b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzerSS.py new file mode 100644 index 000000000000..a5f2f7c940dd --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/FourLeptonAnalyzerSS.py @@ -0,0 +1,71 @@ +from math import * +from CMGTools.HToZZ4L.analyzers.FourLeptonAnalyzer import * + + +class FourLeptonAnalyzerSS( FourLeptonAnalyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(FourLeptonAnalyzerSS,self).__init__(cfg_ana,cfg_comp,looperName) + self.tag = cfg_ana.tag + + def declareHandles(self): + super(FourLeptonAnalyzerSS, self).declareHandles() + + def beginLoop(self, setup): + super(FourLeptonAnalyzerSS,self).beginLoop(setup) + self.counters.addCounter('FourLepton') + count = self.counters.counter('FourLepton') + count.register('all events') + + + #For the good lepton preselection redefine the thingy so that leptons are loose + def leptonID(self,lepton): + return self.leptonID_loose(lepton) + + def zSorting(self,Z1,Z2): + return True + + + #Redefine the QUADS so Z2 is SF/SS!!! + def findOSSFQuads(self, leptons,photons): + '''Make combinatorics and make permulations of four leptons + Cut the permutations by asking Z1 nearest to Z and also + that plus is the first + Include FSR if in cfg file + ''' + out = [] + for l1, l2,l3,l4 in itertools.permutations(leptons, 4): + if (l1.pdgId()+l2.pdgId())!=0: + continue; + if (l3.pdgId()!=l4.pdgId()): + continue; + if (l1.pdgId()0: + return True + + return False diff --git a/CMGTools/HToZZ4L/python/analyzers/GenFSRAnalyzer.py b/CMGTools/HToZZ4L/python/analyzers/GenFSRAnalyzer.py new file mode 100644 index 000000000000..acfd0e4e22ae --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/GenFSRAnalyzer.py @@ -0,0 +1,104 @@ +from math import * +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaPhi +from PhysicsTools.Heppy.physicsobjects.PhysicsObject import PhysicsObject + +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +import ROOT +from ROOT import heppy + +import os +import itertools +import numpy + +class GenFSRAnalyzer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(GenFSRAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + + self.file = ROOT.TFile("fsrTree.root", 'recreate' ) + self.tree = ROOT.TTree("tree","tree") + self.vars={} + + self.vars['mZ']=numpy.zeros(1,float) + self.tree.Branch('mZ',self.vars['mZ'],'mZ/D') + + self.vars['mllgamma']=numpy.zeros(1,float) + self.tree.Branch('mllgamma',self.vars['mllgamma'],'mllgamma/D') + + self.vars['mll']=numpy.zeros(1,float) + self.tree.Branch('mll',self.vars['mll'],'mll/D') + + self.vars['mStar']=numpy.zeros(1,float) + self.tree.Branch('mStar',self.vars['mStar'],'mStar/D') + + self.vars['P']=numpy.zeros(1,float) + self.tree.Branch('P',self.vars['P'],'P/D') + + self.vars['E']=numpy.zeros(1,float) + self.tree.Branch('E',self.vars['E'],'E/D') + + self.vars['ET']=numpy.zeros(1,float) + self.tree.Branch('ET',self.vars['ET'],'ET/D') + + self.vars['cosTheta']=numpy.zeros(1,float) + self.tree.Branch('cosTheta',self.vars['cosTheta'],'cosTheta/D') + + self.vars['DR']=numpy.zeros(1,float) + self.tree.Branch('DR',self.vars['DR'],'DR/D') + + + + def declareHandles(self): + pass + + def beginLoop(self, setup): + super(GenFSRAnalyzer,self).beginLoop(setup) + + + def fetchFinalStateLeptons(self,particle): + finalState=[] + for i in range(0,particle.numberOfDaughters()): + d=particle.daughter(i) + if d.status()==1 and abs(d.pdgId()) in [11,13]: + finalState.append(d) + else: + finalState=finalState+self.fetchFinalStateLeptons(d) + return finalState + + def process(self, event): + + + for l in event.genParticles: + if abs(l.pdgId()) in [11,13] and l.status()==2: + hasFSR=False + for d in range(0,l.numberOfDaughters()): + daughter=l.daughter(d) + if daughter.pdgId()==22: + hasFSR=True + if hasFSR: + self.vars['mZ'][0] = l.mother(0).mother(0).mass() + self.vars['mStar'][0] =(l.daughter(0).p4()+l.daughter(1).p4()).M() + self.vars['P'][0] =l.daughter(0).p() + self.vars['E'][0] =l.daughter(1).energy() + self.vars['ET'][0] =l.daughter(1).pt() + self.vars['cosTheta'][0] =l.daughter(0).p4().Vect().Dot(l.daughter(1).p4().Vect())/(l.daughter(0).p()*l.daughter(1).energy()) + self.vars['DR'][0] =deltaR(l.daughter(0).eta(),l.daughter(0).phi(),l.daughter(1).eta(),l.daughter(1).phi()) + + finalStateLeptons=self.fetchFinalStateLeptons(l.mother(0).mother(0)) + if len(finalStateLeptons)<2: + continue; + print 'Final state leptons',len(finalStateLeptons) + self.vars['mll'][0] =(finalStateLeptons[0].p4()+finalStateLeptons[1].p4()).M() + self.vars['mllgamma'][0] =(finalStateLeptons[0].p4()+finalStateLeptons[1].p4()+l.daughter(1).p4()).M() + self.tree.Fill() + return False + + def write(self,setup): + super(GenFSRAnalyzer, self).write(setup) + self.file.cd() + self.tree.Write() + self.file.Close() + diff --git a/CMGTools/HToZZ4L/python/analyzers/fourLeptonTree.py b/CMGTools/HToZZ4L/python/analyzers/fourLeptonTree.py new file mode 100644 index 000000000000..65c6bfa90bbf --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/fourLeptonTree.py @@ -0,0 +1,25 @@ +from CMGTools.HToZZ4L.analyzers.zzTypes import * + +hzz_globalVariables = [ + NTupleVariable("rho", lambda ev: ev.rho, float, help="kt6PFJets rho"), + NTupleVariable("nVert", lambda ev: len(ev.goodVertices), int, help="Number of good vertices"), + NTupleVariable("nJet30", lambda ev: len([j for j in ev.cleanJets]), int, help="Number of jets with pt > 30"), +] + +hzz_globalObjects = { + "met" : NTupleObject("met", metType) +} + + +hzz_collections = { + "bestFourLeptonsSignal" : NTupleCollection("zz", ZZType, 1, help="Four Lepton Candidates"), + "bestFourLeptons2P2F" : NTupleCollection("zz2P2F",ZZType, 1, help="Four Lepton Candidates 2Pass 2 Fail"), + "bestFourLeptons3P1F" : NTupleCollection("zz3P1F",ZZType, 1, help="Four Lepton Candidates 3 Pass 1 Fail"), + "bestFourLeptonsSS" : NTupleCollection("zzSS", ZZType, 1, help="Four Lepton Candidates SS"), + "bestFourLeptonsRelaxIdIso" : NTupleCollection("zzRelII", ZZType, 8, help="Four Lepton Candidates (relax id, iso)"), + # --------------- + "selectedLeptons" : NTupleCollection("Lep", leptonTypeHZZ, 10, help="Leptons after the preselection"), + "cleanJets" : NTupleCollection("Jet", jetTypeExtra, 10, help="Cental jets after full selection and cleaning, sorted by pt"), + "discardedJets" : NTupleCollection("DiscJet", jetTypeExtra, 5, help="Jets discarted in the jet-lepton cleaning"), + "fsrPhotonsNoIso" : NTupleCollection("FSR", fsrPhotonTypeHZZ, 10, help="Photons for FSR recovery (isolation not applied)"), +} diff --git a/CMGTools/HToZZ4L/python/analyzers/hzz4lCore_modules_cff.py b/CMGTools/HToZZ4L/python/analyzers/hzz4lCore_modules_cff.py new file mode 100644 index 000000000000..9f875af41742 --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/hzz4lCore_modules_cff.py @@ -0,0 +1,306 @@ +import PhysicsTools.HeppyCore.framework.config as cfg +from PhysicsTools.Heppy.analyzers.core.all import * +from PhysicsTools.Heppy.analyzers.objects.all import * +from PhysicsTools.Heppy.analyzers.gen.all import * +from CMGTools.HToZZ4L.analyzers.FourLeptonAnalyzer import * +from CMGTools.HToZZ4L.analyzers.FourLeptonAnalyzer2P2F import * +from CMGTools.HToZZ4L.analyzers.FourLeptonAnalyzerRelaxIdIso import * +from CMGTools.HToZZ4L.analyzers.FourLeptonAnalyzer3P1F import * +from CMGTools.HToZZ4L.analyzers.FourLeptonAnalyzerSS import * +from CMGTools.HToZZ4L.analyzers.FourLeptonEventSkimmer import * + +from CMGTools.HToZZ4L.analyzers.FSRPhotonMaker import * +from CMGTools.HToZZ4L.analyzers.GenFSRAnalyzer import * +from CMGTools.HToZZ4L.analyzers.fourLeptonTree import * +from CMGTools.HToZZ4L.samples.samples_13TeV_PHYS14 import triggers_mumu_iso,triggers_ee,triggers_3e,triggers_mue + +import os + + +PDFWeights = [] + +genAna = cfg.Analyzer( + GeneratorAnalyzer, name="GeneratorAnalyzer", + # BSM particles that can appear with status <= 2 and should be kept + stableBSMParticleIds = [ 1000022 ], + # Particles of which we want to save the pre-FSR momentum (a la status 3). + # Note that for quarks and gluons the post-FSR doesn't make sense, + # so those should always be in the list + savePreFSRParticleIds = [ 1,2,3,4,5, 11,12,13,14,15,16, 21 ], + # Make also the list of all genParticles, for other analyzers to handle + makeAllGenParticles = True, + # Make also the splitted lists + makeSplittedGenLists = True, + allGenTaus = False, + # Save LHE weights from LHEEventProduct + makeLHEweights = True, + # Print out debug information + verbose = False, + ) + + +genFSRAna = cfg.Analyzer( + GenFSRAnalyzer, name="GenFSRAnalyzer" + ) + + +# Find the initial events before the skim +skimAnalyzer = cfg.Analyzer( + SkimAnalyzerCount, name='skimAnalyzerCount', + useLumiBlocks = False, + ) + +# Pick individual events (normally not in the path) +eventSelector = cfg.Analyzer( + EventSelector,name="EventSelector", + toSelect = [] # here put the event numbers (actual event numbers from CMSSW) + ) +# Apply json file (if the dataset has one) +jsonAna = cfg.Analyzer( + JSONAnalyzer, name="JSONAnalyzer", + ) + +# Filter using the 'triggers' and 'vetoTriggers' specified in the dataset +triggerAna = cfg.Analyzer( + TriggerBitFilter, name="TriggerBitFilter", + ) +# Create flags for trigger bits +triggerFlagsAna = cfg.Analyzer( + TriggerBitAnalyzer, name="TriggerFlags", + processName = 'HLT', + triggerBits = { + 'DoubleMu' : triggers_mumu_iso, + 'DoubleEl' : triggers_ee, + 'TripleEl' : triggers_3e, 'MuEG' : triggers_mue, + } + ) + + +# Select a list of good primary vertices (generic) +vertexAna = cfg.Analyzer( + VertexAnalyzer, name="VertexAnalyzer", + vertexWeight = None, + fixedWeight = 1, + verbose = False + ) + + +# This analyzer actually does the pile-up reweighting (generic) +pileUpAna = cfg.Analyzer( + PileUpAnalyzer, name="PileUpAnalyzer", + true = True, # use number of true interactions for reweighting + makeHists=False + ) + +pdfwAna = cfg.Analyzer( + PDFWeightsAnalyzer, name="PDFWeightsAnalyzer", + PDFWeights = [ pdf for pdf,num in PDFWeights ] + ) + + + +lepAna = cfg.Analyzer( + LeptonAnalyzer, name="leptonAnalyzer", + # input collections + muons='slimmedMuons', + electrons='slimmedElectrons', + rhoMuon= 'fixedGridRhoFastjetAll', + rhoElectron = 'fixedGridRhoFastjetAll', + # energy scale corrections and ghost muon suppression (off by default) + doMuScleFitCorrections=False, # "rereco" + doRochesterCorrections=False, + doElectronScaleCorrections=False, # "embedded" in 5.18 for regression + doSegmentBasedMuonCleaning=True, + notCleaningElectrons=True, # no deltaR(ele,mu) cleaning at this step + # inclusive very loose muon selection + inclusive_muon_id = "POG_Global_OR_TMArbitrated", + inclusive_muon_pt = 5, + inclusive_muon_eta = 2.4, + inclusive_muon_dxy = 0.5, + inclusive_muon_dz = 1.0, + muon_dxydz_track = "muonBestTrack", + # loose muon selection + loose_muon_id = "POG_Global_OR_TMArbitrated", + loose_muon_pt = 5, + loose_muon_eta = 2.4, + loose_muon_dxy = 0.5, + loose_muon_dz = 1, + loose_muon_isoCut = lambda muon : muon.sip3D() < 4 and muon.muonBestTrackType() != 2, + # inclusive very loose electron selection + inclusive_electron_id = "", + inclusive_electron_pt = 7, + inclusive_electron_eta = 2.5, + inclusive_electron_dxy = 0.5, + inclusive_electron_dz = 1.0, + inclusive_electron_lostHits = 1.0, + # loose electron selection + loose_electron_id = "", + loose_electron_pt = 7, + loose_electron_eta = 2.5, + loose_electron_dxy = 0.5, + loose_electron_dz = 1.0, + loose_electron_isoCut = lambda x: x.sip3D() < 4, + loose_electron_lostHits = 1.0, + # muon isolation correction method (can be "rhoArea" or "deltaBeta") + mu_isoCorr = "deltaBeta" , + mu_effectiveAreas = "Phys14_25ns_v1", #(can be 'Data2012' or 'Phys14_25ns_v1') + mu_tightId = "POG_ID_Loose", + # electron isolation correction method (can be "rhoArea" or "deltaBeta") + ele_isoCorr = "rhoArea" , + el_effectiveAreas = "Phys14_25ns_v1" , #(can be 'Data2012' or 'Phys14_25ns_v1') + ele_tightId = "POG_MVA_ID_Run2_NonTrig_HZZ", + # Mini-isolation, with pT dependent cone: will fill in the miniRelIso, miniRelIsoCharged, miniRelIsoNeutral variables of the leptons (see https://indico.cern.ch/event/368826/ ) + doMiniIsolation = False, # off by default since it requires access to all PFCandidates + packedCandidates = 'packedPFCandidates', + miniIsolationPUCorr = 'rhoArea', # Allowed options: 'rhoArea' (EAs for 03 cone scaled by R^2), 'deltaBeta', 'raw' (uncorrected), 'weights' (delta beta weights; not validated) + miniIsolationVetoLeptons = None, # use 'inclusive' to veto inclusive leptons and their footprint in all isolation cones + # minimum deltaR between a loose electron and a loose muon (on overlaps, discard the electron) + min_dr_electron_muon = 100.0, + # do MC matching + do_mc_match = True, # note: it will in any case try it only on MC, not on data + match_inclusiveLeptons = False, # match to all inclusive leptons + ) + +from CMGTools.HToZZ4L.analyzers.ElectronMuonCleaner import ElectronMuonCleaner +eleMuClean = cfg.Analyzer( + ElectronMuonCleaner, name='eleMuClean', + selectedMuCut = lambda mu : mu.tightId(), #isPFMuon() or mu.isGlobalMuon(), + otherMuCut = lambda mu : False, # (mu.isPFMuon() or mu.isGlobalMuon()) and muon.muonBestTrackType() != 2, # uncomment to include also muons with sip > 4 + mustClean = lambda ele, mu, dr: dr < 0.05 +) + +## Jets Analyzer (generic) +jetAna = cfg.Analyzer( + JetAnalyzer, name='jetAnalyzer', + jetCol = 'slimmedJets', + copyJetsByValue = False, #Whether or not to copy the input jets or to work with references (should be 'True' if JetAnalyzer is run more than once) + genJetCol = 'slimmedGenJets', + rho = ('fixedGridRhoFastjetAll','',''), + jetPt = 30., + jetEta = 4.7, + jetEtaCentral = 4.7, + jetLepDR = 0.4, + jetLepArbitration = (lambda jet,lepton : lepton), # you can decide which to keep in case of overlaps; e.g. if the jet is b-tagged you might want to keep the jet + cleanSelectedLeptons = True, #Whether to clean 'selectedLeptons' after disambiguation. Treat with care (= 'False') if running Jetanalyzer more than once + minLepPt = 0, + lepSelCut = lambda lepton : lepton.tightId() and lepton.relIso04 < (0.4 if abs(lepton.pdgId())==13 else 0.5), + relaxJetId = True, #False, + doPuId =True, + recalibrateJets = False, # True, False, 'MC', 'Data' + recalibrationType = "AK4PFchs", + mcGT = "PHYS14_25_V2", + jecPath = "%s/src/CMGTools/RootTools/data/jec/" % os.environ['CMSSW_BASE'], + shiftJEC = 0, # set to +1 or -1 to get +/-1 sigma shifts + smearJets = False, + shiftJER = 0, # set to +1 or -1 to get +/-1 sigma shifts + alwaysCleanPhotons = False, + cleanJetsFromFirstPhoton = False, + cleanJetsFromTaus = False, + cleanJetsFromIsoTracks = False, + doQG = False, + cleanGenJetsFromPhoton = False, + ) + + +metAna = cfg.Analyzer( + METAnalyzer, name="metAnalyzer", + metCollection = "slimmedMETs", + noPUMetCollection = "slimmedMETs", + copyMETsByValue = False, + doTkMet = False, + doMetNoPU = False, + doMetNoMu = False, + doMetNoEle = False, + doMetNoPhoton = False, + recalibrate = False, + jetAnalyzerCalibrationPostFix = "", + candidates='packedPFCandidates', + candidatesTypes='std::vector', + dzMax = 0.1, + collectionPostFix = "", + ) + + + +fsrPhotonMaker = cfg.Analyzer( + FSRPhotonMaker, name="fsrPhotonMaker", + leptons="selectedLeptons", + electronID = lambda x: True, #x.electronID("POG_MVA_ID_Run2_NonTrig_HZZ") + electronVeto = "superclusterEta", # alternatives: "electronEta" and in the future "pfCandReference" +) + + +fourLeptonAnalyzerSignal = cfg.Analyzer( + FourLeptonAnalyzer, name="fourLeptonAnalyzerSignal", + tag = "Signal", + attachFsrToGlobalClosestLeptonOnly = True +) + +fourLeptonAnalyzer2P2F = cfg.Analyzer( + FourLeptonAnalyzer2P2F, name="fourLeptonAnalyzer2P2F", + tag = "2P2F", + attachFsrToGlobalClosestLeptonOnly = True +) + +fourLeptonAnalyzer3P1F = cfg.Analyzer( + FourLeptonAnalyzer3P1F, name="fourLeptonAnalyzer3P1F", + tag = "3P1F", + attachFsrToGlobalClosestLeptonOnly = True +) + +fourLeptonAnalyzerSS = cfg.Analyzer( + FourLeptonAnalyzerSS, name="fourLeptonAnalyzerSS", + tag = "SS", + attachFsrToGlobalClosestLeptonOnly = True +) + +fourLeptonAnalyzerRelaxIdIso = cfg.Analyzer( + FourLeptonAnalyzerRelaxIdIso, name="fourLeptonAnalyzerRelaxIdIso", + tag = "RelaxIdIso", + maxCand = 999, # save all, not just the best one + attachFsrToGlobalClosestLeptonOnly = True +) + +fourLeptonEventSkimmer = cfg.Analyzer( + FourLeptonEventSkimmer, name="fourLeptonEventSkimmer", + required = ['bestFourLeptonsSignal','bestFourLeptons2P2F','bestFourLeptons3P1F','bestFourLeptonsSS', 'bestFourLeptonsRelaxIdIso' ] + +) + +treeProducer = cfg.Analyzer( + AutoFillTreeProducer, name='fourLeptonTreeProducer', + vectorTree = False, + saveTLorentzVectors = False, # can set to True to get also the TLorentzVectors, but trees will be bigger + globalVariables = hzz_globalVariables, + globalObjects = hzz_globalObjects, + collections = hzz_collections, + defaultFloatType = 'F', +) + + + + +# Core sequence of all common modules +hzz4lCoreSequence = [ + skimAnalyzer, + genAna, +# genFSRAna, + #eventSelector, + jsonAna, + triggerAna, + pileUpAna, + vertexAna, + lepAna, + eleMuClean, + jetAna, + metAna, + triggerFlagsAna, + fsrPhotonMaker, + fourLeptonAnalyzerSignal, + fourLeptonAnalyzer2P2F, + fourLeptonAnalyzer3P1F, + fourLeptonAnalyzerSS, + fourLeptonAnalyzerRelaxIdIso, + fourLeptonEventSkimmer, + treeProducer +] diff --git a/CMGTools/HToZZ4L/python/analyzers/zzTypes.py b/CMGTools/HToZZ4L/python/analyzers/zzTypes.py new file mode 100644 index 000000000000..42fbff6db3d7 --- /dev/null +++ b/CMGTools/HToZZ4L/python/analyzers/zzTypes.py @@ -0,0 +1,57 @@ +from PhysicsTools.Heppy.analyzers.core.AutoFillTreeProducer import * + +leptonTypeHZZ = NTupleObjectType("leptonHZZ", baseObjectTypes = [ leptonTypeExtra ], variables = [ + NTupleVariable("mvaIdPhys14", lambda lepton : lepton.mvaRun2("NonTrigPhys14") if abs(lepton.pdgId()) == 11 else 1, help="EGamma POG MVA ID for non-triggering electrons, Phys14 re-training; 1 for muons"), + # Extra isolation variables + NTupleVariable("chargedHadIso04", lambda x : x.chargedHadronIsoR(0.4), help="PF Abs Iso, R=0.4, charged hadrons only"), + NTupleVariable("neutralHadIso04", lambda x : x.neutralHadronIsoR(0.4), help="PF Abs Iso, R=0.4, neutral hadrons only"), + NTupleVariable("photonIso04", lambda x : x.photonIsoR(0.4), help="PF Abs Iso, R=0.4, photons only"), + NTupleVariable("puChargedHadIso04", lambda x : x.puChargedHadronIsoR(0.4), help="PF Abs Iso, R=0.4, pileup charged hadrons only"), + NTupleVariable("rho", lambda x : x.rho, help="rho for isolation"), + NTupleVariable("EffectiveArea04", lambda x : x.EffectiveArea04, help="EA for isolation"), +]) + +fsrPhotonTypeHZZ = NTupleObjectType("fsrPhotonHZZ", baseObjectTypes = [ particleType ], variables = [ + NTupleVariable("chargedHadIso", lambda x : getattr(x,'absIsoCH',-1.0), help="PF Abs Iso, R=0.3, charged hadrons only"), + NTupleVariable("photonIso", lambda x : getattr(x,'absIsoPH',-1.0), help="PF Abs Iso, R=0.3, photons only"), + NTupleVariable("neutralHadIso", lambda x : getattr(x,'absIsoNH',-1.0), help="PF Abs Iso, R=0.3, neutral hadrons only"), + NTupleVariable("puChargedHadIso", lambda x : getattr(x,'absIsoPU',-1.0), help="PF Abs Iso, R=0.3, pileup charged hadrons only"), + NTupleVariable("relIso", lambda x : getattr(x,'relIso', -1.0), help="PF Rel Iso, R=0.3, charged + netural had + pileup"), + NTupleSubObject("closestLepton", lambda x : x.globalClosestLepton, particleType), + NTupleVariable("closestLeptonDR", lambda x : deltaR(x.eta(),x.phi(),x.globalClosestLepton.eta(),x.globalClosestLepton.phi())), +]) + +ZZType = NTupleObjectType("ZZType", baseObjectTypes=[fourVectorType], variables = [ + NTupleVariable("hasFSR", lambda x : x.hasFSR(), int), + NTupleVariable("z1_hasFSR", lambda x : x.leg1.hasFSR(), int), + NTupleVariable("z2_hasFSR", lambda x : x.leg2.hasFSR(), int), + NTupleSubObject("z1", lambda x : x.leg1,fourVectorType), + NTupleSubObject("z2", lambda x : x.leg2,fourVectorType), + NTupleSubObject("z1_l1", lambda x : x.leg1.leg1,leptonTypeHZZ), + NTupleSubObject("z1_l2", lambda x : x.leg1.leg2,leptonTypeHZZ), + NTupleSubObject("z2_l1", lambda x : x.leg2.leg1,leptonTypeHZZ), + NTupleSubObject("z2_l2", lambda x : x.leg2.leg2,leptonTypeHZZ), + NTupleVariable("mll_12", lambda x : (x.leg1.leg1.p4()+x.leg1.leg2.p4()).M()), + NTupleVariable("mll_13", lambda x : (x.leg1.leg1.p4()+x.leg2.leg1.p4()).M()), + NTupleVariable("mll_14", lambda x : (x.leg1.leg1.p4()+x.leg2.leg2.p4()).M()), + NTupleVariable("mll_23", lambda x : (x.leg1.leg2.p4()+x.leg2.leg1.p4()).M()), + NTupleVariable("mll_24", lambda x : (x.leg1.leg2.p4()+x.leg2.leg2.p4()).M()), + NTupleVariable("mll_34", lambda x : (x.leg2.leg1.p4()+x.leg2.leg2.p4()).M()), + # ------- + NTupleVariable("z1_pho_pt", lambda x : (x.leg1.fsrPhoton.pt() if x.leg1.hasFSR() else -99.0) ), + NTupleVariable("z1_pho_eta", lambda x : (x.leg1.fsrPhoton.eta() if x.leg1.hasFSR() else -99.0) ), + NTupleVariable("z1_pho_phi", lambda x : (x.leg1.fsrPhoton.phi() if x.leg1.hasFSR() else -99.0) ), + NTupleVariable("z2_pho_pt", lambda x : (x.leg2.fsrPhoton.pt() if x.leg2.hasFSR() else -99.0) ), + NTupleVariable("z2_pho_eta", lambda x : (x.leg2.fsrPhoton.eta() if x.leg2.hasFSR() else -99.0) ), + NTupleVariable("z2_pho_phi", lambda x : (x.leg2.fsrPhoton.phi() if x.leg2.hasFSR() else -99.0) ), + # ------- + NTupleVariable("KD", lambda x : getattr(x, 'KD', -1.0), help="MELA KD"), + NTupleVariable("MELAcosthetastar", lambda x : x.melaAngles.costhetastar if hasattr(x,'melaAngles') else -99.0, help="MELA angle costhetastar"), + NTupleVariable("MELAcostheta1", lambda x : x.melaAngles.costheta1 if hasattr(x,'melaAngles') else -99.0, help="MELA angle costheta1"), + NTupleVariable("MELAcostheta2", lambda x : x.melaAngles.costheta2 if hasattr(x,'melaAngles') else -99.0, help="MELA angle costheta2"), + NTupleVariable("MELAphi", lambda x : x.melaAngles.phi if hasattr(x,'melaAngles') else -99.0, help="MELA angle phi"), + NTupleVariable("MELAphistar1", lambda x : x.melaAngles.phistar1 if hasattr(x,'melaAngles') else -99.0, help="MELA angle phistar1"), + +]) + + diff --git a/CMGTools/HToZZ4L/python/samples/samples_13TeV_PHYS14.py b/CMGTools/HToZZ4L/python/samples/samples_13TeV_PHYS14.py new file mode 100644 index 000000000000..2c987ab75a2b --- /dev/null +++ b/CMGTools/HToZZ4L/python/samples/samples_13TeV_PHYS14.py @@ -0,0 +1,115 @@ +import PhysicsTools.HeppyCore.framework.config as cfg +import os + + + + +################## Triggers (FIXME: update to the PHYS14 Trigger Menu) + + +triggers_mumu_run1 = ["HLT_Mu17_Mu8_v*","HLT_Mu17_TkMu8_v*"] +triggers_mumu_iso = [ "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v*", "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v*" ] +triggers_mumu_noniso = [ "HLT_Mu30_TkMu11_v*" ] +triggers_mumu = triggers_mumu_iso + triggers_mumu_noniso + +triggers_ee_run1 = ["HLT_Ele17_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_Ele8_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_v*", + "HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*", + "HLT_Ele15_Ele8_Ele5_CaloIdL_TrkIdVL_v*"] +triggers_ee = [ "HLT_Ele23_Ele12_CaloId_TrackId_Iso_v*" ] +triggers_3e = [ "HLT_Ele17_Ele12_Ele10_CaloId_TrackId_v*" ] +triggers_mue = [ + "HLT_Mu23_TrkIsoVVL_Ele12_Gsf_CaloId_TrackId_Iso_MediumWP_v*", + "HLT_Mu8_TrkIsoVVL_Ele23_Gsf_CaloId_TrackId_Iso_MediumWP_v*" + ] + + +triggers_multilep = triggers_mumu_iso + triggers_ee + triggers_3e + triggers_mue + + +#####COMPONENT CREATOR +from CMGTools.TTHAnalysis.samples.ComponentCreator import ComponentCreator +kreator = ComponentCreator() + + +################## PU40 bx25ns (not default, so samples have a _PU40bx25 postfix) ################## +GGHZZ4L_PU40bx25 = kreator.makeMCComponent("GGHZZ4L_PU40bx25", "/GluGluToHToZZTo4L_M-125_13TeV-powheg-pythia6/Phys14DR-PU40bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 43.92*2.76E-04) +mcSamplesPHYS14_PU40bx25 = [GGHZZ4L_PU40bx25] + + +################## PU20 bx25ns (default of phys14, so no postfix) ############## + +# DY inclusive (cross section from FEWZ, StandardModelCrossSectionsat13TeV) +DYJetsToLL_M50 = kreator.makeMCComponent("DYJetsToLL_M50", "/DYJetsToLL_M-50_13TeV-madgraph-pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 2008.*3) +# DY HT bins: cross sections for DYJets taken from McM LO times inclusive k-factor from FEWZ(2008 pb x3)/McM(4746) +DYJetsToLL_M50_HT100to200 = kreator.makeMCComponent("DYJetsToLL_M50_HT100to200", "/DYJetsToLL_M-50_HT-100to200_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",194.3*1.27) +DYJetsToLL_M50_HT200to400 = kreator.makeMCComponent("DYJetsToLL_M50_HT200to400", "/DYJetsToLL_M-50_HT-200to400_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",52.24*1.27) +DYJetsToLL_M50_HT400to600 = kreator.makeMCComponent("DYJetsToLL_M50_HT400to600", "/DYJetsToLL_M-50_HT-400to600_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",6.546*1.27) +DYJetsToLL_M50_HT600toInf = kreator.makeMCComponent("DYJetsToLL_M50_HT600toInf", "/DYJetsToLL_M-50_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",2.179*1.27) +DYJetsM50HT = [ +DYJetsToLL_M50_HT100to200, +DYJetsToLL_M50_HT200to400, +DYJetsToLL_M50_HT400to600, +DYJetsToLL_M50_HT600toInf, +] + +# TTbar cross section: MCFM with dynamic scale, StandardModelCrossSectionsat13TeV +TTJets = kreator.makeMCComponent("TTJets", "/TTJets_MSDecaysCKM_central_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",809.1) +# TTV cross sections are from 13 TeV MG5_aMC@NLO v2.2.1, NNPDF 2.3nlo, fixed scale = mtop + 0.5*mv +TTWJets = kreator.makeMCComponent("TTWJets", "/TTWJets_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.6647) +TTZJets = kreator.makeMCComponent("TTZJets", "/TTZJets_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.8565) +# TTH cross section from LHC Higgs XS WG: https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt1314TeV?rev=15 +TTH = kreator.makeMCComponent("TTH", "/TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root",0.5085) + +# cross section from StandardModelCrossSectionsat13TeV (NLO MCFM, mll > 12) times BR=(3*0.108)*(3*0.0337) +WZJetsTo3LNu = kreator.makeMCComponent("WZJetsTo3LNu", "/WZJetsTo3LNu_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",2.165) +# cross section from StandardModelCrossSectionsat13TeV (NLO MCFM, mll > 12) times BR=(3*0.0337)**2 +ZZTo4L = kreator.makeMCComponent("ZZTo4L","/ZZTo4L_Tune4C_13TeV-powheg-pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 31.8*(3*0.03366**2)) + +# GGH cross section from LHC Higgs XS WG: https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt1314TeV?rev=15 +GGHZZ4L = kreator.makeMCComponent("GGHZZ4L", "/GluGluToHToZZTo4L_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 43.92*2.76E-04) + + +mcSamplesPHYS14_PU20bx25 = [DYJetsToLL_M50] + DYJetsM50HT + [ TTJets, TTWJets, TTZJets, TTH, WZJetsTo3LNu, ZZTo4L, GGHZZ4L] + + +mcSamples = mcSamplesPHYS14_PU20bx25 + mcSamplesPHYS14_PU40bx25 + +#-----------DATA--------------- +dataDir = os.environ['CMSSW_BASE']+"/src/CMGTools/TTHAnalysis/data" +#lumi: 12.21+7.27+0.134 = 19.62 /fb @ 8TeV +json=dataDir+'/json/Cert_Run2012ABCD_22Jan2013ReReco.json' + +#SingleMu = cfg.DataComponent( +# name = 'SingleMu', +# files = kreator.getFilesFromEOS('SingleMu', +# '/SingleMu/Run2012D-15Apr2014-v1/AOD/02e0a1be-c9c7-11e3-bfe2-0024e83ef644/MINIAOD/CMSSW_7_0_9_patch2_GR_70_V2_AN1', +# '/eos/cms/store/cmst3/user/cmgtools/CMG/%s'), +# intLumi = 1, +# triggers = [], +# json = json +# ) + + +dataSamplesMu=[] +dataSamplesE=[] +dataSamplesMuE=[] +dataSamplesAll = dataSamplesMu+dataSamplesE+dataSamplesMuE + +from CMGTools.TTHAnalysis.setup.Efficiencies import * + + +#Define splitting +for comp in mcSamples: + comp.isMC = True + comp.isData = False + comp.splitFactor = 250 # if comp.name in [ "WJets", "DY3JetsM50", "DY4JetsM50","W1Jets","W2Jets","W3Jets","W4Jets","TTJetsHad" ] else 100 + comp.puFileMC=dataDir+"/puProfile_Summer12_53X.root" + comp.puFileData=dataDir+"/puProfile_Data12.root" + comp.efficiency = eff2012 + +#for comp in dataSamplesAll: +# comp.splitFactor = 1000 +# comp.isMC = False +# comp.isData = True + + diff --git a/CMGTools/HToZZ4L/python/scripts/eventDumper.py b/CMGTools/HToZZ4L/python/scripts/eventDumper.py new file mode 100644 index 000000000000..c264170d6446 --- /dev/null +++ b/CMGTools/HToZZ4L/python/scripts/eventDumper.py @@ -0,0 +1,178 @@ +#!/usr/bin/env python +from math import * +import re, string +from CMGTools.TTHAnalysis.treeReAnalyzer import * + +from optparse import OptionParser +import json + +parser = OptionParser(usage="usage: %prog [options] rootfile [what] \nrun with --help to get list of options") +parser.add_option("-r", "--run-range", dest="runrange", default=(0,99999999), type="float", nargs=2, help="Run range") +parser.add_option("-c", "--cut-file", dest="cutfile", default=None, type="string", help="Cut file to apply") +parser.add_option("-C", "--cut", dest="cut", default=None, type="string", help="Cut to apply") +parser.add_option("-T", "--type", dest="type", default=None, type="string", help="Type of events to select") +parser.add_option("-F", "--fudge", dest="fudge", default=False, action="store_true", help="print -999 for missing variables") +parser.add_option("-m", "--mc", dest="ismc", default=False, action="store_true", help="print MC match info") +parser.add_option("-M", "--more", dest="ismore", default=False, action="store_true", help="print more info") +parser.add_option("--mm", "--more-mc", dest="moremc", default=False, action="store_true", help="print more MC match info") +parser.add_option("--tau", dest="tau", default=False, action="store_true", help="print Taus") +parser.add_option("-j", "--json", dest="json", default=None, type="string", help="JSON file to apply") +parser.add_option("-n", "--maxEvents", dest="maxEvents", default=-1, type="int", help="Max events") +parser.add_option("-f", "--format", dest="fmt", default=None, type="string", help="Print this format string") +parser.add_option("-t", "--tree", dest="tree", default='tree', help="Pattern for tree name"); +parser.add_option("-E", "--events", dest="events", default=[], action="append", help="Events to select") + +(options, args) = parser.parse_args(); sys.argv = [] + +jsonmap = {} +if options.json: + J = json.load(open(options.json, 'r')) + for r,l in J.iteritems(): + jsonmap[long(r)] = l + stderr.write("Loaded JSON %s with %d runs\n" % (options.json, len(jsonmap))) + +def testJson(ev): + try: + lumilist = jsonmap[ev.run] + for (start,end) in lumilist: + if start <= ev.lumi and ev.lumi <= end: + return True + return False + except KeyError: + return False + +def findLepIndex(leps,pt,eta): + for il,l in enumerate(leps): + if abs(l.pt-pt)<1e-5 and abs(l.eta-eta)<1e-5: + return il + return -1 +class BaseDumper(Module): + def __init__(self,name,options=None,booker=None): + Module.__init__(self,name,booker) + self.options = options + def preselect(self,ev): + return True + def makeVars(self,ev,zzkind="zz"): + jets = Collection(ev,"Jet") + ev.Jet1_pt_zs = jets[0].pt if len(jets) > 0 else -1.0 + ev.Jet2_pt_zs = jets[1].pt if len(jets) > 1 else -1.0 + allleps = Collection(ev,"Lep","nLep") + zzs = Collection(ev,zzkind,"n"+zzkind) + if len(zzs) == 0: + ev.catetory = -1 + return + zz = zzs[0] + ils = [ findLepIndex(allleps, zz.z1_l1_pt, zz.z1_l1_eta), + findLepIndex(allleps, zz.z1_l2_pt, zz.z1_l2_eta), + findLepIndex(allleps, zz.z2_l1_pt, zz.z2_l1_eta), + findLepIndex(allleps, zz.z2_l2_pt, zz.z2_l2_eta) ] + lepsS = [] + for i,l in enumerate(allleps): + if i in ils: + lepsS.append(l) + elif l.tightId and l.relIso04 < (0.4 if abs(l.pdgId)==13 else 0.5) and l.sip3d < 4: + lepsS.append(l) + ev.nLepSel = len(lepsS) + ev.mjj = (jets[0].p4()+jets[1].p4()).M() if len(jets) >= 2 else 0 + ev.Djet = 0.18*abs(jets[0].eta-jets[1].eta) + 1.92e-04*ev.mjj if len(jets) >= 2 else 0 + ev.nB = sum([(j.btagCSV > 0.814 and j.pt > 30) for j in jets]) if len(jets) else 0 + jets40c = [ j for j in jets if j.pt > 40 and abs(j.eta) < 2.4 ] + ev.nJet40c = len(jets40c) + ev.vhjjTags = 0; ev.mjj40c = 0 + if len(jets40c) >= 2: + for i1,j1 in enumerate(jets40c[:-1]): + for j2 in jets40c[i1+1:]: + mjj40c = (j1.p4()+j2.p4()).M() + if 60 < mjj40c and mjj40c < 120: + ev.vhjjTags += 1 + if abs(mjj40c - 90) < abs(ev.mjj40c - 90): + ev.mjj40c = mjj40c + if ev.nLepSel == 4 and ev.nJet30 >= 2 and ev.nB <= 1 and ev.Djet > 0.5: + ev.category = 2 + elif ev.nLepSel == 4 and ev.nJet40c >= 2 and (60 < ev.mjj40c and ev.mjj40c < 120) and zz.pt > zz.mass: + ev.category = 4 + elif ev.nLepSel == 4 and ev.nJet30 == 2 and ev.nB == 2: + ev.category = 4 + elif ev.nLepSel >= 5 and ev.nJet30 <= 2 and ev.nB == 0: + ev.category = 3 + elif ev.nJet30 >= 3 and ev.nB >= 1: + ev.category = 5 + elif ev.nLepSel >= 5: + ev.category = 5 + elif ev.nJet30 >= 1: + ev.category = 1 + else: + ev.category = 0 + def analyze(self,ev): + if self.options.events and ( (ev.run, ev.lumi, ev.evt) not in self.options.events ): + return False + try: + self.makeVars(ev) + except: + raise + pass + if self.options.fmt: + print string.Formatter().vformat(options.fmt.replace("\\t","\t"),[],ev) + return True + leps = Collection(ev,"Lep","nLep") + jets = Collection(ev,"Jet") + print "run %6d lumi %4d event %11d (id: %d:%d:%d) " % (ev.run, ev.lumi, ev.evt, ev.run, ev.lumi, ev.evt) + for i,l in enumerate(leps): + print " lepton %d: id %+2d pt %5.1f eta %+4.2f phi %+4.2f tightId %d relIso %5.3f sip3d %5.2f dxy %+4.3f dz %+4.3f bdt %+5.3f lostHits %1d" % ( + i+1, l.pdgId,l.pt,l.eta,l.phi, l.tightId, l.relIso04, l.sip3d, l.dxy, l.dz, l.mvaIdPhys14, l.lostHits), + if self.options.ismore: + print " iso ch %5.2f nh %5.2f ph %5.2f pu %5.2f rho %5.2f ea %4.3f " % ( l.chargedHadIso04, l.neutralHadIso04, l.photonIso04, l.puChargedHadIso04, l.rho, l.EffectiveArea04 ), + if self.options.ismc: + print " mcMatch id %+3d, any %+2d" % (l.mcMatchId, l.mcMatchAny), + print "" + for i,j in enumerate(jets): + if self.options.ismc: + print " jet %d: pt %5.1f uncorrected pt %5.1f eta %+4.2f phi %+4.2f btag %4.3f mcMatch %2d mcFlavour %2d mcPt %5.1f" % (i, j.pt, j.rawPt, j.eta, j.phi, min(1.,max(0.,j.btagCSV)), j.mcMatchId, j.mcFlavour, j.mcPt) + else: + print " jet %d: pt %5.1f uncorrected pt %5.1f eta %+4.2f phi %+4.2f btag %4.3f" % (i+1, j.pt, j.rawPt, j.eta, j.phi, min(1.,max(0.,j.btagCSV))) + fsr = Collection(ev, "FSR") + for i,g in enumerate(fsr): + print " photon %d: pt %5.1f eta %+4.2f phi %+4.2f reliso% 6.3f (ch %5.1f nh %5.1f ph %5.1f pu %5.1f), closest lepton id %+2d pt %5.1f eta %+4.2f phi %+4.2f dr %.4f " % (i+1, + g.pt, g.eta, g.phi, g.relIso, g.chargedHadIso, g.neutralHadIso, g.photonIso, g.puChargedHadIso, g.closestLepton_pdgId, g.closestLepton_pt, g.closestLepton_eta, g.closestLepton_phi, g.closestLeptonDR) + + for type in "zz", "zz2P2F", "zz3P1F", "zzSS", "zzRelII": + zzs = Collection(ev,type) + self.makeVars(ev,zzkind=type) + if len(zzs): + print " four-lepton candidates of type %s" % type + for izz,zz in enumerate(zzs): + ils = [ findLepIndex(leps, zz.z1_l1_pt, zz.z1_l1_eta), + findLepIndex(leps, zz.z1_l2_pt, zz.z1_l2_eta), + findLepIndex(leps, zz.z2_l1_pt, zz.z2_l1_eta), + findLepIndex(leps, zz.z2_l2_pt, zz.z2_l2_eta) ] + ifsr1 = findLepIndex(fsr, zz.z1_pho_pt, zz.z1_pho_eta) if zz.z1_hasFSR else -1 + ifsr2 = findLepIndex(fsr, zz.z2_pho_pt, zz.z2_pho_eta) if zz.z2_hasFSR else -1 + print " candidate %1d: leptons %d %d %d %d, mass %6.3f mz1 %6.3f mz2 %6.3f , Z1 FSR %d Z2 FSR %d " % ( + izz, ils[0]+1,ils[1]+1,ils[2]+1,ils[3]+1, zz.mass, zz.z1_mass, zz.z2_mass, ifsr1+1, ifsr2+1 ) + print " m12 %6.3f m13 %6.3f m14 %6.3f m23 %6.3f m24 %6.3f m34 %6.3f" % ( + zz.mll_12, zz.mll_13, zz.mll_14, zz.mll_23, zz.mll_24, zz.mll_34) + print " KD %.3f pt4l %6.1f mjj %6.1f Djet %.3f nLepSel %d nJet30 %d nB %d nJet40c %d, mjj40c %6.1f: category %d" % ( + zz.KD, zz.pt, ev.mjj, ev.Djet, ev.nLepSel, ev.nJet30, ev.nB, ev.nJet40c, ev.mjj40c, ev.category + ) + print " met %6.2f (phi %+4.2f)" % (ev.met_pt, ev.met_phi) + print " vertices %d" % (ev.nVert) + print " HLT: ", " ".join([t for t in "DoubleMu DoubleEl TripleEl MuEG".split() if getattr(ev,"HLT_"+t)]) + print "" + +cut = None +if options.cut: + cut = options.cut +if options.events: + rles = [] + for ids in options.events: + for i in ids.split(): + (r,l,e) = map(int, i.split(":")) + rles.append((r,l,e)) + options.events = rles +file = ROOT.TFile.Open(args[0]) +tree = file.Get(options.tree) +tree.vectorTree = False +dumper = BaseDumper("dump", options) +el = EventLoop([dumper]) +el.loop(tree,options.maxEvents,cut=cut) + diff --git a/CMGTools/HToZZ4L/python/tools/CutFlowMaker.py b/CMGTools/HToZZ4L/python/tools/CutFlowMaker.py new file mode 100644 index 000000000000..a24de2b6ffba --- /dev/null +++ b/CMGTools/HToZZ4L/python/tools/CutFlowMaker.py @@ -0,0 +1,77 @@ + +class CutFlowMaker(): + def __init__(self,counter,event,src1,src2 = None): + self.counter=counter + self.obj1=src1 + self.obj2=src2 + self.event=event + + def setSource1(self,src1): + self.obj1=src1 + + def setSource2(self,src2): + self.obj2=src2 + + def mergeResults(self,name=None): + tmp = set(self.obj1) + tmp.update(self.obj2) + self.obj1=tmp + self.obj2=None + if name is not None: + setattr(self.event,name,tmp) + + def applyCut(self,cut,text = '',minN = 1,name=None): + selectedObjects=filter(cut,self.obj1) + if self.counter is not None: + if text not in self.counter.dico: + self.counter.register(text) + + if len(selectedObjects)>=minN: + if self.counter is not None: + self.counter.inc(text) + self.obj1=selectedObjects + + if name is not None: + setattr(self.event,name,self.obj1) + return True + else: + self.obj1=selectedObjects + if name is not None: + setattr(self.event,name,self.obj1) + return False + + def applyDoubleCut(self,cut1,cut2,text = '',minN = 1,name1 = None, name2 = None,minN1=-1,minN2=-1): + selectedObjects1=filter(cut1,self.obj1) + selectedObjects2=filter(cut2,self.obj2) + + merged=set(selectedObjects1) + merged.update(selectedObjects2) + + isOK = (len(merged)>=minN) and \ + (len(selectedObjects1)>=minN1) and \ + (len(selectedObjects2)>=minN2) + if self.counter is not None: + if text not in self.counter.dico: + self.counter.register(text) + + if isOK: + if self.counter is not None: + self.counter.inc(text) + self.obj1=selectedObjects1 + self.obj2=selectedObjects2 + if name1 is not None: + setattr(self.event,name1,selectedObjects1) + if name2 is not None: + setattr(self.event,name2,selectedObjects2) + + return True + else: + self.obj1=selectedObjects1 + self.obj2=selectedObjects2 + if name1 is not None: + setattr(self.event,name1,selectedObjects1) + if name2 is not None: + setattr(self.event,name2,selectedObjects2) + + return False + diff --git a/CMGTools/HToZZ4L/python/tools/DiObject.py b/CMGTools/HToZZ4L/python/tools/DiObject.py new file mode 100644 index 000000000000..3c65cc1778fd --- /dev/null +++ b/CMGTools/HToZZ4L/python/tools/DiObject.py @@ -0,0 +1,142 @@ +from ROOT import TLorentzVector +from math import pi,acos,asin +from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaPhi + +class DiObject( TLorentzVector ): + '''Class used for Zs, and also for Higgs candidates''' + def __init__(self, leg1, leg2,doSort = True): + if (leg2.pt() > leg1.pt()) and doSort: + leg2, leg1 = leg1, leg2 + lv1 = TLorentzVector( leg1.px(), leg1.py(), leg1.pz(), leg1.energy() ) + lv2 = TLorentzVector( leg2.px(), leg2.py(), leg2.pz(), leg2.energy() ) + lv1 += lv2 + super( DiObject, self).__init__( lv1 ) + self.leg1 = leg1 + self.leg2 = leg2 + + + + + def px(self): + return self.Px() + def py(self): + return self.Py() + def pz(self): + return self.Pz() + def energy(self): + return self.Energy() + + def eta(self): + return self.Eta() + def phi(self): + return self.Phi() + + def pt(self): + return self.Pt() + + def mass(self): + return self.M() + + + +# def __getattr__(self, name): +# '''Trick to preserve the interface in use in CMSSW.''' +# if name.lower() == 'mass': +# name = 'M' + # changing the first letter of the function name to upper case. +# capName = ''.join( [name[0].capitalize(), name[1:]] ) +# return getattr( self, capName ) + + def PdgId(self): + '''Dummy, needed to fill the tree''' + return 23 + + def Sip3D(self): + '''Dummy, needed to fill the tree''' + return -1 + + def RelIso(self, dBetaCor): + '''Sum of the relative isolation (dbeta corrected) of the 2 legs''' + return self.leg1.relIso( dBetaCor ) + self.leg2.relIso(dBetaCor ) + + + def charge(self): + return self.leg1.charge() + self.leg2.charge() + + def __str__(self): + return ', '.join( ['DiObject:', str(self.leg1), str(self.leg2)] ) + + def daughterLeptons(self): + return [self.leg1,self.leg2] + + def daughterPhotons(self): + if hasattr(self,'fsrPhoton'): + return [self.fsrPhoton] + else: + return [] + + + + +############FSR variables + def fsrUncorrected(self): + if not hasattr(self,'fsrPhoton'): + return self + else: + gamma = TLorentzVector( self.fsrPhoton.px(), self.fsrPhoton.py(), self.fsrPhoton.pz(), self.fsrPhoton.energy() ) + return self-gamma + + def setFSR(self,photon): + self.fsrPhoton=photon + gamma = TLorentzVector( photon.px(), photon.py(), photon.pz(), photon.energy() ) + z = TLorentzVector(self.Px(),self.Py(),self.Pz(),self.Energy()) + new=gamma+z + self.SetPxPyPzE(new.Px(),new.Py(),new.Pz(),new.Energy()) + + + def hasFSR(self): + return hasattr(self,'fsrPhoton') + + def fsrTheta1(self): + if hasattr(self,'fsrPhoton'): + photon=self.fsrPhoton + return acos(round(self.leg1.p4().Vect().Dot(photon.p4().Vect())/(self.leg1.p4().P()*photon.p4().P()),5))*180/pi + else: + return -99 + + + def fsrTheta2(self): + if hasattr(self,'fsrPhoton'): + photon=self.fsrPhoton + return acos(round(self.leg2.p4().Vect().Dot(photon.p4().Vect())/(self.leg2.p4().P()*photon.p4().P()),5))*180/pi + else: + return -99 + + def fsrDR1(self): + if hasattr(self,'fsrPhoton'): + photon=self.fsrPhoton + return deltaR(self.leg1.eta(),self.leg1.phi(),photon.eta(),photon.phi()) + + def fsrDR2(self): + if hasattr(self,'fsrPhoton'): + photon=self.fsrPhoton + return deltaR(self.leg2.eta(),self.leg2.phi(),photon.eta(),photon.phi()) + + + def fsrThetaStar(self): + if hasattr(self,'fsrPhoton'): + photon=self.fsrPhoton + plane = (self.leg1.p4().Vect().Cross(self.leg2.p4().Vect())).unit() + angle = asin(round(plane.Dot(photon.p4().Vect())/(photon.p4().P()),5))*180/pi + return abs(angle) + + def fsrDRStar(self): + if hasattr(self,'fsrPhoton'): + photon=self.fsrPhoton + plane = self.leg1.p4().Vect().Cross(self.leg2.p4().Vect()).unit() + return deltaR(plane.eta(),plane.phi(),photon.eta(),photon.phi()) + + + + + diff --git a/CMGTools/HToZZ4L/python/tools/DiObjectPair.py b/CMGTools/HToZZ4L/python/tools/DiObjectPair.py new file mode 100644 index 000000000000..e331e22390fb --- /dev/null +++ b/CMGTools/HToZZ4L/python/tools/DiObjectPair.py @@ -0,0 +1,115 @@ +from ROOT import TLorentzVector +from CMGTools.HToZZ4L.tools.DiObject import DiObject +class DiObjectPair( TLorentzVector ): + '''Class used for A->VV''' + def __init__(self, leg1, leg2,leg3,leg4): + + a=DiObject(leg1,leg2, doSort=False) + b=DiObject(leg3,leg4, doSort=False) + lv=a+b + super( DiObjectPair, self).__init__(lv) + self.leg1=a + self.leg2=b + + + def px(self): + return self.Px() + def py(self): + return self.Py() + def pz(self): + return self.Pz() + def energy(self): + return self.Energy() + + def eta(self): + return self.Eta() + def phi(self): + return self.Phi() + + def pt(self): + return self.Pt() + + def mass(self): + return self.M() + + + + def sortedPtLeg(self,N): + ''' Gives the Nth highest pt lepton. 0 is the highest''' + leptons=sorted([self.leg1.leg1, \ + self.leg1.leg2, \ + self.leg2.leg1, \ + self.leg2.leg2], \ + key=lambda x: x.pt(), \ + reverse=True) + return leptons[N] + + + def charge(self): + return self.leg1.charge() + self.leg2.charge() + + def PdgId(self): + '''Dummy, needed to fill the tree''' + return 25 + + + + def sortedMassPairs(self,onlyOS = False): + pairs=[DiObject(self.leg1.leg1,self.leg1.leg2), + DiObject(self.leg2.leg1,self.leg2.leg2), + DiObject(self.leg1.leg1,self.leg2.leg1), + DiObject(self.leg1.leg1,self.leg2.leg2), + DiObject(self.leg1.leg2,self.leg2.leg1), + DiObject(self.leg1.leg2,self.leg2.leg2)] + + if onlyOS: + pairs=filter(lambda x: x.charge()==0,pairs) + + pairs=sorted(pairs,key=lambda x: x.mass()) + return pairs + + def minPairMass(self): + sortedPairs=self.sortedMassPairs() + return sortedPairs[0].mass() + + def minOSPairMass(self): + sortedPairs=self.sortedMassPairs(True) + if len(sortedPairs)>0: + return sortedPairs[0].mass() + else: + return 999. + + def __str__(self): + return ', '.join( ['DiObjectPair:', str(self.leg1), str(self.leg2)] ) + + + def fsrUncorrected(self): + return self.leg1.fsrUncorrected()+self.leg2.fsrUncorrected() + + def hasFSR(self): + return self.leg1.hasFSR() or self.leg2.hasFSR() + + + def updateP4(self): + + z1 = TLorentzVector(self.leg1.Px(),self.leg1.Py(),self.leg1.Pz(),self.leg1.Energy()) + z2 = TLorentzVector(self.leg2.Px(),self.leg2.Py(),self.leg2.Pz(),self.leg2.Energy()) + new=z1+z2 + self.SetPxPyPzE(new.Px(),new.Py(),new.Pz(),new.Energy()) + + + + def daughterLeptons(self): + return [self.leg1.leg1,self.leg1.leg2,self.leg2.leg1,self.leg2.leg2] + + def daughterPhotons(self): + return self.leg1.daughterPhotons()+self.leg2.daughterPhotons() + + + + ###MELA######################################### + + + ###MELA######################################### + + diff --git a/CMGTools/HToZZ4L/python/tools/OverlapCleaner.py b/CMGTools/HToZZ4L/python/tools/OverlapCleaner.py new file mode 100644 index 000000000000..e81964d7ea56 --- /dev/null +++ b/CMGTools/HToZZ4L/python/tools/OverlapCleaner.py @@ -0,0 +1,27 @@ +from CMGTools.RootTools.utils.DeltaR import deltaR + + +class OverlapCleaner(object): + def __init__(self,collection,dr,sourcePdgId,targetPdgId,targetID): + self.collection=collection + self.dr = dr + self.sourcePdgId=sourcePdgId + self.targetPdgId=targetPdgId + self.targetID = targetID + + def __call__(self,object): + hasOverlap=False + if abs(object.pdgId()) ==self.sourcePdgId: + for p in self.collection: + if abs(p.pdgId()) ==self.targetPdgId: + if self.targetID(p)==True: + if deltaR(object.eta(),object.phi(),p.eta(),p.phi()) 200 GeV ## +########################################################## +import PhysicsTools.HeppyCore.framework.config as cfg + +#Load all analyzers +from CMGTools.MonoXAnalysis.analyzers.dmCore_modules_cff import * +from PhysicsTools.Heppy.analyzers.objects.METAnalyzer import * + +# Redefine what I need + +# --- MONOJET SKIMMING --- +monoJetSkim.metCut = 200 +monoJetSkim.jetPtCuts = [] + +# --- W->munu control sample SKIMMING --- +monoJetCtrlLepSkim.minLeptons = 0 + +# run miniIso +lepAna.doMiniIsolation = True +lepAna.packedCandidates = 'packedPFCandidates' +lepAna.miniIsolationPUCorr = 'rhoArea' +lepAna.miniIsolationVetoLeptons = None # use 'inclusive' to veto inclusive leptons and their footprint in all isolation cones +## will become miniIso perhaps? +#lepAna.loose_muon_isoCut = lambda muon : muon.relIso03 < 10.5 +#lepAna.loose_electron_isoCut = lambda electron : electron.relIso03 < 10.5 + + +# switch off slow photon MC matching +photonAna.do_mc_match = False + + +##------------------------------------------ +## TOLOLOGIAL VARIABLES: RAZOR +##------------------------------------------ +from PhysicsTools.Heppy.analyzers.eventtopology.RazorAnalyzer import RazorAnalyzer +monoXRazorAna = cfg.Analyzer( + RazorAnalyzer, name = 'RazorAnalyzer', + doOnlyDefault = False + ) + +##------------------------------------------ +## TOLOLOGIAL VARIABLES: MT2 +##------------------------------------------ +from CMGTools.TTHAnalysis.analyzers.ttHTopoVarAnalyzer import ttHTopoVarAnalyzer +ttHTopoJetAna = cfg.Analyzer( + ttHTopoVarAnalyzer, name = 'ttHTopoVarAnalyzer', + doOnlyDefault = True + ) + +from PhysicsTools.Heppy.analyzers.eventtopology.MT2Analyzer import MT2Analyzer +monoXMT2Ana = cfg.Analyzer( + MT2Analyzer, name = 'MT2Analyzer', + doOnlyDefault = False + ) + +##------------------------------------------ +## TOLOLOGIAL VARIABLES: ALPHAT +##------------------------------------------ +from CMGTools.TTHAnalysis.analyzers.ttHAlphaTVarAnalyzer import ttHAlphaTVarAnalyzer +ttHAlphaTAna = cfg.Analyzer( + ttHAlphaTVarAnalyzer, name = 'ttHAlphaTVarAnalyzer', + ) + +from CMGTools.TTHAnalysis.analyzers.ttHAlphaTControlAnalyzer import ttHAlphaTControlAnalyzer +ttHAlphaTControlAna = cfg.Analyzer( + ttHAlphaTVarAnalyzer, name = 'ttHAlphaTControlAnalyzer', + ) +##----------------------------------------------- +## TOLOLOGIAL VARIABLES: MONOJET SPECIFIC ONES +##----------------------------------------------- +from CMGTools.MonoXAnalysis.analyzers.monoJetVarAnalyzer import monoJetVarAnalyzer +monoJetVarAna = cfg.Analyzer( + monoJetVarAnalyzer, name = 'monoJetVarAnalyzer', + ) + +##------------------------------------------ +# Event Analyzer for monojet +##------------------------------------------ +from CMGTools.MonoXAnalysis.analyzers.monoJetEventAnalyzer import monoJetEventAnalyzer +MonoJetEventAna = cfg.Analyzer( + monoJetEventAnalyzer, name="monoJetEventAnalyzer", + minJets25 = 0, + ) + + +from CMGTools.MonoXAnalysis.analyzers.treeProducerDarkMatterMonoJet import * +## Tree Producer +treeProducer = cfg.Analyzer( + AutoFillTreeProducer, name='treeProducerDarkMatterMonoJet', + vectorTree = True, + saveTLorentzVectors = False, # can set to True to get also the TLorentzVectors, but trees will be bigger + defaultFloatType = 'F', # use Float_t for floating point + PDFWeights = PDFWeights, + globalVariables = dmMonoJet_globalVariables, + globalObjects = dmMonoJet_globalObjects, + collections = dmMonoJet_collections, +) + +## histo counter +# dmCoreSequence.insert(dmCoreSequence.index(skimAnalyzer), +# dmCounter) + +#-------- SAMPLES AND TRIGGERS ----------- +from CMGTools.MonoXAnalysis.samples.samples_monojet import triggers_monojet +triggerFlagsAna.triggerBits = { + 'MonoJet' : triggers_monojet, +} + +from CMGTools.MonoXAnalysis.samples.samples_monojet import * +signalSamples = MonojetSignalSamples +backgroundSamples = WJetsToLNuHT + ZJetsToNuNuHT + SingleTop + [TTJets] + DYJetsM50HT + GJetsHT + QCDHT +selectedComponents = backgroundSamples + signalSamples + +#-------- SEQUENCE +sequence = cfg.Sequence(dmCoreSequence+[ + monoXRazorAna, + monoXMT2Ana, + ttHFatJetAna, + ttHAlphaTAna, + ttHAlphaTControlAna, + monoJetVarAna, + MonoJetEventAna, + treeProducer, + ]) + +# -- fine splitting, for some private MC samples with a single file +#for comp in selectedComponents: +# comp.splitFactor = 1 +# comp.fineSplitFactor = 40 + +#-------- HOW TO RUN ----------- +from PhysicsTools.HeppyCore.framework.heppy import getHeppyOption +#test = getHeppyOption('test') +test = 'SR' +if test == '1': + comp = Monojet_M_1000_AV + monoJetSkim.metCut = 200 + comp.files = comp.files[:1] + #comp.files = [ '/afs/cern.ch/work/a/avartak/public/dmVM10.root' ] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + if not getHeppyOption('single'): + comp.fineSplitFactor = 4 + selectedComponents = [ comp ] +elif test == '2': + for comp in selectedComponents: + comp.files = comp.files[:1] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 +elif test == 'EOS': + comp = DYJetsToLL_M50#TTJets + comp.files = comp.files[:1] + if getHeppyOption('Wigner'): + print "Will read from WIGNER" + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/DYJetsToLL_M-50_13TeV-madgraph-pythia8/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/00000/0432E62A-7A6C-E411-87BB-002590DB92A8.root' ] + else: + print "Will read from CERN Meyrin" + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/DYJetsToLL_M-50_13TeV-madgraph-pythia8/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/10000/F675C068-5E6C-E411-B915-0025907DC9AC.root' ] + os.system("/afs/cern.ch/project/eos/installation/0.3.15/bin/eos.select fileinfo "+comp.files[0].replace("root://eoscms//","/")) + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + selectedComponents = [ comp ] +elif test == 'SingleMu': + comp = SingleMu + comp.files = comp.files[:1] + comp.splitFactor = 1 + selectedComponents = [ comp ] +elif test == '5': + for comp in selectedComponents: + comp.files = comp.files[:5] + comp.splitFactor = 1 + comp.fineSplitFactor = 5 +elif test == '6': + # test data + comp = DoubleElectronAB; comp.name = "dataSamplesAll" + comp.triggers = [] + jetAna.recalibrateJets = False + jetAna.smearJets = False + comp.files = [ '/afs/cern.ch/work/e/emanuele/monox/heppy/CMSSW_7_2_3_patch1/src/step5.root' ] + comp.isMC = False + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + monoJetSkim.metCut = 0 + selectedComponents = [ comp ] +elif test == 'monojet-synch': # sync + #eventSelector.toSelect = [ 11809 ] + #sequence = cfg.Sequence([eventSelector] + dmCoreSequence+[ ttHEventAna, treeProducer, ]) + jetAna.recalibrateJets = False + jetAna.smearJets = False + comp = Monojet_M_10_V; + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/DYJetsToLL_M-50_13TeV-madgraph-pythia8/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/00000/0432E62A-7A6C-E411-87BB-002590DB92A8.root' ] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + monoJetSkim.metCut = 0 + selectedComponents = [ comp ] +elif test == 'SR': + selectedComponents = backgroundSamples + signalSamples + monoJetSkim.metCut = 200 + monoJetCtrlLepSkim.minLeptons = 0 + for comp in selectedComponents: + comp.splitFactor = 350 + +## output histogram +outputService=[] +from PhysicsTools.HeppyCore.framework.services.tfile import TFileService +output_service = cfg.Service( + TFileService, + 'outputfile', + name="outputfile", + fname='treeProducerDarkMatterMonoJet/tree.root', + option='recreate' + ) +outputService.append(output_service) + +# the following is declared in case this cfg is used in input to the heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +config = cfg.Config( components = selectedComponents, + sequence = sequence, + services = [], + events_class = Events) + + diff --git a/CMGTools/MonoXAnalysis/macros/backgrounds/fillTrivialExtrapolationFactorsFromMC.cxx b/CMGTools/MonoXAnalysis/macros/backgrounds/fillTrivialExtrapolationFactorsFromMC.cxx new file mode 100644 index 000000000000..f2f229735816 --- /dev/null +++ b/CMGTools/MonoXAnalysis/macros/backgrounds/fillTrivialExtrapolationFactorsFromMC.cxx @@ -0,0 +1,116 @@ +#include +#include +#include +#include +#include + +#include + +TString gTreePath = "/data1/emanuele/monox/TREES_060515_MET200SKIM/%s/treeProducerDarkMatterMonoJet/tree.root"; +TString gFriendTreePath = "/data1/emanuele/monox/TREES_060515_MET200SKIM/0_eventvars_mj_v1/evVarFriend_%s.root"; + +void fillEF(TString hist, TString presel, TString srcut, TString crcut, TString weight, TString compName) { + TDirectory *root = gDirectory; + TFile *f = TFile::Open(Form(gTreePath.Data(),compName.Data())); + TTree *tree = (TTree*) f->Get("tree"); + tree->AddFriend("mjvars/t",Form(gFriendTreePath.Data(),compName.Data())); + + root->cd(); + TString mycut = presel; + TString mydencut = Form("((%s) && (%s))", mycut.Data(), crcut.Data()); + TString mynumcut = Form("((%s) && (%s))", mycut.Data(), srcut.Data()); + + tree->Draw(Form("min(metNoMu_pt,1000)>>+%s_den", hist.Data()), Form("%s * %s", mydencut.Data(), weight.Data())); + tree->Draw(Form("min(metNoMu_pt,1000)>>+%s_num", hist.Data()), Form("%s * %s", mynumcut.Data(), weight.Data())); + + f->Close(); + +} + +void fillOneComp(TString hist, TString presel, TString rcut, TString weight, TString compName) { + TDirectory *root = gDirectory; + TFile *f = TFile::Open(Form(gTreePath.Data(),compName.Data())); + TTree *tree = (TTree*) f->Get("tree"); + tree->AddFriend("mjvars/t",Form(gFriendTreePath.Data(),compName.Data())); + + root->cd(); + TString mycut = presel; + TString myfinalcut = Form("((%s) && (%s))", mycut.Data(), rcut.Data()); + + tree->Draw(Form("min(metNoMu_pt,1000)>>+%s", hist.Data()), Form("%s * %s", myfinalcut.Data(), weight.Data())); + + f->Close(); + +} + +void fillWTrivialExtrapolationFactorsFromMC() { + const int nmet = 9; + double metbins[nmet+1] = { 200, 225, 250, 275, 300, 325, 350, 400, 500, 1000 }; + + TFile *fOut = TFile::Open("ef_W.root", "RECREATE"); + + TH1F *EF_W_den = new TH1F("EF_W_den","",nmet,metbins); + TH1F *EF_W_num = new TH1F("EF_W_num","",nmet,metbins); + + TString baseCut = " ((nJet30 == 1 || nJet30 == 2) && jetclean > 0.5) && (Jet[0]_pt>110) && (nJet30 == 1 || (nJet==2 && abs(dphijj)<2.5)) && (nGamma15V==0) && (nEle10V==0 && nTau15V==0) "; + + const char *samples[4] = { "WJetsToLNu_HT100to200", "WJetsToLNu_HT200to400", "WJetsToLNu_HT400to600", "WJetsToLNu_HT600toInf" }; + + TString hist = "EF_W"; + + for (int id = 0; id < 4; ++id) { + TString sample = TString(samples[id]); + std::cout << "Processing Control Region and Signal Region selection on " << sample << std::endl; + fillEF(hist, baseCut, "nMu10V == 0", "nMu10V > 0 && nMu20T == 1 && nBJetMedium30 == 0", "weight", sample); + } + + TH1 *den = (TH1*) EF_W_den; den->Sumw2(); den->Write(); + TH1 *num = (TH1*) EF_W_num; num->Sumw2(); num->Write(); + + TH1 *ratio = (TH1*) num->Clone(hist); + ratio->Divide(num,den,1,1); + ratio->Write(); + + fOut->Close(); + +} + +void fillZTrivialExtrapolationFactorsFromMC() { + const int nmet = 9; + double metbins[nmet+1] = { 200, 225, 250, 275, 300, 325, 350, 400, 500, 1000 }; + + TFile *fOut = TFile::Open("ef_Z.root", "RECREATE"); + + TH1F *EF_Z_den = new TH1F("EF_Z_den","",nmet,metbins); + TH1F *EF_Z_num = new TH1F("EF_Z_num","",nmet,metbins); + + TString baseCut = " ((nJet30 == 1 || nJet30 == 2) && jetclean > 0.5) && (Jet[0]_pt>110) && (nJet30 == 1 || (nJet==2 && abs(dphijj)<2.5)) && (nGamma15V==0) && (nEle10V==0 && nTau15V==0) "; + + const char *samples_CR[4] = { "DYJetsToLL_M50_HT100to200", "DYJetsToLL_M50_HT200to400", "DYJetsToLL_M50_HT400to600", "DYJetsToLL_M50_HT600toInf" }; + const char *samples_SR[4] = { "ZJetsToNuNu_HT100to200", "ZJetsToNuNu_HT200to400", "ZJetsToNuNu_HT400to600", "ZJetsToNuNu_HT600toInf" }; + + TString hist = "EF_Z"; + + for (int id = 0; id < 4; ++id) { + TString sample = TString(samples_CR[id]); + std::cout << "Processing Control Region selection on " << sample << std::endl; + fillOneComp(hist+"_den", baseCut, "(nMu10V == 2 && LepGood[0]_pdgId == -LepGood[1]_pdgId) && (abs(LepGood[0]_pdgId) == 13) && (LepGood[0]_tightId > 0 && LepGood[0]_relIso04 < 0.12) && (mZ1 > 60 && mZ1 < 120)", "weight", sample); + } + + for (int id = 0; id < 4; ++id) { + TString sample = TString(samples_SR[id]); + std::cout << "Processing Signal Region selection on " << sample << std::endl; + fillOneComp(hist+"_num", baseCut, "nMu10V == 0", "weight", sample); + } + + TH1 *den = (TH1*) EF_Z_den; den->Sumw2(); den->Write(); + TH1 *num = (TH1*) EF_Z_num; num->Sumw2(); num->Write(); + + TH1 *ratio = (TH1*) num->Clone(hist); + ratio->Divide(num,den,1,1); + ratio->Write(); + + fOut->Close(); + +} + diff --git a/CMGTools/MonoXAnalysis/macros/lxbatch_runner.sh b/CMGTools/MonoXAnalysis/macros/lxbatch_runner.sh new file mode 100755 index 000000000000..56ac5b9c2fd3 --- /dev/null +++ b/CMGTools/MonoXAnalysis/macros/lxbatch_runner.sh @@ -0,0 +1,8 @@ +#!/bin/bash +export SCRAM_ARCH=slc6_amd64_gcc481 +WORK=$1; shift +SRC=$1; shift +cd $SRC; +eval $(scramv1 runtime -sh); +cd $WORK; +exec $* diff --git a/CMGTools/MonoXAnalysis/macros/prepareEventVariablesFriendTree.py b/CMGTools/MonoXAnalysis/macros/prepareEventVariablesFriendTree.py new file mode 100755 index 000000000000..7f3c8b0f5507 --- /dev/null +++ b/CMGTools/MonoXAnalysis/macros/prepareEventVariablesFriendTree.py @@ -0,0 +1,198 @@ +#!/usr/bin/env python +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from glob import glob +import os.path, re, pickle + +MODULES = [] + +from CMGTools.MonoXAnalysis.tools.eventVars_monojet import EventVarsMonojet +MODULES.append( ('vars_mj', EventVarsMonojet()) ) + +class VariableProducer(Module): + def __init__(self,name,booker,sample_nevt,modules): + Module.__init__(self,name,booker) + self._modules = modules + self._sample_nevt = sample_nevt + def beginJob(self): + self.t = PyTree(self.book("TTree","t","t")) + self.branches = {} + for name,mod in self._modules: + mod.initSampleNormalization(self._sample_nevt) + for B in mod.listBranches(): + # don't add the same branch twice + if B in self.branches: + print "Will not add branch %s twice" % (B,) + continue + self.branches[B] = True + if type(B) == tuple: + if len(B) == 2: + self.t.branch(B[0],B[1]) + elif len(B) == 4: + self.t.branch(B[0],B[1],n=B[2],lenVar=B[3]) + else: + self.t.branch(B ,"F") + def analyze(self,event): + for name,mod in self._modules: + keyvals = mod(event) + for B,V in keyvals.iteritems(): + setattr(self.t, B, V) + setattr(event, B, V) + self.t.fill() + +import os, itertools + +from optparse import OptionParser +parser = OptionParser(usage="%prog [options] ") +parser.add_option("-m", "--modules", dest="modules", type="string", default=[], action="append", help="Run these modules"); +parser.add_option("-d", "--dataset", dest="datasets", type="string", default=[], action="append", help="Process only this dataset (or dataset if specified multiple times)"); +parser.add_option("-D", "--dm", "--dataset-match", dest="datasetMatches", type="string", default=[], action="append", help="Process only this dataset (or dataset if specified multiple times): REGEXP"); +parser.add_option("-c", "--chunk", dest="chunks", type="int", default=[], action="append", help="Process only these chunks (works only if a single dataset is selected with -d)"); +parser.add_option("-N", "--events", dest="chunkSize", type="int", default=500000, help="Default chunk size when splitting trees"); +parser.add_option("-j", "--jobs", dest="jobs", type="int", default=1, help="Use N threads"); +parser.add_option("-p", "--pretend", dest="pretend", action="store_true", default=False, help="Don't run anything"); +parser.add_option("-T", "--tree-dir", dest="treeDir", type="string", default="mjvars", help="Directory of the friend tree in the file (default: 'mjvars')"); +parser.add_option("-q", "--queue", dest="queue", type="string", default=None, help="Run jobs on lxbatch instead of locally"); +parser.add_option("-t", "--tree", dest="tree", default='treeProducerDarkMatterMonoJet', help="Pattern for tree name"); +parser.add_option("-V", "--vector", dest="vectorTree", action="store_true", default=True, help="Input tree is a vector"); +parser.add_option("-F", "--add-friend", dest="friendTrees", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename). Can use {name}, {cname} patterns in the treename") +parser.add_option("--FMC", "--add-friend-mc", dest="friendTreesMC", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename) to MC only. Can use {name}, {cname} patterns in the treename") +parser.add_option("--FD", "--add-friend-data", dest="friendTreesData", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename) to data trees only. Can use {name}, {cname} patterns in the treename") +parser.add_option("-L", "--list-modules", dest="listModules", action="store_true", default=False, help="just list the configured modules"); +parser.add_option("-n", "--new", dest="newOnly", action="store_true", default=False, help="Make only missing trees"); +(options, args) = parser.parse_args() + +if options.listModules: + print "List of modules" + for (n,x) in MODULES: + print " '%s': %s" % (n,x) + exit() + +if len(args) != 2 or not os.path.isdir(args[0]) or not os.path.isdir(args[1]): + print "Usage: program " + exit() +if len(options.chunks) != 0 and len(options.datasets) != 1: + print "must specify a single dataset with -d if using -c to select chunks" + exit() + +jobs = [] +for D in glob(args[0]+"/*"): + treename = "tree" + fname = "%s/%s/tree.root" % (D,options.tree) + pckfile = "%s/skimAnalyzerCount/SkimReport.pck" % (D) + if (not os.path.exists(fname)) and os.path.exists("%s/%s/tree.root" % (D,options.tree)): + treename = "tree" + fname = "%s/%s/tree.root" % (D,options.tree) + if os.path.exists(fname): + short = os.path.basename(D) + if options.datasets != []: + if short not in options.datasets: continue + if options.datasetMatches != []: + found = False + for dm in options.datasetMatches: + if re.match(dm,short): found = True + if not found: continue + data = ("DoubleMu" in short or "MuEG" in short or "DoubleElectron" in short or "SingleMu" in short) + pckobj = pickle.load(open(pckfile,'r')) + counters = dict(pckobj) + if ('Sum Weights' in counters): + sample_nevt = counters['Sum Weights'] + else: + sample_nevt = counters['All Events'] + f = ROOT.TFile.Open(fname); + t = f.Get(treename) + entries = t.GetEntries() + f.Close() + if options.newOnly: + fout = "%s/evVarFriend_%s.root" % (args[1],short) + if os.path.exists(fout): + f = ROOT.TFile.Open(fname); + t = f.Get(treename) + if t.GetEntries() != entries: + print "Component %s has to be remade, mismatching number of entries (%d vs %d)" % (short, entries, t.GetEntries()) + f.Close() + else: + print "Component %s exists already and has matching number of entries (%d)" % (short, entries) + continue + chunk = options.chunkSize + if entries < chunk: + print " ",os.path.basename(D),(" DATA" if data else " MC")," single chunk" + jobs.append((short,fname,sample_nevt,"%s/evVarFriend_%s.root" % (args[1],short),data,xrange(entries),-1)) + else: + nchunk = int(ceil(entries/float(chunk))) + print " ",os.path.basename(D),(" DATA" if data else " MC")," %d chunks" % nchunk + for i in xrange(nchunk): + if options.chunks != []: + if i not in options.chunks: continue + r = xrange(int(i*chunk),min(int((i+1)*chunk),entries)) + jobs.append((short,fname,sample_nevt,"%s/evVarFriend_%s.chunk%d.root" % (args[1],short,i),data,r,i)) +print "\n" +print "I have %d taks to process" % len(jobs) + +if options.queue: + import os, sys + basecmd = "bsub -q {queue} {dir}/lxbatch_runner.sh {dir} {cmssw} python {self} -N {chunkSize} -T '{tdir}' -t {tree} {data} {output}".format( + queue = options.queue, dir = os.getcwd(), cmssw = os.environ['CMSSW_BASE'], + self=sys.argv[0], chunkSize=options.chunkSize, tdir=options.treeDir, tree=options.tree, data=args[0], output=args[1] + ) + if options.vectorTree: basecmd += " --vector " + friendPost = "".join([" -F %s %s " % (fn,ft) for fn,ft in options.friendTrees]) + friendPost += "".join([" --FM %s %s " % (fn,ft) for fn,ft in options.friendTreesMC]) + friendPost += "".join([" --FD %s %s " % (fn,ft) for fn,ft in options.friendTreesData]) + friendPost += "".join([" -m '%s' " % m for m in options.modules]) + for (name,fin,sample_nevt,fout,data,range,chunk) in jobs: + if chunk != -1: + print "{base} -d {data} -c {chunk} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost) + else: + print "{base} -d {data} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost) + + exit() + +maintimer = ROOT.TStopwatch() +def _runIt(myargs): + (name,fin,sample_nevt,fout,data,range,chunk) = myargs + timer = ROOT.TStopwatch() + fb = ROOT.TFile(fin) + tb = fb.Get(options.tree) + if not tb: tb = fb.Get("tree") # new trees + if options.vectorTree: + tb.vectorTree = True + else: + tb.vectorTree = False + friends = options.friendTrees[:] + friends += (options.friendTreesData if data else options.friendTreesMC) + friends_ = [] # to make sure pyroot does not delete them + for tf_tree,tf_file in friends: + tf = tb.AddFriend(tf_tree, tf_file.format(name=name, cname=name)), + friends_.append(tf) # to make sure pyroot does not delete them + nev = tb.GetEntries() + if options.pretend: + print "==== pretending to run %s (%d entries, %s) ====" % (name, nev, fout) + return (name,(nev,0)) + print "==== %s starting (%d entries) ====" % (name, nev) + booker = Booker(fout) + modulesToRun = MODULES + if options.modules != []: + toRun = {} + for m,v in MODULES: + for pat in options.modules: + if re.match(pat,m): + toRun[m] = True + modulesToRun = [ (m,v) for (m,v) in MODULES if m in toRun ] + el = EventLoop([ VariableProducer(options.treeDir,booker,sample_nevt,modulesToRun), ]) + el.loop([tb], eventRange=range) + booker.done() + fb.Close() + time = timer.RealTime() + print "=== %s done (%d entries, %.0f s, %.0f e/s) ====" % ( name, nev, time,(nev/time) ) + return (name,(nev,time)) + +if options.jobs > 0: + from multiprocessing import Pool + pool = Pool(options.jobs) + ret = dict(pool.map(_runIt, jobs)) if options.jobs > 0 else dict([_runIt(j) for j in jobs]) +else: + ret = dict(map(_runIt, jobs)) +fulltime = maintimer.RealTime() +totev = sum([ev for (ev,time) in ret.itervalues()]) +tottime = sum([time for (ev,time) in ret.itervalues()]) +print "Done %d tasks in %.1f min (%d entries, %.1f min)" % (len(jobs),fulltime/60.,totev,tottime/60.) diff --git a/CMGTools/MonoXAnalysis/prod/createListsEOS.sh b/CMGTools/MonoXAnalysis/prod/createListsEOS.sh new file mode 100755 index 000000000000..a6a979dc915d --- /dev/null +++ b/CMGTools/MonoXAnalysis/prod/createListsEOS.sh @@ -0,0 +1,42 @@ +#!/bin/bash -f +# usage: ./createListsEOS.sh /store/cmst3/user/gpetrucc/SUSY/Prod/ datasets/ + +maindir=$1 +listdir=$2 + +echo "scanning $maindir" + +eos.select ls -l $maindir | awk '{print $9}' > datasets.txt +eos.select ls -l $maindir | awk '{print "'"$maindir"'" "/" $9}' | xargs -i echo "eos.select ls -l " {} " | grep -v \" 0 \" | awk '{print \"{}/\" \$9}'" > commands.txt + + +N=0 +while read LINE ; do + N=$((N+1)) + echo "Processing $LINE" + names[${N}]=$LINE +done < datasets.txt + + +N=0 +while read LINE ; do + N=$((N+1)) + namescommand[${N}]=$LINE + namesnum=${#namescommand} +done < commands.txt + +rm -f finalcommand.sh + +for ((i=1;i<$N+1;i++)); do + echo ${namescommand[${i}]} " | awk '{print \$1}' >" $listdir"/"${names[${i}]}".list" >> finalcommand.sh +done + +echo "NOW reading from castor. It may take time..." + +source finalcommand.sh + +rm -f datasets.txt +rm -f commands.txt +rm -f finalcommand.sh + +echo "LISTS are done in dir $listdir." diff --git a/CMGTools/MonoXAnalysis/prod/gen_z1jet.py b/CMGTools/MonoXAnalysis/prod/gen_z1jet.py new file mode 100644 index 000000000000..9b9d14e2e600 --- /dev/null +++ b/CMGTools/MonoXAnalysis/prod/gen_z1jet.py @@ -0,0 +1,112 @@ +import FWCore.ParameterSet.Config as cms + +process = cms.Process('GEN') + +# import of standard configurations +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('SimGeneral.MixingModule.mixNoPU_cfi') +process.load('Configuration.Geometry.GeometryExtended2015Reco_cff') +process.load('Configuration.Geometry.GeometryExtended2015_cff') +process.load('Configuration.StandardSequences.MagneticField_38T_PostLS1_cff') +process.load('Configuration.StandardSequences.Generator_cff') +process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic8TeVCollision_cfi') +process.load('GeneratorInterface.Core.genFilterSummary_cff') +process.load('Configuration.StandardSequences.SimIdeal_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(-1) +) + +# Input source +process.source = cms.Source("LHESource", + fileNames = cms.untracked.vstring('file:/afs/cern.ch/work/a/avartak/public/MadGraph/z1jetLO/pt200to225/z1jet.lhe') +) + +process.options = cms.untracked.PSet( + +) + +# Production Info +process.configurationMetadata = cms.untracked.PSet( + version = cms.untracked.string('alpha'), + annotation = cms.untracked.string('LHE Input'), + name = cms.untracked.string('photon1jet') +) + +# Output definition + +process.output = cms.OutputModule("PoolOutputModule", + fileName = cms.untracked.string('file:z1jet_LO_pT250_gen.root'), + SelectEvents = cms.untracked.PSet( + SelectEvents = cms.vstring('generation_step') + ) +) + +# Additional output definition + +# Other statements +process.genstepfilter.triggerConditions=cms.vstring("generation_step") +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, 'PHYS14_25_V1::All', '') + +from Configuration.Generator.Pythia8aMCatNLOSettings_cfi import * + +process.generator = cms.EDFilter("Pythia8HadronizerFilter", + maxEventsToPrint = cms.untracked.int32(1), + pythiaPylistVerbosity = cms.untracked.int32(1), + filterEfficiency = cms.untracked.double(1.0), + pythiaHepMCVerbosity = cms.untracked.bool(False), + comEnergy = cms.double(8000.), + + PythiaParameters = cms.PSet( + pythia8aMCatNLOSettingsBlock, + processParameters = cms.vstring( + '23:onMode = off', + '23:onIfAny = 12', + '23:onIfAny = 14', + '23:onIfAny = 16', + 'Main:timesAllowErrors = 10000', + 'ParticleDecays:limitTau0 = on', + 'ParticleDecays:tauMax = 10', + 'Tune:ee 3', + 'Tune:pp 5'), + parameterSets = cms.vstring( + 'pythia8aMCatNLOSettings', + 'processParameters' + ) + ) +) + + +# Path and EndPath definitions +process.generation_step = cms.Path(process.pgen) +process.genfiltersummary_step = cms.EndPath(process.genFilterSummary) +process.endjob_step = cms.EndPath(process.endOfProcess) +process.output_step = cms.EndPath(process.output) + +# Schedule definition +process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.endjob_step,process.output_step) +# filter all path with the production filter sequence +for path in process.paths: + getattr(process,path)._seq = process.generator * getattr(process,path)._seq + +# customisation of the process. + +# Automatic addition of the customisation function from Configuration.DataProcessing.Utils +from Configuration.DataProcessing.Utils import addMonitoring + +#call to customisation function addMonitoring imported from Configuration.DataProcessing.Utils +process = addMonitoring(process) + +# Automatic addition of the customisation function from SLHCUpgradeSimulations.Configuration.postLS1Customs +from SLHCUpgradeSimulations.Configuration.postLS1Customs import customisePostLS1 + +#call to customisation function customisePostLS1 imported from SLHCUpgradeSimulations.Configuration.postLS1Customs +process = customisePostLS1(process) + +# End of customisation functions diff --git a/CMGTools/MonoXAnalysis/prod/lhe2gen2.sh b/CMGTools/MonoXAnalysis/prod/lhe2gen2.sh new file mode 100755 index 000000000000..8c9cd4a6934c --- /dev/null +++ b/CMGTools/MonoXAnalysis/prod/lhe2gen2.sh @@ -0,0 +1,111 @@ +#!/bin/bash +# +# usage: lhe2gen2.sh [ --events ] [ --firstLuminosityBlock ] /store/path/output_file.root inputfile.lhe[.gz] [ inputfile2.lhe[.gz] ... ] +# +TMPDIR=$PWD +#### ENV +cd /afs/cern.ch/work/e/emanuele/monox/heppy/CMSSW_7_2_3_patch1/src/ +export SCRAM_ARCH=slc6_amd64_gcc481 +eval $(scramv1 runtime -sh) +SRC=/afs/cern.ch/work/e/emanuele/monox/heppy/CMSSW_7_2_3_patch1/src/CMGTools/MonoXAnalysis/prod/ +#### CREATE CFG +SLHA="" +if [[ "$1" == "--slha" ]]; then + SLHA=$2; + echo "Will use SLHA $SLHA for the decays"; + shift; shift; +fi; + +EVENTS="" +if [[ "$1" == "--events" ]]; then + EVENTS="process.source.skipEvents = cms.untracked.uint32($2); process.maxEvents.input = cms.untracked.int32($3);" + echo "Will process $3 events skipping the first $2" + shift; shift; shift; +fi; +if [[ "$1" == "--firstLuminosityBlock" ]]; then + LUMIS="process.source.firstLuminosityBlock = cms.untracked.uint32($2)" + echo "Will set firstLuminosityBlock to $2" + shift; shift; +fi; +CFGFILE=$1; shift; +echo " $SRC/$CFGFILE " +if [[ "$CFGFILE" == "" ]] || test \! -f $SRC/$CFGFILE; then + echo "Missing cfg file $CFGFILE under $SRC" +fi; +OUTFILE=$1 +OUTBASE=$(basename $OUTFILE .root) +echo "Will write to $OUTFILE"; +shift; + +INFILES=""; COUNTER=0 +while [[ "$1" != "" ]]; do + INFILE=$1; shift + echo "Will read from $INFILE"; + if [[ "$SLHA" != "" ]]; then + ORIGINAL=$TMPDIR/events_original.$COUNTER.lhe + CAT="cat" + MODIFIED=$TMPDIR/events_slha.$COUNTER.lhe + COUNTER=$(($COUNTER+1)) + if echo $INFILE | grep -q ^/store/; then + echo "Getting $INFILE from EOS with cmsStageIn" + cmsStageIn $INFILE $ORIGINAL + elif echo $INFILE | grep -q ^http; then + echo "Getting $INFILE from the web with wget" + wget -O $ORIGINAL $INFILE + else + echo "Input file $INFILE is already AFS acessible" + ORIGINAL=$INFILE + fi; + if echo $INFILE | grep -q lhe.gz; then + CAT="zcat"; + echo "Input file is compressed" + fi; + echo "Running: $CAT $ORIGINAL | perl $SRC/replace_slha.pl $SLHA > $MODIFIED;" + $CAT $ORIGINAL | perl $SRC/replace_slha.pl $SLHA > $MODIFIED; + if [[ "$INFILES" != "" ]]; then + INFILES="$INFILES, 'file:$MODIFIED'"; + else + INFILES="'file:$MODIFIED'"; + fi + elif echo $INFILE | grep -q -v ^/store/; then + if echo $INFILE | grep -q lhe.gz; then + echo "Unzipping $INFILE in $TMPDIR/events.$COUNTER.lhe" + zcat $INFILE > $TMPDIR/events.$COUNTER.lhe + INFILE="file:$TMPDIR/events.$COUNTER.lhe"; + COUNTER=$(($COUNTER+1)) + else + INFILE="file:$INFILE"; + fi + fi + if [[ "$INFILES" != "" ]]; then + INFILES="$INFILES, '$INFILE'"; + else + INFILES="'$INFILE'"; + fi +done + +cd $TMPDIR; + +cat $SRC/$CFGFILE > $OUTBASE.cfg.py +echo "process.source.fileNames = [ $INFILES ]" >> $OUTBASE.cfg.py +echo "process.output.fileName = '$TMPDIR/$OUTBASE.root'" >> $OUTBASE.cfg.py + +cat >> $OUTBASE.cfg.py <<_EOF_ +## If needed, select events to process +$EVENTS +$LUMIS +## Scramble +import random +rnd = random.SystemRandom() +for X in process.RandomNumberGeneratorService.parameterNames_(): + if X != 'saveFileName': getattr(process.RandomNumberGeneratorService,X).initialSeed = rnd.randint(1,99999999) +_EOF_ +cmsRun $OUTBASE.cfg.py 2>&1 | tee $OUTBASE.log +test -f $TMPDIR/$OUTBASE.root && cmsStageIn -f $TMPDIR/$OUTBASE.root $OUTFILE +~/sh/skimreport $OUTBASE.log > $SRC/jobs/$OUTBASE.skimreport +gzip $OUTBASE.log && cp -v $OUTBASE.log.gz $SRC/jobs/ +if cmsLs $OUTFILE; then + echo "Copied ok" +else + test -f $TMPDIR/$OUTBASE.root && cmsStageIn -f $TMPDIR/$OUTBASE.root $OUTFILE 2>&1 +fi; diff --git a/CMGTools/MonoXAnalysis/prod/step_RECO.py b/CMGTools/MonoXAnalysis/prod/step_RECO.py new file mode 100644 index 000000000000..2679d043a717 --- /dev/null +++ b/CMGTools/MonoXAnalysis/prod/step_RECO.py @@ -0,0 +1,81 @@ +# Auto generated configuration file +# using: +# Revision: 1.19 +# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v +# with command line options: step_RECO --filein file:step1.root --fileout file:step2.root --mc --eventcontent AODSIM --customise SLHCUpgradeSimulations/Configuration/postLS1Customs.customisePostLS1 --datatier AODSIM --conditions POSTLS170_V6::All --step RAW2DIGI,L1Reco,RECO --magField 38T_PostLS1 --geometry DBExtendedPostLS1 --python_filename step_RECO.py --no_exec -n 2 +import FWCore.ParameterSet.Config as cms + +process = cms.Process('RECO') + +# import of standard configurations +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('SimGeneral.MixingModule.mixNoPU_cfi') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.MagneticField_38T_PostLS1_cff') +process.load('Configuration.StandardSequences.RawToDigi_cff') +process.load('Configuration.StandardSequences.L1Reco_cff') +process.load('Configuration.StandardSequences.Reconstruction_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') + +process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(2) ) + +# Input source +process.source = cms.Source("PoolSource", + secondaryFileNames = cms.untracked.vstring(), + fileNames = cms.untracked.vstring('file:step1.root') +) + +process.options = cms.untracked.PSet( + +) + +# Production Info +process.configurationMetadata = cms.untracked.PSet( + version = cms.untracked.string('$Revision: 1.19 $'), + annotation = cms.untracked.string('step_RECO nevts:2'), + name = cms.untracked.string('Applications') +) + +# Output definition + +process.AODSIMoutput = cms.OutputModule("PoolOutputModule", + compressionLevel = cms.untracked.int32(4), + compressionAlgorithm = cms.untracked.string('LZMA'), + eventAutoFlushCompressedSize = cms.untracked.int32(15728640), + outputCommands = process.AODSIMEventContent.outputCommands, + fileName = cms.untracked.string('file:step2.root'), + dataset = cms.untracked.PSet( + filterName = cms.untracked.string(''), + dataTier = cms.untracked.string('AODSIM') + ) +) + +# Additional output definition + +# Other statements +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, 'POSTLS170_V6::All', '') + +# Path and EndPath definitions +process.raw2digi_step = cms.Path(process.RawToDigi) +process.L1Reco_step = cms.Path(process.L1Reco) +process.reconstruction_step = cms.Path(process.reconstruction) +process.endjob_step = cms.EndPath(process.endOfProcess) +process.AODSIMoutput_step = cms.EndPath(process.AODSIMoutput) + +# Schedule definition +process.schedule = cms.Schedule(process.raw2digi_step,process.L1Reco_step,process.reconstruction_step,process.endjob_step,process.AODSIMoutput_step) + +# customisation of the process. + +# Automatic addition of the customisation function from SLHCUpgradeSimulations.Configuration.postLS1Customs +from SLHCUpgradeSimulations.Configuration.postLS1Customs import customisePostLS1 + +#call to customisation function customisePostLS1 imported from SLHCUpgradeSimulations.Configuration.postLS1Customs +process = customisePostLS1(process) + +# End of customisation functions diff --git a/CMGTools/MonoXAnalysis/prod/step_fullSIM.py b/CMGTools/MonoXAnalysis/prod/step_fullSIM.py new file mode 100644 index 000000000000..aa1f15428b83 --- /dev/null +++ b/CMGTools/MonoXAnalysis/prod/step_fullSIM.py @@ -0,0 +1,112 @@ +# Auto generated configuration file +# using: +# Revision: 1.19 +# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v +# with command line options: Generator/python/Hadronizer_MgmMatchTune4C_13TeV_madgraph_pythia8_cff.py --filein /store/cmst3/user/gpetrucc/SUSY/Prod/T1ttt_2J_mGo800_mStop300_mChi280_pythia8-4bodydec/run1221.GEN.root --fileout file:step1.root --pileup_input dbs:/MinBias_TuneA2MB_13TeV-pythia8/Fall13-POSTLS162_V1-v1/GEN-SIM --pileup CSA14_50ns_PoissonOOT --customise SLHCUpgradeSimulations/Configuration/postLS1Customs.customisePostLS1,Configuration/DataProcessing/Utils.addMonitoring --mc --eventcontent RAWSIM --datatier GEN-SIM-RAW --conditions POSTLS170_V6::All --step GEN,SIM,DIGI,L1,DIGI2RAW,HLT:2013 --python_filename step_fullSIM.py --no_exec -n 2 --magField 38T_PostLS1 --geometry DBExtendedPostLS1 +import FWCore.ParameterSet.Config as cms + +process = cms.Process('HLT') + +# import of standard configurations +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('SimGeneral.MixingModule.mix_CSA14_50ns_PoissonOOTPU_cfi') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.GeometrySimDB_cff') +process.load('Configuration.StandardSequences.MagneticField_38T_PostLS1_cff') +process.load('Configuration.StandardSequences.Generator_cff') +process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic8TeVCollision_cfi') +process.load('GeneratorInterface.Core.genFilterSummary_cff') +process.load('Configuration.StandardSequences.SimIdeal_cff') +process.load('Configuration.StandardSequences.Digi_cff') +process.load('Configuration.StandardSequences.SimL1Emulator_cff') +process.load('Configuration.StandardSequences.DigiToRaw_cff') +process.load('HLTrigger.Configuration.HLT_2013_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') + +process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(2) ) + +# Input source +process.source = cms.Source("PoolSource", + dropDescendantsOfDroppedBranches = cms.untracked.bool(False), + inputCommands = cms.untracked.vstring('keep *', + 'drop GenLumiInfoProduct_*_*_*'), + secondaryFileNames = cms.untracked.vstring(), + fileNames = cms.untracked.vstring('/store/cmst3/user/gpetrucc/SUSY/Prod/T1ttt_2J_mGo800_mStop300_mChi280_pythia8-4bodydec/run1221.GEN.root') +) + +process.options = cms.untracked.PSet( + +) + +# Production Info +process.configurationMetadata = cms.untracked.PSet( + version = cms.untracked.string('$Revision: 1.19 $'), + annotation = cms.untracked.string('Generator/python/Hadronizer_MgmMatchTune4C_13TeV_madgraph_pythia8_cff.py nevts:2'), + name = cms.untracked.string('Applications') +) + +# Output definition + +process.RAWSIMoutput = cms.OutputModule("PoolOutputModule", + splitLevel = cms.untracked.int32(0), + eventAutoFlushCompressedSize = cms.untracked.int32(5242880), + outputCommands = process.RAWSIMEventContent.outputCommands, + fileName = cms.untracked.string('file:step1.root'), + dataset = cms.untracked.PSet( + filterName = cms.untracked.string(''), + dataTier = cms.untracked.string('GEN-SIM-RAW') + ), + SelectEvents = cms.untracked.PSet( + SelectEvents = cms.vstring('generation_step') + ) +) + +# Additional output definition + +# Other statements +process.mix.input.fileNames=cms.untracked.vstring(['/store/mc/Fall13/MinBias_TuneA2MB_13TeV-pythia8/GEN-SIM/POSTLS162_V1-v1/10000/001CB469-A91E-E311-9BFE-0025907FD24A.root', '/store/mc/Fall13/MinBias_TuneA2MB_13TeV-pythia8/GEN-SIM/POSTLS162_V1-v1/10000/009CB248-A81C-E311-ACD8-00259073E4F0.root', '/store/mc/Fall13/MinBias_TuneA2MB_13TeV-pythia8/GEN-SIM/POSTLS162_V1-v1/10000/009F81D5-B21C-E311-966C-BCAEC50971D0.root', '/store/mc/Fall13/MinBias_TuneA2MB_13TeV-pythia8/GEN-SIM/POSTLS162_V1-v1/10000/00B5BB8C-A91E-E311-816A-782BCB1F5E6B.root', '/store/mc/Fall13/MinBias_TuneA2MB_13TeV-pythia8/GEN-SIM/POSTLS162_V1-v1/10000/00B8F676-BA1C-E311-BA87-0019B9CABFB6.root', '/store/mc/Fall13/MinBias_TuneA2MB_13TeV-pythia8/GEN-SIM/POSTLS162_V1-v1/10000/00DD7446-B51D-E311-B714-001E6739CEB1.root', '/store/mc/Fall13/MinBias_TuneA2MB_13TeV-pythia8/GEN-SIM/POSTLS162_V1-v1/10000/021E1B53-101D-E311-886F-00145EDD7569.root', '/store/mc/Fall13/MinBias_TuneA2MB_13TeV-pythia8/GEN-SIM/POSTLS162_V1-v1/10000/022A782D-A51C-E311-9856-80000048FE80.root', '/store/mc/Fall13/MinBias_TuneA2MB_13TeV-pythia8/GEN-SIM/POSTLS162_V1-v1/10000/026FE678-BA1C-E311-BEF5-00D0680BF90A.root', '/store/mc/Fall13/MinBias_TuneA2MB_13TeV-pythia8/GEN-SIM/POSTLS162_V1-v1/10000/02A10BDE-B21C-E311-AB59-00266CF327C0.root']) +process.XMLFromDBSource.label = cms.string("ExtendedPostLS1") +process.genstepfilter.triggerConditions=cms.vstring("generation_step") +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, 'POSTLS170_V6::All', '') + +# Path and EndPath definitions +process.generation_step = cms.Path(process.pgen) +process.simulation_step = cms.Path(process.psim) +process.digitisation_step = cms.Path(process.pdigi) +process.L1simulation_step = cms.Path(process.SimL1Emulator) +process.digi2raw_step = cms.Path(process.DigiToRaw) +process.genfiltersummary_step = cms.EndPath(process.genFilterSummary) +process.endjob_step = cms.EndPath(process.endOfProcess) +process.RAWSIMoutput_step = cms.EndPath(process.RAWSIMoutput) + +# Schedule definition +process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,process.digitisation_step,process.L1simulation_step,process.digi2raw_step) +process.schedule.extend(process.HLTSchedule) +process.schedule.extend([process.endjob_step,process.RAWSIMoutput_step]) + +# customisation of the process. + +# Automatic addition of the customisation function from HLTrigger.Configuration.customizeHLTforMC +from HLTrigger.Configuration.customizeHLTforMC import customizeHLTforMC + +#call to customisation function customizeHLTforMC imported from HLTrigger.Configuration.customizeHLTforMC +process = customizeHLTforMC(process) + +# Automatic addition of the customisation function from Configuration.DataProcessing.Utils +from Configuration.DataProcessing.Utils import addMonitoring + +#call to customisation function addMonitoring imported from Configuration.DataProcessing.Utils +process = addMonitoring(process) + +# Automatic addition of the customisation function from SLHCUpgradeSimulations.Configuration.postLS1Customs +from SLHCUpgradeSimulations.Configuration.postLS1Customs import customisePostLS1 + +#call to customisation function customisePostLS1 imported from SLHCUpgradeSimulations.Configuration.postLS1Customs +process = customisePostLS1(process) + +# End of customisation functions diff --git a/CMGTools/MonoXAnalysis/prod/submit_batch.py b/CMGTools/MonoXAnalysis/prod/submit_batch.py new file mode 100755 index 000000000000..7318400c20f7 --- /dev/null +++ b/CMGTools/MonoXAnalysis/prod/submit_batch.py @@ -0,0 +1,123 @@ +#! /usr/bin/env python +# example: ./submit_batch.py -c -T 2000 -N 200 -n 1 -p run_gensim --cfg step_fullSIM.py T1tttt_2J_mGo1300_mStop300_mChi280_pythia8-4bodydec + +import os +import sys +import re +import time +import commands +import optparse +import datetime + +def main(): +####################################### +### usage +####################################### + usage = '''usage: %prog [opts] --cfg cmssw.py dataset''' + parser = optparse.OptionParser(usage=usage) + now = datetime.datetime.now() + defaultoutputdir='job_'+str(now.year)+str(now.month)+str(now.day)+"_"+str(now.hour)+str(now.minute)+str(now.second) + + parser.add_option('-q', '--queue', action='store', dest='queue', help='run in batch in queue specified as option (default -q 8nh)', default='8nh') + parser.add_option('-n', '--nfileperjob', action='store', dest='nfileperjob', help='split the jobs with n files read/batch job' , default=1, type='int') + parser.add_option('-p', '--prefix', action='store', dest='prefix', help='the prefix to be added to the output' , default=defaultoutputdir) + parser.add_option('-a', '--application', action='store', dest='application', help='the executable to be run' , default='cmsRun') + parser.add_option('-d', '--download', action='store', dest='download', help='download the output on a local computer' , default='') + parser.add_option('-c', '--create', action='store_true',dest='create', help='create only the jobs, do not submit them' , default=False) + parser.add_option('-t', '--testnjobs', action='store', dest='testnjobs', help='submit only the first n jobs' , default=1000000, type='int') + parser.add_option('-N', '--neventsjob', action='store', dest='neventsjob', help='split the jobs with n events / batch job' , default=200, type='int') + parser.add_option('-T', '--eventsperfile', action='store', dest='eventsperfile', help='number of events per input file' , default=2000, type='int') + parser.add_option('--eos', action='store', dest='eos', help='copy the output in the specified EOS path' , default='') + parser.add_option('--cfg', action='store', dest='cfg', help='the cfg to be run' , default='pippo_cfg.py') + (opt, args) = parser.parse_args() + + if len(args) != 1: + print usage + sys.exit(1) + dataset = args[0] + + inputlist=dataset+".list" + output = dataset + + print "the outputs will be in the directory: "+opt.prefix + + if opt.download=='pccmsrm': + diskoutputdir = "/cmsrm/pc24_2/emanuele/data/EcalReco7.1.X/" + else: diskoutputdir = '' + diskoutputmain = diskoutputdir+"/"+opt.prefix+"/"+output + + os.system("mkdir -p "+opt.prefix+"/"+output) + os.system("mkdir -p "+opt.prefix+"/"+output+"/log/") + os.system("mkdir -p "+opt.prefix+"/"+output+"/src/") + os.system("mkdir -p "+opt.prefix+"/"+output+"/cfg/") + outputroot = diskoutputmain+"/root/" + + if (diskoutputdir != "none" and opt.download=='pccmsrm'): + os.system("ssh -o BatchMode=yes -o StrictHostKeyChecking=no pccmsrm24 mkdir -p "+diskoutputmain) + + + #look for the current directory + ####################################### + pwd = os.environ['PWD'] + scramarch = os.environ['SCRAM_ARCH'] + ####################################### + inputListfile=open(inputlist) + inputfiles = inputListfile.readlines() + ijob=0 + + while (len(inputfiles) > 0): + L = [] + for line in range(min(opt.nfileperjob,len(inputfiles))): + ntpfile = inputfiles.pop() + ntpfile = ntpfile.rstrip('\n') + ntpfile = re.sub(r'/eos/cms','',ntpfile.rstrip()) + if ntpfile != '': + L.append("\'"+ntpfile+"\',\n") + + firstEvent = 1 + while (firstEvent < opt.eventsperfile or opt.eventsperfile == -1): + lastEvent = firstEvent+opt.neventsjob + + # prepare the cfg + icfgfilename = pwd+"/"+opt.prefix+"/"+output+"/cfg/cmssw"+str(ijob)+"_cfg.py" + icfgfile = open(icfgfilename,'w') + icfgfile.write('import sys\n') + cfgfile=open(opt.cfg,'r') + stringtoreplace = ''.join(L) + stringtoreplace = stringtoreplace[:-2] # remove the "," and the end of line for the last input + stringtoreplace = 'fileNames = cms.untracked.vstring('+stringtoreplace+')\n#' + if (opt.eventsperfile == -1): maxEventsString = 'process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(-1) )#' + else: maxEventsString = 'process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32('+str(opt.neventsjob)+') )#' + + for line in cfgfile: + line = re.sub(r'fileNames = cms.untracked.vstring',stringtoreplace, line.rstrip()) + line = re.sub(r'fileName = cms.untracked.string','fileName = cms.untracked.string(sys.argv[2]),#', line.rstrip()) + line = re.sub(r'process.maxEvents = cms.untracked.PSet', maxEventsString, line.rstrip()) + icfgfile.write(line+'\n') + + if (opt.eventsperfile > -1): icfgfile.write('process.source.skipEvents=cms.untracked.uint32('+str(firstEvent-1)+')\n') + + # prepare the script to run + outputname = opt.prefix+"/"+output+"/src/submit_"+str(ijob)+".src" + outputfile = open(outputname,'w') + outputfile.write('#!/bin/bash\n') + outputfile.write('export SCRAM_ARCH='+scramarch+'\n') + outputfile.write('cd '+pwd+'\n') + outputfile.write('eval `scramv1 runtime -sh`\n') + outputfile.write('cd $WORKDIR\n') + outputfile.write(opt.application+' '+icfgfilename+' '+output+'_'+str(ijob)+'.root \n') + if(opt.download=='pccmsrm'): outputfile.write('ls *.root | xargs -i scp -o BatchMode=yes -o StrictHostKeyChecking=no {} pccmsrm24:'+diskoutputmain+'/{}\n') + if(opt.eos!=''): outputfile.write('ls *.root | grep -v histProbFunction | xargs -i xrdcp {} root://eoscms/'+opt.eos+'/\n') + outputfile.close + logfile = opt.prefix+"/"+output+"/log/"+output+"_"+str(ijob)+".log" + os.system("echo bsub -q "+opt.queue+" -o "+logfile+" source "+pwd+"/"+outputname) + if(opt.create==False): + os.system("bsub -q "+opt.queue+" -o "+logfile+" source "+pwd+"/"+outputname) + ijob = ijob+1 + if(ijob==opt.testnjobs): break + if (opt.eventsperfile == -1): break + else: firstEvent = lastEvent + +if __name__ == "__main__": + main() + diff --git a/CMGTools/MonoXAnalysis/prod/submit_lhe_batch.py b/CMGTools/MonoXAnalysis/prod/submit_lhe_batch.py new file mode 100755 index 000000000000..5c6e0a9fc2fb --- /dev/null +++ b/CMGTools/MonoXAnalysis/prod/submit_lhe_batch.py @@ -0,0 +1,39 @@ +#! /usr/bin/env python +# usage: ./submit_lhe_batch.py -T 100000 -N 10000 --eos=/store/cmst3/user/emanuele/monox/mcsamples/zjet_8tev/gen/gamma1jet_LO_pT100 /afs/cern.ch/work/a/avartak/public/ZGammaFiles/gamma1jet_LO_pT100.lhe + +import os +import sys +import optparse + +def main(): + parser = optparse.OptionParser() + parser.add_option('-T', '--eventsperfile', action='store', dest='eventsperfile', help='number of events per input file' , default=2000, type='int') + parser.add_option('-N', '--neventsjob', action='store', dest='neventsjob', help='split the jobs with n events / batch job' , default=200, type='int') + parser.add_option('--eos', action='store', dest='eos', help='copy the output in the specified EOS path' , default='') + + (opt, args) = parser.parse_args() + + if len(args) != 1: + print usage + sys.exit(1) + lhefile = args[0] + basename = os.path.basename(lhefile) + sample = os.path.splitext(basename)[0] + + ijob=0 + + pwd = os.environ['PWD'] + + firstEvent = 1 + firstLuminosityBlock = 1 + while (firstEvent < opt.eventsperfile or opt.eventsperfile == -1): + lastEvent = firstEvent+opt.neventsjob + os.system("echo bsub -q 8nh "+pwd+"/lhe2gen2.sh --events "+str(firstEvent-1)+" "+str(+opt.neventsjob)+" --firstLuminosityBlock "+str(ijob+1)+" gen_z1jet.py "+opt.eos+"/"+sample+"_"+str(ijob)+".root "+lhefile) + os.system("bsub -q 8nh "+pwd+"/lhe2gen2.sh --events "+str(firstEvent-1)+" "+str(+opt.neventsjob)+" --firstLuminosityBlock "+str(ijob+1)+" gen_z1jet.py "+opt.eos+"/"+sample+"_"+str(ijob)+".root "+lhefile) + ijob = ijob+1 + if (opt.eventsperfile == -1): break + else: firstEvent = lastEvent + +if __name__ == "__main__": + main() + diff --git a/CMGTools/MonoXAnalysis/python/analyzers/dmCore_modules_cff.py b/CMGTools/MonoXAnalysis/python/analyzers/dmCore_modules_cff.py new file mode 100644 index 000000000000..450c19fa67d7 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/analyzers/dmCore_modules_cff.py @@ -0,0 +1,370 @@ +########################################################## +## MONOX COMMON MODULES ARE DEFINED HERE ## +## skimming modules are configured to not cut anything ## +########################################################## + +import PhysicsTools.HeppyCore.framework.config as cfg +from PhysicsTools.Heppy.analyzers.core.all import * +from PhysicsTools.Heppy.analyzers.objects.all import * +from PhysicsTools.Heppy.analyzers.gen.all import * +import os + +from CMGTools.TTHAnalysis.analyzers.ttHhistoCounterAnalyzer import ttHhistoCounterAnalyzer +dmCounter = cfg.Analyzer( + ttHhistoCounterAnalyzer, name="ttHhistoCounterAnalyzer", + ) + +PDFWeights = [] +#PDFWeights = [ ("CT10",53), ("MSTW2008lo68cl",41), ("NNPDF21_100",101) ] + +# Find the initial events before the skim +skimAnalyzer = cfg.Analyzer( + SkimAnalyzerCount, name='skimAnalyzerCount', + useLumiBlocks = False, + ) + +# Pick individual events (normally not in the path) +eventSelector = cfg.Analyzer( + EventSelector,name="EventSelector", + toSelect = [] # here put the event numbers (actual event numbers from CMSSW) + ) + +# Apply json file (if the dataset has one) +jsonAna = cfg.Analyzer( + JSONAnalyzer, name="JSONAnalyzer", + ) + +# Filter using the 'triggers' and 'vetoTriggers' specified in the dataset +triggerAna = cfg.Analyzer( + TriggerBitFilter, name="TriggerBitFilter", + ) + +# Create flags for trigger bits +triggerFlagsAna = cfg.Analyzer( + TriggerBitAnalyzer, name="TriggerFlags", + processName = 'HLT', + triggerBits = { + # "" : [ 'HLT__v*', 'HLT__v*' ] + } + ) +# Create flags for MET filter bits +eventFlagsAna = cfg.Analyzer( + TriggerBitAnalyzer, name="EventFlags", + processName = 'PAT', + outprefix = 'Flag', + triggerBits = { + "HBHENoiseFilter" : [ "Flag_HBHENoiseFilter" ], + "CSCTightHaloFilter" : [ "Flag_CSCTightHaloFilter" ], + "hcalLaserEventFilter" : [ "Flag_hcalLaserEventFilter" ], + "EcalDeadCellTriggerPrimitiveFilter" : [ "Flag_EcalDeadCellTriggerPrimitiveFilter" ], + "goodVertices" : [ "Flag_goodVertices" ], + "trackingFailureFilter" : [ "Flag_trackingFailureFilter" ], + "eeBadScFilter" : [ "Flag_eeBadScFilter" ], + "ecalLaserCorrFilter" : [ "Flag_ecalLaserCorrFilter" ], + "trkPOGFilters" : [ "Flag_trkPOGFilters" ], + "trkPOG_manystripclus53X" : [ "Flag_trkPOG_manystripclus53X" ], + "trkPOG_toomanystripclus53X" : [ "Flag_trkPOG_toomanystripclus53X" ], + "trkPOG_logErrorTooManyClusters" : [ "Flag_trkPOG_logErrorTooManyClusters" ], + "METFilters" : [ "Flag_METFilters" ], + } + ) + +# Select a list of good primary vertices (generic) +vertexAna = cfg.Analyzer( + VertexAnalyzer, name="VertexAnalyzer", + vertexWeight = None, + fixedWeight = 1, + verbose = False + ) + + +# This analyzer actually does the pile-up reweighting (generic) +pileUpAna = cfg.Analyzer( + PileUpAnalyzer, name="PileUpAnalyzer", + true = True, # use number of true interactions for reweighting + makeHists=False + ) + + +## Gen Info Analyzer (generic, but should be revised) +genAna = cfg.Analyzer( + GeneratorAnalyzer, name="GeneratorAnalyzer", + # BSM particles that can appear with status <= 2 and should be kept + stableBSMParticleIds = { 1000022 }, + # Particles of which we want to save the pre-FSR momentum (a la status 3). + # Note that for quarks and gluons the post-FSR doesn't make sense, + # so those should always be in the list + savePreFSRParticleIds = { 1,2,3,4,5, 11,12,13,14,15,16, 21 }, + # Make also the list of all genParticles, for other analyzers to handle + makeAllGenParticles = True, + # Make also the splitted lists + makeSplittedGenLists = True, + allGenTaus = False, + # Save LHE weights from LHEEventProduct + makeLHEweights = True, + # Print out debug information + verbose = False, + ) + +genHiggsAna = cfg.Analyzer( + HiggsDecayModeAnalyzer, name="HiggsDecayModeAnalyzer", + filterHiggsDecays = False, +) +genHFAna = cfg.Analyzer( + GenHeavyFlavourAnalyzer, name="GenHeavyFlavourAnalyzer", + status2Only = False, + bquarkPtCut = 15.0, +) +pdfwAna = cfg.Analyzer( + PDFWeightsAnalyzer, name="PDFWeightsAnalyzer", + PDFWeights = [ pdf for pdf,num in PDFWeights ], + doPDFVars = True, + ) + +# Lepton Analyzer (generic) +lepAna = cfg.Analyzer( + LeptonAnalyzer, name="leptonAnalyzer", + # input collections + muons='slimmedMuons', + electrons='slimmedElectrons', + rhoMuon= 'fixedGridRhoFastjetAll', + rhoElectron = 'fixedGridRhoFastjetAll', + # energy scale corrections and ghost muon suppression (off by default) + doMuScleFitCorrections=False, # "rereco" + doRochesterCorrections=False, + doElectronScaleCorrections=False, # "embedded" in 5.18 for regression + doSegmentBasedMuonCleaning=False, + # inclusive very loose muon selection + inclusive_muon_id = "POG_ID_Loose", + inclusive_muon_pt = 3, + inclusive_muon_eta = 2.4, + inclusive_muon_dxy = 0.5, + inclusive_muon_dz = 1.0, + muon_dxydz_track = "innerTrack", + # veto muon selection + loose_muon_id = "POG_ID_Loose", + loose_muon_pt = 10, + loose_muon_eta = 2.4, + loose_muon_dxy = 0.2, + loose_muon_dz = 0.5, + loose_muon_relIso = 0.4, + # inclusive very loose electron selection + inclusive_electron_id = "", + inclusive_electron_pt = 5, + inclusive_electron_eta = 2.5, + inclusive_electron_dxy = 0.5, + inclusive_electron_dz = 1.0, + inclusive_electron_lostHits = 5.0, + # veto electron selection + loose_electron_id = "POG_Cuts_ID_PHYS14_25ns_v1_Veto_full5x5", + loose_electron_pt = 10, + loose_electron_eta = 2.5, + loose_electron_dxy = 0.5, + loose_electron_dz = 0.5, + loose_electron_relIso = 1.0, + loose_electron_lostHits = 5.0, + # muon isolation correction method (can be "rhoArea" or "deltaBeta") + mu_isoCorr = "deltaBeta" , + mu_effectiveAreas = "Phys14_25ns_v1", #(can be 'Data2012' or 'Phys14_25ns_v1') + # electron isolation correction method (can be "rhoArea" or "deltaBeta") + ele_isoCorr = "deltaBeta" , + el_effectiveAreas = "Phys14_25ns_v1" , #(can be 'Data2012' or 'Phys14_25ns_v1') + ele_tightId = "MVA" , + # Mini-isolation, with pT dependent cone: will fill in the miniRelIso, miniRelIsoCharged, miniRelIsoNeutral variables of the leptons (see https://indico.cern.ch/event/368826/ ) + doMiniIsolation = False, # off by default since it requires access to all PFCandidates + packedCandidates = 'packedPFCandidates', + miniIsolationPUCorr = 'rhoArea', # Allowed options: 'rhoArea' (EAs for 03 cone scaled by R^2), 'deltaBeta', 'raw' (uncorrected), 'weights' (delta beta weights; not validated) + miniIsolationVetoLeptons = None, # use 'inclusive' to veto inclusive leptons and their footprint in all isolation cones + # minimum deltaR between a loose electron and a loose muon (on overlaps, discard the electron) + min_dr_electron_muon = 0.02, + # do MC matching + do_mc_match = True, # note: it will in any case try it only on MC, not on data + match_inclusiveLeptons = False, # match to all inclusive leptons + ) + + +## MET-based Skim +from CMGTools.MonoXAnalysis.analyzers.monoJetSkimmer import monoJetSkimmer +monoJetSkim = cfg.Analyzer( + monoJetSkimmer, name='monoJetSkimmer', + jets = "cleanJets", # jet collection to use + jetPtCuts = [], # e.g. [60,40,30,20] to require at least four jets with pt > 60,40,30,20 + metCut = 0 # MET cut + ) + +## number of leptons Skim +from CMGTools.MonoXAnalysis.analyzers.monoJetCtrlLepSkimmer import monoJetCtrlLepSkimmer +monoJetCtrlLepSkim = cfg.Analyzer( + monoJetCtrlLepSkimmer, name='monoJetCtrlLepSkimmer', + minLeptons = 1, + maxLeptons = 999, + #idCut = "lepton.relIso03 < 0.2" # can give a cut + idCut = 'lepton.muonID("POG_ID_Medium") if abs(lepton.pdgId())==13 else lepton.electronID("POG_Cuts_ID_PHYS14_25ns_v1_Veto_full5x5")', + ptCuts = [20], # can give a set of pt cuts on the leptons + ) + +## Photon Analyzer (generic) +photonAna = cfg.Analyzer( + PhotonAnalyzer, name='photonAnalyzer', + photons='slimmedPhotons', + ptMin = 15, + etaMax = 2.5, + gammaID = "POG_PHYS14_25ns_Loose", + do_mc_match = True, + do_randomCone = False, +) + +## Tau Analyzer (generic) +tauAna = cfg.Analyzer( + TauAnalyzer, name="tauAnalyzer", + ptMin = 15, + etaMax = 9999, + dxyMax = 0.5, + dzMax = 1.0, + vetoLeptons = True, + leptonVetoDR = 0.4, + vetoLeptonsPOG = False, + tauID = "byLooseCombinedIsolationDeltaBetaCorr3Hits", + tauLooseID = "decayModeFinding", +) + +##------------------------------------------ +### ISOLATED TRACK +###------------------------------------------ +# +## those are the cuts for the nonEMu +isoTrackAna = cfg.Analyzer( + IsoTrackAnalyzer, name='isoTrackAnalyzer', + setOff=False, + ##### + candidates='packedPFCandidates', + candidatesTypes='std::vector', + ptMin = 5, # for pion + ptMinEMU = 5, # for EMU + dzMax = 0.1, + ##### + isoDR = 0.3, + ptPartMin = 0, + dzPartMax = 0.1, + maxAbsIso = 8, + ##### + MaxIsoSum = 0.1, ### unused + MaxIsoSumEMU = 0.2, ### unused + doSecondVeto = False, + ##### + doPrune = True + ) + +## Jets Analyzer (generic) +jetAna = cfg.Analyzer( + JetAnalyzer, name='jetAnalyzer', + jetCol = 'slimmedJets', + copyJetsByValue = False, #Whether or not to copy the input jets or to work with references (should be 'True' if JetAnalyzer is run more than once) + genJetCol = 'slimmedGenJets', + rho = ('fixedGridRhoFastjetAll','',''), + jetPt = 25., + jetEta = 4.7, + jetEtaCentral = 2.5, + jetLepDR = 0.4, + jetLepArbitration = (lambda jet,lepton : lepton), # you can decide which to keep in case of overlaps; e.g. if the jet is b-tagged you might want to keep the jet + cleanSelectedLeptons = True, #Whether to clean 'selectedLeptons' after disambiguation. Treat with care (= 'False') if running Jetanalyzer more than once + minLepPt = 10, + relaxJetId = False, + doPuId = False, # Not commissioned in 7.0.X + recalibrateJets = "MC", # True, False, 'MC', 'Data' + recalibrationType = "AK4PFchs", + mcGT = "PHYS14_25_V2", + jecPath = "%s/src/CMGTools/RootTools/data/jec/" % os.environ['CMSSW_BASE'], + shiftJEC = 0, # set to +1 or -1 to get +/-1 sigma shifts + smearJets = False, + shiftJER = 0, # set to +1 or -1 to get +/-1 sigma shifts + alwaysCleanPhotons = False, + cleanJetsFromFirstPhoton = False, + cleanJetsFromTaus = False, + cleanJetsFromIsoTracks = False, + doQG = True, + cleanGenJetsFromPhoton = False + ) + +## Fat Jets Analyzer (generic) +from CMGTools.TTHAnalysis.analyzers.ttHFatJetAnalyzer import ttHFatJetAnalyzer +ttHFatJetAna = cfg.Analyzer( + ttHFatJetAnalyzer, name = 'ttHFatJetAnalyzer', + jetCol = 'slimmedJetsAK8', + jetPt = 100., + jetEta = 2.4, + # v--- not implemented for AK8 + #jetLepDR = 0.4, + #minLepPt = 10, + relaxJetId = False, + # v--- not implemented for AK8 + #doPuId = False, # Not commissioned in 7.0.X + #recalibrateJets = False, + #shiftJEC = 0, # set to +1 or -1 to get +/-1 sigma shifts + ) + + +# Secondary vertex analyzer +from CMGTools.TTHAnalysis.analyzers.ttHSVAnalyzer import ttHSVAnalyzer +ttHSVAna = cfg.Analyzer( + ttHSVAnalyzer, name="ttHSVAnalyzer", +) + +# Secondary vertex analyzer +from CMGTools.TTHAnalysis.analyzers.ttHHeavyFlavourHadronAnalyzer import ttHHeavyFlavourHadronAnalyzer +ttHHeavyFlavourHadronAna = cfg.Analyzer( + ttHHeavyFlavourHadronAnalyzer, name="ttHHeavyFlavourHadronAnalyzer", +) + + +metAna = cfg.Analyzer( + METAnalyzer, name="metAnalyzer", + metCollection = "slimmedMETs", + noPUMetCollection = "slimmedMETs", + copyMETsByValue = False, + doTkMet = False, + doMetNoPU = True, + doMetNoMu = True, + doMetNoEle = False, + doMetNoPhoton = False, + recalibrate = False, + jetAnalyzerCalibrationPostFix = "", + candidates='packedPFCandidates', + candidatesTypes='std::vector', + dzMax = 0.1, + collectionPostFix = "", + ) + +# Core Event Analyzer (computes basic quantities like HT, dilepton masses) +from CMGTools.TTHAnalysis.analyzers.ttHCoreEventAnalyzer import ttHCoreEventAnalyzer +ttHCoreEventAna = cfg.Analyzer( + ttHCoreEventAnalyzer, name='ttHCoreEventAnalyzer', + maxLeps = 4, ## leptons to consider + mhtForBiasedDPhi = "mhtJet40jvec", + jetForBiasedDPhi = "cleanJets", + ) + +# Core sequence of all common modules +dmCoreSequence = [ + skimAnalyzer, + #eventSelector, + jsonAna, + triggerAna, + pileUpAna, + genAna, + genHiggsAna, + genHFAna, + pdfwAna, + vertexAna, + lepAna, + photonAna, + tauAna, + isoTrackAna, + jetAna, + metAna, + ttHCoreEventAna, + monoJetSkim, + monoJetCtrlLepSkim, + triggerFlagsAna, + eventFlagsAna, +] diff --git a/CMGTools/MonoXAnalysis/python/analyzers/monoJetCtrlLepSkimmer.py b/CMGTools/MonoXAnalysis/python/analyzers/monoJetCtrlLepSkimmer.py new file mode 100644 index 000000000000..0ac6a62f3f21 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/analyzers/monoJetCtrlLepSkimmer.py @@ -0,0 +1,44 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer + +class monoJetCtrlLepSkimmer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(monoJetCtrlLepSkimmer,self).__init__(cfg_ana,cfg_comp,looperName) + self.ptCuts = cfg_ana.ptCuts if hasattr(cfg_ana, 'ptCuts') else [] + self.ptCuts += 10*[-1.] + + self.idCut = cfg_ana.idCut if (getattr(cfg_ana, 'idCut', '') != '') else "True" + self.idFunc = eval("lambda lepton : "+self.idCut); + + def declareHandles(self): + super(monoJetCtrlLepSkimmer, self).declareHandles() + + def beginLoop(self, setup): + super(monoJetCtrlLepSkimmer,self).beginLoop(setup) + self.counters.addCounter('events') + count = self.counters.counter('events') + count.register('all events') + count.register('vetoed events') + count.register('accepted events') + + + def process(self, event): + self.readCollections( event.input ) + self.counters.counter('events').inc('all events') + + + leptons = [] + for lep, ptCut in zip(event.selectedLeptons, self.ptCuts): + if not self.idFunc(lep): + continue + if lep.pt() > ptCut: + leptons.append(lep) + + ret = False + if len(leptons) >= self.cfg_ana.minLeptons: + ret = True + if len(leptons) > self.cfg_ana.maxLeptons: + if ret: self.counters.counter('events').inc('vetoed events') + ret = False + + if ret: self.counters.counter('events').inc('accepted events') + return ret diff --git a/CMGTools/MonoXAnalysis/python/analyzers/monoJetEventAnalyzer.py b/CMGTools/MonoXAnalysis/python/analyzers/monoJetEventAnalyzer.py new file mode 100644 index 000000000000..a6dd85397071 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/analyzers/monoJetEventAnalyzer.py @@ -0,0 +1,31 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.utils.deltar import deltaR + + +class monoJetEventAnalyzer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(monoJetEventAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(monoJetEventAnalyzer, self).declareHandles() + + def beginLoop(self, setup): + super(monoJetEventAnalyzer,self).beginLoop(setup) + self.counters.addCounter('events') + count = self.counters.counter('events') + count.register('all events') + count.register('accepted events') + + def process(self, event): + self.readCollections( event.input ) + self.counters.counter('events').inc('all events') + + if hasattr(self.cfg_ana, 'minJets25'): + n25 = len([ j for j in event.cleanJets if j.pt() > 25 ]) + if n25 < self.cfg_ana.minJets25: + return False + + #self.makeHadTopDecays(event) # here put my calculations of strange variables + + self.counters.counter('events').inc('accepted events') + return True diff --git a/CMGTools/MonoXAnalysis/python/analyzers/monoJetSkimmer.py b/CMGTools/MonoXAnalysis/python/analyzers/monoJetSkimmer.py new file mode 100644 index 000000000000..6cdda3d18730 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/analyzers/monoJetSkimmer.py @@ -0,0 +1,36 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer + +class monoJetSkimmer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(monoJetSkimmer,self).__init__(cfg_ana,cfg_comp,looperName) + self.metCut = cfg_ana.metCut if hasattr(cfg_ana, 'metCut') else [] + + def declareHandles(self): + super(monoJetSkimmer, self).declareHandles() + + def beginLoop(self, setup): + super(monoJetSkimmer,self).beginLoop(setup) + self.counters.addCounter('events') + count = self.counters.counter('events') + count.register('all events') + count.register('pass jetPtCuts') + count.register('pass jetVeto') + count.register('pass met') + count.register('accepted events') + + def process(self, event): + self.readCollections( event.input ) + self.counters.counter('events').inc('all events') + + jets = getattr(event, self.cfg_ana.jets) + for i,ptCut in enumerate(self.cfg_ana.jetPtCuts): + if len(jets) <= i or jets[i].pt() <= ptCut: + return False + self.counters.counter('events').inc('pass jetPtCuts') + + if float(self.cfg_ana.metCut) > 0 and event.metNoMu.pt() <= self.cfg_ana.metCut: + return False + self.counters.counter('events').inc('pass met') + + self.counters.counter('events').inc('accepted events') + return True diff --git a/CMGTools/MonoXAnalysis/python/analyzers/monoJetVarAnalyzer.py b/CMGTools/MonoXAnalysis/python/analyzers/monoJetVarAnalyzer.py new file mode 100644 index 000000000000..cfa047500a18 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/analyzers/monoJetVarAnalyzer.py @@ -0,0 +1,60 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaPhi + +import operator +import itertools +import copy +from math import * + +from CMGTools.RootTools.statistics.Counter import Counter, Counters +from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle + +import ROOT + +import os + +class monoJetVarAnalyzer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(monoJetVarAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(monoJetVarAnalyzer, self).declareHandles() + + def beginLoop(self, setup): + super(monoJetVarAnalyzer,self).beginLoop(setup) + self.counters.addCounter('pairs') + count = self.counters.counter('pairs') + count.register('all events') + + + # Calculate some topological variables + def getApcJetMetMin(self, event): + + if len(event.cleanJets) == 0: + event.apcjetmetmin = 0 + return + + px = ROOT.std.vector('double')() + py = ROOT.std.vector('double')() + et = ROOT.std.vector('double')() + metx = event.metNoMu.px() + mety = event.metNoMu.py() + + for jet in event.cleanJets: + px.push_back(jet.px()) + py.push_back(jet.py()) + et.push_back(jet.et()) + pass + + apcCalc = ROOT.heppy.Apc() + event.apcjetmetmin = apcCalc.getApcJetMetMin( et, px, py, metx, mety ) + + return + + def process(self, event): + self.readCollections( event.input ) + + event.apc = -999 + self.getApcJetMetMin(event) + + return True diff --git a/CMGTools/MonoXAnalysis/python/analyzers/objects/MonoXLeptonAnalyzer.py b/CMGTools/MonoXAnalysis/python/analyzers/objects/MonoXLeptonAnalyzer.py new file mode 100644 index 000000000000..cafe5dc7d32a --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/analyzers/objects/MonoXLeptonAnalyzer.py @@ -0,0 +1,126 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle +from PhysicsTools.Heppy.physicsobjects.Electron import Electron +from PhysicsTools.Heppy.physicsobjects.Muon import Muon +#from CMGTools.TTHAnalysis.tools.EfficiencyCorrector import EfficiencyCorrector + +from PhysicsTools.HeppyCore.utils.deltar import bestMatch +from PhysicsTools.Heppy.physicsutils.RochesterCorrections import rochcor +from PhysicsTools.Heppy.physicsutils.MuScleFitCorrector import MuScleFitCorr +from PhysicsTools.Heppy.physicsutils.ElectronCalibrator import EmbeddedElectronCalibrator +#from CMGTools.TTHAnalysis.electronCalibrator import ElectronCalibrator +import PhysicsTools.HeppyCore.framework.config as cfg +from PhysicsTools.HeppyCore.utils.deltar import * +from PhysicsTools.Heppy.physicsutils.genutils import * + + +from ROOT import heppy +cmgMuonCleanerBySegments = heppy.CMGMuonCleanerBySegmentsAlgo() + +class MonoXLeptonAnalyzer( Analyzer ): + + + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(MonoXLeptonAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + # Isolation cut + if hasattr(cfg_ana, 'veto_electron_isoCut'): + self.eleIsoCut = cfg_ana.veto_electron_isoCut + else: + self.eleIsoCut = lambda ele : ( + ele.relIso03 <= (self.cfg_ana.veto_electron_relIso[0] if ele.isEB() else self.cfg_ana.veto_electron_relIso[1]) and + ele.absIso03 < getattr(self.cfg_ana,'veto_electron_absIso',9e99)) + if hasattr(cfg_ana, 'veto_muon_isoCut'): + self.muIsoCut = cfg_ana.veto_muon_isoCut + else: + self.muIsoCut = lambda mu : ( + mu.relIso03 <= self.cfg_ana.veto_muon_relIso and + mu.absIso03 < getattr(self.cfg_ana,'veto_muon_absIso',9e99)) + + + #---------------------------------------- + # DECLARATION OF HANDLES OF LEPTONS STUFF + #---------------------------------------- + + + def beginLoop(self, setup): + super(MonoXLeptonAnalyzer,self).beginLoop(setup) + self.counters.addCounter('events') + count = self.counters.counter('events') + count.register('all events') + + #------------------ + # MAKE LEPTON LISTS + #------------------ + + + def makeVetoLeptons(self, event): + ### selected leptons = subset of inclusive leptons passing some basic id definition and pt requirement + ### other leptons = subset of inclusive leptons failing some basic id definition and pt requirement + event.vetoLeptons = [] + event.vetoMuons = [] + event.vetoElectrons = [] + + #the selected leptons are the ones with the corrections / calibrations applied + # make veto leptons + for mu in event.selectedMuons: + if (mu.pt() > self.cfg_ana.veto_muon_pt and abs(mu.eta()) < self.cfg_ana.veto_muon_eta and + abs(mu.dxy()) < self.cfg_ana.veto_muon_dxy and abs(mu.dz()) < self.cfg_ana.veto_muon_dz and + self.muIsoCut(mu)): + mu.vetoIdMonoX = True + event.vetoLeptons.append(mu) + event.vetoMuons.append(mu) + else: + mu.vetoIdMonoX = False + vetoMuons = event.vetoLeptons[:] + for ele in event.selectedElectrons: + if ( ele.pt() > self.cfg_ana.veto_electron_pt and abs(ele.eta()) (self.cfg_ana.min_dr_electron_muon**2)) )): + event.vetoLeptons.append(ele) + event.vetoElectrons.append(ele) + ele.vetoIdMonoX = True + else: + ele.vetoIdMonoX = False + + event.vetoLeptons.sort(key = lambda l : l.pt(), reverse = True) + event.vetoMuons.sort(key = lambda l : l.pt(), reverse = True) + event.vetoElectrons.sort(key = lambda l : l.pt(), reverse = True) + + for lepton in event.vetoLeptons: + if hasattr(self,'efficiency'): + self.efficiency.attachToObject(lepton) + + + def process(self, event): + self.readCollections( event.input ) + self.counters.counter('events').inc('all events') + + #call the leptons functions + self.makeVetoLeptons(event) + + return True + +#A default config +setattr(MonoXLeptonAnalyzer,"defaultConfig",cfg.Analyzer( + verbose=False, + class_object=MonoXLeptonAnalyzer, + # veto muon selection + veto_muon_pt = 10, + veto_muon_eta = 2.4, + veto_muon_dxy = 0.2, + veto_muon_dz = 0.5, + veto_muon_relIso = 0.4, + # veto electron selection + veto_electron_pt = 10, + veto_electron_eta = 2.5, + veto_electron_dxy = [0.0250, 0.2232], + veto_electron_dz = [0.5863, 0.9513], + veto_electron_relIso = [0.3313, 0.3816], + veto_electron_lostHits = [2.0, 3.0], + # minimum deltaR between a loose electron and a loose muon (on overlaps, discard the electron) + min_dr_electron_muon = 0.02, + ) +) diff --git a/CMGTools/MonoXAnalysis/python/analyzers/treeProducerDarkMatterCore.py b/CMGTools/MonoXAnalysis/python/analyzers/treeProducerDarkMatterCore.py new file mode 100644 index 000000000000..2a0bdd9a0f3b --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/analyzers/treeProducerDarkMatterCore.py @@ -0,0 +1,45 @@ +from PhysicsTools.Heppy.analyzers.core.AutoFillTreeProducer import * + +dmCore_globalVariables = [ + NTupleVariable("rho", lambda ev: ev.rho, float, help="kt6PFJets rho"), + NTupleVariable("nVert", lambda ev: len(ev.goodVertices), int, help="Number of good vertices"), + + NTupleVariable("nJet25", lambda ev: len(ev.cleanJets), int, help="Number of jets with pt > 25"), + NTupleVariable("nBJetLoose25", lambda ev: len(ev.bjetsLoose), int, help="Number of jets with pt > 25 passing CSV loose"), + NTupleVariable("nBJetMedium25", lambda ev: len(ev.bjetsMedium), int, help="Number of jets with pt > 25 passing CSV medium"), + NTupleVariable("nBJetTight25", lambda ev: sum([j.btagWP("CSVv2IVFT") for j in ev.bjetsMedium]), int, help="Number of jets with pt > 25 passing CSV tight"), + + NTupleVariable("nJet30", lambda ev: sum([j.pt() > 30 for j in ev.cleanJets]), int, help="Number of jets with pt > 30, |eta|<2.4"), + NTupleVariable("nJet30a", lambda ev: sum([j.pt() > 30 for j in ev.cleanJetsAll]), int, help="Number of jets with pt > 30, |eta|<4.7"), + NTupleVariable("nBJetLoose30", lambda ev: sum([j.btagWP("CSVv2IVFL") for j in ev.cleanJets if j.pt() > 30]), int, help="Number of jets with pt > 30 passing CSV loose"), + NTupleVariable("nBJetMedium30", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.bjetsMedium if j.pt() > 30]), int, help="Number of jets with pt > 30 passing CSV medium"), + NTupleVariable("nBJetTight30", lambda ev: sum([j.btagWP("CSVv2IVFT") for j in ev.bjetsMedium if j.pt() > 30]), int, help="Number of jets with pt > 30 passing CSV tight"), + + NTupleVariable("nJet40", lambda ev: sum([j.pt() > 40 for j in ev.cleanJets]), int, help="Number of jets with pt > 40, |eta|<2.4"), + NTupleVariable("nJet40a", lambda ev: sum([j.pt() > 40 for j in ev.cleanJetsAll]), int, help="Number of jets with pt > 40, |eta|<4.7"), + NTupleVariable("nBJetLoose40", lambda ev: sum([j.btagWP("CSVv2IVFL") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV loose"), + NTupleVariable("nBJetMedium40", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.bjetsMedium if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV medium"), + NTupleVariable("nBJetTight40", lambda ev: sum([j.btagWP("CSVv2IVFT") for j in ev.bjetsMedium if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV tight"), + + ##-------------------------------------------------- + NTupleVariable("nLepGood20", lambda ev: sum([l.pt() > 20 for l in ev.selectedLeptons]), int, help="Number of leptons with pt > 20"), + NTupleVariable("nLepGood15", lambda ev: sum([l.pt() > 15 for l in ev.selectedLeptons]), int, help="Number of leptons with pt > 15"), + NTupleVariable("nLepGood10", lambda ev: sum([l.pt() > 10 for l in ev.selectedLeptons]), int, help="Number of leptons with pt > 10"), + ##-------------------------------------------------- + #NTupleVariable("GenHeaviestQCDFlavour", lambda ev : ev.heaviestQCDFlavour, int, mcOnly=True, help="pdgId of heaviest parton in the event (after shower)"), + #NTupleVariable("LepEff_1lep", lambda ev : ev.LepEff_1lep, mcOnly=True, help="Lepton preselection SF (1 lep)"), + #NTupleVariable("LepEff_2lep", lambda ev : ev.LepEff_2lep, mcOnly=True, help="Lepton preselection SF (2 lep)"), + ##------------------------------------------------ +] + +dmCore_globalObjects = { + "met" : NTupleObject("met", metType, help="PF E_{T}^{miss}, after type 1 corrections"), + "metNoMu" : NTupleObject("metNoMu", metType, help="PF E_{T}^{miss}, with muon pt added back"), + "metNoPU" : NTupleObject("metNoPU", fourVectorType, help="PF noPU E_{T}^{miss}"), +} + +dmCore_collections = { + "genJets" : NTupleCollection("genJet", genParticleType, 10, help="Generated jets (not cleaned)"), + "genleps" : NTupleCollection("genLep", genParticleWithLinksType, 10, help="Generated leptons (e/mu) from W/Z decays"), + "generatorSummary" : NTupleCollection("GenPart", genParticleWithLinksType, 100 , help="Hard scattering particles, with ancestry and links"), +} diff --git a/CMGTools/MonoXAnalysis/python/analyzers/treeProducerDarkMatterMonoJet.py b/CMGTools/MonoXAnalysis/python/analyzers/treeProducerDarkMatterMonoJet.py new file mode 100644 index 000000000000..17c69d394c02 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/analyzers/treeProducerDarkMatterMonoJet.py @@ -0,0 +1,116 @@ +from CMGTools.MonoXAnalysis.analyzers.treeProducerDarkMatterCore import * +from CMGTools.TTHAnalysis.analyzers.ntupleTypes import * + +dmMonoJet_globalVariables = dmCore_globalVariables + [ + ##-------------------------------------------------- + ## Generator information + ##-------------------------------------------------- + ## NTupleVariable("genQScale", lambda ev : ev.genQScale, help="Generator level binning quantity, QScale"), + + ##-------------------------------------------------- + ## energy sums + ##-------------------------------------------------- + ##-------- custom jets ------------------------------------------ + NTupleVariable("htJet25", lambda ev : ev.htJet25, help="H_{T} computed from leptons and jets (with |eta|<2.4, pt > 25 GeV)"), + NTupleVariable("mhtJet25", lambda ev : ev.mhtJet25, help="H_{T}^{miss} computed from leptons and jets (with |eta|<2.4, pt > 25 GeV)"), + NTupleVariable("htJet40j", lambda ev : ev.htJet40j, help="H_{T} computed from only jets (with |eta|<2.4, pt > 40 GeV)"), + NTupleVariable("htJet40ja", lambda ev : ev.htJet40ja, help="H_{T} computed from only jets (with |eta|<4.7, pt > 40 GeV)"), + NTupleVariable("htJet40", lambda ev : ev.htJet40, help="H_{T} computed from leptons and jets (with |eta|<2.4, pt > 40 GeV)"), + NTupleVariable("htJet40a", lambda ev : ev.htJet40a, help="H_{T} computed from leptons and jets (with |eta|<4.7, pt > 40 GeV)"), + NTupleVariable("mhtJet40", lambda ev : ev.mhtJet40, help="H_{T}^{miss} computed from leptons and jets (with |eta|<2.4, pt > 40 GeV)"), + NTupleVariable("mhtJet40a", lambda ev : ev.mhtJet40a, help="H_{T}^{miss} computed from leptons and jets (with |eta|<4.7, pt > 40 GeV)"), + ##-------------------------------------------------- + # MT2 + ##-------------------------------------------------- + NTupleVariable("mt2_had", lambda ev: ev.mt2_had, float, help="mt2(j1,j2,met) with jets "), + NTupleVariable("mt2ViaKt_had", lambda ev: ev.mt2ViaKt_had, float, help="mt2(j1,j2,met) with jets with KT pseudo jets"), + NTupleVariable("mt2_bb", lambda ev: ev.mt2bb, float, help="mt2(b1,b2,met) with jets "), + NTupleVariable("mt2_gen", lambda ev: ev.mt2_gen, float, help="mt2(j1,j2,met) with jets at genInfo"), + NTupleVariable("mt2", lambda ev: ev.mt2, float, help="mt2(j1,j2,met) with jets and leptons"), + NTupleVariable("gamma_mt2", lambda ev: ev.gamma_mt2, float, help="mt2(j1,j2,met) with photons added to met"), + NTupleVariable("zll_mt2", lambda ev: ev.zll_mt2, float, help="mt2(j1,j2,met) with zll added to met, only hadrons"), + ##-------------------------------------------------- + # RAZOR + ##-------------------------------------------------- + NTupleVariable("mr_had", lambda ev: ev.mr_had, float, help="mr(j1,j2,met) with jets "), + NTupleVariable("mr_bb", lambda ev: ev.mr_bb, float, help="mr(b1,b2,met) with jets "), + NTupleVariable("mr_lept", lambda ev: ev.mr_lept, float, help="mr(j1,j2,met) with leptons"), + NTupleVariable("mr_gen", lambda ev: ev.mr_gen, float, help="mr(j1,j2,met) with jets at genInfo"), + NTupleVariable("mr", lambda ev: ev.mr, float, help="mr(j1,j2,met) with jets and leptons"), + NTupleVariable("mtr_had", lambda ev: ev.mtr_had, float, help="mtr(j1,j2,met) with jets "), + NTupleVariable("mtr_bb", lambda ev: ev.mtr_bb, float, help="mtr(b1,b2,met) with jets "), + NTupleVariable("mtr_lept", lambda ev: ev.mtr_lept, float, help="mtr(j1,j2,met) with leptons"), + NTupleVariable("mtr_gen", lambda ev: ev.mtr_gen, float, help="mtr(j1,j2,met) with jets at genInfo"), + NTupleVariable("mtr", lambda ev: ev.mtr, float, help="mtr(j1,j2,met) with jets and leptons"), + NTupleVariable("r_had", lambda ev: ev.r_had, float, help="r(j1,j2,met) with jets "), + NTupleVariable("r_bb", lambda ev: ev.r_bb, float, help="r(b1,b2,met) with jets "), + NTupleVariable("r_lept", lambda ev: ev.r_lept, float, help="r(j1,j2,met) with leptons"), + NTupleVariable("r_gen", lambda ev: ev.r_gen, float, help="r(j1,j2,met) with jets at genInfo"), + NTupleVariable("r", lambda ev: ev.r, float, help="r(j1,j2,met) with jets and leptons"), + ##-------------------------------------------------- + ## AlphaT + ##-------------------------------------------------- + NTupleVariable("alphaT", lambda ev: ev.alphaT, help="AlphaT computed using jets with pt > 50, |eta|<3"), + ##-------------------------------------------------- + ## MonoJet specific ones + ##-------------------------------------------------- + NTupleVariable("apcjetmetmin", lambda ev: ev.apcjetmetmin, help="apcjetmetmin computed using jets with pt > 50, |eta|<3"), + ##-------------------------------------------------- + ## dilepton masses + ##-------------------------------------------------- + NTupleVariable("mZ1", lambda ev : ev.bestZ1[0], help="Best m(ll) SF/OS"), + NTupleVariable("mZ1SFSS", lambda ev : ev.bestZ1sfss[0], help="Best m(ll) SF/SS"), + NTupleVariable("minMllSFOS", lambda ev: ev.minMllSFOS, help="min m(ll), SF/OS"), + NTupleVariable("maxMllSFOS", lambda ev: ev.maxMllSFOS, help="max m(ll), SF/OS"), + NTupleVariable("minMllAFOS", lambda ev: ev.minMllAFOS, help="min m(ll), AF/OS"), + NTupleVariable("maxMllAFOS", lambda ev: ev.maxMllAFOS, help="max m(ll), AF/OS"), + NTupleVariable("minMllAFSS", lambda ev: ev.minMllAFSS, help="min m(ll), AF/SS"), + NTupleVariable("maxMllAFSS", lambda ev: ev.maxMllAFSS, help="max m(ll), AF/SS"), + NTupleVariable("minMllAFAS", lambda ev: ev.minMllAFAS, help="min m(ll), AF/AS"), + NTupleVariable("maxMllAFAS", lambda ev: ev.maxMllAFAS, help="max m(ll), AF/AS"), + NTupleVariable("m2l", lambda ev: ev.m2l, help="m(ll)"), + + ##-------------------------------------------------- + # Physics object multplicities + ##-------------------------------------------------- + NTupleVariable("nBJet25", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.cleanJets if j.pt() > 25]), int, help="Number of jets with pt > 40 passing CSV medium"), + NTupleVariable("nFatJet100", lambda ev: sum([j.pt() > 100 for j in ev.fatJets]), int, help="Number of fat jets with pt > 100"), + NTupleVariable("nMuons10", lambda ev: sum([l.pt() > 10 and abs(l.pdgId()) == 13 for l in ev.selectedLeptons]), int, help="Number of muons with pt > 10"), + NTupleVariable("nElectrons10", lambda ev: sum([l.pt() > 10 and abs(l.pdgId()) == 11 for l in ev.selectedLeptons]), int, help="Number of electrons with pt > 10"), + NTupleVariable("nTaus20", lambda ev: sum([l.pt() > 20 for l in ev.selectedTaus]), int, help="Number of taus with pt > 20"), + NTupleVariable("nGammas20", lambda ev: sum([l.pt() > 20 for l in ev.selectedPhotons]), int, help="Number of photons with pt > 20"), + + +] + + +dmMonoJet_globalObjects = dmCore_globalObjects.copy() +dmMonoJet_globalObjects.update({ + # put more here +}) + +dmMonoJet_collections = dmCore_collections.copy() +dmMonoJet_collections.update({ + # put more here + "genleps" : NTupleCollection("genLep", genParticleWithLinksType, 10, help="Generated leptons (e/mu) from W/Z decays"), + ##------------------------------------------------ + "selectedTaus" : NTupleCollection("TauGood", tauTypeSusy, 3, help="Taus after the preselection"), + "selectedLeptons" : NTupleCollection("LepGood", leptonTypeSusyExtra, 8, help="Leptons after the preselection"), + "selectedPhotons" : NTupleCollection("GammaGood", photonTypeSusy, 10, help="photons with pt>20 and loose cut based ID"), + ##------------------------------------------------ + "cleanJets" : NTupleCollection("Jet", jetTypeSusyExtra, 10, help="Cental jets after full selection and cleaning, sorted by pt"), + "cleanJetsFwd" : NTupleCollection("JetFwd", jetTypeSusyExtra, 5, help="Forward jets after full selection and cleaning, sorted by pt"), + "fatJets" : NTupleCollection("FatJet", fatJetType, 10, help="AK8 jets, sorted by pt"), + ##------------------------------------------------ + #"discardedJets" : NTupleCollection("DiscJet", jetTypeSusyExtra, 10, help="Jets discarted in the jet-lepton cleaning"), + #"discardedLeptons" : NTupleCollection("DiscLep", leptonTypeSusyExtra, 8, help="Leptons discarded in the jet-lepton cleaning"), + ##------------------------------------------------ + "selectedIsoTrack" : NTupleCollection("isoTrack", isoTrackType, 50, help="isoTrack, sorted by pt"), + ##------------------------------------------------ + "LHE_weights" : NTupleCollection("LHEweight", weightsInfoType, 1000, help="LHE weight info"), + ##------------------------------------------------ + #"genBHadrons" : NTupleCollection("GenBHad", heavyFlavourHadronType, 20, mcOnly=True, help="Gen-level B hadrons"), + #"genDHadrons" : NTupleCollection("GenDHad", heavyFlavourHadronType, 20, mcOnly=True, help="Gen-level D hadrons"), +}) + + diff --git a/CMGTools/MonoXAnalysis/python/plotter/control-samples/w_munu-plots.txt b/CMGTools/MonoXAnalysis/python/plotter/control-samples/w_munu-plots.txt new file mode 100644 index 000000000000..233da7a09010 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/control-samples/w_munu-plots.txt @@ -0,0 +1,9 @@ +nJet30 : nJet30 : 8,-0.5,7.5 ; XTitle='N(jet\, p_{T} > 30)',Logy,LegendCutoff=1e-3, YMin=100, YMax=1e8 +nvtx: nVert: 40,0.5,40.5 ; XTitle="N(vertices)", Legend='TR' +met: metNoMu_pt: 60,200,1200 ; XTitle="E_{T}^{miss} [GeV]", Legend='TR', Logy,LegendCutoff=1e-3, YMin=1, YMax=1e7 +mt: mt_2(LepGood1_pt,LepGood1_phi,met_pt,met_phi): 60,0,400 ; XTitle="M_{T} [GeV]", Legend='TR' +iso03: LepGood1_relIso03: 20,0,.4 ; XTitle="Leading lepton rel. iso.", Logy, LegendCutoff=1e-3, YMin=1, YMax=1e7 +l1pt: LepGood1_pt: 40,0,1000; XTitle="Leading lepton p_{T} [GeV]", Legend='TR' +l1eta: LepGood1_eta: 40,-2.5,2.5; XTitle="Leading lepton #eta", Legend='TR' +jet1pt: Jet1_pt: 50,30,1000; XTitle="Leading jet p_{T} [GeV]", Legend='TR' +jet2pt: Jet2_pt: 50,30,1000; XTitle="Trailing jet p_{T} [GeV]", Legend='TR',Logy diff --git a/CMGTools/MonoXAnalysis/python/plotter/control-samples/w_munu.txt b/CMGTools/MonoXAnalysis/python/plotter/control-samples/w_munu.txt new file mode 100644 index 000000000000..0d9af90859c6 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/control-samples/w_munu.txt @@ -0,0 +1,12 @@ +1 tight mu: nMu20T == 1 +lep veto: nEle10V == 0 && nMu10V == 1 +photon veto: nGamma15V==0 +#mt50: mt_2(LepGood1_pt,LepGood1_phi,met_pt,met_phi) > 50 +nj: (nJet30 == 1 || nJet30 == 2) && jetclean > 0.5 +ptj>110: Jet1_pt > 110 +dphijj: nJet30 == 1 || (nJet==2 && abs(dphijj)<2.5) +b veto: nBJetMedium30 == 0 +#met250: metNoMu_pt>250 +#met300: metNoMu_pt>300 +#met400: metNoMu_pt>400 +#met500: metNoMu_pt>500 diff --git a/CMGTools/MonoXAnalysis/python/plotter/control-samples/zmumu-plots.txt b/CMGTools/MonoXAnalysis/python/plotter/control-samples/zmumu-plots.txt new file mode 100644 index 000000000000..46cb60f57676 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/control-samples/zmumu-plots.txt @@ -0,0 +1,12 @@ +nJet30 : nJet30 : 8,-0.5,7.5 ; XTitle='N(jet\, p_{T} > 30)',Logy,LegendCutoff=1e-3, YMin=1, YMax=1e4 +nvtx: nVert: 40,0.5,40.5 ; XTitle="N(vertices)", Legend='TR' +met: met_pt: 60,0,300 ; XTitle="E_{T}^{miss} [GeV]",Logy,LegendCutoff=1e-3, YMin=1, YMax=1e4 +metnomu: metNoMu_pt: 60,200,1000 ; XTitle="no-mu E_{T}^{miss} [GeV]",Logy,LegendCutoff=1e-3, YMin=1, YMax=1e4 +mZ1_log: mZ1: 60,60,120 ; XTitle="best m(l^{+}l^{-}) [GeV]",Legend='TR',Logy,LegendCutoff=1e-3, YMin=1, YMax=1e4 +mZ1: mZ1: 60,60,120 ; XTitle="best m(l^{+}l^{-}) [GeV]", Legend='TL' +iso1: LepGood1_relIso04: 20,0,.4; Logy, LegendCutoff=1e-3, YMin=1, YMax=1e4 +iso2: LepGood2_relIso04: 20,0,.4; Logy, LegendCutoff=1e-3, YMin=1, YMax=1e4 +l1pt: LepGood1_pt: 40,0,1400; XTitle="Leading lepton p_{T} [GeV]", Legend='TR' +l2pt: LepGood2_pt: 40,0,500; XTitle="Subleading lepton p_{T} [GeV]", Legend='TR' +l1eta: LepGood1_eta: 40,-2.5,2.5; XTitle="Leading lepton #eta", Legend='TR' +l2eta: LepGood2_eta: 40,-2.5,2.5; XTitle="Subleading lepton #eta", Legend='TR' diff --git a/CMGTools/MonoXAnalysis/python/plotter/control-samples/zmumu.txt b/CMGTools/MonoXAnalysis/python/plotter/control-samples/zmumu.txt new file mode 100644 index 000000000000..ab19ebf7ddf3 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/control-samples/zmumu.txt @@ -0,0 +1,9 @@ +2L SF/OS: nMu10V == 2 && LepGood1_pdgId == -LepGood2_pdgId +muon: abs(LepGood1_pdgId) == 13 +tightTag: LepGood1_tightId > 0 && LepGood1_relIso04 < 0.12 +mll: mZ1 > 60 && mZ1 < 120 +nj: (nJet30 == 1 || nJet30 == 2) && jetclean > 0.5 +ptj>110: Jet1_pt > 110 +dphijj: nJet30 == 1 || (nJet==2 && abs(dphijj)<2.5) +ele veto: nEle10V == 0 +photon veto: nGamma15V==0 diff --git a/CMGTools/MonoXAnalysis/python/plotter/functions.cc b/CMGTools/MonoXAnalysis/python/plotter/functions.cc new file mode 100644 index 000000000000..4a940cffda0e --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/functions.cc @@ -0,0 +1,94 @@ +#include +#include "Math/GenVector/LorentzVector.h" + +//// UTILITY FUNCTIONS NOT IN TFORMULA ALREADY + +float deltaPhi(float phi1, float phi2) { + float result = phi1 - phi2; + while (result > float(M_PI)) result -= float(2*M_PI); + while (result <= -float(M_PI)) result += float(2*M_PI); + return result; +} + +float if3(bool cond, float iftrue, float iffalse) { + return cond ? iftrue : iffalse; +} + +float deltaR2(float eta1, float phi1, float eta2, float phi2) { + float deta = std::abs(eta1-eta2); + float dphi = deltaPhi(phi1,phi2); + return deta*deta + dphi*dphi; +} +float deltaR(float eta1, float phi1, float eta2, float phi2) { + return std::sqrt(deltaR2(eta1,phi1,eta2,phi2)); +} + +float pt_2(float pt1, float phi1, float pt2, float phi2) { + phi2 -= phi1; + return hypot(pt1 + pt2 * std::cos(phi2), pt2*std::sin(phi2)); +} + +float mt_2(float pt1, float phi1, float pt2, float phi2) { + return std::sqrt(2*pt1*pt2*(1-std::cos(phi1-phi2))); +} + +float mass_2(float pt1, float eta1, float phi1, float m1, float pt2, float eta2, float phi2, float m2) { + typedef ROOT::Math::LorentzVector > PtEtaPhiMVector; + PtEtaPhiMVector p41(pt1,eta1,phi1,m1); + PtEtaPhiMVector p42(pt2,eta2,phi2,m2); + return (p41+p42).M(); +} + +float pt_3(float pt1, float phi1, float pt2, float phi2, float pt3, float phi3) { + phi2 -= phi1; + phi3 -= phi1; + return hypot(pt1 + pt2 * std::cos(phi2) + pt3 * std::cos(phi3), pt2*std::sin(phi2) + pt3*std::sin(phi3)); +} + +float mass_3(float pt1, float eta1, float phi1, float m1, float pt2, float eta2, float phi2, float m2, float pt3, float eta3, float phi3, float m3) { + typedef ROOT::Math::LorentzVector > PtEtaPhiMVector; + PtEtaPhiMVector p41(pt1,eta1,phi1,m1); + PtEtaPhiMVector p42(pt2,eta2,phi2,m2); + PtEtaPhiMVector p43(pt3,eta3,phi3,m3); + return (p41+p42+p43).M(); +} + +float pt_4(float pt1, float phi1, float pt2, float phi2, float pt3, float phi3, float pt4, float phi4) { + phi2 -= phi1; + phi3 -= phi1; + phi4 -= phi1; + return hypot(pt1 + pt2 * std::cos(phi2) + pt3 * std::cos(phi3) + pt4 * std::cos(phi4), pt2*std::sin(phi2) + pt3*std::sin(phi3) + pt4*std::sin(phi4)); +} + +float mass_4(float pt1, float eta1, float phi1, float m1, float pt2, float eta2, float phi2, float m2, float pt3, float eta3, float phi3, float m3, float pt4, float eta4, float phi4, float m4) { + typedef ROOT::Math::LorentzVector > PtEtaPhiMVector; + PtEtaPhiMVector p41(pt1,eta1,phi1,m1); + PtEtaPhiMVector p42(pt2,eta2,phi2,m2); + PtEtaPhiMVector p43(pt3,eta3,phi3,m3); + PtEtaPhiMVector p44(pt4,eta4,phi4,m4); + return (p41+p42+p43+p44).M(); +} + +float mt_llv(float ptl1, float phil1, float ptl2, float phil2, float ptv, float phiv) { + float px = ptl1*std::cos(phil1) + ptl2*std::cos(phil2) + ptv*std::cos(phiv); + float py = ptl1*std::sin(phil1) + ptl2*std::sin(phil2) + ptv*std::sin(phiv); + float ht = ptl1+ptl2+ptv; + return std::sqrt(std::max(0.f, ht*ht - px*px - py*py)); +} + +float mt_lllv(float ptl1, float phil1, float ptl2, float phil2, float ptl3, float phil3, float ptv, float phiv) { + float px = ptl1*std::cos(phil1) + ptl2*std::cos(phil2) + ptl3*std::cos(phil3) + ptv*std::cos(phiv); + float py = ptl1*std::sin(phil1) + ptl2*std::sin(phil2) + ptl3*std::sin(phil3) + ptv*std::sin(phiv); + float ht = ptl1+ptl2+ptl3+ptv; + return std::sqrt(std::max(0.f, ht*ht - px*px - py*py)); +} + + +float mtw_wz3l(float pt1, float eta1, float phi1, float m1, float pt2, float eta2, float phi2, float m2, float pt3, float eta3, float phi3, float m3, float mZ1, float met, float metphi) +{ + if (abs(mZ1 - mass_2(pt1,eta1,phi1,m1,pt2,eta2,phi2,m2)) < 0.01) return mt_2(pt3,phi3,met,metphi); + if (abs(mZ1 - mass_2(pt1,eta1,phi1,m1,pt3,eta3,phi3,m3)) < 0.01) return mt_2(pt2,phi2,met,metphi); + if (abs(mZ1 - mass_2(pt2,eta2,phi2,m2,pt3,eta3,phi3,m3)) < 0.01) return mt_2(pt1,phi1,met,metphi); + return 0; +} +void functions() {} diff --git a/CMGTools/MonoXAnalysis/python/plotter/makeCountingCards.py b/CMGTools/MonoXAnalysis/python/plotter/makeCountingCards.py new file mode 100644 index 000000000000..6c41332c50c3 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/makeCountingCards.py @@ -0,0 +1,98 @@ +#!/usr/bin/env python +from CMGTools.MonoXAnalysis.plotter.mcAnalysis import * +import re, sys +systs = {} + +from optparse import OptionParser +parser = OptionParser(usage="%prog [options] mc.txt cuts.txt systs.txt") +addMCAnalysisOptions(parser) +parser.add_option("-o", "--out", dest="outname", type="string", default=None, help="output name") +parser.add_option("--od", "--outdir", dest="outdir", type="string", default=None, help="output name") +parser.add_option("-v", "--verbose", dest="verbose", default=0, type="int", help="Verbosity level (0 = quiet, 1 = verbose, 2+ = more)") +parser.add_option("--asimov", dest="asimov", action="store_true", help="Asimov") +(options, args) = parser.parse_args() +options.weight = True +options.final = True + +mca = MCAnalysis(args[0],options) +cuts = CutsFile(args[1],options) + +from os.path import basename +binname = basename(args[1]).replace(".txt","") if options.outname == None else options.outname +outdir = options.outdir+"/" if options.outdir else "" + +report = mca.getYields(cuts) + +procs = []; iproc = {} +signals, backgrounds = [], [] +for i,s in enumerate(mca.listSignals()): + signals.append(s) + procs.append(s); iproc[s] = i-len(mca.listSignals())+1 +for i,b in enumerate(mca.listBackgrounds()): + backgrounds.append(b) + procs.append(b); iproc[b] = i+1 +allyields = mergeReports([y for x,y in report.iteritems()]) + +if options.asimov: + report['data_obs'] = allyields +else: + report['data_obs'] = report['data'] + +systs = {} +for sysfile in args[2:]: + for line in open(sysfile, 'r'): + if re.match("\s*#.*", line): continue + line = re.sub("#.*","",line).strip() + if len(line) == 0: continue + field = [f.strip() for f in line.split(':')] + if len(field) < 4: + raise RuntimeError, "Malformed line %s in file %s"%(line.strip(),sysfile) + elif len(field) == 4 or field[4] == "lnN": + (name, procmap, binmap, amount) = field[:4] + if re.match(binmap,binname) == None: continue + if name not in systs: systs[name] = [] + systs[name].append((re.compile(procmap),amount)) + elif field[4] in ["envelop","shapeOnly","templates","alternateShapeOnly"]: + if options.verbose > 0: print "Systematic %s of type %s not considered for counting analysis" %(field[0],field[4]) + else: + raise RuntimeError, "Unknown systematic type %s" % field[4] + if options.verbose > 0: + print "Loaded %d systematics" % len(systs) + print "Loaded %d envelop systematics" % len(systsEnv) + + +for name in systs.keys(): + effmap = {} + for p in procs: + effect = "-" + for (procmap,amount) in systs[name]: + if re.match(procmap, p): effect = amount + effmap[p] = effect + systs[name] = effmap + +for signal in mca.listSignals(): + myout = outdir + myout += "%s/" % signal + myprocs = ( backgrounds + [ signal ] ) if signal in signals else backgrounds + if not os.path.exists(myout): os.system("mkdir -p "+myout) + datacard = open(myout+binname+".card.txt", "w"); + datacard = open(myout+binname+".card.txt", "w"); + datacard.write("## Datacard for cut file %s (signal %s)\n"%(args[1],signal)) + datacard.write("## Event selection: \n") + for cutline in str(cuts).split("\n"): datacard.write("## %s\n" % cutline) + if signal not in signals: datacard.write("## NOTE: no signal contribution found with this event selection.\n") + datacard.write('##----------------------------------\n') + datacard.write('bin %s\n' % binname) + klen = max([7, len(binname)]+[len(p) for p in procs]) + kpatt = " %%%ds " % klen + fpatt = " %%%d.%df " % (klen,3) + datacard.write('observation'+("".join(fpatt % report['data_obs'][-1][1][0]))+"\n") + datacard.write('##----------------------------------\n') + datacard.write('##----------------------------------\n') + datacard.write('bin '+(" ".join([kpatt % binname for p in myprocs]))+"\n") + datacard.write('process '+(" ".join([kpatt % p for p in myprocs]))+"\n") + datacard.write('process '+(" ".join([kpatt % iproc[p] for p in myprocs]))+"\n") + datacard.write('rate '+(" ".join([fpatt % report[p][-1][1][0] for p in myprocs]))+"\n") + datacard.write('##----------------------------------\n') + for name,effmap in systs.iteritems(): + datacard.write(('%-30s lnN' % name) + " ".join([kpatt % effmap[p] for p in myprocs]) +"\n") diff --git a/CMGTools/MonoXAnalysis/python/plotter/makeShapeCards.py b/CMGTools/MonoXAnalysis/python/plotter/makeShapeCards.py new file mode 100644 index 000000000000..ad46a8130ba9 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/makeShapeCards.py @@ -0,0 +1,230 @@ +#!/usr/bin/env python +from CMGTools.MonoXAnalysis.plotter.mcAnalysis import * +import re, sys, os, os.path +systs = {} + +from optparse import OptionParser +parser = OptionParser(usage="%prog [options] mc.txt cuts.txt var bins systs.txt ") +addMCAnalysisOptions(parser) +parser.add_option("-o", "--out", dest="outname", type="string", default=None, help="output name") +parser.add_option("--od", "--outdir", dest="outdir", type="string", default=None, help="output name") +parser.add_option("-v", "--verbose", dest="verbose", default=0, type="int", help="Verbosity level (0 = quiet, 1 = verbose, 2+ = more)") +parser.add_option("--asimov", dest="asimov", action="store_true", help="Asimov") + +(options, args) = parser.parse_args() +options.weight = True +options.final = True +options.allProcesses = True + +mca = MCAnalysis(args[0],options) +cuts = CutsFile(args[1],options) + +binname = os.path.basename(args[1]).replace(".txt","") if options.outname == None else options.outname +outdir = options.outdir+"/" if options.outdir else "" + +report = mca.getPlotsRaw("x", args[2], args[3], cuts.allCuts(), nodata=options.asimov) + +if options.asimov: + tomerge = [] + for p in mca.listBackgrounds(): + if p in report: tomerge.append(report[p]) + report['data_obs'] = mergePlots("x_data_obs", tomerge) +else: + report['data_obs'] = report['data'].Clone("x_data_obs") + +allyields = dict([(p,h.Integral()) for p,h in report.iteritems()]) +procs = []; iproc = {} +signals, backgrounds = [], [] +for i,s in enumerate(mca.listSignals()): + if allyields[s] == 0: continue + signals.append(s) + procs.append(s); iproc[s] = i-len(mca.listSignals())+1 +for i,b in enumerate(mca.listBackgrounds()): + if allyields[b] == 0: continue + backgrounds.append(b) + procs.append(b); iproc[b] = i+1 + +systs = {} +systsEnv = {} +for sysfile in args[4:]: + for line in open(sysfile, 'r'): + if re.match("\s*#.*", line): continue + line = re.sub("#.*","",line).strip() + if len(line) == 0: continue + field = [f.strip() for f in line.split(':')] + if len(field) < 4: + raise RuntimeError, "Malformed line %s in file %s"%(line.strip(),sysfile) + elif len(field) == 4 or field[4] == "lnN": + (name, procmap, binmap, amount) = field[:4] + if re.match(binmap,binname) == None: continue + if name not in systs: systs[name] = [] + systs[name].append((re.compile(procmap),amount)) + elif field[4] in ["envelop","shapeOnly","templates","alternateShapeOnly"]: + (name, procmap, binmap, amount) = field[:4] + if re.match(binmap,binname) == None: continue + if name not in systs: systsEnv[name] = [] + systsEnv[name].append((re.compile(procmap),amount,field[4])) + else: + raise RuntimeError, "Unknown systematic type %s" % field[4] + if options.verbose > 0: + print "Loaded %d systematics" % len(systs) + print "Loaded %d envelop systematics" % len(systsEnv) + + +for name in systs.keys(): + effmap = {} + for p in procs: + effect = "-" + for (procmap,amount) in systs[name]: + if re.match(procmap, p): effect = amount + effmap[p] = effect + systs[name] = effmap + +for name in systsEnv.keys(): + effmap0 = {} + effmap12 = {} + for p in procs: + effect = "-" + effect0 = "-" + effect12 = "-" + for (procmap,amount,mode) in systsEnv[name]: + if re.match(procmap, p): effect = float(amount) if mode not in ["templates","alternateShape", "alternateShapeOnly"] else amount + if mca._projection != None and effect not in ["-","0","1",1.0,0.0] and type(effect) == type(1.0): + effect = mca._projection.scaleSyst(name, effect) + if effect == "-" or effect == "0": + effmap0[p] = "-" + effmap12[p] = "-" + continue + if mode in ["envelop","shapeOnly"]: + nominal = report[p] + p0up = nominal.Clone(nominal.GetName()+"_"+name+"0Up" ); p0up.Scale(effect) + p0dn = nominal.Clone(nominal.GetName()+"_"+name+"0Down"); p0dn.Scale(1.0/effect) + p1up = nominal.Clone(nominal.GetName()+"_"+name+"1Up" ); + p1dn = nominal.Clone(nominal.GetName()+"_"+name+"1Down"); + p2up = nominal.Clone(nominal.GetName()+"_"+name+"2Up" ); + p2dn = nominal.Clone(nominal.GetName()+"_"+name+"2Down"); + nbin = nominal.GetNbinsX() + xmin = nominal.GetBinCenter(1) + xmax = nominal.GetBinCenter(nbin) + for b in xrange(1,nbin+1): + x = (nominal.GetBinCenter(b)-xmin)/(xmax-xmin) + c1 = 2*(x-0.5) # straight line from (0,-1) to (1,+1) + c2 = 1 - 8*(x-0.5)**2 # parabola through (0,-1), (0.5,~1), (1,-1) + p1up.SetBinContent(b, p1up.GetBinContent(b) * pow(effect,+c1)) + p1dn.SetBinContent(b, p1dn.GetBinContent(b) * pow(effect,-c1)) + p2up.SetBinContent(b, p2up.GetBinContent(b) * pow(effect,+c2)) + p2dn.SetBinContent(b, p2dn.GetBinContent(b) * pow(effect,-c2)) + if mode != "shapeOnly": + report[p+"_"+name+"0Up"] = p0up + report[p+"_"+name+"0Down"] = p0dn + effect0 = "1" + report[p+"_"+name+"1Up"] = p1up + report[p+"_"+name+"1Down"] = p1dn + report[p+"_"+name+"2Up"] = p2up + report[p+"_"+name+"2Down"] = p2dn + effect12 = "1" + # useful for plotting + for h in p0up, p0dn, p1up, p1dn, p2up, p2dn: + h.SetFillStyle(0); h.SetLineWidth(2) + for h in p1up, p1dn: h.SetLineColor(4) + for h in p2up, p2dn: h.SetLineColor(2) + elif mode in ["templates"]: + nominal = report[p] + p0Up = report["%s_%s_Up" % (p, effect)] + p0Dn = report["%s_%s_Dn" % (p, effect)] + if not p0Up or not p0Dn: + raise RuntimeError, "Missing templates %s_%s_(Up,Dn) for %s" % (p,effect,name) + p0Up.SetName("%s_%sUp" % (nominal.GetName(),name)) + p0Dn.SetName("%s_%sDown" % (nominal.GetName(),name)) + report[str(p0Up.GetName())[2:]] = p0Up + report[str(p0Dn.GetName())[2:]] = p0Dn + effect0 = "1" + effect12 = "-" + if mca._projection != None: + mca._projection.scaleSystTemplate(name,nominal,p0Up) + mca._projection.scaleSystTemplate(name,nominal,p0Dn) + elif mode in ["alternateShape", "alternateShapeOnly"]: + nominal = report[p] + alternate = report[effect] + if mca._projection != None: + mca._projection.scaleSystTemplate(name,nominal,alternate) + alternate.SetName("%s_%sUp" % (nominal.GetName(),name)) + if mode == "alternateShapeOnly": + alternate.Scale(nominal.Integral()/alternate.Integral()) + mirror = nominal.Clone("%s_%sDown" % (nominal.GetName(),name)) + for b in xrange(1,nominal.GetNbinsX()+1): + y0 = nominal.GetBinContent(b) + yA = alternate.GetBinContent(b) + yM = y0 + if (y0 > 0 and yA > 0): + yM = y0*y0/yA + elif yA == 0: + yM = 2*y0 + mirror.SetBinContent(b, yM) + if mode == "alternateShapeOnly": + # keep same normalization + mirror.Scale(nominal.Integral()/mirror.Integral()) + else: + # mirror normalization + mnorm = (nominal.Integral()**2)/alternate.Integral() + mirror.Scale(mnorm/alternate.Integral()) + report[alternate.GetName()] = alternate + report[mirror.GetName()] = mirror + effect0 = "1" + effect12 = "-" + effmap0[p] = effect0 + effmap12[p] = effect12 + systsEnv[name] = (effmap0,effmap12,mode) + +for signal in mca.listSignals(): + myout = outdir + myout += "%s/" % signal + myprocs = ( backgrounds + [ signal ] ) if signal in signals else backgrounds + if not os.path.exists(myout): os.system("mkdir -p "+myout) + myyields = dict([(k,v) for (k,v) in allyields.iteritems()]) + datacard = open(myout+binname+".card.txt", "w"); + datacard.write("## Datacard for cut file %s (signal %s)\n"%(args[1],signal)) + datacard.write("## Event selection: \n") + for cutline in str(cuts).split("\n"): datacard.write("## %s\n" % cutline) + if signal not in signals: datacard.write("## NOTE: no signal contribution found with this event selection.\n") + datacard.write("shapes * * ../common/%s.input.root x_$PROCESS x_$PROCESS_$SYSTEMATIC\n" % binname) + datacard.write('##----------------------------------\n') + datacard.write('bin %s\n' % binname) + datacard.write('observation %s\n' % myyields['data_obs']) + datacard.write('##----------------------------------\n') + klen = max([7, len(binname)]+[len(p) for p in myprocs]) + kpatt = " %%%ds " % klen + fpatt = " %%%d.%df " % (klen,3) + datacard.write('##----------------------------------\n') + datacard.write('bin '+(" ".join([kpatt % binname for p in myprocs]))+"\n") + datacard.write('process '+(" ".join([kpatt % p for p in myprocs]))+"\n") + datacard.write('process '+(" ".join([kpatt % iproc[p] for p in myprocs]))+"\n") + datacard.write('rate '+(" ".join([fpatt % myyields[p] for p in myprocs]))+"\n") + datacard.write('##----------------------------------\n') + for name,effmap in systs.iteritems(): + datacard.write(('%-12s lnN' % name) + " ".join([kpatt % effmap[p] for p in myprocs]) +"\n") + for name,(effmap0,effmap12,mode) in systsEnv.iteritems(): + if mode == "templates": + datacard.write(('%-10s shape' % name) + " ".join([kpatt % effmap0[p] for p in myprocs]) +"\n") + if mode == "envelop": + datacard.write(('%-10s shape' % (name+"0")) + " ".join([kpatt % effmap0[p] for p in myprocs]) +"\n") + if mode in ["envelop", "shapeOnly"]: + datacard.write(('%-10s shape' % (name+"1")) + " ".join([kpatt % effmap12[p] for p in myprocs]) +"\n") + datacard.write(('%-10s shape' % (name+"2")) + " ".join([kpatt % effmap12[p] for p in myprocs]) +"\n") + if options.verbose > -1: + print "Wrote to ",myout+binname+".card.txt" + if options.verbose > 0: + print "="*120 + os.system("cat %s.card.txt" % (myout+binname)); + print "="*120 + +myout = outdir+"/common/"; +if not os.path.exists(myout): os.system("mkdir -p "+myout) +workspace = ROOT.TFile.Open(myout+binname+".input.root", "RECREATE") +for n,h in report.iteritems(): + if options.verbose > 0: print "\t%s (%8.3f events)" % (h.GetName(),h.Integral()) + workspace.WriteTObject(h,h.GetName()) +workspace.Close() + +if options.verbose > -1: + print "Wrote to ",myout+binname+".input.root" diff --git a/CMGTools/MonoXAnalysis/python/plotter/make_cards.sh b/CMGTools/MonoXAnalysis/python/plotter/make_cards.sh new file mode 100755 index 000000000000..27ea569bdd58 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/make_cards.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +if [[ "$HOSTNAME" == "cmsphys06" ]]; then + T="/data1/emanuele/monox/TREES_150515_MET200SKIM"; + J=6; +else + T="/cmshome/dimarcoe/TREES_060515_MET200SKIM"; + J=6; +fi + +ASIMOV="" +if echo "$1" | grep -q "asimov"; then ASIMOV="$1"; shift; fi + +OPTIONS=" -P $T --s2v -j $J -l 5.0 -f " +SYSTS="systsEnv.txt" + +if [[ $ASIMOV == "asimov" ]] ; then + OPTIONS="${OPTIONS} --asimov " +fi + +if [[ "$1" == "" ]] ; then + X="monojet" + OPTIONS="${OPTIONS} -F mjvars/t \"$T/0_eventvars_mj_v1/evVarFriend_{cname}.root\" " + OPT_SHAPE="${OPTIONS} --od cards/shape " + OPT_COUNT="${OPTIONS} -A \"lep veto\" \"met500\" \"metNoMu_pt>500\" --od cards/counting " + echo "python makeShapeCards.py mca-Phys14.txt sr/monojet.txt 'metNoMu_pt' '[200,250,300,350,400,500,650,1000]' $SYSTS $OPT_SHAPE -o ${X} " + echo "python makeCountingCards.py mca-Phys14.txt sr/monojet.txt $SYSTS $OPT_COUNT -o ${X} " + echo "Done at $(date)" +fi; diff --git a/CMGTools/MonoXAnalysis/python/plotter/mcAnalysis.py b/CMGTools/MonoXAnalysis/python/plotter/mcAnalysis.py new file mode 100755 index 000000000000..03198f88fd1a --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/mcAnalysis.py @@ -0,0 +1,360 @@ +#!/usr/bin/env python +#from tree2yield import * +from CMGTools.MonoXAnalysis.plotter.tree2yield import * +from CMGTools.MonoXAnalysis.plotter.projections import * +import pickle, re + +## These must be defined as standalone functions, to allow runing them in parallel +def _runYields(args): + key,tty,cuts,noEntryLine = args + return (key, tty.getYields(cuts,noEntryLine=noEntryLine)) + +def _runPlot(args): + key,tty,plotspec,cut = args + #timer = ROOT.TStopwatch() + #print "Starting plot %s for %s, %s" % (plotspec.name,key,tty._cname) + ret = (key,tty.getPlot(plotspec,cut)) + #print "Done plot %s for %s, %s in %s s" % (plotspec.name,key,tty._cname,timer.RealTime()) + return ret + +class MCAnalysis: + def __init__(self,samples,options): + self._options = options + self._allData = {} + self._data = [] + self._signals = [] + self._backgrounds = [] + self._isSignal = {} + self._rank = {} ## keep ranks as in the input text file + self._projection = Projections(options.project, options) if options.project != None else None + self._premap = [] + for premap in options.premap: + to,fro = premap.split("=") + if to[-1] == ":": to = to[:-1] + to = to.strip() + for k in fro.split(","): + self._premap.append((re.compile(k.strip()+"$"), to)) + for line in open(samples,'r'): + if re.match("\s*#.*", line): continue + line = re.sub(r"(? 0) + for p0 in options.processes: + for p in p0.split(","): + if re.match(p+"$", pname): skipMe = False + for p0 in options.processesToExclude: + for p in p0.split(","): + if re.match(p+"$", pname): skipMe = True + for p0 in options.filesToExclude: + for p in p0.split(","): + if re.match(p+"$", field[1]): skipMe = True + if skipMe: continue + #endif + ## If we have a user-defined list of processes as signal + if len(options.processesAsSignal): + signal = False + for p0 in options.processesAsSignal: + for p in p0.split(","): + if re.match(p+"$", pname): signal = True + ## endif + treename = extra["TreeName"] if "TreeName" in extra else options.tree + rootfile = "%s/%s/%s/tree.root" % (options.path, field[1].strip(), treename) + if options.remotePath: + rootfile = "root:%s/%s/%s_tree.root" % (options.remotePath, field[1].strip(), treename) + elif os.path.exists(rootfile+".url"): #(not os.path.exists(rootfile)) and : + rootfile = open(rootfile+".url","r").readline().strip() + elif (not os.path.exists(rootfile)) and os.path.exists("%s/%s/%s/tree.root" % (options.path, field[1].strip(), treename)): + # Heppy calls the tree just 'tree.root' + rootfile = "%s/%s/%s/tree.root" % (options.path, field[1].strip(), treename) + treename = "tree" + elif (not os.path.exists(rootfile)) and os.path.exists("%s/%s/%s/tree.root.url" % (options.path, field[1].strip(), treename)): + # Heppy calls the tree just 'tree.root' + rootfile = "%s/%s/%s/tree.root" % (options.path, field[1].strip(), treename) + rootfile = open(rootfile+".url","r").readline().strip() + treename = "tree" + else: + # Heppy calls the tree just 'tree.root' + treename = "tree" + pckfile = options.path+"/%s/skimAnalyzerCount/SkimReport.pck" % field[1].strip() + tty = TreeToYield(rootfile, options, settings=extra, name=pname, cname=field[1].strip(), treename=treename) + if signal: + self._signals.append(tty) + self._isSignal[pname] = True + elif pname == "data": + self._data.append(tty) + else: + self._isSignal[pname] = False + self._backgrounds.append(tty) + if pname in self._allData: self._allData[pname].append(tty) + else : self._allData[pname] = [tty] + if "data" not in pname: + pckobj = pickle.load(open(pckfile,'r')) + counters = dict(pckobj) + if ('Sum Weights' in counters) and options.weight: + nevt = counters['Sum Weights'] + scale = "genWeight*%s/%g" % (field[2], 0.001*nevt) + else: + nevt = counters['All Events'] + scale = "%s/%g" % (field[2], 0.001*nevt) + if len(field) == 4: scale += "*("+field[3]+")" + tty.setScaleFactor(scale) + if options.fullSampleYields: + fullYield = 0.0; + try: + fullYield = float(eval(field[2])) * 1000. * options.lumi + if len(field) == 4: + try: + fullYield = fullYield * float(eval(field[3])) + except: + pass + except: + pass + tty.setFullYield(fullYield) + elif len(field) == 3: + tty.setScaleFactor(field[2]) + if options.fullSampleYields: + try: + pckobj = pickle.load(open(pckfile,'r')) + counters = dict(pckobj) + nevt = counters['All Events'] + tty.setFullYield(nevt) + except: + tty.setFullYield(0) + if pname not in self._rank: self._rank[pname] = len(self._rank) + #if len(self._signals) == 0: raise RuntimeError, "No signals!" + #if len(self._backgrounds) == 0: raise RuntimeError, "No backgrounds!" + def listProcesses(self): + ret = self._allData.keys()[:] + ret.sort(key = lambda n : self._rank[n], reverse = True) + return ret + def isBackground(self,process): + return process != 'data' and not self._isSignal[process] + def isSignal(self,process): + return self._isSignal[process] + def listSignals(self,allProcs=False): + ret = [ p for p in self._allData.keys() if p != 'data' and self._isSignal[p] and (self.getProcessOption(p, 'SkipMe') != True or allProcs) ] + ret.sort(key = lambda n : self._rank[n], reverse = True) + return ret + def listBackgrounds(self,allProcs=False): + ret = [ p for p in self._allData.keys() if p != 'data' and not self._isSignal[p] and (self.getProcessOption(p, 'SkipMe') != True or allProcs) ] + ret.sort(key = lambda n : self._rank[n], reverse = True) + return ret + def hasProcess(self,process): + return process in self._allData + def scaleProcess(self,process,scaleFactor): + for tty in self._allData[process]: tty.setScaleFactor(scaleFactor) + def scaleUpProcess(self,process,scaleFactor): + for tty in self._allData[process]: + tty.setScaleFactor( "((%s) * (%s))" % (tty.getScaleFactor(),scaleFactor) ) + def getProcessOption(self,process,name,default=None): + return self._allData[process][0].getOption(name,default=default) + def setProcessOption(self,process,name,value): + return self._allData[process][0].setOption(name,value) + def getScales(self,process): + return [ tty.getScaleFactor() for tty in self._allData[process] ] + def getYields(self,cuts,process=None,nodata=False,makeSummary=False,noEntryLine=False): + ## first figure out what we want to do + tasks = [] + for key,ttys in self._allData.iteritems(): + if key == 'data' and nodata: continue + if process != None and key != process: continue + for tty in ttys: + tasks.append((key,tty,cuts,noEntryLine)) + ## then do the work + retlist = [] + if self._options.jobs == 0: + retlist = map(_runYields, tasks) + else: + #from sys import stderr + #stderr.write("Will run %d tasks on %d multiple treads\n" % (len(tasks),self._options.jobs)) + from multiprocessing import Pool + pool = Pool(self._options.jobs) + retlist = pool.map(_runYields, tasks) + ## then gather results with the same process + mergemap = {} + for (k,v) in retlist: + if k not in mergemap: mergemap[k] = [] + mergemap[k].append(v) + ## and finally merge them + ret = dict([ (k,mergeReports(v)) for k,v in mergemap.iteritems() ]) + # if necessary project to different lumi, energy, + if self._projection: + self._projection.scaleReport(ret) + # and comute totals + if makeSummary: + allSig = []; allBg = [] + for (key,val) in ret.iteritems(): + if key != 'data': + if self._isSignal[key]: allSig.append(ret[key]) + else: allBg.append(ret[key]) + if self._signals and not ret.has_key('signal') and len(allSig) > 0: + ret['signal'] = mergeReports(allSig) + if self._backgrounds and not ret.has_key('background') and len(allBg) > 0: + ret['background'] = mergeReports(allBg) + return ret + def getPlotsRaw(self,name,expr,bins,cut,process=None,nodata=False,makeSummary=False): + return self.getPlots(PlotSpec(name,expr,bins,{}),cut,process,nodata,makeSummary) + def getPlots(self,plotspec,cut,process=None,nodata=False,makeSummary=False): + ret = { } + allSig = []; allBg = [] + tasks = [] + for key,ttys in self._allData.iteritems(): + if key == 'data' and nodata: continue + if process != None and key != process: continue + for tty in ttys: + tasks.append((key,tty,plotspec,cut)) + retlist = [] + if self._options.jobs == 0: + retlist = map(_runPlot, tasks) + else: + #from sys import stderr + #stderr.write("Will run %d tasks on %d multiple treads\n" % (len(tasks),self._options.jobs)) + from multiprocessing import Pool + pool = Pool(self._options.jobs) + retlist = pool.map(_runPlot, tasks) + ## then gather results with the same process + mergemap = {} + for (k,v) in retlist: + if k not in mergemap: mergemap[k] = [] + mergemap[k].append(v) + ## and finally merge them + ret = dict([ (k,mergePlots(plotspec.name+"_"+k,v)) for k,v in mergemap.iteritems() ]) + # if necessary project to different lumi, energy, + if self._projection: + self._projection.scalePlots(ret) + if makeSummary: + allSig = [v for k,v in ret.iteritems() if k != 'data'and self._isSignal[k] == True ] + allBg = [v for k,v in ret.iteritems() if k != 'data'and self._isSignal[k] == False ] + if self._signals and not ret.has_key('signal') and len(allSig) > 0: + ret['signal'] = mergePlots(plotspec.name+"_signal", allSig) + ret['signal'].summary = True + if self._backgrounds and not ret.has_key('background') and len(allBg) > 0: + ret['background'] = mergePlots(plotspec.name+"_background",allBg) + ret['background'].summary = True + return ret + def prettyPrint(self,reports,makeSummary=True): + allSig = []; allBg = [] + for key in reports: + if key != 'data': + if self._isSignal[key]: allSig.append((key,reports[key])) + else: allBg.append((key,reports[key])) + allSig.sort(key = lambda (n,v): self._rank[n], reverse = True) + allBg.sort( key = lambda (n,v): self._rank[n], reverse = True) + table = allSig + allBg + if makeSummary: + if len(allSig)>1: + table.append(('ALL SIG',mergeReports([v for n,v in allSig]))) + if len(allBg)>1: + table.append(('ALL BKG',mergeReports([v for n,v in allBg]))) + if "data" in reports: table += [ ('DATA', reports['data']) ] + + # maximum length of the cut descriptions + clen = max([len(cut) for cut,yields in table[0][1]]) + 3 + cfmt = "%%-%ds" % clen; + + fmtlen = 10 + nfmtL = " %8d" + nfmtS = " %8.2f" if self._options.weight else nfmtL + nfmtX = " %8.4f" if self._options.weight else nfmtL + + if self._options.errors: + nfmtS+=u" %7.2f" + nfmtX+=u" %7.4f" + nfmtL+=u" %7.2f" + fmtlen+=9 + if self._options.fractions: + nfmtS+=" %7.1f%%" + nfmtX+=" %7.1f%%" + nfmtL+=" %7.1f%%" + fmtlen+=8 + + if self._options.txtfmt == "text": + print "CUT".center(clen), + for h,r in table: + if len(" "+h) <= fmtlen: + print (" "+h).center(fmtlen), + elif len(h) <= fmtlen: + print h.center(fmtlen), + else: + print h[:fmtlen], + print "" + print "-"*((fmtlen+1)*len(table)+clen) + for i,(cut,dummy) in enumerate(table[0][1]): + print cfmt % cut, + for name,report in table: + (nev,err) = report[i][1] + den = report[i-1][1][0] if i>0 else 0 + fraction = nev/float(den) if den > 0 else 1 + if self._options.nMinusOne: + fraction = report[-1][1][0]/nev if nev > 0 else 1 + toPrint = (nev,) + if self._options.errors: toPrint+=(err,) + if self._options.fractions: toPrint+=(fraction*100,) + if self._options.weight and nev < 1000: print ( nfmtS if nev > 0.2 else nfmtX) % toPrint, + else : print nfmtL % toPrint, + print "" + def _getYields(self,ttylist,cuts): + return mergeReports([tty.getYields(cuts) for tty in ttylist]) + def __str__(self): + mystr = "" + for a in self._allData: + mystr += str(a) + '\n' + for a in self._data: + mystr += str(a) + '\n' + for a in self._signals: + mystr += str(a) + '\n' + for a in self._backgrounds: + mystr += str(a) + '\n' + return mystr[:-1] + def processEvents(self,eventLoop,cut): + for p in self.listProcesses(): + for tty in self._allData[p]: + tty.processEvents(eventLoop,cut) + +def addMCAnalysisOptions(parser,addTreeToYieldOnesToo=True): + if addTreeToYieldOnesToo: addTreeToYieldOptions(parser) + parser.add_option("-j", "--jobs", dest="jobs", type="int", default=0, help="Use N threads"); + parser.add_option("-P", "--path", dest="path", type="string", default="./", help="path to directory with input trees and pickle files (./)") + parser.add_option("--RP", "--remote-path", dest="remotePath", type="string", default=None, help="path to remote directory with trees, but not other metadata (default: same as path)") + parser.add_option("-p", "--process", dest="processes", type="string", default=[], action="append", help="Processes to print (comma-separated list of regexp, can specify multiple ones)"); + parser.add_option("--pg", "--pgroup", dest="premap", type="string", default=[], action="append", help="Group proceses into one. Syntax is ' := (comma-separated list of regexp)', can specify multiple times. Note tahat it is applied _before_ -p, --sp and --xp"); + parser.add_option("--xf", "--exclude-files", dest="filesToExclude", type="string", default=[], action="append", help="Files to exclude (comma-separated list of regexp, can specify multiple ones)"); + parser.add_option("--xp", "--exclude-process", dest="processesToExclude", type="string", default=[], action="append", help="Processes to exclude (comma-separated list of regexp, can specify multiple ones)"); + parser.add_option("--sp", "--signal-process", dest="processesAsSignal", type="string", default=[], action="append", help="Processes to set as signal (overriding the '+' in the text file)"); + parser.add_option("--AP", "--all-processes", dest="allProcesses", action="store_true", help="Include also processes that are marked with SkipMe=True in the MCA.txt") + parser.add_option("--project", dest="project", type="string", help="Project to a scenario (e.g 14TeV_300fb_scenario2)") + +if __name__ == "__main__": + from optparse import OptionParser + parser = OptionParser(usage="%prog [options] tree.root cuts.txt") + addMCAnalysisOptions(parser) + (options, args) = parser.parse_args() + tty = TreeToYield(args[0],options) if ".root" in args[0] else MCAnalysis(args[0],options) + cf = CutsFile(args[1],options) + for cutFile in args[2:]: + temp = CutsFile(cutFile,options) + for cut in temp.cuts(): + cf.add(cut[0],cut[1]) + report = tty.getYields(cf)#, process=options.process) + tty.prettyPrint(report) diff --git a/CMGTools/MonoXAnalysis/python/plotter/mcPlots.py b/CMGTools/MonoXAnalysis/python/plotter/mcPlots.py new file mode 100755 index 000000000000..9e5072576093 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/mcPlots.py @@ -0,0 +1,756 @@ +#!/usr/bin/env python +#from mcAnalysis import * +from CMGTools.MonoXAnalysis.plotter.mcAnalysis import * + +SAFE_COLOR_LIST=[ +ROOT.kBlack, ROOT.kRed, ROOT.kGreen+2, ROOT.kBlue, ROOT.kMagenta+1, ROOT.kOrange+7, ROOT.kCyan+1, ROOT.kGray+2, ROOT.kViolet+5, ROOT.kSpring+5, ROOT.kAzure+1, ROOT.kPink+7, ROOT.kOrange+3, ROOT.kBlue+3, ROOT.kMagenta+3, ROOT.kRed+2, +] +class PlotFile: + def __init__(self,fileName,options): + self._options = options + self._plots = [] + infile = open(fileName,'r') + for line in infile: + if re.match("\s*#.*", line) or len(line.strip())==0: continue + while line.strip()[-1] == "\\": + line = line.strip()[:-1] + infile.next() + extra = {} + if ";" in line: + (line,more) = line.split(";")[:2] + more = more.replace("\\,",";") + for setting in [f.strip().replace(";",",") for f in more.split(',')]: + if "=" in setting: + (key,val) = [f.strip() for f in setting.split("=")] + extra[key] = eval(val) + else: extra[setting] = True + line = re.sub("#.*","",line) + field = [f.strip().replace(";",":") for f in line.replace("\\:",";").split(':')] + if len(field) <= 2: continue + if len(options.plotselect): + skipMe = True + for p0 in options.plotselect: + for p in p0.split(","): + if re.match(p+"$", field[0]): skipMe = False + if skipMe: continue + if len(options.plotexclude): + skipMe = False + for p0 in options.plotexclude: + for p in p0.split(","): + if re.match(p+"$", field[0]): skipMe = True + if skipMe: continue + if options.globalRebin: extra['rebinFactor'] = options.globalRebin + self._plots.append(PlotSpec(field[0],field[1],field[2],extra)) + def plots(self): + return self._plots[:] + +def getDataPoissonErrors(h, drawZeroBins=False, drawXbars=False): + xaxis = h.GetXaxis() + q=(1-0.6827)/2.; + points = [] + errors = [] + for i in xrange(h.GetNbinsX()): + N = h.GetBinContent(i+1); + if drawZeroBins or N > 0: + x = xaxis.GetBinCenter(i+1); + points.append( (x,N) ) + EYlow = (N-ROOT.ROOT.Math.chisquared_quantile_c(1-q,2*N)/2.) if N > 0 else 0 + EYhigh = ROOT.ROOT.Math.chisquared_quantile_c(q,2*(N+1))/2.-N; + EXhigh, EXlow = (xaxis.GetBinUpEdge(i+1)-x, x-xaxis.GetBinLowEdge(i+1)) if drawXbars else (0,0) + errors.append( (EXlow,EXhigh,EYlow,EYhigh) ) + ret = ROOT.TGraphAsymmErrors(len(points)) + ret.SetName(h.GetName()+"_graph") + for i,((x,y),(EXlow,EXhigh,EYlow,EYhigh)) in enumerate(zip(points,errors)): + ret.SetPoint(i, x, y) + ret.SetPointError(i, EXlow,EXhigh,EYlow,EYhigh) + ret.SetLineWidth(h.GetLineWidth()) + ret.SetLineColor(h.GetLineColor()) + ret.SetLineStyle(h.GetLineStyle()) + ret.SetMarkerSize(h.GetMarkerSize()) + ret.SetMarkerColor(h.GetMarkerColor()) + ret.SetMarkerStyle(h.GetMarkerStyle()) + return ret + +def doSpam(text,x1,y1,x2,y2,align=12,fill=False,textSize=0.033,_noDelete={}): + cmsprel = ROOT.TPaveText(x1,y1,x2,y2,"NDC"); + cmsprel.SetTextSize(textSize); + cmsprel.SetFillColor(0); + cmsprel.SetFillStyle(1001 if fill else 0); + cmsprel.SetLineStyle(2); + cmsprel.SetLineColor(0); + cmsprel.SetTextAlign(align); + cmsprel.SetTextFont(42); + cmsprel.AddText(text); + cmsprel.Draw("same"); + _noDelete[text] = cmsprel; ## so it doesn't get deleted by PyROOT + return cmsprel + +def doTinyCmsPrelim(textLeft="_default_",textRight="_default_",hasExpo=False,textSize=0.033,lumi=None, xoffs=0): + global options + if textLeft == "_default_": textLeft = options.lspam + if textRight == "_default_": textRight = options.rspam + if lumi == None : lumi = options.lumi + if textLeft not in ['', None]: + doSpam(textLeft, (.28 if hasExpo else .17)+xoffs, .955, .60+xoffs, .995, align=12, textSize=textSize) + if textRight not in ['', None]: + if "%(lumi)" in textRight: + textRight = textRight % { 'lumi':lumi } + doSpam(textRight,.68+xoffs, .955, .99+xoffs, .995, align=32, textSize=textSize) + +def reMax(hist,hist2,islog,factorLin=1.3,factorLog=2.0): + if hist.ClassName() == 'THStack': + hist = hist.GetHistogram() + max0 = hist.GetMaximum() + max2 = hist2.GetMaximum()*(factorLog if islog else factorLin) + if hasattr(hist2,'poissonGraph'): + for i in xrange(hist2.poissonGraph.GetN()): + max2 = max(max2, (hist2.poissonGraph.GetY()[i] + hist2.poissonGraph.GetErrorYhigh(i))*(factorLog if islog else factorLin)) + elif "TH1" in hist2.ClassName(): + for b in xrange(1,hist2.GetNbinsX()+1): + max2 = max(max2, (hist2.GetBinContent(b) + hist2.GetBinError(b))*(factorLog if islog else factorLin)) + if max2 > max0: + max0 = max2; + if islog: hist.GetYaxis().SetRangeUser(0.9,max0) + else: hist.GetYaxis().SetRangeUser(0,max0) + +def doDataNorm(pspec,pmap): + if "data" not in pmap: return None + total = sum([v.Integral() for k,v in pmap.iteritems() if k != 'data' and not hasattr(v,'summary')]) + sig = pmap["data"].Clone(pspec.name+"_data_norm") + sig.SetFillStyle(0) + sig.SetLineColor(1) + sig.SetLineWidth(3) + sig.SetLineStyle(2) + if sig.Integral() > 0: + sig.Scale(total/sig.Integral()) + sig.Draw("HIST SAME") + return sig + +def doStackSignalNorm(pspec,pmap,individuals,extrascale=1.0,norm=True): + total = sum([v.Integral() for k,v in pmap.iteritems() if k != 'data' and not hasattr(v,'summary')]) + if options.noStackSig: + total = sum([v.Integral() for k,v in pmap.iteritems() if not hasattr(v,'summary') and mca.isBackground(k) ]) + if individuals: + sigs = [] + for sig in [pmap[x] for x in mca.listSignals() if pmap.has_key(x) and pmap[x].Integral() > 0]: + sig = sig.Clone(sig.GetName()+"_norm") + sig.SetFillStyle(0) + sig.SetLineColor(sig.GetFillColor()) + sig.SetLineWidth(4) + if norm: sig.Scale(total*extrascale/sig.Integral()) + sig.Draw("HIST SAME") + sigs.append(sig) + return sigs + else: + sig = None + if "signal" in pmap: sig = pmap["signal"].Clone(pspec.name+"_signal_norm") + else: + sigs = [pmap[x] for x in mca.listBackgrounds() if pmap.has_key(x) and pmap[x].Integral() > 0] + sig = sigs[0].Clone(sigs.GetName()+"_norm") + sig.SetFillStyle(0) + sig.SetLineColor(206) + sig.SetLineWidth(4) + if norm and sig.Integral() > 0: + sig.Scale(total*extrascale/sig.Integral()) + sig.Draw("HIST SAME") + return [sig] + +def doStackSigScaledNormData(pspec,pmap): + if "data" not in pmap: return (None,-1.0) + if "signal" not in pmap: return (None,-1.0) + data = pmap["data"] + sig = pmap["signal"].Clone("sig_refloat") + bkg = None + if "background" in pmap: + bkg = pmap["background"] + else: + bkg = sig.Clone(); bkg.Reset() + sf = (data.Integral()-bkg.Integral())/sig.Integral() + sig.Scale(sf) + sig.Add(bkg) + sig.SetFillStyle(0) + sig.SetLineColor(206) + sig.SetLineWidth(3) + sig.SetLineStyle(2) + sig.Draw("HIST SAME") + return (sig,sf) + +def doScaleSigNormData(pspec,pmap,mca): + if "data" not in pmap: return -1.0 + if "signal" not in pmap: return -1.0 + data = pmap["data"] + sig = pmap["signal"].Clone("sig_refloat") + bkg = None + if "background" in pmap: + bkg = pmap["background"] + else: + bkg = sig.Clone(); bkg.Reset() + sf = (data.Integral()-bkg.Integral())/sig.Integral() + signals = [ "signal" ] + mca.listSignals() + for p,h in pmap.iteritems(): + if p in signals: h.Scale(sf) + return sf + +def doNormFit(pspec,pmap,mca): + if "data" not in pmap: return -1.0 + data = pmap["data"] + w = ROOT.RooWorkspace("w","w") + x = w.factory("x[%g,%g]" % (data.GetXaxis().GetXmin(), data.GetXaxis().GetXmax())) + x.setBins(data.GetNbinsX()) + obs = ROOT.RooArgList(w.var("x")) + hdata = pmap['data']; hdata.killbins = False + hmc = mergePlots('htemp', [v for (k,v) in pmap.iteritems() if k != 'data']) + for b in xrange(1,hmc.GetNbinsX()+2): + if hdata.GetBinContent(b) > 0 and hmc.GetBinContent(b) == 0: + if not hdata.killbins: + hdata = hdata.Clone() + hdata.killbins = True + for b2 in xrange(b-1,0,-1): + if hmc.GetBinContent(b2) > 0: + hdata.SetBinContent(b2, hdata.GetBinContent(b2) + hdata.GetBinContent(b)) + hdata.SetBinContent(b, 0) + break + if hdata.GetBinContent(b) > 0: + for b2 in xrange(b+1,hmc.GetNbinsX()+2): + if hmc.GetBinContent(b2) > 0: + hdata.SetBinContent(b2, hdata.GetBinContent(b2) + hdata.GetBinContent(b)) + hdata.SetBinContent(b, 0) + break + if hdata.GetBinContent(b) > 0: hdata.SetBinContent(b, 0) + rdhs = {}; + w.imp = getattr(w, 'import') + for p,h in pmap.iteritems(): + rdhs[p] = ROOT.RooDataHist("hist_"+p,"",obs,h if p != "data" else hdata) + w.imp(rdhs[p]) + pdfs = ROOT.RooArgList() + coeffs = ROOT.RooArgList() + constraints = ROOT.RooArgList() + dontDelete = [] + procNormMap = {} + for p in mca.listBackgrounds() + mca.listSignals(): + if p not in pmap: continue + if pmap[p].Integral() == 0: continue + hpdf = ROOT.RooHistPdf("pdf_"+p,"",ROOT.RooArgSet(x), rdhs[p]) + pdfs.add(hpdf); dontDelete.append(hpdf) + if mca.getProcessOption(p,'FreeFloat',False): + syst = mca.getProcessOption(p,'NormSystematic',0.0) + normterm = w.factory('syst_%s[%g,%g,%g]' % (p, pmap[p].Integral(), 0.2*pmap[p].Integral(), 5*pmap[p].Integral() )) + dontDelete.append((normterm,)) + coeffs.add(normterm) + procNormMap[p] = normterm + elif mca.getProcessOption(p,'NormSystematic',0.0) > 0: + syst = mca.getProcessOption(p,'NormSystematic',0.0) + normterm = w.factory('expr::norm_%s("%g*pow(%g,@0)",syst_%s[-5,5])' % (p, pmap[p].Integral(), 1+syst, p)) + constterm = w.factory('Gaussian::systpdf_%s(syst_%s,0,1)' % (p,p)) + dontDelete.append((normterm,constterm)) + coeffs.add(normterm) + constraints.add(constterm) + procNormMap[p] = normterm + else: + normterm = w.factory('norm_%s[%g]' % (p, pmap[p].Integral())) + dontDelete.append((normterm,)) + coeffs.add(normterm) + pdfs.Print("V") + coeffs.Print("V") + addpdf = ROOT.RooAddPdf("tot","",pdfs,coeffs,False) + model = addpdf + if constraints.getSize() > 0: + constraints.add(addpdf) + model = ROOT.RooProdPdf("prod","",constraints) + result = model.fitTo( rdhs["data"], ROOT.RooFit.Save(1) ) + totsig, totbkg = None, None + if "signal" in pmap and "signal" not in mca.listSignals(): + totsig = pmap["signal"]; totsig.Reset() + if "background" in pmap and "background" not in mca.listBackgrounds(): + totbkg = pmap["background"]; totbkg.Reset() + for p in mca.listBackgrounds() + mca.listSignals(): + if p in pmap and p in procNormMap: + # setthe scale + newscale = procNormMap[p].getVal()/pmap[p].Integral() + pmap[p].Scale(newscale) + # now get the 1 sigma + nuis = w.var("syst_"+p); + val,err = (nuis.getVal(), nuis.getError()) + v0 = procNormMap[p].getVal() + nuis.setVal(val+err) + v1 = procNormMap[p].getVal() + nuis.setVal(val) + #print [ p, val, err, v0, v1, (v1-v0)/v0, mca.getProcessOption(p,'NormSystematic',0.0) ] + mca.setProcessOption(p,'NormSystematic', (v1-v0)/v0); + # recompute totals + if p in pmap: + htot = totsig if mca.isSignal(p) else totbkg + if htot != None: + htot.Add(pmap[p]) + syst = mca.getProcessOption(p,'NormSystematic',0.0) + if syst > 0: + for b in xrange(1,htot.GetNbinsX()+1): + htot.SetBinError(b, hypot(htot.GetBinError(b), pmap[p].GetBinContent(b)*syst)) + +def doRatioHists(pspec,pmap,total,totalSyst,maxRange,fitRatio=False): + numkey = "data" + if "data" not in pmap: + if len(pmap) == 4 and 'signal' in pmap and 'background' in pmap: + # do this first + total.GetXaxis().SetLabelOffset(999) ## send them away + total.GetXaxis().SetTitleOffset(999) ## in outer space + total.GetYaxis().SetLabelSize(0.05) + # then we can overwrite total with background + numkey = 'signal' + total = pmap['background'] + totalSyst = pmap['background'] + else: + return (None,None,None,None) + ratio = None + if hasattr(pmap[numkey], 'poissonGraph'): + ratio = pmap[numkey].poissonGraph.Clone("data_div"); + for i in xrange(ratio.GetN()): + x = ratio.GetX()[i] + div = total.GetBinContent(total.GetXaxis().FindBin(x)) + ratio.SetPoint(i, x, ratio.GetY()[i]/div if div > 0 else 0) + ratio.SetPointError(i, ratio.GetErrorXlow(i), ratio.GetErrorXhigh(i), + ratio.GetErrorYlow(i)/div if div > 0 else 0, + ratio.GetErrorYhigh(i)/div if div > 0 else 0) + else: + ratio = pmap[numkey].Clone("data_div"); + ratio.Divide(total) + unity = totalSyst.Clone("sim_div"); + unity0 = total.Clone("sim_div"); + rmin, rmax = 1,1 + for b in xrange(1,unity.GetNbinsX()+1): + e,e0,n = unity.GetBinError(b), unity0.GetBinError(b), unity.GetBinContent(b) + unity.SetBinContent(b, 1 if n > 0 else 0) + unity.SetBinError(b, e/n if n > 0 else 0) + unity0.SetBinContent(b, 1 if n > 0 else 0) + unity0.SetBinError(b, e0/n if n > 0 else 0) + rmin = min([ rmin, 1-2*e/n if n > 0 else 1]) + rmax = max([ rmax, 1+2*e/n if n > 0 else 1]) + if ratio.ClassName() != "TGraphAsymmErrors": + for b in xrange(1,unity.GetNbinsX()+1): + if ratio.GetBinContent(b) == 0: continue + rmin = min([ rmin, ratio.GetBinContent(b) - 2*ratio.GetBinError(b) ]) + rmax = max([ rmax, ratio.GetBinContent(b) + 2*ratio.GetBinError(b) ]) + else: + for i in xrange(ratio.GetN()): + rmin = min([ rmin, ratio.GetY()[i] - 2*ratio.GetErrorYlow(i) ]) + rmax = max([ rmax, ratio.GetY()[i] + 2*ratio.GetErrorYhigh(i) ]) + if rmin < maxRange[0]: rmin = maxRange[0]; + if rmax > maxRange[1]: rmax = maxRange[1]; + if (rmax > 3 and rmax <= 3.4): rmax = 3.4 + if (rmax > 2 and rmax <= 2.4): rmax = 2.4 + unity.SetFillStyle(1001); + unity.SetFillColor(ROOT.kCyan); + unity.SetMarkerStyle(1); + unity.SetMarkerColor(ROOT.kCyan); + unity0.SetFillStyle(1001); + unity0.SetFillColor(53); + unity0.SetMarkerStyle(1); + unity0.SetMarkerColor(53); + ROOT.gStyle.SetErrorX(0.5); + unity.Draw("E2"); + if fitRatio: + from CMGTools.TTHAnalysis.tools.plotDecorations import fitTGraph + fitTGraph(ratio,order=fitRatio) + unity.SetFillStyle(3013); + unity0.SetFillStyle(3013); + unity.Draw("AXIS SAME"); + unity0.Draw("E2 SAME"); + else: + if total != totalSyst: unity0.Draw("E2 SAME"); + unity.GetYaxis().SetRangeUser(rmin,rmax); + unity.GetXaxis().SetTitleSize(0.14) + unity.GetYaxis().SetTitleSize(0.14) + unity.GetXaxis().SetLabelSize(0.11) + unity.GetYaxis().SetLabelSize(0.11) + unity.GetYaxis().SetNdivisions(505) + unity.GetYaxis().SetDecimals(True) + unity.GetYaxis().SetTitle("Data/Pred.") + unity.GetYaxis().SetTitleOffset(0.52); + total.GetXaxis().SetLabelOffset(999) ## send them away + total.GetXaxis().SetTitleOffset(999) ## in outer space + total.GetYaxis().SetLabelSize(0.05) + #ratio.SetMarkerSize(0.7*ratio.GetMarkerSize()) # no it is confusing + #$ROOT.gStyle.SetErrorX(0.0); + line = ROOT.TLine(unity.GetXaxis().GetXmin(),1,unity.GetXaxis().GetXmax(),1) + line.SetLineWidth(2); + line.SetLineColor(58); + line.Draw("L") + ratio.Draw("E SAME" if ratio.ClassName() != "TGraphAsymmErrors" else "PZ SAME"); + return (ratio, unity, unity0, line) + +def doStatTests(total,data,test,legendCorner): + #print "Stat tests for %s:" % total.GetName() + ksprob = data.KolmogorovTest(total,"XN") + #print "\tKS %.4f" % ksprob + chi2l, chi2p, chi2gq, chi2lp, nb = 0, 0, 0, 0, 0 + for b in xrange(1,data.GetNbinsX()+1): + oi = data.GetBinContent(b) + ei = total.GetBinContent(b) + dei = total.GetBinError(b) + if ei <= 0: continue + nb += 1 + chi2l += - 2*(oi*log(ei/oi)+(oi-ei) if oi > 0 else -ei) + chi2p += (oi-ei)**2 / ei + chi2gq += (oi-ei)**2 /(ei+dei**2) + #chi2lp += + print "\tc2p %.4f (%6.2f/%3d)" % (ROOT.TMath.Prob(chi2p, nb), chi2p, nb) + print "\tc2l %.4f (%6.2f/%3d)" % (ROOT.TMath.Prob(chi2l, nb), chi2l, nb) + print "\tc2qg %.4f (%6.2f/%3d)" % (ROOT.TMath.Prob(chi2gq, nb), chi2gq, nb) + #print "\tc2lp %.4f (%6.2f/%3d)" % (ROOT.TMath.Prob(chi2lp, nb), chi2lp, nb) + chi2s = { "chi2l":chi2l, "chi2p":chi2p, "chi2gq":chi2gq, "chi2lp":chi2lp } + if test in chi2s: + chi2 = chi2s[test] + pval = ROOT.TMath.Prob(chi2, nb) + text = "#chi^{2} p-value %.3f" % pval if pval < 0.02 else "#chi^{2} p-value %.2f" % pval + else: + text = "Unknown test %s" % test + if legendCorner == "TR": + doSpam(text, .30, .85, .48, .93, align=32, textSize=0.05) + elif legendCorner == "TL": + doSpam(text, .75, .85, .93, .93, align=32, textSize=0.05) + + + +legend_ = None; +def doLegend(pmap,mca,corner="TR",textSize=0.035,cutoff=1e-2,cutoffSignals=True,mcStyle="F",legWidth=0.18): + if (corner == None): return + total = sum([x.Integral() for x in pmap.itervalues()]) + sigEntries = []; bgEntries = [] + for p in mca.listSignals(allProcs=True): + if p in pmap and pmap[p].Integral() > (cutoff*total if cutoffSignals else 0): + lbl = mca.getProcessOption(p,'Label',p) + sigEntries.append( (pmap[p],lbl,mcStyle) ) + backgrounds = mca.listBackgrounds(allProcs=True) + backgrounds.reverse() + for p in backgrounds: + if p in pmap and pmap[p].Integral() >= cutoff*total: + lbl = mca.getProcessOption(p,'Label',p) + bgEntries.append( (pmap[p],lbl,mcStyle) ) + nentries = len(sigEntries) + len(bgEntries) + ('data' in pmap) + + (x1,y1,x2,y2) = (.93-legWidth, .75 - textSize*max(nentries-3,0), .93, .93) + if corner == "TR": + (x1,y1,x2,y2) = (.93-legWidth, .75 - textSize*max(nentries-3,0), .93, .93) + elif corner == "BR": + (x1,y1,x2,y2) = (.93-legWidth, .33 + textSize*max(nentries-3,0), .93, .15) + elif corner == "TL": + (x1,y1,x2,y2) = (.2, .75 - textSize*max(nentries-3,0), .2+legWidth, .93) + + leg = ROOT.TLegend(x1,y1,x2,y2) + leg.SetFillColor(0) + leg.SetShadowColor(0) + leg.SetTextFont(42) + leg.SetTextSize(textSize) + if 'data' in pmap: + leg.AddEntry(pmap['data'], 'Data', 'LP') + total = sum([x.Integral() for x in pmap.itervalues()]) + for (plot,label,style) in sigEntries: leg.AddEntry(plot,label,style) + for (plot,label,style) in bgEntries: leg.AddEntry(plot,label,style) + leg.Draw() + ## assign it to a global variable so it's not deleted + global legend_; + legend_ = leg + return leg + +class PlotMaker: + def __init__(self,tdir): + self._options = options + self._dir = tdir + ROOT.gROOT.ProcessLine(".x tdrstyle.cc") + ROOT.gROOT.ProcessLine(".L smearer.cc+") + ROOT.gStyle.SetOptStat(0) + ROOT.gStyle.SetOptTitle(0) + def run(self,mca,cuts,plots,makeStack=True,makeCanvas=True): + sets = [ (None, 'all cuts', cuts.allCuts()) ] + if not self._options.final: + allcuts = cuts.sequentialCuts() + if self._options.nMinusOne: allcuts = cuts.nMinusOneCuts() + for i,(cn,cv) in enumerate(allcuts[:-1]): # skip the last one which is equal to all cuts + cnsafe = "cut_%02d_%s" % (i, re.sub("[^a-zA-Z0-9_.]","",cn.replace(" ","_"))) + sets.append((cnsafe,cn,cv)) + for subname, title, cut in sets: + print "cut set: ",title + dir = self._dir + if subname: + if self._dir.Get(subname): + dir = self._dir.Get(subname) + else: + dir = self._dir.mkdir(subname,title) + dir.cd() + for pspec in plots.plots(): + print " plot: ",pspec.name + pmap = mca.getPlots(pspec,cut,makeSummary=True) + # + # blinding policy + blind = pspec.getOption('Blinded','None') if 'data' in pmap else 'None' + if options.unblind == True: blind = 'None' + xblind = [9e99,-9e99] + if re.match(r'(bin|x)\s*([<>]?)\s*(\+|-)?\d+(\.\d+)?|(\+|-)?\d+(\.\d+)?\s*<\s*(bin|x)\s*<\s*(\+|-)?\d+(\.\d+)?', blind): + xfunc = (lambda h,b: b) if 'bin' in blind else (lambda h,b : h.GetXaxis().GetBinCenter(b)); + test = eval("lambda bin : "+blind) if 'bin' in blind else eval("lambda x : "+blind) + hdata = pmap['data'] + for b in xrange(1,hdata.GetNbinsX()+1): + if test(xfunc(hdata,b)): + #print "blinding bin %d, x = [%s, %s]" % (b, hdata.GetXaxis().GetBinLowEdge(b), hdata.GetXaxis().GetBinUpEdge(b)) + hdata.SetBinContent(b,0) + hdata.SetBinError(b,0) + xblind[0] = min(xblind[0],hdata.GetXaxis().GetBinLowEdge(b)) + xblind[1] = max(xblind[1],hdata.GetXaxis().GetBinUpEdge(b)) + #print "final blinded range x = [%s, %s]" % (xblind[0],xblind[1]) + elif blind != "None": + raise RuntimeError, "Unrecongnized value for 'Blinded' option, stopping here" + # + if not makeStack: + for k,v in pmap.iteritems(): + if v.InheritsFrom("TH1"): v.SetDirectory(dir) + dir.WriteTObject(v) + continue + # + stack = ROOT.THStack(pspec.name+"_stack",pspec.name) + hists = [v for k,v in pmap.iteritems() if k != 'data'] + total = hists[0].Clone(pspec.name+"_total"); total.Reset() + totalSyst = hists[0].Clone(pspec.name+"_totalSyst"); totalSyst.Reset() + if self._options.plotmode == "norm": + if 'data' in pmap: + total.GetYaxis().SetTitle(total.GetYaxis().GetTitle()+" (normalized)") + else: + total.GetYaxis().SetTitle("density/bin") + total.GetYaxis().SetDecimals(True) + if options.scaleSignalToData: doScaleSigNormData(pspec,pmap,mca) + elif options.fitData: doNormFit(pspec,pmap,mca) + # + for k,v in pmap.iteritems(): + if v.InheritsFrom("TH1"): v.SetDirectory(dir) + dir.WriteTObject(v) + # + for p in mca.listBackgrounds(allProcs=True) + mca.listSignals(allProcs=True): + if p in pmap: + plot = pmap[p] + if plot.Integral() <= 0: continue + if mca.isSignal(p): plot.Scale(options.signalPlotScale) + if mca.isSignal(p) and options.noStackSig == True: continue + if self._options.plotmode == "stack": + stack.Add(plot) + total.Add(plot) + totalSyst.Add(plot) + if mca.getProcessOption(p,'NormSystematic',0.0) > 0: + syst = mca.getProcessOption(p,'NormSystematic',0.0) + if "TH1" in plot.ClassName(): + for b in xrange(1,plot.GetNbinsX()+1): + totalSyst.SetBinError(b, hypot(totalSyst.GetBinError(b), syst*plot.GetBinContent(b))) + else: + plot.SetLineColor(plot.GetFillColor()) + plot.SetLineWidth(3) + plot.SetFillStyle(0) + if self._options.plotmode == "norm" and (plot.ClassName()[:2] == "TH"): + ref = pmap['data'].Integral() if 'data' in pmap else 1.0 + plot.Scale(ref/plot.Integral()) + stack.Add(plot) + total.SetMaximum(max(total.GetMaximum(),1.3*plot.GetMaximum())) + if self._options.errors and self._options.plotmode != "stack": + plot.SetMarkerColor(plot.GetFillColor()) + plot.SetMarkerStyle(21) + plot.SetMarkerSize(1.5) + else: + plot.SetMarkerStyle(0) + stack.Draw("GOFF") + stack.GetYaxis().SetTitle(pspec.getOption('YTitle',"Events")) + stack.GetXaxis().SetTitle(pspec.getOption('XTitle',pspec.name)) + stack.GetXaxis().SetNdivisions(pspec.getOption('XNDiv',510)) + dir.WriteTObject(stack) + # + if not makeCanvas and not self._options.printPlots: continue + doRatio = self._options.showRatio and ('data' in pmap or (self._options.plotmode != "stack" and len(pmap) == 4)) and ("TH2" not in total.ClassName()) + islog = pspec.hasOption('Logy'); + # define aspect ratio + if doRatio: ROOT.gStyle.SetPaperSize(20.,25.) + else: ROOT.gStyle.SetPaperSize(20.,20.) + # create canvas + c1 = ROOT.TCanvas(pspec.name+"_canvas", pspec.name, 600, (750 if doRatio else 600)) + c1.Draw() + p1, p2 = c1, None # high and low panes + # set borders, if necessary create subpads + if doRatio: + c1.SetWindowSize(600 + (600 - c1.GetWw()), (750 + (750 - c1.GetWh()))); + p1 = ROOT.TPad("pad1","pad1",0,0.31,1,1); + p1.SetBottomMargin(0); + p1.Draw(); + p2 = ROOT.TPad("pad2","pad2",0,0,1,0.31); + p2.SetTopMargin(0); + p2.SetBottomMargin(0.3); + p2.SetFillStyle(0); + p2.Draw(); + p1.cd(); + else: + c1.SetWindowSize(600 + (600 - c1.GetWw()), 600 + (600 - c1.GetWh())); + p1.SetLogy(islog) + if pspec.hasOption('Logx'): + p1.SetLogx(True) + if p2: p2.SetLogx(True) + total.GetXaxis().SetNoExponent(True) + total.GetXaxis().SetMoreLogLabels(True) + if islog: total.SetMaximum(2*total.GetMaximum()) + if not islog: total.SetMinimum(0) + total.Draw("HIST") + if self._options.plotmode == "stack": + stack.Draw("SAME HIST") + total.Draw("AXIS SAME") + else: + if self._options.errors: + ROOT.gStyle.SetErrorX(0.5) + stack.Draw("SAME E NOSTACK") + else: + stack.Draw("SAME HIST NOSTACK") + if pspec.getOption('MoreY',1.0) > 1.0: + total.SetMaximum(pspec.getOption('MoreY',1.0)*total.GetMaximum()) + if 'data' in pmap: + if options.poisson: + pdata = getDataPoissonErrors(pmap['data'], False, True) + pdata.Draw("PZ SAME") + pmap['data'].poissonGraph = pdata ## attach it so it doesn't get deleted + else: + pmap['data'].Draw("E SAME") + reMax(total,pmap['data'],islog) + if xblind[0] < xblind[1]: + blindbox = ROOT.TBox(xblind[0],total.GetYaxis().GetXmin(),xblind[1],total.GetMaximum()) + blindbox.SetFillColor(ROOT.kBlue+3) + blindbox.SetFillStyle(3944) + blindbox.Draw() + xblind.append(blindbox) # so it doesn't get deleted + if options.doStatTests: + doStatTests(totalSyst, pmap['data'], options.doStatTests, legendCorner=pspec.getOption('Legend','TR')) + if pspec.hasOption('YMin') and pspec.hasOption('YMax'): + total.GetYaxis().SetRangeUser(pspec.getOption('YMin',1.0), pspec.getOption('YMax',1.0)) + legendCutoff = pspec.getOption('LegendCutoff', 1e-5 if c1.GetLogy() else 1e-2) + if self._options.plotmode == "norm": legendCutoff = 0 + doLegend(pmap,mca,corner=pspec.getOption('Legend','TR'), + cutoff=legendCutoff, mcStyle=("F" if self._options.plotmode == "stack" else "L"), + cutoffSignals=not(options.showSigShape or options.showIndivSigShapes or options.showSFitShape), + textSize=(0.045 if doRatio else 0.035), + legWidth=options.legendWidth) + doTinyCmsPrelim(hasExpo = total.GetMaximum() > 9e4 and not c1.GetLogy(),textSize=(0.045 if doRatio else 0.033)) + signorm = None; datnorm = None; sfitnorm = None + if options.showSigShape or options.showIndivSigShapes or options.showIndivSigs: + signorms = doStackSignalNorm(pspec,pmap,options.showIndivSigShapes or options.showIndivSigs,extrascale=options.signalPlotScale, norm=not options.showIndivSigs) + for signorm in signorms: + signorm.SetDirectory(dir); dir.WriteTObject(signorm) + reMax(total,signorm,islog) + if options.showDatShape: + datnorm = doDataNorm(pspec,pmap) + if datnorm != None: + datnorm.SetDirectory(dir); dir.WriteTObject(datnorm) + reMax(total,datnorm,islog) + if options.showSFitShape: + (sfitnorm,sf) = doStackSigScaledNormData(pspec,pmap) + if sfitnorm != None: + sfitnorm.SetDirectory(dir); dir.WriteTObject(sfitnorm) + reMax(total,sfitnorm,islog) + if options.flagDifferences and len(pmap) == 4: + new = pmap['signal'] + ref = pmap['background'] + if "TH1" in new.ClassName(): + for b in xrange(1,new.GetNbinsX()+1): + if new.GetBinContent(b) != ref.GetBinContent(b): + print "Plot: difference found in %s, bin %d" % (pspec.name, b) + p1.SetFillColor(ROOT.kYellow-10) + if p2: p2.SetFillColor(ROOT.kYellow-10) + break + if makeCanvas: dir.WriteTObject(c1) + rdata,rnorm,rnorm2,rline = (None,None,None,None) + if doRatio: + p2.cd(); + rdata,rnorm,rnorm2,rline = doRatioHists(pspec,pmap,total,totalSyst, maxRange=options.maxRatioRange, fitRatio=options.fitRatio) + if self._options.printPlots: + for ext in self._options.printPlots.split(","): + fdir = self._options.printDir; + if subname: fdir += "/"+subname; + if not os.path.exists(fdir): + os.makedirs(fdir); + if os.path.exists("/afs/cern.ch"): os.system("cp /afs/cern.ch/user/g/gpetrucc/php/index.php "+fdir) + if ext == "txt": + dump = open("%s/%s.%s" % (fdir, pspec.name, ext), "w") + maxlen = max([len(mca.getProcessOption(p,'Label',p)) for p in mca.listSignals(allProcs=True) + mca.listBackgrounds(allProcs=True)]+[7]) + fmt = "%%-%ds %%9.2f +/- %%9.2f (stat)" % (maxlen+1) + for p in mca.listSignals(allProcs=True) + mca.listBackgrounds(allProcs=True) + ["signal", "background"]: + if p not in pmap: continue + plot = pmap[p] + if plot.Integral() <= 0: continue + norm = plot.Integral() + stat = sqrt(sum([plot.GetBinError(b)**2 for b in xrange(1,plot.GetNbinsX()+1)])) + syst = norm * mca.getProcessOption(p,'NormSystematic',0.0) if p not in ["signal", "background"] else 0; + if p == "signal": dump.write(("-"*(maxlen+45))+"\n"); + dump.write(fmt % (mca.getProcessOption(p,'Label',p) if p not in ["signal", "background"] else p.upper(), norm, stat)) + if syst: dump.write(" +/- %9.2f (syst)" % syst) + dump.write("\n") + if 'data' in pmap: + dump.write(("-"*(maxlen+45))+"\n"); + dump.write(("%%%ds %%7.0f\n" % (maxlen+1)) % ('DATA', pmap['data'].Integral())) + dump.close() + else: + if "TH2" in total.ClassName() or "TProfile2D" in total.ClassName(): + for p in mca.listSignals(allProcs=True) + mca.listBackgrounds(allProcs=True) + ["signal", "background"]: + if p not in pmap: continue + plot = pmap[p] + c1.SetRightMargin(0.20) + plot.SetContour(100) + plot.Draw("COLZ") + c1.Print("%s/%s_%s.%s" % (fdir, pspec.name, p, ext)) + else: + c1.Print("%s/%s.%s" % (fdir, pspec.name, ext)) + c1.Close() +def addPlotMakerOptions(parser): + addMCAnalysisOptions(parser) + parser.add_option("--ss", "--scale-signal", dest="signalPlotScale", default=1.0, type="float", help="scale the signal in the plots by this amount"); + #parser.add_option("--lspam", dest="lspam", type="string", default="CMS Simulation", help="Spam text on the right hand side"); + parser.add_option("--lspam", dest="lspam", type="string", default="CMS Preliminary", help="Spam text on the right hand side"); + parser.add_option("--rspam", dest="rspam", type="string", default="#sqrt{s} = 13 TeV, L = %(lumi).1f fb^{-1}", help="Spam text on the right hand side"); + parser.add_option("--print", dest="printPlots", type="string", default="png,pdf,txt", help="print out plots in this format or formats (e.g. 'png,pdf,txt')"); + parser.add_option("--pdir", "--print-dir", dest="printDir", type="string", default="plots", help="print out plots in this directory"); + parser.add_option("--showSigShape", dest="showSigShape", action="store_true", default=False, help="Superimpose a normalized signal shape") + parser.add_option("--showIndivSigShapes", dest="showIndivSigShapes", action="store_true", default=False, help="Superimpose normalized shapes for each signal individually") + parser.add_option("--showIndivSigs", dest="showIndivSigs", action="store_true", default=False, help="Superimpose shapes for each signal individually (normalized to their expected event yield)") + parser.add_option("--noStackSig", dest="noStackSig", action="store_true", default=False, help="Don't add the signal shape to the stack (useful with --showSigShape)") + parser.add_option("--showDatShape", dest="showDatShape", action="store_true", default=False, help="Stack a normalized data shape") + parser.add_option("--showSFitShape", dest="showSFitShape", action="store_true", default=False, help="Stack a shape of background + scaled signal normalized to total data") + parser.add_option("--showRatio", dest="showRatio", action="store_true", default=False, help="Add a data/sim ratio plot at the bottom") + parser.add_option("--fitRatio", dest="fitRatio", type="int", default=False, help="Fit the ratio with a polynomial of the specified order") + parser.add_option("--scaleSigToData", dest="scaleSignalToData", action="store_true", default=False, help="Scale all signal processes so that the overall event yield matches the observed one") + parser.add_option("--fitData", dest="fitData", action="store_true", default=False, help="Perform a fit to the data") + parser.add_option("--maxRatioRange", dest="maxRatioRange", type="float", nargs=2, default=(0.0, 5.0), help="Min and max for the ratio") + parser.add_option("--doStatTests", dest="doStatTests", type="string", default=None, help="Do this stat test: chi2p (Pearson chi2), chi2l (binned likelihood equivalent of chi2)") + parser.add_option("--plotmode", dest="plotmode", type="string", default="stack", help="Show as stacked plot (stack), a non-stacked comparison (nostack) and a non-stacked comparison of normalized shapes (norm)") + parser.add_option("--rebin", dest="globalRebin", type="int", default="0", help="Rebin all plots by this factor") + parser.add_option("--poisson", dest="poisson", action="store_true", default=False, help="Draw Poisson error bars") + parser.add_option("--unblind", dest="unblind", action="store_true", default=False, help="Unblind plots irrespectively of plot file") + parser.add_option("--select-plot", "--sP", dest="plotselect", action="append", default=[], help="Select only these plots out of the full file") + parser.add_option("--exclude-plot", "--xP", dest="plotexclude", action="append", default=[], help="Exclude these plots from the full file") + parser.add_option("--legendWidth", dest="legendWidth", type="float", default=0.25, help="Width of the legend") + parser.add_option("--flagDifferences", dest="flagDifferences", action="store_true", default=False, help="Flag plots that are different (when using only two processes, and plotmode nostack") + +if __name__ == "__main__": + from optparse import OptionParser + parser = OptionParser(usage="%prog [options] mc.txt cuts.txt plots.txt") + addPlotMakerOptions(parser) + parser.add_option("-o", "--out", dest="out", default=None, help="Output file name. by default equal to plots -'.txt' +'.root'"); + (options, args) = parser.parse_args() + mca = MCAnalysis(args[0],options) + cuts = CutsFile(args[1],options) + plots = PlotFile(args[2],options) + outname = options.out if options.out else (args[2].replace(".txt","")+".root") + if (not options.out) and options.printDir: + outname = options.printDir + "/"+os.path.basename(args[2].replace(".txt","")+".root") + if os.path.dirname(outname) and not os.path.exists(os.path.dirname(outname)): + os.system("mkdir -p "+os.path.dirname(outname)) + if os.path.exists("/afs/cern.ch"): os.system("cp /afs/cern.ch/user/g/gpetrucc/php/index.php "+os.path.dirname(outname)) + print "Will save plots to ",outname + fcut = open(re.sub("\.root$","",outname)+"_cuts.txt","w") + fcut.write("%s\n" % cuts); fcut.close() + os.system("cp %s %s " % (args[2], re.sub("\.root$","",outname)+"_plots.txt")) + os.system("cp %s %s " % (args[0], re.sub("\.root$","",outname)+"_mca.txt")) + #fcut = open(re.sub("\.root$","",outname)+"_cuts.txt") + #fcut.write(cuts); fcut.write("\n"); fcut.close() + outfile = ROOT.TFile(outname,"RECREATE") + plotter = PlotMaker(outfile) + plotter.run(mca,cuts,plots) + outfile.Close() + + diff --git a/CMGTools/MonoXAnalysis/python/plotter/mca-Phys14.txt b/CMGTools/MonoXAnalysis/python/plotter/mca-Phys14.txt new file mode 100644 index 000000000000..47dd097bfffd --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/mca-Phys14.txt @@ -0,0 +1,54 @@ +# MonoJet samples +X10V+: Monojet_M_10_V : 1.0; FillColor=ROOT.kRed-9, Label="X_{V} 10 GeV" +#X100V+: Monojet_M_100_V : 1.0; FillColor=ROOT.kRed-8, Label="X_{V} 100 GeV" +#X1000V+: Monojet_M_1000_V : 1.0; FillColor=ROOT.kRed-7, Label="X_{V} 1000 GeV" + +#X1AV+: Monojet_M_1_AV : 1.0; FillColor=ROOT.kViolet-9, Label="MJ^{AV} 1 GeV" +#X10AV+: Monojet_M_10_AV : 1.0; FillColor=ROOT.kViolet-8, Label="MJ^{AV} 10 GeV" +#X100AV+: Monojet_M_100_AV : 1.0; FillColor=ROOT.kViolet-7, Label="MJ^{AV} 100 GeV" +#X1000AV+: Monojet_M_1000_AV : 1.0; FillColor=ROOT.kViolet-6, Label="MJ^{AV} 1000 GeV" + +# -- Z->nunu Background -- +ZNuNu : ZJetsToNuNu_HT100to200 : xsec; FillColor=ROOT.kAzure-9, Label="Z\#nu\#nu+jets", NormSystematic=0.2 +ZNuNu : ZJetsToNuNu_HT200to400 : xsec; FillColor=ROOT.kAzure-9, Label="Z\#nu\#nu+jets", NormSystematic=0.2 +ZNuNu : ZJetsToNuNu_HT400to600 : xsec; FillColor=ROOT.kAzure-9, Label="Z\#nu\#nu+jets", NormSystematic=0.2 +ZNuNu : ZJetsToNuNu_HT600toInf : xsec; FillColor=ROOT.kAzure-9, Label="Z\#nu\#nu+jets", NormSystematic=0.2 + +# -- W+jets background -- +WJets : WJetsToLNu_HT100to200 : xsec; Label="W+jets", FillColor=ROOT.kAzure+3, NormSystematic=0.5 +WJets : WJetsToLNu_HT200to400 : xsec; Label="W+jets", FillColor=ROOT.kAzure+3, NormSystematic=0.5 +WJets : WJetsToLNu_HT400to600 : xsec; Label="W+jets", FillColor=ROOT.kAzure+3, NormSystematic=0.5 +WJets : WJetsToLNu_HT600toInf : xsec; Label="W+jets", FillColor=ROOT.kAzure+3, NormSystematic=0.5 + +# -- Z->ll background -- (to be processed) +DYJets : DYJetsToLL_M50_HT100to200 : xsec; Label="Z+jets", FillColor=ROOT.kCyan, NormSystematic=0.5 +DYJets : DYJetsToLL_M50_HT200to400 : xsec; Label="Z+jets", FillColor=ROOT.kCyan, NormSystematic=0.5 +DYJets : DYJetsToLL_M50_HT400to600 : xsec; Label="Z+jets", FillColor=ROOT.kCyan, NormSystematic=0.5 +DYJets : DYJetsToLL_M50_HT600toInf : xsec; Label="Z+jets", FillColor=ROOT.kCyan, NormSystematic=0.5 + +# -- photon + jets background -- +GJets : GJets_HT100to200 : xsec; Label="\#gamma+jets", FillColor=ROOT.kCyan+2, NormSystematic=0.5 +GJets : GJets_HT200to400 : xsec; Label="\#gamma+jets", FillColor=ROOT.kCyan+2, NormSystematic=0.5 +GJets : GJets_HT400to600 : xsec; Label="\#gamma+jets", FillColor=ROOT.kCyan+2, NormSystematic=0.5 +GJets : GJets_HT600toInf : xsec; Label="\#gamma+jets", FillColor=ROOT.kCyan+2, NormSystematic=0.5 + +# -- QCD multijets -- +#QCD : QCD_HT_100To250 : xsec; Label="QCD", FillColor=ROOT.kGray, NormSystematic=0.5 +#QCD : QCD_HT_250To500 : xsec; Label="QCD", FillColor=ROOT.kGray, NormSystematic=0.5 +#QCD : QCD_HT_250To500_ext1 : xsec; Label="QCD", FillColor=ROOT.kGray, NormSystematic=0.5 +#QCD : QCD_HT_500To1000 : xsec; Label="QCD", FillColor=ROOT.kGray, NormSystematic=0.5 +#QCD : QCD_HT_500To1000_ext1 : xsec; Label="QCD", FillColor=ROOT.kGray, NormSystematic=0.5 +#QCD : QCD_HT_1000ToInf : xsec; Label="QCD", FillColor=ROOT.kGray, NormSystematic=0.5 +#QCD : QCD_HT_1000ToInf_ext1 : xsec; Label="QCD", FillColor=ROOT.kGray, NormSystematic=0.5 + +# -- TTbar background +Top : TTJets: xsec ; FillColor=ROOT.kGreen+3, Label="tt", NormSystematic=0.5 + +# Single Top and Top+W associated prod. +Top : T_tWch: xsec; FillColor=ROOT.kGreen-7, Label="single t", NormSystematic=0.2 +Top : TBar_tWch: xsec; FillColor=ROOT.kGreen-7, Label="single t", NormSystematic=0.2 +Top : TToLeptons_tch: xsec ; FillColor=ROOT.kGreen-7, Label="single t", NormSystematic=0.2 +Top : TBarToLeptons_tch: xsec ; FillColor=ROOT.kGreen-7, Label="single t", NormSystematic=0.2 +Top : TToLeptons_sch: xsec ; FillColor=ROOT.kGreen-7, Label="single t", NormSystematic=0.2 +Top : TBarToLeptons_sch: xsec ; FillColor=ROOT.kGreen-7, Label="single t", NormSystematic=0.2 + diff --git a/CMGTools/MonoXAnalysis/python/plotter/monojet.sh b/CMGTools/MonoXAnalysis/python/plotter/monojet.sh new file mode 100755 index 000000000000..1f1dbacc1044 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/monojet.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +WHAT=$1; if [[ "$1" == "" ]]; then echo "monojet.sh "; exit 1; fi + +if [[ "$HOSTNAME" == "cmsphys06" ]]; then + T="/data1/emanuele/monox/TREES_150515_MET200SKIM"; + J=6; +else + T="/cmshome/dimarcoe/TREES_060515_MET200SKIM"; + J=6; +fi +COREOPT="-P $T --s2v -j $J -l 5.0" +COREY="mcAnalysis.py ${COREOPT} -G " +COREP="mcPlots.py ${COREOPT} -f --poisson " +FEV=" -F mjvars/t \"$T/0_eventvars_mj_v1/evVarFriend_{cname}.root\" " + +ROOT="plots/050515/v1.0/$WHAT" + +RUNY="${COREY} mca-Phys14.txt --s2v " +RUNYSR="${RUNY} sr/monojet.txt " + +PLOT="${COREP} mca-Phys14.txt --s2v " +PLOTSR="${PLOT} sr/monojet.txt sr/monojet-plots.txt --noStackSig --showSigShape " + +case $WHAT in +sr) + #SF="-W 'puWeight'" + SF=" " + echo "python ${RUNYSR} $FEV $SF " + echo "python ${PLOTSR} $FEV $SF --pdir plots/sr " +;; +wmunu) + echo "python ${RUNY} control-samples/w_munu.txt $FEV --sp WJets --xp M10V " + echo "python ${PLOT} control-samples/w_munu.txt control-samples/w_munu-plots.txt $FEV --sp WJets --xp M10V --pdir plots/wmunu " +;; +zmumu) + echo "python ${RUNY} control-samples/zmumu.txt $FEV --sp DYJets --xp M10V " + echo "python ${PLOT} control-samples/zmumu.txt control-samples/zmumu-plots.txt $FEV --sp DYJets --xp M10V --pdir plots/zmumu " +esac; diff --git a/CMGTools/MonoXAnalysis/python/plotter/projections.py b/CMGTools/MonoXAnalysis/python/plotter/projections.py new file mode 100644 index 000000000000..c0ce163358f8 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/projections.py @@ -0,0 +1,58 @@ +from math import * +import re + +class Projections: + def __init__(self,name,options): + self._scenario = 2 if "scenario2" in name else (3 if "scenario3" in name else 1) + self._tolumi = options.lumi + lm = re.search(r"(\d+(\.\d+)?)fb", name) + if lm: self._tolumi = float(lm.group(1)) + self._energy = 14 if "14TeV" in name else 8 + self._lumi = options.lumi + def scaleYield(self,process): + factor = self._tolumi / self._lumi; + if self._energy == 14: + if process in [ "QF_data", "FR_data", "TT", "TTG" ]: + factor *= 946.6/248.9 + elif "ttH" in process: + factor *= 0.6113/0.1271 + elif process == "TTW": + factor *= 0.769/0.208 + elif process in [ "TTZ", "TTGStar", "TTWW" ]: + factor *= 0.958/0.207 + elif process in [ "ZZ", ]: + factor *= 2.64949/1.21944 + elif process in [ "WZ", ]: + factor *= 2.79381/1.23344 + elif process in [ "VVV", "WWW", "WWZ"]: + factor *= 2.5 ## MG5: WWW = 2.46, WWZ = 2.67 + elif process == "TBZ": + factor *= 2.8 ## MG5 + elif process == "WWqq": + factor *= 2.7 ## MG5 + else: + factor = 3 ## FIXME + return factor + def scaleReport(self,report): + for key in report.keys(): + sf = self.scaleYield(key) + for i,(cut,(n,e)) in enumerate(report[key]): + report[key][i][1][0] *= sf + report[key][i][1][1] *= sf + def scalePlots(self,plots): + for key in plots.keys(): + sf = self.scaleYield(key) + plots[key].Scale(sf) + def scaleSyst(self,name,value): + if self._scenario == 1: + return value + if self._scenario == 2: + for N in [ "QCDscale_", "pdf_", "thu_" ]: + if N in name: return sqrt(value) + return pow(value, 1.0 / sqrt(self._tolumi / self._lumi)) + def scaleSystTemplate(self,name,nominal,alternate): + for b in xrange(1,nominal.GetNbinsX()+1): + y0 = nominal.GetBinContent(b) + yA = alternate.GetBinContent(b) + if yA != 0 and y0 != 0: + alternate.SetBinContent(b, y0 * self.scaleSyst(name,yA/y0)) diff --git a/CMGTools/MonoXAnalysis/python/plotter/smearer.cc b/CMGTools/MonoXAnalysis/python/plotter/smearer.cc new file mode 100644 index 000000000000..0167abc913ba --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/smearer.cc @@ -0,0 +1,7 @@ +#include +#include + +TRandom *gSmearer_ = new TRandom3(0); + +void smearer() { +} diff --git a/CMGTools/MonoXAnalysis/python/plotter/smearer.h b/CMGTools/MonoXAnalysis/python/plotter/smearer.h new file mode 100644 index 000000000000..321186e0a5ad --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/smearer.h @@ -0,0 +1,21 @@ +#ifndef TTHAnalysis_plotter_smearer_h +#define TTHAnalysis_plotter_smearer_h +#include +#include + + +extern TRandom *gSmearer_; +inline double smearMC(double x, double mu, double sigma) { + return x + gSmearer_->Gaus(mu,sigma); +} +inline double logSmearMC(double x, double mu, double sigma) { + return std::exp(std::log(x) + gSmearer_->Gaus(mu,sigma)); +} +inline double shiftMC(double x, double delta) { + return x + delta; +} +inline double scaleShiftMC(double x, double scale, double shift) { + return x*scale + shift; +} + +#endif diff --git a/CMGTools/MonoXAnalysis/python/plotter/sr/monojet-plots.txt b/CMGTools/MonoXAnalysis/python/plotter/sr/monojet-plots.txt new file mode 100644 index 000000000000..3b0f269f03db --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/sr/monojet-plots.txt @@ -0,0 +1,17 @@ +#nvtx: nVert: 40,0.5,40.5 ; XTitle="N(vertices)", Legend='TR' +met: metNoMu_pt: [200,250,300,350,400,500,650,1000] ; XTitle="E_{T}^{miss} [GeV]",Logy,LegendCutoff=1e-3, YMin=1, YMax=1e7 +j1pt: Jet1_pt: [110,160,210,260,310,360,410,500,650,800,1000]; XTitle="Leading jet p_{T} [GeV]", Legend='TR',Logy,LegendCutoff=1e-3, YMin=1, YMax=1e7 +#j1eta: Jet1_eta: 40,-2.5,2.5; XTitle="Leading jet #eta", Legend='TR',Logy,LegendCutoff=1e-3, YMin=1, YMax=1e7 +j2pt: Jet2_pt: [30,80,130,180,230,300,400,550,700,1000]; XTitle="Trailing jet p_{T} [GeV]", Legend='TR',Logy,LegendCutoff=1e-3, YMin=1, YMax=1e7 +#j2eta: Jet2_eta: 40,-2.5,2.5; XTitle="Trailing jet #eta", Legend='TR',Logy,LegendCutoff=1e-3, YMin=1, YMax=1e7 +dphijmet: abs(deltaPhi(Jet1_phi, met_phi)): 6,0,3.1416; XTitle="#Delta#phi(jm)", MoreY=1.5, Legend='TL' +nbj: nBJetMedium25: 3,-0.5,2.5; XTitle="n b-jets medium WP", Legend='TR' +j1qgl: Jet1_qgl: 40,0.0,1.0; XTitle="Leading jet QGL", Legend='TR' +j2qgl: Jet2_qgl: 40,0.0,1.0; XTitle="Trailing jet QGL", Legend='TR' +#j1ptd: Jet1_ptd: 40,0.0,1.0; XTitle="Leading jet p_{T}D", Legend='TR' +#j2ptd: Jet2_ptd: 40,0.0,1.0; XTitle="Trailing jet p_{T}D", Legend='TR' +#j1mult: Jet1_mult: 60,0.0,60.0; XTitle="Leading jet number of constituents", Legend='TR' +#j2mult: Jet2_mult: 40,0.0,40.0; XTitle="Trailing jet number of constituents", Legend='TR' +#j1axis2: Jet1_axis2: 40,0.0,4.0; XTitle="Leading jet axis 2", Legend='TR' +#j2axis2: Jet2_axis2: 40,0.0,4.0; XTitle="Trailing jet axis 2", Legend='TR' + diff --git a/CMGTools/MonoXAnalysis/python/plotter/sr/monojet.txt b/CMGTools/MonoXAnalysis/python/plotter/sr/monojet.txt new file mode 100644 index 000000000000..afcffdebe6c2 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/sr/monojet.txt @@ -0,0 +1,8 @@ +2j: (nJet30 == 1 || nJet30 == 2) && jetclean > 0.5 +pt110: Jet1_pt>110 +dphi jj: nJet30 == 1 || (nJet==2 && abs(dphijj)<2.5) +photon veto: nGamma15V==0 +lep veto: nMu10V==0 && nEle10V==0 && nTau15V==0 + + + diff --git a/CMGTools/MonoXAnalysis/python/plotter/systsEnv.txt b/CMGTools/MonoXAnalysis/python/plotter/systsEnv.txt new file mode 100644 index 000000000000..12edb9699d1f --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/systsEnv.txt @@ -0,0 +1,38 @@ +# luminosity +lumi_13TeV : .*X.*|Top|DYJets|GJets|QCD : .* : 1.026 + +# common theoretical uncertainties (fully correlated everywhere) +#QCDscale_X : X.* : .* : 1.06 +#pdf_qqbar : X.* : .* : 1.072 + +# normalization theoretical uncertainties +CMS_X1j_xsec_X : X.* : .* : 1.200 + +# shape theoretical uncertainties (private to this channel) +CMS_X1j_pdf_shape_X : X.* : .* : 1.03: shapeOnly +CMS_X1j_pdf_shape_ZNuNu : X.* : .* : 1.10: shapeOnly +CMS_X1j_pdf_shape_WLNu : X.* : .* : 1.10: shapeOnly +CMS_X1j_pdf_shape_Top : X.* : .* : 1.10: shapeOnly +CMS_X1j_pdf_shape_QCD : X.* : .* : 1.50: shapeOnly + +# background estimates from data +CMS_X1j_Estimate_ZNuNu_Stat_10 : ZNuNu : .* : 1.09626 +CMS_X1j_Estimate_ZNuNu_SF_10 : ZNuNu : .* : 1.01049 +CMS_X1j_Estimate_ZNuNu_BKG : ZNuNu : .* : 1.020 + +CMS_X1j_Estimate_WJets_Stat_10 : WJets : .* : 1.04034 +CMS_X1j_Estimate_WJets_SF_10 : WJets : .* : 1.01595 +CMS_X1j_Estimate_WJets_BKG : WJets : .* : 1.020 + +CMS_X1j_Estimate_MuSF : DYJets : .* : 1.020 +CMS_X1j_Estimate_MuSF : WJets : .* : 1.010 + +CMS_X1j_Estimate_DYJets : DYJets : .* : 1.200 +CMS_X1j_Estimate_Top : Top : .* : 1.200 +CMS_X1j_Estimate_QCD : QCD|GJets : .* : 1.600 + +# acceptance uncertainties +CMS_X1j_Estimate_WJets_AE : WJets : .* : 1.050 + +# Jet energy scale uncertainties + diff --git a/CMGTools/MonoXAnalysis/python/plotter/tdrstyle.cc b/CMGTools/MonoXAnalysis/python/plotter/tdrstyle.cc new file mode 100644 index 000000000000..2b1db2ea9d23 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/tdrstyle.cc @@ -0,0 +1,174 @@ +// +// TDR style macro for plots in ROOT +// .L tdrstyle.C +// setTDRStyle() +// +#include +#include + +// 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(bool force) { +// 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: + if (force) { + // 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.18); + gStyle->SetPadRightMargin(0.04); + +// 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.35); + // 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(); + +} + +void tdrstyle(bool force=true) { + setTDRStyle(force); +} diff --git a/CMGTools/MonoXAnalysis/python/plotter/tree2yield.py b/CMGTools/MonoXAnalysis/python/plotter/tree2yield.py new file mode 100644 index 000000000000..6980273562f4 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/plotter/tree2yield.py @@ -0,0 +1,495 @@ +#!/usr/bin/env python +from math import * +import re +import os, os.path +from array import array + +## safe batch mode +import sys +args = sys.argv[:] +sys.argv = ['-b'] +import ROOT +sys.argv = args +ROOT.gROOT.SetBatch(True) + +from copy import * + +from CMGTools.TTHAnalysis.plotter.mcCorrections import * +from CMGTools.TTHAnalysis.plotter.fakeRate import * + +if "/functions_cc.so" not in ROOT.gSystem.GetLibraries(): + ROOT.gROOT.ProcessLine(".L %s/src/CMGTools/MonoXAnalysis/python/plotter/functions.cc+" % os.environ['CMSSW_BASE']); + +def scalarToVector(x): + x0 = x + x = re.sub(r"(LepGood|Lep|JetFwd|Jet|GenTop|SV)(\d)_(\w+)", lambda m : "%s_%s[%d]" % (m.group(1),m.group(3),int(m.group(2))-1), x) + x = re.sub(r"\bmet\b", "met_pt", x) + return x + +class CutsFile: + def __init__(self,txtfileOrCuts,options=None): + if type(txtfileOrCuts) == list: + self._cuts = deepcopy(txtfileOrCuts[:]) + elif isinstance(txtfileOrCuts,CutsFile): + self._cuts = deepcopy(txtfileOrCuts.cuts()) + else: + self._cuts = [] + file = open(txtfileOrCuts, "r") + if not file: raise RuntimeError, "Cannot open "+txtfileOrCuts+"\n" + for cr,cn,cv in options.cutsToAdd: + if re.match(cr,"entry point"): self._cuts.append((cn,cv)) + for line in file: + try: + if len(line.strip()) == 0 or line.strip()[0] == '#': continue + while line.strip()[-1] == "\\": + line = line.strip()[:-1] + file.next() + (name,cut) = [x.strip().replace(";",":") for x in line.replace("\:",";").split(":")] + if name == "entry point" and cut == "1": continue + if options.startCut and not re.search(options.startCut,name): continue + if options.startCut and re.search(options.startCut,name): options.startCut = None + self._cuts.append((name,cut)) + for cr,cn,cv in options.cutsToAdd: + if re.match(cr,name): self._cuts.append((cn,cv)) + if options.upToCut and re.search(options.upToCut,name): + break + except ValueError, e: + print "Error parsing cut line [%s]" % line.strip() + raise + for ci in options.cutsToInvert: self.invert(ci) + for ci in options.cutsToExclude: self.remove(ci) + for cr,cn,cv in options.cutsToReplace: self.replace(cr,cn,cv) + def __str__(self): + newstring = "" + for cut in self._cuts: + newstring += "{0} : {1}\n".format(cut[0],cut[1]) + return newstring[:-1] + def remove(self,cut): + self._cuts = [(cn,cv) for (cn,cv) in self._cuts if not re.search(cut,cn)] + return self + def invert(self,cut): + for i,(cn,cv) in enumerate(self._cuts[:]): + if re.search(cut,cn): + if cn.startswith("not ") and re.match(r"!\(.*\)", cv): + self._cuts[i] = (cn[4:], cv[2:-1]) + else: + self._cuts[i] = ("not "+cn, "!("+cv+")") + return self + def replace(self,cut,newname,newcut): + for i,(cn,cv) in enumerate(self._cuts[:]): + if re.search(cut,cn): + self._cuts[i] = (newname, newcut) + return self + def cuts(self): + return self._cuts[:] + def sequentialCuts(self): + if len(self._cuts) == 0: return [] + ret = [ (self._cuts[0][0], "(%s)" % self._cuts[0][1]) ] + for (cn,cv) in self._cuts[1:]: + ret.append( ( cn, "%s && (%s)" % (ret[-1][1], cv) ) ) + return ret + def nMinusOne(self): + return CutsFile(self.nMinusOneCuts()) + def nMinusOneCuts(self): + ret = [] + for cn,cv in self._cuts[1:]: + nm1 = " && ".join("(%s)" % cv1 for cn1,cv1 in self._cuts if cn1 != cn) + ret.append(("all but "+cn, nm1)) + return ret + def allCuts(self,n=-1): + return " && ".join("(%s)" % x[1] for x in (self._cuts[0:n+1] if n != -1 and n+1 < len(self._cuts) else self._cuts)) + def addAfter(self,cut,newname,newcut): + for i,(cn,cv) in enumerate(self._cuts[:]): + if re.search(cut,cn): + self._cuts.insert(i+1,(newname, newcut)) + break + return self + def insert(self,index,newname,newcut): + self._cuts.insert(index,(newname, newcut)) + return self + def add(self,newname,newcut): + self._cuts.append((newname,newcut)) + return self + def setParams(self,paramMap): + self._cuts = [ (cn.format(**paramMap), cv.format(**paramMap)) for (cn,cv) in self._cuts ] + def cartesianProduct(self,other): + return CutsFile( [ ("%s && %s" % (cn1,cn2), "(%s) && (%s)" % (cv1,cv2)) for (cn1,cv1) in self._cuts for (cn2,cv2) in other.cuts() ] ) + +class PlotSpec: + def __init__(self,name,expr,bins,opts): + self.name = name + self.expr = expr + self.bins = bins + self.opts = opts + def hasOption(self,name): + return (name in self.opts) + def getOption(self,name,default=None): + return self.opts[name] if (name in self.opts) else default + +class TreeToYield: + def __init__(self,root,options,scaleFactor=1.0,name=None,cname=None,settings={},treename=None): + self._name = name if name != None else root + self._cname = cname if cname != None else self._name + self._fname = root + self._isInit = False + self._options = options + self._treename = treename if treename else options.tree + self._weight = (options.weight and 'data' not in self._name and '2012' not in self._name and '2011' not in self._name ) + self._isdata = 'data' in self._name + self._weightString = options.weightString if not self._isdata else "1" + self._scaleFactor = scaleFactor + self._fullYield = 0 # yield of the full sample, as if it passed the full skim and all cuts + self._settings = settings + loadMCCorrections(options) ## make sure this is loaded + self._mcCorrs = globalMCCorrections() ## get defaults + if 'SkipDefaultMCCorrections' in settings: ## unless requested to + self._mcCorrs = [] ## skip them + if self._isdata: + self._mcCorrs = [c for c in self._mcCorrs if c.alsoData] ## most don't apply to data, some do + if 'MCCorrections' in settings: + self._mcCorrs = self._mcCorrs[:] # make copy + for cfile in settings['MCCorrections'].split(','): + self._mcCorrs.append( MCCorrections(cfile) ) + if 'FakeRate' in settings: + self._FR = FakeRate(settings['FakeRate']) + ## add additional weight correction + self._weightString += "* (" + self.adaptDataMCExpr(self._FR.weight()) + ")" + ## modify cuts to get to control region + self._mcCorrs = self._mcCorrs + self._FR.cutMods() + self._FR.mods() + self._weight = True + #print "Done creation %s for task %s in pid %d " % (self._fname, self._name, os.getpid()) + def setScaleFactor(self,scaleFactor): + self._scaleFactor = scaleFactor + def getScaleFactor(self): + return self._scaleFactor + def setFullYield(self,fullYield): + self._fullYield = fullYield + def name(self): + return self._name + def cname(self): + return self._cname + def hasOption(self,name): + return (name in self._settings) + def getOption(self,name,default=None): + if name in self._settings: return self._settings[name] + return default + def setOption(self,name,value): + self._settings[name] = value + def adaptDataMCExpr(self,expr): + ret = expr + if self._isdata: + ret = re.sub(r'\$MC\{.*?\}', '', re.sub(r'\$DATA\{(.*?)\}', r'\1', expr)); + else: + ret = re.sub(r'\$DATA\{.*?\}', '', re.sub(r'\$MC\{(.*?)\}', r'\1', expr)); + return ret + def adaptExpr(self,expr,cut=False): + ret = self.adaptDataMCExpr(expr) + for mcc in self._mcCorrs: + ret = mcc(ret,self._name,self._cname,cut) + return ret + def _init(self): + if "root://" in self._fname: + ROOT.gEnv.SetValue("TFile.AsyncReading", 1); + ROOT.gEnv.SetValue("XNet.Debug", -1); # suppress output about opening connections + #self._tfile = ROOT.TFile.Open(self._fname+"?readaheadsz=200000") # worse than 65k + #self._tfile = ROOT.TFile.Open(self._fname+"?readaheadsz=32768") # worse than 65k + self._tfile = ROOT.TFile.Open(self._fname+"?readaheadsz=65535") # good + #self._tfile = ROOT.TFile.Open(self._fname+"?readaheadsz=0") #worse than 65k + else: + self._tfile = ROOT.TFile.Open(self._fname) + if not self._tfile: raise RuntimeError, "Cannot open %s\n" % self._fname + t = self._tfile.Get(self._treename) + if not t: raise RuntimeError, "Cannot find tree %s in file %s\n" % (self._treename, self._fname) + self._tree = t + #self._tree.SetCacheSize(10*1000*1000) + if "root://" in self._fname: self._tree.SetCacheSize() + self._friends = [] + friendOpts = self._options.friendTrees[:] + friendOpts += (self._options.friendTreesData if self._isdata else self._options.friendTreesMC) + for tf_tree,tf_file in friendOpts: + tf = self._tree.AddFriend(tf_tree, tf_file.format(name=self._name, cname=self._cname)), + self._friends.append(tf) + self._isInit = True + + def getTree(self): + if not self._isInit: self._init() + return self._tree + def getYields(self,cuts,noEntryLine=False): + if not self._isInit: self._init() + report = []; cut = "" + cutseq = [ ['entry point','1'] ] + if noEntryLine: cutseq = [] + sequential = False + if self._options.nMinusOne: + cutseq = cuts.nMinusOneCuts() + cutseq += [ ['all',cuts.allCuts()] ] + sequential = False + elif self._options.final: + cutseq = [ ['all', cuts.allCuts()] ] + else: + cutseq += cuts.cuts(); + sequential = True + for cn,cv in cutseq: + if sequential: + if cut: cut += " && " + cut += "(%s)" % cv + else: + cut = cv + report.append((cn,self._getYield(self._tree,cut))) + if self._options.fullSampleYields and not noEntryLine: + report.insert(0, ('full sample', [self._fullYield,0]) ) + return report + def prettyPrint(self,report): + # maximum length of the cut descriptions + clen = max([len(cut) for cut,yields in report]) + 3 + cfmt = "%%-%ds" % clen; + + fmtlen = 12 + nfmtL = " %8d" + nfmtS = " %8.3f" if self._weight else nfmtL + + if self._options.errors: + nfmtS+=u"%8.3f" + nfmtL+=u"%8.3f" + fmtlen+=8 + if self._options.fractions: + nfmtS+="%7.1f%%" + nfmtL+="%7.1f%%" + fmtlen+=8 + + print "cut".center(clen),"yield".center(fmtlen) + print "-"*((fmtlen+1)+clen) + for i,(cut,(nev,err)) in enumerate(report): + print cfmt % cut, + den = report[i-1][1][0] if i>0 else 0 + fraction = nev/float(den) if den > 0 else 1 + if self._options.nMinusOne: + fraction = report[-1][1][0]/nev if nev > 0 else 1 + toPrint = (nev,) + if self._options.errors: toPrint+=(err,) + if self._options.fractions: toPrint+=(fraction*100,) + if self._weight and nev < 1000: print nfmtS % toPrint, + else : print nfmtL % toPrint, + print "" + def _getYield(self,tree,cut): + if self._weight: + if self._isdata: cut = "(%s) *(%s)*(%s)" % (self._weightString, self._scaleFactor, self.adaptExpr(cut,cut=True)) + else: cut = "(%s)*(%s)*(%s)*(%s)" % (self._weightString,self._options.lumi, self._scaleFactor, self.adaptExpr(cut,cut=True)) + if self._options.doS2V: + cut = scalarToVector(cut) + ROOT.gROOT.cd() + if ROOT.gROOT.FindObject("dummy") != None: ROOT.gROOT.FindObject("dummy").Delete() + histo = ROOT.TH1F("dummy","dummy",1,0.0,1.0); histo.Sumw2() + nev = tree.Draw("0.5>>dummy", cut, "goff", self._options.maxEntries) + self.negativeCheck(histo) + return [ histo.GetBinContent(1), histo.GetBinError(1) ] + else: + cut = self.adaptExpr(cut,cut=True) + if self._options.doS2V: + cut = scalarToVector(cut) + npass = tree.Draw("1",self.adaptExpr(cut,cut=True),"goff", self._options.maxEntries); + return [ npass, sqrt(npass) ] + def _stylePlot(self,plot,spec): + ## Sample specific-options, from self + if self.hasOption('FillColor'): + plot.SetFillColor(self.getOption('FillColor',0)) + plot.SetFillStyle(self.getOption('FillStyle',1001)) + else: + plot.SetFillStyle(0) + plot.SetLineWidth(self.getOption('LineWidth',1)) + plot.SetLineColor(self.getOption('LineColor',1)) + plot.SetMarkerColor(self.getOption('MarkerColor',1)) + plot.SetMarkerStyle(self.getOption('MarkerStyle',20)) + plot.SetMarkerSize(self.getOption('MarkerSize',1.6)) + ## Plot specific-options, from spec + if "TH3" not in plot.ClassName(): + plot.GetYaxis().SetTitle(spec.getOption('YTitle',"Events")) + plot.GetXaxis().SetTitle(spec.getOption('XTitle',spec.name)) + plot.GetXaxis().SetNdivisions(spec.getOption('XNDiv',510)) + def getPlot(self,plotspec,cut): + ret = self.getPlotRaw(plotspec.name, plotspec.expr, plotspec.bins, cut, plotspec) + # fold overflow + if ret.ClassName() in [ "TH1F", "TH1D" ] : + n = ret.GetNbinsX() + if plotspec.getOption('IncludeOverflows',True) and ("TProfile" not in ret.ClassName()): + ret.SetBinContent(1,ret.GetBinContent(0)+ret.GetBinContent(1)) + ret.SetBinContent(n,ret.GetBinContent(n+1)+ret.GetBinContent(n)) + ret.SetBinError(1,hypot(ret.GetBinError(0),ret.GetBinError(1))) + ret.SetBinError(n,hypot(ret.GetBinError(n+1),ret.GetBinError(n))) + rebin = plotspec.getOption('rebinFactor',0) + if plotspec.bins[0] != "[" and rebin > 1 and n > 5: + while n % rebin != 0: rebin -= 1 + if rebin != 1: ret.Rebin(rebin) + if plotspec.getOption('Density',False): + for b in xrange(1,n+1): + ret.SetBinContent( b, ret.GetBinContent(b) / ret.GetXaxis().GetBinWidth(b) ) + ret.SetBinError( b, ret.GetBinError(b) / ret.GetXaxis().GetBinWidth(b) ) + self._stylePlot(ret,plotspec) + return ret + def getPlotRaw(self,name,expr,bins,cut,plotspec): + unbinnedData2D = plotspec.getOption('UnbinnedData2D',False) if plotspec != None else False + profile1D = plotspec.getOption('Profile1D',False) if plotspec != None else False + profile2D = plotspec.getOption('Profile2D',False) if plotspec != None else False + if self._options.doS2V: + expr = scalarToVector(expr) + if not self._isInit: self._init() + if self._weight: + if self._isdata: cut = "(%s) *(%s)*(%s)" % (self._weightString, self._scaleFactor, self.adaptExpr(cut,cut=True)) + else: cut = "(%s)*(%s)*(%s)*(%s)" % (self._weightString,self._options.lumi, self._scaleFactor, self.adaptExpr(cut,cut=True)) + if self._options.doS2V: + cut = scalarToVector(cut) + if ROOT.gROOT.FindObject("dummy") != None: ROOT.gROOT.FindObject("dummy").Delete() + histo = None + canKeys = False + nvars = expr.replace("::","--").count(":")+1 + if nvars == 1 or (nvars == 2 and profile1D): + if bins[0] == "[": + edges = [ float(f) for f in bins[1:-1].split(",") ] + if profile1D: + histo = ROOT.TProfile("dummy","dummy",len(edges)-1,array('f',edges)) + else: + histo = ROOT.TH1F("dummy","dummy",len(edges)-1,array('f',edges)) + else: + (nb,xmin,xmax) = bins.split(",") + if profile1D: + histo = ROOT.TProfile("dummy","dummy",int(nb),float(xmin),float(xmax)) + else: + histo = ROOT.TH1F("dummy","dummy",int(nb),float(xmin),float(xmax)) + canKeys = True + unbinnedData2D = False + elif nvars == 2 or (nvars == 3 and profile2D): + if bins[0] == "[": + xbins, ybins = bins.split("*") + xedges = [ float(f) for f in xbins[1:-1].split(",") ] + yedges = [ float(f) for f in ybins[1:-1].split(",") ] + if profile2D: + histo = ROOT.TProfile2D("dummy","dummy",len(xedges)-1,array('d',xedges),len(yedges)-1,array('d',yedges)) + else: + histo = ROOT.TH2F("dummy","dummy",len(xedges)-1,array('f',xedges),len(yedges)-1,array('f',yedges)) + else: + (nbx,xmin,xmax,nby,ymin,ymax) = bins.split(",") + if profile2D: + histo = ROOT.TProfile2D("dummy","dummy",int(nbx),float(xmin),float(xmax),int(nby),float(ymin),float(ymax)) + unbinnedData2D = False + else: + histo = ROOT.TH2F("dummy","dummy",int(nbx),float(xmin),float(xmax),int(nby),float(ymin),float(ymax)) + unbinnedData2D = (self._name == "data") and unbinnedData2D + elif nvars == 3: + ez,ey,ex = [ e.replace("--","::") for e in expr.replace("::","--").split(":") ] + if bins[0] == "[": + xbins, ybins, zbins = bins.split("*") + xedges = [ float(f) for f in xbins[1:-1].split(",") ] + yedges = [ float(f) for f in ybins[1:-1].split(",") ] + zedges = [ float(f) for f in zbins[1:-1].split(",") ] + histo = ROOT.TH3F("dummy","dummy",len(xedges)-1,array('f',xedges),len(yedges)-1,array('f',yedges),len(zedges)-1,array('f',zedges)) + else: + (nbx,xmin,xmax,nby,ymin,ymax,nbz,zmin,zmax) = bins.split(",") + histo = ROOT.TH3F("dummy","dummy",int(nbx),float(xmin),float(xmax),int(nby),float(ymin),float(ymax),int(nbz),float(zmin),float(zmax)) + histo.GetXaxis().SetTitle(ex) + histo.GetYaxis().SetTitle(ey) + histo.GetZaxis().SetTitle(ez) + else: + raise RuntimeError, "Can't make a plot with %d dimensions" % nvars + histo.Sumw2() + if unbinnedData2D: + self._tree.Draw("%s" % (self.adaptExpr(expr)), cut, "", self._options.maxEntries) + graph = ROOT.gROOT.FindObject("Graph").Clone(name) + return graph + drawOpt = "goff" + if profile1D or profile2D: drawOpt += " PROF"; + self._tree.Draw("%s>>%s" % (self.adaptExpr(expr),"dummy"), cut, drawOpt, self._options.maxEntries) + if canKeys and histo.GetEntries() > 0 and histo.GetEntries() < self.getOption('KeysPdfMinN',100) and not self._isdata and self.getOption("KeysPdf",False): + #print "Histogram for %s/%s has %d entries, so will use KeysPdf " % (self._cname, self._name, histo.GetEntries()) + if "/TH1Keys_cc.so" not in ROOT.gSystem.GetLibraries(): + ROOT.gROOT.ProcessLine(".L %s/src/CMGTools/TTHAnalysis/python/plotter/TH1Keys.cc+" % os.environ['CMSSW_BASE']); + (nb,xmin,xmax) = bins.split(",") + histo = ROOT.TH1KeysNew("dummyk","dummyk",int(nb),float(xmin),float(xmax)) + self._tree.Draw("%s>>%s" % (self.adaptExpr(expr),"dummyk"), cut, "goff", self._options.maxEntries) + self.negativeCheck(histo) + return histo.GetHisto().Clone(name) + #elif not self._isdata and self.getOption("KeysPdf",False): + #else: + # print "Histogram for %s/%s has %d entries, so won't use KeysPdf (%s, %s) " % (self._cname, self._name, histo.GetEntries(), canKeys, self.getOption("KeysPdf",False)) + self.negativeCheck(histo) + return histo.Clone(name) + def negativeCheck(self,histo): + if not self._options.allowNegative: + if "TH1" in histo.ClassName(): + for b in xrange(0,histo.GetNbinsX()+2): + if histo.GetBinContent(b) < 0: histo.SetBinContent(b, 0.0) + elif "TH2" in histo.ClassName(): + for bx in xrange(0,histo.GetNbinsX()+2): + for by in xrange(0,histo.GetNbinsY()+2): + if histo.GetBinContent(bx,by) < 0: histo.SetBinContent(bx,by, 0.0) + elif "TH3" in histo.ClassName(): + for bx in xrange(0,histo.GetNbinsX()+2): + for by in xrange(0,histo.GetNbinsY()+2): + for bz in xrange(0,histo.GetNbinsZ()+2): + if histo.GetBinContent(bx,by,bz) < 0: histo.SetBinContent(bx,by,bz, 0.0) + + def __str__(self): + mystr = "" + mystr += str(self._fname) + '\n' + mystr += str(self._tfile) + '\n' + mystr += str(self._weight) + '\n' + mystr += str(self._scaleFactor) + return mystr + def processEvents(self,eventLoop,cut): + if not self._isInit: self._init() + cut = self.adaptExpr(cut,cut=True) + if self._options.doS2V: + cut = scalarToVector(cut) + self._tree.vectorTree = True + eventLoop.beginComponent(self) + eventLoop.loop(self._tree, getattr(self._options, 'maxEvents', -1), cut=cut) + eventLoop.endComponent(self) + +def addTreeToYieldOptions(parser): + parser.add_option("-l", "--lumi", dest="lumi", type="float", default="19.7", help="Luminosity (in 1/fb)"); + parser.add_option("-u", "--unweight", dest="weight", action="store_false", default=True, help="Don't use weights (in MC events)"); + parser.add_option("-W", "--weightString", dest="weightString", type="string", default="1", help="Use weight (in MC events)"); + parser.add_option("--fsy", "--full-sample-yield", dest="fullSampleYields", action="store_true", default=False, help="Compute also the yield as if all events passed"); + parser.add_option("-f", "--final", dest="final", action="store_true", help="Just compute final yield after all cuts"); + parser.add_option("-e", "--errors", dest="errors", action="store_true", help="Include uncertainties in the reports"); + parser.add_option("--tf", "--text-format", dest="txtfmt", type="string", default="text", help="Output format: text, html"); + parser.add_option("-S", "--start-at-cut", dest="startCut", type="string", help="Run selection starting at the cut matched by this regexp, included.") + parser.add_option("-U", "--up-to-cut", dest="upToCut", type="string", help="Run selection only up to the cut matched by this regexp, included.") + parser.add_option("-X", "--exclude-cut", dest="cutsToExclude", action="append", default=[], help="Cuts to exclude (regexp matching cut name), can specify multiple times.") + parser.add_option("-I", "--invert-cut", dest="cutsToInvert", action="append", default=[], help="Cuts to invert (regexp matching cut name), can specify multiple times.") + parser.add_option("-R", "--replace-cut", dest="cutsToReplace", action="append", default=[], nargs=3, help="Cuts to invert (regexp of old cut name, new name, new cut); can specify multiple times.") + parser.add_option("-A", "--add-cut", dest="cutsToAdd", action="append", default=[], nargs=3, help="Cuts to insert (regexp of cut name after which this cut should go, new name, new cut); can specify multiple times.") + parser.add_option("-N", "--n-minus-one", dest="nMinusOne", action="store_true", help="Compute n-minus-one yields and plots") + parser.add_option("-t", "--tree", dest="tree", default='treeProducerDarkMatterMonoJet', help="Pattern for tree name"); + parser.add_option("-G", "--no-fractions", dest="fractions",action="store_false", default=True, help="Don't print the fractions"); + parser.add_option("-F", "--add-friend", dest="friendTrees", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename). Can use {name}, {cname} patterns in the treename") + parser.add_option("--FMC", "--add-friend-mc", dest="friendTreesMC", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename) to MC only. Can use {name}, {cname} patterns in the treename") + parser.add_option("--FD", "--add-friend-data", dest="friendTreesData", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename) to data trees only. Can use {name}, {cname} patterns in the treename") + parser.add_option("--mcc", "--mc-corrections", dest="mcCorrs", action="append", default=[], nargs=1, help="Load the following file of mc to data corrections") + parser.add_option("--s2v", "--scalar2vector", dest="doS2V", action="store_true", default=False, help="Do scalar to vector conversion") + parser.add_option("--neg", "--allow-negative-results", dest="allowNegative", action="store_true", default=False, help="If the total yield is negative, keep it so rather than truncating it to zero") + parser.add_option("--max-entries", dest="maxEntries", default=1000000000, type="int", help="Max entries to process in each tree") + +def mergeReports(reports): + import copy + one = copy.deepcopy(reports[0]) + for i,(c,x) in enumerate(one): + one[i][1][1] = pow(one[i][1][1], 2) + for two in reports[1:]: + for i,(c,x) in enumerate(two): + one[i][1][0] += x[0] + one[i][1][1] += pow(x[1],2) + for i,(c,x) in enumerate(one): + one[i][1][1] = sqrt(one[i][1][1]) + return one + +def mergePlots(name,plots): + one = plots[0].Clone(name) + if "TGraph" in one.ClassName(): + others = ROOT.TList() + for two in plots[1:]: + others.Add(two) + one.Merge(others) + else: + for two in plots[1:]: + one.Add(two) + return one + diff --git a/CMGTools/MonoXAnalysis/python/samples/samples_8TeV.py b/CMGTools/MonoXAnalysis/python/samples/samples_8TeV.py new file mode 100644 index 000000000000..fc982e008287 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/samples/samples_8TeV.py @@ -0,0 +1,482 @@ +from CMGTools.TTHAnalysis.samples.getFiles import getFiles +import PhysicsTools.HeppyCore.framework.config as cfg + +import os + +pat='PAT_CMG_V5_17_0' +patNew='PAT_CMG_V5_18_0' +patPF='CMGPF_V5_16_0' +filepattern = 'cmgTuple.*root' +userName='cmgtools' + + + +################## Triggers + + +triggers_mumu = ["HLT_Mu17_Mu8_v*","HLT_Mu17_TkMu8_v*"] +triggers_ee = ["HLT_Ele17_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_Ele8_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_v*", + "HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*", + "HLT_Ele15_Ele8_Ele5_CaloIdL_TrkIdVL_v*"] + +triggers_mue = [ + "HLT_Mu8_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*", + "HLT_Mu17_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*" + ] + +triggersMC_mumu = ["HLT_Mu17_Mu8_v*","HLT_Mu17_TkMu8_v*"] + +triggersMC_ee = ["HLT_Ele17_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_Ele8_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_v*", + "HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*", + "HLT_Ele15_Ele8_Ele5_CaloIdL_TrkIdVL_v*"] + +triggersMC_mue = ["HLT_Ele17_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_Ele8_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_v*", + "HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*", + "HLT_Ele15_Ele8_Ele5_CaloIdL_TrkIdVL_v*", + "HLT_Mu17_Mu8_v*", + "HLT_Mu17_TkMu8_v*", + "HLT_Mu8_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*", + "HLT_Mu17_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*" + ] + +triggers_1mu = [ 'HLT_IsoMu24_eta2p1_v*' ] +triggersMC_1mu = triggers_1mu; +triggersFR_1mu = [ 'HLT_Mu5_v*', 'HLT_RelIso1p0Mu5_v*', 'HLT_Mu12_v*', 'HLT_Mu24_eta2p1_v*', 'HLT_Mu40_eta2p1_v*' ] +triggersFR_mumu = [ 'HLT_Mu17_Mu8_v*', 'HLT_Mu17_TkMu8_v*', 'HLT_Mu8_v*', 'HLT_Mu17_v*' ] +triggersFR_1e = [ 'HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*', 'HLT_Ele17_CaloIdL_CaloIsoVL_v*', 'HLT_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*', 'HLT_Ele8__CaloIdL_CaloIsoVL_v*'] +triggersFR_mue = triggers_mue[:] +triggersFR_MC = triggersFR_1mu + triggersFR_mumu + triggersFR_1e + triggersFR_mue + + +### ----> for the SUS-13-007 + +triggers_1muHT = ["HLT_PFHT350_Mu15_PFMET45_v*","HLT_PFHT350_Mu15_PFMET50_v*", + "HLT_PFNoPUHT350_Mu15_PFMET_45_v*","HLT_PFHT350_Mu15_PFMET50_v*", + "HLT_PFHT400_Mu5_PFMET45_v*","HLT_PFHT400_Mu5_PFMET50_v*", + "HLT_PFNoPUHT400_Mu5_PFMET45_v*","HLT_PFNoPUHT400_Mu5_PFMET50_v*", + "HLT_Mu40_PFHT350_v*","HLT_Mu60_PFHT350_v*", + "HLT_Mu40_PFNoPUHT350_v*","HLT_Mu60_PFNoPUHT350_v*" + ] + +triggers_1eleHT = ["HLT_CleanPFHT350_Ele5_CaloIdT_CaloIsoVL_TrkIdT_TrkIsoVL_PFMET45_v*","HLT_CleanPFHT350_Ele5_CaloIdT_CaloIsoVL_TrkIdT_TrkIsoVL_PFMET50_v*", + "HLT_CleanPFNoPUHT350_Ele5_CaloIdT_CaloIsoVL_TrkIdT_TrkIsoVL_PFMET45_v*","HLT_CleanPFNoPUHT350_Ele5_CaloIdT_CaloIsoVL_TrkIdT_TrkIsoVL_PFMET50_v*", + "HLT_CleanPFHT300_Ele15_CaloIdT_CaloIsoVL_TrkIdT_TrkIsoVL_PFMET45_v*","HLT_CleanPFHT300_Ele15_CaloIdT_CaloIsoVL_TrkIdT_TrkIsoVL_PFMET60_v*", + "HLT_CleanPFNoPUHT300_Ele15_CaloIdT_CaloIsoVL_TrkIdT_TrkIsoVL_PFMET45_v*","HLT_CleanPFNoPUHT300_Ele15_CaloIdT_CaloIsoVL_TrkIdT_TrkIsoVL_PFMET60_v*", + "HLT_CleanPFHT300_Ele40_CaloIdVT_CaloIsoVL_TrkIdT_v*","HLT_CleanPFHT300_Ele60_CaloIdVT_CaloIsoVL_TrkIdT_v*", + "HLT_CleanPFNoPUHT300_Ele40_CaloIdVT_CaloIsoVL_TrkIdT_ v*","HLT_CleanPFNoPUHT300_Ele60_CaloIdVT_CaloIsoVL_TrkIdT_ v*" + ] + + +### ----> for the SUS-13-019 + +triggers_HT650 = ["HLT_PFHT650_v*","HLT_PFNoPUHT650_v*"] +triggers_MET150 = ["HLT_PFMET150_v*"] +triggers_HTMET = ["HLT_PFHT350_PFMET100_v*","HLT_PFNoPUHT350_PFMET100_v*"] + +triggers_MT2_mumu = ["HLT_Mu17_Mu8_v*","HLT_Mu17_TkMu8_v*"] +triggers_MT2_ee = ["HLT_Ele17_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_Ele8_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_v*", + "HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*"] + +triggers_MT2_mue = ["HLT_Mu8_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*", + "HLT_Mu17_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*" + ] + + +### ----> RA1 2012 triggers + +triggers_RA1_Bulk = [ + "HLT_HT200_v*", + "HLT_HT250_v*", + "HLT_HT300_v*", + "HLT_HT350_v*", + "HLT_HT450_v*", + "HLT_HT550_v*", + "HLT_HT650_v*", + "HLT_HT750_v*", + ] +triggers_RA1_Parked = [ + "HLT_HT200_AlphaT0p57_v*", + "HLT_HT300_AlphaT0p53_v*", + "HLT_HT350_AlphaT0p52_v*", + "HLT_HT400_AlphaT0p51_v*", + ] +triggers_RA1_Prompt = [ + "HLT_HT250_AlphaT0p55_v*", + "HLT_HT300_AlphaT0p53_v*", + "HLT_HT350_AlphaT0p52_v*", + "HLT_HT400_AlphaT0p51_v*", + "HLT_HT350_AlphaT0p52_v*", + ] +triggers_RA1_Single_Mu = ["HLT_IsoMu24_eta2p1_v*"] +triggers_RA1_Photon = ["HLT_Photon150_v%d"%i for i in range(1,20)] + ["HLT_Photon160_v%d"%i for i in range(1,20)] +triggers_RA1_Muon = ["HLT_IsoMu24_eta2p1_v%d"%i for i in range(1,20)] + + + +#####COMPONENT CREATOR + +from CMGTools.TTHAnalysis.samples.ComponentCreator import ComponentCreator +kreator = ComponentCreator() + +#-----------MC--------------- +## --- TTH --- +TTH =kreator.makeMCComponent('TTH','/TTH_Inclusive_M-125_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+pat,userName,filepattern) +TTH122 =kreator.makeMCComponent('TTH122','/TTH_Inclusive_M-122_5_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +TTH127 =kreator.makeMCComponent('TTH127','/TTH_Inclusive_M-127_5_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) + +## --- TTH + V --- +TTWJets =kreator.makeMCComponent('TTWJets','/TTWJets_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+pat,userName,filepattern) +TTZJets =kreator.makeMCComponent('TTZJets','/TTZJets_8TeV-madgraph_v2/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+pat,userName,filepattern) +TTWWJets =kreator.makeMCComponent('TTWWJets','/TTWWJets_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +## --- same as above but aMC@NLO --- +TTWnlo =kreator.makeMCComponent('TTWnlo','/TTbarW_8TeV-aMCatNLO-herwig/Summer12_DR53X-PU_S10_START53_V7C-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +TTZnlo =kreator.makeMCComponent('TTZnlo','/ttbarZ_8TeV-Madspin_aMCatNLO-herwig/Summer12_DR53X-PU_S10_START53_V19-v1/AODSIM/V5_B/'+patPF,userName,filepattern) + +## --- TTH + gamma --- +TTG =kreator.makeMCComponent('TTG','/TTGJets_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V19-v1/AODSIM/V5_B/'+patPF,userName,filepattern) + +## ---- DIBOSON, PYTHIA INCLUSIVE ---- +WW = kreator.makeMCComponent('WW', '/WW_TuneZ2star_8TeV_pythia6_tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +WZ = kreator.makeMCComponent('WZ', '/WZ_TuneZ2star_8TeV_pythia6_tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +ZZ = kreator.makeMCComponent('ZZ', '/ZZ_TuneZ2star_8TeV_pythia6_tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +## ---- DIBOSON, MADGRAPH EXCLUSIVE ---- +WWJets =kreator.makeMCComponent('WWJets','/WWJetsTo2L2Nu_TuneZ2star_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +WZJets =kreator.makeMCComponent('WZJets','/WZJetsTo3LNu_TuneZ2_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +ZZJets4L =kreator.makeMCComponent('ZZJets4L','/ZZJetsTo4L_TuneZ2star_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +## ---- DIBOSONS, POWHEG ---- +ZZ2e2mu =kreator.makeMCComponent('ZZ2e2mu','/ZZTo2e2mu_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+patNew,userName,filepattern) +ZZ2e2tau =kreator.makeMCComponent('ZZ2e2tau','/ZZTo2e2tau_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+patNew,userName,filepattern) +ZZ2mu2tau=kreator.makeMCComponent('ZZ2mu2tau','/ZZTo2mu2tau_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+patNew,userName,filepattern) +ZZTo4mu =kreator.makeMCComponent('ZZTo4mu','/ZZTo4mu_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+patNew,userName,filepattern) +ZZTo4tau =kreator.makeMCComponent('ZZTo4tau','/ZZTo4tau_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+patNew,userName,filepattern) +ZZTo4e =kreator.makeMCComponent('ZZTo4e','/ZZTo4e_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+patNew,userName,filepattern) + +## --- MULTIBOSON ----- +WWWJets =kreator.makeMCComponent('WWWJets','/WWWJets_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +WWZJets =kreator.makeMCComponent('WWZJets','/WWZNoGstarJets_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +WZZJets =kreator.makeMCComponent('WZZJets','/WZZNoGstarJets_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +ZZZJets =kreator.makeMCComponent('ZZZJets','/ZZZNoGstarJets_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) + +## --- BOSON + PHOTON +#ZG =kreator.makeMCComponent('ZG','/ZGToLLG_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +#WGToLNuG =kreator.makeMCComponent('WGToLNuG','/WGToLNuG_TuneZ2star_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +## --- MULTIBOSON + PHOTON +WWGJets =kreator.makeMCComponent('WWGJets','/WWGJets_8TeV-madgraph_v2/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) + + +## ---- TTBAR ----- +TTLep =kreator.makeMCComponent('TTLep','/TTTo2L2Nu2B_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +TTJets =kreator.makeMCComponent('TTJets','/TTJets_MassiveBinDECAY_TuneZ2star_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +TTJetsLep=kreator.makeMCComponent('TTJetsLep','/TTJets_FullLeptMGDecays_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/V5_B/'+patNew,userName,filepattern) +TTJetsSem=kreator.makeMCComponent('TTJetsSem','/TTJets_SemiLeptMGDecays_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V19_ext1-v1/AODSIM/V5/'+patNew,userName,filepattern) +TTJetsSem2=kreator.makeMCComponent('TTJetsSem2','/TTJets_SemiLeptMGDecays_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V19_ext2-v1/AODSIM/V5/'+patNew,userName,filepattern) +TTJetsHad=kreator.makeMCComponent('TTJetsHad','/TTJets_HadronicMGDecays_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A_ext-v1/AODSIM/V5/'+patNew,userName,filepattern) + +# ---- SINGLE TOP ---- +TtW =kreator.makeMCComponent('TtW','/T_tW-channel-DR_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +TbartW =kreator.makeMCComponent('TbartW','/Tbar_tW-channel-DR_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +Ttch =kreator.makeMCComponent('Ttch','/T_t-channel_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +Tbartch =kreator.makeMCComponent('Tbartch','/Tbar_t-channel_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +Tsch =kreator.makeMCComponent('Tsch','/T_s-channel_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +Tbarsch =kreator.makeMCComponent('Tbarsch','/Tbar_s-channel_TuneZ2star_8TeV-powheg-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) + +# ---- Z + JETS +DYJetsM10=kreator.makeMCComponent('DYJetsM10','/DYJetsToLL_M-10To50filter_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +DYJetsM50=kreator.makeMCComponent('DYJetsM50','/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +DY1JetsM50=kreator.makeMCComponent('DY1JetsM50','/DY1JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +DY2JetsM50=kreator.makeMCComponent('DY2JetsM50','/DY2JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +DY3JetsM50=kreator.makeMCComponent('DY3JetsM50','/DY3JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +DY4JetsM50=kreator.makeMCComponent('DY4JetsM50','/DY4JetsToLL_M-50_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) + + +# ---- W + JETS +WJets =kreator.makeMCComponent('WJets','/WJetsToLNu_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/V5_B/'+patPF,userName,filepattern) +W1Jets =kreator.makeMCComponent('W1Jets','/W1JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +W2Jets =kreator.makeMCComponent('W2Jets','/W2JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +W3Jets =kreator.makeMCComponent('W3Jets','/W3JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +W4Jets =kreator.makeMCComponent('W4Jets','/W4JetsToLNu_TuneZ2Star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +WJets_HT250To300=kreator.makeMCComponent('WJets_HT250To300','/WJetsToLNu_HT-250To300_8TeV-madgraph_v2/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +WJets_HT300To400=kreator.makeMCComponent('WJets_HT300To400','/WJetsToLNu_HT-300To400_8TeV-madgraph_v2/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +WJets_HT400ToInf=kreator.makeMCComponent('WJets_HT400ToInf','/WJetsToLNu_HT-400Toinf_8TeV-madgraph_v2/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+patPF,userName,filepattern) +WJetsPtW50To70 =kreator.makeMCComponent('WJets_PtW-50To70','/WJetsToLNu_PtW-50To70_TuneZ2star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +WJetsPtW70To100=kreator.makeMCComponent('WJets_PtW-70To100','/WJetsToLNu_PtW-70To100_TuneZ2star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +WJetsPtW100 =kreator.makeMCComponent('WJets_PtW-100','/WJetsToLNu_PtW-100_TuneZ2star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) + +# ---- QCD +#QCDMuPt15=kreator.makeMCComponent('QCDMuPt15','/QCD_Pt_20_MuEnrichedPt_15_TuneZ2star_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v3/AODSIM/V5_B/'+pat,userName,filepattern) +#QCDElPt30To80=kreator.makeMCComponent('QCDElPt30To80','//QCD_Pt_30_80_BCtoE_TuneZ2star_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) +#QCDElPt80To170=kreator.makeMCComponent('QCDElPt80To170','//QCD_Pt_80_170_BCtoE_TuneZ2star_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/'+pat,userName,filepattern) + +# ------ RARE PROCESSES ----- +TBZToLL =kreator.makeMCComponent('TBZToLL', '/TBZToLL_4F_TuneZ2star_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V7C-v1/AODSIM/V5/'+patNew,userName,filepattern) +WmWmqq =kreator.makeMCComponent('WmWmqq', '/WmWmqq_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+patNew,userName,filepattern) +WpWpqq =kreator.makeMCComponent('WpWpqq', '/WpWpqq_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/'+patNew,userName,filepattern) + +# ------ MORE SAMPLES FROM SEZEN (patPF) ---- +#/Jet/Run2012A-22Jan2013-v1/AOD/CMGPF_V5_16_0 +#/HT/Run2012A-22Jan2013-v1/AOD/CMGPF_V5_16_0 +#/JetHT/Run2012B-22Jan2013-v1/AOD/CMGPF_V5_16_0 +#/JetHT/Run2012C-22Jan2013-v1/AOD/CMGPF_V5_16_0 +#/JetHT/Run2012D-22Jan2013-v1/AOD/CMGPF_V5_16_0 +#/QCD_HT-100To250_TuneZ2star_8TeV-madgraph-pythia/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/CMGPF_V5_16_0 +#/QCD_HT-250To500_TuneZ2star_8TeV-madgraph-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/CMGPF_V5_16_0 +#/QCD_HT-500To1000_TuneZ2star_8TeV-madgraph-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/CMGPF_V5_16_0 +#/QCD_HT-1000ToInf_TuneZ2star_8TeV-madgraph-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/CMGPF_V5_16_0 +#/ZJetsToNuNu_50_HT_100_TuneZ2Star_8TeV_madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/CMGPF_V5_16_0 +#/ZJetsToNuNu_100_HT_200_TuneZ2Star_8TeV_madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/CMGPF_V5_16_0 +#/ZJetsToNuNu_200_HT_400_TuneZ2Star_8TeV_madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/CMGPF_V5_16_0 +#/ZJetsToNuNu_400_HT_inf_TuneZ2Star_8TeV_madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/CMGPF_V5_16_0 +# ----- MORE FRMO MARKUS ------------- +# /DYJetsToLL_PtZ-50To70_TuneZ2star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_17_0 +# /DYJetsToLL_PtZ-70To100_TuneZ2star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/V5_B/PAT_CMG_V5_17_0 +# /DYJetsToLL_PtZ-100_TuneZ2star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/V5_B/PAT_CMG_V5_17_0 +# /WJetsToLNu_PtW-100_TuneZ2star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_17_0 +# /WJetsToLNu_PtW-70To100_TuneZ2star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_17_0 +# /WJetsToLNu_PtW-50To70_TuneZ2star_8TeV-madgraph/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_17_0 +# /DYToMuMu_M-20_CT10_TuneZ2star_v2_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_17_0_2nd +# /DYToTauTau_M-20_CT10_TuneZ2star_v2_8TeV-powheg-tauola-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v2/AODSIM/V5_B/PAT_CMG_V5_17_0_2nd + +# ----- FINAL LISTS OF BACKGROUNDS ------ +# ## Critical samples (major signals and backgrounds, and a few small samples) +mcSamples_1 = [ TTH,TTWJets,TTZJets,TTWWJets,WWWJets,WWZJets,TTG,DYJetsM50,TTJetsLep,TTJetsSem,TTJets,TtW,TbartW,WZJets,ZZJets4L,WWJets,DYJetsM10, ZZ2e2mu,ZZ2e2tau,ZZ2mu2tau,ZZTo4mu,ZZTo4e,ZZTo4tau, + W1Jets,W2Jets,W3Jets,W4Jets,WJets_HT250To300,WJets_HT300To400,WJets_HT400ToInf,DY1JetsM50,DY2JetsM50,DY3JetsM50,DY4JetsM50,TTJetsSem ] +# ## Minor samples and backgrounds +mcSamples_2 = [ Tsch,Tbarsch,Ttch,Tbartch,WZZJets,ZZZJets,WWGJets,TTLep,TTJetsSem2,TTJetsHad, TBZToLL,WmWmqq,WpWpqq,TTH122,TTH127,WJetsPtW50To70,WJetsPtW70To100,WJetsPtW100] +# mcSamples_2 = [ TTH122,TTH127,DYJetsM10,TTLep,WWJets,TTJets,Tsch,Tbarsch,Ttch,Tbartch,W1Jets,W2Jets,W3Jets,W4Jets,TTJetsHad,DY1JetsM50, ] +# ## Cross-check samples, ... +mcSamples_3 = [ TTWnlo,TTZnlo,WJets ] +# ## Samples we don't use +mcSamples_4 = [ WW,WZ,ZZ ] + + + +# ------- SUSY SIGNAL SAMPLES ------ +T1tttt_2J_1 = kreator.makeMCComponent('T1tttt_2J_1', '/SMS-MadGraph_Pythia6Zstar_8TeV_T1tttt_2J_mGo-400to750_mLSP-1_50GeVX50GeV_Binning/Summer12-START52_V9_FSIM-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +T1tttt_2J_2 = kreator.makeMCComponent('T1tttt_2J_2', '/SMS-MadGraph_Pythia6Zstar_8TeV_T1tttt_2J_mGo-800to1400_mLSP-1_50GeVX50GeV_Binning/Summer12-START52_V9_FSIM-v2/AODSIM/V5_B/'+patNew,userName,filepattern) +T1tttt_2J_3 = kreator.makeMCComponent('T1tttt_2J_3', '/SMS-MadGraph_Pythia6Zstar_8TeV_T1tttt_2J_mGo-400to750_mLSP-25to550_50GeVX50GeV_Binning/Summer12-START52_V9_FSIM-v1/AODSIM/V5_B/'+patNew,userName,filepattern) +T1tttt_2J_4 = kreator.makeMCComponent('T1tttt_2J_4', '/SMS-MadGraph_Pythia6Zstar_8TeV_T1tttt_2J_mGo-775to1075_mLSP-25to500_50GeVX50GeV_Binning/Summer12-START52_V9_FSIM-v3/AODSIM/V5_B/'+patNew,userName,filepattern) +T1tttt_2J_5 = kreator.makeMCComponent('T1tttt_2J_5', '/SMS-MadGraph_Pythia6Zstar_8TeV_T1tttt_2J_mGo-775to1075_mLSP-525to875_50GeVX50GeV_Binning/Summer12-START52_V9_FSIM-v3/AODSIM/V5_B/'+patNew,userName,filepattern) +T1tttt_2J_6 = kreator.makeMCComponent('T1tttt_2J_6', '/SMS-MadGraph_Pythia6Zstar_8TeV_T1tttt_2J_mGo-1100to1400_mLSP-25to500_50GeVX50GeV_Binning/Summer12-START52_V9_FSIM-v2/AODSIM/V5_B/'+patNew,userName,filepattern) +T1tttt_2J_7 = kreator.makeMCComponent('T1tttt_2J_7', '/SMS-MadGraph_Pythia6Zstar_8TeV_T1tttt_2J_mGo-1100to1400_mLSP-525to1000_25GeVX25GeV_Binning/Summer12-START52_V9_FSIM-v2/AODSIM/V5_B/'+patNew,userName,filepattern) +T1tttt_2J_8 = kreator.makeMCComponent('T1tttt_2J_8', '/SMS-MadGraph_Pythia6Zstar_8TeV_T1tttt_2J_mGo-1100to1400_mLSP-1025to1200_50GeVX50GeV_Binning/Summer12-START52_V9_FSIM-v1/AODSIM/V5_B/'+patNew,userName,filepattern) + +T5VV_2J_1 = kreator.makeMCComponent('T5VV_2J_1', '/SMS-T5VV_2J_mGo-400to750_mLSP-25to525_TuneZ2star_8TeV-madgraph-tauola/Summer12-START53_V7C_FSIM-v1/AODSIM/V5/'+patNew,userName,filepattern) +T5VV_2J_2 = kreator.makeMCComponent('T5VV_2J_2', '/SMS-T5VV_2J_mGo-800to1100_mLSP-25to525_TuneZ2star_8TeV-madgraph-tauola/Summer12-START53_V7C_FSIM-v1/AODSIM/V5/'+patNew,userName,filepattern) +T5VV_2J_3 = kreator.makeMCComponent('T5VV_2J_3', '/SMS-T5VV_2J_mGo-800to1100_mLSP-575to875_TuneZ2star_8TeV-madgraph-tauola/Summer12-START53_V7C_FSIM-v1/AODSIM/V5/'+patNew,userName,filepattern) +T5VV_2J_4 = kreator.makeMCComponent('T5VV_2J_4', '/SMS-T5VV_2J_mGo-1150to1400_mLSP-25to525_TuneZ2star_8TeV-madgraph-tauola/Summer12-START53_V7C_FSIM-v1/AODSIM/V5/'+patNew,userName,filepattern) +T5VV_2J_5 = kreator.makeMCComponent('T5VV_2J_5', '/SMS-T5VV_2J_mGo-1150to1400_mLSP-550to700_TuneZ2star_8TeV-madgraph-tauola/Summer12-START53_V7C_FSIM-v1/AODSIM/V5/'+patNew,userName,filepattern) +T5VV_2J_6 = kreator.makeMCComponent('T5VV_2J_6', '/SMS-T5VV_2J_mGo-1150to1400_mLSP-725to850_TuneZ2star_8TeV-madgraph-tauola/Summer12-START53_V7C_FSIM-v1/AODSIM/V5/'+patNew,userName,filepattern) +T5VV_2J_7 = kreator.makeMCComponent('T5VV_2J_7', '/SMS-T5VV_2J_mGo-1150to1400_mLSP-875to1175_TuneZ2star_8TeV-madgraph-tauola/Summer12-START53_V7C_FSIM-v1/AODSIM/V5/'+patNew,userName,filepattern) + +T2DegenerateStop_2J_1 = kreator.makeMCComponent('T2DegenerateStop_2J_1', '/SMS-T2DegenerateStop_2J_mStop-100to150_mLSP-20to140_TuneZ2star_8TeV-madgraph-tauolapp/Summer12-START53_V19_FSIM_PU_S12-v1/AODSIM/V5/'+patNew,userName,filepattern) +T2DegenerateStop_2J_2 = kreator.makeMCComponent('T2DegenerateStop_2J_2', '/SMS-T2DegenerateStop_2J_mStop-175to225_mLSP-95to215_TuneZ2star_8TeV-madgraph-tauolapp/Summer12-START53_V19_FSIM_PU_S12-v1/AODSIM/V5/'+patNew,userName,filepattern) +T2DegenerateStop_2J_3 = kreator.makeMCComponent('T2DegenerateStop_2J_3', '/SMS-T2DegenerateStop_2J_mStop-250to300_mLSP-170to290_TuneZ2star_8TeV-madgraph-tauolapp/Summer12-START53_V19_FSIM_PU_S12-v1/AODSIM/V5/'+patNew,userName,filepattern) +T2DegenerateStop_2J_4 = kreator.makeMCComponent('T2DegenerateStop_2J_4', '/SMS-T2DegenerateStop_2J_mStop-325to375_mLSP-245to365_TuneZ2star_8TeV-madgraph-tauolapp/Summer12-START53_V19_FSIM_PU_S12-v1/AODSIM/V5/'+patNew,userName,filepattern) + + +T1tttt_2J = [ T1tttt_2J_1,T1tttt_2J_2,T1tttt_2J_3,T1tttt_2J_4,T1tttt_2J_5,T1tttt_2J_6,T1tttt_2J_7,T1tttt_2J_8 ] +T5VV_2J = [ T5VV_2J_1,T5VV_2J_2,T5VV_2J_3,T5VV_2J_4,T5VV_2J_5,T5VV_2J_6,T5VV_2J_7 ] +T2DegenerateStop_2J = [ T2DegenerateStop_2J_1, T2DegenerateStop_2J_2, T2DegenerateStop_2J_3, T2DegenerateStop_2J_4 ] +susySamples = T1tttt_2J + T5VV_2J + T2DegenerateStop_2J + +#################################################################################################################### +#-----------PRIVATE FAST SIM--------------- + +lowmllFiles = [ f.strip() for f in open("%s/src/CMGTools/TTHAnalysis/python/samples/fastSim-lowmll.txt" % os.environ['CMSSW_BASE'], "r") if "cmgTuple_518" in f ] +def _grep(x,l): return [ i for i in l if x in i ] +FastSim_TTGStarMM = kreator.makePrivateMCComponent('FastSim_TTGStarMM', '/store/caf/user/gpetrucc/ttH/gen/2013-05-23/ttgstar_lowmll_mumu_v2', _grep('ttgstar_lowmll_mumu_v2', lowmllFiles) ) +FastSim_TTGStarEE = kreator.makePrivateMCComponent('FastSim_TTGStarEE', '/store/caf/user/gpetrucc/ttH/gen/2013-05-23/ttgstar_lowmll_ee_v2', _grep('ttgstar_lowmll_ee_v2', lowmllFiles) ) +FastSim_TTGStarTT = kreator.makePrivateMCComponent('FastSim_TTGStarTT', '/store/caf/user/gpetrucc/ttH/gen/2013-05-23/ttgstar_lowmll_tautau', _grep('ttgstar_lowmll_tautau', lowmllFiles) ) + +fastSimSamples = [ FastSim_TTGStarMM, FastSim_TTGStarEE, FastSim_TTGStarTT ] + + +mcSamples=mcSamples_1+mcSamples_2+mcSamples_3 +mcSamplesAll = mcSamples+mcSamples_4+susySamples+fastSimSamples + +#-----------DATA--------------- + +dataDir = os.environ['CMSSW_BASE']+"/src/CMGTools/TTHAnalysis/data" +#lumi: 12.21+7.27+0.134 = 19.62 /fb @ 8TeV + +json=dataDir+'/json/Cert_Run2012ABCD_22Jan2013ReReco.json' + +DoubleMuAB = cfg.DataComponent( + name = 'DoubleMuAB', + files = getFiles('/DoubleMu/Run2012A-22Jan2013-v1/AOD/'+patPF,userName,filepattern)+ \ + getFiles('/DoubleMuParked/Run2012B-22Jan2013-v1/AOD/'+patPF,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +DoubleMuC = cfg.DataComponent( + name = 'DoubleMuC', + files = getFiles('/DoubleMuParked/Run2012C-22Jan2013-v1/AOD/'+patPF,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +DoubleMuD = cfg.DataComponent( + name = 'DoubleMuD', + files = getFiles('/DoubleMuParked/Run2012D-22Jan2013-v1/AOD/'+patPF,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +DoubleElectronAB = cfg.DataComponent( + name = 'DoubleElectronAB', + files = getFiles('/DoubleElectron/Run2012A-22Jan2013-v1/AOD/'+patPF,userName,filepattern)+ \ + getFiles('/DoubleElectron/Run2012B-22Jan2013-v1/AOD/'+patPF,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +DoubleElectronC = cfg.DataComponent( + name = 'DoubleElectronC', + files = getFiles('/DoubleElectron/Run2012C-22Jan2013-v1/AOD/'+patPF,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +DoubleElectronD = cfg.DataComponent( + name = 'DoubleElectronD', + files = getFiles('/DoubleElectron/Run2012D-22Jan2013-v1/AOD/'+patPF,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +MuEGAB = cfg.DataComponent( + name = 'MuEGAB', + files = getFiles('/MuEG/Run2012A-22Jan2013-v1/AOD/'+patNew,userName,filepattern)+ \ + getFiles('/MuEG/Run2012B-22Jan2013-v1/AOD/'+patNew,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +MuEGC = cfg.DataComponent( + name = 'MuEGC', + files = getFiles('/MuEG/Run2012C-22Jan2013-v1/AOD/'+patNew,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +MuEGD = cfg.DataComponent( + name = 'MuEGD', + files = getFiles('/MuEG/Run2012D-22Jan2013-v1/AOD/'+patNew,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +SingleMuAB = cfg.DataComponent( + name = 'SingleMuAB', + files = getFiles('/SingleMu/Run2012A-22Jan2013-v1/AOD/'+patPF,userName,filepattern)+ \ + getFiles('/SingleMu/Run2012B-22Jan2013-v1/AOD/'+patPF,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +SingleMuC = cfg.DataComponent( + name = 'SingleMuC', + files = getFiles('/SingleMu/Run2012C-22Jan2013-v1/AOD/'+patPF,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +SingleMuD = cfg.DataComponent( + name = 'SingleMuD', + files = getFiles('/SingleMu/Run2012D-22Jan2013-v1/AOD/'+patPF,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +METAB = cfg.DataComponent( + name = 'METAB', + files = getFiles('/MET/Run2012A-22Jan2013-v1/AOD/'+patNew,userName,filepattern)+ \ + getFiles('/MET/Run2012B-22Jan2013-v1/AOD/'+patNew,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +METC = cfg.DataComponent( + name = 'METC', + files = getFiles('/MET/Run2012C-22Jan2013-v1/AOD/'+patNew,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + +METD = cfg.DataComponent( + name = 'METD', + files = getFiles('/METParked/Run2012D-22Jan2013-v1/AOD/'+patNew,userName,filepattern), + intLumi = 1, + triggers = [], + json = json + ) + + + + + +# #################################################################################################################### +# +# +dataSamplesMu=[DoubleMuAB,DoubleMuC,DoubleMuD] +dataSamplesE=[DoubleElectronAB,DoubleElectronC,DoubleElectronD] +dataSamplesMuE=[MuEGAB,MuEGC,MuEGD] +dataSamples2L = dataSamplesMu+dataSamplesE+dataSamplesMuE +dataSamples1Mu=[SingleMuAB,SingleMuC,SingleMuD] +dataSamplesMET=[METAB,METC,METD] +dataSamplesAll = dataSamples2L+dataSamples1Mu+dataSamplesMET + +from CMGTools.TTHAnalysis.setup.Efficiencies import eff2012 + + +#Define splitting +for comp in mcSamplesAll: + comp.isMC = True + comp.isData = False + comp.splitFactor = 250 if comp.name in [ "WJets", "DY3JetsM50", "DY4JetsM50","W1Jets","W2Jets","W3Jets","W4Jets","TTJetsHad" ] else 100 + comp.puFileMC=dataDir+"/puProfile_Summer12_53X.root" + comp.puFileData=dataDir+"/puProfile_Data12.root" + comp.efficiency = eff2012 +# redefine some splittings +for C in [DYJetsM50,TTJetsLep,TTJetsSem,TTJetsSem2,TTLep,DY1JetsM50]: + C.splitFactor = 500 +for comp in fastSimSamples: + comp.splitFactor = 10 + +for comp in dataSamplesMu: + comp.splitFactor = 800 + comp.isMC = False + comp.isData = True + +for comp in dataSamplesE: + comp.splitFactor = 800 + comp.isMC = False + comp.isData = True + +for comp in dataSamplesMuE: + comp.splitFactor = 400 + comp.isMC = False + comp.isData = True + +for comp in dataSamples1Mu: + comp.splitFactor = 500 + comp.isMC = False + comp.isData = True + + + diff --git a/CMGTools/MonoXAnalysis/python/samples/samples_monojet.py b/CMGTools/MonoXAnalysis/python/samples/samples_monojet.py new file mode 100644 index 000000000000..e3d029e4a637 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/samples/samples_monojet.py @@ -0,0 +1,295 @@ +import PhysicsTools.HeppyCore.framework.config as cfg +import os +dataDir = os.environ['CMSSW_BASE']+"/src/CMGTools/TTHAnalysis/data" + +################## Triggers +from CMGTools.MonoXAnalysis.samples.triggers_monojet import * + + + +#####COMPONENT CREATOR##### + +from CMGTools.TTHAnalysis.samples.ComponentCreator import ComponentCreator +kreator = ComponentCreator() + +################################################################################ +#### Background samples +################## PU20 bx25ns (default of phys14, so no postfix) ############## + +# W inclusive (cross section from FEWZ, StandardModelCrossSectionsat13TeV) +WJetsToLNu = kreator.makeMCComponent("WJetsToLNu","/WJetsToLNu_13TeV-madgraph-pythia8-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 20508.9) + +#W+jets +# cross sections for WJets taken from McM LO times inclusive k-factor from FEWZ(20508.9 pb x3)/McM(50100.0) +WJetsToLNu_HT100to200 = kreator.makeMCComponent("WJetsToLNu_HT100to200", "/WJetsToLNu_HT-100to200_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",1817.0*1.23) +WJetsToLNu_HT200to400 = kreator.makeMCComponent("WJetsToLNu_HT200to400", "/WJetsToLNu_HT-200to400_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",471.6*1.23) +WJetsToLNu_HT400to600 = kreator.makeMCComponent("WJetsToLNu_HT400to600", "/WJetsToLNu_HT-400to600_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",55.61*1.23) +WJetsToLNu_HT600toInf = kreator.makeMCComponent("WJetsToLNu_HT600toInf", "/WJetsToLNu_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",18.81*1.23) +WJetsToLNuHT = [ +WJetsToLNu_HT100to200, +WJetsToLNu_HT200to400, +WJetsToLNu_HT400to600, +WJetsToLNu_HT600toInf, +] + + +# DY inclusive (cross section from FEWZ, StandardModelCrossSectionsat13TeV) +DYJetsToLL_M50 = kreator.makeMCComponent("DYJetsToLL_M50", "/DYJetsToLL_M-50_13TeV-madgraph-pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 2008.*3) + +# DY HT bins: cross sections for DYJets taken from McM LO times inclusive k-factor from FEWZ(2008 pb x3)/McM(4746) +DYJetsToLL_M50_HT100to200 = kreator.makeMCComponent("DYJetsToLL_M50_HT100to200", "/DYJetsToLL_M-50_HT-100to200_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",194.3*1.27) +DYJetsToLL_M50_HT200to400 = kreator.makeMCComponent("DYJetsToLL_M50_HT200to400", "/DYJetsToLL_M-50_HT-200to400_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",52.24*1.27) +DYJetsToLL_M50_HT400to600 = kreator.makeMCComponent("DYJetsToLL_M50_HT400to600", "/DYJetsToLL_M-50_HT-400to600_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",6.546*1.27) +DYJetsToLL_M50_HT600toInf = kreator.makeMCComponent("DYJetsToLL_M50_HT600toInf", "/DYJetsToLL_M-50_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",2.179*1.27) +DYJetsM50HT = [ +DYJetsToLL_M50_HT100to200, +DYJetsToLL_M50_HT200to400, +DYJetsToLL_M50_HT400to600, +DYJetsToLL_M50_HT600toInf, +] + +#Z-> nunu +jets +ZJetsToNuNu_HT100to200 = kreator.makeMCComponent("ZJetsToNuNu_HT100to200", "/ZJetsToNuNu_HT-100to200_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",372.6*1.27) +ZJetsToNuNu_HT200to400 = kreator.makeMCComponent("ZJetsToNuNu_HT200to400", "/ZJetsToNuNu_HT-200to400_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",100.8*1.27) +ZJetsToNuNu_HT400to600 = kreator.makeMCComponent("ZJetsToNuNu_HT400to600", "/ZJetsToNuNu_HT-400to600_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root",11.99*1.27) +ZJetsToNuNu_HT600toInf = kreator.makeMCComponent("ZJetsToNuNu_HT600toInf", "/ZJetsToNuNu_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",4.113*1.27) +ZJetsToNuNuHT = [ +ZJetsToNuNu_HT100to200, +ZJetsToNuNu_HT200to400, +ZJetsToNuNu_HT400to600, +ZJetsToNuNu_HT600toInf, +] + + +#photon+jets +GJets_HT100to200 = kreator.makeMCComponent("GJets_HT100to200", "/GJets_HT-100to200_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",1534) +GJets_HT200to400 = kreator.makeMCComponent("GJets_HT200to400", "/GJets_HT-200to400_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",489.9) +GJets_HT400to600 = kreator.makeMCComponent("GJets_HT400to600", "/GJets_HT-400to600_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",62.05) +GJets_HT600toInf = kreator.makeMCComponent("GJets_HT600toInf", "/GJets_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",20.87) +GJetsHT = [ +GJets_HT100to200, +GJets_HT200to400, +GJets_HT400to600, +GJets_HT600toInf, +] + + + +#QCD +## Cross sections from McM (LO Madgraph) +QCD_HT_100To250 = kreator.makeMCComponent("QCD_HT_100To250", "/QCD_HT-100To250_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 28730000) +QCD_HT_250To500 = kreator.makeMCComponent("QCD_HT_250To500", "/QCD_HT_250To500_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 670500) +QCD_HT_250To500_ext1 = kreator.makeMCComponent("QCD_HT_250To500_ext1", "/QCD_HT_250To500_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1_ext1-v2/MINIAODSIM", "CMS", ".*root", 670500) +QCD_HT_500To1000 = kreator.makeMCComponent("QCD_HT_500To1000", "/QCD_HT-500To1000_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 26740) +QCD_HT_500To1000_ext1 = kreator.makeMCComponent("QCD_HT_500To1000_ext1", "/QCD_HT-500To1000_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1_ext1-v1/MINIAODSIM", "CMS", ".*root", 26740) +QCD_HT_1000ToInf_ext1 = kreator.makeMCComponent("QCD_HT_1000ToInf_ext1", "/QCD_HT_1000ToInf_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1_ext1-v1/MINIAODSIM", "CMS", ".*root", 769.7) +QCD_HT_1000ToInf = kreator.makeMCComponent("QCD_HT_1000ToInf", "/QCD_HT_1000ToInf_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 769.7) +QCDHT = [ +QCD_HT_100To250, +QCD_HT_250To500, +QCD_HT_500To1000, +QCD_HT_1000ToInf, +QCD_HT_250To500_ext1, +QCD_HT_500To1000_ext1, +QCD_HT_1000ToInf_ext1 +] + +QCD_Pt15to30 = kreator.makeMCComponent("QCD_Pt15to30","/QCD_Pt-15to30_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 2237000000) +QCD_Pt30to50 = kreator.makeMCComponent("QCD_Pt30to50","/QCD_Pt-30to50_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 161500000) +QCD_Pt50to80 = kreator.makeMCComponent("QCD_Pt50to80","/QCD_Pt-50to80_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 22110000) +QCD_Pt80to120 = kreator.makeMCComponent("QCD_Pt80to120","/QCD_Pt-80to120_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 3000114.3) +QCD_Pt120to170 = kreator.makeMCComponent("QCD_Pt120to170","/QCD_Pt-120to170_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 493200) +QCD_Pt170to300 = kreator.makeMCComponent("QCD_Pt170to300","/QCD_Pt-170to300_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 120300) +QCD_Pt300to470 = kreator.makeMCComponent("QCD_Pt300to470","/QCD_Pt-300to470_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 7475) +QCD_Pt470to600 = kreator.makeMCComponent("QCD_Pt470to600","/QCD_Pt-470to600_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 587.1) +QCD_Pt600to800 = kreator.makeMCComponent("QCD_Pt600to800","/QCD_Pt-600to800_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 167) +QCD_Pt800to1000 = kreator.makeMCComponent("QCD_Pt800to1000","/QCD_Pt-800to1000_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 28.25) +QCD_Pt1000to1400 = kreator.makeMCComponent("QCD_Pt1000to1400","/QCD_Pt-1000to1400_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 8.195) +QCD_Pt1400to1800 = kreator.makeMCComponent("QCD_Pt1400to1800","/QCD_Pt-1400to1800_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 0.7346) +QCD_Pt1800to2400 = kreator.makeMCComponent("QCD_Pt1800to2400","/QCD_Pt-1800to2400_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 0.102, True) +QCD_Pt2400to3200 = kreator.makeMCComponent("QCD_Pt2400to3200","/QCD_Pt-2400to3200_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 0.00644, True) +QCD_Pt3200 = kreator.makeMCComponent("QCD_Pt3200","/QCD_Pt-3200_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 0.000163, True) + +QCDPt = [ +QCD_Pt15to30, +QCD_Pt30to50, +QCD_Pt50to80, +QCD_Pt80to120, +QCD_Pt120to170, +QCD_Pt170to300, +QCD_Pt300to470, +QCD_Pt470to600, +QCD_Pt600to800, +QCD_Pt800to1000, +QCD_Pt1000to1400, +QCD_Pt1400to1800, +QCD_Pt1800to2400, +QCD_Pt2400to3200, +QCD_Pt3200 +] + +# Muon-enriched QCD (cross sections and filter efficiency from McM) +QCD_Mu15 = kreator.makeMCComponent("QCD_Mu15", "/QCD_Pt-20toInf_MuEnrichedPt15_PionKaonDecay_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v3/MINIAODSIM", "CMS", ".*root", 866.6e6*0.00044); + +# Electron-enriched QCD (cross sections and filter efficiency from McM) +QCD_Pt10to20_EMEnriched = kreator.makeMCComponent("QCD_Pt10to20_EMEnriched", "/QCD_Pt-10to20_EMEnriched_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 8838e6*0.143); +QCD_Pt20to30_EMEnriched = kreator.makeMCComponent("QCD_Pt20to30_EMEnriched", "/QCD_Pt-20to30_EMEnriched_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 6773e5*0.007); +QCD_Pt30to80_EMEnriched = kreator.makeMCComponent("QCD_Pt30to80_EMEnriched", "/QCD_Pt-30to80_EMEnriched_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 1859e5*0.056); +QCD_Pt80to170_EMEnriched = kreator.makeMCComponent("QCD_Pt80to170_EMEnriched", "/QCD_Pt-80to170_EMEnriched_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 3259e3*0.158); +QCDPtEMEnriched = [ +QCD_Pt10to20_EMEnriched, +QCD_Pt20to30_EMEnriched, +QCD_Pt30to80_EMEnriched, +QCD_Pt80to170_EMEnriched +] + +QCD_Pt20to30_bcToE = kreator.makeMCComponent("QCD_Pt20to30_bcToE", "/QCD_Pt_20to30_bcToE_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 6759e5*0.00075); +QCD_Pt30to80_bcToE = kreator.makeMCComponent("QCD_Pt30to80_bcToE", "/QCD_Pt_30to80_bcToE_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 1859e5*0.00272); +QCD_Pt80to170_bcToE = kreator.makeMCComponent("QCD_Pt80to170_bcToE", "/QCD_Pt_80to170_bcToE_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 3495e3*0.01225); +QCD_Pt170toInf_bcToE = kreator.makeMCComponent("QCD_Pt170toInf_bcToE", "/QCD_Pt_170toInf_bcToE_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 1285e2*0.0406); +QCDPtbcToE = [ +QCD_Pt20to30_bcToE, +QCD_Pt30to80_bcToE, +QCD_Pt80to170_bcToE, +QCD_Pt170toInf_bcToE +] + + + +# Single top cross sections: https://twiki.cern.ch/twiki/bin/viewauth/CMS/SingleTopSigma +TToLeptons_tch = kreator.makeMCComponent("TToLeptons_tch", "/TToLeptons_t-channel-CSA14_Tune4C_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 136.05*0.108*3) +TToLeptons_sch = kreator.makeMCComponent("TToLeptons_sch", "/TToLeptons_s-channel-CSA14_Tune4C_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 7.20*0.108*3) +TBarToLeptons_tch = kreator.makeMCComponent("TBarToLeptons_tch", "/TBarToLeptons_t-channel_Tune4C_CSA14_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 80.97*0.108*3) +TBarToLeptons_sch = kreator.makeMCComponent("TBarToLeptons_sch", "/TBarToLeptons_s-channel-CSA14_Tune4C_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 4.16*0.108*3) +TBar_tWch = kreator.makeMCComponent("TBar_tWch", "/Tbar_tW-channel-DR_Tune4C_13TeV-CSA14-powheg-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",35.6) +T_tWch = kreator.makeMCComponent("T_tWch", "/T_tW-channel-DR_Tune4C_13TeV-CSA14-powheg-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",35.6) + +SingleTop = [ + TToLeptons_tch, TToLeptons_sch, TBarToLeptons_tch, TBarToLeptons_sch, TBar_tWch, T_tWch +] + +# TTbar cross section: MCFM with dynamic scale, StandardModelCrossSectionsat13TeV +TTJets = kreator.makeMCComponent("TTJets", "/TTJets_MSDecaysCKM_central_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",809.1) + +# TTV cross sections are from 13 TeV MG5_aMC@NLO v2.2.1, NNPDF 2.3nlo, fixed scale = mtop + 0.5*mv +TTWJets = kreator.makeMCComponent("TTWJets", "/TTWJets_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.6647) +TTZJets = kreator.makeMCComponent("TTZJets", "/TTZJets_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.8565) + +# TTH cross section from LHC Higgs XS WG: https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt1314TeV?rev=15 +TTH = kreator.makeMCComponent("TTH", "/TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root",0.5085) + + +# cross section from StandardModelCrossSectionsat13TeV (NLO MCFM, mll > 12) times BR=(3*0.108)*(3*0.0337) +WZJetsTo3LNu = kreator.makeMCComponent("WZJetsTo3LNu", "/WZJetsTo3LNu_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",2.165) +# cross section from StandardModelCrossSectionsat13TeV (NLO MCFM, mll > 12) times BR=(3*0.0337)**2 +ZZTo4L = kreator.makeMCComponent("ZZTo4L","/ZZTo4L_Tune4C_13TeV-powheg-pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 31.8*(3*0.03366**2)) + +# GGH cross section from LHC Higgs XS WG: https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt1314TeV?rev=15 +GGHZZ4L = kreator.makeMCComponent("GGHZZ4L", "/GluGluToHToZZTo4L_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 43.92*2.76E-04) + + + +#### Signal samples +# cross sections from https://twiki.cern.ch/twiki/bin/viewauth/CMS/Monojet +Monojet_M_10_V = kreator.makeMCComponent("Monojet_M_10_V", '/DarkMatter_Monojet_M-10_V_Tune4C_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM', "CMS", ".*root", 9.5463E-07) +Monojet_M_100_V = kreator.makeMCComponent("Monojet_M_100_V", '/DarkMatter_Monojet_M-100_V_Tune4C_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM', "CMS", ".*root", 9.0451E-07) +Monojet_M_1000_V = kreator.makeMCComponent("Monojet_M_1000_V", '/DarkMatter_Monojet_M-1000_V_Tune4C_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM', "CMS", ".*root", 1.2438E-07) +Monojet_M_1_AV = kreator.makeMCComponent("Monojet_M_1_AV", '/DarkMatter_Monojet_M-1_AV_Tune4C_13TeV-madgraph/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM', "CMS", ".*root", 9.5695E-07) +Monojet_M_10_AV = kreator.makeMCComponent("Monojet_M_10_AV", '/DarkMatter_Monojet_M-10_AV_Tune4C_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM', "CMS", ".*root", 9.5381E-07) +Monojet_M_100_AV = kreator.makeMCComponent("Monojet_M_100_AV", '/DarkMatter_Monojet_M-100_AV_Tune4C_13TeV-madgraph/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM', "CMS", ".*root", 8.0087E-07) +Monojet_M_1000_AV = kreator.makeMCComponent("Monojet_M_1000_AV", '/DarkMatter_Monojet_M-1000_AV_Tune4C_13TeV-madgraph/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM', "CMS", ".*root", 4.6629E-07) +MonojetSignalSamples = [ +Monojet_M_10_V, +Monojet_M_100_V, +Monojet_M_1000_V, +Monojet_M_1_AV, +Monojet_M_10_AV, +Monojet_M_100_AV, +Monojet_M_1000_AV, +] + +mcSamplesPHYS14_PU20bx25 = QCDHT + QCDPt + [QCD_Mu15] + QCDPtEMEnriched + QCDPtbcToE + [WJetsToLNu] + WJetsToLNuHT + [DYJetsToLL_M50] + DYJetsM50HT + GJetsHT + ZJetsToNuNuHT + SingleTop + [ TTJets, TTWJets, TTZJets, WZJetsTo3LNu] + MonojetSignalSamples + +## PRIVATE SAMPLES + +GJets_HT100to200_fixPhoton = kreator.makeMCComponentFromEOS('GJets_HT100to200', '/GJets_HT-100to200_Tune4C_13TeV-madgraph-tauola/miniAOD_fixPhoton_7_2_3/150204_164703/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s',".*root", 1534) +GJets_HT200to400_fixPhoton = kreator.makeMCComponentFromEOS('GJets_HT200to400', '/GJets_HT-200to400_Tune4C_13TeV-madgraph-tauola/miniAOD_fixPhoton_7_2_3/150204_164621/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s',".*root", 489.9) +GJets_HT400to600_fixPhoton = kreator.makeMCComponentFromEOS('GJets_HT400to600', '/GJets_HT-400to600_Tune4C_13TeV-madgraph-tauola/miniAOD_fixPhoton_7_2_3/150204_164547/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s',".*root", 62.05) +GJets_HT600toInf_fixPhoton = kreator.makeMCComponentFromEOS('GJets_HT600toInf', '/GJets_HT-600toInf_Tune4C_13TeV-madgraph-tauola/miniAOD_fixPhoton_7_2_3/150204_122016/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s',".*root", 20.87) +GJets_fixPhoton = [ +GJets_HT100to200_fixPhoton, +GJets_HT200to400_fixPhoton, +GJets_HT400to600_fixPhoton, +GJets_HT600toInf_fixPhoton, +] + +QCD_HT_100To250_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_100To250", '/QCD_HT-100To250_13TeV-madgraph/miniAOD_fixPhoton_reco/150206_145121/0000/', '/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_reco/%s', ".*root", 28730000) +QCD_HT_250To500_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_250To500", '/QCD_HT_250To500_13TeV-madgraph/miniAOD_fixPhoton_reco/150206_145040/0000/', '/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_reco/%s', ".*root", 670500) +QCD_HT_250To500_ext1_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_250To500_ext1", '/QCD_HT_250To500_13TeV-madgraph/miniAOD_fixPhoton_reco/150206_144831/0000/', '/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_reco/%s', ".*root", 670500) +QCD_HT_500To1000_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_500To1000", '/QCD_HT-500To1000_13TeV-madgraph/miniAOD_fixPhoton_reco/150206_144759/0000/', '/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_reco/%s', ".*root", 26740) +QCD_HT_500To1000_ext1_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_500To1000_ext1", '/QCD_HT-500To1000_13TeV-madgraph/miniAOD_fixPhoton_reco/150206_144615/0000/', '/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_reco/%s', ".*root", 26740) +QCD_HT_1000ToInf_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_1000ToInf", '/QCD_HT_1000ToInf_13TeV-madgraph/miniAOD_fixPhoton_7_2_3/150204_172505/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s', ".*root", 769.7) +QCD_HT_1000ToInf_ext1_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_1000ToInf_ext1", '/QCD_HT_1000ToInf_13TeV-madgraph/miniAOD_fixPhoton_7_2_3/150204_172427/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s', ".*root", 769.7) +QCDHT_fixPhoton = [ +QCD_HT_100To250_fixPhoton, +QCD_HT_250To500_fixPhoton, +QCD_HT_500To1000_fixPhoton, +QCD_HT_1000ToInf_fixPhoton, +QCD_HT_250To500_ext1_fixPhoton, +QCD_HT_500To1000_ext1_fixPhoton, +QCD_HT_1000ToInf_ext1_fixPhoton, +] + +QCD_Pt170to300_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt170to300" , "QCD_Pt-170to300_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154438/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 120300) +QCD_Pt300to470_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt300to470" , "QCD_Pt-300to470_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154529/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 7475) +QCD_Pt470to600_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt470to600" , "QCD_Pt-470to600_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154700/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 587.1) +QCD_Pt600to800_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt600to800" , "QCD_Pt-600to800_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154904/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 167) +QCD_Pt800to1000_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt800to1000" , "QCD_Pt-800to1000_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_155003/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 28.25) +QCD_Pt1000to1400_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt1000to1400", "QCD_Pt-1000to1400_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154248/0000/", "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 8.195) +QCD_Pt1400to1800_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt1400to1800", "QCD_Pt-1400to1800_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154344/0000/", "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 0.7346) +QCD_Pt1800to2400_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt1800to2400", "QCD_Pt-1800to2400_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150301_002302/0000/", "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 0.102) +QCD_Pt2400to3200_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt2400to3200", "QCD_Pt-2400to3200_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150301_002547/0000/", "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 0.00644) +QCD_Pt3200_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt3200" , "QCD_Pt-3200_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150301_002653/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 0.000163) + + +QCDPt_fixPhoton = [ +QCD_Pt170to300_fixPhoton, +QCD_Pt300to470_fixPhoton, +QCD_Pt470to600_fixPhoton, +QCD_Pt600to800_fixPhoton, +QCD_Pt800to1000_fixPhoton, +QCD_Pt1000to1400_fixPhoton, +QCD_Pt1400to1800_fixPhoton, +QCD_Pt1800to2400_fixPhoton, +QCD_Pt2400to3200_fixPhoton, +QCD_Pt3200_fixPhoton +] + + +mcSamplesPriv = GJets_fixPhoton + QCDHT_fixPhoton + +mcSamples = mcSamplesPHYS14_PU20bx25 + mcSamplesPriv + +from CMGTools.TTHAnalysis.setup.Efficiencies import * + + +#Define splitting +for comp in mcSamples: + comp.isMC = True + comp.isData = False + comp.splitFactor = 250 # if comp.name in [ "WJets", "DY3JetsM50", "DY4JetsM50","W1Jets","W2Jets","W3Jets","W4Jets","TTJetsHad" ] else 100 + comp.puFileMC=dataDir+"/puProfile_Summer12_53X.root" + comp.puFileData=dataDir+"/puProfile_Data12.root" + comp.efficiency = eff2012 + +#for comp in dataSamplesAll: +# comp.splitFactor = 1000 +# comp.isMC = False +# comp.isData = True + +if __name__ == "__main__": + import sys + if "test" in sys.argv: + from CMGTools.TTHAnalysis.samples.ComponentCreator import testSamples + testSamples(mcSamples) + diff --git a/CMGTools/MonoXAnalysis/python/samples/triggers_monojet.py b/CMGTools/MonoXAnalysis/python/samples/triggers_monojet.py new file mode 100644 index 000000000000..fcca61491a8c --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/samples/triggers_monojet.py @@ -0,0 +1,15 @@ +################## Triggers + +# signal triggers from https://twiki.cern.ch/twiki/bin/view/CMS/Monojet +triggers_default = ["HLT_PFMETNoMu90_NoiseCleaned_PFMHTNoMu90_IDTight", + "HLT_PFMETNoMu120_NoiseCleaned_PFMHTNoMu120_IDTight"] + +triggers_backup = ["HLT_PFJet80_PFMETNoMu90_PFMHTNoMu90_IDTight", + "HLT_PFJet80_PFMETNoMu120_PFMHTNoMu120_IDTight", + "HLT_PFMET170", + "HLT_CaloMET200"] + +triggers_gamma = ["HLT_Photon165_HE10", + "HLT_Photon175"] + +triggers_monojet = triggers_default + triggers_backup + triggers_gamma diff --git a/CMGTools/MonoXAnalysis/python/tools/eventVars_monojet.py b/CMGTools/MonoXAnalysis/python/tools/eventVars_monojet.py new file mode 100644 index 000000000000..3d8bcfcb3649 --- /dev/null +++ b/CMGTools/MonoXAnalysis/python/tools/eventVars_monojet.py @@ -0,0 +1,81 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * + +class EventVarsMonojet: + def __init__(self): + self.branches = [ "nMu10V", "nMu20T", "nEle10V", "nEle20T", "nTau15V", "nGamma15V", "nGamma175T", + "dphijj","jetclean", + "weight"] + def initSampleNormalization(self,sample_nevt): + self.sample_nevt = sample_nevt + def listBranches(self): + return self.branches[:] + # physics object multiplicity with the monojet analysis specific selections + def lepIdVeto(self,lep): + if lep.pt <= 10: return False + if abs(lep.pdgId) == 13: + if abs(lep.eta) > 2.4: return False + return lep.relIso04 < 0.2 + elif abs(lep.pdgId) == 11: + if abs(lep.eta) > 2.5: return False + if lep.relIso03 > (0.164369 if abs(lep.eta)<1.479 else 0.212604): return False + if lep.dxy > (0.060279 if abs(lep.eta)<1.479 else 0.273097): return False + if lep.dz > (0.800538 if abs(lep.eta)<1.479 else 0.885860): return False + if not lep.convVeto: return False + return lep.lostHits <= (2 if abs(lep.eta)<1.479 else 3) + def lepIdTight(self,lep): + if lep.pt <= 20: return False + if abs(lep.pdgId) == 13: + return abs(lep.eta) < 2.4 and lep.tightId > 0 and lep.relIso04 < 0.12 + elif abs(lep.pdgId) == 11: + if lep.dxy > (0.009924 if abs(lep.eta)<1.479 else 0.027261): return False + if lep.dz > (0.015310 if abs(lep.eta)<1.479 else 0.147154): return False + return abs(lep.eta) < 2.5 and lep.tightId > 0 and lep.convVeto and lep.lostHits <= 1 and lep.relIso04 < 0.12 + def tauIdVeto(self,tau): + if tau.pt <= 15 or abs(tau.eta) > 2.3: return False + return tau.idDecayMode > 0.5 and tau.idCI3hit > 0.5 and tau.idAntiMu > 0.5 and tau.idAntiE > 0.5 + def gammaIdVeto(self,gamma): + return gamma.pt > 15 and abs(gamma.eta) < 2.5 + def gammaIdTight(self,gamma): + return gamma.pt > 175 and abs(gamma.eta) < 2.5 + def __call__(self,event): + # prepare output + ret = dict([(name,0.0) for name in self.branches]) + ret['weight'] = event.xsec * 1000 / self.sample_nevt + leps = [l for l in Collection(event,"LepGood","nLepGood")] + ret['nMu10V'] = sum([(abs(l.pdgId)==13 and int(self.lepIdVeto(l))) for l in leps ]) + ret['nMu20T'] = sum([(abs(l.pdgId)==13 and int(self.lepIdTight(l))) for l in leps ]) + ret['nEle10V'] = sum([(abs(l.pdgId)==11 and int(self.lepIdVeto(l))) for l in leps ]) + ret['nEle20T'] = sum([(abs(l.pdgId)==11 and int(self.lepIdTight(l))) for l in leps ]) + taus = [t for t in Collection(event,"TauGood","nTauGood")] + ret['nTau15V'] = sum([(int(self.tauIdVeto(t))) for t in taus ]) + photons = [p for p in Collection(event,"GammaGood","nGammaGood")] + ret['nGamma15V'] = sum([(int(self.gammaIdVeto(p))) for p in photons ]) + ret['nGamma175T'] = sum([(int(self.gammaIdTight(p))) for p in photons ]) + # event variables for the monojet analysis + jets = [j for j in Collection(event,"Jet","nJet")] + njet = len(jets) + ret['dphijj'] = deltaPhi(jets[0],jets[1]) if njet >= 2 else 999 + if njet >= 1: + jclean = jets[0].chHEF > 0.2 and jets[0].neHEF < 0.7 and jets[0].phEF < 0.7 + if njet >= 2: + jclean = jclean and jets[0].neHEF < 0.7 and jets[0].phEF < 0.9 + ret['jetclean'] = jclean + return ret + +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + tree.vectorTree = True + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf = EventVarsMonojet() + def analyze(self,ev): + if ev.metNoMu_pt < 200: return True + print "\nrun %6d lumi %4d event %d: metNoMu %d" % (ev.run, ev.lumi, ev.evt, ev.metNoMu_pt) + print self.sf(ev) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) + + diff --git a/CMGTools/Production/python/ProductionTasks.py b/CMGTools/Production/python/ProductionTasks.py index 7211129fef22..b64cb1571e93 100644 --- a/CMGTools/Production/python/ProductionTasks.py +++ b/CMGTools/Production/python/ProductionTasks.py @@ -208,7 +208,7 @@ def run(self, input): return {'Topdir':None,'Directory':None} topdir = castortools.lfnToCastor(castorBaseDir(user=self.user)) directory = '%s/%s' % (topdir,self.dataset) - directory = directory.replace('//','/') + # directory = directory.replace('//','/') if not castortools.fileExists(directory): if hasattr(self,'create') and self.create: castortools.createCastorDir(directory) diff --git a/CMGTools/Production/python/batchmanager.py b/CMGTools/Production/python/batchmanager.py index e57bc5c33f28..f2e5acf6aa74 100644 --- a/CMGTools/Production/python/batchmanager.py +++ b/CMGTools/Production/python/batchmanager.py @@ -241,6 +241,7 @@ def RunningMode(self, batch): "LXPLUS" : batch command is bsub, and logged on lxplus "PSI" : batch command is qsub, and logged to t3uiXX "NAF" : batch command is qsub, and logged on naf + "IC" : batch command is qsub, and logged on hep.ph.ic.ac.uk "LOCAL" : batch command is nohup. In all other cases, a CmsBatchException is raised @@ -269,6 +270,9 @@ def RunningMode(self, batch): elif onNAF: print 'running on NAF : %s from %s' % (batchCmd, hostName) return 'NAF' + elif onIC: + print 'running on IC : %s from %s' % (batchCmd, hostName) + return 'IC' else: err = 'Cannot run %s on %s' % (batchCmd, hostName) raise ValueError( err ) diff --git a/CMGTools/Production/python/cmgdbToolsApi.py b/CMGTools/Production/python/cmgdbToolsApi.py index 59f205b1d289..2f0b3b847a18 100755 --- a/CMGTools/Production/python/cmgdbToolsApi.py +++ b/CMGTools/Production/python/cmgdbToolsApi.py @@ -11,6 +11,8 @@ os.system("source /afs/cern.ch/cms/slc5_amd64_gcc434/external/python/2.6.4-cms16/etc/profile.d/init.sh") os.system("source /afs/cern.ch/cms/slc5_amd64_gcc434/external/py2-cx-oracle/5.1/etc/profile.d/init.sh") +import CMGTools.Production.eostools as eostools + import sys, re #import CMGTools.Production.cx_Oracle as cx_Oracle import cx_Oracle @@ -686,7 +688,7 @@ def addAnalyzer( self, analyzerName ): def addRootFilesToValidationRunWithAnalyzerOnDataset( self, validationRunID, eosPath, dir_name, analyzer_name, root_file ): try: - lfnPath = eosPath.replace( "/eos/cms", "" ) + lfnPath = eostools.eosToLFN(eosPath) datasetInfo = self.selectCur.execute( "SELECT dataset_id,file_owner, path_name from " +self.schema_name+ ".dataset_details where lfn='%s'" % lfnPath ).fetchone() except: diff --git a/CMGTools/Production/python/datasetInformation.py b/CMGTools/Production/python/datasetInformation.py index bb240acc806f..68d4f8b44c3c 100644 --- a/CMGTools/Production/python/datasetInformation.py +++ b/CMGTools/Production/python/datasetInformation.py @@ -302,7 +302,7 @@ def createLoggerTemporaryFile(self): try: self._logger_file = tempfile.NamedTemporaryFile() - lfn = self.dataset_details['LFN'] + lfn = eostools.eosToLFN(self.dataset_details['LFN']) os.system("cmsStage -f "+lfn+"/Logger.tgz "+self._logger_file.name) self._logger_tar_object = tarfile.open(fileobj=self._logger_file) @@ -453,7 +453,7 @@ def buildDatasetSizeReport(self): for group_name in self.dataset_details['FileGroups']: size_in_bytes = 0 for file_name in self.dataset_details['FileGroups'][group_name]['Files']: - size_in_bytes += int(self.dataset.filesAndSizes[file_name]) + size_in_bytes += int(self.dataset.filesAndSizes[eostools.lfnToEOS(file_name)]) size_in_tb = float(size_in_bytes)/1000000000000 self.dataset_details['FileGroups'][group_name]["SizeInTB"]=size_in_tb diff --git a/CMGTools/Production/python/eostools.py b/CMGTools/Production/python/eostools.py index 9171aaed0c41..c2bf1607af3d 100644 --- a/CMGTools/Production/python/eostools.py +++ b/CMGTools/Production/python/eostools.py @@ -11,6 +11,7 @@ def setCAFPath(): """Hack to get the CAF scripts on the PYTHONPATH""" caf = '/afs/cern.ch/cms/caf/python' + if caf not in sys.path: sys.path.append(caf) setCAFPath() @@ -57,7 +58,7 @@ def isLFN( path ): def isEOS( path ): """Tests whether this path is a CMS EOS (name starts with /eos...)""" - return path.startswith('/eos') + return path.startswith('/eos') or path.startswith('root://eoscms.cern.ch//eos/cms') def eosToLFN( path ): """Converts a EOS PFN to an LFN. @@ -65,7 +66,7 @@ def eosToLFN( path ): Just strip out /eos/cms from path. If this string is not found, return path. ??? Shouldn't we raise an exception instead?""" - return path.replace('/eos/cms','') + return path.replace('root://eoscms.cern.ch/', '').replace('/eos/cms','') #also define an alias for backwards compatibility castorToLFN = eosToLFN @@ -82,8 +83,8 @@ def lfnToPFN( path, tfcProt = 'rfio'): ??? what is tfcprot? """ - if path.startswith("/store/cmst3/"): - path = path.replace("/store/cmst3/","root://eoscms.cern.ch//store/cmst3/") + if path.startswith("/store/"): + path = path.replace("/store/","root://eoscms.cern.ch//eos/cms/store/") if path.startswith("/pnfs/psi.ch/cms/trivcat/"): path = path.replace("/pnfs/psi.ch/cms/trivcat/","root://t3se01.psi.ch//") #print "path to cmsFile():", path @@ -107,8 +108,8 @@ def lfnToEOS( path ): If path is not an LFN in the first place, return path. ??? shouldn't we raise an exception?""" if isLFN(path): - pfn = '/eos/cms/' + path - return pfn.replace('//','/') + pfn = 'root://eoscms.cern.ch//eos/cms/' + path + return pfn.replace('//store','/store') else: return path @@ -120,6 +121,8 @@ def isEOSDir( path ): /store/... or /eos/cms/store/... + or + root://eoscms.cern.ch//eos/cms/ Otherwise, returns False. @@ -132,7 +135,7 @@ def isEOSDir( path ): # COLIN: I think this condition could be removed, # as it duplicates the following one. return False - if not path.startswith('/eos') and not path.startswith('/store'): + if not path.startswith('/eos') and not path.startswith('/store') and not path.startswith('root://eoscms.cern.ch//eos/cms/'): # neither an EOS PFN or a LFN. return False # at this stage, we must have an EOS PFN or an LFN diff --git a/CMGTools/Production/scripts/cmgListChunksToResub b/CMGTools/Production/scripts/cmgListChunksToResub index a18eb1a27eda..e61ee5c7e2f8 100755 --- a/CMGTools/Production/scripts/cmgListChunksToResub +++ b/CMGTools/Production/scripts/cmgListChunksToResub @@ -7,17 +7,47 @@ if [[ "$1" == "" || "$1" == "-h" || "$1" == "--help" ]]; then exit 1; fi +F=JSONAnalyzer/JSON.pck +if [[ "$1" == "-t" ]]; then + F=$2; shift; shift; + echo "# Will test for the presence of file $F " +fi; + Q=8nh if [[ "$1" == "-q" ]]; then Q=$2; shift; shift; fi; +Z=0 +if [[ "$1" == "-z" ]]; then + if echo $F | grep -q "\.root$"; then + echo "# Will also check if rootfiles $F are zombies or not" + Z=1; shift; + else + echo "# Error: can't test for zombies (-z) if the specified file to test is not a rootfile (-t $F)"; + exit 1; + fi; +fi; + + BASE=""; if [[ "$1" != "" && "$1" != "." ]]; then test -d $1 && cd $1 && BASE="$PWD/"; fi -echo "Will print out the commands to resubmit the chunks that failed " +echo "# Will print out the commands to resubmit the chunks that failed " for D in *_Chunk[0-9]*; do - test -f $D/JSONAnalyzer/JSON.pck || echo cmgResubChunk -q 8nh ${BASE}${D}; + if test \! -s $D/$F; then + echo "cmgResubChunk -q $Q ${BASE}${D} "; + continue; + fi; done; +if [[ "$Z" != "0" ]]; then + echo "# Testing for zombies"; + for Z in $(cmgListZombies "*_Chunk[0-9]*/$F"); do + if test -s $Z; then # empty files have already been found + D=${Z%%/*}; + echo "cmgResubChunk -q $Q ${BASE}${D} # zombie"; + fi; + done +fi; diff --git a/CMGTools/Production/scripts/cmgListZombies b/CMGTools/Production/scripts/cmgListZombies new file mode 100755 index 000000000000..7aeb0fce945d --- /dev/null +++ b/CMGTools/Production/scripts/cmgListZombies @@ -0,0 +1,25 @@ +#!/bin/env python +import sys,ROOT,os +from glob import iglob +ROOT.gROOT.SetBatch(True) + +# http://stackoverflow.com/questions/16582194/python-version-of-freopen +def freopen(f,option,stream): + oldf = open(f,option) + oldfd = oldf.fileno() + newfd = stream.fileno() + os.close(newfd) + os.dup2(oldfd, newfd) +freopen("/dev/null","w",sys.stderr) + +for f in sys.argv: + if f[0] == "-": continue + for file in iglob(f): + if not file.endswith(".root"): continue + tfile = ROOT.TFile.Open(file) + if not tfile or tfile.IsZombie(): + print file + try: + tfile.Close() + except: + pass diff --git a/CMGTools/Production/scripts/cmsBatch.py b/CMGTools/Production/scripts/cmsBatch.py index 30002e9f62f1..dddb882f26de 100755 --- a/CMGTools/Production/scripts/cmsBatch.py +++ b/CMGTools/Production/scripts/cmsBatch.py @@ -7,7 +7,7 @@ # particle flow specific from CMGTools.Production.batchmanager import BatchManager -# import CMGTools.Production.eostools as castortools +import CMGTools.Production.eostools as castortools # cms specific import FWCore.ParameterSet.Config as cms @@ -105,7 +105,7 @@ def batchScriptCERN( remoteDir, index ): """ % prog if remoteDir != '': - remoteDir = remoteDir.replace('/eos/cms','') + remoteDir = castortools.eosToLFN(remoteDir) #remoteDir.replace('/eos/cms','') script += """ for file in *.root; do newFileName=`echo $file | sed -r -e 's/\./_%s\./'` @@ -137,7 +137,7 @@ def batchScriptLocal( remoteDir, index ): """ % prog if remoteDir != '': - remoteDir = remoteDir.replace('/eos/cms','') + remoteDir = castortools.eosToLFN(remoteDir) script += """ for file in *.root; do newFileName=`echo $file | sed -r -e 's/\./_%s\./'` diff --git a/CMGTools/Production/scripts/heppyMvBadChunks.py b/CMGTools/Production/scripts/heppyMvBadChunks.py new file mode 100644 index 000000000000..0018a532ee39 --- /dev/null +++ b/CMGTools/Production/scripts/heppyMvBadChunks.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +import sys +import re +import os +import pprint + +from optparse import OptionParser + +parser = OptionParser(usage='%prog [options]', + description='Check one or more chunck folders. Wildcard (*) can be used to specify multiple directories') + +(options,args) = parser.parse_args() + +if len(args)==0: + print 'provide at least one directory in argument. Use -h to display help' + +dirs = sys.argv[1:] + +badDirs = [] + +for dir in dirs: + if not os.path.isdir(dir): + continue + if dir.find('_Chunk') == -1: + continue + logName = '/'.join([dir, 'log.txt']) + if not os.path.isfile( logName ): + print dir, ': log.txt does not exist' + badDirs.append(dir) + continue + logFile = open(logName) + nEvents = -1 + for line in logFile: + try: + nEvents = line.split('processed:')[1] + except: + pass + if nEvents == -1: + print dir, 'cannot find number of processed events' + elif nEvents == 0: + print dir, '0 events' + else: + continue + badDirs.append(dir) + +if not os.path.isdir('failed'): + os.mkdir('failed') + +for dir in badDirs: + os.system('mv '+dir+' failed') diff --git a/CMGTools/Production/scripts/jobreport.py b/CMGTools/Production/scripts/jobreport.py index c582ceffd396..42805bfa2423 100755 --- a/CMGTools/Production/scripts/jobreport.py +++ b/CMGTools/Production/scripts/jobreport.py @@ -19,7 +19,7 @@ def createLoggerTemporaryFile( dataset_lfn_dir ): when retrieving tags and jobs""" try: logger_file = tempfile.NamedTemporaryFile() - os.system("cmsStage -f "+ os.path.join( dataset_lfn_dir, "Logger.tgz") + " " + logger_file.name) + os.system("cmsStage -f "+ os.path.join( eostools.eosToLFN(dataset_lfn_dir), "Logger.tgz") + " " + logger_file.name) logger_tar_object = tarfile.open(fileobj = logger_file) if len( logger_tar_object.getmembers() )==0: print "\nERROR: Failed to stage logger file" diff --git a/CMGTools/Production/scripts/nafbatch.py b/CMGTools/Production/scripts/nafbatch.py index f593258ae2e8..41c31bbaf170 100755 --- a/CMGTools/Production/scripts/nafbatch.py +++ b/CMGTools/Production/scripts/nafbatch.py @@ -65,7 +65,40 @@ def batchScriptNAF( jobDir='/nfs/dust/cms/user/lobanov/SUSY/Run2/CMG/CMSSW_7_0_6 cd $JobDir echo 'Running in dir' `pwd` + +if [ -f processing ]; then + echo "Already processing that chunk now" + exit 0 +fi + +if [ -f processed ]; then + echo "Already processed that chunk" + exit 0 +fi + +touch processing python $CMSSW_BASE/src/PhysicsTools/HeppyCore/python/framework/looper.py pycfg.py config.pck +# >& looper.log +mv Loop/* ./ +rm -r Loop +rm processing + +# check output quality + +if [ -f log.txt ]; then + log=$(grep "number of events processed" log.txt) + + if $log ; then + echo "Successfully" $log + touch processed + else + echo "Job failed!" + touch failed + fi +else + touch failed +fi + echo echo job end at `date` """ diff --git a/CMGTools/RootTools/data/jec/PHYS14_25_V2_LowPtHenningFix_L1FastJet_AK4PFchs.txt b/CMGTools/RootTools/data/jec/PHYS14_25_V2_LowPtHenningFix_L1FastJet_AK4PFchs.txt new file mode 100644 index 000000000000..dc56aa8356a0 --- /dev/null +++ b/CMGTools/RootTools/data/jec/PHYS14_25_V2_LowPtHenningFix_L1FastJet_AK4PFchs.txt @@ -0,0 +1,83 @@ +{1 JetEta 3 JetPt JetA Rho max(0.0001,1-y*([0]+([1]*z)*(1+[2]*log(x)))/x) Correction L1FastJet} +-5.191 -4.889 9 10 3000 0 10 5 50 6.07418 0.114417 5 +-4.889 -4.716 9 10 3000 0 10 5 50 5.15375 0.487694 0.159868 +-4.716 -4.538 9 10 3000 0 10 5 50 5.21246 0.585868 -0.0502729 +-4.538 -4.363 9 10 3000 0 10 5 50 6.12574 0.488438 0.229241 +-4.363 -4.191 9 10 3000 0 10 5 50 6.67726 0.678986 -0.0435546 +-4.191 -4.013 9 10 3000 0 10 5 50 7.00043 0.75777 -0.0801944 +-4.013 -3.839 9 10 3000 0 10 5 50 7.22386 0.60215 0.178451 +-3.839 -3.664 9 10 3000 0 10 5 50 7.06988 0.699316 -0.00418214 +-3.664 -3.489 9 10 3000 0 10 5 50 7.17471 0.192006 2.16851 +-3.489 -3.314 9 10 3000 0 10 5 50 6.16199 0.703243 -0.0739024 +-3.314 -3.139 9 10 3000 0 10 5 50 5.9693 0.823317 -0.152985 +-3.139 -2.964 9 10 3000 0 10 5 50 11.8487 1.98165 -0.279648 +-2.964 -2.853 9 10 3000 0 10 5 50 14.6314 3.35002 -0.438643 +-2.853 -2.65 9 10 3000 0 10 5 50 17.6736 2.75136 -0.336321 +-2.65 -2.5 9 10 3000 0 10 5 50 19.1965 6.71502 -0.403359 +-2.5 -2.322 9 10 3000 0 10 5 50 12.0646 3.7598 -0.457656 +-2.322 -2.172 9 10 3000 0 10 5 50 8.16139 2.11781 -0.462388 +-2.172 -2.043 9 10 3000 0 10 5 50 6.02472 1.86733 -0.524161 +-2.043 -1.93 9 10 3000 0 10 5 50 5.15018 1.12858 -0.363611 +-1.93 -1.83 9 10 3000 0 10 5 50 4.61933 1.06233 -0.424495 +-1.83 -1.74 9 10 3000 0 10 5 50 4.70834 0.766855 -0.30023 +-1.74 -1.653 9 10 3000 0 10 5 50 5.08853 0.587702 -0.148412 +-1.653 -1.566 9 10 3000 0 10 5 50 5.572 0.576011 -0.130704 +-1.566 -1.479 9 10 3000 0 10 5 50 5.97104 0.661777 -0.168526 +-1.479 -1.392 9 10 3000 0 10 5 50 6.35205 0.653329 -0.0915198 +-1.392 -1.305 9 10 3000 0 10 5 50 6.51533 0.644837 -0.0302764 +-1.305 -1.218 9 10 3000 0 10 5 50 6.69676 0.705396 -0.0695301 +-1.218 -1.131 9 10 3000 0 10 5 50 6.61382 0.765774 -0.144146 +-1.131 -1.044 9 10 3000 0 10 5 50 6.62988 0.702078 -0.0726498 +-1.044 -0.957 9 10 3000 0 10 5 50 6.45385 0.695139 -0.115177 +-0.957 -0.879 9 10 3000 0 10 5 50 6.5249 0.612245 -0.0205677 +-0.879 -0.783 9 10 3000 0 10 5 50 6.55317 0.689977 -0.0884894 +-0.783 -0.696 9 10 3000 0 10 5 50 6.54732 0.677429 -0.0867033 +-0.696 -0.609 9 10 3000 0 10 5 50 6.74962 0.639489 0.00301077 +-0.609 -0.522 9 10 3000 0 10 5 50 6.69582 0.667519 -0.0493622 +-0.522 -0.435 9 10 3000 0 10 5 50 6.69947 0.653949 0.0200383 +-0.435 -0.348 9 10 3000 0 10 5 50 6.709 0.734078 -0.070214 +-0.348 -0.261 9 10 3000 0 10 5 50 6.73185 0.827617 -0.159415 +-0.261 -0.174 9 10 3000 0 10 5 50 6.81464 0.810874 -0.103223 +-0.174 -0.087 9 10 3000 0 10 5 50 6.83419 0.67904 -0.0518786 +-0.087 0 9 10 3000 0 10 5 50 6.91027 0.776252 -0.0682988 +0 0.087 9 10 3000 0 10 5 50 6.87599 0.709501 -0.0379111 +0.087 0.174 9 10 3000 0 10 5 50 6.7878 0.543145 0.141792 +0.174 0.261 9 10 3000 0 10 5 50 6.82904 0.539685 0.138642 +0.261 0.348 9 10 3000 0 10 5 50 6.71373 0.676761 -0.0382789 +0.348 0.435 9 10 3000 0 10 5 50 6.91727 0.142253 2.51583 +0.435 0.522 9 10 3000 0 10 5 50 6.74466 0.600761 0.0433857 +0.522 0.609 9 10 3000 0 10 5 50 6.66631 0.703504 -0.0704134 +0.609 0.696 9 10 3000 0 10 5 50 6.69642 0.531818 0.121908 +0.696 0.783 9 10 3000 0 10 5 50 7.11045 0.116484 5 +0.783 0.879 9 10 3000 0 10 5 50 6.5068 0.737786 -0.10904 +0.879 0.957 9 10 3000 0 10 5 50 6.58787 0.751709 -0.125988 +0.957 1.044 9 10 3000 0 10 5 50 6.52693 0.779697 -0.168878 +1.044 1.131 9 10 3000 0 10 5 50 6.6271 1.10763 -0.313798 +1.131 1.218 9 10 3000 0 10 5 50 6.6723 0.803209 -0.165923 +1.218 1.305 9 10 3000 0 10 5 50 6.78162 0.672577 -0.0663029 +1.305 1.392 9 10 3000 0 10 5 50 6.58198 0.656185 -0.0792149 +1.392 1.479 9 10 3000 0 10 5 50 6.47172 0.899339 -0.180202 +1.479 1.566 9 10 3000 0 10 5 50 6.01714 0.654743 -0.155943 +1.566 1.653 9 10 3000 0 10 5 50 5.48926 0.621197 -0.209821 +1.653 1.74 9 10 3000 0 10 5 50 5.08035 0.638796 -0.183637 +1.74 1.83 9 10 3000 0 10 5 50 4.62442 0.929173 -0.388182 +1.83 1.93 9 10 3000 0 10 5 50 4.60948 0.822719 -0.359007 +1.93 2.043 9 10 3000 0 10 5 50 5.72999 1.27118 -0.277703 +2.043 2.172 9 10 3000 0 10 5 50 6.61412 0.345991 0.765385 +2.172 2.322 9 10 3000 0 10 5 50 8.57174 0.752 -0.181316 +2.322 2.5 9 10 3000 0 10 5 50 12.7483 1.76532 -0.160317 +2.5 2.65 9 10 3000 0 10 5 50 19.1806 6.48354 -0.409864 +2.65 2.853 9 10 3000 0 10 5 50 17.9546 3.41832 -0.405827 +2.853 2.964 9 10 3000 0 10 5 50 14.4508 1.81245 -0.247538 +2.964 3.139 9 10 3000 0 10 5 50 11.7781 1.98542 -0.27456 +3.139 3.314 9 10 3000 0 10 5 50 5.68545 0.762833 -0.187935 +3.314 3.489 9 10 3000 0 10 5 50 6.18164 0.642595 -0.0515478 +3.489 3.664 9 10 3000 0 10 5 50 6.91189 0.733433 -0.0469459 +3.664 3.839 9 10 3000 0 10 5 50 7.11475 0.673233 0.020868 +3.839 4.013 9 10 3000 0 10 5 50 7.13811 0.660068 0.0463074 +4.013 4.191 9 10 3000 0 10 5 50 7.08079 0.792063 -0.0821376 +4.191 4.363 9 10 3000 0 10 5 50 6.7743 0.543513 0.221005 +4.363 4.538 9 10 3000 0 10 5 50 6.19774 0.592016 0.0567584 +4.538 4.716 9 10 3000 0 10 5 50 5.17197 0.554196 -0.0662956 +4.716 4.889 9 10 3000 0 10 5 50 4.92862 0.0881767 5 +4.889 5.191 9 10 3000 0 10 5 50 5.80904 0.815195 -0.277169 diff --git a/CMGTools/RootTools/data/jec/PHYS14_25_V2_LowPtHenningFix_L2Relative_AK4PFchs.txt b/CMGTools/RootTools/data/jec/PHYS14_25_V2_LowPtHenningFix_L2Relative_AK4PFchs.txt new file mode 100644 index 000000000000..c4e571f24031 --- /dev/null +++ b/CMGTools/RootTools/data/jec/PHYS14_25_V2_LowPtHenningFix_L2Relative_AK4PFchs.txt @@ -0,0 +1,83 @@ +{1 JetEta 1 JetPt ((x<=[10])*([0]+TMath::LogNormal(TMath::Log10(x),[1],[2],[3])))+((x>[10])*(([4]+([5]/((log10(x)^2)+[6])))+([7]*exp(-([8]*((log10(x)-[9])*(log10(x)-[9]))))))) Correction L2Relative} +-5.191 -4.889 13 1.51841 11.7654 4.04028 0.371162 0 0.562148 -139606 9 8 -0.3 0.6 1 30 +-4.889 -4.716 13 1.91625 23.0822 2.67743 0.402871 0 0.700646 -1.30822e+06 9 8 -0.3 0.6 1 44.5882 +-4.716 -4.538 13 2.09477 35.0726 2.1106 0.433994 0 0.73951 0.507038 9.03312 2.32345 -0.292417 0.765894 0.930243 33.6223 +-4.538 -4.363 13 1.65715 49.234 2.45542 0.390948 0 0.600276 0.486241 6.46076 1.17415 -0.616483 3.62139 0.905115 14.5585 +-4.363 -4.191 13 1.83177 52.8988 2.00061 0.411973 0 0.660847 0.568128 8.64893 3.46861 -0.899343 28.8188 1.17099 30.562 +-4.191 -4.013 13 1.81503 67.4978 1.99892 0.405392 0 0.648911 0.453291 8.2912 2.36751 -0.243413 38.9123 1.52232 30.4654 +-4.013 -3.839 13 1.53638 84.2753 2.75684 0.399189 0 0.539662 1.71765 10.3423 1.64621 -2.88912 0.260906 0.52421 8.84194 +-3.839 -3.664 13 1.71673 121.636 2.35026 0.422699 0 0.588473 2.48303 1.39614 0.1 -1.03567 0.125586 1.653 12.8298 +-3.664 -3.489 13 1.44126 119.469 3.42747 0.324365 0 0.580536 0.86812 8.29815 0.973155 -1.72311 0.398242 0.388154 8.43261 +-3.489 -3.314 13 2.18486 133.01 2.02809 0.400879 0 0.724571 1.22425 10.0714 3.43404 -0.980124 0.293195 1.24803 30.9872 +-3.314 -3.139 13 2.42634 196.041 1.87143 0.389384 0 0.774115 2.52991 11.7272 27.4124 -1.2401 0.646344 2.16745 29.0374 +-3.139 -2.964 13 1.93715 213.711 1.9535 0.378892 0 0.668467 0.669437 9.59705 2.97174 -0.708825 0.777677 1.15842 20.3732 +-2.964 -2.853 13 2.95543 380.221 0.726785 0.497948 0 0.877686 0.751787 9.35884 14.2191 -0.209233 0.464707 1.45489 25.1328 +-2.853 -2.65 13 3.91143 603.633 0.599207 0.423123 0 1.07939 0.489164 5.97312 1.09717 -2.36134 0.343893 0.0479051 23.5802 +-2.65 -2.5 13 3.63103 638.277 0.555968 0.521886 0 0.968613 0.404293 7.40544 0.579055 -4.17913 0.335134 0.0677774 31.4513 +-2.5 -2.322 13 3.39576 823.215 0.147144 0.363151 0 0.832301 0.353372 9.06222 2.07374 -2.10092 0.422037 0.621064 7.25525 +-2.322 -2.172 13 3.89726 800.719 0.0524537 0.355368 0 0.910586 0.934876 0.783116 0.606762 -0.188145 1.79704 1.44353 8.07674 +-2.172 -2.043 13 4.81808 1044.96 0.057728 0.372379 0 1.07216 0.9796 0.496527 0.988086 -0.143808 1.74561 1.44729 11.2916 +-2.043 -1.93 13 3.68472 1045.93 0.000762882 0.346454 0 0.857778 0.859825 2.08103 2.37416 -0.119365 1.5064 1.46059 6.42238 +-1.93 -1.83 13 4.24655 1066.18 0.00590922 0.354471 0 0.959757 0.705716 5.63736 7.17745 -0.152281 0.818145 1.35752 7.11036 +-1.83 -1.74 13 3.81065 1070.69 0.229242 0.369209 0 0.959459 0.829887 2.57045 2.0286 -0.311719 0.560205 0.653405 9.44291 +-1.74 -1.653 13 3.4542 1067.77 0.202116 0.367786 0 0.870801 0.596746 6.74056 2.60192 -1.3258 0.252081 -0.0692203 6.40886 +-1.653 -1.566 13 3.39083 1588.74 0.142714 0.366898 0 0.8404 0.64698 5.43458 2.19616 -1.27581 0.279954 -0.14194 5.88912 +-1.566 -1.479 13 3.33777 1572.98 0.347098 0.400021 0 0.902868 0.845293 2.47274 2.78631 -0.0870659 2.74638 1.48214 8.38296 +-1.479 -1.392 13 2.96918 1422.17 0.327253 0.404332 0 0.792699 0.681395 7.81758 2.13859 -2.49065 0.200867 -0.440844 4.83059 +-1.392 -1.305 13 2.68631 1454.45 0.623653 0.446395 0 0.800612 0.650625 7.67734 1.92626 -2.36365 0.237021 -0.218611 5.78894 +-1.305 -1.218 13 2.65154 1599.15 0.907234 0.55334 0 0.917819 0.205605 14.6769 3.37404 -2.40763 0.26205 0.175651 20.8204 +-1.218 -1.131 13 2.89449 1981.67 0.625238 0.466554 0 0.887088 0.745667 4.5122 2.56266 -0.503776 0.617638 0.983474 5.16011 +-1.131 -1.044 13 2.69249 1978.72 0.565874 0.438371 0 0.800807 0.808721 3.3039 1.84017 -0.419188 0.709155 1.01263 6.15283 +-1.044 -0.957 13 2.93748 2022.91 0.557892 0.454897 0 0.879455 0.825123 3.06518 2.16834 -0.31737 0.850022 1.17876 6.5875 +-0.957 -0.879 13 2.73015 2019.44 1.50889 0.043271 0 0.620189 0.423387 11.2189 1.55271 -13.7983 0.116927 -2.50015 4.18185 +-0.879 -0.783 13 2.83013 2606.51 0.374094 0.429688 0 0.779148 0.547166 8.54288 1.6142 -5.74783 0.158972 -1.38051 4.79324 +-0.783 -0.696 13 2.851 2554.49 0.530622 0.464028 0 0.841194 0.671137 6.09152 1.40349 -4.23771 0.17273 -1.27253 5.24857 +-0.696 -0.609 13 2.56218 2504.5 0.821672 0.528321 0 0.847649 0.733517 5.00945 1.20792 -3.88516 0.165906 -1.42865 10.3983 +-0.609 -0.522 13 2.69435 2519.76 1.56776 0.0131247 0 0.608163 0.564437 8.7777 1.18963 -57.1029 0.0745066 -5.26297 4.69194 +-0.522 -0.435 13 2.4839 2548.82 0.814406 0.514187 0 0.817686 0.813845 3.55044 0.893616 -2.84617 0.192081 -1.21289 9.1669 +-0.435 -0.348 13 2.64528 2614.61 0.742645 0.515883 0 0.850347 0.773761 4.22607 1.02474 -3.80805 0.175202 -1.4392 8.99446 +-0.348 -0.261 13 2.87674 2627.34 1.44094 9.95086e-09 0 0.554882 0.537134 9.29218 1.29934 -33.8361 0.0854443 -4.27418 4.08773 +-0.261 -0.174 13 2.62339 2618.44 0.807884 0.548867 0 0.865513 0.841798 3.02723 0.706265 -3.40666 0.187201 -1.478 14.6146 +-0.174 -0.087 13 2.66754 2552.85 0.741105 0.517585 0 0.863814 0.728851 4.91775 1.30822 -2.76723 0.202472 -0.873775 9.88829 +-0.087 0 13 2.52921 2532.94 0.868456 0.565355 0 0.847458 0.898129 1.96747 0.280883 -3.59939 0.206962 -1.67722 17.3063 +0 0.087 13 2.54666 2569.77 0.839557 0.536949 0 0.852841 0.877914 2.47897 0.660011 -3.59019 0.159631 -2.02248 13.6254 +0.087 0.174 13 2.41323 2551.63 0.96136 0.575703 0 0.830537 0.917734 1.74971 0.100466 -14.3983 0.13186 -3.72758 24.4963 +0.174 0.261 13 2.43157 2573.55 0.934239 0.56238 0 0.824549 0.979482 0.849553 0.385169 -0.0360315 4.49969 1.62194 15.7019 +0.261 0.348 13 2.65688 2564.43 0.806137 0.541058 0 0.877561 0.833966 3.158 0.644921 -10.6092 0.124009 -3.18281 13.5751 +0.348 0.435 13 2.05851 2563.44 1.21091 0.533811 0 0.718712 0.670504 6.5277 1.71689 -2.33863 0.167844 -0.83903 29.8776 +0.435 0.522 13 2.53692 2589.97 0.788562 0.518261 0 0.818148 0.775363 3.87793 1.3077 -1.22736 0.303542 -0.00695765 6.48887 +0.522 0.609 13 2.71848 2513.53 -1.01793e+07 0.0288704 0 0.819878 0.0121567 20.0272 1.48314 -100 0.0705818 -5.21394 -95.9729 +0.609 0.696 13 2.49477 2586.51 0.68498 0.466547 0 0.769084 0.735204 4.70448 1.21386 -2.56708 0.20658 -0.839587 6.60418 +0.696 0.783 13 1.78583 2046.13 1.58782 0.458352 0 0.677692 0.642833 6.71091 1.25462 -2.24346 0.194484 -0.523951 16.4611 +0.783 0.879 13 2.82578 2580.28 0.3667 0.429684 0 0.773813 0.634223 6.46344 2.0782 -1.55392 0.298144 0.155959 4.49342 +0.879 0.957 13 2.8298 2066.17 0.482273 0.447661 0 0.817957 0.364781 11.6498 2.27344 -3.71245 0.213012 -0.403962 4.81502 +0.957 1.044 13 2.99972 2026.09 0.415613 0.432328 0 0.841451 0.651995 6.22442 2.26742 -1.28832 0.332896 0.321438 5.67838 +1.044 1.131 13 3.42453 1998.37 0.0999162 0.38952 0 0.843771 0.94712 1.59027 2.15637 -0.150357 1.59209 1.41385 6.02888 +1.131 1.218 13 2.91355 1965.76 0.447803 0.423956 0 0.821127 0.570158 7.73056 2.46726 -1.56207 0.305536 0.222904 4.53371 +1.218 1.305 13 2.69246 1577.58 0.742813 0.479078 0 0.854249 0.579816 7.08709 1.63045 -2.7388 0.248697 -0.416649 7.98421 +1.305 1.392 13 2.83907 1452.87 1.46236 0.0511809 0 0.636837 0.500874 12.4662 4.44787 -1.26813 0.290849 0.692991 4.37906 +1.392 1.479 13 10.0000 1436.45 1.54979 0.0213401 0 0.950542 0.734602 6.13987 1.59272 -2.43676 0.239271 -0.368237 9.54991 +1.479 1.566 13 3.30917 1611.78 0.232983 0.386833 0 0.853029 0.764744 3.52567 3.43232 -0.128463 1.96577 1.43104 6.6048 +1.566 1.653 13 3.64128 1098.5 0.13972 0.370166 0 0.893919 0.782993 3.20498 1.98658 -0.524848 0.466471 0.40754 7.30505 +1.653 1.74 13 3.50219 1078.79 0.200578 0.371415 0 0.883196 0.659043 5.5132 2.33406 -1.14279 0.295574 0.0237139 6.91233 +1.74 1.83 13 4.20323 1069.01 0.140028 0.367254 0 1.00255 0.788409 3.31295 2.37905 -0.549768 0.454395 0.449813 9.7353 +1.83 1.93 13 3.99227 1070.51 0.00914967 0.348316 0 0.915111 0.65116 6.1926 3.53243 -0.764559 0.289152 0.354692 7.5134 +1.93 2.043 13 2.9189 1035.24 0.398067 0.395839 0 0.784035 0.399111 10.8575 1.48668 -15.7665 0.106894 -2.86382 5.19028 +2.043 2.172 13 1.92853 1032.91 1.41298 0.446733 0 0.681366 0.533461 7.12831 1.63082 -1.5923 0.266141 0.0677112 23.8457 +2.172 2.322 13 2.48805 781.607 1.00741 0.518069 0 0.795212 0.680087 5.02399 1.02572 -4.18607 0.167839 -1.45672 30.2457 +2.322 2.5 13 2.1023 771.181 1.25386 0.405761 0 0.75734 0.554445 6.44583 0.974933 -2.82863 0.234018 -0.418388 21.4939 +2.5 2.65 13 3.47595 633.113 0.580435 0.538373 0 0.932105 4.19314 -316.567 90.0503 -95.0102 17.1928 10.1878 58.9399 +2.65 2.853 13 3.65406 459.519 0.597599 0.536283 0 1.02643 0.431463 6.71113 1.17239 -2.7148 0.363802 0.14617 27.283 +2.853 2.964 13 2.95782 397.732 1.104 0.412882 0 0.936982 0.760989 3.19588 0.63135 -1.08435 0.390568 -0.109665 25.0214 +2.964 3.139 13 1.93895 210.187 1.94732 0.372481 0 0.680343 0.877389 7.74551 1.55179 -1.56289 0.399807 0.493168 17.7156 +3.139 3.314 13 2.69411 198.252 1.68122 0.393491 0 0.866565 3.56229 13.3867 8.8099 -2.92414 0.133188 2.01882 33.3784 +3.314 3.489 13 2.20818 132.712 2.01616 0.397605 0 0.732672 2.09781 4.28098 56.6119 -0.456366 2.83609 2.14005 31.067 +3.489 3.664 13 1.81693 121.404 2.29328 0.415754 0 0.630081 4.64626 127.999 34.6812 -6.16727 0.141961 1.88527 13.6501 +3.664 3.839 13 1.68703 88.2086 2.49296 0.450502 0 0.579949 2.07013 4.33245 0.739394 -2.08246 0.153378 -0.00399228 8.36211 +3.839 4.013 13 1.67 91.6422 2.40347 0.418941 0 0.585277 -0.290439 18.5541 4.20255 -0.600126 2.27391 1.26228 9.69091 +4.013 4.191 13 1.76661 67.3583 2.14195 0.441823 0 0.613176 3.88037 10.2673 4.40218 -3.42726 0.32434 1.48046 10.9149 +4.191 4.363 13 1.54935 48.9487 2.47548 0.362353 0 0.5878 1.40781 13.8263 9.37603 -0.501235 3.22926 1.69945 13.0878 +4.363 4.538 13 1.74681 47.2504 2.301 0.424848 0 0.61358 1.98581 12.7836 7.51033 -1.19832 0.878467 1.63931 15.4901 +4.538 4.716 13 2.23401 37.9512 2.01705 0.431725 0 0.775352 0.472013 8.86417 2.19677 -0.353284 0.481438 1.07779 23.1619 +4.716 4.889 13 1.48888 16.3021 3.8358 0.352099 0 0.568747 -917891 9 8 -0.3 0.6 1 30 +4.889 5.191 13 2.73936 17.6451 2.77243 0.151976 0 0.0129446 0.5 9 8 -0.3 0.6 1 107.928 diff --git a/CMGTools/RootTools/data/jec/PHYS14_25_V2_LowPtHenningFix_L3Absolute_AK4PFchs.txt b/CMGTools/RootTools/data/jec/PHYS14_25_V2_LowPtHenningFix_L3Absolute_AK4PFchs.txt new file mode 100644 index 000000000000..f5583db57b35 --- /dev/null +++ b/CMGTools/RootTools/data/jec/PHYS14_25_V2_LowPtHenningFix_L3Absolute_AK4PFchs.txt @@ -0,0 +1,2 @@ +{1 JetEta 1 JetPt 1 Correction L3Absolute} +-5.191 5.191 2 4 5000 diff --git a/CMGTools/RootTools/data/jec/PHYS14_V4_MC_L1FastJet_AK4PFchs.txt b/CMGTools/RootTools/data/jec/PHYS14_V4_MC_L1FastJet_AK4PFchs.txt new file mode 100644 index 000000000000..72879affa71b --- /dev/null +++ b/CMGTools/RootTools/data/jec/PHYS14_V4_MC_L1FastJet_AK4PFchs.txt @@ -0,0 +1,83 @@ +{1 JetEta 3 Rho JetPt JetA max(0.0001,1-z*([0]+([1]*x)*(1+[2]*log(y)))/y) Correction L1FastJet} + -5.191 -4.889 9 0 50 1 3000 0 10 -1.34614 0.244533 0.675906 + -4.889 -4.716 9 0 50 1 3000 0 10 -0.764376 0.293045 0.326659 + -4.716 -4.538 9 0 50 1 3000 0 10 -0.257912 0.287151 0.292751 + -4.538 -4.363 9 0 50 1 3000 0 10 -0.981036 0.455992 0.133287 + -4.363 -4.191 9 0 50 1 3000 0 10 -0.0699802 0.502608 0.0713448 + -4.191 -4.013 9 0 50 1 3000 0 10 -0.111972 0.516629 0.0671073 + -4.013 -3.839 9 0 50 1 3000 0 10 -3.39009 0.51091 0.220021 + -3.839 -3.664 9 0 50 1 3000 0 10 -1.24559 0.634598 0.0388912 + -3.664 -3.489 9 0 50 1 3000 0 10 -1.92731 0.654339 0.0515931 + -3.489 -3.314 9 0 50 1 3000 0 10 -1.82893 0.529955 0.107122 + -3.314 -3.139 9 0 50 1 3000 0 10 -0.34628 0.36448 0.170168 + -3.139 -2.964 9 0 50 1 3000 0 10 -0.00913379 0.0598215 5 + -2.964 -2.853 9 0 50 1 3000 0 10 -0.908366 0.0841974 5 + -2.853 -2.65 9 0 50 1 3000 0 10 -1.94703 0.0972195 5 + -2.65 -2.5 9 0 50 1 3000 0 10 -5 0.108861 5 + -2.5 -2.322 9 0 50 1 3000 0 10 -2.80865 0.0729874 5 + -2.322 -2.172 9 0 50 1 3000 0 10 -4.90877 0.0613204 5 + -2.172 -2.043 9 0 50 1 3000 0 10 -3.3027 0.0473924 5 + -2.043 -1.93 9 0 50 1 3000 0 10 -0.109891 0.0292408 5 + -1.93 -1.83 9 0 50 1 3000 0 10 0.0527353 0.0261695 5 + -1.83 -1.74 9 0 50 1 3000 0 10 -0.368367 0.0276018 5 + -1.74 -1.653 9 0 50 1 3000 0 10 -1.10597 0.262751 0.423344 + -1.653 -1.566 9 0 50 1 3000 0 10 1.24415 0.314674 0.115198 + -1.566 -1.479 9 0 50 1 3000 0 10 -5 0.50153 0.226613 + -1.479 -1.392 9 0 50 1 3000 0 10 1.08704 0.305373 0.215875 + -1.392 -1.305 9 0 50 1 3000 0 10 0.587701 0.432253 0.103909 + -1.305 -1.218 9 0 50 1 3000 0 10 0.826879 0.210597 0.526532 + -1.218 -1.131 9 0 50 1 3000 0 10 0.38504 0.368879 0.167961 + -1.131 -1.044 9 0 50 1 3000 0 10 -1.54299 0.394748 0.244975 + -1.044 -0.957 9 0 50 1 3000 0 10 -1.33801 0.524212 0.045741 + -0.957 -0.879 9 0 50 1 3000 0 10 0.0944522 0.263868 0.416583 + -0.879 -0.783 9 0 50 1 3000 0 10 -2.96376 0.447423 0.269856 + -0.783 -0.696 9 0 50 1 3000 0 10 -1.1932 0.492879 0.111571 + -0.696 -0.609 9 0 50 1 3000 0 10 -4.42234 0.564954 0.215209 + -0.609 -0.522 9 0 50 1 3000 0 10 -1.09442 0.26796 0.539453 + -0.522 -0.435 9 0 50 1 3000 0 10 -5 0.500695 0.272047 + -0.435 -0.348 9 0 50 1 3000 0 10 -2.63478 0.537172 0.132796 + -0.348 -0.261 9 0 50 1 3000 0 10 -1.10518 0.232173 0.644293 + -0.261 -0.174 9 0 50 1 3000 0 10 0.211 0.372409 0.221251 + -0.174 -0.087 9 0 50 1 3000 0 10 -0.774645 0.171227 1.02699 + -0.087 0 9 0 50 1 3000 0 10 1.49039 0.359842 0.158924 + 0 0.087 9 0 50 1 3000 0 10 -2.13115 0.306555 0.47743 + 0.087 0.174 9 0 50 1 3000 0 10 0.258257 0.178675 0.675546 + 0.174 0.261 9 0 50 1 3000 0 10 -3.26916 0.329431 0.524111 + 0.261 0.348 9 0 50 1 3000 0 10 -0.248951 0.373615 0.217867 + 0.348 0.435 9 0 50 1 3000 0 10 -2.95649 0.595296 0.127027 + 0.435 0.522 9 0 50 1 3000 0 10 2.7526 0.279851 0.174157 + 0.522 0.609 9 0 50 1 3000 0 10 -2.8733 0.59919 0.123757 + 0.609 0.696 9 0 50 1 3000 0 10 -5 0.472791 0.315299 + 0.696 0.783 9 0 50 1 3000 0 10 11.3808 9.4369e-14 -1.99642 + 0.783 0.879 9 0 50 1 3000 0 10 8.48939 1.25278e-11 -1.99394 + 0.879 0.957 9 0 50 1 3000 0 10 3.15496 0.182984 0.382896 + 0.957 1.044 9 0 50 1 3000 0 10 -2.071 0.475493 0.146825 + 1.044 1.131 9 0 50 1 3000 0 10 0.214896 0.290055 0.313005 + 1.131 1.218 9 0 50 1 3000 0 10 0.680668 0.240582 0.462287 + 1.218 1.305 9 0 50 1 3000 0 10 0.277602 0.165749 0.881277 + 1.305 1.392 9 0 50 1 3000 0 10 -0.359219 0.256245 0.460025 + 1.392 1.479 9 0 50 1 3000 0 10 3.1213 0.0883026 1.07011 + 1.479 1.566 9 0 50 1 3000 0 10 0.424528 0.373831 0.117171 + 1.566 1.653 9 0 50 1 3000 0 10 0.656693 0.220461 0.326949 + 1.653 1.74 9 0 50 1 3000 0 10 1.58326 0.0236682 5 + 1.74 1.83 9 0 50 1 3000 0 10 -0.718604 0.0340836 4.99997 + 1.83 1.93 9 0 50 1 3000 0 10 -1.37588 0.0344925 5 + 1.93 2.043 9 0 50 1 3000 0 10 1.05916 0.0238718 5 + 2.043 2.172 9 0 50 1 3000 0 10 -4.06698 0.053868 5 + 2.172 2.322 9 0 50 1 3000 0 10 -5 0.0631781 5 + 2.322 2.5 9 0 50 1 3000 0 10 -5 0.0794517 5 + 2.5 2.65 9 0 50 1 3000 0 10 -5 0.111306 5 + 2.65 2.853 9 0 50 1 3000 0 10 -0.841678 0.0934387 5 + 2.853 2.964 9 0 50 1 3000 0 10 -0.796131 0.0847748 5 + 2.964 3.139 9 0 50 1 3000 0 10 -0.177092 0.0599007 5 + 3.139 3.314 9 0 50 1 3000 0 10 -1.62412 0.367641 0.23751 + 3.314 3.489 9 0 50 1 3000 0 10 -1.20418 0.538816 0.0625782 + 3.489 3.664 9 0 50 1 3000 0 10 -0.911023 0.518463 0.101993 + 3.664 3.839 9 0 50 1 3000 0 10 -0.404002 0.552756 0.0669061 + 3.839 4.013 9 0 50 1 3000 0 10 -1.53792 0.564849 0.113665 + 4.013 4.191 9 0 50 1 3000 0 10 0.143376 0.390658 0.195462 + 4.191 4.363 9 0 50 1 3000 0 10 -1.3267 0.452724 0.194205 + 4.363 4.538 9 0 50 1 3000 0 10 -1.48479 0.517934 0.109246 + 4.538 4.716 9 0 50 1 3000 0 10 0.172029 0.186273 0.528218 + 4.716 4.889 9 0 50 1 3000 0 10 -0.393261 0.220213 0.454707 + 4.889 5.191 9 0 50 1 3000 0 10 -2.17691 0.303646 0.542164 diff --git a/CMGTools/RootTools/data/jec/PHYS14_V4_MC_L2Relative_AK4PFchs.txt b/CMGTools/RootTools/data/jec/PHYS14_V4_MC_L2Relative_AK4PFchs.txt new file mode 100644 index 000000000000..82a1afde0c04 --- /dev/null +++ b/CMGTools/RootTools/data/jec/PHYS14_V4_MC_L2Relative_AK4PFchs.txt @@ -0,0 +1,83 @@ +{1 JetEta 1 JetPt ([0]+([1]/((log10(x)^2)+[2])))+([3]*exp(-([4]*((log10(x)-[5])*(log10(x)-[5]))))) Correction L2Relative} + -5.191 -4.889 8 2.6007 17.1016 7.26039 10.5485 7.1631 -5.65309 0.753552 1.13871 + -4.889 -4.716 8 2.52825 26.4542 1.25156 5.07552 2.56486 -90.0825 92.5793 0.766055 + -4.716 -4.538 8 2.50846 37.2123 1.15069 4.43789 2.6339 -0.0915373 99.9989 1.05261 + -4.538 -4.363 8 2.62562 53.9959 0.637499 9.19023 3.82353 -0.586862 1.38541 0.682255 + -4.363 -4.191 8 2.55372 55.8247 1.52011 11.0657 4.63298 -1.5572 0.235629 0.571498 + -4.191 -4.013 8 2.62664 70.2651 2.07738 11.5452 4.79759 -2.13191 0.188442 0.681443 + -4.013 -3.839 8 3.37397 90.0042 1.58219 10.0668 5.41105 -1.51358 0.0986918 -0.326021 + -3.839 -3.664 8 2.73878 125.466 1.03583 9.68661 4.22969 -0.902592 0.36119 0.671638 + -3.664 -3.489 8 2.8145 131.413 2.24434 10.9696 5.79204 -1.75721 0.0934882 1.11554 + -3.489 -3.314 8 2.91171 135.276 1.52731 11.7844 13.0233 -0.509404 0.873177 2.02126 + -3.314 -3.139 8 2.977 196.883 3.33636 11.6762 9.47518 -2.52939 0.105433 2.04238 + -3.139 -2.964 8 3.28688 206.695 1.09132 3.87019 1.66822 -0.686247 0.922606 0.408584 + -2.964 -2.853 8 3.6775 348.987 0.694716 5.01135 4.10618 -0.0734323 5.75347 0.936895 + -2.853 -2.65 8 4.00791 586.525 0.606434 5.49423 5.16528 -0.12428 1.0541 1.31625 + -2.65 -2.5 8 4.2306 577.303 0.660893 5.84898 6.02034 -0.158092 0.7535 1.45687 + -2.5 -2.322 8 4.02649 781.074 0.681746 5.4003 6.15736 -0.10108 1.38942 1.64204 + -2.322 -2.172 8 5.02236 775.716 0.771942 4.76125 4.19358 -0.811663 0.132456 -1.1586 + -2.172 -2.043 8 4.81458 1019.89 1.18852 10.1479 10.3552 -0.857729 0.0216925 -0.535561 + -2.043 -1.93 8 4.18128 1033.91 0.869505 8.28998 6.54094 -1.04156 0.034465 -2.66411 + -1.93 -1.83 8 4.301 1052.89 1.01534 10.8018 11.2506 -0.631976 0.0169359 -0.76029 + -1.83 -1.74 8 4.53786 1063.93 0.756645 5.42065 9.13466 -3.95997 2.0143 -0.377843 + -1.74 -1.653 8 4.20562 1065.58 0.689486 8.98505 10.7908 -0.55528 0.0258083 -5.49948 + -1.653 -1.566 8 3.77619 1588.45 0.580965 9.19726 8.9202 -0.282372 0.259817 0.281932 + -1.566 -1.479 8 5.05329 1572.4 0.440144 18.0602 20.1501 -29.1706 0.151489 -4.72881 + -1.479 -1.392 8 3.81297 1421.98 0.705212 11.1147 5.3527 -1.72642 0.122316 -0.702377 + -1.392 -1.305 8 3.68174 1456.23 0.898252 6.38647 16.4401 -0.035486 2.7755 1.77028 + -1.305 -1.218 8 3.87632 1599.08 -0.252258 28.4065 4.61624 -5.57447 0.142343 -0.767673 + -1.218 -1.131 8 3.78786 1980.74 -0.165999 27.7458 4.91252 -4.97633 0.139972 -0.701817 + -1.131 -1.044 8 4.14876 1978.84 0.157661 19.0633 4.12877 -4.77636 0.136129 -1.03617 + -1.044 -0.957 8 4.09869 2023.69 0.115742 19.8876 4.73195 -3.60012 0.158099 -0.562932 + -0.957 -0.879 8 3.91249 2019.75 0.86223 5.14998 13.9545 -0.0316571 2.4534 1.56358 + -0.879 -0.783 8 4.367 2605.8 0.398127 13.9642 4.59887 -2.77804 0.14888 -0.744142 + -0.783 -0.696 8 3.95806 2555.09 0.379788 14.5914 5.14872 -2.259 0.160956 -0.441269 + -0.696 -0.609 8 4.49032 2505.45 0.564615 11.01 5.72109 -1.80095 0.130038 -0.934473 + -0.609 -0.522 8 4.17072 2518.75 0.511156 11.6655 5.1702 -1.85124 0.152262 -0.58964 + -0.522 -0.435 8 4.86608 2550.65 0.7417 10.9161 22.771 -33.3392 0.0714122 -7.69159 + -0.435 -0.348 8 4.23759 2615.7 0.43037 13.8287 5.08965 -2.49671 0.139447 -0.785162 + -0.348 -0.261 8 4.27526 2622.14 -0.0108677 27.3197 5.74479 -4.54258 0.112178 -0.981556 + -0.261 -0.174 8 3.70611 2617.56 0.20742 19.7257 5.68044 -2.67084 0.149258 -0.397864 + -0.174 -0.087 8 4.20999 2551.22 0.531308 11.8112 5.22109 -2.10624 0.127181 -0.960189 + -0.087 0 8 3.50655 2533.52 0.858351 4.58552 12.7528 -0.028606 3.32867 1.64731 + 0 0.087 8 4.41536 2569.54 0.724304 8.87303 11.2181 -0.679679 0.0852985 -1.82064 + 0.087 0.174 8 4.1522 2555.03 0.543995 11.2791 5.03009 -2.09389 0.131147 -0.922414 + 0.174 0.261 8 4.59652 2575.86 0.756346 9.40088 20.9377 -4.99305 0.13501 -4.41141 + 0.261 0.348 8 3.87783 2565.54 0.633776 9.4672 9.14359 -0.453078 0.25019 0.441588 + 0.348 0.435 8 4.12138 2577.27 0.118043 23.7036 5.7795 -3.8144 0.116139 -0.899829 + 0.435 0.522 8 3.40983 2592.66 0.789129 6.33109 13.3586 -0.0542496 1.63393 1.63098 + 0.522 0.609 8 4.10308 2514.41 0.533337 10.7699 5.39492 -1.43912 0.180501 -0.255086 + 0.609 0.696 8 4.90099 2589.32 0.724433 11.6294 24.2281 -38.1375 0.100402 -6.50052 + 0.696 0.783 8 3.11219 2066.8 0.60207 7.81731 1.85258 -4.04057 0.16235 -1.15425 + 0.783 0.879 8 3.24426 2579.8 0.715368 5.53229 4.06138 -0.497443 0.470804 0.88263 + 0.879 0.957 8 3.38961 2064.52 0.461684 20.5213 23.3964 -0.0953246 1.2038 1.62585 + 0.957 1.044 8 4.21492 2024.26 0.468941 12.7425 4.74305 -2.54235 0.141893 -0.860327 + 1.044 1.131 8 3.90087 1990.18 0.199891 18.3235 4.87832 -3.07806 0.158737 -0.532117 + 1.131 1.218 8 3.81073 1963.24 0.0575694 22.2142 5.11599 -3.52432 0.148799 -0.564548 + 1.218 1.305 8 4.02467 1576.49 0.296923 16.1515 4.34241 -3.73704 0.130696 -1.11759 + 1.305 1.392 8 4.15797 1452.5 1.1628 9.10536 7.83078 -1.58183 0.0276411 -3.2313 + 1.392 1.479 8 3.65322 1432.73 0.888571 5.93753 12.4364 -0.0616259 1.22175 1.61454 + 1.479 1.566 8 3.93506 1610.3 0.00393506 18.9539 4.07479 -4.24418 0.162952 -0.7939 + 1.566 1.653 8 4.09366 1095.94 0.563994 13.9144 19.319 -3.31619 1.77244 -0.605435 + 1.653 1.74 8 4.04064 1075.37 0.705339 9.36271 7.94386 -1.30866 0.0378642 -4.15629 + 1.74 1.83 8 4.46405 1057.35 0.810223 4.08384 7.00965 -0.474072 2.09353 0.046757 + 1.83 1.93 8 4.61072 1062.07 0.780857 4.43784 7.48527 -10.5113 3.96663 -0.0908468 + 1.93 2.043 8 3.95702 1027.52 0.809271 5.20161 4.04817 -0.967637 0.0750975 -1.90973 + 2.043 2.172 8 4.94635 1039.56 1.0656 8.69855 8.0591 -1.00056 0.0186059 -2.83217 + 2.172 2.322 8 5.05195 777.039 0.987111 8.16562 6.65266 -1.05165 0.0397538 -1.57628 + 2.322 2.5 8 4.67919 766.955 0.441253 14.5467 15.8397 -0.0607023 1.67629 1.86031 + 2.5 2.65 8 4.15112 575.326 0.495727 8.77598 3.38561 -1.40585 0.222993 -0.016249 + 2.65 2.853 8 3.84242 428.163 0.64457 4.82784 4.90919 -0.0847358 1.83835 1.52944 + 2.853 2.964 8 3.62458 386.563 0.697724 5.23484 4.54417 -2.21479 1.59256 -2.18328 + 2.964 3.139 8 3.35294 203.106 1.18252 8.07876 5.12667 -0.687216 0.0508396 -1.5609 + 3.139 3.314 8 3.28103 197.578 2.26555 11.0011 5.66436 -1.78503 0.0707268 1.29454 + 3.314 3.489 8 2.81189 135.319 2.52862 11.1876 6.30912 -1.93885 0.0859888 1.61408 + 3.489 3.664 8 2.78889 124.365 2.34427 11.1771 5.60237 -1.93583 0.0642508 0.842369 + 3.664 3.839 8 2.6602 92.1218 1.85564 10.8318 4.8234 -1.66694 0.217099 0.938174 + 3.839 4.013 8 2.82828 95.7472 1.74655 10.4953 5.15268 -1.52956 0.118755 0.429598 + 4.013 4.191 8 2.6864 69.874 2.37753 11.136 5.80975 -2.06902 0.0940142 0.599658 + 4.191 4.363 8 2.79493 54.0432 1.18427 7.76942 9.06022 -0.0408491 55.889 1.27776 + 4.363 4.538 8 2.63215 51.0562 2.36551 11.3872 5.55414 -2.0849 0.109514 0.661355 + 4.538 4.716 8 2.68742 39.833 0.366246 9.53367 3.25471 -3.44342 1.03894 -0.458577 + 4.716 4.889 8 2.6488 23.1732 1.70938 1.5122 0.118113 -0.372817 99.9999 1.06027 + 4.889 5.191 8 2.66378 18.069 1.07753 6.68351 2.39877 -99.825 99.9144 0.819535 diff --git a/CMGTools/RootTools/data/jec/PHYS14_V4_MC_L3Absolute_AK4PFchs.txt b/CMGTools/RootTools/data/jec/PHYS14_V4_MC_L3Absolute_AK4PFchs.txt new file mode 100755 index 000000000000..f5583db57b35 --- /dev/null +++ b/CMGTools/RootTools/data/jec/PHYS14_V4_MC_L3Absolute_AK4PFchs.txt @@ -0,0 +1,2 @@ +{1 JetEta 1 JetPt 1 Correction L3Absolute} +-5.191 5.191 2 4 5000 diff --git a/CMGTools/RootTools/interface/AlphaT.h b/CMGTools/RootTools/interface/AlphaT.h deleted file mode 100644 index 4383a3d49e66..000000000000 --- a/CMGTools/RootTools/interface/AlphaT.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef AlphaT_h -#define AlphaT_h - -#include -#include -#include - - -/* AlphaT - * - * Calculates the AlphaT event variable for a given input jet collection - * - * - * 08 Sept 2014 - Ported from ICF code (Mark Baber) - */ - - -struct AlphaT { - - static double getAlphaT( const std::vector& et, - const std::vector& px, - const std::vector& py ); - -}; - -#endif // AlphaT_h diff --git a/CMGTools/RootTools/interface/BTagSF.h b/CMGTools/RootTools/interface/BTagSF.h deleted file mode 100644 index 4e7ee1d88c3d..000000000000 --- a/CMGTools/RootTools/interface/BTagSF.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef BTagSF_hh -#define BTagSF_hh - -#include "TRandom3.h" -#include - -class BTagSF{ - - public: - - BTagSF( int seed=0 ); - ~BTagSF(); - - Bool_t isbtagged(Float_t pt, Float_t eta, Float_t csv, Int_t jetflavor, Bool_t isdata, UInt_t btagsys, UInt_t mistagsys, Bool_t is2012); - Double_t getSFb(Float_t pt, UInt_t btagsys, Bool_t is2012); - Double_t getSFc(Float_t pt, UInt_t btagsys, Bool_t is2012); - Double_t getSFl(Float_t pt, Float_t eta, UInt_t mistagsys, Bool_t is2012); - Double_t getMistag(Float_t pt, Float_t eta); - - enum { kNo, kDown, kUp }; // systematic variations - - - private: - - TRandom3* randm; - -}; - - -#endif diff --git a/CMGTools/RootTools/interface/CMGMuonCleanerBySegmentsAlgo.h b/CMGTools/RootTools/interface/CMGMuonCleanerBySegmentsAlgo.h deleted file mode 100644 index ad32114752ff..000000000000 --- a/CMGTools/RootTools/interface/CMGMuonCleanerBySegmentsAlgo.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef CMGMuonCleanerBySegmentsAlgo_h -#define CMGMuonCleanerBySegmentsAlgo_h - -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "CommonTools/Utils/interface/StringCutObjectSelector.h" -#include - -class CMGMuonCleanerBySegmentsAlgo { - public: - CMGMuonCleanerBySegmentsAlgo(double sharedFraction=0.499, const std::string & preselection="track.isNonnull", const std::string & passthrough="isGlobalMuon && numberOfMatches >= 2") : - sharedFraction_(sharedFraction), - preselection_(preselection,true), - passthrough_(passthrough,true) {} - ~CMGMuonCleanerBySegmentsAlgo() ; - - /// Return a vector of boolean marking the muons to be considered clean - std::vector clean(const std::vector &muons) const ; - - private: - /// Fraction of shared segments - double sharedFraction_; - - /// Preselection cut - StringCutObjectSelector preselection_; - /// Always-accept cut - StringCutObjectSelector passthrough_; - - /// Methods - bool isSameMuon(const pat::Muon &mu1, const pat::Muon &mu2) const ; - bool isBetterMuon(const pat::Muon &mu1, bool mu1PF, const pat::Muon &mu2, bool mu2PF) const ; -}; - -#endif diff --git a/CMGTools/RootTools/interface/Davismt2.h b/CMGTools/RootTools/interface/Davismt2.h deleted file mode 100644 index 07bc664bdc6e..000000000000 --- a/CMGTools/RootTools/interface/Davismt2.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef MT2_BISECT_H -#define MT2_BISECT_H - - -/*The user can change the desired precision below, the larger one of the following two definitions is used. Relative precision less than 0.00001 is not guaranteed to be -achievable--use with caution*/ - -#define RELATIVE_PRECISION 0.00001 //defined as precision = RELATIVE_PRECISION * scale, where scale = max{Ea, Eb} -#define ABSOLUTE_PRECISION 0.0 //absolute precision for mt2, unused by default - - -//Reserved for expert -#define MIN_MASS 0.1 //if ma -#include -#include "TObject.h" - -// using namespace std; - -class Davismt2{ -// class Davismt2 : public TObject { -public: - - Davismt2(); - virtual ~Davismt2(); - void mt2_bisect(); - void mt2_massless(); - void set_momenta(double *pa0, double *pb0, double* pmiss0); - void set_mn(double mn); - inline void set_verbose(int vlevel){verbose = vlevel;}; - double get_mt2(); - void print(); - int nevt; - -private: - - int verbose; - bool solved; - bool momenta_set; - double mt2_b; - - int nsols(double Dsq); - int nsols_massless(double Dsq); -//inline - int signchange_n( long double t1, long double t2, long double t3, long double t4, long double t5); -//inline - int signchange_p( long double t1, long double t2, long double t3, long double t4, long double t5); - int scan_high(double &Deltasq_high); - int find_high(double &Deltasq_high); - //data members - double pax, pay, ma, Ea; - double pmissx, pmissy; - double pbx, pby, mb, Eb; - double mn, mn_unscale; - - //auxiliary definitions - double masq, Easq; - double mbsq, Ebsq; - double pmissxsq, pmissysq; - double mnsq; - - //auxiliary coefficients - double a1, b1, c1, a2, b2, c2, d1, e1, f1, d2, e2, f2; - double d11, e11, f12, f10, d21, d20, e21, e20, f22, f21, f20; - - double scale; - double precision; - // ClassDef(Davismt2,1) -}; -#endif diff --git a/CMGTools/RootTools/interface/EGammaMvaEleEstimatorFWLite.h b/CMGTools/RootTools/interface/EGammaMvaEleEstimatorFWLite.h deleted file mode 100644 index 3ff0d972ef72..000000000000 --- a/CMGTools/RootTools/interface/EGammaMvaEleEstimatorFWLite.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef CMGTools_RootTools_EGammaMvaEleEstimatorFWLite_h -#define CMGTools_RootTools_EGammaMvaEleEstimatorFWLite_h - -struct EGammaMvaEleEstimator; -namespace reco { struct Vertex; } -namespace pat { struct Electron; } -#include -#include - -class EGammaMvaEleEstimatorFWLite { - public: - EGammaMvaEleEstimatorFWLite(); - ~EGammaMvaEleEstimatorFWLite(); - - enum MVAType { - kTrig = 0, // MVA for triggering electrons - kTrigNoIP = 1, // MVA for triggering electrons without IP info - kNonTrig = 2, // MVA for non-triggering electrons - }; - - void initialize( std::string methodName, - MVAType type, - bool useBinnedVersion, - std::vector weightsfiles ); - - float mvaValue(const pat::Electron& ele, - const reco::Vertex& vertex, - double rho, - bool full5x5, - bool printDebug = false); - private: - EGammaMvaEleEstimator *estimator_; -}; -#endif diff --git a/CMGTools/RootTools/interface/FSRWeightAlgo.h b/CMGTools/RootTools/interface/FSRWeightAlgo.h deleted file mode 100644 index 9eaca00b9bc3..000000000000 --- a/CMGTools/RootTools/interface/FSRWeightAlgo.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef __CMGTools_RootTools_FSRWeightAlgo__ -#define __CMGTools_RootTools_FSRWeightAlgo__ - -#include "DataFormats/HepMCCandidate/interface/GenParticle.h" - -class FSRWeightAlgo { - - public: - FSRWeightAlgo() {} - virtual ~FSRWeightAlgo() {} - void addGenParticle(const reco::GenParticle& gen) {genParticles_.push_back(gen);} - void clear() {genParticles_.clear();} - double weight() const; - - private: - double alphaRatio(double) const; - - std::vector< reco::GenParticle > genParticles_; - }; - -#endif diff --git a/CMGTools/RootTools/interface/Hemisphere.h b/CMGTools/RootTools/interface/Hemisphere.h deleted file mode 100644 index 89872a47a62e..000000000000 --- a/CMGTools/RootTools/interface/Hemisphere.h +++ /dev/null @@ -1,200 +0,0 @@ -#ifndef Hemisphere_h -#define Hemisphere_h - - -/* \class Hemisphere - * - * Class that, given the 4-momenta of the objects in the event, - * allows to split up the event into two "hemispheres" according - * to different criteria (see below)/ - * - * Authors: Luc Pape & Filip Moortgat Date: July 2005 - * Updated: July 2006 - * Updated: 15 Sept 2006 - * Updated: 15 November 2006 - * Updated: 01 November 2008 - * Updated: 13 December 2010 (P.Nef) - * Updated: 09 February 2011 - * Updated: 26 September 2011 (P.Nef) - */ - - -#include -#include -#include - -using namespace std; - -class Hemisphere { - - public: - - // There are 2 constructors: - // 1. Constructor taking as argument vectors of Px, Py, Pz and E of the objects in - // the event that should be separated, the seeding method and the hemisphere - // association method, - // 2. Constructor taking as argument vectors of Px, Py, Pz and E of the objects in - // the event that should be separated. The seeding method and the hemisphere - // association method should then be defined by SetMethod(seeding_method, association_method). - // - // Seeding method: choice of 2 inital axes - // 1: 1st: max P ; 2nd: max P * delta R wrt first one (if delta R > 0.5) - // 2: 2 objects who give maximal invariant mass (recommended) - // 3: 2 objects who give maximal transverse mass - // 4: 2 leading jets (min dR can be set by SetDRminSeed1()) - // - // Hemisphere association method: - // 1: maximum pt longitudinal projected on the axes - // 2: minimal mass squared sum of the hemispheres - // 3: minimal Lund distance (recommended) - // - // Note that SetMethod() also allows the seeding and/or association method to be - // redefined for an existing hemisphere object. The GetAxis() or GetGrouping() is - // then recomputed using the newly defined methods. - // - // Some parameters possibly affecting the logic of hemisphere reconstruction can also be set - // by the user: - // SetNoSeed() to prevent the given object from being used as a seed - // (but it can be associated to hemispheres). - // SetNoAssoc() to prevent the given object from being used in the hemisphere association - // (then it cannot be used as seed either). - // ClearAllNoLists() to reset the list of NoSeed and NoAssoc objects to empty. - // SetDRminSeed1() minimum value of DeltaR between the two hemisphere seed for seed method 1 - // (default = 0.5). Does not affect other methods. - // SetnItermax() maximum number of iterations allowed for the association methods (default = 100). - // - // Methods are provided to avoid including ISR jets into the hemispheres. - // This is done by declaring the variable type and cut value above which an object should not - // be included in the hemispheres. - // Only 1 cut can be used at the time (a new declaration overwrites the previous one). - // RejectISRPtmax() max Pt w.r.t. the hemisphere below which objects can be included - // (default = 10000. GeV) - // RejectISRDRmax() max DeltaR below which objects can be included - // (default = 10.) - - Hemisphere(vector Px_vector, vector Py_vector, vector Pz_vector, vector E_vector, int seed_method, int hemisphere_association_method); - - Hemisphere(vector Px_vector, vector Py_vector, vector Pz_vector, vector E_vector); - - // Destructor - ~Hemisphere(){}; - - // return Nx, Ny, Nz, P, E of the axis of group 1 - vector getAxis1(); - // return Nx, Ny, Nz, P, E of the axis of group 2 - vector getAxis2(); - - // where Nx, Ny, Nz are the direction cosines e.g. Nx = Px/P, - // P is the momentum, E is the energy - - // return vector with "1" and "2"'s according to which group the object belongs - // and 0 if the object is not associated to any hemisphere - // (order of objects in vector is same as input) - vector getGrouping(); - - // set or overwrite the seed and association methods - void SetMethod(int seed_method, int hemisphere_association_method) { - seed_meth = seed_method; - hemi_meth = hemisphere_association_method; - status = 0; - } - - // prevent an object from being used as a seed (but it can be associated to hemispheres) - // (method introduced on 15/09/06) - void SetNoSeed(int object_number) { - Object_Noseed[object_number] = 1; - status = 0; - } - - // prevent an object from being used for hemisphere asociation (and for seeding) - // (method introduced on 01/11/08) - void SetNoAssoc(int object_number) { - Object_Noassoc[object_number] = 1; - Object_Noseed[object_number] = 1; - status = 0; - } - - // reset the list of NoSeed and NoAssoc objects to empty - // (method introduced on 01/11/08) - void ClearAllNoLists() { - for (int i = 0; i < (int)Object_Noseed.size(); ++i) { - Object_Noassoc[i] = 0; - Object_Noseed[i] = 0; - status = 0; - } - } - - // set the min DeltaR for the seeds of seed method 1 - // (method introduced on 01/11/08) - void SetDRminSeed1(float rmin) { - dRminSeed1 = rmin; - } - - // set the maximum number of iterations allowed for association - // (method introduced on 01/11/08) - void SetnItermax(int niter) { - nItermax = niter; - } - - // set max Pt w.r.t. the hemisphere below which objects can be included - void RejectISRPtmax(float ptmax) { - rejectISRPtmax = ptmax; - rejectISRPt = 1; - rejectISRDR = 0; - rejectISR = 1; - status = 0; - } - - // set max DeltaR below which objects can be included - void RejectISRDRmax(float drmax) { - rejectISRDRmax = drmax; - rejectISRDR = 1; - rejectISRPt = 0; - rejectISR = 1; - status = 0; - } - - // controls the level of debug prints - void SetDebug(int debug) { dbg = debug; } - int GetNumLoop(){return numLoop;} - - - private: - - // the hemisphere separation algorithm - int Reconstruct(); - int RejectISR(); - - - vector Object_Px; - vector Object_Py; - vector Object_Pz; - vector Object_P; - vector Object_Pt; - vector Object_E; - vector Object_Phi; - vector Object_Eta; - vector Object_Group; - vector Object_Noseed; - vector Object_Noassoc; - - vector Axis1; - vector Axis2; - - //static const float hemivsn = 1.01; - int seed_meth; - int hemi_meth; - int status; - float dRminSeed1; - int nItermax; - int rejectISR; - int rejectISRPt; - float rejectISRPtmax; - int rejectISRDR; - float rejectISRDRmax; - int dbg; - int numLoop; - -}; - -#endif diff --git a/CMGTools/RootTools/interface/MuScleFitCorrector.h b/CMGTools/RootTools/interface/MuScleFitCorrector.h deleted file mode 100644 index 10199c3ec908..000000000000 --- a/CMGTools/RootTools/interface/MuScleFitCorrector.h +++ /dev/null @@ -1,303 +0,0 @@ -/** - * MuScleFitCorrector class - * Author M. De Mattia - 18/11/2008 - * Author S. Casasso - 25/10/2012 - * Author E. Migliore - 25/10/2012 - */ - -#include -#include -#include -#include "MuScleFitCorrector_Functions.h" -#include "TLorentzVector.h" -#include "TRandom3.h" - - -/** - * This is used to have a common set of functions for the specialized templates to use. - * The constructor receives the name identifying the parameters for the correction function. - * It reads the parameters from a txt file in data/. - */ -class MuScleFitCorrector -{ - public: - /** - * The constructor takes a string identifying the parameters to read. It - * parses the txt file containing the parameters, extracts the index of the - * correction function and saves the corresponding pointer. It then fills the - * vector of parameters. - */ - MuScleFitCorrector(const TString& identifier) - { - fileName_ = identifier; - readParameters( identifier ); - gRandom_ = new TRandom3(); - } - // dummy empty constructor to allow dictionaries - MuScleFitCorrector() {} - ~MuScleFitCorrector() {} - - // Returns a pointer to the selected function - scaleFunctionBase * getScaleFunction() { return scaleFunction_; } - resolutionFunctionBase * getResolFunction() { return resolutionFunction_; } - - // Method to get correct pt - double getCorrectPt(const TLorentzVector &lorentzVector, const int & chg){ - - // Loop on all the functions and apply them iteratively on the pt corrected by the previous function. - double pt = lorentzVector.Pt(); - pt = ( scaleFunction_->scale( pt, lorentzVector.Eta(), lorentzVector.Phi(), chg, scaleParArray_) ); - return pt; - }; - - // Return the squared difference of relative pT resolutions data-MC - double getSigmaPtDiffSquared(const double & pt, const double & eta){ - - double sigmaPtData = resolutionFunction_->sigmaPt(pt, eta, resolDataParArray_); - double sigmaPtMC = resolutionFunction_->sigmaPt(pt, eta, resolMCParArray_); - return (sigmaPtData*sigmaPtData - sigmaPtMC*sigmaPtMC); - - }; - - - // Method to get correct pt (baseline) - double getSmearedPt(const TLorentzVector & lorentzVector, const int & chg, bool fake){ - - double pt = lorentzVector.Pt(); - double eta = lorentzVector.Eta(); - double squaredDiff = getSigmaPtDiffSquared(pt,eta); - if (squaredDiff < 0) return pt; - double Cfact = 0.; - if (fileName_.Contains("smearPrompt")) Cfact = 0.85; // smear Summer12 against 2012 Prompt data - else if (fileName_.Contains("smearReReco")) Cfact = 0.75; // smear Summer12 against 2012 ReReco data - else if (fileName_.Contains("2011_MC")) Cfact = 0.8; // smear Fall11 against 2011 ReReco data - else { - std::cout<<"Are you sure you want to smear data??"<Gaus(0,sPar); - if (fake) normSmearFact = sPar; - double smearedCurv = curv + fabs(curv)*normSmearFact; - - return 1./((double)chg*smearedCurv); - - }; - - // Method to apply correction to a TLorentzVector - void applyPtCorrection(TLorentzVector& lorentzVector, const int & chg){ - - double eta = lorentzVector.Eta(); - double phi = lorentzVector.Phi(); - double m = lorentzVector.M(); - double corrPt = getCorrectPt(lorentzVector, chg); - lorentzVector.SetPtEtaPhiM(corrPt,eta,phi,m); - - }; - - // Method to apply smearing to a TLorentzVector - void applyPtSmearing(TLorentzVector& lorentzVector, const int & chg, bool fake=false){ - double eta = lorentzVector.Eta(); - double phi = lorentzVector.Phi(); - double m = lorentzVector.M(); - double smearedPt = getSmearedPt(lorentzVector, chg, fake); - lorentzVector.SetPtEtaPhiM(smearedPt,eta,phi,m); - }; - - std::vector getResolMCParVec(){ return resolMCParVec_; } - - - protected: - - // File name - TString fileName_; - - // Identification numbers - int scaleFunctionId_; - int resolutionFunctionId_; - - // Vectors of parameters - std::vector scaleParVec_; - std::vector resolDataParVec_; - std::vector resolMCParVec_; - - // We will use the array for the function calls because it is faster than the vector for random access. - double * scaleParArray_; - double * resolDataParArray_; - double * resolMCParArray_; - - // Convert vectors to arrays for faster random access. The first pointer is replaced, thus it is taken by reference. - void convertToArrays(){ - - int resolParNum = resolutionFunction_->parNum(); - int scaleParNum = scaleFunction_->parNum(); - - int resolDataParVecSize = resolDataParVec_.size(); - int resolMCParVecSize = resolMCParVec_.size(); - int scaleParVecSize = scaleParVec_.size(); - - useResol_ = false; - if (resolDataParVecSize!=0 && resolMCParVecSize!=0) useResol_ = true; - - if( resolParNum != resolDataParVecSize && useResol_) { - std::cout << "Error: inconsistent number of parameters: resolutionFunction has "<::const_iterator scaleParIt = scaleParVec_.begin(); - std::vector::const_iterator resolDataParIt = resolDataParVec_.begin(); - std::vector::const_iterator resolMCParIt = resolMCParVec_.begin(); - - scaleParArray_ = new double[scaleParNum]; - resolDataParArray_ = new double[resolParNum]; - resolMCParArray_ = new double[resolParNum]; - - for ( int iPar=0; iPar> num ) { - ++wordCounter; - if( wordCounter == 8 ) { - std::stringstream in(num); - in >> resolutionFunctionNum; - } - - if( wordCounter == 9 ) { - std::stringstream in(num); - in >> scaleFunctionNum; - } - } - - scaleFunctionId_ = scaleFunctionNum; - scaleFunction_ = scaleFunctionService(scaleFunctionNum); - resolutionFunctionId_ = resolutionFunctionNum; - resolutionFunction_ = resolutionFunctionService(resolutionFunctionNum); - - /* std::cout<<"Function IDs: "<parNum(); - int nResolPar = resolutionFunction_->parNum(); - - if ( (lineInt != std::string::npos) ) { - size_t subStr1 = line.find("value"); - std::stringstream paramStr; - double param = 0; - paramStr << line.substr(subStr1+5); - paramStr >> param; - // Fill the last vector of parameters, which corresponds to this iteration. - if (nReadParparNum()<<"parameters:"<parNum(); ++ii){ */ - /* std::cout<<"par["<parNum()<<"parameters:"<parNum(); ++ii){ */ - /* std::cout<<"par["<parNum()<<"parameters:"<parNum(); ++ii){ */ - /* std::cout<<"par["< * scaleFunction_; - resolutionFunctionBase * resolutionFunction_; - - // Pointer for TRandom3 access - TRandom3 * gRandom_; - - // Bool for using resolution function or not (value depends from the information on the parameters txt file) - bool useResol_; -}; - diff --git a/CMGTools/RootTools/interface/MuScleFitCorrector_Functions.h b/CMGTools/RootTools/interface/MuScleFitCorrector_Functions.h deleted file mode 100644 index 8c7d911b7134..000000000000 --- a/CMGTools/RootTools/interface/MuScleFitCorrector_Functions.h +++ /dev/null @@ -1,297 +0,0 @@ -/** - * Scale function classes - * Author M. De Mattia - 18/11/2008 - * Author S. Casasso - 25/10/2012 - * Author E. Migliore - 25/10/2012 - */ - -#include -#include -#include -#include "TMath.h" -#include "TString.h" -#include "TF1.h" -#include "TRandom.h" - -/** - * Used to define parameters inside the functions. - */ - - struct ParSet - { - ParSet() {} - ParSet(const TString & inputName, const double & inputStep, const double & inputMini, const double & inputMaxi) : - step(inputStep), - mini(inputMini), - maxi(inputMaxi) - { - std::cout << "setting name = " << inputName << std::endl; - name = inputName; - } - TString name; - double step, mini, maxi; - }; - - - // ----------------------- // - // Scale functors // - // ----------------------- // - - template - class scaleFunctionBase { - public: - virtual double scale(const double & pt, const double & eta, const double & phi, const int chg, const T & parScale) const = 0; - virtual ~scaleFunctionBase() = 0; - virtual int parNum() const { return parNum_; } - protected: - int parNum_; - virtual void setPar(double* Start, double* Step, double* Mini, double* Maxi, int* ind, - TString* parname, const T & parResol, const std::vector & parResolOrder, const std::vector & parSet ) { - if( int(parSet.size()) != this->parNum_ ) { - std::cout << "Error: wrong number of parameter initializations = " << parSet.size() << ". Number of parameters is " << this->parNum_ << std::endl; - exit(1); - } - for( int iPar=0; iParparNum_; ++iPar ) { - Start[iPar] = parResol[iPar]; - Step[iPar] = parSet[iPar].step; - Mini[iPar] = parSet[iPar].mini; - Maxi[iPar] = parSet[iPar].maxi; - ind[iPar] = parResolOrder[iPar]; - parname[iPar] = parSet[iPar].name; - } - } - }; - - template inline scaleFunctionBase::~scaleFunctionBase() { } // defined even though it's pure virtual; should be faster this way. - - - - // - // Curvature: (linear eta + sinusoidal in phi (both in 5 eta bins)) * global scale - // ------------------------------------------------------------ - template - class scaleFunction50 : public scaleFunctionBase { - public: - scaleFunction50() { this->parNum_ = 27; } - virtual double scale(const double & pt, const double & eta, const double & phi, const int chg, const T & parScale) const { - double ampl(0), phase(0), twist(0), ampl2(0), freq2(0), phase2(0); - - // very bwd bin - if ( eta < parScale[4] ) { - ampl = parScale[1]; phase = parScale[2]; ampl2 = parScale[21]; freq2 = parScale[22]; phase2 = parScale[23]; - twist = parScale[3]*(eta-parScale[4])+parScale[7]*(parScale[4]-parScale[8])+parScale[11]*parScale[8]; - // bwd bin - } else if ( parScale[4] <= eta && eta < parScale[8] ) { - ampl = parScale[5]; phase = parScale[6]; - twist = parScale[7]*(eta-parScale[8])+parScale[11]*parScale[8] ; - // barrel bin - } else if ( parScale[8] <= eta && eta < parScale[12] ) { - ampl = parScale[9]; phase = parScale[10]; - twist = parScale[11]*eta; - // fwd bin - } else if ( parScale[12] <= eta && eta < parScale[16] ) { - ampl = parScale[13]; phase = parScale[14]; - twist = parScale[15]*(eta-parScale[12])+parScale[11]*parScale[12]; - // very fwd bin - } else if ( parScale[16] < eta ) { - ampl = parScale[17]; phase = parScale[18]; ampl2 = parScale[24]; freq2 = parScale[25]; phase2 = parScale[26]; - twist = parScale[19]*(eta-parScale[16])+parScale[15]*(parScale[16]-parScale[12])+parScale[11]*parScale[12]; - } - - // apply the correction - double curv = (1.+parScale[0])*((double)chg/pt - -twist - -ampl*sin(phi+phase) - -ampl2*sin(freq2*phi+phase2) - -0.5*parScale[20]); - return 1./((double)chg*curv); - } - - }; - - - // ----------------------- // - // Resolution functors // - // ----------------------- // - - template - class resolutionFunctionBase { - public: - virtual double sigmaPt(const double & pt, const double & eta, const T & parval) = 0; - - resolutionFunctionBase() {} - virtual ~resolutionFunctionBase() = 0; - virtual int parNum() const { return parNum_; } - - protected: - int parNum_; - }; - template inline resolutionFunctionBase::~resolutionFunctionBase() { } // defined even though it's pure virtual; should be faster this way. - - - template - class resolutionFunction45 : public resolutionFunctionBase { - public: - resolutionFunction45() { this->parNum_ = 13; } - - inline double getGEO(const double & pt, const double & eta, const T & parval){ - return parval[0]; - } - - inline double getMS(const double & pt, const double & eta, const T & parval){ - if( eta < -2.0 ) return( parval[1] ); - if( eta < -1.8 ) return( parval[2] ); - if( eta < -1.6 ) return( parval[3] ); - if( eta < -1.2 ) return( parval[4] ); - if( eta < -0.8 ) return( parval[5] ); - if( eta < 0. ) return( parval[6] ); - if( eta < 0.8 ) return( parval[7] ); - if( eta < 1.2 ) return( parval[8] ); - if( eta < 1.6 ) return( parval[9] ); - if( eta < 1.8 ) return( parval[10] ); - if( eta < 2.0 ) return( parval[11] ); - return( parval[12] ); - } - - virtual double sigmaPt(const double & pt, const double & eta, const T & parval) - { - return pt*getGEO(pt,eta,parval) + getMS(pt,eta,parval); - } - - }; - - template - class resolutionFunction46 : public resolutionFunctionBase { - public: - resolutionFunction46() { this->parNum_ = 13; } - - int etaBin(const double & eta) - { - - // std::cout << "for eta = " << eta << ", bin = " << bin << std::endl; - - if( eta < -2.0 ) return 1; - if( eta < -1.8 ) return 2; - if( eta < -1.6 ) return 3; - if( eta < -1.2 ) return 4; - if( eta < -0.8 ) return 5; - if( eta < 0. ) return 6; - if( eta < 0.8 ) return 7; - if( eta < 1.2 ) return 8; - if( eta < 1.6 ) return 9; - if( eta < 1.8 ) return 10; - if( eta < 2.0 ) return 11; - return 12; - } - - virtual double sigmaPt(const double & pt, const double & eta, const T & parval) - { - return sqrt(pow(parval[0]*pt,2) + pow(parval[etaBin(eta)],2)); - } - - }; - - - // parametrization as sum in quadrature - // Geometric and MSC both as function of eta, adding straight lines between parabolas wrt type51 - template - class resolutionFunction57 : public resolutionFunctionBase { - public: - resolutionFunction57() { this->parNum_ = 17; } - - inline double getGEO(const double & pt, const double & eta, const T & parval){ - // geometrical term - double qGEO(0); - if ( eta < parval[0] ) { - qGEO = parval[10]*(eta-parval[0])*(eta-parval[0])+parval[11]; - } else if ( parval[0] <= eta && eta < parval[3] ) { - qGEO = parval[11]; - } else { - qGEO = parval[12]*(eta-parval[3])*(eta-parval[3])+parval[11]; - } - return qGEO; - } - - inline double centralParabola(const double & pt, const double & eta, const T & parval){ - return parval[4] + parval[5]*eta*eta; - } - - inline double middleParabola(const double & pt, const double & eta, const T & parval){ - return parval[15] + parval[16]*eta*eta; - } - - inline double leftParabola(const double & pt, const double & eta, const T & parval){ - return parval[6] + parval[7]*(eta-parval[0])*(eta-parval[0]); - } - - inline double rightParabola(const double & pt, const double & eta, const T & parval){ - return parval[8] + parval[9]*(eta-parval[3])*(eta-parval[3]); - } - - inline double leftLine(const double & pt, const double & eta, const T & parval){ - double x_1 = parval[13]; - double y_1 = middleParabola(pt, parval[13], parval); - double x_2 = parval[0]; - double y_2 = leftParabola(pt, parval[0], parval); - return( (eta - x_1)*(y_2 - y_1)/(x_2 - x_1) + y_1 ); - } - - inline double rightLine(const double & pt, const double & eta, const T & parval){ - double x_1 = parval[14]; - double y_1 = middleParabola(pt, parval[14], parval); - double x_2 = parval[3]; - double y_2 = rightParabola(pt, parval[3], parval); - return( (eta - x_1)*(y_2 - y_1)/(x_2 - x_1) + y_1 ); - } - - - inline double getMSC(const double & pt, const double & eta, const T & parval){ - // MSC term - double qMSC(0); - if ( eta < parval[0] ) { - qMSC = leftParabola(pt,eta,parval); - } else if ( parval[0] <= eta && eta < parval[13] ) { - qMSC = leftLine(pt,eta,parval); - } else if ( parval[13] <= eta && eta < parval[1] ) { - qMSC = middleParabola(pt,eta,parval); - } else if ( parval[1] <= eta && eta < parval[2] ) { - qMSC = centralParabola(pt,eta,parval); - } else if ( parval[2] <= eta && eta < parval[14] ) { - qMSC = middleParabola(pt,eta,parval); - } else if ( parval[14] <= eta && eta < parval[3] ) { - qMSC = rightLine(pt,eta,parval); - } else { - qMSC = rightParabola(pt,eta,parval); - } - return qMSC; - } - - virtual double sigmaPt(const double & pt, const double & eta, const T & parval) - { - double qGEO = getGEO(pt, eta, parval); - double qMSC = getMSC(pt, eta, parval); - return sqrt(pow(qGEO*pt,2) + pow(qMSC,2)); - } - }; - - - -// Service to build the scale functor corresponding to the passed identifier -scaleFunctionBase * scaleFunctionService( const int identifier ){ - switch ( identifier ) { - case ( 50 ): return ( new scaleFunction50 ); break; - default: std::cout << "scaleFunctionService error: wrong identifier = " << identifier << std::endl; exit(1); - } -} - - -// Service to build the resolution functor corresponding to the passed identifier -resolutionFunctionBase * resolutionFunctionService( const int identifier ){ - switch ( identifier ) { - case ( 45 ): return ( new resolutionFunction45 ); break; - case ( 46 ): return ( new resolutionFunction46 ); break; - case ( 57 ): return ( new resolutionFunction57 ); break; - default: std::cout << "resolutionFunctService error: wrong identifier = " << identifier << std::endl; exit(1); - } -} - diff --git a/CMGTools/RootTools/interface/ReclusterJets.h b/CMGTools/RootTools/interface/ReclusterJets.h deleted file mode 100644 index e63f8f03bd25..000000000000 --- a/CMGTools/RootTools/interface/ReclusterJets.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef ReclusterJets_h -#define ReclusterJets_h - -#include -#include -#include -#include -#include -#include "DataFormats/Math/interface/LorentzVector.h" - -#include -#include -#include "fastjet/PseudoJet.hh" -#include "fastjet/JetDefinition.hh" -#include "fastjet/ClusterSequence.hh" -#include "fastjet/Selector.hh" -#include "fastjet/PseudoJet.hh" - - -class ReclusterJets { - - public: - typedef math::XYZTLorentzVector LorentzVector; - - ReclusterJets(const std::vector & objects, double ktpower, double rparam); - - /// get grouping (inclusive jets) - std::vector getGrouping(double ptMin = 0.0); - - /// get grouping (exclusive jets, until n are left) - std::vector getGroupingExclusive(int njets); - /// get grouping (exclusive jets, up to cut dcut) - std::vector getGroupingExclusive(double dcut); - - private: - // pack the returns in a fwlite-friendly way - std::vector makeP4s(const std::vector &jets) ; - - // used to handle the inputs - std::vector fjInputs_; // fastjet inputs - - double ktpower_; - double rparam_; - - /// fastjet outputs - typedef boost::shared_ptr ClusterSequencePtr; - ClusterSequencePtr fjClusterSeq_; - std::vector inclusiveJets_; - std::vector exclusiveJets_; -}; - -#endif diff --git a/CMGTools/RootTools/interface/RochCor.h b/CMGTools/RootTools/interface/RochCor.h deleted file mode 100644 index c2f7b101b2a2..000000000000 --- a/CMGTools/RootTools/interface/RochCor.h +++ /dev/null @@ -1,137 +0,0 @@ -#ifndef ZZAnalysis_AnalysisStep_RochCor_h -#define ZZAnalysis_AnalysisStep_RochCor_h - -//// VERSION 4, taken from http://www-cdf.fnal.gov/~jyhan/cms_momscl/cms_RochCor_manual.html on 19 september 2012 -//// moved static const float from .h to .cc to make the gcc434 happy - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - - -class RochCor { - public: - RochCor(); - RochCor(int seed); - ~RochCor(); - - void momcor_mc(TLorentzVector&, float, float, int); - void momcor_data(TLorentzVector&, float, float, int); - - void musclefit_data(TLorentzVector& , TLorentzVector&); - - float zptcor(float); - int etabin(float); - int phibin(float); - - private: - - TRandom3 eran; - TRandom3 sran; - - - // static float netabin[9] = {-2.4,-2.1,-1.4,-0.7,0.0,0.7,1.4,2.1,2.4}; - static const float netabin[9]; - -////^^^^^------------ GP BEGIN - static const double pi; - static const float genm_smr; //gen mass peak with eta dependent gaussian smearing => better match in Z mass profile vs. eta/phi - static const float genm; //gen mass peak without smearing => Z mass profile vs. eta/phi in CMS note - - static const float recmA; //rec mass peak in MC (2011A) - static const float drecmA; //rec mass peak in data (2011A) - static const float mgsclA_stat; //stat. error of global factor for mass peak in MC (2011A) - static const float mgsclA_syst; //syst. error of global factor for mass peak in MC (2011A) - static const float dgsclA_stat; //stat. error of global factor for mass peak in data (2011A) - static const float dgsclA_syst; //syst. error of global factor for mass peak in data (2011A) - static const float recmB; //rec mass peak in MC (2011B) - static const float drecmB; //rec mass peak in data (2011B) - static const float mgsclB_stat; //stat. error of global factor for mass peak in MC (2011B) - static const float mgsclB_syst; //syst. error of global factor for mass peak in MC (2011B) - static const float dgsclB_stat; //stat. error of global factor for mass peak in data (2011B) - static const float dgsclB_syst; //syst. error of global factor for mass peak in data (2011B) - - //iteration2 after FSR : after Z Pt correction - static const float deltaA; - static const float deltaA_stat; - static const float deltaA_syst; - - static const float sfA; - static const float sfA_stat; - static const float sfA_syst; - - static const float deltaB; - static const float deltaB_stat; - static const float deltaB_syst; - - static const float sfB; - static const float sfB_stat; - static const float sfB_syst; - - static const float apar; //+- 0.002 - static const float bpar; //+- 1.57968e-06 - static const float cpar; //+- 1.92775e-06 - static const float d0par; //+- 3.16301e-06 - static const float e0par; //+- 0.0249021 - static const float d1par; //+- 1.12386e-05 - static const float e1par; //+- 0.17896 - static const float d2par; //+- 5.68386e-06 - static const float e2par; //+- 0.0431732 -////^^^^^------------ GP END - - //--------------------------------------------------------------------------------------------- - - static const float dcor_bfA[8][8]; - static const float dcor_maA[8][8]; - static const float mcor_bfA[8][8]; - static const float mcor_maA[8][8]; - static const float dcor_bfAer[8][8]; - static const float dcor_maAer[8][8]; - static const float mcor_bfAer[8][8]; - static const float mcor_maAer[8][8]; - - static const float dcor_bfB[8][8]; - static const float dcor_maB[8][8]; - static const float mcor_bfB[8][8]; - static const float mcor_maB[8][8]; - static const float dcor_bfBer[8][8]; - static const float dcor_maBer[8][8]; - static const float mcor_bfBer[8][8]; - static const float mcor_maBer[8][8]; - - //======================================================================================================= - - static const float dmavgA[8][8]; - static const float dpavgA[8][8]; - static const float mmavgA[8][8]; - static const float mpavgA[8][8]; - - static const float dmavgB[8][8]; - static const float dpavgB[8][8]; - static const float mmavgB[8][8]; - static const float mpavgB[8][8]; - - //=============================================================================================== - //parameters for Z pt correction - static const int nptbins=84; - static const float ptlow[85]; - - static const float zptscl[84]; - static const float zptscler[84]; - - float mptsys_mc_dm[8][8]; - float mptsys_mc_da[8][8]; - float mptsys_da_dm[8][8]; - float mptsys_da_da[8][8]; - -}; - -#endif diff --git a/CMGTools/RootTools/interface/RochCor2012.h b/CMGTools/RootTools/interface/RochCor2012.h deleted file mode 100644 index 51f407bc2730..000000000000 --- a/CMGTools/RootTools/interface/RochCor2012.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef WWAnalysis_AnalysisStep_RochCor2012_h -#define WWAnalysis_AnalysisStep_RochCor2012_h - -//// VERSION for 2012 received from Jiyeon on 30 september 2012 -//// moved static const float from .h to .cc to make the gcc happy - -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - - -class RochCor2012 { - public: - RochCor2012(); - RochCor2012(int seed); - ~RochCor2012(); - - void momcor_mc(TLorentzVector&, float, float, int); - void momcor_data(TLorentzVector&, float, float, int); - - void musclefit_data(TLorentzVector& , TLorentzVector&); - - float zptcor(float); - int etabin(float); - int phibin(float); - - private: - - TRandom3 eran; - TRandom3 sran; - - // static float netabin[9] = {-2.4,-2.1,-1.4,-0.7,0.0,0.7,1.4,2.1,2.4}; - static const float netabin[9]; -////^^^^^------------ GP BEGIN - static const double pi; - - static const float genm_smr; - static const float genm; - - static const float mrecm; - static const float drecm; - static const float mgscl_stat; - static const float mgscl_syst; - static const float dgscl_stat; - static const float dgscl_syst; - - //iteration2 after FSR : after Z Pt correction - static const float delta; - static const float delta_stat; - static const float delta_syst; - - static const float sf; - static const float sf_stat; - static const float sf_syst; - - static const float apar; - static const float bpar; - static const float cpar; - static const float d0par; - static const float e0par; - static const float d1par; - static const float e1par; - static const float d2par; - static const float e2par; -////^^^^^------------ GP END - - //--------------------------------------------------------------------------------------------- - - static const float dcor_bf[8][8]; - static const float dcor_ma[8][8]; - static const float mcor_bf[8][8]; - static const float mcor_ma[8][8]; - static const float dcor_bfer[8][8]; - static const float dcor_maer[8][8]; - static const float mcor_bfer[8][8]; - static const float mcor_maer[8][8]; - - //======================================================================================================= - - static const float dmavg[8][8]; - static const float dpavg[8][8]; - static const float mmavg[8][8]; - static const float mpavg[8][8]; - - //=============================================================================================== - //parameters for Z pt correction - static const int nptbins=84; - static const float ptlow[85]; - - static const float zptscl[84]; - static const float zptscler[84]; - - float mptsys_mc_dm[8][8]; - float mptsys_mc_da[8][8]; - float mptsys_da_dm[8][8]; - float mptsys_da_da[8][8]; - - float gscler_mc_dev; - float gscler_da_dev; -}; - -#endif diff --git a/CMGTools/RootTools/interface/TriggerBitChecker.h b/CMGTools/RootTools/interface/TriggerBitChecker.h deleted file mode 100644 index f064169f5c97..000000000000 --- a/CMGTools/RootTools/interface/TriggerBitChecker.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef RootTools_TriggerBitChecker -#define RootTools_TriggerBitChecker - -#include "DataFormats/Common/interface/TriggerResults.h" -#include "FWCore/Common/interface/EventBase.h" -#include -#include -class TriggerBitChecker { - public: - struct pathStruct { - pathStruct( const std::string &s ) : pathName(s), first(0),last(99999999) {} - pathStruct() : pathName(), first(0),last(99999999) {} - std::string pathName; - unsigned int first; - unsigned int last; - }; - - TriggerBitChecker(const std::string &path="DUMMY"); - TriggerBitChecker(const std::vector &paths); - ~TriggerBitChecker() {} - - bool check(const edm::EventBase &event, const edm::TriggerResults &result) const ; - - private: - // list of path name prefixes - std::vector paths_; - - mutable unsigned int lastRun_; - mutable std::vector indices_; - - /// sync indices with path names - void syncIndices(const edm::EventBase &event, const edm::TriggerResults &result) const ; - pathStruct returnPathStruct(const std::string &path) const ; - - /// executes a 'rm -rf *' in current directory - void rmstar() ; -}; - -#endif diff --git a/CMGTools/RootTools/interface/mt2w_bisect.h b/CMGTools/RootTools/interface/mt2w_bisect.h deleted file mode 100644 index c028168a8257..000000000000 --- a/CMGTools/RootTools/interface/mt2w_bisect.h +++ /dev/null @@ -1,88 +0,0 @@ -/***********************************************************************/ -/* */ -/* Finding MT2W */ -/* Reference: arXiv:1203.4813 [hep-ph] */ -/* Authors: Yang Bai, Hsin-Chia Cheng, */ -/* Jason Gallicchio, Jiayin Gu */ -/* Based on MT2 by: Hsin-Chia Cheng, Zhenyu Han */ -/* May 8, 2012, v1.00a */ -/* */ -/***********************************************************************/ - -#ifndef MT2W_BISECT_H -#define MT2W_BISECT_H - - -/*The user can change the desired precision below, the larger one of the following two definitions is used. Relative precision less than 0.00001 is not guaranteed to be achievable--use with caution*/ - -#define RELATIVE_PRECISION 0.00001 //defined as precision = RELATIVE_PRECISION * scale, where scale = max{Ea, Eb} -#define ABSOLUTE_PRECISION 0.0 //absolute precision for mt2w, unused by default - - -//Reserved for expert -#define MIN_MASS 0.1 //if ma 0 di-lepton') - # count.register('di-lepton cut string ok') - count.register('lepton accept') - count.register('third lepton veto') - count.register('leg1 offline cuts passed') - count.register('leg1 trig matched') - count.register('leg2 offline cuts passed') - count.register('leg2 trig matched') - count.register('{min:3.1f} < m < {max:3.1f}'.format( min = self.cfg_ana.m_min, - max = self.cfg_ana.m_max )) - if hasattr(self.cfg_ana, 'dR_min'): - count.register('dR > {min:3.1f}'.format( min = self.cfg_ana.dR_min)) - - count.register('exactly 1 di-lepton') - - - def buildDiLeptons(self, cmgDiLeptons, event): - '''Creates python DiLeptons from the di-leptons read from the disk. - to be overloaded if needed.''' - return map( self.__class__.DiObjectClass, cmgDiLeptons ) - - - def buildLeptons(self, cmgLeptons, event): - '''Creates python Leptons from the leptons read from the disk. - to be overloaded if needed.''' - return map( self.__class__.LeptonClass, cmgLeptons ) - - - def buildOtherLeptons(self, cmgLeptons, event): - '''Creates python Leptons from the leptons read from the disk. - to be overloaded if needed.''' - return map( self.__class__.LeptonClass, cmgLeptons ) - - - - def process(self, iEvent, event): - self.readCollections( iEvent ) - event.diLeptons = self.buildDiLeptons( self.handles['diLeptons'].product(), event ) - event.leptons = self.buildLeptons( self.handles['leptons'].product(), event ) - event.otherLeptons = self.buildOtherLeptons( self.handles['otherLeptons'].product(), event ) - self.shiftEnergyScale(event) - return self.selectionSequence(event, fillCounter=True, - leg1IsoCut=self.cfg_ana.iso1, - leg2IsoCut=self.cfg_ana.iso2) - - - def shiftEnergyScale(self, event): - scaleShift1 = None - scaleShift2 = None - if hasattr( self.cfg_ana, 'scaleShift1'): - scaleShift1 = self.cfg_ana.scaleShift1 - if hasattr( self.cfg_ana, 'scaleShift2'): - scaleShift2 = self.cfg_ana.scaleShift2 - if scaleShift1: - # import pdb; pdb.set_trace() - map( lambda x: x.leg1().scaleEnergy(scaleShift1), event.diLeptons ) - if scaleShift2: - map( lambda x: x.leg2().scaleEnergy(scaleShift2), event.diLeptons ) - map( lambda x: x.scaleEnergy(scaleShift2), event.leptons ) - - - def selectionSequence(self, event, fillCounter, leg1IsoCut=None, leg2IsoCut=None): - - if fillCounter: self.counters.counter('DiLepton').inc('all events') - # if not self.triggerList.triggerPassed(event.triggerObject): - # return False - # self.counters.counter('DiLepton').inc('trigger passed ') - - # if event.eventId == 155035: - # import pdb; pdb.set_trace() - - # import pdb; pdb.set_trace() - if len(event.diLeptons) == 0: - return False - if fillCounter: self.counters.counter('DiLepton').inc('> 0 di-lepton') - - # import pdb; pdb.set_trace() - # testing di-lepton itself - selDiLeptons = event.diLeptons - # selDiLeptons = self.selectDiLeptons( selDiLeptons ) - - event.leptonAccept = False - if self.leptonAccept( event.leptons ): - if fillCounter: self.counters.counter('DiLepton').inc('lepton accept') - event.leptonAccept = True - - event.thirdLeptonVeto = False - if self.thirdLeptonVeto(event.leptons, event.otherLeptons): - if fillCounter: self.counters.counter('DiLepton').inc('third lepton veto') - event.thirdLeptonVeto = True - - # testing leg1 - selDiLeptons = [ diL for diL in selDiLeptons if \ - self.testLeg1( diL.leg1(), leg1IsoCut ) ] - if len(selDiLeptons) == 0: - return False - else: - if fillCounter: self.counters.counter('DiLepton').inc('leg1 offline cuts passed') - - if len(self.cfg_comp.triggers)>0: - # trigger matching leg1 - selDiLeptons = [diL for diL in selDiLeptons if \ - self.trigMatched(event, diL.leg1(), 'leg1')] - if len(selDiLeptons) == 0: - return False - else: - if fillCounter: self.counters.counter('DiLepton').inc('leg1 trig matched') - - # testing leg2 - selDiLeptons = [ diL for diL in selDiLeptons if \ - self.testLeg2( diL.leg2(), leg2IsoCut ) ] - if len(selDiLeptons) == 0: - return False - else: - if fillCounter: self.counters.counter('DiLepton').inc('leg2 offline cuts passed') - - if len(self.cfg_comp.triggers)>0: - # trigger matching leg2 - selDiLeptons = [diL for diL in selDiLeptons if \ - self.trigMatched(event, diL.leg2(), 'leg2')] - if len(selDiLeptons) == 0: - return False - else: - if fillCounter: self.counters.counter('DiLepton').inc('leg2 trig matched') - - # mass cut - selDiLeptons = [ diL for diL in selDiLeptons if \ - self.testMass(diL) ] - if len(selDiLeptons)==0: - return False - else: - if fillCounter: self.counters.counter('DiLepton').inc( - '{min:3.1f} < m < {max:3.1f}'.format( min = self.cfg_ana.m_min, - max = self.cfg_ana.m_max ) - ) - - # delta R cut - if hasattr(self.cfg_ana, 'dR_min'): - selDiLeptons = [ diL for diL in selDiLeptons if \ - self.testDeltaR(diL) ] - if len(selDiLeptons)==0: - return False - else: - if fillCounter: self.counters.counter('DiLepton').inc( - 'dR > {min:3.1f}'.format( min = self.cfg_ana.dR_min ) - ) - - # exactly one? - if len(selDiLeptons)==0: - return False - elif len(selDiLeptons)==1: - if fillCounter: self.counters.counter('DiLepton').inc('exactly 1 di-lepton') - - event.diLepton = self.bestDiLepton( selDiLeptons ) - event.leg1 = event.diLepton.leg1() - event.leg2 = event.diLepton.leg2() - event.selectedLeptons = [event.leg1, event.leg2] - - return True - - - def declareHandles(self): - super(DiLeptonAnalyzer, self).declareHandles() - # self.handles['cmgTriggerObjectSel'] = AutoHandle( - # 'cmgTriggerObjectSel', - # 'std::vector' - # ) - - def leptonAccept(self, leptons): - '''Should implement a default version running on event.leptons.''' - return True - - - def thirdLeptonVeto(self, leptons, otherLeptons, isoCut = 0.3) : - '''Should implement a default version running on event.leptons.''' - return True - - - def testLeg1(self, leg, isocut=None): - '''returns testLeg1ID && testLeg1Iso && testLegKine for leg1''' - return self.testLeg1ID(leg) and \ - self.testLeg1Iso(leg, isocut) and \ - self.testLegKine(leg, self.cfg_ana.pt1, self.cfg_ana.eta1) - - - def testLeg2(self, leg, isocut=None): - '''returns testLeg2ID && testLeg2Iso && testLegKine for leg2''' - return self.testLeg2ID(leg) and \ - self.testLeg2Iso(leg, isocut) and \ - self.testLegKine(leg, self.cfg_ana.pt2, self.cfg_ana.eta2) - - - def testLegKine(self, leg, ptcut, etacut ): - '''Tests pt and eta.''' - return leg.pt() > ptcut and \ - abs(leg.eta()) < etacut - - - def testLeg1ID(self, leg): - '''Always return true by default, overload in your subclass''' - return True - - - def testLeg1Iso(self, leg, isocut): - '''If isocut is None, the iso value is taken from the iso1 parameter. - Checks the standard dbeta corrected isolation. - ''' - if isocut is None: - isocut = self.cfg_ana.iso1 - return leg.relIso(0.5) < isocut - - - def testLeg2ID(self, leg): - '''Always return true by default, overload in your subclass''' - return True - - - def testLeg2Iso(self, leg, isocut): - '''If isocut is None, the iso value is taken from the iso2 parameter. - Checks the standard dbeta corrected isolation. - ''' - if isocut is None: - isocut = self.cfg_ana.iso2 - return leg.relIso(0.5) < isocut - - - def testMass(self, diLepton): - '''returns True if the mass of the dilepton is between the m_min and m_max parameters''' - mass = diLepton.mass() - return self.cfg_ana.m_min < mass and mass < self.cfg_ana.m_max - - - def testDeltaR(self, diLepton): - '''returns True if the two diLepton.leg1() and .leg2() have a delta R larger than the dR_min parameter.''' - dR = deltaR( diLepton.leg1().eta(), diLepton.leg1().phi(), - diLepton.leg2().eta(), diLepton.leg2().phi()) - return dR > self.cfg_ana.dR_min - - - def bestDiLepton(self, diLeptons): - '''Returns the best diLepton (the one with highest pt1 + pt2).''' - return max( diLeptons, key=operator.methodcaller( 'sumPt' ) ) - - - def trigMatched(self, event, leg, legName): - '''Returns true if the leg is matched to a trigger object as defined in the - triggerMap parameter''' - if not hasattr( self.cfg_ana, 'triggerMap'): - return True - path = event.hltPath - triggerObjects = event.triggerObjects - filters = self.cfg_ana.triggerMap[ path ] - filter = None - if legName == 'leg1': - filter = filters[0] - elif legName == 'leg2': - filter = filters[1] - else: - raise ValueError( 'legName should be leg1 or leg2, not {leg}'.format( - leg=legName ) ) - - # JAN: Need a hack for the embedded samples: No trigger matching in that case - if filter == '': - return True - - # the dR2Max value is 0.3^2 - pdgIds = None - if len(filter) == 2: - filter, pdgIds = filter[0], filter[1] - return triggerMatched(leg, triggerObjects, path, filter, - # dR2Max=0.089999, - dR2Max=0.25, - pdgIds=pdgIds ) diff --git a/CMGTools/RootTools/python/analyzers/EventSelector.py b/CMGTools/RootTools/python/analyzers/EventSelector.py deleted file mode 100644 index 6e45f5796e9e..000000000000 --- a/CMGTools/RootTools/python/analyzers/EventSelector.py +++ /dev/null @@ -1,46 +0,0 @@ -from CMGTools.RootTools.fwlite.Analyzer import Analyzer - - -class EventSelector( Analyzer ): - """Skips events that are not in the toSelect list. - - Example: - - eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - 1239742, - 38001, - 159832 - ] - ) - - The process function of this analyzer returns False if the event number - is not in the toSelect list. - In this list, put actual CMS event numbers obtained by doing: - iEvent.eventAuxiliary().id().event() - - not event processing number - in this python framework. - - This analyzer is typically inserted at the beginning of the analyzer - sequence to skip events you don't want. - We use it in conjonction with an - import pdb; pdb.set_trace() - statement in a subsequent analyzer, to debug a given event in the - toSelect list. - - This kind of procedure if you want to synchronize your selection - with an other person at the event level. - """ - - def process(self, iEvent, event): - run = iEvent.eventAuxiliary().id().run() - lumi = iEvent.eventAuxiliary().id().luminosityBlock() - eId = iEvent.eventAuxiliary().id().event() - if eId in self.cfg_ana.toSelect: - # raise ValueError('found') - print 'Selecting', run, lumi, eId - return True - else: - return False diff --git a/CMGTools/RootTools/python/analyzers/JSONAnalyzer.py b/CMGTools/RootTools/python/analyzers/JSONAnalyzer.py deleted file mode 100644 index 4b4530932ead..000000000000 --- a/CMGTools/RootTools/python/analyzers/JSONAnalyzer.py +++ /dev/null @@ -1,77 +0,0 @@ -import json -from CMGTools.RootTools.fwlite.Analyzer import Analyzer - -from FWCore.PythonUtilities.LumiList import LumiList -from CMGTools.RootTools.utils.RLTInfo import RLTInfo - - -class JSONAnalyzer( Analyzer ): - '''Apply a json filter, and creates an RLTInfo TTree. - See CMGTools.RootTools.utils.RLTInfo for more information - - example: - - jsonFilter = cfg.Analyzer( - "JSONAnalyzer", - ) - - The path of the json file to be used is set as a component attribute. - - The process function returns: - - True if - - the component is MC or - - if the run/lumi pair is in the JSON file - - if the json file was not set for this component - - False if the component is MC or embed (for H->tau tau), - and if the run/lumi pair is not in the JSON file. - ''' - - def __init__(self, cfg_ana, cfg_comp, looperName): - super(JSONAnalyzer, self).__init__(cfg_ana, cfg_comp, looperName) - if not cfg_comp.isMC: - if self.cfg_comp.json is None: - raise ValueError('component {cname} is not MC, and contains no JSON file. Either remove the JSONAnalyzer for your path or set the "json" attribute of this component'.format(cname=cfg_comp.name)) - self.lumiList = LumiList(self.cfg_comp.json) - else: - self.lumiList = None - - - self.rltInfo = RLTInfo() - - - def beginLoop(self): - super(JSONAnalyzer,self).beginLoop() - self.counters.addCounter('JSON') - self.count = self.counters.counter('JSON') - self.count.register('All Lumis') - self.count.register('Passed Lumis') - - def process(self, iEvent, event): - self.readCollections( iEvent ) - run = iEvent.eventAuxiliary().id().run() - lumi = iEvent.eventAuxiliary().id().luminosityBlock() - eventId = iEvent.eventAuxiliary().id().event() - - event.run = run - event.lumi = lumi - event.eventId = eventId - - if self.cfg_comp.isMC: - return True - - if self.lumiList is None: - return True - - self.count.inc('All Lumis') - if self.lumiList.contains(run,lumi): - self.count.inc('Passed Lumis') - self.rltInfo.add('dummy', run, lumi) - return True - else: - return False - - - def write(self): - super(JSONAnalyzer, self).write() - self.rltInfo.write( self.dirName ) - diff --git a/CMGTools/RootTools/python/analyzers/MetAnalyzer.py b/CMGTools/RootTools/python/analyzers/MetAnalyzer.py deleted file mode 100644 index 6cfc4ab8b0b9..000000000000 --- a/CMGTools/RootTools/python/analyzers/MetAnalyzer.py +++ /dev/null @@ -1,79 +0,0 @@ -import copy -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle -import random - -def pv(vc): - print 'x = {x:5.4f}, y = {y:5.4f}, z = {z:5.4f}'.format(x=vc.X(), - y=vc.Y(), - z=vc.Z()) - -class MetAnalyzer( Analyzer ): - '''Analyze vertices, add weight to MC events''' - - def declareHandles(self): - super(MetAnalyzer, self).declareHandles() - self.handles['met'] = AutoHandle( - self.cfg_ana.metCol, - self.cfg_ana.metType - ) - - - def beginLoop(self): - super(MetAnalyzer,self).beginLoop() - - - def process(self, iEvent, event): - self.readCollections( iEvent ) - event.met = self.handles['met'].product()[0] - met = event.met - # here, do pure met stuff - - if not hasattr(event, 'diLepton'): - return False - - diL = event.diLepton - -## rnd = random.random() -## leg = diL.leg1() -## if rnd>0.5: -## leg = diL.leg2() - - - # here, do recoil stuff - - mVect = met.p4().Vect() - mVect.SetZ(0.) - vVect = diL.p4().Vect() - vVect.SetZ(0.) - recoilVect = copy.deepcopy(mVect) - recoilVect -= vVect - - uvVect = vVect.Unit() - zAxis = type(vVect)(0,0,1) - uvVectPerp = vVect.Cross(zAxis).Unit() - - u1 = - recoilVect.Dot(uvVect) - u2 = recoilVect.Dot(uvVectPerp) - - event.u1 = u1 - event.u2 = u2 - - if self.cfg_ana.verbose: - print 'met', met.pt() - print 'diL', diL - print 'vVect' - pv(vVect) - print 'uvVect' - pv(uvVect) - print 'uvVectPerp' - pv(uvVectPerp) - print u1, u2 - - return True - - - - -## def write(self): -## super(MetAnalyzer, self).write() diff --git a/CMGTools/RootTools/python/analyzers/MetTreeProducer.py b/CMGTools/RootTools/python/analyzers/MetTreeProducer.py deleted file mode 100644 index a95db3a5126a..000000000000 --- a/CMGTools/RootTools/python/analyzers/MetTreeProducer.py +++ /dev/null @@ -1,33 +0,0 @@ -from CMGTools.RootTools.analyzers.TreeAnalyzerNumpy import TreeAnalyzerNumpy - -def var( tree, varName, type=float ): - tree.var(varName, type) - -def fill( tree, varName, value ): - tree.fill( varName, value ) - - -class MetTreeProducer( TreeAnalyzerNumpy ): - def declareVariables(self): - tr = self.tree - var( tr, 'u1') - var( tr, 'u2') - var( tr, 'met') - var( tr, 'sumet') - var( tr, 'zpt') - var( tr, 'zeta') - var( tr, 'weight') - - def process(self, iEvent, event): - - tr = self.tree - tr.reset() - fill( tr, 'u1', event.u1) - fill( tr, 'u2', event.u2) - fill( tr, 'met', event.met.pt()) - fill( tr, 'sumet', event.met.sumEt()) - fill( tr, 'zpt', event.diLepton.pt()) - fill( tr, 'zeta', event.diLepton.eta()) - fill( tr, 'weight', event.vertexWeight) - self.tree.tree.Fill() - diff --git a/CMGTools/RootTools/python/analyzers/PileUpAnalyzer.py b/CMGTools/RootTools/python/analyzers/PileUpAnalyzer.py deleted file mode 100644 index a3e1c4ab2eb4..000000000000 --- a/CMGTools/RootTools/python/analyzers/PileUpAnalyzer.py +++ /dev/null @@ -1,147 +0,0 @@ -import os -from CMGTools.RootTools.analyzers.VertexHistograms import VertexHistograms -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle -from CMGTools.RootTools.statistics.Average import Average -from CMGTools.RootTools.physicsobjects.PileUpSummaryInfo import PileUpSummaryInfo -from ROOT import TFile, TH1F - -class PileUpAnalyzer( Analyzer ): - '''Computes pile-up weights for MC from the pile up histograms for MC and data. - These histograms should be set on the components as - puFileData, puFileMC attributes, as is done here: - - http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/UserCode/CMG/CMGTools/H2TauTau/Colin/test_tauMu_2012_cfg.py?view=markup - - THESE HISTOGRAMS MUST BE CONSISTENT, SEE - https://twiki.cern.ch/twiki/bin/view/CMS/CMGToolsPileUpReweighting#Generating_pile_up_distributions - - If the component is not MC, or if the puFileData and puFileMC are not - set for the component, the reweighting is not done. - - The analyzer sets event.vertexWeight. - This weight is multiplied to the global event weight, event.eventWeight. - When using this analyzer, make sure that the VertexAnalyzer is disabled, - as you would be reweighting the MC PU distribution twice! - - Additionally, this analyzer writes in the output an histogram containing the unweighting MC - pile-up distribution, to be used in input of the weighting for a later pass. - - Example of use: - - puAna = cfg.Analyzer( - "PileUpAnalyzer", - # build unweighted pu distribution using number of pile up interactions if False - # otherwise, use fill the distribution using number of true interactions - true = True - ) - ''' - - def __init__(self, cfg_ana, cfg_comp, looperName): - super(PileUpAnalyzer, self).__init__(cfg_ana, cfg_comp, looperName) - - self.doHists=True - - if (hasattr(self.cfg_ana,'makeHists')) and (not self.cfg_ana.makeHists): - self.doHists=False - - self.allVertices = self.cfg_ana.allVertices if (hasattr(self.cfg_ana,'allVertices')) else "_AUTO_" - - if self.cfg_comp.isMC and self.doHists: - self.rawmcpileup = VertexHistograms('/'.join([self.dirName, - 'rawMCPU.root'])) - self.enable = True - ## if component is embed return (has no trigger obj) - if self.cfg_comp.isEmbed : - self.cfg_comp.puFileMC = None - self.cfg_comp.puFileData = None - - if self.cfg_comp.isMC or self.cfg_comp.isEmbed: - if self.cfg_comp.puFileMC is None and self.cfg_comp.puFileData is None: - self.enable = False - else: - assert( os.path.isfile(self.cfg_comp.puFileMC) ) - assert( os.path.isfile(self.cfg_comp.puFileData) ) - - self.mcfile = TFile( self.cfg_comp.puFileMC ) - self.mchist = self.mcfile.Get('pileup') - self.mchist.Scale( 1 / self.mchist.Integral() ) - - self.datafile = TFile( self.cfg_comp.puFileData ) - self.datahist = self.datafile.Get('pileup') - self.datahist.Scale( 1 / self.datahist.Integral() ) - # import pdb; pdb.set_trace() - if self.mchist.GetNbinsX() != self.datahist.GetNbinsX(): - raise ValueError('data and mc histograms must have the same number of bins') - if self.mchist.GetXaxis().GetXmin() != self.datahist.GetXaxis().GetXmin(): - raise ValueError('data and mc histograms must have the same xmin') - if self.mchist.GetXaxis().GetXmax() != self.datahist.GetXaxis().GetXmax(): - raise ValueError('data and mc histograms must have the same xmax') - - def declareHandles(self): - super(PileUpAnalyzer, self).declareHandles() - self.mchandles['pusi'] = AutoHandle( - 'addPileupInfo', - 'std::vector' - ) - if self.allVertices == '_AUTO_': - self.handles['vertices'] = AutoHandle( "offlineSlimmedPrimaryVertices", 'std::vector', fallbackLabel="offlinePrimaryVertices" ) - else: - self.handles['vertices'] = AutoHandle( self.allVertices, 'std::vector' ) - - def beginLoop(self): - super(PileUpAnalyzer,self).beginLoop() - self.averages.add('vertexWeight', Average('vertexWeight') ) - - - def process(self, iEvent, event): - self.readCollections( iEvent ) - ## if component is embed return (has no trigger obj) - if self.cfg_comp.isEmbed : - return True - - event.vertexWeight = 1 - event.nPU = None - if self.cfg_comp.isMC: - event.pileUpInfo = map( PileUpSummaryInfo, - self.mchandles['pusi'].product() ) - for puInfo in event.pileUpInfo: - if puInfo.getBunchCrossing()==0: - # import pdb; pdb.set_trace() - if self.cfg_ana.true is False: - event.nPU = puInfo.nPU() - else: - event.nPU = puInfo.nTrueInteractions() - - if self.doHists: - self.rawmcpileup.hist.Fill( event.nPU ) - - if event.nPU is None: - raise ValueError('nPU cannot be None! means that no pu info has been found for bunch crossing 0.') - elif self.cfg_comp.isEmbed: - vertices = self.handles['vertices'].product() - event.nPU = len(vertices) - else: - return True - - if self.enable: - bin = self.datahist.FindBin(event.nPU) - if bin<1 or bin>self.datahist.GetNbinsX(): - event.vertexWeight = 0 - else: - data = self.datahist.GetBinContent(bin) - mc = self.mchist.GetBinContent(bin) - #Protect 0 division!!!! - if mc !=0.0: - event.vertexWeight = data/mc - else: - event.vertexWeight = 1 - - event.eventWeight *= event.vertexWeight - self.averages['vertexWeight'].add( event.vertexWeight ) - return True - - def write(self): - super(PileUpAnalyzer, self).write() - if self.cfg_comp.isMC and self.doHists: - self.rawmcpileup.write() diff --git a/CMGTools/RootTools/python/analyzers/TreeAnalyzerNumpy.py b/CMGTools/RootTools/python/analyzers/TreeAnalyzerNumpy.py deleted file mode 100644 index 3c2ffcf37341..000000000000 --- a/CMGTools/RootTools/python/analyzers/TreeAnalyzerNumpy.py +++ /dev/null @@ -1,31 +0,0 @@ -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.statistics.TreeNumpy import TreeNumpy as Tree -from ROOT import TFile - -class TreeAnalyzerNumpy( Analyzer ): - """Base TreeAnalyzerNumpy, to create flat TTrees. - - Check out TestTreeAnalyzer for a concrete example. - IMPORTANT: FOR NOW, CANNOT RUN SEVERAL TreeAnalyzers AT THE SAME TIME! - Anyway, you want only one TTree, don't you?""" - - def __init__(self, cfg_ana, cfg_comp, looperName): - super(TreeAnalyzerNumpy,self).__init__(cfg_ana, cfg_comp, looperName) - fileName = '/'.join([self.dirName, - self.name+'_tree.root']) - - isCompressed = self.cfg_ana.isCompressed if hasattr(cfg_ana,'isCompressed') else 1 - print 'Compression', isCompressed - - self.file = TFile( fileName, 'recreate', '', isCompressed ) - self.tree = Tree(self.name,self.name) - self.declareVariables() - - def declareVariables(self): - print 'TreeAnalyzerNumpy.declareVariables : overload this function.' - pass - - def write(self): - super(TreeAnalyzerNumpy, self).write() - self.file.Write() - diff --git a/CMGTools/RootTools/python/analyzers/TriggerAnalyzer.py b/CMGTools/RootTools/python/analyzers/TriggerAnalyzer.py deleted file mode 100644 index a4013e8e3b00..000000000000 --- a/CMGTools/RootTools/python/analyzers/TriggerAnalyzer.py +++ /dev/null @@ -1,116 +0,0 @@ -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle -from CMGTools.RootTools.statistics.Counter import Counter -from CMGTools.RootTools.utils.TriggerList import TriggerList -from CMGTools.RootTools.utils.TriggerMatching import selTriggerObjects -from CMGTools.RootTools.physicsobjects.PhysicsObjects import TriggerObject - - - -class TriggerAnalyzer( Analyzer ): - '''Access to trigger information, and trigger selection''' - - def declareHandles(self): - super(TriggerAnalyzer, self).declareHandles() - - self.handles['cmgTriggerObjectSel'] = AutoHandle( - 'cmgTriggerObjectSel', - 'std::vector' - ) - - self.handles['cmgTriggerObjectListSel'] = AutoHandle( - 'cmgTriggerObjectListSel', - 'std::vector' - ) - - def beginLoop(self): - super(TriggerAnalyzer,self).beginLoop() - self.triggerList = TriggerList( self.cfg_comp.triggers ) - if hasattr(self.cfg_comp,'vetoTriggers'): - self.vetoTriggerList = TriggerList( self.cfg_comp.vetoTriggers ) - else: - self.vetoTriggerList = None - - self.counters.addCounter('Trigger') - self.counters.counter('Trigger').register('All events') - self.counters.counter('Trigger').register('HLT') - - - def process(self, iEvent, event): - self.readCollections( iEvent ) - - event.triggerObject = self.handles['cmgTriggerObjectSel'].product()[0] - run = iEvent.eventAuxiliary().id().run() - lumi = iEvent.eventAuxiliary().id().luminosityBlock() - eventId = iEvent.eventAuxiliary().id().event() - - event.run = run - event.lumi = lumi - event.eventId = eventId - -## if self.cfg_ana.verbose: -## self.printTriggerObject( event.triggerObject ) - - self.counters.counter('Trigger').inc('All events') - # import pdb; pdb.set_trace() - usePrescaled = False - if hasattr( self.cfg_ana, 'usePrescaled'): - usePrescaled = self.cfg_ana.usePrescaled - - # import pdb; pdb.set_trace() - passed, hltPath = self.triggerList.triggerPassed(event.triggerObject, - run, lumi, self.cfg_comp.isData, - usePrescaled = usePrescaled) - - - - #Check the veto! - veto=False - if self.vetoTriggerList is not None: - veto,hltVetoPath = self.vetoTriggerList.triggerPassed(event.triggerObject, - run,lumi,self.cfg_comp.isData, - usePrescaled = usePrescaled) - - # Check if events needs to be skipped if no trigger is found (useful for generator level studies) - keepFailingEvents = False - if hasattr( self.cfg_ana, 'keepFailingEvents'): - keepFailingEvents = self.cfg_ana.keepFailingEvents - if not passed or (passed and veto): - event.passedTriggerAnalyzer = False - if not keepFailingEvents: - return False - else: - event.passedTriggerAnalyzer = True - - event.hltPath = hltPath - - if hltPath is not None: - trigObjs = map( TriggerObject, - self.handles['cmgTriggerObjectListSel'].product()) - # selecting the trigger objects used in this path - event.triggerObjects = selTriggerObjects( trigObjs, hltPath ) - - self.counters.counter('Trigger').inc('HLT') - event.TriggerFired = 1 - return True - - def write(self): - print 'writing TriggerAnalyzer' - super(TriggerAnalyzer, self).write() - self.triggerList.write( self.dirName ) - - def __str__(self): - tmp = super(TriggerAnalyzer,self).__str__() - triglist = str( self.triggerList ) - return '\n'.join( [tmp, triglist ] ) - - -## def printTriggerObject(self, object): -## '''FIXME : we need a trigger object class in physicsobjects.''' -## print 'trig obj', object.pdgId(), object.pt(), object.charge(), object.eta(), object.phi() -## for name in object.getSelectionNames(): -## hasSel = object.getSelection( name ) -## if self.cfg_ana.verbose==1 and hasSel: -## print name, hasSel -## elif self.cfg_ana.verbose==2: -## print name, hasSel diff --git a/CMGTools/RootTools/python/analyzers/VertexAnalyzer.py b/CMGTools/RootTools/python/analyzers/VertexAnalyzer.py deleted file mode 100644 index f6ea6996fd61..000000000000 --- a/CMGTools/RootTools/python/analyzers/VertexAnalyzer.py +++ /dev/null @@ -1,156 +0,0 @@ -import itertools - -from CMGTools.RootTools.analyzers.VertexHistograms import VertexHistograms -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle -from CMGTools.RootTools.statistics.Average import Average -from CMGTools.RootTools.physicsobjects.PileUpSummaryInfo import PileUpSummaryInfo - -class VertexAnalyzer( Analyzer ): - """selects a list of good primary vertices, - and optionally add a pile-up weight to MC events. - - The list of good primary vertices is put in event.goodVertices. - if no good vertex is found, the process function returns False. - - The weight is put in event.vertexWeight, and is multiplied to - the global event weight, event.eventWeight. - - Example: - - vertexAna = cfg.Analyzer( - 'VertexAnalyzer', - goodVertices = 'goodPVFilter', - vertexWeight = 'vertexWeightFall112011AB', - # uncomment the following line if you want a vertex weight = 1 (no weighting) - # fixedWeight = 1, - verbose = False - ) - - If fixedWeight is set to None, the vertex weight is read from the EDM collection with module name - 'vertexWeightFall112011AB'. - Otherwise, the weight is set to fixedWeight. - - The vertex weight collection was at some point produced in the PAT+CMG step, - and could directly be accessed from the PAT or CMG tuple. - In the most recent versions of the PAT+CMG tuple, this collection is not present anymore, - and an additional full framework process must be ran to produce this collection, - so that this analyzer can read it. An example cfg to do that can be found here: - http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/UserCode/CMG/CMGTools/H2TauTau/prod/vertexWeight2011_cfg.py?view=markup - - - """ - - def __init__(self, cfg_ana, cfg_comp, looperName): - super(VertexAnalyzer, self).__init__(cfg_ana, cfg_comp, looperName) - - self.doHists=True - if (hasattr(self.cfg_ana,'makeHists')) and (not self.cfg_ana.makeHists): - self.doHists=False - if self.doHists: - self.pileup = VertexHistograms('/'.join([self.dirName, - 'pileup.root'])) - - self.allVertices = self.cfg_ana.allVertices if (hasattr(self.cfg_ana,'allVertices')) else "_AUTO_" - - def declareHandles(self): - super(VertexAnalyzer, self).declareHandles() - if self.allVertices == '_AUTO_': - self.handles['vertices'] = AutoHandle( "offlineSlimmedPrimaryVertices", 'std::vector', fallbackLabel="offlinePrimaryVertices" ) - else: - self.handles['vertices'] = AutoHandle( self.allVertices, 'std::vector' ) - self.fixedWeight = None - if self.cfg_comp.isMC: - if hasattr( self.cfg_ana, 'fixedWeight'): - self.fixedWeight = self.cfg_ana.fixedWeight - else: - self.mchandles['vertexWeight'] = AutoHandle( self.cfg_ana.vertexWeight, - 'double' ) - - self.mchandles['pusi'] = AutoHandle( - 'addPileupInfo', - 'std::vector' - ) - - self.handles['rho'] = AutoHandle( - ('fixedGridRhoFastjetAll', ''), - 'double' - ) - - def beginLoop(self): - super(VertexAnalyzer,self).beginLoop() - self.averages.add('vertexWeight', Average('vertexWeight') ) - self.counters.addCounter('GoodVertex') - self.count = self.counters.counter('GoodVertex') - self.count.register('All Events') - self.count.register('Events With Good Vertex') - - - def process(self, iEvent, event): - self.readCollections( iEvent ) - event.rho = self.handles['rho'].product()[0] - event.vertices = self.handles['vertices'].product() - event.goodVertices = filter(self.testGoodVertex,event.vertices) - - - self.count.inc('All Events') - - - event.vertexWeight = 1 - if self.cfg_comp.isMC: - event.pileUpInfo = map( PileUpSummaryInfo, - self.mchandles['pusi'].product() ) - if self.fixedWeight is None: - event.vertexWeight = self.mchandles['vertexWeight'].product()[0] - else: - event.vertexWeight = self.fixedWeight - event.eventWeight *= event.vertexWeight - - self.averages['vertexWeight'].add( event.vertexWeight ) - if self.verbose: - print 'VertexAnalyzer: #vert = ', len(event.vertices), \ - ', weight = ', event.vertexWeight - - # Check if events needs to be skipped if no good vertex is found (useful for generator level studies) - keepFailingEvents = False - if hasattr( self.cfg_ana, 'keepFailingEvents'): - keepFailingEvents = self.cfg_ana.keepFailingEvents - if len(event.goodVertices)==0: - event.passedVertexAnalyzer=False - if not keepFailingEvents: - return False - else: - event.passedVertexAnalyzer=True - - if self.doHists: - self.pileup.hist.Fill( len(event.goodVertices) ) - self.pileup.mindist.Fill( self.mindist(event.goodVertices) ) - - self.count.inc('Events With Good Vertex') - return True - - - def testGoodVertex(self,vertex): - if vertex.isFake(): - return False - if vertex.ndof()<=4: - return False - if abs(vertex.z())>24: - return False - if vertex.position().Rho()>2: - return False - - return True - - def mindist(self, vertices): - mindist = 999999 - for comb in itertools.combinations(vertices, 2): - dist = abs(comb[0].z() - comb[1].z()) - if dist>' - ) - self.handles['leptons'] = AutoHandle( - 'cmgElectronSelStdLep', - 'std::vector' - ) - - def testLeg1(self, leg): - return self.testElectron(leg) and \ - super( ZEleEleAnalyzer, self).testLeg1( leg ) - - def testLeg2(self, leg): - return self.testElectron(leg) and \ - super( ZEleEleAnalyzer, self).testLeg2( leg ) - - diff --git a/CMGTools/RootTools/python/analyzers/ZMuMuAnalyzer.py b/CMGTools/RootTools/python/analyzers/ZMuMuAnalyzer.py deleted file mode 100644 index 1a4f556a6eeb..000000000000 --- a/CMGTools/RootTools/python/analyzers/ZMuMuAnalyzer.py +++ /dev/null @@ -1,74 +0,0 @@ -from CMGTools.RootTools.analyzers.DiLeptonAnalyzer import DiLeptonAnalyzer -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle -from CMGTools.RootTools.physicsobjects.DiObject import DiMuon -from CMGTools.RootTools.physicsobjects.PhysicsObjects import Muon - - -class ZMuMuAnalyzer( DiLeptonAnalyzer ): - - DiObjectClass = DiMuon - LeptonClass = Muon - - def declareHandles(self): - super(ZMuMuAnalyzer, self).declareHandles() - print 'ZMuMuAnalyzer.declareHandles' - self.handles['diLeptons'] = AutoHandle( - 'cmgDiMuonSel', - 'std::vector>' - ) - self.handles['leptons'] = AutoHandle( - 'cmgMuonSel', - 'std::vector' - ) - self.handles['otherLeptons'] = AutoHandle( - 'cmgElectronSel', - 'std::vector' - ) - - - def buildDiLeptons(self, cmgDiLeptons, event): - '''Build di-leptons, associate best vertex to both legs, - select di-leptons with a tight ID muon. - The tight ID selection is done so that dxy and dz can be computed - (the muon must not be standalone). - ''' - diLeptons = [] - for index, dil in enumerate(cmgDiLeptons): - pydil = self.__class__.DiObjectClass(dil) - pydil.leg1().associatedVertex = event.goodVertices[0] - pydil.leg2().associatedVertex = event.goodVertices[0] - diLeptons.append( pydil ) - return diLeptons - - - def buildLeptons(self, cmgLeptons, event): - return [] - - - def buildOtherLeptons(self, cmgLeptons, event): - return [] - - - def testVertex(self, lepton): - '''Tests vertex constraints, for mu and tau''' - return abs(lepton.dxy()) < 0.045 and \ - abs(lepton.dz()) < 0.2 - - - def testMuonIso(self, muon, isocut ): - '''dbeta corrected pf isolation with all charged particles instead of - charged hadrons''' - return muon.relIsoAllChargedDB05() proceeding with the analysis' - else: - print 'Failed -> will have to actually count events (this can happen if the input dataset is not a CMG one)' - - - - def process(self, iEvent, event): - if not self.useLumiBlocks: - self.readCollections( iEvent ) - self.count.inc('All Events') - if self.cfg_comp.isMC: - self.count.inc('Sum Weights', self.mchandles['GenInfo'].product().weight()) - return True diff --git a/CMGTools/RootTools/python/analyzers/triggerBitFilter.py b/CMGTools/RootTools/python/analyzers/triggerBitFilter.py deleted file mode 100644 index 6b4c09cc7dfe..000000000000 --- a/CMGTools/RootTools/python/analyzers/triggerBitFilter.py +++ /dev/null @@ -1,45 +0,0 @@ -import operator -import itertools -import copy -from math import * - -from ROOT import TriggerBitChecker - -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.Event import Event -from CMGTools.RootTools.statistics.Counter import Counter, Counters -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle - -class triggerBitFilter( Analyzer ): - def __init__(self, cfg_ana, cfg_comp, looperName ): - super(triggerBitFilter,self).__init__(cfg_ana,cfg_comp,looperName) - triggers = cfg_comp.triggers - self.autoAccept = True if len(triggers) == 0 else False - vetoTriggers = cfg_comp.vetoTriggers if hasattr(cfg_comp, 'vetoTriggers') else [] - import ROOT - trigVec = ROOT.vector(ROOT.string)() - for t in triggers: trigVec.push_back(t) - self.mainFilter = TriggerBitChecker(trigVec) - if len(vetoTriggers): - vetoVec = ROOT.vector(ROOT.string)() - for t in vetoTriggers: vetoVec.push_back(t) - self.vetoFilter = TriggerBitChecker(vetoVec) - else: - self.vetoFilter = None - - def declareHandles(self): - super(triggerBitFilter, self).declareHandles() - self.handles['TriggerResults'] = AutoHandle( ('TriggerResults','','HLT'), 'edm::TriggerResults' ) - - def beginLoop(self): - super(triggerBitFilter,self).beginLoop() - - def process(self, iEvent, event): - if self.autoAccept: return True - self.readCollections( iEvent ) - if not self.mainFilter.check(iEvent.object(), self.handles['TriggerResults'].product()): - return False - if self.vetoFilter != None and self.vetoFilter.check(iEvent.object(), self.handles['TriggerResults'].product()): - return False - return True - diff --git a/CMGTools/RootTools/python/macros/cmgTauEffRefHistos.py b/CMGTools/RootTools/python/macros/cmgTauEffRefHistos.py deleted file mode 100644 index 4044772fb1ae..000000000000 --- a/CMGTools/RootTools/python/macros/cmgTauEffRefHistos.py +++ /dev/null @@ -1,154 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -###Define the sample here and just add new lines for later productions -sampleName = "DYToTauTau_M_20_TuneZ2_7TeV_pythia6_tauola.Summer11_PU_S3_START42_V11_v2.AODSIM.V2.PAT_CMG_V2_0_1" -############# - - -processName = "CmgTauEffHistos" -process = cms.Process(processName) -#process.setName_(processName) -process.load("CMGTools.Common.sources."+sampleName+".source_cff") -process.TFileService = cms.Service("TFileService",fileName = cms.string("file:"+processName+"_"+sampleName+".root")) -process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(-1)) -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 100 - - -#############create generated taus and define histograms -process.genTau = cms.EDFilter("GenParticleSelector", - src = cms.InputTag( "genParticlesStatus3" ), - cut = cms.string(" abs( pdgId() ) == 15 "), - ) - -process.genTauHistograms = cms.EDAnalyzer( - "GenParticleHistograms", - inputCollection = cms.InputTag("genTau"), - histograms = cms.untracked.PSet( - - pt = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('pt()'), - low = cms.untracked.double(0), - high = cms.untracked.double(200), - nbins = cms.untracked.int32(200) - ) - ), - - eta = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('eta()'), - low = cms.untracked.double(-5), - high = cms.untracked.double(5), - nbins = cms.untracked.int32(100) - ) - ), - - phi = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('phi()'), - low = cms.untracked.double(-3.2), - high = cms.untracked.double(3.2), - nbins = cms.untracked.int32(64) - ) - ), - - - ) -) - -#############truth-match the cmgTaus and define histograms -process.cmgTauSelTrue = cms.EDFilter("CmgTauSelector", - src = cms.InputTag( "cmgTauSel" ), - cut = cms.string( " genJetp4().Pt() > 0.0" )) - - -process.cmgTauSelTrueHistogramsGen = cms.EDAnalyzer( - "CmgTauHistograms", - inputCollection = cms.InputTag("cmgTauSelTrue"), - histograms = cms.untracked.PSet( - - pt = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('genTaup4().pt()'), - low = cms.untracked.double(0), - high = cms.untracked.double(200), - nbins = cms.untracked.int32(200) - ) - ), - - eta = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('genTaup4().eta()'), - low = cms.untracked.double(-5), - high = cms.untracked.double(5), - nbins = cms.untracked.int32(100) - ) - ), - - phi = cms.untracked.VPSet( - cms.untracked.PSet( - var = cms.untracked.string('genTaup4().phi()'), - low = cms.untracked.double(-3.2), - high = cms.untracked.double(3.2), - nbins = cms.untracked.int32(64) - ) - ), - - - ) -) - - - -#############generated taus by charge and define histograms -process.genTauPlus = process.genTau.clone() -process.genTauPlus.src = cms.InputTag( "genTau" ) -process.genTauPlus.cut = cms.string(" abs(pdgId()) == 15 && charge()==1 ") -process.genTauPlusHistograms = process.genTauHistograms.clone() -process.genTauPlusHistograms.inputCollection = cms.InputTag("genTauPlus") - -process.genTauMinus = process.genTau.clone() -process.genTauMinus.src = cms.InputTag( "genTau" ) -process.genTauMinus.cut = cms.string(" abs(pdgId()) == 15 && charge()==-1 ") -process.genTauMinusHistograms = process.genTauHistograms.clone() -process.genTauMinusHistograms.inputCollection = cms.InputTag("genTauMinus") - -#############truth-match cmgTaus by charge and define histograms -process.cmgTauSelPlusTrue = process.cmgTauSelTrue.clone() -process.cmgTauSelPlusTrue.src = cms.InputTag( "cmgTauSelTrue" ) -process.cmgTauSelPlusTrue.cut = cms.string( " genJetp4().Pt() > 0.0 && charge() == 1" ) -process.cmgTauSelPlusTrueHistogramsGen = process.cmgTauSelTrueHistogramsGen.clone() -process.cmgTauSelPlusTrueHistogramsGen.inputCollection = cms.InputTag("cmgTauSelPlusTrue") - -process.cmgTauSelMinusTrue = process.cmgTauSelTrue.clone() -process.cmgTauSelMinusTrue.src = cms.InputTag( "cmgTauSelTrue" ) -process.cmgTauSelMinusTrue.cut = cms.string( " genJetp4().Pt() > 0.0 && charge() == -1" ) -process.cmgTauSelMinusTrueHistogramsGen = process.cmgTauSelTrueHistogramsGen.clone() -process.cmgTauSelMinusTrueHistogramsGen.inputCollection = cms.InputTag("cmgTauSelMinusTrue") - - - -###### -process.analysisSequence = cms.Sequence( - process.genTau - +process.genTauHistograms - +process.genTauPlus - +process.genTauPlusHistograms - +process.genTauMinus - +process.genTauMinusHistograms - - +process.cmgTauSelTrue - +process.cmgTauSelTrueHistogramsGen - +process.cmgTauSelPlusTrue - +process.cmgTauSelPlusTrueHistogramsGen - +process.cmgTauSelMinusTrue - +process.cmgTauSelMinusTrueHistogramsGen -) -process.p = cms.Path(process.analysisSequence) - - - - - - diff --git a/CMGTools/RootTools/python/physicsobjects/ElectronCalibrator.py b/CMGTools/RootTools/python/physicsobjects/ElectronCalibrator.py deleted file mode 100644 index 7a8380945586..000000000000 --- a/CMGTools/RootTools/python/physicsobjects/ElectronCalibrator.py +++ /dev/null @@ -1,22 +0,0 @@ -from math import * - -class EmbeddedElectronCalibrator: - def __init__(self,label="calib"): - self._label = label - def correct(self,cmgelectron,dummy): - ele = cmgelectron.sourcePtr().get() - if not ele.hasUserFloat("p_"+self._label): - raise RuntimeError, "Electron does not have an embedded energy scale correction with label '%s'" % self._label - kind_in = ele.candidateP4Kind() - p4_in = ele.p4(kind_in) - pCalib = ele.userFloat("p_"+self._label) - pErrCalib = ele.userFloat("pError_"+self._label) - pKindCalib = ele.userInt("pKind_"+self._label) - ecalCalib = ele.userFloat("ecalEnergy_"+self._label) - eErrCalib = ele.userFloat("ecalEnergyError_"+self._label) - ele.setCorrectedEcalEnergy( ecalCalib ) - ele.setCorrectedEcalEnergyError( eErrCalib ) - p4_out = p4_in * (pCalib/p4_in.P()) - ele.setP4(pKindCalib, p4_out, pErrCalib, True) - cmgelectron.setP4(p4_out) - diff --git a/CMGTools/RootTools/python/physicsobjects/ElectronMVAID.py b/CMGTools/RootTools/python/physicsobjects/ElectronMVAID.py deleted file mode 100644 index fc7076da3742..000000000000 --- a/CMGTools/RootTools/python/physicsobjects/ElectronMVAID.py +++ /dev/null @@ -1,44 +0,0 @@ - -class ElectronMVAID: - def __init__(self,name,type,*xmls): - import ROOT - self.name = name - self.estimator = ROOT.EGammaMvaEleEstimatorFWLite() - self.sxmls = ROOT.vector(ROOT.string)() - for x in xmls: self.sxmls.push_back(x) - self.etype = -1 - if type == "Trig": self.etype = self.estimator.kTrig; - if type == "NonTrig": self.etype = self.estimator.kNonTrig; - if type == "TrigNoIP": self.etype = self.estimator.kTrigNoIP; - if self.etype == -1: raise RuntimeError, "Unknown type %s" % type - self._init = False - def __call__(self,ele,vtx,rho,full5x5=False,debug=False): - if not self._init: - self.estimator.initialize(self.name,self.etype,True,self.sxmls) - self._init = True - return self.estimator.mvaValue(ele,vtx,rho,full5x5,debug) - -ElectronMVAID_Trig = ElectronMVAID("BDT", "Trig", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat1.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat2.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat3.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat4.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat5.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigV0_Cat6.weights.xml.gz", -) -ElectronMVAID_NonTrig = ElectronMVAID("BDT", "NonTrig", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat1.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat2.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat3.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat4.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat5.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_NonTrigV0_Cat6.weights.xml.gz", -) -ElectronMVAID_TrigNoIP = ElectronMVAID("BDT", "TrigNoIP", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat1.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat2.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat3.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat4.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat5.weights.xml.gz", - "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat6.weights.xml.gz", -) diff --git a/CMGTools/RootTools/python/physicsobjects/JetReCalibrator.py b/CMGTools/RootTools/python/physicsobjects/JetReCalibrator.py deleted file mode 100644 index eabab073fcc8..000000000000 --- a/CMGTools/RootTools/python/physicsobjects/JetReCalibrator.py +++ /dev/null @@ -1,120 +0,0 @@ -import ROOT -import os -from math import * -from CMGTools.RootTools.utils.DeltaR import * - -class JetReCalibrator: - def __init__(self,globalTag,jetFlavour,doResidualJECs,upToLevel=3): - """Create a corrector object that reads the payloads from the text dumps of a global tag under - CMGTools/RootTools/data/jec (see the getJec.py there to make the dumps). - It will apply the L1,L2,L3 and possibly the residual corrections to the jets.""" - # Make base corrections - path = "%s/src/CMGTools/RootTools/data/jec" % os.environ['CMSSW_BASE']; - self.L1JetPar = ROOT.JetCorrectorParameters("%s/%s_L1FastJet_%s.txt" % (path,globalTag,jetFlavour)); - self.L2JetPar = ROOT.JetCorrectorParameters("%s/%s_L2Relative_%s.txt" % (path,globalTag,jetFlavour)); - self.L3JetPar = ROOT.JetCorrectorParameters("%s/%s_L3Absolute_%s.txt" % (path,globalTag,jetFlavour)); - self.vPar = ROOT.vector(ROOT.JetCorrectorParameters)() - self.vPar.push_back(self.L1JetPar); - if upToLevel >= 2: self.vPar.push_back(self.L2JetPar); - if upToLevel >= 3: self.vPar.push_back(self.L3JetPar); - # Add residuals if needed - if doResidualJECs : - self.ResJetPar = ROOT.JetCorrectorParameters("%s/%s_L2L3Residual_%s.txt" % (path,globalTag,jetFlavour)) - self.vPar.push_back(self.ResJetPar); - #Step3 (Construct a FactorizedJetCorrector object) - self.JetCorrector = ROOT.FactorizedJetCorrector(self.vPar) - self.JetUncertainty = ROOT.JetCorrectionUncertainty("%s/%s_Uncertainty_%s.txt" % (path,globalTag,jetFlavour)); - def correctAll(self,jets,rho,delta=0,metShift=[0,0]): - """Applies 'correct' to all the jets, discard the ones that have bad corrections (corrected pt <= 0)""" - badJets = [] - for j in jets: - ok = self.correct(j,rho,delta,metShift) - if not ok: badJets.append(j) - if len(badJets) > 0: - print "Warning: %d out of %d jets flagged bad by JEC." % (len(badJets), len(jets)) - for bj in badJets: - jets.remove(bj) - def correct(self,jet,rho,delta=0,metShift=[0,0]): - """Corrects a jet energy (optionally shifting it also by delta times the JEC uncertainty) - If a two-component list is passes as 'metShift', it will be modified adding to the first and second - component the change to the MET along x and y due to the JEC, defined as the negative difference - between the new and old jet 4-vectors, for jets with corrected pt > 10.""" - self.JetCorrector.setJetEta(jet.eta()) - self.JetCorrector.setJetPt(jet.pt() * jet.rawFactor()) - self.JetCorrector.setJetA(jet.jetArea()) - self.JetCorrector.setRho(rho) - corr = self.JetCorrector.getCorrection() - self.JetUncertainty.setJetEta(jet.eta()) - self.JetUncertainty.setJetPt(corr * jet.pt() * jet.rawFactor()) - try: - jet.jetEnergyCorrUncertainty = self.JetUncertainty.getUncertainty(True) - except RuntimeError, r: - print "Caught %s when getting uncertainty for jet of pt %.1f, eta %.2f\n" % (r,corr * jet.pt() * jet.rawFactor(),jet.eta()) - jet.jetEnergyCorrUncertainty = 0.5 - if jet.photonEnergyFraction() < 0.9 and jet.pt()*corr*jet.rawFactor() > 10: - metShift[0] -= jet.px()*(corr*jet.rawFactor() - 1)*(1-jet.muonEnergyFraction()) - metShift[1] -= jet.py()*(corr*jet.rawFactor() - 1)*(1-jet.muonEnergyFraction()) - if delta != 0: - #print " jet with corr pt %6.2f has an uncertainty %.2f " % (jet.pt()*jet.rawFactor()*corr, jet.jetEnergyCorrUncertainty) - corr *= max(0, 1+delta*jet.jetEnergyCorrUncertainty) - if jet.pt()*jet.rawFactor()*corr > 10: - metShift[0] -= jet.px()*jet.rawFactor()*corr*delta*jet.jetEnergyCorrUncertainty - metShift[1] -= jet.py()*jet.rawFactor()*corr*delta*jet.jetEnergyCorrUncertainty - #print " jet with raw pt %6.2f eta %+5.3f phi %+5.3f: previous corr %.4f, my corr %.4f " % (jet.pt()*jet.rawFactor(), jet.eta(), jet.phi(), 1./jet.rawFactor(), corr) - if corr <= 0: - return False - jet.setP4(jet.p4() * (corr * jet.rawFactor())) - return True - -class Type1METCorrection: - def __init__(self,globalTag,jetFlavour,doResidualJECs): - """Create a corrector object that reads the payloads from the text dumps of a global tag under - CMGTools/RootTools/data/jec (see the getJec.py there to make the dumps). - It will make the Type1 MET.""" - # Make base corrections - path = "%s/src/CMGTools/RootTools/data/jec" % os.environ['CMSSW_BASE']; - self.L1JetPar = ROOT.JetCorrectorParameters("%s/%s_L1FastJet_%s.txt" % (path,globalTag,jetFlavour)); - self.L2JetPar = ROOT.JetCorrectorParameters("%s/%s_L2Relative_%s.txt" % (path,globalTag,jetFlavour)); - self.L3JetPar = ROOT.JetCorrectorParameters("%s/%s_L3Absolute_%s.txt" % (path,globalTag,jetFlavour)); - self.vPar = ROOT.vector(ROOT.JetCorrectorParameters)() - self.vPar.push_back(self.L1JetPar); - self.vPar.push_back(self.L2JetPar); - self.vPar.push_back(self.L3JetPar); - # Add residuals if needed - if doResidualJECs : - self.ResJetPar = ROOT.JetCorrectorParameters("%s/%s_L2L3Residual_%s.txt" % (path,globalTag,jetFlavour)) - self.vPar.push_back(self.ResJetPar); - #Step3 (Construct a FactorizedJetCorrector object) - self.JetCorrector = ROOT.FactorizedJetCorrector(self.vPar) - self.JetUncertainty = ROOT.JetCorrectionUncertainty("%s/%s_Uncertainty_%s.txt" % (path,globalTag,jetFlavour)); - self.vPar1 = ROOT.vector(ROOT.JetCorrectorParameters)() - self.vPar1.push_back(self.L1JetPar); - self.JetCorrectorL1 = ROOT.FactorizedJetCorrector(self.vPar1) - def getMETCorrection(self,jets,rho,muons): - px0, py0 = 0, 0 - for j in jets: - if j.component(4).fraction() > 0.9: continue - jp4 = j.p4().__class__(j.p4()); - jp4 *= j.rawFactor() - mup4 = j.p4().__class__(0,0,0,0) - for mu in muons: - if mu.sourcePtr().track().isNonnull() and (mu.sourcePtr().isGlobalMuon() or mu.sourcePtr().isStandAloneMuon()) and deltaR(mu.eta(),mu.phi(),j.eta(),j.phi()) < 0.5: - mup4 += mu.p4() - jp4 -= mup4 - self.JetCorrector.setJetEta(j.eta()) - self.JetCorrector.setJetPt(j.pt()*j.rawFactor()) # NOTE: we don't subtract the muon here! - self.JetCorrector.setJetA(j.jetArea()) - self.JetCorrector.setRho(rho) - corr3 = self.JetCorrector.getCorrection() - self.JetCorrectorL1.setJetEta(j.eta()) - self.JetCorrectorL1.setJetPt(j.pt()*j.rawFactor()) # NOTE: we don't subtract the muon here! - self.JetCorrectorL1.setJetA(j.jetArea()) - self.JetCorrectorL1.setRho(rho) - corr1 = self.JetCorrectorL1.getCorrection() - if jp4.pt() * corr3 < 10: - #print " no correction from jet of pt %8.2f / %8.2f , phi %+5.3f / %+5.3f (corr3 %5.3f, corr1 %5.3f): %+7.3f %+7.3f" % (j.pt(),jp4.pt(),j.phi(), jp4.phi(), corr3, corr1, -jp4.X()*(corr3 -corr1),-jp4.Y()*(corr3-corr1)) - continue - #print " correction from jet of pt %8.2f, phi %+5.3f / %+5.3f (corr3 %5.3f, corr1 %5.3f): %+7.3f %+7.3f" % (j.pt(),j.phi(), jp4.phi(), corr3, corr1, -jp4.X()*(corr3-corr1), -jp4.Y()*(corr3- - px0 -= jp4.X()*(corr3-corr1) - py0 -= jp4.Y()*(corr3-corr1) - return [px0, py0] diff --git a/CMGTools/RootTools/python/physicsobjects/RochesterCorrections.py b/CMGTools/RootTools/python/physicsobjects/RochesterCorrections.py deleted file mode 100644 index 3bf515697247..000000000000 --- a/CMGTools/RootTools/python/physicsobjects/RochesterCorrections.py +++ /dev/null @@ -1,76 +0,0 @@ -import copy - -from ROOT import RochCor, RochCor2012, TLorentzVector -from CMGTools.RootTools.utils.cmsswRelease import isNewerThan - -is2012 = isNewerThan('CMSSW_5_2_X') - -class RochesterCorrections(object): - - def __init__(self): - self.cor = RochCor() - self.cor2012 = RochCor2012() - - def corrected_p4( self, particle, run ): - '''Returns the corrected p4 for a particle. - - The particle remains unchanged. - ''' - ptc = particle - p4 = ptc.p4() - tlp4 = TLorentzVector( p4.px(), p4.py(), p4.pz(), p4.energy() ) - cortlp4 = copy.copy(tlp4) - if run<100: - if is2012: - self.cor2012.momcor_mc( cortlp4, ptc.charge(), 0.0, 0 ) - else: - self.cor.momcor_mc( cortlp4, ptc.charge(), 0.0, 0 ) - else: # data - if is2012: - self.cor2012.momcor_data( cortlp4, ptc.charge(), 0.0, 0 ) - else: - self.cor.momcor_data( cortlp4, ptc.charge(), 0.0, int(run>173692) ) - corp4 = p4.__class__( cortlp4.Px(), cortlp4.Py(), cortlp4.Pz(), cortlp4.Energy() ) - return corp4 - - - def correct( self, particles, run ): - '''Correct a list of particles. - - The p4 of each particle will change - ''' - for ptc in particles: - corp4 = corrected_p4(ptc, run) - ptc.setP4( corp4 ) - - -rochcor = RochesterCorrections() - - -# Below, Mike's C++ code from the HZZ analysis -## unsigned int run = iEvent.id().run(); - -## for (unsigned int i = 0; i < nsrc; ++i) { -## T mu = (*src)[i]; -## TLorentzVector p4(mu.px(),mu.py(),mu.pz(),mu.energy()); - - -## if (run <100 && !is55X) { //Monte Carlo 2011 -## corrector_.momcor_mc(p4, mu.charge(), 0.0, 0); -## } -## else if (run <100 && is55X) { -## corrector12_.momcor_mc(p4, mu.charge(), 0.0, 0); -## } -## else if (run>100&&run<=180252) { //2011 Data -## corrector_.momcor_data(p4, mu.charge(), 0.0, run <= 173692 ? 0 : 1); -## } -## else if (run>190000) { //2012 Data -## corrector12_.momcor_data(p4, mu.charge(), 0.0, 0.0); -## } - -## math::XYZTLorentzVector newP4(p4.Px(),p4.Py(),p4.Pz(),p4.Energy()); -## mu.setP4(newP4); - - -## out->push_back(mu); - diff --git a/CMGTools/RootTools/python/physicsobjects/genutils.py b/CMGTools/RootTools/python/physicsobjects/genutils.py deleted file mode 100644 index c2298ea2f31c..000000000000 --- a/CMGTools/RootTools/python/physicsobjects/genutils.py +++ /dev/null @@ -1,77 +0,0 @@ -from CMGTools.RootTools.physicsobjects.PhysicsObjects import printOut -from CMGTools.RootTools.physicsobjects.PhysicsObjects import GenParticle - -def findStatus1Leptons(particle): - '''Returns status 1 e and mu among the particle daughters''' - leptons = [] - for i in range( particle.numberOfDaughters() ): - dau = particle.daughter(i) - if dau.status() == 1: - if abs(dau.pdgId())==11 or abs(dau.pdgId())==13: - leptons.append( dau ) - else: - continue - else: - leptons = findStatus1Leptons( dau, leptons ) - return leptons - - -def allDaughters(particle, daughters, rank ): - '''Fills daughters with all the daughters of particle. - Recursive function.''' - rank += 1 - for i in range( particle.numberOfDaughters() ): - dau = GenParticle(particle.daughter(i)) - dau.rank = rank - daughters.append( dau ) - daughters = allDaughters( dau, daughters, rank ) - return daughters - - -def bosonToX(particles, bosonType, xType): - bosons = filter(lambda x: x.status()==3 and x.pdgId()==bosonType, particles) - daughters = [] - if len(bosons)==0: - return [], False - boson = bosons[0] - daus = [] - allDaughters( boson, daus, 0) - xDaus = filter(lambda x: x.status()==3 and abs(x.pdgId())==xType, daus) - # print printOut(xDaus) - return xDaus, True - -def isNotHadronicId(pdgId,includeSMLeptons=True): - if abs(pdgId) in [11,12,13,14,15,16]: - return includeSMLeptons - i = (abs(pdgId) % 1000) - return i > 10 and i != 21 and i < 100 - -def isPromptLepton(lepton, beforeFSR, includeMotherless=True, includeTauDecays=False): - if abs(lepton.pdgId()) not in [11,13,15]: - return False - if lepton.numberOfMothers() == 0: - return includeMotherless; - mom = lepton.mother() - if mom.pdgId() == lepton.pdgId(): - if beforeFSR: return False - return isPromptLepton(mom, beforeFSR, includeMotherless, includeTauDecays) - elif abs(mom.pdgId()) == 15: - if not includeTauDecays: return False - return isPromptLepton(mom, beforeFSR, includeMotherless, includeTauDecays) - else: - return isNotHadronicId(mom.pdgId(), includeSMLeptons=False) - - - -def isNotFromHadronicShower(l): - for x in xrange(l.numberOfMothers()): - mom = l.mother(x) - if mom.status() > 2: return True - id = abs(mom.pdgId()) - if id > 100: return False - if id < 6: return False - if id == 21: return False - if id in [11,13,15]: return isNotFromHadronicShower(mom) - if id >= 22 and id <= 39: return True - return True - diff --git a/CMGTools/RootTools/python/utils/DeltaR.py b/CMGTools/RootTools/python/utils/DeltaR.py deleted file mode 100644 index 554875b32f02..000000000000 --- a/CMGTools/RootTools/python/utils/DeltaR.py +++ /dev/null @@ -1,197 +0,0 @@ -#ROOTTOOLS -import math -import copy - -def deltaR2( e1, p1, e2, p2): - de = e1 - e2 - dp = deltaPhi(p1, p2) - return de*de + dp*dp - - -def deltaR( *args ): - return math.sqrt( deltaR2(*args) ) - - -def deltaPhi( p1, p2): - '''Computes delta phi, handling periodic limit conditions.''' - res = p1 - p2 - while res > math.pi: - res -= 2*math.pi - while res < -math.pi: - res += 2*math.pi - return res - -def matchObjectCollection3 ( objects, matchCollection, deltaRMax = 0.3, filter = lambda x,y : True ): - '''Univoque association of an element from matchCollection to an element of objects. - Reco and Gen objects get the "matched" attribute, true is they are re part of a matched tulpe. - By default, the matching is true only if delta R is smaller than 0.3. - ''' - # - pairs = {} - if len(objects)==0: - return pairs - if len(matchCollection)==0: - return dict( zip(objects, [None]*len(objects)) ) - # build all possible combinations - - allPairs = [(deltaR2 (object.eta(), object.phi(), match.eta(), match.phi()), (object, match)) for object in objects for match in matchCollection if filter(object,match) ] - allPairs.sort () - # - # to flag already matched objects - # FIXME this variable remains appended to the object, I do not like it - - for object in objects: - object.matched = False - for match in matchCollection: - match.matched = False - # - - deltaR2Max = deltaRMax * deltaRMax - for dR2, (object, match) in allPairs: - if dR2 > deltaR2Max: - break - if dR2 < deltaR2Max and object.matched == False and match.matched == False: - object.matched = True - match.matched = True - pairs[object] = match - # - - for object in objects: - if object.matched == False: - pairs[object] = None - # - - return pairs - # by now, the matched attribute remains in the objects, for future usage - # one could remove it with delattr (object, attrname) - - -def cleanObjectCollection2( objects, masks, deltaRMin ): - '''Masks objects using a deltaR cut, another algorithm (same results).''' - if len(objects)==0: - return objects - deltaR2Min = deltaRMin*deltaRMin - cleanObjects = copy.copy( objects ) - for mask in masks: - tooClose = [] - for idx, object in enumerate(cleanObjects): - dR2 = deltaR2( object.eta(), object.phi(), - mask.eta(), mask.phi() ) - if dR2 < deltaR2Min: - tooClose.append( idx ) - nRemoved = 0 - for idx in tooClose: - # yes, everytime an object is removed, the list of objects is updated - # so need to update the index accordingly. - # example: to remove : ele 1 and 2 - # first, ele 1 is removed - # -> ele 2 is now at index 1 - # one should again remove the element at index 1 - idx -= nRemoved - del cleanObjects[idx] - nRemoved += 1 - return cleanObjects - - -def cleanObjectCollection( objects, masks, deltaRMin ): - '''Masks objects using a deltaR cut.''' - if len(objects)==0 or len(masks)==0: - return objects, [] - deltaR2Min = deltaRMin*deltaRMin - cleanObjects = [] - dirtyObjects = [] - for object in objects: - ok = True - for mask in masks: - dR2 = deltaR2( object.eta(), object.phi(), - mask.eta(), mask.phi() ) - if dR2 < deltaR2Min: - ok = False - if ok: - cleanObjects.append( object ) - else: - dirtyObjects.append( object ) - return cleanObjects, dirtyObjects - - - -def bestMatch( object, matchCollection): - '''Return the best match to object in matchCollection, which is the closest object in delta R''' - deltaR2Min = float('+inf') - bm = None - for match in matchCollection: - dR2 = deltaR2( object.eta(), object.phi(), - match.eta(), match.phi() ) - if dR2 < deltaR2Min: - deltaR2Min = dR2 - bm = match - return bm, deltaR2Min - - -def matchObjectCollection( objects, matchCollection, deltaR2Max): - pairs = {} - if len(objects)==0: - return pairs - if len(matchCollection)==0: - return dict( zip(objects, [None]*len(objects)) ) - for object in objects: - bm, dr2 = bestMatch( object, matchCollection ) - if dr2 deltaR2Max: - break - if dR2 < deltaR2Max and object.matched == False and match.matched == False: - object.matched = True - match.matched = True - pairs[object] = match - - for object in objects: - if object.matched == False: - pairs[object] = None - - return pairs - # by now, the matched attribute remains in the objects, for future usage - # one could remove it with delattr (object, attrname) - - - -if __name__ == '__main__': - - import sys - args = sys.argv[1:] - fargs = map( float, args ) - - print 'dR2 = ', deltaR2( *fargs ) - print 'dR = ', deltaR( *fargs ) - - - diff --git a/CMGTools/RootTools/python/utils/RLTInfo.py b/CMGTools/RootTools/python/utils/RLTInfo.py deleted file mode 100644 index f629b7c3cbd4..000000000000 --- a/CMGTools/RootTools/python/utils/RLTInfo.py +++ /dev/null @@ -1,58 +0,0 @@ -from ROOT import TFile -from CMGTools.RootTools.statistics.TreeNumpy import TreeNumpy as Tree - -class MyInteger(object): - def __init__(self, integer ): - self.integer = integer - def __add__(self, other): - if hasattr(other, 'integer'): - self.integer += other.integer - else: - self.integer += other - return self - def __str__(self): - return str(self.integer) - - -class RLTInfo( object ): - def __init__(self): - self.dict = {} - - def add(self, trigger, run, lumi): - nEv = self.dict.setdefault( (trigger, run, lumi), MyInteger(0) ) - nEv += 1 - - def __str__(self): - lines = [] - for rlt, count in self.dict.iteritems(): - lines.append( ': '.join( [str(rlt), str(count)] )) - return '\n'.join(lines) - - def write(self, dirName, fileName='RLTInfo.root'): - f = TFile('/'.join( [dirName, fileName]), 'RECREATE') - t = Tree('RLTInfo','HLT/Run/Lumi information') - t.var('run', int ) - t.var('lumi', int ) - t.var('counts', int ) - t.var('trigger', int ) - for rlt, count in self.dict.iteritems(): - t.fill('run', rlt[1]) - t.fill('lumi', rlt[2]) - t.fill( 'counts', count.integer) - t.tree.Fill() - f.Write() - f.Close() - -if __name__ == '__main__': - - rltinfo = RLTInfo() - rltinfo.add('HLT1', 128, 1) - rltinfo.add('HLT1', 128, 1) - rltinfo.add('HLT1', 128, 2) - rltinfo.add('HLT1', 129, 2) - rltinfo.add('HLT2', 129, 2) - - for rlt, count in rltinfo.dict.iteritems(): - print rlt, count - - rltinfo.write('.') diff --git a/CMGTools/RootTools/python/utils/cmsswRelease.py b/CMGTools/RootTools/python/utils/cmsswRelease.py deleted file mode 100644 index d1b5dcd6433a..000000000000 --- a/CMGTools/RootTools/python/utils/cmsswRelease.py +++ /dev/null @@ -1,48 +0,0 @@ -import os - -def cmsswRelease(): - return os.environ['CMSSW_BASE'].split('/')[-1] - -def cmsswIs44X(): - return cmsswRelease().find('CMSSW_4_4_') != -1 -def cmsswIs52X(): - #return (cmsswRelease().find('CMSSW_5_2_') != -1 || cmsswRelease().find('CMSSW_5_3_') != -1) - if cmsswRelease().find('CMSSW_5_2_') != -1: - return 1 - if cmsswRelease().find('CMSSW_5_3_') != -1: - return 1 - return 0 - -def parseReleaseString(release = None): - - if release is None: - release = cmsswRelease() - - #split and remove 'CMSSW' - tokens = release.split('_')[1:] - - output = [] - for t in tokens: - try: - output.append(int(t)) - except ValueError: - output.append(t) - if len(output) < 4: - output.append('') - return tuple(output[:4]) - -def isNewerThan(release1, release2=None): - """Checks the orders of two releases. If release2 is not set, it is taken as the current release""" - return parseReleaseString(release2) >= parseReleaseString(release1) - - -if __name__ == '__main__': - print cmsswRelease() - print 'is 44?', cmsswIs44X() - print 'is 52?', cmsswIs52X() - - assert isNewerThan('CMSSW_4_4_4','CMSSW_5_3_0') - assert isNewerThan('CMSSW_4_4_4_patch1','CMSSW_5_3_0') - assert not isNewerThan('CMSSW_4_4_1','CMSSW_4_4_0') - assert isNewerThan('CMSSW_4_9_9_patch1','CMSSW_5_0_0') - assert not isNewerThan('CMSSW_4_4_4_patch2','CMSSW_4_4_4_patch1') diff --git a/CMGTools/RootTools/python/utils/connect.py b/CMGTools/RootTools/python/utils/connect.py index 769f57fb6e84..c01ace6ee8f0 100644 --- a/CMGTools/RootTools/python/utils/connect.py +++ b/CMGTools/RootTools/python/utils/connect.py @@ -21,7 +21,8 @@ def findFirstAncestor(dataset_id, info): else: parent_id = rows[0][0] groups = ['tauMu_fullsel_tree_CMG', 'tauMu_fullsel_tree', 'tauEle_fullsel_tree_CMG', - 'tauEle_fullsel_tree', 'diTau_fullsel_tree_CMG', 'diTau_fullsel_tree','cmgTuple', 'PFAOD'] + 'tauEle_fullsel_tree', 'diTau_fullsel_tree_CMG', 'diTau_fullsel_tree','cmgTuple', + 'htt_fullsel_tree_CMG', 'htt_fullsel_tree', 'PFAOD'] igroup = 0 while 1: #import pdb ; pdb.set_trace() @@ -31,7 +32,7 @@ def findFirstAncestor(dataset_id, info): igroup+=1 file_group_name, number_files_good, number_files_bad, number_files_missing, dataset_fraction = ginfo dinfo=dict( - dataset_id = dataset_id, + dataset_id = dataset_id, parent_dataset_id = rows[0][0], path_name = rows[0][1], primary_dataset_entries = rows[0][2], @@ -44,14 +45,14 @@ def findFirstAncestor(dataset_id, info): dataset_entries = rows[0][5], dataset_fraction = dataset_fraction ) - - + + # pprint.pprint(dinfo) info.append(dinfo) - + if parent_id is None: # print 'last in the DB' - return + return findFirstAncestor( parent_id, info ) @@ -67,7 +68,7 @@ def groupInfo(dataset_id, group_name): else: file_group_name, number_files_good, number_files_bad, number_files_missing, dataset_fraction = rows[0] return file_group_name, number_files_good, number_files_bad, number_files_missing, dataset_fraction - + class DatasetInfo(list): @@ -108,10 +109,10 @@ def processInfo(info): # pid, path_name, pde, njobs, nmiss, nbad, dataset_fraction, task_id = ds # try to find the total number of entries in the CMS dataset if pde>0: - if dsInfo.primary_dataset_entries is None: + if dsInfo.primary_dataset_entries is None: dsInfo.primary_dataset_entries=pde elif dsInfo.primary_dataset_entries != pde: - print 'WARNING! there can only be one value for primary_dataset_entries in the history of a dataset, see task',task_id + print 'WARNING! there can only be one value for primary_dataset_entries in the history of a dataset, see task',task_id else: print 'WARNING! primary_dataset_entries==-1 for',path_name # which step is that? @@ -133,10 +134,10 @@ def processInfo(info): step = 'Unknown' try : - nmiss + nbad - except : + nmiss + nbad + except : njobs, nbad, nmiss = retrieveInfosFromBadPublished(ds) - + if nmiss+nbad == 0: job_eff = 1 else: @@ -160,9 +161,9 @@ def processInfo(info): pde = pde ) ) - # pprint.pprint( dsInfo[-1] ) + # pprint.pprint( dsInfo[-1] ) return dsInfo - + rePatMass = re.compile('M-(\d+)_') @@ -180,7 +181,7 @@ def findAlias(path_name, aliases): mass = match.group(1) return name + mass else: - return name + return name @@ -192,7 +193,7 @@ def retrieveInfosFromBadPublished(ds) : num_of_files = 0 num_of_bad_jobs = 0 num_of_missing_jobs = 0 ### dummy as long as I don't figure out where tot num of jobs is stored - + ic = '' ### retrieve the owner of the dataset @@ -202,7 +203,7 @@ def retrieveInfosFromBadPublished(ds) : if ds['path_name'] in line : fulluser = line.split('||')[0] fulluser = fulluser.strip(' ') - + if fulluser == 'cmgtools' : user = 'cmgtools' group = 'user' @@ -232,7 +233,7 @@ def retrieveInfosFromBadPublished(ds) : if new_ic_version > ic_version : ic = line.rstrip('\n') ic_version = new_ic_version - + ### stage the IntegrityCheck file in the user $HOME (THERE'S A WAY TO READ TEXT FILES FROM EOS?) cmsStage_command = '/afs/cern.ch/cms/caf/scripts/cmsStage' os.system("{EOS} /store/cmst3/{GROUP}/{USER}/CMG{SAMPLE}/{INT} {HOME}".format(EOS = cmsStage_command,\ @@ -240,26 +241,26 @@ def retrieveInfosFromBadPublished(ds) : USER = user ,\ SAMPLE = ds['path_name'] ,\ INT = ic ,\ - HOME = os.environ['HOME'])) + HOME = os.environ['HOME'])) icfile = file('{HOME}/{INT}'.format(HOME = os.environ['HOME'], INT = ic)) - + ### read the IntegrityCheck file and retrieve the number of bad jobs if icfile != '' : for line in icfile: if 'BadJobs' in line: num_of_bad_jobs_list = re.findall(r"(\d{1,100})", line) - break - + break + if len(num_of_bad_jobs_list)==1 : num_of_bad_jobs = int(num_of_bad_jobs_list[0]) elif len(num_of_bad_jobs_list)==0 : pass else : print 'WARNING!: number of bad jobs in {INT} badly formatted \nimposing it to 0'.format(INT=ic) - + ### clean up the user $HOME os.system('rm {HOME}/{INT}'.format(HOME = os.environ['HOME'], INT = ic) ) - + ### assign sensate numbers njobs = num_of_files nbad = num_of_bad_jobs @@ -307,7 +308,7 @@ def connectSample(components, row, filePattern, aliases, cache, verbose): if eff is None: print 'WARNING: efficiency not determined for',compName eff = 0.0 - try: + try: globalEff *= eff except TypeError: pprint.pprint(dsInfo) @@ -328,7 +329,7 @@ def connectSample(components, row, filePattern, aliases, cache, verbose): comp.name.startswith('embed_') ): comp.nGenEvents = nEvents if comp.nGenEvents is None: - print 'WARNING: nGenEvents is None, setting it to 1.' + print 'WARNING: nGenEvents is None, setting it to 1.' comp.nGenEvents = 1. if comp.nGenEvents != 1.: comp.nGenEvents *= globalEff @@ -347,7 +348,7 @@ def connectSample(components, row, filePattern, aliases, cache, verbose): print 'WEIRD! Efficiency is way too low ({globalEff})! you might have to edit your cfg manually.'.format(globalEff=globalEff) print dsInfo - + def connect(components, samplePattern, filePattern, aliases, cache, verbose=False): """ Find some information about a list of components. @@ -356,7 +357,7 @@ def connect(components, samplePattern, filePattern, aliases, cache, verbose=Fals (SQL patterns use % as a wildcard). The datasets must also match one of the patterns provided as a key in the aliases - dictionary, which looks like this: + dictionary, which looks like this: aliases = { '/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball.*':'DYJets', '/TTJets_MassiveBinDECAY_TuneZ2star_8TeV.*START53.*':'TTJets', @@ -368,14 +369,14 @@ def connect(components, samplePattern, filePattern, aliases, cache, verbose=Fals * If no match is found in the aliases directory, a harmless warning is printed. - If you don't need the dataset, no action is needed. - If you need the dataset, just add an entry to your aliases dictionary, - and call the function again. - + and call the function again. + * If several datasets match a given pattern in the aliases directory, the last one will be associated to the component. You probably want to make sure that your patterns are accurate enough to be matched by a single dataset, the one you need. In the example above, we were careful enough to include the string 8TeV in the pattern, to be sure not to match both the - 2011 and 2012 datasets to the same component. + 2011 and 2012 datasets to the same component. For each dataset, the CMG database is used to look at the whole dataset history (PFAOD->PAT+CMG->Anything->Anything else), and to estimate a global computing efficiency E. @@ -397,18 +398,18 @@ def connect(components, samplePattern, filePattern, aliases, cache, verbose=Fals Need help? contact Colin, this module is a bit tricky. """ - + pattern = samplePattern cols, rows = db.sql("select dataset_id, path_name, file_owner from dataset_details where path_name like '{pattern}' order by path_name".format( pattern = samplePattern )) - + # import pdb ; pdb.set_trace() for row in rows: connectSample(components, row, filePattern, aliases, cache, verbose) - - - + + + if __name__ == '__main__': pass info = [] diff --git a/CMGTools/RootTools/python/yellowreport/YRParser.py b/CMGTools/RootTools/python/yellowreport/YRParser.py index e9bdf3cd7133..34fdbc3b00cf 100644 --- a/CMGTools/RootTools/python/yellowreport/YRParser.py +++ b/CMGTools/RootTools/python/yellowreport/YRParser.py @@ -19,14 +19,12 @@ def get(self,mass): if __name__ == '__main__': - import pprint import sys mass = float(sys.argv[1]) process = ['GGH', 'VBF', 'WH', 'ZH', 'TTH'] print 'mass', mass - #pprint.pprint( yrparser7TeV.get(mass) ) def printSigma(parser): tot = 0 diff --git a/CMGTools/RootTools/src/AlphaT.cc b/CMGTools/RootTools/src/AlphaT.cc deleted file mode 100644 index 09c8c1b405c5..000000000000 --- a/CMGTools/RootTools/src/AlphaT.cc +++ /dev/null @@ -1,34 +0,0 @@ -#include "CMGTools/RootTools/interface/AlphaT.h" - -#include -#include -#include - - -double AlphaT::getAlphaT( const std::vector& et, - const std::vector& px, - const std::vector& py ){ - - // Momentum sums in transverse plane - const double sum_et = accumulate( et.begin(), et.end(), 0. ); - const double sum_px = accumulate( px.begin(), px.end(), 0. ); - const double sum_py = accumulate( py.begin(), py.end(), 0. ); - - // Minimum Delta Et for two pseudo-jets - double min_delta_sum_et = -1.; - for ( unsigned i=0; i < unsigned(1<<(et.size()-1)); i++ ) { //@@ iterate through different combinations - double delta_sum_et = 0.; - std::vector jet; - for ( unsigned j=0; j < et.size(); j++ ) { //@@ iterate through jets - delta_sum_et += et[j] * ( 1 - 2 * (int(i>>j)&1) ); - } - if ( ( fabs(delta_sum_et) < min_delta_sum_et || min_delta_sum_et < 0. ) ) { - min_delta_sum_et = fabs(delta_sum_et); - } - } - if ( min_delta_sum_et < 0. ) { return 0.; } - - // Alpha_T - return ( 0.5 * ( sum_et - min_delta_sum_et ) / sqrt( sum_et*sum_et - (sum_px*sum_px+sum_py*sum_py) ) ); - - } diff --git a/CMGTools/RootTools/src/BTagSF.cc b/CMGTools/RootTools/src/BTagSF.cc deleted file mode 100644 index 79e4de5cecd6..000000000000 --- a/CMGTools/RootTools/src/BTagSF.cc +++ /dev/null @@ -1,268 +0,0 @@ -#include "CMGTools/RootTools/interface/BTagSF.h" -#include "TMath.h" - -BTagSF::BTagSF( int seed ) { - - randm = new TRandom3(seed); - -} - -BTagSF::~BTagSF() { - - delete randm; - -} - - -Bool_t BTagSF::isbtagged(Float_t pt, Float_t eta, Float_t csv, Int_t jetflavor, Bool_t isdata, UInt_t btagsys, UInt_t mistagsys, Bool_t is2012) -{ - randm->SetSeed((int)((eta+5)*100000)); - - Bool_t btagged = kFALSE; - - if(isdata) { - if(csv>0.679) btagged = kTRUE; - else btagged = kFALSE; - return btagged; - } - - Double_t SFb = 0.0; - Double_t eff_b = 0.719; - - SFb = getSFb(pt, btagsys, is2012); - - Double_t promoteProb_btag=0; // ~probability to promote to tagged - Double_t demoteProb_btag=0; // ~probability to demote from tagged - - if(SFb < 1) { - demoteProb_btag = fabs(1.0 - SFb); - } else { - promoteProb_btag = fabs(SFb - 1.0)/((SFb/eff_b) - 1.0); - } - - if(fabs(jetflavor) == 5) { // real b-jet - if(csv > 0.679) { // if tagged - btagged = kTRUE; - if(demoteProb_btag > 0 && randm->Uniform() > demoteProb_btag) btagged = kTRUE; // leave it tagged - else btagged = kFALSE; // demote it to untagged - } else { - btagged = kFALSE; - if(promoteProb_btag > 0 && randm->Uniform() < promoteProb_btag) btagged = kTRUE; // promote it to tagged - else btagged = kFALSE; // leave it untagged - } - return btagged; - } - - // not a real b-jet, apply mistag - - Double_t SFl = 0, eff_l = 0; - - // c or light - if(fabs(jetflavor) == 4) { - // SFc = SFb with twice the quoted uncertainty - SFl = getSFc(pt, btagsys, is2012); - eff_l = 0.192*SFl; // eff_c in MC for CSVM = (-1.5734604211*x*x*x*x + 1.52798999269*x*x*x + 0.866697059943*x*x + -1.66657942274*x + 0.780639301724), x = 0.679 - } else { - SFl = getSFl(pt, eta, mistagsys, is2012); - eff_l = getMistag(pt, eta); - } - - Double_t promoteProb_mistag=0; // ~probability to promote to tagged - Double_t demoteProb_mistag=0; // ~probability to demote from tagged - - if(SFl > 1) { - promoteProb_mistag = fabs(SFl - 1.0)/((SFl/eff_l) - 1.0); - } - else { - demoteProb_mistag = SFl; - } - - if(csv > 0.679) { // if tagged - btagged = kTRUE; - if(demoteProb_mistag > 0 && randm->Uniform() > demoteProb_mistag) btagged = kFALSE; // demote it to untagged - else btagged = kTRUE; // leave it tagged - } - else { // not tagged - btagged = kFALSE; - if(promoteProb_mistag > 0 && randm->Uniform() < promoteProb_mistag) btagged = kTRUE; // promote it to tagged - else btagged = kFALSE; // leave it untagged - } - - return btagged; -} - -Double_t BTagSF::getSFb(Float_t pt, UInt_t btagsys, Bool_t is2012) -{ - - // pT dependent scale factors - // Tagger: CSVM within 30 < pt < 670 GeV, abs(eta) < 2.4, x = pt - // SFb = 0.6981*((1.+(0.414063*x))/(1.+(0.300155*x))); (2011) - // SFb = (0.938887+(0.00017124*x))+(-2.76366e-07*(x*x)); (2012) - // for pt > 670 (800) GeV: use the SFb value at 670 (800) GeV with twice the quoted uncertainty for 2011 (2012) - // for pt < 30 (20) GeV: use the SFb value at 30 (20) GeV with a +/-0.12 absolute uncertainty (twice the quoted uncertainty) for 2011 (2012) - // i.e SFb(pt<30) = SFb(pt=30) +/- 0.12, so the relative uncertainty is 0.12/SFb(pt=30) for 2011 - - Float_t x = pt; - if(!is2012 && pt >= 670.0) x = 669.9; - if(!is2012 && pt < 30.0) x = 30.0; - if(is2012 && pt >= 800.0) x = 799.9; - if(is2012 && pt < 20.0) x = 20.0; - - Double_t SFb = 1.0; - if(!is2012) { - SFb = 0.6981*((1.+(0.414063*x))/(1.+(0.300155*x))); - } else { - SFb = (0.938887+(0.00017124*x))+(-2.76366e-07*(x*x)); - } - if(btagsys == kNo) return SFb; - - Double_t SFb_error_2011[] = {0.0295675, 0.0295095, 0.0210867, 0.0219349, 0.0227033, 0.0204062, 0.0185857, 0.0256242, 0.0383341, 0.0409675, 0.0420284, 0.0541299, 0.0578761, 0.0655432}; - Float_t ptmin_2011[] = {30, 40, 50, 60, 70, 80, 100, 120, 160, 210, 260, 320, 400, 500}; - Float_t ptmax_2011[] = {40, 50, 60, 70, 80,100, 120, 160, 210, 260, 320, 400, 500, 670}; - Double_t SFb_error_2012[] = {0.0415707, 0.0204209, 0.0223227, 0.0206655, 0.0199325, 0.0174121, 0.0202332, 0.0182446, 0.0159777, 0.0218531, 0.0204688, 0.0265191, 0.0313175, 0.0415417, 0.0740446, 0.0596716}; - Float_t ptmin_2012[] = {20, 30, 40, 50, 60, 70, 80, 100, 120, 160, 210, 260, 320, 400, 500, 600}; - Float_t ptmax_2012[] = {30, 40, 50, 60, 70, 80,100, 120, 160, 210, 260, 320, 400, 500, 600, 800}; - - Double_t SFb_error_x = 0.0; - - UInt_t nbins = is2012 ? 16: 14; - - for (UInt_t ibin=0; ibin= ptmin_2011[ibin] && x < ptmax_2011[ibin]) SFb_error_x = SFb_error_2011[ibin]; - } else { - if(x >= ptmin_2012[ibin] && x < ptmax_2012[ibin]) SFb_error_x = SFb_error_2012[ibin]; - } - } - if(!is2012) { - if(pt >= 670.0) SFb_error_x = 2.0*0.0655432; - if(pt < 30.0) SFb_error_x = 0.12; - } else { - if(pt >= 800.0) SFb_error_x = 2.0*0.0717567; - if(pt < 20.0) SFb_error_x = 2.0*0.0554504; - } - - Double_t scalefactor = SFb; - - if(btagsys == kDown) scalefactor = (SFb - SFb_error_x); - if(btagsys == kUp) scalefactor = (SFb + SFb_error_x); - - return scalefactor; - -} - -Double_t BTagSF::getSFc(Float_t pt, UInt_t btagsys, Bool_t is2012) -{ - - // SFc = SFb with twice the quoted uncertainty - - Float_t x = pt; - if(!is2012 && pt >= 670.0) x = 669.9; - if(!is2012 && pt < 30.0) x = 30.0; - if(is2012 && pt >= 800.0) x = 799.9; - if(is2012 && pt < 20.0) x = 20.0; - - Double_t SFc = 1.0; - if(!is2012) { - SFc = 0.6981*((1.+(0.414063*x))/(1.+(0.300155*x))); - } else { - SFc = (0.938887+(0.00017124*x))+(-2.76366e-07*(x*x)); - } - if(btagsys == kNo) return SFc; - - Double_t SFb_error_2011[] = {0.0295675, 0.0295095, 0.0210867, 0.0219349, 0.0227033, 0.0204062, 0.0185857, 0.0256242, 0.0383341, 0.0409675, 0.0420284, 0.0541299, 0.0578761, 0.0655432}; - Float_t ptmin_2011[] = {30, 40, 50, 60, 70, 80, 100, 120, 160, 210, 260, 320, 400, 500}; - Float_t ptmax_2011[] = {40, 50, 60, 70, 80,100, 120, 160, 210, 260, 320, 400, 500, 670}; - Double_t SFb_error_2012[] = {0.0415707, 0.0204209, 0.0223227, 0.0206655, 0.0199325, 0.0174121, 0.0202332, 0.0182446, 0.0159777, 0.0218531, 0.0204688, 0.0265191, 0.0313175, 0.0415417, 0.0740446, 0.0596716}; - Float_t ptmin_2012[] = {20, 30, 40, 50, 60, 70, 80, 100, 120, 160, 210, 260, 320, 400, 500, 600}; - Float_t ptmax_2012[] = {30, 40, 50, 60, 70, 80,100, 120, 160, 210, 260, 320, 400, 500, 600, 800}; - - Double_t SFc_error_x = 0.0; - - UInt_t nbins = is2012 ? 16: 14; - - for (UInt_t ibin=0; ibin= ptmin_2011[ibin] && x < ptmax_2011[ibin]) SFc_error_x = 2.0*SFb_error_2011[ibin]; - } else { - if(x >= ptmin_2012[ibin] && x < ptmax_2012[ibin]) SFc_error_x = 2.0*SFb_error_2012[ibin]; - } - - } - if(!is2012) { - if(pt >= 670.0) SFc_error_x = 2.0*2.0*0.0655432; - if(pt < 30.0) SFc_error_x = 2.0*0.12; - } else { - if(pt >= 800.0) SFc_error_x = 2.0*2.0*0.0717567; - if(pt < 20.0) SFc_error_x = 2.0*2.0*0.0554504; - } - - Double_t scalefactor = SFc; - - if(btagsys == kDown) scalefactor = (SFc - SFc_error_x); - if(btagsys == kUp) scalefactor = (SFc + SFc_error_x); - - return scalefactor; - -} - -Double_t BTagSF::getSFl(Float_t pt, Float_t eta, UInt_t mistagsys, Bool_t is2012) -{ - - Float_t x = std::min(double(pt), is2012 ? 670.0 : 800.0); - - Double_t SFl = 0; - - if(!is2012) { - if(fabs(eta) >= 0.0 && fabs(eta) < 0.8) { - if(mistagsys == kNo) SFl = ((1.06182+(0.000617034*x))+(-1.5732e-06*(x*x)))+(3.02909e-10*(x*(x*x))); - else if(mistagsys == kDown) SFl = ((0.972455+(7.51396e-06*x))+(4.91857e-07*(x*x)))+(-1.47661e-09*(x*(x*x))); - else if(mistagsys == kUp) SFl = ((1.15116+(0.00122657*x))+(-3.63826e-06*(x*x)))+(2.08242e-09*(x*(x*x))); - } else if(fabs(eta) >= 0.8 && fabs(eta) < 1.6) { - if(mistagsys == kNo) SFl = ((1.111+(-9.64191e-06*x))+(1.80811e-07*(x*x)))+(-5.44868e-10*(x*(x*x))); - else if(mistagsys == kDown) SFl = ((1.02055+(-0.000378856*x))+(1.49029e-06*(x*x)))+(-1.74966e-09*(x*(x*x))); - else if(mistagsys == kUp) SFl = ((1.20146+(0.000359543*x))+(-1.12866e-06*(x*x)))+(6.59918e-10*(x*(x*x))); - } else if(fabs(eta) >= 1.6 && fabs(eta) < 2.4) { - if(mistagsys == kNo) SFl = ((1.08498+(-0.000701422*x))+(3.43612e-06*(x*x)))+(-4.11794e-09*(x*(x*x))); - else if(mistagsys == kDown) SFl = ((0.983476+(-0.000607242*x))+(3.17997e-06*(x*x)))+(-4.01242e-09*(x*(x*x))); - else if(mistagsys == kUp) SFl = ((1.18654+(-0.000795808*x))+(3.69226e-06*(x*x)))+(-4.22347e-09*(x*(x*x))); - } - } else { - if(fabs(eta) >= 0.0 && fabs(eta) < 0.8) { - if(mistagsys == kNo) SFl = ((1.07541+(0.00231827*x))+(-4.74249e-06*(x*x)))+(2.70862e-09*(x*(x*x))); - else if(mistagsys == kDown) SFl = ((0.964527+(0.00149055*x))+(-2.78338e-06*(x*x)))+(1.51771e-09*(x*(x*x))); - else if(mistagsys == kUp) SFl = ((1.18638+(0.00314148*x))+(-6.68993e-06*(x*x)))+(3.89288e-09*(x*(x*x))); - } else if(fabs(eta) >= 0.8 && fabs(eta) < 1.6) { - if(mistagsys == kNo) SFl = ((1.05613+(0.00114031*x))+(-2.56066e-06*(x*x)))+(1.67792e-09*(x*(x*x))); - else if(mistagsys == kDown) SFl = ((0.946051+(0.000759584*x))+(-1.52491e-06*(x*x)))+(9.65822e-10*(x*(x*x))); - else if(mistagsys == kUp) SFl = ((1.16624+(0.00151884*x))+(-3.59041e-06*(x*x)))+(2.38681e-09*(x*(x*x))); - } else if(fabs(eta) >= 1.6 && fabs(eta) < 2.4) { - if(mistagsys == kNo) SFl = ((1.05625+(0.000487231*x))+(-2.22792e-06*(x*x)))+(1.70262e-09*(x*(x*x))); - else if(mistagsys == kDown) SFl = ((0.956736+(0.000280197*x))+(-1.42739e-06*(x*x)))+(1.0085e-09*(x*(x*x))); - else if(mistagsys == kUp) SFl = ((1.15575+(0.000693344*x))+(-3.02661e-06*(x*x)))+(2.39752e-09*(x*(x*x))); - } - } - - return SFl; - -} - -Double_t BTagSF::getMistag(Float_t pt, Float_t eta) -{ - - Float_t x = std::min(double(pt), 670.0); - - Double_t eff_l = 0.0; - - if(fabs(eta) >= 0.0 && fabs(eta) < 0.8) { - eff_l = ((0.00967751+(2.54564e-05*x))+(-6.92256e-10*(x*x))); - } else if(fabs(eta) >= 0.8 && fabs(eta) < 1.6) { - eff_l = ((0.00974141+(5.09503e-05*x))+(2.0641e-08*(x*x))); - } else if(fabs(eta) >= 1.6 && fabs(eta) < 2.4) { - eff_l = ((0.013595+(0.000104538*x))+(-1.36087e-08*(x*x))); - } - - return eff_l; - -} - diff --git a/CMGTools/RootTools/src/CMGMuonCleanerBySegmentsAlgo.cc b/CMGTools/RootTools/src/CMGMuonCleanerBySegmentsAlgo.cc deleted file mode 100644 index 8b3d67face55..000000000000 --- a/CMGTools/RootTools/src/CMGMuonCleanerBySegmentsAlgo.cc +++ /dev/null @@ -1,63 +0,0 @@ -#include "CMGTools/RootTools/interface/CMGMuonCleanerBySegmentsAlgo.h" - - -CMGMuonCleanerBySegmentsAlgo::~CMGMuonCleanerBySegmentsAlgo() { -} - -std::vector -CMGMuonCleanerBySegmentsAlgo::clean(const std::vector &src) const { - unsigned int nsrc = src.size(); - std::vector good(nsrc, true); - for (unsigned int i = 0; i < nsrc; ++i) { - const pat::Muon &mu1 = src[i]; - if (!preselection_(mu1)) good[i] = false; - if (!good[i]) continue; - int nSegments1 = mu1.numberOfMatches(reco::Muon::SegmentArbitration); - for (unsigned int j = i+1; j < nsrc; ++j) { - const pat::Muon &mu2 = src[j]; - if (isSameMuon(mu1,mu2)) continue; - if (!good[j] || !preselection_(mu2)) continue; - int nSegments2 = mu2.numberOfMatches(reco::Muon::SegmentArbitration); - if (nSegments2 == 0 || nSegments1 == 0) continue; - double sf = muon::sharedSegments(mu1,mu2)/std::min(nSegments1,nSegments2); - if (sf > sharedFraction_) { - if (isBetterMuon(mu1,mu1.isPFMuon(),mu2,mu2.isPFMuon())) { - good[j] = false; - } else { - good[i] = false; - } - } - } - } - - for (unsigned int i = 0; i < nsrc; ++i) { - const pat::Muon &mu1 = src[i]; - if (passthrough_(mu1)) good[i] = true; - } - - return good; -} - -bool -CMGMuonCleanerBySegmentsAlgo::isSameMuon(const pat::Muon &mu1, const pat::Muon &mu2) const { - return (& mu1 == & mu2) || - (mu1.originalObjectRef() == mu2.originalObjectRef()) || - (mu1.reco::Muon::innerTrack().isNonnull() ? - mu1.reco::Muon::innerTrack() == mu2.reco::Muon::innerTrack() : - mu1.reco::Muon::outerTrack() == mu2.reco::Muon::outerTrack()); -} - -bool -CMGMuonCleanerBySegmentsAlgo::isBetterMuon(const pat::Muon &mu1, bool mu1PF, const pat::Muon &mu2, bool mu2PF) const { - if (mu2.track().isNull()) return true; - if (mu1.track().isNull()) return false; - if (mu1PF != mu2PF) return mu1PF; - if (mu1.isGlobalMuon() != mu2.isGlobalMuon()) return mu1.isGlobalMuon(); - if (mu1.charge() == mu2.charge() && deltaR2(mu1,mu2) < 0.0009) { - return mu1.track()->ptError()/mu1.track()->pt() < mu2.track()->ptError()/mu2.track()->pt(); - } else { - int nm1 = mu1.numberOfMatches(reco::Muon::SegmentArbitration); - int nm2 = mu2.numberOfMatches(reco::Muon::SegmentArbitration); - return (nm1 != nm2 ? nm1 > nm2 : mu1.pt() > mu2.pt()); - } -} diff --git a/CMGTools/RootTools/src/Davismt2.cc b/CMGTools/RootTools/src/Davismt2.cc deleted file mode 100644 index a9f3afebb217..000000000000 --- a/CMGTools/RootTools/src/Davismt2.cc +++ /dev/null @@ -1,665 +0,0 @@ -// #ifndef MT2_BISECT_C -// #define MT2_BISECT_C -/***********************************************************************/ -/* */ -/* Finding mt2 by Bisection */ -/* */ -/* Authors: Hsin-Chia Cheng, Zhenyu Han */ -/* Dec 11, 2008, v1.01a */ -/* */ -/***********************************************************************/ - - -/******************************************************************************* -Usage: - -1. Define an object of type "mt2": - -mt2_bisect::mt2 mt2_event; - -2. Set momenta and the mass of the invisible particle, mn: - -mt2_event.set_momenta( pa, pb, pmiss ); -mt2_event.set_mass( mn ); - -where array pa[0..2], pb[0..2], pmiss[0..2] contains (mass,px,py) - for the visible particles and the missing momentum. pmiss[0] is not used. - All quantities are given in double. - - 3. Use Davismt2::get_mt2() to obtain the value of mt2: - -double mt2_value = mt2_event.get_mt2(); - -*******************************************************************************/ - -#include "CMGTools/RootTools/interface/Davismt2.h" -// ClassImp(Davismt2); - -using namespace std; - -Davismt2::Davismt2(){ - solved = false; - momenta_set = false; - mt2_b = 0.; - scale = 1.; - verbose = 1; -} - -Davismt2::~Davismt2(){} - -double Davismt2::get_mt2(){ - if (!momenta_set) - { - cout << "Davismt2::get_mt2() ==> Please set momenta first!" << endl; - return 0; - } - - if (!solved) mt2_bisect(); - return mt2_b*scale; -} - -void Davismt2::set_momenta(double* pa0, double* pb0, double* pmiss0){ - solved = false; //reset solved tag when momenta are changed. - momenta_set = true; - - ma = fabs(pa0[0]); // mass cannot be negative - - if (ma < ZERO_MASS) ma = ZERO_MASS; - - pax = pa0[1]; - pay = pa0[2]; - masq = ma*ma; - Easq = masq+pax*pax+pay*pay; - Ea = sqrt(Easq); - - mb = fabs(pb0[0]); - - if (mb < ZERO_MASS) mb = ZERO_MASS; - - pbx = pb0[1]; - pby = pb0[2]; - mbsq = mb*mb; - Ebsq = mbsq+pbx*pbx+pby*pby; - Eb = sqrt(Ebsq); - - pmissx = pmiss0[1]; pmissy = pmiss0[2]; - pmissxsq = pmissx*pmissx; - pmissysq = pmissy*pmissy; - -// set ma>= mb - if(masq < mbsq) - { - double temp; - temp = pax; pax = pbx; pbx = temp; - temp = pay; pay = pby; pby = temp; - temp = Ea; Ea = Eb; Eb = temp; - temp = Easq; Easq = Ebsq; Ebsq = temp; - temp = masq; masq = mbsq; mbsq = temp; - temp = ma; ma = mb; mb = temp; - } -//normalize max{Ea, Eb} to 100 - if (Ea > Eb) scale = Ea/100.; - else scale = Eb/100.; - - if (sqrt(pmissxsq+pmissysq)/100 > scale) scale = sqrt(pmissxsq+pmissysq)/100; - //scale = 1; - double scalesq = scale * scale; - ma = ma/scale; - mb = mb/scale; - masq = masq/scalesq; - mbsq = mbsq/scalesq; - pax = pax/scale; pay = pay/scale; - pbx = pbx/scale; pby = pby/scale; - Ea = Ea/scale; Eb = Eb/scale; - - Easq = Easq/scalesq; - Ebsq = Ebsq/scalesq; - pmissx = pmissx/scale; - pmissy = pmissy/scale; - pmissxsq = pmissxsq/scalesq; - pmissysq = pmissysq/scalesq; - mn = mn_unscale/scale; - mnsq = mn*mn; - - if (ABSOLUTE_PRECISION > 100.*RELATIVE_PRECISION) precision = ABSOLUTE_PRECISION; - else precision = 100.*RELATIVE_PRECISION; -} - -void Davismt2::set_mn(double mn0){ - solved = false; //reset solved tag when mn is changed. - mn_unscale = fabs(mn0); //mass cannot be negative - mn = mn_unscale/scale; - mnsq = mn*mn; -} - -void Davismt2::print(){ - cout << " Davismt2::print() ==> pax = " << pax*scale << "; pay = " << pay*scale << "; ma = " << ma*scale <<";"<< endl; - cout << " Davismt2::print() ==> pbx = " << pbx*scale << "; pby = " << pby*scale << "; mb = " << mb*scale <<";"<< endl; - cout << " Davismt2::print() ==> pmissx = " << pmissx*scale << "; pmissy = " << pmissy*scale <<";"<< endl; - cout << " Davismt2::print() ==> mn = " << mn_unscale<<";" << endl; -} - -//special case, the visible particle is massless -void Davismt2::mt2_massless(){ - -//rotate so that pay = 0 - double theta,s,c; - theta = atan(pay/pax); - s = sin(theta); - c = cos(theta); - - double pxtemp,pytemp; - Easq = pax*pax+pay*pay; - Ebsq = pbx*pbx+pby*pby; - Ea = sqrt(Easq); - Eb = sqrt(Ebsq); - - pxtemp = pax*c+pay*s; - pax = pxtemp; - pay = 0; - pxtemp = pbx*c+pby*s; - pytemp = -s*pbx+c*pby; - pbx = pxtemp; - pby = pytemp; - pxtemp = pmissx*c+pmissy*s; - pytemp = -s*pmissx+c*pmissy; - pmissx = pxtemp; - pmissy = pytemp; - - a2 = 1-pbx*pbx/(Ebsq); - b2 = -pbx*pby/(Ebsq); - c2 = 1-pby*pby/(Ebsq); - - d21 = (Easq*pbx)/Ebsq; - d20 = - pmissx + (pbx*(pbx*pmissx + pby*pmissy))/Ebsq; - e21 = (Easq*pby)/Ebsq; - e20 = - pmissy + (pby*(pbx*pmissx + pby*pmissy))/Ebsq; - f22 = -(Easq*Easq/Ebsq); - f21 = -2*Easq*(pbx*pmissx + pby*pmissy)/Ebsq; - f20 = mnsq + pmissxsq + pmissysq - (pbx*pmissx + pby*pmissy)*(pbx*pmissx + pby*pmissy)/Ebsq; - - double Deltasq0 = 0; - double Deltasq_low, Deltasq_high; - int nsols_high, nsols_low; - - Deltasq_low = Deltasq0 + precision; - nsols_low = nsols_massless(Deltasq_low); - - if(nsols_low > 1) - { - mt2_b = (double) sqrt(Deltasq0+mnsq); - return; - } - -/* - if( nsols_massless(Deltasq_high) > 0 ) - { - mt2_b = (double) sqrt(mnsq+Deltasq0); - return; - }*/ - -//look for when both parablos contain origin - double Deltasq_high1, Deltasq_high2; - Deltasq_high1 = 2*Eb*sqrt(pmissx*pmissx+pmissy*pmissy+mnsq)-2*pbx*pmissx-2*pby*pmissy; - Deltasq_high2 = 2*Ea*mn; - - if(Deltasq_high1 < Deltasq_high2) Deltasq_high = Deltasq_high2; - else Deltasq_high = Deltasq_high1; - - nsols_high=nsols_massless(Deltasq_high); - - int foundhigh; - if (nsols_high == nsols_low) - { - - - foundhigh=0; - - double minmass, maxmass; - minmass = mn ; - maxmass = sqrt(mnsq + Deltasq_high); - for(double mass = minmass + SCANSTEP; mass < maxmass; mass += SCANSTEP) - { - Deltasq_high = mass*mass - mnsq; - - nsols_high = nsols_massless(Deltasq_high); - if(nsols_high>0) - { - foundhigh=1; - Deltasq_low = (mass-SCANSTEP)*(mass-SCANSTEP) - mnsq; - break; - } - } - if(foundhigh==0) - { - - if(verbose > 0) cout << "Davismt2::mt2_massless() ==> Deltasq_high not found at event " << nevt < 0) cout << "Davismt2::mt2_massless() ==> error: nsols_low=nsols_high=" << nsols_high << endl; - if(verbose > 0) cout << "Davismt2::mt2_massless() ==> Deltasq_high=" << Deltasq_high << endl; - if(verbose > 0) cout << "Davismt2::mt2_massless() ==> Deltasq_low= "<< Deltasq_low << endl; - - mt2_b = sqrt(mnsq + Deltasq_low); - return; - } - double minmass, maxmass; - minmass = sqrt(Deltasq_low+mnsq); - maxmass = sqrt(Deltasq_high+mnsq); - while(maxmass - minmass > precision) - { - double Delta_mid, midmass, nsols_mid; - midmass = (minmass+maxmass)/2.; - Delta_mid = midmass * midmass - mnsq; - nsols_mid = nsols_massless(Delta_mid); - if(nsols_mid != nsols_low) maxmass = midmass; - if(nsols_mid == nsols_low) minmass = midmass; - } - mt2_b = minmass; - return; -} - -int Davismt2::nsols_massless(double Dsq){ - double delta; - delta = Dsq/(2*Easq); - d1 = d11*delta; - e1 = e11*delta; - f1 = f12*delta*delta+f10; - d2 = d21*delta+d20; - e2 = e21*delta+e20; - f2 = f22*delta*delta+f21*delta+f20; - - double a,b; - if (pax > 0) a = Ea/Dsq; - else a = -Ea/Dsq; - if (pax > 0) b = -Dsq/(4*Ea)+mnsq*Ea/Dsq; - else b = Dsq/(4*Ea)-mnsq*Ea/Dsq; - - double A4,A3,A2,A1,A0; - - A4 = a*a*a2; - A3 = 2*a*b2/Ea; - A2 = (2*a*a2*b+c2+2*a*d2)/(Easq); - A1 = (2*b*b2+2*e2)/(Easq*Ea); - A0 = (a2*b*b+2*b*d2+f2)/(Easq*Easq); - - long double A3sq; - A3sq = A3*A3; - /* - long double A0sq, A1sq, A2sq, A3sq, A4sq; - A0sq = A0*A0; - A1sq = A1*A1; - A2sq = A2*A2; - A3sq = A3*A3; - A4sq = A4*A4; - */ - - long double B3, B2, B1, B0; - B3 = 4*A4; - B2 = 3*A3; - B1 = 2*A2; - B0 = A1; - long double C2, C1, C0; - C2 = -(A2/2 - 3*A3sq/(16*A4)); - C1 = -(3*A1/4. -A2*A3/(8*A4)); - C0 = -A0 + A1*A3/(16*A4); - long double D1, D0; - D1 = -B1 - (B3*C1*C1/C2 - B3*C0 -B2*C1)/C2; - D0 = -B0 - B3 *C0 *C1/(C2*C2)+ B2*C0/C2; - - long double E0; - E0 = -C0 - C2*D0*D0/(D1*D1) + C1*D0/D1; - - long double t1,t2,t3,t4,t5; - -//find the coefficients for the leading term in the Sturm sequence - t1 = A4; - t2 = A4; - t3 = C2; - t4 = D1; - t5 = E0; - - int nsol; - nsol = signchange_n(t1,t2,t3,t4,t5)-signchange_p(t1,t2,t3,t4,t5); - if( nsol < 0 ) nsol=0; - - return nsol; -} - -void Davismt2::mt2_bisect(){ - - solved = true; - cout.precision(11); - -//if masses are very small, use code for massless case. - if(masq < MIN_MASS && mbsq < MIN_MASS){ - mt2_massless(); - return; - } - - - double Deltasq0; - Deltasq0 = ma*(ma + 2*mn); //The minimum mass square to have two ellipses - -// find the coefficients for the two quadratic equations when Deltasq=Deltasq0. - - a1 = 1-pax*pax/(Easq); - b1 = -pax*pay/(Easq); - c1 = 1-pay*pay/(Easq); - d1 = -pax*(Deltasq0-masq)/(2*Easq); - e1 = -pay*(Deltasq0-masq)/(2*Easq); - a2 = 1-pbx*pbx/(Ebsq); - b2 = -pbx*pby/(Ebsq); - c2 = 1-pby*pby/(Ebsq); - d2 = -pmissx+pbx*(Deltasq0-mbsq)/(2*Ebsq)+pbx*(pbx*pmissx+pby*pmissy)/(Ebsq); - e2 = -pmissy+pby*(Deltasq0-mbsq)/(2*Ebsq)+pby*(pbx*pmissx+pby*pmissy)/(Ebsq); - f2 = pmissx*pmissx+pmissy*pmissy-((Deltasq0-mbsq)/(2*Eb)+ - (pbx*pmissx+pby*pmissy)/Eb)*((Deltasq0-mbsq)/(2*Eb)+ - (pbx*pmissx+pby*pmissy)/Eb)+mnsq; - -// find the center of the smaller ellipse - double x0,y0; - x0 = (c1*d1-b1*e1)/(b1*b1-a1*c1); - y0 = (a1*e1-b1*d1)/(b1*b1-a1*c1); - - -// Does the larger ellipse contain the smaller one? - double dis=a2*x0*x0+2*b2*x0*y0+c2*y0*y0+2*d2*x0+2*e2*y0+f2; - - if(dis<=0.01) - { - mt2_b = (double) sqrt(mnsq+Deltasq0); - return; - } - - -/* find the coefficients for the two quadratic equations */ -/* coefficients for quadratic terms do not change */ -/* coefficients for linear and constant terms are polynomials of */ -/* delta=(Deltasq-m7sq)/(2 E7sq) */ - d11 = -pax; - e11 = -pay; - f10 = mnsq; - f12 = -Easq; - d21 = (Easq*pbx)/Ebsq; - d20 = ((masq - mbsq)*pbx)/(2.*Ebsq) - pmissx + - (pbx*(pbx*pmissx + pby*pmissy))/Ebsq; - e21 = (Easq*pby)/Ebsq; - e20 = ((masq - mbsq)*pby)/(2.*Ebsq) - pmissy + - (pby*(pbx*pmissx + pby*pmissy))/Ebsq; - f22 = -Easq*Easq/Ebsq; - f21 = (-2*Easq*((masq - mbsq)/(2.*Eb) + (pbx*pmissx + pby*pmissy)/Eb))/Eb; - f20 = mnsq + pmissx*pmissx + pmissy*pmissy - - ((masq - mbsq)/(2.*Eb) + (pbx*pmissx + pby*pmissy)/Eb) - *((masq - mbsq)/(2.*Eb) + (pbx*pmissx + pby*pmissy)/Eb); - -//Estimate upper bound of mT2 -//when Deltasq > Deltasq_high1, the larger encloses the center of the smaller - double p2x0,p2y0; - double Deltasq_high1; - p2x0 = pmissx-x0; - p2y0 = pmissy-y0; - Deltasq_high1 = 2*Eb*sqrt(p2x0*p2x0+p2y0*p2y0+mnsq)-2*pbx*p2x0-2*pby*p2y0+mbsq; - -//Another estimate, if both ellipses enclose the origin, Deltasq > mT2 - - double Deltasq_high2, Deltasq_high21, Deltasq_high22; - Deltasq_high21 = 2*Eb*sqrt(pmissx*pmissx+pmissy*pmissy+mnsq)-2*pbx*pmissx-2*pby*pmissy+mbsq; - Deltasq_high22 = 2*Ea*mn+masq; - - if ( Deltasq_high21 < Deltasq_high22 ) Deltasq_high2 = Deltasq_high22; - else Deltasq_high2 = Deltasq_high21; - -//pick the smaller upper bound - double Deltasq_high; - if(Deltasq_high1 < Deltasq_high2) Deltasq_high = Deltasq_high1; - else Deltasq_high = Deltasq_high2; - - - double Deltasq_low; //lower bound - Deltasq_low = Deltasq0; - -//number of solutions at Deltasq_low should not be larger than zero - if( nsols(Deltasq_low) > 0 ) - { -//cout << "Davismt2::mt2_bisect() ==> nsolutions(Deltasq_low) > 0"< 0) cout << "Davismt2::mt2_bisect() ==> Deltasq_high not found at event " << nevt << endl; - mt2_b = sqrt( Deltasq_low + mnsq ); - return; - } - - } - - while(sqrt(Deltasq_high+mnsq) - sqrt(Deltasq_low+mnsq) > precision) - { - double Deltasq_mid,nsols_mid; - //bisect - Deltasq_mid = (Deltasq_high+Deltasq_low)/2.; - nsols_mid = nsols(Deltasq_mid); - // if nsols_mid = 4, rescan for Deltasq_high - if ( nsols_mid == 4 ) - { - Deltasq_high = Deltasq_mid; - //scan_high(Deltasq_high); - find_high(Deltasq_high); - continue; - } - - - if(nsols_mid != nsols_low) Deltasq_high = Deltasq_mid; - if(nsols_mid == nsols_low) Deltasq_low = Deltasq_mid; - } - mt2_b = (double) sqrt( mnsq + Deltasq_high); - return; -} - -int Davismt2::find_high(double & Deltasq_high){ - double x0,y0; - x0 = (c1*d1-b1*e1)/(b1*b1-a1*c1); - y0 = (a1*e1-b1*d1)/(b1*b1-a1*c1); - double Deltasq_low = (mn + ma)*(mn + ma) - mnsq; - do - { - double Deltasq_mid = (Deltasq_high + Deltasq_low)/2.; - int nsols_mid = nsols(Deltasq_mid); - if ( nsols_mid == 2 ) - { - Deltasq_high = Deltasq_mid; - return 1; - } - else if (nsols_mid == 4) - { - Deltasq_high = Deltasq_mid; - continue; - } - else if (nsols_mid ==0) - { - d1 = -pax*(Deltasq_mid-masq)/(2*Easq); - e1 = -pay*(Deltasq_mid-masq)/(2*Easq); - d2 = -pmissx + pbx*(Deltasq_mid - mbsq)/(2*Ebsq) - + pbx*(pbx*pmissx+pby*pmissy)/(Ebsq); - e2 = -pmissy + pby*(Deltasq_mid - mbsq)/(2*Ebsq) - + pby*(pbx*pmissx+pby*pmissy)/(Ebsq); - f2 = pmissx*pmissx+pmissy*pmissy-((Deltasq_mid-mbsq)/(2*Eb)+ - (pbx*pmissx+pby*pmissy)/Eb)*((Deltasq_mid-mbsq)/(2*Eb)+ - (pbx*pmissx+pby*pmissy)/Eb)+mnsq; -// Does the larger ellipse contain the smaller one? - double dis = a2*x0*x0 + 2*b2*x0*y0 + c2*y0*y0 + 2*d2*x0 + 2*e2*y0 + f2; - if (dis < 0) Deltasq_high = Deltasq_mid; - else Deltasq_low = Deltasq_mid; - } - - } while ( Deltasq_high - Deltasq_low > 0.001); - return 0; -} - -int Davismt2::scan_high(double & Deltasq_high){ - int foundhigh = 0 ; - int nsols_high; - - - // double Deltasq_low; - double tempmass, maxmass; - tempmass = mn + ma; - maxmass = sqrt(mnsq + Deltasq_high); - if (nevt == 32334) cout << "Davismt2::scan_high() ==> Deltasq_high = " << Deltasq_high << endl; // ??? - for(double mass = tempmass + SCANSTEP; mass < maxmass; mass += SCANSTEP) - { - Deltasq_high = mass*mass - mnsq; - nsols_high = nsols(Deltasq_high); - - if( nsols_high > 0) - { - // Deltasq_low = (mass-SCANSTEP)*(mass-SCANSTEP) - mnsq; - foundhigh = 1; - break; - } - } - return foundhigh; -} - -int Davismt2::nsols(double Dsq){ - double delta = (Dsq-masq)/(2*Easq); - -//calculate coefficients for the two quadratic equations - d1 = d11*delta; - e1 = e11*delta; - f1 = f12*delta*delta+f10; - d2 = d21*delta+d20; - e2 = e21*delta+e20; - f2 = f22*delta*delta+f21*delta+f20; - -//obtain the coefficients for the 4th order equation -//devided by Ea^n to make the variable dimensionless - long double A4, A3, A2, A1, A0; - - A4 = - -4*a2*b1*b2*c1 + 4*a1*b2*b2*c1 +a2*a2*c1*c1 + - 4*a2*b1*b1*c2 - 4*a1*b1*b2*c2 - 2*a1*a2*c1*c2 + - a1*a1*c2*c2; - - A3 = - (-4*a2*b2*c1*d1 + 8*a2*b1*c2*d1 - 4*a1*b2*c2*d1 - 4*a2*b1*c1*d2 + - 8*a1*b2*c1*d2 - 4*a1*b1*c2*d2 - 8*a2*b1*b2*e1 + 8*a1*b2*b2*e1 + - 4*a2*a2*c1*e1 - 4*a1*a2*c2*e1 + 8*a2*b1*b1*e2 - 8*a1*b1*b2*e2 - - 4*a1*a2*c1*e2 + 4*a1*a1*c2*e2)/Ea; - - - A2 = - (4*a2*c2*d1*d1 - 4*a2*c1*d1*d2 - 4*a1*c2*d1*d2 + 4*a1*c1*d2*d2 - - 8*a2*b2*d1*e1 - 8*a2*b1*d2*e1 + 16*a1*b2*d2*e1 + - 4*a2*a2*e1*e1 + 16*a2*b1*d1*e2 - 8*a1*b2*d1*e2 - - 8*a1*b1*d2*e2 - 8*a1*a2*e1*e2 + 4*a1*a1*e2*e2 - 4*a2*b1*b2*f1 + - 4*a1*b2*b2*f1 + 2*a2*a2*c1*f1 - 2*a1*a2*c2*f1 + - 4*a2*b1*b1*f2 - 4*a1*b1*b2*f2 - 2*a1*a2*c1*f2 + 2*a1*a1*c2*f2)/Easq; - - A1 = - (-8*a2*d1*d2*e1 + 8*a1*d2*d2*e1 + 8*a2*d1*d1*e2 - 8*a1*d1*d2*e2 - - 4*a2*b2*d1*f1 - 4*a2*b1*d2*f1 + 8*a1*b2*d2*f1 + 4*a2*a2*e1*f1 - - 4*a1*a2*e2*f1 + 8*a2*b1*d1*f2 - 4*a1*b2*d1*f2 - 4*a1*b1*d2*f2 - - 4*a1*a2*e1*f2 + 4*a1*a1*e2*f2)/(Easq*Ea); - - A0 = - (-4*a2*d1*d2*f1 + 4*a1*d2*d2*f1 + a2*a2*f1*f1 + - 4*a2*d1*d1*f2 - 4*a1*d1*d2*f2 - 2*a1*a2*f1*f2 + - a1*a1*f2*f2)/(Easq*Easq); - - long double A3sq; - /* - long double A0sq, A1sq, A2sq, A3sq, A4sq; - A0sq = A0*A0; - A1sq = A1*A1; - A2sq = A2*A2; - A4sq = A4*A4; - */ - A3sq = A3*A3; - - long double B3, B2, B1, B0; - B3 = 4*A4; - B2 = 3*A3; - B1 = 2*A2; - B0 = A1; - - long double C2, C1, C0; - C2 = -(A2/2 - 3*A3sq/(16*A4)); - C1 = -(3*A1/4. -A2*A3/(8*A4)); - C0 = -A0 + A1*A3/(16*A4); - - long double D1, D0; - D1 = -B1 - (B3*C1*C1/C2 - B3*C0 -B2*C1)/C2; - D0 = -B0 - B3 *C0 *C1/(C2*C2)+ B2*C0/C2; - - long double E0; - E0 = -C0 - C2*D0*D0/(D1*D1) + C1*D0/D1; - - long double t1,t2,t3,t4,t5; -//find the coefficients for the leading term in the Sturm sequence - t1 = A4; - t2 = A4; - t3 = C2; - t4 = D1; - t5 = E0; - - -//The number of solutions depends on diffence of number of sign changes for x->Inf and x->-Inf - int nsol; - nsol = signchange_n(t1,t2,t3,t4,t5) - signchange_p(t1,t2,t3,t4,t5); - -//Cannot have negative number of solutions, must be roundoff effect - if (nsol < 0) nsol = 0; - - return nsol; - -} - -//inline -int Davismt2::signchange_n(long double t1, long double t2, long double t3, long double t4, long double t5){ - int nsc; - nsc=0; - if(t1*t2>0) nsc++; - if(t2*t3>0) nsc++; - if(t3*t4>0) nsc++; - if(t4*t5>0) nsc++; - return nsc; -} - -//inline -int Davismt2::signchange_p(long double t1, long double t2, long double t3, long double t4, long double t5){ - int nsc; - nsc=0; - if(t1*t2<0) nsc++; - if(t2*t3<0) nsc++; - if(t3*t4<0) nsc++; - if(t4*t5<0) nsc++; - return nsc; -} - -// #endif diff --git a/CMGTools/RootTools/src/EGammaMvaEleEstimatorFWLite.cc b/CMGTools/RootTools/src/EGammaMvaEleEstimatorFWLite.cc deleted file mode 100644 index 6db64bf0fa33..000000000000 --- a/CMGTools/RootTools/src/EGammaMvaEleEstimatorFWLite.cc +++ /dev/null @@ -1,45 +0,0 @@ - -#include "CMGTools/RootTools/interface/EGammaMvaEleEstimatorFWLite.h" -#include "EgammaAnalysis/ElectronTools/interface/EGammaMvaEleEstimator.h" -#include "FWCore/ParameterSet/interface/FileInPath.h" - -EGammaMvaEleEstimatorFWLite::EGammaMvaEleEstimatorFWLite() : - estimator_(0) -{ -} - -EGammaMvaEleEstimatorFWLite::~EGammaMvaEleEstimatorFWLite() -{ - delete estimator_; -} - -void EGammaMvaEleEstimatorFWLite::initialize( std::string methodName, - MVAType type, - bool useBinnedVersion, - std::vector weightsfiles ) -{ - EGammaMvaEleEstimator::MVAType pogType; - switch(type) { - case EGammaMvaEleEstimatorFWLite::kTrig: pogType = EGammaMvaEleEstimator::kTrig; break; - case EGammaMvaEleEstimatorFWLite::kTrigNoIP: pogType = EGammaMvaEleEstimator::kTrigNoIP; break; - case EGammaMvaEleEstimatorFWLite::kNonTrig: pogType = EGammaMvaEleEstimator::kNonTrig; break; - default: - return; - } - estimator_ = new EGammaMvaEleEstimator(); - std::vector weightspaths; - for (const std::string &s : weightsfiles) { - weightspaths.push_back( edm::FileInPath(s).fullPath() ); - } - estimator_->initialize(methodName, pogType, useBinnedVersion, weightspaths); -} - -float EGammaMvaEleEstimatorFWLite::mvaValue(const pat::Electron& ele, - const reco::Vertex& vertex, - double rho, - bool full5x5, - bool printDebug) -{ - return estimator_->mvaValue(ele,vertex,rho,full5x5,printDebug); -} - diff --git a/CMGTools/RootTools/src/FSRWeightAlgo.cc b/CMGTools/RootTools/src/FSRWeightAlgo.cc deleted file mode 100644 index add4d7aa037e..000000000000 --- a/CMGTools/RootTools/src/FSRWeightAlgo.cc +++ /dev/null @@ -1,114 +0,0 @@ -#include "CMGTools/RootTools/interface/FSRWeightAlgo.h" - - -#include "DataFormats/Candidate/interface/CompositeCandidate.h" -#include "CommonTools/CandUtils/interface/AddFourMomenta.h" -#include "CommonTools/CandUtils/interface/Booster.h" -#include - - -double FSRWeightAlgo::weight() const { - - double weight = 1.; - - unsigned int gensize = genParticles_.size(); - for (unsigned int i = 0; ipdgId()); - 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; jpdgId()!=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))); - } - } - - return weight; -} - - -double FSRWeightAlgo::alphaRatio(double pt) const { - - 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 Px_vector, vector Py_vector, vector Pz_vector, - vector E_vector, int seed_method, int hemisphere_association_method) : Object_Px(Px_vector), - Object_Py(Py_vector), Object_Pz(Pz_vector), Object_E(E_vector), seed_meth(seed_method), - hemi_meth(hemisphere_association_method), status(0), - dRminSeed1(0.5),nItermax(100), - rejectISR(0), rejectISRPt(0), rejectISRPtmax(10000.), -rejectISRDR(0), rejectISRDRmax(100.), dbg(0) { - for(int i = 0; i < (int) Object_Px.size(); i++){ - Object_Noseed.push_back(0); - Object_Noassoc.push_back(0); - } - numLoop =0; -} - -// constructor without specification of the seed and association methods -// in this case, the latter must be given by calling SetMethod before invoking reconstruct() -Hemisphere::Hemisphere(vector Px_vector, vector Py_vector, vector Pz_vector, - vector E_vector) : Object_Px(Px_vector), - Object_Py(Py_vector), Object_Pz(Pz_vector), Object_E(E_vector), seed_meth(0), - hemi_meth(0), status(0), - dRminSeed1(0.5),nItermax(100), - rejectISR(0), rejectISRPt(0), rejectISRPtmax(10000.), -rejectISRDR(0), rejectISRDRmax(100.), dbg(0) { - for(int i = 0; i < (int) Object_Px.size(); i++){ - Object_Noseed.push_back(0); - Object_Noassoc.push_back(0); - } - numLoop =0; -} - -vector Hemisphere::getAxis1(){ - if (status != 1) { - if (rejectISR == 0) { - this->Reconstruct(); - } else { - this->RejectISR(); - } - } - return Axis1; -} -vector Hemisphere::getAxis2(){ - if (status != 1) { - if (rejectISR == 0) { - this->Reconstruct(); - } else { - this->RejectISR(); - } - } - return Axis2; -} - -vector Hemisphere::getGrouping(){ - if (status != 1) { - if (rejectISR == 0) { - this->Reconstruct(); - } else { - this->RejectISR(); - } - } - return Object_Group; -} - -int Hemisphere::Reconstruct(){ - -// Performs the actual hemisphere reconstrucion -// -// definition of the vectors used internally: -// Object_xxx : -// xxx = Px, Py, Pz, E for input values -// xxx = P, Pt, Eta, Phi, Group for internal use -// Axis1 : final hemisphere axis 1 -// Axis2 : final hemisphere axis 2 -// Sum1_xxx : hemisphere 1 being updated during the association iterations -// Sum2_xxx : hemisphere 2 being updated during the association iterations -// NewAxis1_xxx, NewAxis1_xxx : temporary axes for calculation in association methods 2 and 3 - - - numLoop=0; // initialize numLoop for Zero - int vsize = (int) Object_Px.size(); - if((int) Object_Py.size() != vsize || (int) Object_Pz.size() != vsize){ - cout << "WARNING!!!!! Input vectors have different size! Fix it!" << endl; - return 0; - } - if (dbg > 0) { -// cout << " Hemisphere method, vsn = " << hemivsn << endl; - cout << " Hemisphere method " << endl; - } - - // clear some vectors if method reconstruct() is called again - if (!Object_P.empty()){ - Object_P.clear(); - Object_Pt.clear(); - Object_Eta.clear(); - Object_Phi.clear(); - Object_Group.clear(); - Axis1.clear(); - Axis2.clear(); - } - // initialize the vectors - for(int j = 0; j < vsize; ++j){ - Object_P.push_back(0); - Object_Pt.push_back(0); - Object_Eta.push_back(0); - Object_Phi.push_back(0); - Object_Group.push_back(0); - } - for(int j = 0; j < 5; ++j){ - Axis1.push_back(0); - Axis2.push_back(0); - } - - // compute additional quantities for vectors Object_xxx - float theta; - for (int i = 0; i Object_E[i]+0.001) { - cout << "WARNING!!!!! Object " << i << " has E = " << Object_E[i] - << " less than P = " << Object_P[i] << " *** Fix it!" << endl; - return 0; - } - Object_Pt[i] = sqrt(Object_Px[i]*Object_Px[i]+Object_Py[i]*Object_Py[i]); - // protection for div by 0 - if (fabs(Object_Pz[i]) > 0.001) { - theta = atan(sqrt(Object_Px[i]*Object_Px[i]+Object_Py[i]*Object_Py[i])/Object_Pz[i]); - } - else { - theta = 1.570796327; - } - if (theta < 0.) {theta = theta + 3.141592654;} - Object_Eta[i] = -log(tan(0.5*theta)); - Object_Phi[i] = atan2(Object_Py[i], Object_Px[i]); - if (dbg > 0) { - cout << " Object " << i << " Eta = " << Object_Eta[i] - << " Phi = " << Object_Phi[i] << endl; - } - } - - if (dbg > 0) { - cout << endl; - cout << " Seeding method = " << seed_meth << endl; - } - // I_Max and J_Max are indices of the seeds in the vectors - int I_Max = -1; - int J_Max = -1; - - // determine the seeds for seed method 1 - if (seed_meth == 1) { - - float P_Max = 0.; - float DeltaRP_Max = 0.; - - // take highest momentum object as first seed - for (int i = 0; i < vsize; ++i){ - Object_Group[i] = 0; - //cout << "Object_Px[i] = " << Object_Px[i] << ", Object_Py[i] = " << Object_Py[i] - //<< ", Object_Pz[i] = " << Object_Pz[i] << " << endl; - if (Object_Noseed[i] == 0 && P_Max < Object_P[i]){ - P_Max = Object_P[i]; - I_Max = i; - } - } - // if 1st seed is found, save it as initial hemisphere 1 axis - if (I_Max >= 0){ - Axis1[0] = Object_Px[I_Max] / Object_P[I_Max]; - Axis1[1] = Object_Py[I_Max] / Object_P[I_Max]; - Axis1[2] = Object_Pz[I_Max] / Object_P[I_Max]; - Axis1[3] = Object_P[I_Max]; - Axis1[4] = Object_E[I_Max]; - } else { - // cout << " This is an empty event." << endl; - return 0; - } - - // take as second seed the object with largest DR*P w.r.t. the first seed - for (int i = 0; i < vsize; ++i){ - // float DeltaR = sqrt((Object_Eta[i] - Object_Eta[I_Max])*(Object_Eta[i] - Object_Eta[I_Max]) - // + (Util::DeltaPhi(Object_Phi[i], Object_Phi[I_Max]))*(Util::DeltaPhi(Object_Phi[i], Object_Phi[I_Max])) ); - float DeltaR = sqrt((Object_Eta[i] - Object_Eta[I_Max])*(Object_Eta[i] - Object_Eta[I_Max]) - + (deltaPhi(Object_Phi[i], Object_Phi[I_Max]))*(deltaPhi(Object_Phi[i], Object_Phi[I_Max])) ); - if (Object_Noseed[i] == 0 && DeltaR > dRminSeed1) { - float DeltaRP = DeltaR * Object_P[i]; - if (DeltaRP > DeltaRP_Max){ - DeltaRP_Max = DeltaRP; - J_Max = i; - } - } - } - // if 2nd seed is found, save it as initial hemisphere 2 axis - if (J_Max >= 0){ - Axis2[0] = Object_Px[J_Max] / Object_P[J_Max]; - Axis2[1] = Object_Py[J_Max] / Object_P[J_Max]; - Axis2[2] = Object_Pz[J_Max] / Object_P[J_Max]; - Axis2[3] = Object_P[J_Max]; - Axis2[4] = Object_E[J_Max]; - } else { - // cout << " This is a MONOJET." << endl; - return 0; - } - if (dbg > 0) { - cout << " Axis 1 is Object = " << I_Max << endl; - cout << " Axis 2 is Object = " << J_Max << endl; - } - - // determine the seeds for seed methods 2 and 3 - } else if (seed_meth == 2 || seed_meth == 3) { - - float Mass_Max = 0.; - float InvariantMass = 0.; - - // maximize the invariant mass of two objects - for (int i = 0; i < vsize; ++i){ - Object_Group[i] = 0; - if (Object_Noseed[i] == 0){ - for (int j = i+1; j < vsize; ++j){ - if (Object_Noseed[j] == 0){ - // either the invariant mass - if (seed_meth == 2){ - InvariantMass = (Object_E[i] + Object_E[j])* (Object_E[i] + Object_E[j]) - - (Object_Px[i] + Object_Px[j])* (Object_Px[i] + Object_Px[j]) - - (Object_Py[i] + Object_Py[j])* (Object_Py[i] + Object_Py[j]) - - (Object_Pz[i] + Object_Pz[j])* (Object_Pz[i] + Object_Pz[j]) ; - } - // or the transverse mass - else if (seed_meth == 3){ - float pti = sqrt(Object_Px[i]*Object_Px[i] + Object_Py[i]*Object_Py[i]); - float ptj = sqrt(Object_Px[j]*Object_Px[j] + Object_Py[j]*Object_Py[j]); - InvariantMass = 2. * (pti*ptj - Object_Px[i]*Object_Px[j] - - Object_Py[i]*Object_Py[j] ); - } - if (Mass_Max < InvariantMass){ - Mass_Max = InvariantMass; - I_Max = i; - J_Max = j; - } - } - } - } - } - - // if both seeds are found, save them as initial hemisphere axes - if (J_Max > 0) { - Axis1[0] = Object_Px[I_Max] / Object_P[I_Max]; - Axis1[1] = Object_Py[I_Max] / Object_P[I_Max]; - Axis1[2] = Object_Pz[I_Max] / Object_P[I_Max]; - Axis1[3] = Object_P[I_Max]; - Axis1[4] = Object_E[I_Max]; - - Axis2[0] = Object_Px[J_Max] / Object_P[J_Max]; - Axis2[1] = Object_Py[J_Max] / Object_P[J_Max]; - Axis2[2] = Object_Pz[J_Max] / Object_P[J_Max]; - Axis2[3] = Object_P[J_Max]; - Axis2[4] = Object_E[J_Max]; - } else { - // cout << " This is a MONOJET." << endl; - return 0; - } - if (dbg > 0) { - cout << " Axis 1 is Object = " << I_Max << endl; - cout << " Axis 2 is Object = " << J_Max << endl; - } - - } else if (seed_meth == 4) { - - float P_Max1 = 0.; - float P_Max2 = 0.; - - // take largest Pt object as first seed - for (int i = 0; i < vsize; ++i){ - Object_Group[i] = 0; - if (Object_Noseed[i] == 0 && P_Max1 < Object_Pt[i]){ - P_Max1 = Object_Pt[i]; - I_Max = i; - } - } - if(I_Max < 0) return 0; - - // take second largest Pt object as second seed, but require dR(seed1, seed2) > dRminSeed1 - for (int i = 0; i < vsize; ++i){ - if( i == I_Max) continue; - // float DeltaR = Util::GetDeltaR(Object_Eta[i], Object_Eta[I_Max], Object_Phi[i], Object_Phi[I_Max]); - float DeltaR = deltaR(Object_Eta[i], Object_Eta[I_Max], Object_Phi[i], Object_Phi[I_Max]); - if (Object_Noseed[i] == 0 && P_Max2 < Object_Pt[i] && DeltaR > dRminSeed1){ - P_Max2 = Object_Pt[i]; - J_Max = i; - } - } - if(J_Max < 0) return 0; - - // save first seed as initial hemisphere 1 axis - if (I_Max >= 0){ - Axis1[0] = Object_Px[I_Max] / Object_P[I_Max]; - Axis1[1] = Object_Py[I_Max] / Object_P[I_Max]; - Axis1[2] = Object_Pz[I_Max] / Object_P[I_Max]; - Axis1[3] = Object_P[I_Max]; - Axis1[4] = Object_E[I_Max]; - } - - // save second seed as initial hemisphere 2 axis - if (J_Max >= 0){ - Axis2[0] = Object_Px[J_Max] / Object_P[J_Max]; - Axis2[1] = Object_Py[J_Max] / Object_P[J_Max]; - Axis2[2] = Object_Pz[J_Max] / Object_P[J_Max]; - Axis2[3] = Object_P[J_Max]; - Axis2[4] = Object_E[J_Max]; - } - - if (dbg > 0) { - cout << " Axis 1 is Object = " << I_Max << " with Pt " << Object_Pt[I_Max]<< endl; - cout << " Axis 2 is Object = " << J_Max << " with Pt " << Object_Pt[J_Max]<< endl; - } - - } else if ( !(seed_meth == 0 && (hemi_meth == 8 || hemi_meth ==9) ) ) { - cout << "Please give a valid seeding method!" << endl; - return 0; - } - - - // seeding done - // now do the hemisphere association - - if (dbg > 0) { - cout << endl; - cout << " Association method = " << hemi_meth << endl; - } - - bool I_Move = true; - - // iterate to associate all objects to hemispheres (methods 1 to 3 only) - // until no objects are moved from one to the other hemisphere - // or the maximum number of iterations is reached - while (I_Move && (numLoop < nItermax) && hemi_meth != 8 && hemi_meth !=9){ - - I_Move = false; - numLoop++; - if (dbg > 0) { - cout << " Iteration = " << numLoop << endl; - } - if(numLoop == nItermax-1){ - cout << " Hemishpere: warning - reaching max number of iterations " << endl; - } - - // initialize the current sums of Px, Py, Pz, E for the two hemispheres - float Sum1_Px = 0.; - float Sum1_Py = 0.; - float Sum1_Pz = 0.; - float Sum1_E = 0.; - float Sum2_Px = 0.; - float Sum2_Py = 0.; - float Sum2_Pz = 0.; - float Sum2_E = 0.; - - // associate the objects for method 1 - if (hemi_meth == 1) { - - for (int i = 0; i < vsize; ++i){ - if (Object_Noassoc[i] == 0){ - float P_Long1 = Object_Px[i]*Axis1[0] + Object_Py[i]*Axis1[1] + Object_Pz[i]*Axis1[2]; - float P_Long2 = Object_Px[i]*Axis2[0] + Object_Py[i]*Axis2[1] + Object_Pz[i]*Axis2[2]; - if (P_Long1 >= P_Long2){ - if (Object_Group[i] != 1){ - I_Move = true; - } - Object_Group[i] = 1; - Sum1_Px += Object_Px[i]; - Sum1_Py += Object_Py[i]; - Sum1_Pz += Object_Pz[i]; - Sum1_E += Object_E[i]; - } else { - if (Object_Group[i] != 2){ - I_Move = true; - } - Object_Group[i] = 2; - Sum2_Px += Object_Px[i]; - Sum2_Py += Object_Py[i]; - Sum2_Pz += Object_Pz[i]; - Sum2_E += Object_E[i]; - } - } - } - - // associate the objects for methods 2 and 3 - } else if (hemi_meth == 2 || hemi_meth == 3){ - - for (int i = 0; i < vsize; ++i){ - // add the seeds to the sums, as they remain fixed - if (i == I_Max) { - Object_Group[i] = 1; - Sum1_Px += Object_Px[i]; - Sum1_Py += Object_Py[i]; - Sum1_Pz += Object_Pz[i]; - Sum1_E += Object_E[i]; - } else if (i == J_Max) { - Object_Group[i] = 2; - Sum2_Px += Object_Px[i]; - Sum2_Py += Object_Py[i]; - Sum2_Pz += Object_Pz[i]; - Sum2_E += Object_E[i]; - - // for the other objects - } else { - if (Object_Noassoc[i] == 0){ - - // only 1 object maximum is moved in a given iteration - if(!I_Move){ - // initialize the new hemispheres as the current ones - float NewAxis1_Px = Axis1[0] * Axis1[3]; - float NewAxis1_Py = Axis1[1] * Axis1[3]; - float NewAxis1_Pz = Axis1[2] * Axis1[3]; - float NewAxis1_E = Axis1[4]; - float NewAxis2_Px = Axis2[0] * Axis2[3]; - float NewAxis2_Py = Axis2[1] * Axis2[3]; - float NewAxis2_Pz = Axis2[2] * Axis2[3]; - float NewAxis2_E = Axis2[4]; - // subtract the object from its hemisphere - if (Object_Group[i] == 1){ - NewAxis1_Px = NewAxis1_Px - Object_Px[i]; - NewAxis1_Py = NewAxis1_Py - Object_Py[i]; - NewAxis1_Pz = NewAxis1_Pz - Object_Pz[i]; - NewAxis1_E = NewAxis1_E - Object_E[i]; - } else if (Object_Group[i] == 2) { - NewAxis2_Px = NewAxis2_Px - Object_Px[i]; - NewAxis2_Py = NewAxis2_Py - Object_Py[i]; - NewAxis2_Pz = NewAxis2_Pz - Object_Pz[i]; - NewAxis2_E = NewAxis2_E - Object_E[i]; - } - - // compute the invariant mass squared with each hemisphere (method 2) - float mass1 = NewAxis1_E - - ((Object_Px[i]*NewAxis1_Px + Object_Py[i]*NewAxis1_Py - + Object_Pz[i]*NewAxis1_Pz) / Object_P[i]); - float mass2 = NewAxis2_E - - ((Object_Px[i]*NewAxis2_Px + Object_Py[i]*NewAxis2_Py - + Object_Pz[i]*NewAxis2_Pz) / Object_P[i]); - // or the Lund distance (method 3) - if (hemi_meth == 3) { - mass1 *= NewAxis1_E/((NewAxis1_E+Object_E[i])*(NewAxis1_E+Object_E[i])); - mass2 *= NewAxis2_E/((NewAxis2_E+Object_E[i])*(NewAxis2_E+Object_E[i])); - } - // and associate the object to the best hemisphere and add it to the sum - if (mass1 < mass2) { - //if (Object_Group[i] != 1){ - if (Object_Group[i] != 1 && Object_Group[i] != 0){ - I_Move = true; - } - Object_Group[i] = 1; - Sum1_Px += Object_Px[i]; - Sum1_Py += Object_Py[i]; - Sum1_Pz += Object_Pz[i]; - Sum1_E += Object_E[i]; - } else { - //if (Object_Group[i] != 2){ - if (Object_Group[i] != 2 && Object_Group[i] != 0){ - I_Move = true; - } - Object_Group[i] = 2; - Sum2_Px += Object_Px[i]; - Sum2_Py += Object_Py[i]; - Sum2_Pz += Object_Pz[i]; - Sum2_E += Object_E[i]; - } - - // but if a previous object was moved, add all other associated objects to the sum - } else { - if (Object_Group[i] == 1){ - Sum1_Px += Object_Px[i]; - Sum1_Py += Object_Py[i]; - Sum1_Pz += Object_Pz[i]; - Sum1_E += Object_E[i]; - } else if (Object_Group[i] == 2){ - Sum2_Px += Object_Px[i]; - Sum2_Py += Object_Py[i]; - Sum2_Pz += Object_Pz[i]; - Sum2_E += Object_E[i]; - } - } - } - } // end loop over objects, Sum1_ and Sum2_ are now the updated hemispheres - } - - } else { - cout << "Please give a valid hemisphere association method!" << endl; - return 0; - } - - // recomputing the axes for next iteration - - Axis1[3] = sqrt(Sum1_Px*Sum1_Px + Sum1_Py*Sum1_Py + Sum1_Pz*Sum1_Pz); - if (Axis1[3] < 0.0001) { - cout << "ZERO objects in group 1! " << endl; - } else { - Axis1[0] = Sum1_Px / Axis1[3]; - Axis1[1] = Sum1_Py / Axis1[3]; - Axis1[2] = Sum1_Pz / Axis1[3]; - Axis1[4] = Sum1_E; - } - Axis2[3] = sqrt(Sum2_Px*Sum2_Px + Sum2_Py*Sum2_Py + Sum2_Pz*Sum2_Pz); - if (Axis2[3] < 0.0001) { - cout << " ZERO objects in group 2! " << endl; - } else { - Axis2[0] = Sum2_Px / Axis2[3]; - Axis2[1] = Sum2_Py / Axis2[3]; - Axis2[2] = Sum2_Pz / Axis2[3]; - Axis2[4] = Sum2_E; - } - - if (dbg > 0) { - cout << " Grouping = "; - for (int i=0;i 2){ - for (int i = 0; i < vsize-1; ++i){ - if (Object_Noassoc[i] != 0) continue; - if (hemi_meth ==8 ){sum1strt += Object_E[i];} - else {sum1strt += Object_Pt[i];} - for (int j = i+1; j < vsize; ++j){ - if (Object_Noassoc[j] != 0) continue; - float sum1_E =0; - if (hemi_meth ==8 ){ - sum1_E = sum1strt + Object_E[j]; - }else { - sum1_E = sum1strt + Object_Pt[j]; - } - float sum2_E = sumtot - sum1_E; - if(sumdiff >= fabs(sum1_E - sum2_E)) { - sumdiff = fabs(sum1_E - sum2_E); - ibest = i; - jbest = j; - } - } - } - } - - // then store the best combination into the hemisphere axes - float Sum1_Px=0, Sum1_Py=0, Sum1_Pz=0, Sum1_E=0; - float Sum2_Px=0, Sum2_Py=0, Sum2_Pz=0, Sum2_E=0; - for (int i = 0; i < vsize; ++i){ - if (Object_Noassoc[i] != 0) Object_Group[i] = 0; - else if (i <= ibest || i == jbest) { - Sum1_Px += Object_Px[i]; - Sum1_Py += Object_Py[i]; - Sum1_Pz += Object_Pz[i]; - Sum1_E += Object_E[i]; - Object_Group[i] = 1; - } else { - Sum2_Px += Object_Px[i]; - Sum2_Py += Object_Py[i]; - Sum2_Pz += Object_Pz[i]; - Sum2_E += Object_E[i]; - Object_Group[i] = 2; - } - } - Axis1[3] = sqrt(Sum1_Px*Sum1_Px + Sum1_Py*Sum1_Py + Sum1_Pz*Sum1_Pz); - Axis1[0] = Sum1_Px / Axis1[3]; - Axis1[1] = Sum1_Py / Axis1[3]; - Axis1[2] = Sum1_Pz / Axis1[3]; - Axis1[4] = Sum1_E; - Axis2[3] = sqrt(Sum2_Px*Sum2_Px + Sum2_Py*Sum2_Py + Sum2_Pz*Sum2_Pz); - Axis2[0] = Sum2_Px / Axis2[3]; - Axis2[1] = Sum2_Py / Axis2[3]; - Axis2[2] = Sum2_Pz / Axis2[3]; - Axis2[4] = Sum2_E; - } - - status = 1; - return 1; -} - -int Hemisphere::RejectISR(){ -// tries to avoid including ISR jets into hemispheres -// - - // iterate to remove all ISR objects from the hemispheres - // until no ISR objects are found -// cout << " entered RejectISR() with rejectISRDR = " << rejectISRDR << endl; - bool I_Move = true; - while (I_Move) { - I_Move = false; - float valmax = 0.; - int imax = -1; - - // start by making a hemisphere reconstruction - int hemiOK = Reconstruct(); - if (hemiOK == 0) {return 0;} - - // convert the axes into Px, Py, Pz, E vectors - float newAxis1_Px = Axis1[0] * Axis1[3]; - float newAxis1_Py = Axis1[1] * Axis1[3]; - float newAxis1_Pz = Axis1[2] * Axis1[3]; - //float newAxis1_E = Axis1[4]; - float newAxis2_Px = Axis2[0] * Axis2[3]; - float newAxis2_Py = Axis2[1] * Axis2[3]; - float newAxis2_Pz = Axis2[2] * Axis2[3]; - //float newAxis2_E = Axis2[4]; - - // loop over all objects associated to a hemisphere - int vsize = (int) Object_Px.size(); - for (int i = 0; i < vsize; ++i){ - if (Object_Group[i] == 1 || Object_Group[i] == 2){ -// cout << " Object = " << i << ", Object_Group = " << Object_Group[i] << endl; - - // collect the hemisphere data - float newPx = 0.; - float newPy = 0.; - float newPz = 0.; - //float newE = 0.; - if (Object_Group[i] == 1){ - newPx = newAxis1_Px; - newPy = newAxis1_Py; - newPz = newAxis1_Pz; - //newE = newAxis1_E; - } else if (Object_Group[i] == 2) { - newPx = newAxis2_Px; - newPy = newAxis2_Py; - newPz = newAxis2_Pz; - //newE = newAxis2_E; - } - - // compute the quantities to test whether the object is ISR - float ptHemi = 0.; - float hemiEta = 0.; - float hemiPhi = 0.; - if (rejectISRPt == 1) { - float plHemi = (Object_Px[i]*newPx + Object_Py[i]*newPy - + Object_Pz[i]*newPz) - / sqrt(newPx*newPx+newPy*newPy+newPz*newPz); - float pObjsq = Object_Px[i]*Object_Px[i] + Object_Py[i]*Object_Py[i] - + Object_Pz[i]*Object_Pz[i]; - ptHemi = sqrt(pObjsq - plHemi*plHemi); - if (ptHemi > valmax) { - valmax = ptHemi; - imax = i; - } - } else if (rejectISRDR == 1) { - float theta = 1.570796327; - // compute the new hemisphere eta, phi and DeltaR - float pdiff = fabs(newPx-Object_Px[i]) + fabs(newPy-Object_Py[i]) - + fabs(newPz-Object_Pz[i]); - if (pdiff > 0.001) { - if (fabs(newPz) > 0.001) { - theta = atan(sqrt(newPx*newPx+newPy*newPy)/newPz); - } - if (theta < 0.) {theta = theta + 3.141592654;} - hemiEta = -log(tan(0.5*theta)); - hemiPhi = atan2(newPy, newPx); - // float DeltaR = sqrt((Object_Eta[i] - hemiEta)*(Object_Eta[i] - hemiEta) - // + (Util::DeltaPhi(Object_Phi[i], hemiPhi))*(Util::DeltaPhi(Object_Phi[i], hemiPhi)) ); - float DeltaR = sqrt((Object_Eta[i] - hemiEta)*(Object_Eta[i] - hemiEta) - + (deltaPhi(Object_Phi[i], hemiPhi))*(deltaPhi(Object_Phi[i], hemiPhi)) ); -// cout << " Object = " << i << ", DeltaR = " << DeltaR << endl; - if (DeltaR > valmax) { - valmax = DeltaR; - imax = i; - } - } - } - } - } // end loop over objects - - // verify whether the ISR tests are fulfilled - if (imax < 0) { - I_Move = false; - } else if (rejectISRPt == 1 && valmax > rejectISRPtmax) { - SetNoAssoc(imax); - I_Move = true; - } else if (rejectISRDR == 1 && valmax > rejectISRDRmax) { - SetNoAssoc(imax); - I_Move = true; - } - - } // end iteration over ISR objects - - status = 1; - return 1; -} diff --git a/CMGTools/RootTools/src/ReclusterJets.cc b/CMGTools/RootTools/src/ReclusterJets.cc deleted file mode 100644 index d47835d8f3a0..000000000000 --- a/CMGTools/RootTools/src/ReclusterJets.cc +++ /dev/null @@ -1,69 +0,0 @@ -#include "CMGTools/RootTools/interface/ReclusterJets.h" -#include "FWCore/Utilities/interface/Exception.h" - -using namespace std; - -//using namespace std; -using namespace fastjet; - - -ReclusterJets::ReclusterJets(const std::vector & objects, double ktpower, double rparam) : - ktpower_(ktpower), rparam_(rparam) -{ - // define jet inputs - fjInputs_.clear(); - int index=0; - for (const LorentzVector &o : objects) { - fastjet::PseudoJet j(o.Px(),o.Py(),o.Pz(),o.E()); - j.set_user_index(index); index++; // in case we want to know which piece ended where - fjInputs_.push_back(j); - } - - // choose a jet definition - fastjet::JetDefinition jet_def; - - // prepare jet def - if (ktpower_ == 1.0) { - jet_def = JetDefinition(kt_algorithm, rparam_); - } else if (ktpower_ == 0.0) { - jet_def = JetDefinition(cambridge_algorithm, rparam_); - } else if (ktpower_ == -1.0) { - jet_def = JetDefinition(antikt_algorithm, rparam_); - } else { - throw cms::Exception("InvalidArgument", "Unsupported ktpower value"); - } - - // print out some infos - // cout << "Clustering with " << jet_def.description() << endl; - /// - // define jet clustering sequence - fjClusterSeq_ = ClusterSequencePtr( new fastjet::ClusterSequence( fjInputs_, jet_def)); -} - -std::vector ReclusterJets::makeP4s(const std::vector &jets) { - std::vector JetObjectsAll; - for (const fastjet::PseudoJet & pj : jets) { - JetObjectsAll.push_back( LorentzVector( pj.px(), pj.py(), pj.pz(), pj.e() ) ); - } - return JetObjectsAll; -} -std::vector ReclusterJets::getGrouping(double ptMin) { - // recluster jet - inclusiveJets_ = fastjet::sorted_by_pt(fjClusterSeq_->inclusive_jets(ptMin)); - // return - return makeP4s(inclusiveJets_); -} - -std::vector ReclusterJets::getGroupingExclusive(double dcut) { - // recluster jet - exclusiveJets_ = fastjet::sorted_by_pt(fjClusterSeq_->exclusive_jets(dcut)); - // return - return makeP4s(exclusiveJets_); -} - -std::vector ReclusterJets::getGroupingExclusive(int njets) { - // recluster jet - exclusiveJets_ = fastjet::sorted_by_pt(fjClusterSeq_->exclusive_jets(njets)); - // return - return makeP4s(exclusiveJets_); -} diff --git a/CMGTools/RootTools/src/RochCor.cc b/CMGTools/RootTools/src/RochCor.cc deleted file mode 100644 index 6f830c7bd2fe..000000000000 --- a/CMGTools/RootTools/src/RochCor.cc +++ /dev/null @@ -1,594 +0,0 @@ -#include "CMGTools/RootTools/interface/RochCor.h" -#include - -////^^^^^------------ GP BEGIN -const double RochCor::pi = 3.14159265358979323846; -const float RochCor::genm_smr = 9.09956e+01; //gen mass peak with eta dependent gaussian smearing => better match in Z mass profile vs. eta/phi -const float RochCor::genm = 91.06; //gen mass peak without smearing => Z mass profile vs. eta/phi in CMS note - -const float RochCor::recmA = 9.10062e+01; //rec mass peak in MC (2011A) -const float RochCor::drecmA = 9.09285e+01; //rec mass peak in data (2011A) -const float RochCor::mgsclA_stat = 0.0001; //stat. error of global factor for mass peak in MC (2011A) -const float RochCor::mgsclA_syst = 0.0006; //syst. error of global factor for mass peak in MC (2011A) -const float RochCor::dgsclA_stat = 0.0001; //stat. error of global factor for mass peak in data (2011A) -const float RochCor::dgsclA_syst = 0.0008; //syst. error of global factor for mass peak in data (2011A) -const float RochCor::recmB = 9.10210e+01; //rec mass peak in MC (2011B) -const float RochCor::drecmB = 9.09469e+01; //rec mass peak in data (2011B) -const float RochCor::mgsclB_stat = 0.0001; //stat. error of global factor for mass peak in MC (2011B) -const float RochCor::mgsclB_syst = 0.0006; //syst. error of global factor for mass peak in MC (2011B) -const float RochCor::dgsclB_stat = 0.0001; //stat. error of global factor for mass peak in data (2011B) -const float RochCor::dgsclB_syst = 0.0008; //syst. error of global factor for mass peak in data (2011B) - - //iteration2 after FSR : after Z Pt correction -const float RochCor::deltaA = -2.85242e-06; -const float RochCor::deltaA_stat = 7.74389e-07; -const float RochCor::deltaA_syst = 6.992e-07; - -const float RochCor::sfA = 44.6463; -const float RochCor::sfA_stat = 1.92224; -const float RochCor::sfA_syst = 9.29; - -const float RochCor::deltaB = -5.68463e-06; -const float RochCor::deltaB_stat = 8.21406e-07; -const float RochCor::deltaB_syst = 1.4268e-06; - -const float RochCor::sfB = 23.8652; -const float RochCor::sfB_stat = 0.941748; -const float RochCor::sfB_syst = 4.86; - -const float RochCor::apar = 1.0; //+- 0.002 -const float RochCor::bpar = -5.03313e-06; //+- 1.57968e-06 -const float RochCor::cpar = -4.41463e-05; //+- 1.92775e-06 -const float RochCor::d0par = -0.000148871; //+- 3.16301e-06 -const float RochCor::e0par = 1.59501; //+- 0.0249021 -const float RochCor::d1par = 7.95495e-05; //+- 1.12386e-05 -const float RochCor::e1par = -0.364823; //+- 0.17896 -const float RochCor::d2par = 0.000152032; //+- 5.68386e-06 -const float RochCor::e2par = 0.410195; //+- 0.0431732 -////^^^^^------------ GP END - -const float RochCor::netabin[9] = {-2.4,-2.1,-1.4,-0.7,0.0,0.7,1.4,2.1,2.4}; - -const float RochCor::dcor_bfA[8][8]={{-0.000102967,-0.000025046,-0.000000182,-0.000031720,-0.000004638,-0.000013151,-0.000073829,-0.000021362}, - {0.000075011,0.000054312,0.000003541,-0.000016074,-0.000013214,0.000000586,0.000025095,0.000117588}, - {0.000147495,-0.000029203,0.000016442,0.000008401,-0.000014585,0.000004246,0.000027783,0.000023445}, - {-0.000063689,-0.000021704,0.000006406,-0.000059618,-0.000025848,-0.000024249,-0.000044822,-0.000021290}, - {-0.000000765,0.000011984,0.000027719,0.000025866,0.000017671,-0.000065838,-0.000047034,0.000044730}, - {0.000011344,-0.000132266,-0.000038679,0.000015218,-0.000007268,-0.000022690,-0.000079248,-0.000052198}, - {-0.000107277,-0.000092664,-0.000016977,-0.000022288,-0.000005622,-0.000042913,-0.000066225,-0.000058114}, - {-0.000057816,-0.000107028,-0.000025582,0.000002045,-0.000035959,-0.000007281,-0.000059810,-0.000047769}}; - -const float RochCor::dcor_maA[8][8]={{0.000769889,0.000176340,-0.000173462,-0.000159710,-0.000081615,-0.000058009,0.000366711,0.001477802}, - {0.001278711,0.000294977,-0.000105670,-0.000077729,-0.000068954,-0.000007808,0.000181101,0.000482557}, - {0.000277706,0.000140310,0.000031660,0.000120208,0.000074286,0.000078156,0.000123767,0.000422373}, - {-0.001571163,-0.000346042,0.000085722,0.000125968,0.000133283,0.000116788,0.000019394,0.000149867}, - {-0.002099394,-0.000445580,0.000033833,0.000043528,0.000148554,0.000263179,0.000115391,-0.000513180}, - {-0.001494752,-0.000433278,-0.000092362,-0.000026281,-0.000000523,0.000048183,0.000051742,-0.000317282}, - {-0.000013164,-0.000104072,-0.000063807,-0.000056538,-0.000067794,-0.000125772,-0.000013945,0.001270347}, - {0.000130353,0.000002891,-0.000136974,-0.000116878,-0.000190943,-0.000198251,0.000126934,0.001696517}}; - -const float RochCor::mcor_bfA[8][8]={{-0.000063713,-0.000029352,-0.000000867,0.000032270,0.000015492,0.000008083,-0.000069408,-0.000091716}, - {-0.000060494,-0.000002986,0.000012797,-0.000031184,-0.000031340,-0.000006048,0.000013469,-0.000020202}, - {-0.000022997,-0.000043807,-0.000007016,-0.000030670,-0.000020740,-0.000016735,-0.000007218,-0.000065682}, - {-0.000041813,-0.000042280,0.000013533,-0.000002547,-0.000017769,-0.000011282,-0.000022693,-0.000099361}, - {-0.000031962,-0.000022918,0.000009196,0.000027077,0.000002257,-0.000016681,-0.000017862,-0.000056932}, - {-0.000026284,-0.000053526,-0.000000128,0.000026427,0.000034433,-0.000004638,-0.000023034,-0.000069140}, - {-0.000109084,-0.000073483,-0.000007053,0.000037945,0.000037618,-0.000016044,-0.000053256,-0.000045541}, - {-0.000063455,-0.000018084,-0.000009968,-0.000004891,-0.000018822,0.000001771,-0.000021826,-0.000079626}}; - -const float RochCor::mcor_maA[8][8]={{0.000950726,0.000132997,-0.000166230,-0.000178984,-0.000175606,-0.000184543,0.000028977,0.000145090}, - {0.001082393,0.000012119,-0.000105033,-0.000095558,-0.000087842,-0.000050033,0.000203732,0.000781017}, - {0.000522823,-0.000027809,0.000020088,0.000027120,0.000029425,0.000063659,0.000059290,0.000007311}, - {0.000659471,0.000426387,0.000184802,0.000127485,0.000153550,0.000143188,0.000325332,0.000307829}, - {0.000842162,0.000490264,0.000212897,0.000147332,0.000174670,0.000153595,0.000327076,0.001000893}, - {-0.001242714,-0.000155280,0.000101135,0.000094522,0.000093880,0.000066729,0.000141144,0.000810823}, - {-0.001757072,-0.000320008,-0.000029266,-0.000022502,-0.000040205,-0.000056041,-0.000149048,-0.000221401}, - {0.000408788,0.000114598,-0.000141981,-0.000110819,-0.000115938,-0.000138071,-0.000784406,-0.002160131}}; - -const float RochCor::dcor_bfAer[8][8]={{0.000069681,0.000035377,0.000030160,0.000028300,0.000028481,0.000030308,0.000035908,0.000066403}, - {0.000063562,0.000035195,0.000029976,0.000028288,0.000028251,0.000030304,0.000035175,0.000063468}, - {0.000066084,0.000036266,0.000030191,0.000028046,0.000028118,0.000029895,0.000035353,0.000063882}, - {0.000064693,0.000035627,0.000029777,0.000028668,0.000028323,0.000030154,0.000034876,0.000063622}, - {0.000065655,0.000035484,0.000030380,0.000028062,0.000028263,0.000030324,0.000035823,0.000068903}, - {0.000062857,0.000034907,0.000029606,0.000028968,0.000028557,0.000029858,0.000034830,0.000063717}, - {0.000066211,0.000035707,0.000029803,0.000028436,0.000028707,0.000029851,0.000035014,0.000064730}, - {0.000065003,0.000035761,0.000030160,0.000028192,0.000028342,0.000029811,0.000035545,0.000063645}}; - -const float RochCor::dcor_maAer[8][8]={{0.000069681,0.000035377,0.000030160,0.000028300,0.000028481,0.000030308,0.000035908,0.000066403}, - {0.000063562,0.000035195,0.000029976,0.000028288,0.000028251,0.000030304,0.000035175,0.000063468}, - {0.000066084,0.000036266,0.000030191,0.000028046,0.000028118,0.000029895,0.000035353,0.000063882}, - {0.000064693,0.000035627,0.000029777,0.000028668,0.000028323,0.000030154,0.000034876,0.000063622}, - {0.000065655,0.000035484,0.000030380,0.000028062,0.000028263,0.000030324,0.000035823,0.000068903}, - {0.000062857,0.000034907,0.000029606,0.000028968,0.000028557,0.000029858,0.000034830,0.000063717}, - {0.000066211,0.000035707,0.000029803,0.000028436,0.000028707,0.000029851,0.000035014,0.000064730}, - {0.000065003,0.000035761,0.000030160,0.000028192,0.000028342,0.000029811,0.000035545,0.000063645}}; - -const float RochCor::mcor_bfAer[8][8]={{0.000028957,0.000015643,0.000013419,0.000012634,0.000012700,0.000013592,0.000016042,0.000028597}, - {0.000027958,0.000015560,0.000013545,0.000012820,0.000012798,0.000013524,0.000015725,0.000027844}, - {0.000027910,0.000015737,0.000013522,0.000012785,0.000012761,0.000013554,0.000015626,0.000027776}, - {0.000028081,0.000015884,0.000013473,0.000012691,0.000012659,0.000013430,0.000015598,0.000027889}, - {0.000027971,0.000015665,0.000013466,0.000012651,0.000012648,0.000013558,0.000016132,0.000029045}, - {0.000027824,0.000015624,0.000013452,0.000012922,0.000012881,0.000013473,0.000015628,0.000027859}, - {0.000028053,0.000015657,0.000013501,0.000012726,0.000012889,0.000013432,0.000015494,0.000027716}, - {0.000028212,0.000015901,0.000013511,0.000012648,0.000012674,0.000013507,0.000015666,0.000027969}}; - -const float RochCor::mcor_maAer[8][8]={{0.000028957,0.000015643,0.000013419,0.000012634,0.000012700,0.000013592,0.000016042,0.000028597}, - {0.000027958,0.000015560,0.000013545,0.000012820,0.000012798,0.000013524,0.000015725,0.000027844}, - {0.000027910,0.000015737,0.000013522,0.000012785,0.000012761,0.000013554,0.000015626,0.000027776}, - {0.000028081,0.000015884,0.000013473,0.000012691,0.000012659,0.000013430,0.000015598,0.000027889}, - {0.000027971,0.000015665,0.000013466,0.000012651,0.000012648,0.000013558,0.000016132,0.000029045}, - {0.000027824,0.000015624,0.000013452,0.000012922,0.000012881,0.000013473,0.000015628,0.000027859}, - {0.000028053,0.000015657,0.000013501,0.000012726,0.000012889,0.000013432,0.000015494,0.000027716}, - {0.000028212,0.000015901,0.000013511,0.000012648,0.000012674,0.000013507,0.000015666,0.000027969}}; - - -//======================================================================================================= - -const float RochCor::dmavgA[8][8]={{0.025922541,0.025094489,0.025024760,0.025459164,0.025507064,0.024926673,0.025264207,0.026154362}, - {0.025771485,0.025052688,0.025031280,0.025448624,0.025418813,0.024947593,0.025213752,0.025711461}, - {0.025992243,0.025246736,0.025081158,0.025465835,0.025396615,0.025090199,0.025225184,0.025674825}, - {0.026065594,0.025210021,0.024985654,0.025468545,0.025506958,0.025011636,0.025137782,0.025900352}, - {0.025723593,0.025225323,0.025057659,0.025327039,0.025445884,0.025039377,0.025250011,0.025920693}, - {0.025890951,0.025184183,0.025108732,0.025431830,0.025389774,0.025015759,0.025133115,0.025839978}, - {0.025969359,0.025120514,0.025090360,0.025397708,0.025439110,0.024991973,0.025145588,0.025956176}, - {0.025890127,0.025152920,0.025013377,0.025419729,0.025451053,0.025052175,0.025151170,0.025819692}}; - -const float RochCor::dpavgA[8][8]={{0.025916064,0.025307681,0.024921634,0.025494383,0.025417695,0.025041578,0.025211546,0.026138035}, - {0.025661559,0.025125726,0.024917529,0.025545957,0.025489507,0.024993156,0.025232820,0.025819186}, - {0.025977549,0.025185495,0.024993264,0.025475434,0.025447391,0.025060103,0.025212464,0.025954195}, - {0.026050003,0.025305680,0.024998627,0.025457135,0.025432215,0.025014203,0.025160101,0.025892301}, - {0.026134513,0.025227871,0.024904078,0.025474157,0.025492296,0.025053230,0.025237275,0.025852681}, - {0.026070419,0.025241236,0.025032270,0.025465782,0.025477130,0.025089989,0.025266698,0.025788486}, - {0.025893934,0.025278195,0.025005032,0.025417408,0.025462482,0.025002584,0.025334630,0.025973266}, - {0.025995267,0.025325988,0.024916915,0.025384798,0.025394341,0.025024826,0.025278556,0.025963080}}; - -const float RochCor::mmavgA[8][8]={{0.025859084,0.025171574,0.025031055,0.025414657,0.025421970,0.025005626,0.025202085,0.025905427}, - {0.025820029,0.025133587,0.025017091,0.025474822,0.025465318,0.025012641,0.025166745,0.025890426}, - {0.025843527,0.025164085,0.025038476,0.025478059,0.025477999,0.025038661,0.025147011,0.025803665}, - {0.025876173,0.025204137,0.025021527,0.025462181,0.025430126,0.025017812,0.025204524,0.025839771}, - {0.025861181,0.025205469,0.025018335,0.025426248,0.025460153,0.025022144,0.025196286,0.025888667}, - {0.025758405,0.025144612,0.025037865,0.025474080,0.025474752,0.025036212,0.025167523,0.025862979}, - {0.025807403,0.025158727,0.025014627,0.025464075,0.025472244,0.025021210,0.025130780,0.025783651}, - {0.025905758,0.025201579,0.025009920,0.025423990,0.025416973,0.025032037,0.025147863,0.025760345}}; - -const float RochCor::mpavgA[8][8]={{0.025888818,0.025206935,0.025026146,0.025442136,0.025470197,0.025027800,0.025243407,0.025952872}, - {0.025923013,0.025178692,0.025011691,0.025498907,0.025477111,0.025023833,0.025166403,0.025886905}, - {0.025943006,0.025225756,0.025007080,0.025476595,0.025488864,0.025026658,0.025179579,0.025889859}, - {0.025949377,0.025208820,0.025021340,0.025454777,0.025444410,0.024996581,0.025195810,0.025967101}, - {0.025950823,0.025197201,0.024994630,0.025441154,0.025458403,0.025024723,0.025211150,0.025938079}, - {0.025939334,0.025189405,0.025023127,0.025486532,0.025474880,0.025007298,0.025220661,0.025942054}, - {0.025997086,0.025189140,0.025022336,0.025471484,0.025493603,0.025012869,0.025188219,0.025964187}, - {0.025944809,0.025237280,0.025027926,0.025469723,0.025445395,0.025024964,0.025234456,0.026013442}}; - -//======================================================================================================= - -const float RochCor::dcor_bfB[8][8]={{-0.000121996,-0.000051596,-0.000011541,-0.000024676,-0.000058614,0.000004092,-0.000042827,-0.000040838}, - {-0.000082378,-0.000066345,-0.000047373,-0.000017058,-0.000021958,-0.000029804,-0.000053044,-0.000014822}, - {0.000012351,-0.000031871,-0.000017504,-0.000017341,-0.000018939,-0.000036424,-0.000023220,-0.000006308}, - {0.000019524,-0.000027703,-0.000010703,-0.000002277,-0.000061078,-0.000063380,-0.000063290,-0.000021621}, - {-0.000052157,-0.000054030,-0.000039215,-0.000047173,-0.000021800,-0.000008816,-0.000041229,-0.000075721}, - {-0.000059315,-0.000081392,-0.000015056,0.000009267,0.000015595,-0.000038434,-0.000008257,-0.000000816}, - {-0.000011477,-0.000061045,-0.000023999,0.000018858,0.000002374,0.000010510,-0.000017883,0.000022914}, - {-0.000070644,-0.000061816,-0.000037444,-0.000036912,0.000013680,-0.000003858,-0.000005998,-0.000005702}}; - -const float RochCor::dcor_maB[8][8]={{0.000648425,0.000184921,-0.000159733,-0.000209004,-0.000158411,-0.000118417,0.000343531,0.001274013}, - {0.001107062,0.000215835,-0.000074671,-0.000078597,-0.000068598,-0.000038450,0.000119307,0.000441764}, - {0.000299114,0.000047329,0.000028768,0.000041104,0.000068554,0.000057753,0.000062958,0.000434265}, - {-0.001531225,-0.000369769,0.000034113,0.000106520,0.000164404,0.000166858,0.000026463,0.000183539}, - {-0.001931603,-0.000423243,0.000014606,0.000077337,0.000176900,0.000297178,0.000124199,-0.000358460}, - {-0.001242424,-0.000306289,-0.000036347,0.000069690,0.000008892,0.000084983,0.000127487,-0.000191898}, - {0.000001016,-0.000111617,-0.000068977,-0.000044695,-0.000085620,-0.000113063,0.000016393,0.001409055}, - {0.000351159,0.000019529,-0.000157996,-0.000187339,-0.000146448,-0.000186771,0.000173020,0.001701876}}; - -const float RochCor::mcor_bfB[8][8]={{-0.000072402,-0.000058879,0.000003018,0.000018626,0.000007212,-0.000005316,-0.000095954,-0.000125599}, - {-0.000061846,-0.000003202,0.000014083,-0.000033514,-0.000039273,0.000004540,0.000009430,-0.000017489}, - {-0.000031382,-0.000047138,-0.000019203,-0.000024139,-0.000038678,-0.000040859,0.000012155,-0.000065070}, - {-0.000056882,-0.000031030,0.000024829,0.000013713,-0.000010394,-0.000020459,-0.000045276,-0.000057322}, - {-0.000043675,0.000008459,0.000015752,0.000013816,-0.000008688,-0.000031616,-0.000032060,-0.000053715}, - {0.000000487,-0.000064518,0.000019284,0.000045588,0.000028956,-0.000002070,-0.000029702,-0.000080368}, - {-0.000108752,-0.000075013,-0.000016411,0.000050559,0.000042682,-0.000014198,-0.000064707,-0.000072518}, - {-0.000039973,-0.000016213,0.000000336,0.000004890,-0.000014730,-0.000011327,-0.000006556,-0.000088452}}; - -const float RochCor:: mcor_maB[8][8]={{0.000974618,0.000128823,-0.000152265,-0.000186697,-0.000167048,-0.000204591,0.000008788,0.000152219}, - {0.001104959,0.000007490,-0.000113518,-0.000115239,-0.000087118,-0.000054860,0.000210312,0.000761740}, - {0.000495175,-0.000021281,0.000019935,0.000025729,0.000026502,0.000058051,0.000080846,0.000040006}, - {0.000679721,0.000425605,0.000190407,0.000121199,0.000160504,0.000146688,0.000321539,0.000309533}, - {0.000862263,0.000497438,0.000205395,0.000146674,0.000179833,0.000151782,0.000320139,0.000994401}, - {-0.001264907,-0.000156277,0.000113008,0.000094040,0.000099709,0.000062566,0.000128300,0.000821240}, - {-0.001737087,-0.000315566,-0.000028978,-0.000021989,-0.000026353,-0.000042322,-0.000148004,-0.000245085}, - {0.000404257,0.000109031,-0.000120937,-0.000124930,-0.000110856,-0.000152148,-0.000770993,-0.002169186}}; - - -const float RochCor::dcor_bfBer[8][8]={{0.000073392,0.000037888,0.000030941,0.000028542,0.000028942,0.000031034,0.000038166,0.000071498}, - {0.000067919,0.000036855,0.000030957,0.000028460,0.000028904,0.000030892,0.000036525,0.000067771}, - {0.000069890,0.000037252,0.000030693,0.000028233,0.000028295,0.000030924,0.000036761,0.000067732}, - {0.000068865,0.000037515,0.000030440,0.000028521,0.000028758,0.000031061,0.000036545,0.000067957}, - {0.000070287,0.000038039,0.000031099,0.000028541,0.000028535,0.000030889,0.000038192,0.000073368}, - {0.000070529,0.000036023,0.000030708,0.000029111,0.000029156,0.000030485,0.000037271,0.000069426}, - {0.000068987,0.000036834,0.000030454,0.000028355,0.000028894,0.000030568,0.000036321,0.000069434}, - {0.000069238,0.000037352,0.000030916,0.000028682,0.000028282,0.000030943,0.000037054,0.000068690}}; - -const float RochCor::dcor_maBer[8][8]={{0.000073392,0.000037888,0.000030941,0.000028542,0.000028942,0.000031034,0.000038166,0.000071498}, - {0.000067919,0.000036855,0.000030957,0.000028460,0.000028904,0.000030892,0.000036525,0.000067771}, - {0.000069890,0.000037252,0.000030693,0.000028233,0.000028295,0.000030924,0.000036761,0.000067732}, - {0.000068865,0.000037515,0.000030440,0.000028521,0.000028758,0.000031061,0.000036545,0.000067957}, - {0.000070287,0.000038039,0.000031099,0.000028541,0.000028535,0.000030889,0.000038192,0.000073368}, - {0.000070529,0.000036023,0.000030708,0.000029111,0.000029156,0.000030485,0.000037271,0.000069426}, - {0.000068987,0.000036834,0.000030454,0.000028355,0.000028894,0.000030568,0.000036321,0.000069434}, - {0.000069238,0.000037352,0.000030916,0.000028682,0.000028282,0.000030943,0.000037054,0.000068690}}; - -const float RochCor::mcor_bfBer[8][8]={{0.000031813,0.000016534,0.000013999,0.000013046,0.000013123,0.000014245,0.000016964,0.000031719}, - {0.000030718,0.000016483,0.000014127,0.000013244,0.000013198,0.000014151,0.000016711,0.000030863}, - {0.000030665,0.000016682,0.000014126,0.000013207,0.000013188,0.000014194,0.000016551,0.000030725}, - {0.000030997,0.000016830,0.000014015,0.000013110,0.000013070,0.000014090,0.000016538,0.000030930}, - {0.000030883,0.000016557,0.000014048,0.000013105,0.000013067,0.000014169,0.000017090,0.000032174}, - {0.000030553,0.000016523,0.000014045,0.000013333,0.000013320,0.000014083,0.000016591,0.000030854}, - {0.000030886,0.000016615,0.000014077,0.000013136,0.000013316,0.000014054,0.000016452,0.000030541}, - {0.000031052,0.000016845,0.000014093,0.000013053,0.000013071,0.000014144,0.000016638,0.000031061}}; - -const float RochCor::mcor_maBer[8][8]={{0.000031813,0.000016534,0.000013999,0.000013046,0.000013123,0.000014245,0.000016964,0.000031719}, - {0.000030718,0.000016483,0.000014127,0.000013244,0.000013198,0.000014151,0.000016711,0.000030863}, - {0.000030665,0.000016682,0.000014126,0.000013207,0.000013188,0.000014194,0.000016551,0.000030725}, - {0.000030997,0.000016830,0.000014015,0.000013110,0.000013070,0.000014090,0.000016538,0.000030930}, - {0.000030883,0.000016557,0.000014048,0.000013105,0.000013067,0.000014169,0.000017090,0.000032174}, - {0.000030553,0.000016523,0.000014045,0.000013333,0.000013320,0.000014083,0.000016591,0.000030854}, - {0.000030886,0.000016615,0.000014077,0.000013136,0.000013316,0.000014054,0.000016452,0.000030541}, - {0.000031052,0.000016845,0.000014093,0.000013053,0.000013071,0.000014144,0.000016638,0.000031061}}; - -//======================================================================================================= - -const float RochCor::dmavgB[8][8]={{0.025938774,0.025266827,0.025022293,0.025374338,0.025372916,0.025005996,0.025240074,0.026067392}, - {0.025894727,0.025191097,0.025013219,0.025419539,0.025390481,0.025019205,0.025198246,0.025935809}, - {0.025912919,0.025224576,0.025030573,0.025419982,0.025415115,0.025043226,0.025213202,0.025937655}, - {0.025903638,0.025244655,0.025023684,0.025383398,0.025399556,0.025025292,0.025254252,0.025945694}, - {0.025855091,0.025245849,0.025018633,0.025392413,0.025386199,0.025032433,0.025258546,0.025938246}, - {0.025898044,0.025210425,0.025039174,0.025411554,0.025418325,0.025034439,0.025230630,0.025873626}, - {0.025908219,0.025191441,0.025016559,0.025382898,0.025416337,0.025011142,0.025181345,0.025906562}, - {0.026026606,0.025235830,0.025005632,0.025369690,0.025375398,0.025027767,0.025254124,0.025961736}}; - -const float RochCor::dpavgB[8][8]={{0.025993525,0.025262074,0.025032936,0.025402927,0.025411082,0.025025205,0.025257010,0.025987816}, - {0.026016457,0.025236788,0.025026049,0.025445870,0.025426455,0.025012605,0.025226581,0.026018325}, - {0.026046038,0.025298641,0.025007364,0.025396512,0.025432880,0.025031159,0.025238138,0.025957892}, - {0.026067569,0.025302059,0.025011169,0.025396687,0.025370463,0.024996758,0.025241644,0.026118577}, - {0.026205140,0.025263103,0.025003300,0.025373572,0.025393818,0.025008397,0.025280542,0.026013350}, - {0.026010447,0.025247521,0.025027158,0.025427902,0.025395642,0.025008772,0.025299819,0.026073297}, - {0.026045245,0.025236978,0.025011242,0.025420223,0.025442011,0.025030245,0.025237170,0.025985402}, - {0.026017886,0.025261768,0.025024263,0.025412894,0.025397047,0.025037108,0.025256271,0.025938284}}; - -const float RochCor::mmavgB[8][8]={{0.025922899,0.025253554,0.025024570,0.025376081,0.025366729,0.025000526,0.025238491,0.026010632}, - {0.025886079,0.025183953,0.025007207,0.025415872,0.025388657,0.025019143,0.025195823,0.025930482}, - {0.025934619,0.025227622,0.025035391,0.025418887,0.025417957,0.025042034,0.025207412,0.025915978}, - {0.025975643,0.025271630,0.025027551,0.025387821,0.025396539,0.025023647,0.025264276,0.025925383}, - {0.025951465,0.025261106,0.025024150,0.025395296,0.025387278,0.025029785,0.025264818,0.025972973}, - {0.025864186,0.025203249,0.025038447,0.025414974,0.025419505,0.025033609,0.025228557,0.025950473}, - {0.025857412,0.025190903,0.025020008,0.025387552,0.025414808,0.025008508,0.025180904,0.025854423}, - {0.026021465,0.025234665,0.025004645,0.025369725,0.025376778,0.025027170,0.025226526,0.025825617}}; - -const float RochCor::mpavgB[8][8]={{0.025972655,0.025257853,0.025030870,0.025399462,0.025417248,0.025026830,0.025266203,0.026020858}, - {0.026012686,0.025235199,0.025023719,0.025450310,0.025427728,0.025011407,0.025226418,0.026002827}, - {0.026042418,0.025301180,0.025007263,0.025397603,0.025435786,0.025029248,0.025229272,0.025961233}, - {0.025988419,0.025271262,0.025005581,0.025394773,0.025372960,0.024995658,0.025227015,0.026099192}, - {0.026098501,0.025217605,0.024991889,0.025370425,0.025396433,0.025007798,0.025271868,0.025980209}, - {0.026023494,0.025241938,0.025023119,0.025431178,0.025393405,0.025007651,0.025298716,0.026031118}, - {0.026105678,0.025244646,0.025012836,0.025423016,0.025446063,0.025025461,0.025247461,0.026041311}, - {0.026005132,0.025261163,0.025024802,0.025413312,0.025401136,0.025030499,0.025288682,0.026116802}}; - -//=============================================================================================== -//parameters for Z pt correction - -const float RochCor::ptlow[85] = {0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, - 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, - 10.0, 10.5, 11.0, 11.5, 12.0, 12.5, 13.0, 13.5, 14.0, 14.5, - 15.0, 15.5, 16.0, 16.5, 17.0, 17.5, 18.0, 18.5, 19.0, 19.5, - 20.0, 20.5, 21.0, 21.5, 22.0, 22.5, 23.0, 23.5, 24.0, 24.5, - 25.0, 26.0, 27.0, 28.0, 29.0, - 30.0, 32.0, 34.0, 36.0, 38.0, - 40.0, 44.0, 48.0, 52.0, 56.0, - 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, - 100.0, 110.0, 120.0, 130.0, 140.0, 150.0, 175.0, - 200.0, 250.0, 350.0, 500.0, 1000.0}; - -//int nptbins( sizeof(ptlow)/sizeof(float) - 1 ); - -const float RochCor::zptscl[84] = {1.49177,1.45654,1.36283,1.28569,1.2418,1.12336,1.10416,1.08731,0.994051,0.96532, - 0.94427,0.932725,0.918082,0.899665,0.898398,0.927687,0.908047,0.892392,0.924027,0.945895, - 0.937149,0.923983,0.923387,0.955362,0.947812,0.962943,0.948781,0.961555,0.95222,0.999207, - 0.973884,0.993013,0.953487,0.951402,0.985583,0.986603,0.981388,1.00022,1.0294,0.964748, - 0.974592,1.01546,0.992343,1.00101,0.990866,0.98982,1.02924,1.02265,0.967695,1.02411, - 0.97331,1.01052,1.01561,0.992594,0.976504,1.01205,0.981111,1.00078,1.02078,1.00719, - 1.0099,1.02865,1.03845,1.03254,1.09815,1.10263,1.06302,1.0725,1.14703,1.10574, - 1.13911,1.16947,1.1709,1.11413,1.28793,1.18953,1.20212,1.18112,1.25471,1.15329, - 1.14276,1.17223,1.09173,2.00229}; - -const float RochCor::zptscler[84] = {0.0270027,0.0154334,0.0115338,0.00958085,0.0084683,0.00736665,0.0069567,0.00671434, - 0.00617693,0.00601943,0.00594735,0.00594569,0.00594903,0.00595495,0.00608115,0.00633704, - 0.0063916,0.0064468,0.00678106,0.00706769,0.00717517,0.00727958,0.00747182,0.00785544, - 0.00798754,0.00828787,0.00839147,0.00865826,0.00876775,0.00933276,0.00935768,0.0097289, - 0.00962058,0.00983828,0.0103044,0.0104871,0.0106575,0.0110388,0.0114986,0.0111494, - 0.0115202,0.0121059,0.0121345,0.0124923,0.0125972,0.0128401,0.0134519,0.0136279, - 0.0133414,0.014186,0.00992195,0.0105984,0.0109484,0.0111756,0.0114579,0.00870013, - 0.00904749,0.00970734,0.0104583,0.0109818,0.00837852,0.00939894,0.010415,0.0113433, - 0.013007,0.0128788,0.0140174,0.0156993,0.0181717,0.019765,0.0222326,0.0249408, - 0.0272806,0.0211706,0.0278087,0.0306654,0.0361387,0.041327,0.0341513,0.0440116, - 0.0473006,0.0680212,0.149162,0.56279}; - -RochCor::~RochCor(){ -} - -RochCor::RochCor(){ - - eran.SetSeed(123456); - sran.SetSeed(1234); - - for(int i=0; i<8; ++i){ - for(int j=0; j<8; ++j){ - mptsys_mc_dm[i][j]=0; - mptsys_mc_da[i][j]=0; - mptsys_da_dm[i][j]=0; - mptsys_da_da[i][j]=0; - } - } - -} - -RochCor::RochCor(int seed){ - eran.SetSeed(123456); - sran.SetSeed(seed); - - for(int i=0; i<8; ++i){ - for(int j=0; j<8; ++j){ - mptsys_mc_dm[i][j]=sran.Gaus(0.0, 1.0); - mptsys_mc_da[i][j]=sran.Gaus(0.0, 1.0); - mptsys_da_dm[i][j]=sran.Gaus(0.0, 1.0); - mptsys_da_da[i][j]=sran.Gaus(0.0, 1.0); - } - } -} - -void RochCor::momcor_mc( TLorentzVector& mu, float charge, float sysdev, int runopt){ - - //sysdev == num : deviation = num - - float ptmu = mu.Pt(); - float muphi = mu.Phi(); - float mueta = mu.Eta(); // same with mu.Eta() in Root - - float px = mu.Px(); - float py = mu.Py(); - float pz = mu.Pz(); - float e = mu.E(); - - int mu_phibin = phibin(muphi); - int mu_etabin = etabin(mueta); - - //float mptsys = sran.Gaus(0.0,sysdev); - - float dm = 0.0; - float da = 0.0; - - if(runopt == 0){ - dm = (mcor_bfA[mu_phibin][mu_etabin] + mptsys_mc_dm[mu_phibin][mu_etabin]*mcor_bfAer[mu_phibin][mu_etabin])/mmavgA[mu_phibin][mu_etabin]; - da = mcor_maA[mu_phibin][mu_etabin] + mptsys_mc_da[mu_phibin][mu_etabin]*mcor_maAer[mu_phibin][mu_etabin]; - }else if(runopt == 1){ - dm = (mcor_bfB[mu_phibin][mu_etabin] + mptsys_mc_dm[mu_phibin][mu_etabin]*mcor_bfBer[mu_phibin][mu_etabin])/mmavgB[mu_phibin][mu_etabin]; - da = mcor_maB[mu_phibin][mu_etabin] + mptsys_mc_da[mu_phibin][mu_etabin]*mcor_maBer[mu_phibin][mu_etabin]; - } - - float cor = 1.0/(1.0 + dm + charge*da*ptmu); - - //for the momentum tuning - eta,phi,Q correction - px *= cor; - py *= cor; - pz *= cor; - e *= cor; - - float recm = 0.0; - // float drecm = 0.0; - float delta = 0.0; - float sf = 0.0; - - float gscler = 0.0; - float deltaer = 0.0; - float sfer = 0.0; - - if(runopt==0){ - recm = recmA; - // drecm = drecmA; - - delta = deltaA; - sf = sfA; - - gscler = TMath::Sqrt( TMath::Power(mgsclA_stat,2) + TMath::Power(mgsclA_syst,2) ); - deltaer = TMath::Sqrt( TMath::Power(deltaA_stat,2) + TMath::Power(deltaA_syst,2) ); - sfer = TMath::Sqrt( TMath::Power(sfA_stat,2) + TMath::Power(sfA_syst,2) ); - }else if(runopt==1){ - recm = recmB; - // drecm = drecmB; - - delta = deltaB; - sf = sfB; - - gscler = TMath::Sqrt( TMath::Power(mgsclB_stat,2) + TMath::Power(mgsclB_syst,2) ); - deltaer = TMath::Sqrt( TMath::Power(deltaB_stat,2) + TMath::Power(deltaB_syst,2) ); - sfer = TMath::Sqrt( TMath::Power(sfB_stat,2) + TMath::Power(sfB_syst,2) ); - } - - float tune = 1.0/(1.0 + (delta + sysdev*deltaer)*sqrt(px*px + py*py)*eran.Gaus(1.0,(sf + sysdev*sfer))); - - px *= (tune); - py *= (tune); - pz *= (tune); - e *= (tune); - - float gscl = (genm_smr/recm); - - px *= (gscl + sysdev*gscler); - py *= (gscl + sysdev*gscler); - pz *= (gscl + sysdev*gscler); - e *= (gscl + sysdev*gscler); - - mu.SetPxPyPzE(px,py,pz,e); - -} - - -void RochCor::momcor_data( TLorentzVector& mu, float charge, float sysdev, int runopt){ - - float ptmu = mu.Pt(); - - float muphi = mu.Phi(); - float mueta = mu.Eta(); // same with mu.Eta() in Root - - float px = mu.Px(); - float py = mu.Py(); - float pz = mu.Pz(); - float e = mu.E(); - - int mu_phibin = phibin(muphi); - int mu_etabin = etabin(mueta); - - //float mptsys1 = sran.Gaus(0.0,sysdev); - - float dm = 0.0; - float da = 0.0; - - if(runopt==0){ - dm = (dcor_bfA[mu_phibin][mu_etabin] + mptsys_da_dm[mu_phibin][mu_etabin]*dcor_bfAer[mu_phibin][mu_etabin])/dmavgA[mu_phibin][mu_etabin]; - da = dcor_maA[mu_phibin][mu_etabin] + mptsys_da_da[mu_phibin][mu_etabin]*dcor_maAer[mu_phibin][mu_etabin]; - }else if(runopt==1){ - dm = (dcor_bfB[mu_phibin][mu_etabin] + mptsys_da_dm[mu_phibin][mu_etabin]*dcor_bfBer[mu_phibin][mu_etabin])/dmavgB[mu_phibin][mu_etabin]; - da = dcor_maB[mu_phibin][mu_etabin] + mptsys_da_da[mu_phibin][mu_etabin]*dcor_maBer[mu_phibin][mu_etabin]; - } - - float cor = 1.0/(1.0 + dm + charge*da*ptmu); - - px *= cor; - py *= cor; - pz *= cor; - e *= cor; - - //after Z pt correction - float recm = 0.0; - float gscler = 0.0; - - if(runopt==0){ - recm = drecmA; - gscler = TMath::Sqrt( TMath::Power(dgsclA_stat,2) + TMath::Power(dgsclA_syst,2) ); - }else if(runopt==1){ - recm = drecmB; - gscler = TMath::Sqrt( TMath::Power(dgsclB_stat,2) + TMath::Power(dgsclB_syst,2) ); - } - - float gscl = (genm_smr/recm); - - px *= (gscl + sysdev*gscler); - py *= (gscl + sysdev*gscler); - pz *= (gscl + sysdev*gscler); - e *= (gscl + sysdev*gscler); - - mu.SetPxPyPzE(px,py,pz,e); - -} - -void RochCor::musclefit_data( TLorentzVector& mu, TLorentzVector& mubar){ - - float dpar1 = 0.0; - float dpar2 = 0.0; - float epar1 = 0.0; - float epar2 = 0.0; - - if(fabs(mu.PseudoRapidity())<=0.9){ - dpar1 = d0par; - epar1 = e0par; - }else if(mu.PseudoRapidity()>0.9){ - dpar1 = d1par; - epar1 = e1par; - }else if(mu.PseudoRapidity()<-0.9){ - dpar1 = d2par; - epar1 = e2par; - } - - if(fabs(mubar.PseudoRapidity())<=0.9){ - dpar2 = d0par; - epar2 = e0par; - }else if(mubar.PseudoRapidity()>0.9){ - dpar2 = d1par; - epar2 = e1par; - }else if(mubar.PseudoRapidity()<-0.9){ - dpar2 = d2par; - epar2 = e2par; - } - - float corr1 = 1.0 + bpar*mu.Pt() + (-1.0)*cpar*mu.Pt()*TMath::Sign(float(1.0),float(mu.PseudoRapidity()))*TMath::Power(mu.PseudoRapidity(),2) - + (-1.0)*dpar1*mu.Pt()*sin(mu.Phi() + epar1); - float corr2 = 1.0 + bpar*mubar.Pt() + (1.0)*cpar*mubar.Pt()*TMath::Sign(float(1.0),float(mubar.PseudoRapidity()))*TMath::Power(mubar.PseudoRapidity(),2) - + (1.0)*dpar2*mubar.Pt()*sin(mubar.Phi() + epar2); - - float px1 = mu.Px(); - float py1 = mu.Py(); - float pz1 = mu.Pz(); - float e1 = mu.E(); - - float px2 = mubar.Px(); - float py2 = mubar.Py(); - float pz2 = mubar.Pz(); - float e2 = mubar.E(); - - px1 *= corr1; - py1 *= corr1; - pz1 *= corr1; - e1 *= corr1; - - px2 *= corr2; - py2 *= corr2; - pz2 *= corr2; - e2 *= corr2; - - mu.SetPxPyPzE(px1,py1,pz1,e1); - mubar.SetPxPyPzE(px2,py2,pz2,e2); - -} - -Int_t RochCor::phibin(float phi){ - - int nphibin = -1; - - for(int i=0; i<8; i++){ - if(-pi+(2.0*pi/8.0)*i <= phi && -pi+(2.0*pi/8.0)*(i+1) > phi){ - nphibin = i; - break; - } - } - - return nphibin; -} - -Int_t RochCor::etabin(float eta){ - - int nbin = -1; - - for(int i=0; i<8; i++){ - if(netabin[i] <= eta && netabin[i+1] > eta){ - nbin = i; - break; - } - } - - return nbin; -} - -float RochCor::zptcor(float gzpt) { - int ibin( 0 ); - - // mcptscl[] = 84 bins: [0] and [83] are the underflow and overflow - if ( gzpt > ptlow[nptbins] ) return nptbins-1; - if ( gzpt < ptlow[0 ] ) return 0; - - for ( int i=0; i=ptlow[i] && gzpt - - -const double RochCor2012::pi = 3.14159265358979323846; - -const float RochCor2012::genm_smr = 9.09915e+01; //gen mass peak with eta dependent gaussian smearing => better match in Z mass profile vs. eta/phi -const float RochCor2012::genm = 91.06; //gen mass peak without smearing => Z mass profile vs. eta/phi in CMS note - -const float RochCor2012::mrecm = 90.8177; //rec mass peak in MC (2011A) -const float RochCor2012::drecm = 90.5332; //rec mass peak in data (2011A) -const float RochCor2012::mgscl_stat = 0.0001; //stat. error of global factor for mass peak in MC (2011A) -const float RochCor2012::mgscl_syst = 0.0006; //syst. error of global factor for mass peak in MC (2011A) -const float RochCor2012::dgscl_stat = 0.0001; //stat. error of global factor for mass peak in data (2011A) -const float RochCor2012::dgscl_syst = 0.0008; //syst. error of global factor for mass peak in data (2011A) - - //iteration2 after FSR : after Z Pt correction -const float RochCor2012::delta = -5.48477e-06; -const float RochCor2012::delta_stat = 4.38582e-07; -const float RochCor2012::delta_syst = 6.992e-07; - -const float RochCor2012::sf = 33.4956; -const float RochCor2012::sf_stat = 0.312614; -const float RochCor2012::sf_syst = 9.29; - -const float RochCor2012::apar = 1.0; //+- 0.002 -const float RochCor2012::bpar = -5.03313e-06; //+- 1.57968e-06 -const float RochCor2012::cpar = -4.41463e-05; //+- 1.92775e-06 -const float RochCor2012::d0par = -0.000148871; //+- 3.16301e-06 -const float RochCor2012::e0par = 1.59501; //+- 0.0249021 -const float RochCor2012::d1par = 7.95495e-05; //+- 1.12386e-05 -const float RochCor2012::e1par = -0.364823; //+- 0.17896 -const float RochCor2012::d2par = 0.000152032; //+- 5.68386e-06 -const float RochCor2012::e2par = 0.410195; //+- 0.0431732 - -const float RochCor2012::netabin[9] = {-2.4,-2.1,-1.4,-0.7,0.0,0.7,1.4,2.1,2.4}; - - -const float RochCor2012::dcor_bf[8][8]={{0.000107019,0.000110872,0.000104914,0.000088356,0.000098934,0.000097173,0.000076036,0.000038352}, - {0.000027861,0.000082929,0.000079044,0.000090323,0.000096823,0.000077726,0.000089548,0.000094251}, - {0.000096623,0.000080357,0.000116928,0.000064621,0.000089653,0.000104048,0.000075808,0.000104033}, - {0.000056079,0.000074857,0.000091264,0.000094404,0.000089990,0.000076868,0.000063443,0.000058654}, - {0.000020316,0.000039838,0.000085370,0.000099329,0.000089701,0.000080920,0.000061223,0.000036706}, - {0.000079484,0.000058457,0.000115420,0.000113329,0.000085512,0.000123082,0.000063315,0.000046771}, - {-0.000014849,0.000063752,0.000076973,0.000115789,0.000099257,0.000090677,0.000079501,0.000033056}, - {0.000013455,0.000084340,0.000099403,0.000102317,0.000104791,0.000125368,0.000116473,0.000060607}}; -const float RochCor2012::dcor_ma[8][8]={{0.000100487,0.000017322,-0.000130583,-0.000151975,-0.000160698,-0.000163992,0.000058854,0.000537338}, - {0.000797318,0.000133807,-0.000012265,-0.000039851,-0.000014145,-0.000020469,-0.000038474,-0.000089369}, - {0.000127640,0.000079630,0.000096678,0.000101597,0.000103066,0.000051955,-0.000052329,-0.000232106}, - {-0.000822448,-0.000093050,0.000224437,0.000199975,0.000208382,0.000161882,0.000008895,-0.000055717}, - {-0.000659872,-0.000009989,0.000204988,0.000187290,0.000147524,0.000176117,0.000146629,-0.000072046}, - {-0.000232191,0.000003074,0.000063732,0.000058353,0.000024090,0.000055329,0.000196989,0.000152461}, - {0.000150637,-0.000069255,-0.000120556,-0.000129774,-0.000181534,-0.000185724,-0.000138647,0.000415873}, - {-0.000069055,-0.000059101,-0.000171624,-0.000183451,-0.000229660,-0.000318313,-0.000075301,0.000616515}}; -const float RochCor2012::mcor_bf[8][8]={{0.000051096,0.000053354,0.000088067,0.000069625,0.000111574,0.000054434,0.000049471,0.000029711}, - {-0.000011598,0.000000375,0.000060415,0.000029346,0.000033469,0.000016833,0.000015773,0.000072907}, - {-0.000092219,0.000008603,0.000056443,0.000072303,0.000068745,0.000029366,0.000000943,0.000025621}, - {-0.000046305,0.000026115,0.000040818,0.000041803,0.000029672,0.000028866,-0.000037959,0.000082943}, - {-0.000008281,0.000014787,0.000049244,0.000048117,0.000030259,0.000017593,-0.000052198,0.000045353}, - {0.000055014,0.000010201,0.000047900,0.000049045,0.000057969,0.000055183,0.000046076,0.000138166}, - {-0.000013461,0.000002464,0.000078624,0.000083703,0.000082662,0.000059725,0.000023476,0.000066592}, - {0.000015052,0.000014736,0.000068918,0.000076644,0.000089550,0.000082794,0.000028474,0.000108749}}; -const float RochCor2012::mcor_ma[8][8]={{0.000385236,0.000085244,-0.000048248,-0.000046507,-0.000039849,-0.000074739,-0.000027738,0.000147033}, - {0.000117999,-0.000031813,-0.000046653,-0.000014969,-0.000052586,-0.000031938,0.000064566,0.000151759}, - {-0.000049906,-0.000028434,0.000014103,-0.000003392,0.000000074,0.000017360,0.000041907,0.000002294}, - {0.000203101,0.000176454,0.000070179,0.000045394,0.000059526,0.000098039,0.000121830,0.000117598}, - {0.000226645,0.000158641,0.000060774,0.000062295,0.000058320,0.000068351,0.000102766,0.000224776}, - {-0.000416113,-0.000065963,0.000036343,0.000031159,0.000037239,0.000038536,0.000012286,0.000196513}, - {-0.000465413,-0.000067328,-0.000001936,0.000020537,-0.000037656,-0.000004558,0.000001761,-0.000050296}, - {0.000273417,0.000001643,-0.000056352,-0.000055155,-0.000073923,-0.000052147,-0.000106017,-0.000373331}}; - - -const float RochCor2012::dcor_bfer[8][8]={{0.000060607,0.000033327,0.000028317,0.000026616,0.000026635,0.000028568,0.000033216,0.000059162}, - {0.000058346,0.000032683,0.000028301,0.000026814,0.000026649,0.000028376,0.000032958,0.000058995}, - {0.000059405,0.000033098,0.000028297,0.000026759,0.000026544,0.000028262,0.000032849,0.000059237}, - {0.000058096,0.000032952,0.000028116,0.000026624,0.000026511,0.000028165,0.000032528,0.000058668}, - {0.000059777,0.000033148,0.000028356,0.000026645,0.000026687,0.000028264,0.000033157,0.000059752}, - {0.000058886,0.000032805,0.000028226,0.000026821,0.000026998,0.000028379,0.000032977,0.000057995}, - {0.000058887,0.000033128,0.000028232,0.000026494,0.000026707,0.000028133,0.000032632,0.000058308}, - {0.000058322,0.000033103,0.000028333,0.000026601,0.000026502,0.000028277,0.000032777,0.000058169}}; -const float RochCor2012::dcor_maer[8][8]={{0.000060607,0.000033327,0.000028317,0.000026616,0.000026635,0.000028568,0.000033216,0.000059162}, - {0.000058346,0.000032683,0.000028301,0.000026814,0.000026649,0.000028376,0.000032958,0.000058995}, - {0.000059405,0.000033098,0.000028297,0.000026759,0.000026544,0.000028262,0.000032849,0.000059237}, - {0.000058096,0.000032952,0.000028116,0.000026624,0.000026511,0.000028165,0.000032528,0.000058668}, - {0.000059777,0.000033148,0.000028356,0.000026645,0.000026687,0.000028264,0.000033157,0.000059752}, - {0.000058886,0.000032805,0.000028226,0.000026821,0.000026998,0.000028379,0.000032977,0.000057995}, - {0.000058887,0.000033128,0.000028232,0.000026494,0.000026707,0.000028133,0.000032632,0.000058308}, - {0.000058322,0.000033103,0.000028333,0.000026601,0.000026502,0.000028277,0.000032777,0.000058169}}; -const float RochCor2012::mcor_bfer[8][8]={{0.000057442,0.000032512,0.000028476,0.000026441,0.000026600,0.000028609,0.000033152,0.000058520}, - {0.000059126,0.000033023,0.000028420,0.000026487,0.000026433,0.000028348,0.000033027,0.000058155}, - {0.000058834,0.000033739,0.000028770,0.000026521,0.000026452,0.000028520,0.000033074,0.000058708}, - {0.000057004,0.000033420,0.000028307,0.000026526,0.000026567,0.000028409,0.000032725,0.000059488}, - {0.000059638,0.000032488,0.000028209,0.000026119,0.000026508,0.000028089,0.000033404,0.000059850}, - {0.000058238,0.000033400,0.000028385,0.000026755,0.000026870,0.000028312,0.000032999,0.000056991}, - {0.000059148,0.000034134,0.000028568,0.000026543,0.000026583,0.000027788,0.000032530,0.000059904}, - {0.000060323,0.000033258,0.000028902,0.000026263,0.000026405,0.000028263,0.000032459,0.000059398}}; -const float RochCor2012::mcor_maer[8][8]={{0.000057442,0.000032512,0.000028476,0.000026441,0.000026600,0.000028609,0.000033152,0.000058520}, - {0.000059126,0.000033023,0.000028420,0.000026487,0.000026433,0.000028348,0.000033027,0.000058155}, - {0.000058834,0.000033739,0.000028770,0.000026521,0.000026452,0.000028520,0.000033074,0.000058708}, - {0.000057004,0.000033420,0.000028307,0.000026526,0.000026567,0.000028409,0.000032725,0.000059488}, - {0.000059638,0.000032488,0.000028209,0.000026119,0.000026508,0.000028089,0.000033404,0.000059850}, - {0.000058238,0.000033400,0.000028385,0.000026755,0.000026870,0.000028312,0.000032999,0.000056991}, - {0.000059148,0.000034134,0.000028568,0.000026543,0.000026583,0.000027788,0.000032530,0.000059904}, - {0.000060323,0.000033258,0.000028902,0.000026263,0.000026405,0.000028263,0.000032459,0.000059398}}; - -//======================================================================================================= - -const float RochCor2012::dmavg[8][8]={{0.025806983,0.025159891,0.024975842,0.025455723,0.025425207,0.024926903,0.025207309,0.026048885}, - {0.025750965,0.025097309,0.024989121,0.025452482,0.025527396,0.024992650,0.025032483,0.025745209}, - {0.025804636,0.025158395,0.025016371,0.025488043,0.025484602,0.025030160,0.025056485,0.025666000}, - {0.025856440,0.025213197,0.025026234,0.025434566,0.025508311,0.025036940,0.025187392,0.025890424}, - {0.025876249,0.025281013,0.024931971,0.025371491,0.025499941,0.025069176,0.025232100,0.025805794}, - {0.025650327,0.025166171,0.025005627,0.025408096,0.025460445,0.025019452,0.025223815,0.025741512}, - {0.025876350,0.025175626,0.024978362,0.025447193,0.025421566,0.024991240,0.025167436,0.025891024}, - {0.025871826,0.025199998,0.024895251,0.025438601,0.025413080,0.024985093,0.025161586,0.025951909}}; -const float RochCor2012::dpavg[8][8]={{0.025863485,0.025162835,0.025030071,0.025502551,0.025451110,0.024937023,0.025201191,0.025910362}, - {0.025625774,0.024974553,0.025011365,0.025516130,0.025527164,0.024980470,0.025081821,0.025774996}, - {0.025843368,0.025180360,0.024976660,0.025487988,0.025465345,0.025063817,0.025222588,0.025848188}, - {0.026043606,0.025279730,0.024916318,0.025446864,0.025459185,0.024968978,0.025218397,0.026001596}, - {0.026105632,0.025315669,0.024938580,0.025393917,0.025404370,0.024991038,0.025172806,0.025925590}, - {0.025834291,0.025225312,0.024968093,0.025365828,0.025470435,0.024970995,0.025149210,0.025854499}, - {0.025907967,0.025225916,0.025005253,0.025466169,0.025463152,0.024998250,0.025108125,0.025770905}, - {0.025902320,0.025180646,0.024998309,0.025482915,0.025518436,0.025018455,0.025214326,0.025771985}}; -const float RochCor2012::mmavg[8][8]={{0.026128584,0.025420381,0.025425881,0.025276864,0.025621923,0.024943013,0.024997684,0.024951389}, - {0.025892397,0.025324140,0.024767618,0.025466916,0.025547697,0.024931444,0.024865503,0.024965166}, - {0.025884594,0.025299910,0.024911579,0.025545151,0.025692597,0.025396692,0.025361045,0.025631407}, - {0.026016195,0.024945150,0.024826044,0.025509113,0.025358243,0.025056858,0.025043673,0.025082216}, - {0.025525420,0.025148992,0.025057081,0.025180734,0.025324788,0.024978238,0.025439115,0.025149794}, - {0.025679313,0.024968559,0.024960063,0.025743545,0.025488564,0.024816573,0.025175969,0.025249409}, - {0.025616512,0.024970570,0.024939109,0.025640487,0.025595783,0.024913486,0.025093671,0.025319956}, - {0.025649297,0.025295899,0.025035573,0.025319031,0.025256918,0.025451105,0.024914639,0.025190688}}; -const float RochCor2012::mpavg[8][8]={{0.025604088,0.025265064,0.024723310,0.025622864,0.025484807,0.025519480,0.025055743,0.024885352}, - {0.025536602,0.024972232,0.024960433,0.025341841,0.025646744,0.024954528,0.025367321,0.024594933}, - {0.025733960,0.024972564,0.025092482,0.025435571,0.025381427,0.024627063,0.025213528,0.026130881}, - {0.025760733,0.025261410,0.024756177,0.025349453,0.025471219,0.024913743,0.025367404,0.025344302}, - {0.025564542,0.025115323,0.025066901,0.025519108,0.025278455,0.025177200,0.025202904,0.025660497}, - {0.026146946,0.025127524,0.025185574,0.025478394,0.025289463,0.025376077,0.025378334,0.025742637}, - {0.026086491,0.025343798,0.025090656,0.025447269,0.025322028,0.024798416,0.024731958,0.024964551}, - {0.025714620,0.024896867,0.024996409,0.025739719,0.025418277,0.024759519,0.025287654,0.024960841}}; - -//======================================================================================================= - -//=============================================================================================== -//parameters for Z pt correction - -const float RochCor2012::ptlow[85] = {0.0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, - 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, - 10.0, 10.5, 11.0, 11.5, 12.0, 12.5, 13.0, 13.5, 14.0, 14.5, - 15.0, 15.5, 16.0, 16.5, 17.0, 17.5, 18.0, 18.5, 19.0, 19.5, - 20.0, 20.5, 21.0, 21.5, 22.0, 22.5, 23.0, 23.5, 24.0, 24.5, - 25.0, 26.0, 27.0, 28.0, 29.0, - 30.0, 32.0, 34.0, 36.0, 38.0, - 40.0, 44.0, 48.0, 52.0, 56.0, - 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, - 100.0, 110.0, 120.0, 130.0, 140.0, 150.0, 175.0, - 200.0, 250.0, 350.0, 500.0, 1000.0}; - -//int nptbins( sizeof(ptlow)/sizeof(float) - 1 ); - -const float RochCor2012::zptscl[84] = {1.49177,1.45654,1.36283,1.28569,1.2418,1.12336,1.10416,1.08731,0.994051,0.96532, - 0.94427,0.932725,0.918082,0.899665,0.898398,0.927687,0.908047,0.892392,0.924027,0.945895, - 0.937149,0.923983,0.923387,0.955362,0.947812,0.962943,0.948781,0.961555,0.95222,0.999207, - 0.973884,0.993013,0.953487,0.951402,0.985583,0.986603,0.981388,1.00022,1.0294,0.964748, - 0.974592,1.01546,0.992343,1.00101,0.990866,0.98982,1.02924,1.02265,0.967695,1.02411, - 0.97331,1.01052,1.01561,0.992594,0.976504,1.01205,0.981111,1.00078,1.02078,1.00719, - 1.0099,1.02865,1.03845,1.03254,1.09815,1.10263,1.06302,1.0725,1.14703,1.10574, - 1.13911,1.16947,1.1709,1.11413,1.28793,1.18953,1.20212,1.18112,1.25471,1.15329, - 1.14276,1.17223,1.09173,2.00229}; - -const float RochCor2012::zptscler[84] = {0.0270027,0.0154334,0.0115338,0.00958085,0.0084683,0.00736665,0.0069567,0.00671434, - 0.00617693,0.00601943,0.00594735,0.00594569,0.00594903,0.00595495,0.00608115,0.00633704, - 0.0063916,0.0064468,0.00678106,0.00706769,0.00717517,0.00727958,0.00747182,0.00785544, - 0.00798754,0.00828787,0.00839147,0.00865826,0.00876775,0.00933276,0.00935768,0.0097289, - 0.00962058,0.00983828,0.0103044,0.0104871,0.0106575,0.0110388,0.0114986,0.0111494, - 0.0115202,0.0121059,0.0121345,0.0124923,0.0125972,0.0128401,0.0134519,0.0136279, - 0.0133414,0.014186,0.00992195,0.0105984,0.0109484,0.0111756,0.0114579,0.00870013, - 0.00904749,0.00970734,0.0104583,0.0109818,0.00837852,0.00939894,0.010415,0.0113433, - 0.013007,0.0128788,0.0140174,0.0156993,0.0181717,0.019765,0.0222326,0.0249408, - 0.0272806,0.0211706,0.0278087,0.0306654,0.0361387,0.041327,0.0341513,0.0440116, - 0.0473006,0.0680212,0.149162,0.56279}; - -RochCor2012::~RochCor2012(){ -} - -RochCor2012::RochCor2012(){ - - eran.SetSeed(123456); - sran.SetSeed(1234); - - gscler_mc_dev=0; - gscler_da_dev=0; - - for(int i=0; i<8; ++i){ - for(int j=0; j<8; ++j){ - mptsys_mc_dm[i][j]=0; - mptsys_mc_da[i][j]=0; - mptsys_da_dm[i][j]=0; - mptsys_da_da[i][j]=0; - } - } - -} - -RochCor2012::RochCor2012(int seed){ - eran.SetSeed(123456); - sran.SetSeed(seed); - - gscler_mc_dev=sran.Gaus(0.0, 1.0); - gscler_da_dev=sran.Gaus(0.0, 1.0); - - for(int i=0; i<8; ++i){ - for(int j=0; j<8; ++j){ - mptsys_mc_dm[i][j]=sran.Gaus(0.0, 1.0); - mptsys_mc_da[i][j]=sran.Gaus(0.0, 1.0); - mptsys_da_dm[i][j]=sran.Gaus(0.0, 1.0); - mptsys_da_da[i][j]=sran.Gaus(0.0, 1.0); - } - } -} - -void RochCor2012::momcor_mc( TLorentzVector& mu, float charge, float sysdev, int runopt){ - - //sysdev == num : deviation = num - - float ptmu = mu.Pt(); - float muphi = mu.Phi(); - float mueta = mu.Eta(); // same with mu.Eta() in Root - - float px = mu.Px(); - float py = mu.Py(); - float pz = mu.Pz(); - float e = mu.E(); - - int mu_phibin = phibin(muphi); - int mu_etabin = etabin(mueta); - - //float mptsys = sran.Gaus(0.0,sysdev); - - float dm = (mcor_bf[mu_phibin][mu_etabin] + mptsys_mc_dm[mu_phibin][mu_etabin]*mcor_bfer[mu_phibin][mu_etabin])/mmavg[mu_phibin][mu_etabin]; - float da = mcor_ma[mu_phibin][mu_etabin] + mptsys_mc_da[mu_phibin][mu_etabin]*mcor_maer[mu_phibin][mu_etabin]; - - float cor = 1.0/(1.0 + dm + charge*da*ptmu); - - //for the momentum tuning - eta,phi,Q correction - px *= cor; - py *= cor; - pz *= cor; - e *= cor; - - float gscler = 0.0; - float deltaer = 0.0; - float sfer = 0.0; - - gscler = TMath::Sqrt( TMath::Power(mgscl_stat,2) + TMath::Power(mgscl_syst,2) ); - deltaer = TMath::Sqrt( TMath::Power(delta_stat,2) + TMath::Power(delta_syst,2) ); - sfer = TMath::Sqrt( TMath::Power(sf_stat,2) + TMath::Power(sf_syst,2) ); - - float tune = 1.0/(1.0 + (delta + sysdev*deltaer)*sqrt(px*px + py*py)*eran.Gaus(1.0,(sf + sysdev*sfer))); - - px *= (tune); - py *= (tune); - pz *= (tune); - e *= (tune); - - float gscl = (genm_smr/mrecm); - - px *= (gscl + gscler_mc_dev*gscler); - py *= (gscl + gscler_mc_dev*gscler); - pz *= (gscl + gscler_mc_dev*gscler); - e *= (gscl + gscler_mc_dev*gscler); - - mu.SetPxPyPzE(px,py,pz,e); - -} - - -void RochCor2012::momcor_data( TLorentzVector& mu, float charge, float sysdev, int runopt){ - - float ptmu = mu.Pt(); - - float muphi = mu.Phi(); - float mueta = mu.Eta(); // same with mu.Eta() in Root - - float px = mu.Px(); - float py = mu.Py(); - float pz = mu.Pz(); - float e = mu.E(); - - int mu_phibin = phibin(muphi); - int mu_etabin = etabin(mueta); - - //float mptsys1 = sran.Gaus(0.0,sysdev); - - float dm = (dcor_bf[mu_phibin][mu_etabin] + mptsys_da_dm[mu_phibin][mu_etabin]*dcor_bfer[mu_phibin][mu_etabin])/dmavg[mu_phibin][mu_etabin]; - float da = dcor_ma[mu_phibin][mu_etabin] + mptsys_da_da[mu_phibin][mu_etabin]*dcor_maer[mu_phibin][mu_etabin]; - - float cor = 1.0/(1.0 + dm + charge*da*ptmu); - - px *= cor; - py *= cor; - pz *= cor; - e *= cor; - - //after Z pt correction - float gscler = 0.0; - - gscler = TMath::Sqrt( TMath::Power(dgscl_stat,2) + TMath::Power(dgscl_syst,2) ); - - float gscl = (genm_smr/drecm); - - px *= (gscl + gscler_da_dev*gscler); - py *= (gscl + gscler_da_dev*gscler); - pz *= (gscl + gscler_da_dev*gscler); - e *= (gscl + gscler_da_dev*gscler); - - mu.SetPxPyPzE(px,py,pz,e); - -} - -void RochCor2012::musclefit_data( TLorentzVector& mu, TLorentzVector& mubar){ - - float dpar1 = 0.0; - float dpar2 = 0.0; - float epar1 = 0.0; - float epar2 = 0.0; - - if(fabs(mu.PseudoRapidity())<=0.9){ - dpar1 = d0par; - epar1 = e0par; - }else if(mu.PseudoRapidity()>0.9){ - dpar1 = d1par; - epar1 = e1par; - }else if(mu.PseudoRapidity()<-0.9){ - dpar1 = d2par; - epar1 = e2par; - } - - if(fabs(mubar.PseudoRapidity())<=0.9){ - dpar2 = d0par; - epar2 = e0par; - }else if(mubar.PseudoRapidity()>0.9){ - dpar2 = d1par; - epar2 = e1par; - }else if(mubar.PseudoRapidity()<-0.9){ - dpar2 = d2par; - epar2 = e2par; - } - - float corr1 = 1.0 + bpar*mu.Pt() + (-1.0)*cpar*mu.Pt()*TMath::Sign(float(1.0),float(mu.PseudoRapidity()))*TMath::Power(mu.PseudoRapidity(),2) - + (-1.0)*dpar1*mu.Pt()*sin(mu.Phi() + epar1); - float corr2 = 1.0 + bpar*mubar.Pt() + (1.0)*cpar*mubar.Pt()*TMath::Sign(float(1.0),float(mubar.PseudoRapidity()))*TMath::Power(mubar.PseudoRapidity(),2) - + (1.0)*dpar2*mubar.Pt()*sin(mubar.Phi() + epar2); - - float px1 = mu.Px(); - float py1 = mu.Py(); - float pz1 = mu.Pz(); - float e1 = mu.E(); - - float px2 = mubar.Px(); - float py2 = mubar.Py(); - float pz2 = mubar.Pz(); - float e2 = mubar.E(); - - px1 *= corr1; - py1 *= corr1; - pz1 *= corr1; - e1 *= corr1; - - px2 *= corr2; - py2 *= corr2; - pz2 *= corr2; - e2 *= corr2; - - mu.SetPxPyPzE(px1,py1,pz1,e1); - mubar.SetPxPyPzE(px2,py2,pz2,e2); - -} - -Int_t RochCor2012::phibin(float phi){ - - int nphibin = -1; - - for(int i=0; i<8; i++){ - if(-pi+(2.0*pi/8.0)*i <= phi && -pi+(2.0*pi/8.0)*(i+1) > phi){ - nphibin = i; - break; - } - } - - return nphibin; -} - -Int_t RochCor2012::etabin(float eta){ - - int nbin = -1; - - for(int i=0; i<8; i++){ - if(netabin[i] <= eta && netabin[i+1] > eta){ - nbin = i; - break; - } - } - - return nbin; -} - -float RochCor2012::zptcor(float gzpt) { - int ibin( 0 ); - - // mcptscl[] = 84 bins: [0] and [83] are the underflow and overflow - if ( gzpt > ptlow[nptbins] ) return nptbins-1; - if ( gzpt < ptlow[0 ] ) return 0; - - for ( int i=0; i=ptlow[i] && gzpt &paths) : paths_(paths.size()), lastRun_(0) { - for(size_t i = 0; i < paths.size(); ++ i) paths_[i] = returnPathStruct(paths[i]); - rmstar(); -} - -TriggerBitChecker::pathStruct TriggerBitChecker::returnPathStruct(const std::string &path) const { - pathStruct newPathStruct(path); - if( path[0] > 48 /*'0'*/ && path[0] <= 57 /*'9'*/ ) { - newPathStruct.first = atoi(path.substr(0,path.find('-')).c_str()); - newPathStruct.last = atoi(path.substr(path.find('-')+1,path.find(':')-path.find('-')-1).c_str()); - newPathStruct.pathName = path.substr(path.find(':')+1); - } - return newPathStruct; -} - -bool TriggerBitChecker::check(const edm::EventBase &event, const edm::TriggerResults &result) const { - if (event.id().run() != lastRun_) { syncIndices(event, result); lastRun_ = event.id().run(); } - for (std::vector::const_iterator it = indices_.begin(), ed = indices_.end(); it != ed; ++it) { - if (result.accept(*it)) return true; - } - return false; -} - -void TriggerBitChecker::syncIndices(const edm::EventBase &event, const edm::TriggerResults &result) const { - indices_.clear(); - const edm::TriggerNames &names = event.triggerNames(result); - std::vector::const_iterator itp, bgp = paths_.begin(), edp = paths_.end(); - for (size_t i = 0, n = names.size(); i < n; ++i) { - const std::string &thispath = names.triggerName(i); - for (itp = bgp; itp != edp; ++itp) { - if (thispath.find(itp->pathName) == 0 && event.id().run() >= itp->first && event.id().run() <= itp->last) indices_.push_back(i); - } - } -} - -void TriggerBitChecker::rmstar() { - std::vector::iterator itp, bgp = paths_.begin(), edp = paths_.end(); - for (itp = bgp; itp != edp; ++itp) { - std::string::size_type idx = itp->pathName.find("*"); - if (idx != std::string::npos) itp->pathName.erase(idx); - } -} diff --git a/CMGTools/RootTools/src/classes.h b/CMGTools/RootTools/src/classes.h index 2f4b2ccfb9de..6d3d56097fa8 100644 --- a/CMGTools/RootTools/src/classes.h +++ b/CMGTools/RootTools/src/classes.h @@ -1,32 +1,7 @@ -#include "CMGTools/RootTools/interface/BTagSF.h" -#include "CMGTools/RootTools/interface/RochCor.h" -#include "CMGTools/RootTools/interface/RochCor2012.h" -#include "CMGTools/RootTools/interface/FSRWeightAlgo.h" -#include "CMGTools/RootTools/interface/CMGMuonCleanerBySegmentsAlgo.h" -#include "CMGTools/RootTools/interface/TriggerBitChecker.h" -#include "CMGTools/RootTools/interface/MuScleFitCorrector.h" -#include "CMGTools/RootTools/interface/EGammaMvaEleEstimatorFWLite.h" -#include "CMGTools/RootTools/interface/Davismt2.h" -#include "CMGTools/RootTools/interface/mt2w_bisect.h" -#include "CMGTools/RootTools/interface/Hemisphere.h" -#include "CMGTools/RootTools/interface/AlphaT.h" #include "CMGTools/RootTools/interface/RecoilCorrector.h" -#include "CMGTools/RootTools/interface/ReclusterJets.h" namespace { namespace { - BTagSF bTagSF_; - RochCor rc_; - RochCor2012 rc2012_; - FSRWeightAlgo walgo_; - TriggerBitChecker checker; - CMGMuonCleanerBySegmentsAlgo cmgMuonCleanerBySegmentsAlgo; - EGammaMvaEleEstimatorFWLite egMVA; - Hemisphere hemisphere(vector px, vector py, vector pz, vector E, int hemi_seed, int hemi_association); - ReclusterJets reclusterJets(vector px, vector py, vector pz, vector E, double ktpower, double rparam); - Davismt2 mt2; - mt2w_bisect::mt2w mt2wlept; - AlphaT alphaT; RecoilCorrector recoilCorrector(string nameFileToCorrect, int iSeed); } } diff --git a/CMGTools/RootTools/src/classes_def.xml b/CMGTools/RootTools/src/classes_def.xml index 1195df20369d..9fb950bd6141 100644 --- a/CMGTools/RootTools/src/classes_def.xml +++ b/CMGTools/RootTools/src/classes_def.xml @@ -1,16 +1,3 @@ - - - - - - - - - - - - - diff --git a/CMGTools/RootTools/src/mt2w_bisect.cc b/CMGTools/RootTools/src/mt2w_bisect.cc deleted file mode 100644 index 0b410276f633..000000000000 --- a/CMGTools/RootTools/src/mt2w_bisect.cc +++ /dev/null @@ -1,386 +0,0 @@ -/***********************************************************************/ -/* */ -/* Finding MT2W */ -/* Reference: arXiv:1203.4813 [hep-ph] */ -/* Authors: Yang Bai, Hsin-Chia Cheng, */ -/* Jason Gallicchio, Jiayin Gu */ -/* Based on MT2 by: Hsin-Chia Cheng, Zhenyu Han */ -/* May 8, 2012, v1.00a */ -/* */ -/***********************************************************************/ - - -/******************************************************************************* - Usage: - - 1. Define an object of type "mt2w": - - mt2w_bisect::mt2w mt2w_event; - - 2. Set momenta: - - mt2w_event.set_momenta(pl,pb1,pb2,pmiss); - - where array pl[0..3], pb1[0..3], pb2[0..3] contains (E,px,py,pz), pmiss[0..2] contains (0,px,py) - for the visible particles and the missing momentum. pmiss[0] is not used. - All quantities are given in double. - - (Or use non-pointer method to do the same.) - - 3. Use mt2w::get_mt2w() to obtain the value of mt2w: - - double mt2w_value = mt2w_event.get_mt2w(); - -*******************************************************************************/ - -#include -#include -#include "CMGTools/RootTools/interface/mt2w_bisect.h" - -using namespace std; - -namespace mt2w_bisect -{ - - mt2w::mt2w(double upper_bound, double error_value, double scan_step) - { - solved = false; - momenta_set = false; - mt2w_b = 0.; // The result field. Start it off at zero. - this->upper_bound = upper_bound; // the upper bound of search for MT2W, default value is 500 GeV - this->error_value = error_value; // if we couldn't find any compatible region below the upper_bound, output mt2w = error_value; - this->scan_step = scan_step; // if we need to scan to find the compatible region, this is the step of the scan - } - - double mt2w::get_mt2w() - { - if (!momenta_set) - { - cout <<" Please set momenta first!" << endl; - return error_value; - } - - if (!solved) mt2w_bisect(); - return mt2w_b; - } - - - void mt2w::set_momenta(double *pl, double *pb1, double *pb2, double* pmiss) - { - // Pass in pointers to 4-vectors {E, px, py, px} of doubles. - // and pmiss must have [1] and [2] components for x and y. The [0] component is ignored. - set_momenta(pl[0], pl[1], pl[2], pl[3], - pb1[0], pb1[1], pb1[2], pb1[3], - pb2[0], pb2[1], pb2[2], pb2[3], - pmiss[1], pmiss[2]); - } - - - - void mt2w::set_momenta(double El, double plx, double ply, double plz, - double Eb1, double pb1x, double pb1y, double pb1z, - double Eb2, double pb2x, double pb2y, double pb2z, - double pmissx, double pmissy) - { - solved = false; //reset solved tag when momenta are changed. - momenta_set = true; - - double msqtemp; //used for saving the mass squared temporarily - - //l is the visible lepton - - this->El = El; - this->plx = plx; - this->ply = ply; - this->plz = plz; - - Elsq = El*El; - - msqtemp = El*El-plx*plx-ply*ply-plz*plz; - if (msqtemp > 0.0) {mlsq = msqtemp;} - else {mlsq = 0.0;} //mass squared can not be negative - ml = sqrt(mlsq); // all the input masses are calculated from sqrt(p^2) - - //b1 is the bottom on the same side as the visible lepton - - this->Eb1 = Eb1; - this->pb1x = pb1x; - this->pb1y = pb1y; - this->pb1z = pb1z; - - Eb1sq = Eb1*Eb1; - - msqtemp = Eb1*Eb1-pb1x*pb1x-pb1y*pb1y-pb1z*pb1z; - if (msqtemp > 0.0) {mb1sq = msqtemp;} - else {mb1sq = 0.0;} //mass squared can not be negative - mb1 = sqrt(mb1sq); // all the input masses are calculated from sqrt(p^2) - - //b2 is the other bottom (paired with the invisible W) - - this->Eb2 = Eb2; - this->pb2x = pb2x; - this->pb2y = pb2y; - this->pb2z = pb2z; - - Eb2sq = Eb2*Eb2; - - msqtemp = Eb2*Eb2-pb2x*pb2x-pb2y*pb2y-pb2z*pb2z; - if (msqtemp > 0.0) {mb2sq = msqtemp;} - else {mb2sq = 0.0;} //mass squared can not be negative - mb2 = sqrt(mb2sq); // all the input masses are calculated from sqrt(p^2) - - - //missing pt - - - this->pmissx = pmissx; - this->pmissy = pmissy; - - //set the values of masses - - mv = 0.0; //mass of neutrino - mw = 80.4; //mass of W-boson - - - //precision? - - if (ABSOLUTE_PRECISION > 100.*RELATIVE_PRECISION) precision = ABSOLUTE_PRECISION; - else precision = 100.*RELATIVE_PRECISION; - } - - - void mt2w::mt2w_bisect() - { - - - solved = true; - cout.precision(11); - - // In normal running, mtop_high WILL be compatible, and mtop_low will NOT. - double mtop_high = upper_bound; //set the upper bound of the search region - double mtop_low; //the lower bound of the search region is best chosen as m_W + m_b - - if (mb1 >= mb2) {mtop_low = mw + mb1;} - else {mtop_low = mw + mb2;} - - // The following if and while deal with the case where there might be a compatable region - // between mtop_low and 500 GeV, but it doesn't extend all the way up to 500. - // - - // If our starting high guess is not compatible, start the high guess from the low guess... - if (teco(mtop_high)==0) {mtop_high = mtop_low;} - - // .. and scan up until a compatible high bound is found. - //We can also raise the lower bound since we scaned over a region that is not compatible - while (teco(mtop_high)==0 && mtop_high < upper_bound + 2.*scan_step) { - - mtop_low=mtop_high; - mtop_high = mtop_high + scan_step; - } - - // if we can not find a compatible region under the upper bound, output the error value - if (mtop_high > upper_bound) { - mt2w_b = error_value; - return; - } - - // Once we have an compatible mtop_high, we can find mt2w using bisection method - while(mtop_high - mtop_low > precision) - { - double mtop_mid,teco_mid; - //bisect - mtop_mid = (mtop_high+mtop_low)/2.; - teco_mid = teco(mtop_mid); - - if(teco_mid == 0) {mtop_low = mtop_mid;} - else {mtop_high = mtop_mid;} - - } - mt2w_b = mtop_high; //output the value of mt2w - return; - } - - - // for a given event, teco ( mtop ) gives 1 if trial top mass mtop is compatible, 0 if mtop is not. - - int mt2w::teco( double mtop) - { - - //first test if mtop is larger than mb+mw - - if (mtop < mb1+mw || mtop < mb2+mw) {return 0;} - - //define delta for convenience, note the definition is different from the one in mathematica code by 2*E^2_{b2} - - double ETb2sq = Eb2sq - pb2z*pb2z; //transverse energy of b2 - double delta = (mtop*mtop-mw*mw-mb2sq)/(2.*ETb2sq); - - - //del1 and del2 are \Delta'_1 and \Delta'_2 in the notes eq. 10,11 - - double del1 = mw*mw - mv*mv - mlsq; - double del2 = mtop*mtop - mw*mw - mb1sq - 2*(El*Eb1-plx*pb1x-ply*pb1y-plz*pb1z); - - // aa bb cc are A B C in the notes eq.15 - - double aa = (El*pb1x-Eb1*plx)/(Eb1*plz-El*pb1z); - double bb = (El*pb1y-Eb1*ply)/(Eb1*plz-El*pb1z); - double cc = (El*del2-Eb1*del1)/(2.*Eb1*plz-2.*El*pb1z); - - - //calculate coefficients for the two quadratic equations (ellipses), which are - // - // a1 x^2 + 2 b1 x y + c1 y^2 + 2 d1 x + 2 e1 y + f1 = 0 , from the 2 steps decay chain (with visible lepton) - // - // a2 x^2 + 2 b2 x y + c2 y^2 + 2 d2 x + 2 e2 y + f2 <= 0 , from the 1 stop decay chain (with W missing) - // - // where x and y are px and py of the neutrino on the visible lepton chain - - a1 = Eb1sq*(1.+aa*aa)-(pb1x+pb1z*aa)*(pb1x+pb1z*aa); - b1 = Eb1sq*aa*bb - (pb1x+pb1z*aa)*(pb1y+pb1z*bb); - c1 = Eb1sq*(1.+bb*bb)-(pb1y+pb1z*bb)*(pb1y+pb1z*bb); - d1 = Eb1sq*aa*cc - (pb1x+pb1z*aa)*(pb1z*cc+del2/2.0); - e1 = Eb1sq*bb*cc - (pb1y+pb1z*bb)*(pb1z*cc+del2/2.0); - f1 = Eb1sq*(mv*mv+cc*cc) - (pb1z*cc+del2/2.0)*(pb1z*cc+del2/2.0); - - // First check if ellipse 1 is real (don't need to do this for ellipse 2, ellipse 2 is always real for mtop > mw+mb) - - double det1 = (a1*(c1*f1 - e1*e1) - b1*(b1*f1 - d1*e1) + d1*(b1*e1-c1*d1))/(a1+c1); - - if (det1 > 0.0) {return 0;} - - //coefficients of the ellptical region - - a2 = 1-pb2x*pb2x/(ETb2sq); - b2 = -pb2x*pb2y/(ETb2sq); - c2 = 1-pb2y*pb2y/(ETb2sq); - - // d2o e2o f2o are coefficients in the p2x p2y plane (p2 is the momentum of the missing W-boson) - // it is convenient to calculate them first and transfer the ellipse to the p1x p1y plane - d2o = -delta*pb2x; - e2o = -delta*pb2y; - f2o = mw*mw - delta*delta*ETb2sq; - - d2 = -d2o -a2*pmissx -b2*pmissy; - e2 = -e2o -c2*pmissy -b2*pmissx; - f2 = a2*pmissx*pmissx + 2*b2*pmissx*pmissy + c2*pmissy*pmissy + 2*d2o*pmissx + 2*e2o*pmissy + f2o; - - //find a point in ellipse 1 and see if it's within the ellipse 2, define h0 for convenience - double x0, h0, y0, r0; - x0 = (c1*d1-b1*e1)/(b1*b1-a1*c1); - h0 = (b1*x0 + e1)*(b1*x0 + e1) - c1*(a1*x0*x0 + 2*d1*x0 + f1); - if (h0 < 0.0) {return 0;} // if h0 < 0, y0 is not real and ellipse 1 is not real, this is a redundant check. - y0 = (-b1*x0 -e1 + sqrt(h0))/c1; - r0 = a2*x0*x0 + 2*b2*x0*y0 + c2*y0*y0 + 2*d2*x0 + 2*e2*y0 + f2; - if (r0 < 0.0) {return 1;} // if the point is within the 2nd ellipse, mtop is compatible - - - //obtain the coefficients for the 4th order equation - //devided by Eb1^n to make the variable dimensionless - long double A4, A3, A2, A1, A0; - - A4 = - -4*a2*b1*b2*c1 + 4*a1*b2*b2*c1 +a2*a2*c1*c1 + - 4*a2*b1*b1*c2 - 4*a1*b1*b2*c2 - 2*a1*a2*c1*c2 + - a1*a1*c2*c2; - - A3 = - (-4*a2*b2*c1*d1 + 8*a2*b1*c2*d1 - 4*a1*b2*c2*d1 - 4*a2*b1*c1*d2 + - 8*a1*b2*c1*d2 - 4*a1*b1*c2*d2 - 8*a2*b1*b2*e1 + 8*a1*b2*b2*e1 + - 4*a2*a2*c1*e1 - 4*a1*a2*c2*e1 + 8*a2*b1*b1*e2 - 8*a1*b1*b2*e2 - - 4*a1*a2*c1*e2 + 4*a1*a1*c2*e2)/Eb1; - - - A2 = - (4*a2*c2*d1*d1 - 4*a2*c1*d1*d2 - 4*a1*c2*d1*d2 + 4*a1*c1*d2*d2 - - 8*a2*b2*d1*e1 - 8*a2*b1*d2*e1 + 16*a1*b2*d2*e1 + - 4*a2*a2*e1*e1 + 16*a2*b1*d1*e2 - 8*a1*b2*d1*e2 - - 8*a1*b1*d2*e2 - 8*a1*a2*e1*e2 + 4*a1*a1*e2*e2 - 4*a2*b1*b2*f1 + - 4*a1*b2*b2*f1 + 2*a2*a2*c1*f1 - 2*a1*a2*c2*f1 + - 4*a2*b1*b1*f2 - 4*a1*b1*b2*f2 - 2*a1*a2*c1*f2 + 2*a1*a1*c2*f2)/Eb1sq; - - A1 = - (-8*a2*d1*d2*e1 + 8*a1*d2*d2*e1 + 8*a2*d1*d1*e2 - 8*a1*d1*d2*e2 - - 4*a2*b2*d1*f1 - 4*a2*b1*d2*f1 + 8*a1*b2*d2*f1 + 4*a2*a2*e1*f1 - - 4*a1*a2*e2*f1 + 8*a2*b1*d1*f2 - 4*a1*b2*d1*f2 - 4*a1*b1*d2*f2 - - 4*a1*a2*e1*f2 + 4*a1*a1*e2*f2)/(Eb1sq*Eb1); - - A0 = - (-4*a2*d1*d2*f1 + 4*a1*d2*d2*f1 + a2*a2*f1*f1 + - 4*a2*d1*d1*f2 - 4*a1*d1*d2*f2 - 2*a1*a2*f1*f2 + - a1*a1*f2*f2)/(Eb1sq*Eb1sq); - - long double A3sq; - /* - long double A0sq, A1sq, A2sq, A3sq, A4sq; - A0sq = A0*A0; - A1sq = A1*A1; - A2sq = A2*A2; - A4sq = A4*A4; - */ - A3sq = A3*A3; - - long double B3, B2, B1, B0; - B3 = 4*A4; - B2 = 3*A3; - B1 = 2*A2; - B0 = A1; - - long double C2, C1, C0; - C2 = -(A2/2 - 3*A3sq/(16*A4)); - C1 = -(3*A1/4. -A2*A3/(8*A4)); - C0 = -A0 + A1*A3/(16*A4); - - long double D1, D0; - D1 = -B1 - (B3*C1*C1/C2 - B3*C0 -B2*C1)/C2; - D0 = -B0 - B3 *C0 *C1/(C2*C2)+ B2*C0/C2; - - long double E0; - E0 = -C0 - C2*D0*D0/(D1*D1) + C1*D0/D1; - - long double t1,t2,t3,t4,t5; - //find the coefficients for the leading term in the Sturm sequence - t1 = A4; - t2 = A4; - t3 = C2; - t4 = D1; - t5 = E0; - - - //The number of solutions depends on diffence of number of sign changes for x->Inf and x->-Inf - int nsol; - nsol = signchange_n(t1,t2,t3,t4,t5) - signchange_p(t1,t2,t3,t4,t5); - - //Cannot have negative number of solutions, must be roundoff effect - if (nsol < 0) nsol = 0; - - int out; - if (nsol == 0) {out = 0;} //output 0 if there is no solution, 1 if there is solution - else {out = 1;} - - return out; - - } - - inline int mt2w::signchange_n( long double t1, long double t2, long double t3, long double t4, long double t5) - { - int nsc; - nsc=0; - if(t1*t2>0) nsc++; - if(t2*t3>0) nsc++; - if(t3*t4>0) nsc++; - if(t4*t5>0) nsc++; - return nsc; - } - inline int mt2w::signchange_p( long double t1, long double t2, long double t3, long double t4, long double t5) - { - int nsc; - nsc=0; - if(t1*t2<0) nsc++; - if(t2*t3<0) nsc++; - if(t3*t4<0) nsc++; - if(t4*t5<0) nsc++; - return nsc; - } - -}//end namespace mt2w_bisect diff --git a/CMGTools/TTHAnalysis/BuildFile.xml b/CMGTools/TTHAnalysis/BuildFile.xml index 16f4abdf86c0..c70a0cd9b4e4 100644 --- a/CMGTools/TTHAnalysis/BuildFile.xml +++ b/CMGTools/TTHAnalysis/BuildFile.xml @@ -1,6 +1,7 @@ + @@ -8,7 +9,6 @@ - diff --git a/CMGTools/TTHAnalysis/cfg/crab/FrameworkJobReport.xml b/CMGTools/TTHAnalysis/cfg/crab/FrameworkJobReport.xml new file mode 100644 index 000000000000..fd947d385b92 --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/crab/FrameworkJobReport.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/cfg/crab/README.txt b/CMGTools/TTHAnalysis/cfg/crab/README.txt new file mode 100644 index 000000000000..f1a447012e9f --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/crab/README.txt @@ -0,0 +1,14 @@ +1) edit ../run_susyMT2.cfg to run over your favorite components (and set splitting -> NJOBS) + +2) edit launchall.py to change the CMG-version/tag and the production name + +3) run!!! +> voms-proxy-init -voms cms --valid=50:00 +Enter GRID pass phrase for this identity: xxxx +> python launchall.py + + +Notes: +- debugging: debug option can be set on launchall.py (be smart and choose a single component in the cfg) +- if useAAA=True in launchall.py, xrootd will be use instead of the default eos (from samples.py) +- modify heppy_crab_config.py to run only on your favorite sites diff --git a/CMGTools/TTHAnalysis/cfg/crab/heppy_config.py b/CMGTools/TTHAnalysis/cfg/crab/heppy_config.py new file mode 120000 index 000000000000..f3fa79017c6a --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/crab/heppy_config.py @@ -0,0 +1 @@ +../run_susyMT2_cfg.py \ No newline at end of file diff --git a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config.py b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config.py new file mode 100644 index 000000000000..a55c2a0e4b6b --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config.py @@ -0,0 +1,30 @@ +from WMCore.Configuration import Configuration +config = Configuration() + +config.section_("General") +config.General.transferLogs = True + +config.section_("JobType") +config.JobType.pluginName = 'PrivateMC' +config.JobType.psetName = 'heppy_crab_fake_pset.py' +config.JobType.scriptExe = 'heppy_crab_script.sh' +# config.JobType.sendPythonFolder = True #doesn't work, not supported yet? do it by hand +import os +os.system("tar czf python.tar.gz --dereference --directory $CMSSW_BASE python") +os.system("tar czf cmgdataset.tar.gz --directory $HOME .cmgdataset") +os.system("tar czf cafpython.tar.gz --directory /afs/cern.ch/cms/caf/ python") +config.JobType.inputFiles = ['FrameworkJobReport.xml','heppy_config.py','heppy_crab_script.py','cmgdataset.tar.gz', 'python.tar.gz', 'cafpython.tar.gz'] +config.JobType.outputFiles = ['output.log.tgz'] # mt2.root is automatically send because of the pset file + +config.section_("Data") +config.Data.inputDBS = 'global' +config.Data.splitting = 'EventBased' +config.Data.outLFN = '/store/user/' + os.environ["USER"] +config.Data.publication = False + +config.section_("Site") +#config.Site.whitelist = ["T2_CH_CSCS"] +config.Site.whitelist = ["T2_CH_CSCS", "T2_IT_Legnaro", "T2_UK_London_IC", "T2_UK_SGrid_Bristol", "T2_DE_DESY", "T2_ES_CIEMAT", "T2_IT_Rome", "T2_AT_Vienna","T2_DE_RWTH","T2_FR_GRIF_IRFU", "T2_HU_Budapest"] #, "T2_FR_IPHC", "T2_BE_IIHE", "T2_IT_Pisa", "T2_ES_IFCA", "T2_UK_London_Brunel"] , "T2_PK_NCP", "T2_US_Purdue", "T2_UA_KIPT", "T2_KR_KNU", "T2_RU_IHEP", "T2_RU_INR", "T2_RU_JINR", "T2_US_MIT", "T2_US_Wisconsin", "T2_US_UCSD", "T2_US_Vanderbilt", "T2_US_Caltech"] +config.Site.storageSite = "T3_CH_PSI" +#config.Data.ignoreLocality = True + diff --git a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config_env.py b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config_env.py new file mode 100644 index 000000000000..c7a7099accc3 --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_config_env.py @@ -0,0 +1,47 @@ +# here we set all crab options that are not fixed +# values we'll be taken from environment variables set in launchall.py +# fixed options will be taken from heppy_crab_config.py + +import imp +file = open( "heppy_crab_config.py", 'r' ) +cfg = imp.load_source( 'cfg', "heppy_crab_config.py", file) +config = cfg.config +import os +import re +dataset=os.environ["DATASET"] +NJOBS=int(os.environ["NJOBS"]) +production_label = os.environ["PROD_LABEL"] +cmg_version = os.environ["CMG_VERSION"] +debug = os.environ["DEBUG"] == 'True' +useAAA = os.environ["USEAAA"] == 'True' + +if debug: + NJOBS = 4 + NEVENTS = 200 + +print "Will send dataset", dataset, "with", NJOBS, "jobs" + +config.General.requestName = dataset + "_" + cmg_version # task name +config.General.workArea = 'crab_' + production_label # crab dir name + +# this will divide task in *exactly* NJOBS jobs (for this we need JobType.pluginName = 'PrivateMC' and Data.splitting = 'EventBased') +config.Data.unitsPerJob = 10 +config.Data.totalUnits = config.Data.unitsPerJob * NJOBS + +# arguments to pass to scriptExe. They have to be like "arg=value". +config.JobType.scriptArgs = ["dataset="+dataset, "total="+str(NJOBS), "useAAA="+str(useAAA)] + +# output will be .../$outLFN/$PRIMARY_DS/$PUBLISH_NAME/$TIMESTAMP/$COUNTER/$FILENAME +# https://twiki.cern.ch/twiki/bin/view/CMSPublic/Crab3DataHandling +config.Data.outLFN += '/babies/' + cmg_version +config.Data.primaryDataset = production_label +config.Data.publishDataName = dataset +#final output: /store/user/$USER/babies/cmg_version/production_label/dataset/150313_114158/0000/foo.bar + +# if NEVENTS variable is set then only nevents will be run +try: + NEVENTS +except NameError: + pass +else: + config.JobType.scriptArgs += ["nevents="+str(NEVENTS)] diff --git a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_fake_pset.py b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_fake_pset.py new file mode 100644 index 000000000000..42455cf27abd --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_fake_pset.py @@ -0,0 +1,6 @@ +import FWCore.ParameterSet.Config as cms +process = cms.Process('FAKE') +process.source = cms.Source("PoolSource", fileNames = cms.untracked.vstring()) +process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(10)) +process.output = cms.OutputModule("PoolOutputModule", fileName = cms.untracked.string('mt2.root')) +process.out = cms.EndPath(process.output) diff --git a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_script.py b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_script.py new file mode 100644 index 000000000000..9ac729da1cfa --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_script.py @@ -0,0 +1,108 @@ +#!/usr/bin/env python +import os +import PhysicsTools.HeppyCore.framework.config as cfg +#cfg.Analyzer.nosubdir=True + +import ROOT +from DataFormats.FWLite import * +import sys +import re +#import PSet + +ROOT.gSystem.Load("libCMGToolsTTHAnalysis") +ROOT.gSystem.Load("libFWCoreFWLite.so") +ROOT.gSystem.Load("libDataFormatsFWLite.so") +ROOT.gSystem.Load("libPhysicsToolsHeppy") +ROOT.gSystem.Load("libCMGToolsRootTools") +ROOT.AutoLibraryLoader.enable() + +dataset = "" +total = 0 # total number of jobs for given dataset, not used at the moment +nevents = None # this means run all events +nprint = 0 # quiet printout, change if you want to print the first nprint events +useAAA = True # use xrootd by default + +# arguments of scriptExe +print "ARGV:",sys.argv +JobNumber=sys.argv[1] # 1st crab argument is jobID +job = int(JobNumber) +# if one wants to include more options to be passed to the crab scriptExe add a corresponding argument below +# crab only allows arguments of the type 'arg=value' +for arg in sys.argv[2:]: + if arg.split("=")[0] == "dataset": # this argument is strictly necessary + dataset = arg.split("=")[1] + elif arg.split("=")[0] == "total": + total = int(arg.split("=")[1]) + elif arg.split("=")[0] == "nevents": + nevents = int(arg.split("=")[1]) + print "selected to run over", nevents, "events" + elif arg.split("=")[0] == "useAAA": + useAAA = bool(arg.split("=")[1]) + print "chosen to run via xrootd" + +print "dataset:", dataset +print "job", job , " out of", total + +# fetch config file +import imp +handle = open("heppy_config.py", 'r') +cfo = imp.load_source("heppy_config", "heppy_config.py", handle) +config = cfo.config +handle.close() + +from PhysicsTools.HeppyCore.framework.heppy import split +# pick right component from dataset and file from jobID +selectedComponents = [] +for comp in config.components: + if comp.name == dataset: + # this selects the files and events and changes the name to _ChunkX according to fineSplitFactor and splitFactor + newComp = split([comp])[job-1] # first job number is 1 + if useAAA: + newComp.files = [x.replace("root://eoscms.cern.ch//eos/cms","root://cms-xrd-global.cern.ch/") for x in newComp.files] + selectedComponents.append(newComp) + +# check selectedComponents +if len(selectedComponents) == 0: + print "No selected components found!!" + print " - dataset:", dataset + print " - components:", config.components +if len(selectedComponents)>1: + print "More than one selected component:" + cfg.printComps(selectedComponents) +else: + print "Selected component:" + print selectedComponents[0] + print "files: ", selectedComponents[0].files + +# set component to run +config.components = selectedComponents + +# run!!! +from PhysicsTools.HeppyCore.framework.looper import Looper +looper = Looper( 'Output', config, nPrint = nprint, nEvents = nevents) +looper.loop() +looper.write() + +#os.system("ls -lR") # for debugging + +# assign the right name +os.rename("Output/mt2.root", "mt2.root") + +# print in crab log file the content of the job log files, so one can see it from 'crab getlog' +print "-"*25 +print "printing output txt files" +os.system('for i in Output/*.txt; do echo $i; cat $i; echo "---------"; done') + +# pack job log files to be sent to output site +os.system("tar czf output.log.tgz Output/") +#os.system("mkdir log") +#os.rename("output.log.tgz log/output.log.tgz") + + +import ROOT +f=ROOT.TFile.Open('mt2.root') +entries=f.Get('tree').GetEntries() +f.Close() + +print entries, "events processed" +print "job succesful" diff --git a/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_script.sh b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_script.sh new file mode 100755 index 000000000000..63383b624fa3 --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/crab/heppy_crab_script.sh @@ -0,0 +1,32 @@ +# extract exported necessary stuff +tar xzf cmgdataset.tar.gz --directory $HOME +tar xzf python.tar.gz --directory $CMSSW_BASE +tar xzf cafpython.tar.gz --directory $CMSSW_BASE + +# uncomment for debuging purposes + +#ls -lR . +#echo "ARGS:" +#echo $@ +#echo "ENV..................................." +#env +#echo "VOMS" +#voms-proxy-info -all +#echo "CMSSW BASE, python path, pwd, home" +#echo $CMSSW_BASE +#echo $PYTHONPATH +#echo $PWD +#echo $HOME + +# copy auxiliarity data to the right place (json, pu, lep eff, jet corr, ...) +cp lib/slc*/* $CMSSW_BASE/lib/slc* +for i in `find src/ -name data -type d` +do + echo $i + mkdir -p $CMSSW_BASE/$i + cp -r $i/* $CMSSW_BASE/$i +done + +#ls -lR + +python heppy_crab_script.py $@ diff --git a/CMGTools/TTHAnalysis/cfg/crab/launchall.py b/CMGTools/TTHAnalysis/cfg/crab/launchall.py new file mode 100755 index 000000000000..87f8dfd711da --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/crab/launchall.py @@ -0,0 +1,35 @@ +import imp, os + +# datasets to run as defined from run_susyMT2.cfg +# number of jobs to run per dataset decided based on splitFactor and fineSplitFactor from cfg file +# in principle one only needs to modify the following two lines: +production_label = "testSplit" +cmg_version = 'MT2_CMGTools-from-CMSSW_7_2_3' + +debug = False +useAAA = True + +handle = open("heppy_config.py", 'r') +cfo = imp.load_source("heppy_config", "heppy_config.py", handle) +conf = cfo.config +handle.close() + +#os.system("scramv1 runtime -sh") +os.system("source /cvmfs/cms.cern.ch/crab3/crab.sh") + +os.environ["PROD_LABEL"] = production_label +os.environ["CMG_VERSION"] = cmg_version +os.environ["DEBUG"] = str(debug) +os.environ["USEAAA"] = str(useAAA) + +from PhysicsTools.HeppyCore.framework.heppy import split +for comp in conf.components: + # get splitting from config file according to splitFactor and fineSplitFactor (priority given to the latter) + NJOBS = len(split([comp])) + os.environ["NJOBS"] = str(NJOBS) + os.environ["DATASET"] = str(comp.name) + os.system("crab submit -c heppy_crab_config_env.py") + +os.system("rm -f python.tar.gz") +os.system("rm -f cmgdataset.tar.gz") +os.system("rm -f cafpython.tar.gz") diff --git a/CMGTools/TTHAnalysis/cfg/crab/runtime_summary.py b/CMGTools/TTHAnalysis/cfg/crab/runtime_summary.py new file mode 100644 index 000000000000..119312f8ae39 --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/crab/runtime_summary.py @@ -0,0 +1,61 @@ +import ROOT +from numpy import mean, std + +# crab status --long -d crab_fullProd_test4/crab_TTJets_MT2_CMGTools-from-CMSSW_7_2_3/ | grep finished | grep T2_ > ttjets_summary.txt +filename = "ttjets_summary.txt" + +def time2num(time): # time format is hh:mm:ss + t = time.split(":") + return float(t[0])+(float(t[1])+float(t[2])/60.)/60. + + +lines = open(filename).readlines() + +maxtime = 0. +sites = {} +Ntotal = 0 +for l in lines: + Ntotal+=1 + k,t = l.split()[2],time2num(l.split()[3]) + maxtime = max(maxtime,t) + if k not in sites: + sites[k] = [t] + else: + sites[k].append(t) + +Nbins = int(maxtime*6) # granularity of ~10min +h_timeAll = ROOT.TH1F("h_time_All","run time - all sites", Nbins, 0, maxtime) +h_timeSite = {} + +h_timePerSite = ROOT.TH1F("h_timePerSite", "Average time per site" , len(sites),0,len(sites)) +h_nSites = ROOT.TH1F("h_nSites" , "Jobs per site (total: %d)"%Ntotal, len(sites),0,len(sites)) + +for b,site in enumerate(sites.keys()): + h_nSites.Fill(site, len(sites[site])) + h_timePerSite.GetXaxis().SetBinLabel (b+1, site) + h_timePerSite.SetBinContent(b+1, mean(sites[site])) + h_timePerSite.SetBinError (b+1, std (sites[site])) + h_timeSite[site] = ROOT.TH1F("h_time_"+site,"run time - "+site, Nbins, 0, maxtime) + for time in sites[site]: + h_timeAll.Fill(time) + h_timeSite[site].Fill(time) + +h_timePerSite.SetMinimum(0) +h_timePerSite.SetStats (0) +h_nSites .SetMinimum(0) +h_nSites .SetStats (0) + +c = {} + +c[h_timePerSite.GetName()] = ROOT.TCanvas() +h_timePerSite.Draw() + +c[h_nSites.GetName()] = ROOT.TCanvas() +h_nSites.Draw() + +c[h_timeAll.GetName()] = ROOT.TCanvas() +h_timeAll.Draw() + +for h in h_timeSite.values(): + c[h.GetName()] = ROOT.TCanvas() + h.Draw() diff --git a/CMGTools/TTHAnalysis/cfg/fastSim/PATCMG_fastSim_cfg.py b/CMGTools/TTHAnalysis/cfg/fastSim/PATCMG_fastSim_cfg.py deleted file mode 100644 index f55a03e05fb7..000000000000 --- a/CMGTools/TTHAnalysis/cfg/fastSim/PATCMG_fastSim_cfg.py +++ /dev/null @@ -1,221 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.Tools.cmsswRelease import isNewerThan - -sep_line = '-'*67 -print sep_line -print 'CMG PAT-tuplizer, contact Colin before any modification' -print sep_line - -process = cms.Process("PAT") - - -runOnMC = True -runOld5XGT = False -runOnFastSim = True - -process.source = cms.Source("PoolSource", - fileNames = cms.untracked.vstring( - 'file:/data/gpetrucc/8TeV/ttH/ttZ_01jets_LO_TuneZ2star_8TeV_madgraph_tauola.root', - ) -) - -## Maximal Number of Events -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(4000) ) - -print 'loading the main CMG sequence' - -process.load('CMGTools.Common.PAT.PATCMG_cff') - -if runOnMC is False: - # removing MC stuff - print 'removing MC stuff, as we are running on Data' - - process.patElectrons.addGenMatch = False - process.makePatElectrons.remove( process.electronMatch ) - - process.patMuons.addGenMatch = False - process.makePatMuons.remove( process.muonMatch ) - - process.PATCMGSequence.remove( process.PATCMGGenSequence ) - process.PATCMGJetSequence.remove( process.jetMCSequence ) - process.PATCMGJetSequence.remove( process.patJetFlavourId ) - process.patJets.addGenJetMatch = False - process.patJets.addGenPartonMatch = False - - if isNewerThan('CMSSW_5_2_0'): - process.PATCMGJetSequenceCHSpruned.remove( process.jetMCSequenceCHSpruned ) - process.patJetsCHSpruned.addGenJetMatch = False - process.patJetsCHSpruned.addGenPartonMatch = False - - process.PATCMGTauSequence.remove( process.tauGenJets ) - process.PATCMGTauSequence.remove( process.tauGenJetsSelectorAllHadrons ) - process.PATCMGTauSequence.remove( process.tauGenJetMatch ) - process.PATCMGTauSequence.remove( process.tauMatch ) - process.patTaus.addGenJetMatch = False - process.patTaus.addGenMatch = False - - process.patMETs.addGenMET = False - process.patMETsRaw.addGenMET = False - - # setting up JSON file - # json = '/afs/cern.ch/cms/CAF/CMSCOMM/COMM_DQM/certification/Collisions12/8TeV/DCSOnly/json_DCSONLY.txt' - # print 'using json file: ', json - # from CMGTools.Common.Tools.applyJSON_cff import * - # applyJSON(process, json ) - - # adding L2L3Residual corrections - process.patJetCorrFactors.levels.append('L2L3Residual') - if isNewerThan('CMSSW_5_2_0'): - process.patJetCorrFactorsCHSpruned.levels.append('L2L3Residual') - - -print 'cloning the jet sequence to build PU chs jets' - -from PhysicsTools.PatAlgos.tools.helpers import cloneProcessingSnippet -process.PATCMGJetCHSSequence = cloneProcessingSnippet(process, process.PATCMGJetSequence, 'CHS') -process.PATCMGJetCHSSequence.insert( 0, process.ak5PFJetsCHS ) -from CMGTools.Common.Tools.visitorUtils import replaceSrc -replaceSrc( process.PATCMGJetCHSSequence, 'ak5PFJets', 'ak5PFJetsCHS') -replaceSrc( process.PATCMGJetCHSSequence, 'particleFlow', 'pfNoPileUp') -process.patJetCorrFactorsCHS.payload = 'AK5PFchs' -process.selectedPatJetsCHS.cut = 'pt()>10' - - -######################################################## -## Path definition -######################################################## - -process.dump = cms.EDAnalyzer('EventContentAnalyzer') - -process.load('CMGTools.Common.PAT.addFilterPaths_cff') -process.p = cms.Path( - process.prePathCounter + - process.PATCMGSequence + - process.PATCMGJetCHSSequence - ) - -process.p += process.postPathCounter - -# For testing, you can remove some of the objects: -# NOTE: there are a few dependencies between these sequences -# process.PATCMGSequence.remove(process.PATCMGPileUpSubtractionSequence) -# process.PATCMGSequence.remove(process.PATCMGRhoSequence) -# process.PATCMGSequence.remove(process.PATCMGMuonSequence) -# process.PATCMGSequence.remove(process.PATCMGElectronSequence) -# process.PATCMGSequence.remove(process.PATCMGGenSequence) -# process.PATCMGSequence.remove(process.PATCMGJetSequence) -# process.PATCMGSequence.remove(process.PATCMGTauSequence) -# process.PATCMGSequence.remove(process.PATCMGMetSequence) -# process.p.remove(process.PATCMGJetCHSSequence) -# process.p.remove(process.PATCMGTriggerSequence) -# process.p.remove(process.PATCMGPhotonSequence) -# process.p.remove(process.PATCMGVertexSequence) -# process.p.remove(process.PATCMGPhotonSequence) -# process.p.remove(process.MetSignificanceSequence) -# process.p.remove(process.PATCMGMetRegressionSequence) -# process.p.remove(process.PATCMGJetSequenceCHSpruned) - -if runOnFastSim : - process.vertexWeightSequence.remove(process.vertexWeight3DMay10ReReco) - process.vertexWeightSequence.remove(process.vertexWeight3DMay10ReReco) - process.vertexWeightSequence.remove(process.vertexWeight3DPromptRecov4) - process.vertexWeightSequence.remove(process.vertexWeight3D05AugReReco) - process.vertexWeightSequence.remove(process.vertexWeight3DPromptRecov6) - process.vertexWeightSequence.remove(process.vertexWeight3D2invfb) - process.vertexWeightSequence.remove(process.vertexWeight3D2011B) - process.vertexWeightSequence.remove(process.vertexWeight3D2011AB) - process.vertexWeightSequence.remove(process.vertexWeight3DFall11May10ReReco) - process.vertexWeightSequence.remove(process.vertexWeight3DFall11PromptRecov4) - process.vertexWeightSequence.remove(process.vertexWeight3DFall1105AugReReco) - process.vertexWeightSequence.remove(process.vertexWeight3DFall11PromptRecov6) - process.vertexWeightSequence.remove(process.vertexWeight3DFall112invfb) - process.vertexWeightSequence.remove(process.vertexWeight3DFall112011B) - process.vertexWeightSequence.remove(process.vertexWeight3DFall112011AB) - - -######################################################## -## PAT output definition -######################################################## - -## Output Module Configuration (expects a path 'p') -from CMGTools.Common.eventContent.patEventContentCMG_cff import patEventContentCMG -process.out = cms.OutputModule("PoolOutputModule", - fileName = cms.untracked.string('patTuple.root'), - # save only events passing the full path - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - # save PAT Layer 1 output; you need a '*' to - # unpack the list of commands 'patEventContent' - outputCommands = patEventContentCMG - ) -# needed to override the CMG format, which drops the pat taus -process.out.outputCommands.append('keep patTaus_selectedPatTaus_*_*') - -#FIXME now keeping the whole event content... -# process.out.outputCommands.append('keep *_*_*_*') - -#process.outpath = cms.EndPath( -# process.out -# ) - -######################################################## -## CMG output definition -######################################################## - -from CMGTools.Common.eventContent.patEventContentCMG_cff import everything -process.outcmg = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('cmgTuple.root'), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p') ), - outputCommands = everything, - dropMetaData = cms.untracked.string('PRIOR') - ) - -process.outpath = cms.EndPath(process.outcmg) - - -######################################################## -## Conditions -######################################################## - -process.load("Configuration.StandardSequences.GeometryDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("Configuration.StandardSequences.MagneticField_38T_cff") - -from CMGTools.Common.Tools.getGlobalTag import getGlobalTag - -process.GlobalTag.globaltag = getGlobalTag( runOnMC, runOld5XGT ) -print 'Global tag : ', process.GlobalTag.globaltag - -######################################################## -## Below, stuff that you probably don't want to modify -######################################################## - - - -## Geometry and Detector Conditions (needed for a few patTuple production steps) - -from CMGTools.Common.PAT.patCMGSchedule_cff import getSchedule -process.schedule = getSchedule(process, runOnMC, runOnFastSim) -process.schedule.extend([process.outpath]) - -## MessageLogger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 10 - -## Options and Output Report -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(False) ) - -print sep_line - -print 'Fastjet instances (dominating our processing time...):' -from CMGTools.Common.Tools.visitorUtils import SeqVisitor -v = SeqVisitor('FastjetJetProducer') -process.p.visit(v) - -print sep_line - -print 'starting CMSSW' - -if not runOnMC and isNewerThan('CMSSW_5_2_0'): - process.pfJetMETcorr.jetCorrLabel = cms.string("ak5PFL1FastL2L3Residual") diff --git a/CMGTools/TTHAnalysis/cfg/mergeBabies.py b/CMGTools/TTHAnalysis/cfg/mergeBabies.py deleted file mode 100755 index 6f9ba032841c..000000000000 --- a/CMGTools/TTHAnalysis/cfg/mergeBabies.py +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/env python - -from CMGTools.Production.hadd import haddChunks -#import ROOT -from ROOT import TTree, TFile, AddressOf, gROOT -import numpy -from datasetInfo import Dataset, DatasetDict - - - -dd = DatasetDict() - - - - -class EventKey: - def __init__(self, r, l, e): - self.run=r; - self.lumi=l; - self.evt=e; - - - - - - -def postProcessBaby( dir, dataset, fast ) : - - print "-> Post-processing dataset: " + dataset - - oldFileName = dir + str("/") + dataset + str("/treeProducerSusyFullHad/treeProducerSusyFullHad_tree.root") - oldfile = TFile(oldFileName) - oldtree = oldfile.Get("treeProducerSusyFullHad") - - newFileName = dir + str("/") + dataset + str(".root") - newfile = TFile(newFileName, "recreate") - if fast: - newtree = oldtree.CloneTree(-1, "fast") - else: - newtree = oldtree.CloneTree(0) - newtree.SetName("mt2") - - - - scale1fb = numpy.zeros(1, dtype=float) - xsec = numpy.zeros(1, dtype=float) - kfactor = numpy.zeros(1, dtype=float) - filter = numpy.zeros(1, dtype=float) - nEvts = numpy.zeros(1, dtype=int) - id = numpy.zeros(1, dtype=int) - - b_scale1fb = newtree.Branch("evt_scale1fb", scale1fb, "evt_scale1fb/D"); - b_xsec = newtree.Branch("evt_xsec", xsec, "evt_xsec/D"); - b_kfactor = newtree.Branch("evt_kfactor", kfactor, "evt_kfactor/D"); - b_filter = newtree.Branch("evt_filter", filter, "evt_filter/D"); - b_nEvts = newtree.Branch("evt_nEvts", nEvts, "evt_nEvts/I"); - b_id = newtree.Branch("evt_id", id, "evt_id/I"); - - - events = oldtree.GetEntries() - - process = dataset.split("_PU")[0] - d = dd[process] - - - scale1fb[0] = d.scale1fb(events) - xsec [0] = d.xsection - kfactor [0] = d.kfactor - filter [0] = d.filter - nEvts [0] = events - id [0] = d.id - - - - if fast: - for i in range(0,events) : - if i % 100000 == 0: print " Entry: " + str(i) + " / " + str(events) - - b_scale1fb.Fill() - b_xsec .Fill() - b_kfactor .Fill() - b_filter .Fill() - b_nEvts .Fill() - b_id .Fill() - - else: - evlist = set() - for i in oldtree : - - ek = EventKey(i.run, i.lumi, i.evt) - - if ek not in evlist : - evlist.add(ek) - newtree.Fill() - - newfile.Write() - newfile.Close() - - print "-> Saved post-processed babytree in : " + str(newfile.GetName()) - - - -def postProcess( dir, fast ) : - - for file in sorted(os.listdir(dir)): - filepath = '/'.join( [dir, file] ) - if os.path.isdir(filepath): - dataset = file - if "_Chunk" in dataset: continue - postProcessBaby( dir, dataset, fast ) - - - - -if __name__ == '__main__': - - import os - import sys - import commands - from optparse import OptionParser - - parser = OptionParser() - parser.usage = """ - %prog - Find chunks in dir, and run recursive hadd to group all chunks. - For example: - DYJets_Chunk0/, DYJets_Chunk1/ ... -> hadd -> DYJets/ - WJets_Chunk0/, WJets_Chunk1/ ... -> hadd -> WJets/ - """ - parser.add_option("-r","--remove", dest="remove", - default=False,action="store_true", - help="remove existing destination directories.") - parser.add_option("-c","--clean", dest="clean", - default=False,action="store_true", - help="move chunks to Chunks/ after processing.") - parser.add_option("-f","--fast", dest="fast", - default=False,action="store_true", - help="don't check for duplicates") - - (options,args) = parser.parse_args() - - if len(args)!=1: - print 'provide exactly one directory in argument.' - sys.exit(1) - - dir = args[0] - - - checkOutput = commands.getoutput("chunkOutCheck.py " + str(dir) + "/*") - print checkOutput - - checkOutput_lines = checkOutput.split("\n") - badFiles = set() - for aline in checkOutput_lines: - if aline.startswith("['") : - thisBadFile = aline.split("['")[1].split("']")[0].split(dir)[1] - while thisBadFile.startswith("/"): - thisBadFile = thisBadFile.split("/")[1] - badFiles.add(thisBadFile) - - - try: - haddChunks(dir, options.remove, options.clean, badFiles) - except OSError: - print "-> Looks like there's an hadded file in the way. Will proceed with post-processing only." - print " (If you want to re-do the hadd, please remove the file or run with -r)" - - postProcess( dir, options.fast ) - diff --git a/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py index a4729412f927..be99c2291478 100644 --- a/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py +++ b/CMGTools/TTHAnalysis/cfg/run_susyAlphaT_cfg.py @@ -1,5 +1,4 @@ -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps +import PhysicsTools.HeppyCore.framework.config as cfg from CMGTools.RootTools.RootTools import * #Load all analyzers @@ -11,49 +10,48 @@ # Muons #------------------------------ -ttHLepAna.loose_muon_pt = 10., -ttHLepAna.loose_muon_eta = 2.5, -ttHLepAna.loose_muon_dxy = 0.5 -ttHLepAna.loose_muon_dz = 1.0 -#ttHLepAna.loose_muon_relIso = 0.15 +lepAna.loose_muon_pt = 10., +lepAna.loose_muon_eta = 2.5, +lepAna.loose_muon_dxy = 0.5 +lepAna.loose_muon_dz = 1.0 +#lepAna.loose_muon_relIso = 0.15 # Electrons #------------------------------ -ttHLepAna.loose_electron_id = "POG_Cuts_ID_2012_Veto" -ttHLepAna.loose_electron_pt = 10 -ttHLepAna.loose_electron_eta = 2.5 -ttHLepAna.loose_electron_dxy = 0.5 -ttHLepAna.loose_electron_dz = 0. -# ttHLepAna.loose_electron_relIso = 0.15 -# ttHLepAna.loose_electron_lostHits = 999 # no cut -# ttHLepAna.inclusive_electron_lostHits = 999 # no cut -# ttHLepAna.ele_isoCorr = "deltaBeta" -# ttHLepAna.ele_tightId = "Cuts_2012" +lepAna.loose_electron_id = "POG_Cuts_ID_2012_Veto" +lepAna.loose_electron_pt = 10 +lepAna.loose_electron_eta = 2.5 +lepAna.loose_electron_dxy = 0.5 +lepAna.loose_electron_dz = 0. +# lepAna.loose_electron_relIso = 0.15 +# lepAna.loose_electron_lostHits = 999 # no cut +# lepAna.inclusive_electron_lostHits = 999 # no cut +# lepAna.ele_isoCorr = "deltaBeta" +# lepAna.ele_tightId = "Cuts_2012" # Photons #------------------------------ -ttHPhoAna.ptMin = 25, -ttHPhoAna.epaMax = 2.5, +photonAna.ptMin = 25, +photonAna.epaMax = 2.5, # Taus #------------------------------ -ttHTauAna.etaMax = 2.3 -ttHTauAna.dxyMax = 99999. -ttHTauAna.dzMax = 99999. -ttHTauAna.vetoLeptons = False -ttHTauAna.vetoLeptonsPOG = True +tauAna.etaMax = 2.3 +tauAna.dxyMax = 99999. +tauAna.dzMax = 99999. +tauAna.vetoLeptons = False +tauAna.vetoLeptonsPOG = True # Jets (for event variables do apply the jetID and not PUID yet) #------------------------------ -ttHJetAna.relaxJetId = False -ttHJetAna.doPuId = False -ttHJetAna.jetEta = 5. -ttHJetAna.jetEtaCentral = 3. -ttHJetAna.jetPt = 50. -ttHJetAna.recalibrateJets = False -ttHJetAna.jetLepDR = 0.4 -ttHJetMCAna.smearJets = False +jetAna.relaxJetId = False +jetAna.doPuId = False +jetAna.jetEta = 5. +jetAna.jetEtaCentral = 3. +jetAna.jetPt = 50. +jetAna.recalibrateJets = False +jetAna.jetLepDR = 0.4 # Energy sums @@ -61,7 +59,22 @@ # NOTE: Currently energy sums are calculated with 40 GeV jets (ttHCoreEventAnalyzer.py) # However, the input collection is cleanjets which have a 50 GeV cut so this is a labeling problem -ttHMetAna.doMetNoMu=True +metAna.doMetNoMu=True +metAna.doMetNoPhoton=True + +# Jet-MET based Skim (generic, but requirements depend on the final state) +from CMGTools.TTHAnalysis.analyzers.ttHJetMETSkimmer import ttHJetMETSkimmer +ttHJetMETSkim = cfg.Analyzer( + ttHJetMETSkimmer, name='ttHJetMETSkimmer', + jets = "cleanJets", # jet collection to use + jetPtCuts = [], # e.g. [60,40,30,20] to require at least four jets with pt > 60,40,30,20 + jetVetoPt = 0, # if non-zero, veto additional jets with pt > veto beyond the ones in jetPtCuts + metCut = 0, # MET cut + htCut = ('htJet40j', 0), # cut on HT defined with only jets and pt cut 40, at zero; i.e. no cut + # see ttHCoreEventAnalyzer for alternative definitions + mhtCut = ('mhtJet40', 0), # cut on MHT defined with all leptons, and jets with pt > 40. + nBJet = ('CSVv2IVFM', 0, "jet.pt() > 30"), # require at least 0 jets passing CSV medium and pt > 30 + ) ttHJetMETSkim.htCut = ('htJet50j', 0) ttHJetMETSkim.mhtCut = ('htJet40j', 0) @@ -71,47 +84,60 @@ ## ISOLATED TRACK ##------------------------------------------ -ttHIsoTrackAna.setOff=False +isoTrackAna.setOff=False ##------------------------------------------ ## ALPHAT VARIABLES ##------------------------------------------ +from CMGTools.TTHAnalysis.analyzers.ttHAlphaTVarAnalyzer import ttHAlphaTVarAnalyzer +from CMGTools.TTHAnalysis.analyzers.ttHAlphaTControlAnalyzer import ttHAlphaTControlAnalyzer # Tree Producer ttHAlphaTAna = cfg.Analyzer( - 'ttHAlphaTVarAnalyzer' + ttHAlphaTVarAnalyzer, name='ttHAlphaTVarAnalyzer' ) ttHAlphaTControlAna = cfg.Analyzer( - 'ttHAlphaTControlAnalyzer' + ttHAlphaTControlAnalyzer,name='ttHAlphaTControlAnalyzer' ) - ##------------------------------------------ -## PRODUCER +## EXTRA GEN STUFF ##------------------------------------------ -from CMGTools.TTHAnalysis.samples.samples_8TeV_v517 import triggers_RA1_Bulk, triggers_RA1_Prompt, triggers_RA1_Parked, triggers_RA1_Single_Mu, triggers_RA1_Photon, triggers_RA1_Muon +# Gen Info Analyzer +from CMGTools.TTHAnalysis.analyzers.ttHGenBinningAnalyzer import ttHGenBinningAnalyzer +ttHGenBinAna = cfg.Analyzer( + ttHGenBinningAnalyzer, name = 'ttHGenBinningAnalyzer' + ) -# Tree Producer + +#------------------------------------------ +## PRODUCER +##------------------------------------------ +from CMGTools.TTHAnalysis.analyzers.treeProducerSusyAlphaT import * +## Tree Producer treeProducer = cfg.Analyzer( - 'treeProducerSusyAlphaT', - vectorTree = True, - PDFWeights = PDFWeights, - triggerBits = { - 'Bulk' : triggers_RA1_Bulk, - 'Prompt' : triggers_RA1_Prompt, - 'Parked' : triggers_RA1_Parked, - 'SingleMu' : triggers_RA1_Single_Mu, - 'Photon' : triggers_RA1_Photon, - 'Muon' : triggers_RA1_Muon, - } - ) + AutoFillTreeProducer, name='treeProducerSusyAlphaT', + vectorTree = True, + saveTLorentzVectors = False, # can set to True to get also the TLorentzVectors, but trees will be bigger + PDFWeights = PDFWeights, + globalVariables = susyAlphaT_globalVariables, + globalObjects = susyAlphaT_globalObjects, + collections = susyAlphaT_collections, +) -#-------- SAMPLES AND TRIGGERS ----------- -from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14 import * +#-------- SEQUENCE + +sequence = cfg.Sequence(susyCoreSequence + [ + ttHAlphaTAna, + ttHAlphaTControlAna, + ttHGenBinAna, + treeProducer, + ]) -# CSA13 PU20bx25 samples: DYJetsToLL_M50_PU20bx25, DYJetsM50pythia6_PU20bx25, DYJetsM50_HT200to400_PU20bx25, DYJetsM50_HT400to600_PU20bx25, DYJetsM50_HT600toInf_PU20bx25, DYJetsMuMuM50_PtZ180_PU20bx25, DYJetsMuMuM6pythia8_PU20bx25, DYJetsMuMuM15pythia8_PU20bx25, DYJetsMuMuM50pythia8_PU20bx25, DYJetsEEpythia8_PU20bx25, DYJetsMuMupythia8_PU20bx25, EWKWmin_PU20bx25, EWKWplus_PU20bx25, EWKZjj_PU20bx25, EleGun_PU20bx25, GGHTauTau_PU20bx25, GGHZZ4L_PU20bx25, GJet_PU20bx25, JPsiPt20_PU20bx25, JPsiPt7_PU20bx25, MinBias_PU20bx25, MuMinGunPt100_PU20bx25, MuMinGunPt10_PU20bx25, MuPlusGunPt100_PU20bx25, MuPlusGunPt10_PU20bx25, NeutrinoGun_PU20bx25, QCDEM_20to30_PU20bx25, QCDEM_30to80_PU20bx25, QCDEM_80to170_PU20bx25, QCDMu_20to30_PU20bx25, QCDMu_30to50_PU20bx25, QCDMu_50to80_PU20bx25, QCDMu_80to120_PU20bx25, QCDMu_pythia6_120to170_PU20bx25, QCDMu_pythia6_20to30_PU20bx25, QCDMu_pythia6_30to50_PU20bx25, QCDMu_pythia6_50to80_PU20bx25, QCDMu_pythia6_80to120_PU20bx25, T1tttt_PU20bx25, TTHBB_PU20bx25, TTHGG_PU20bx25, TTHTauTau_PU20bx25, TTHWW_PU20bx25, TTHZZ4L_PU20bx25, TTJets_PU20bx25, TTJets_PUS14, TTpythia8_PU20bx25, VBFHBB_PU20bx25, VBFHGG_PU20bx25, VBFHWWSemi_PU20bx25, VBFHWW_PU20bx25, VBFHZG_PU20bx25, VBFHZZ4L_PU20bx25, VHMuMu_PU20bx25, VHTauTau_PU20bx25, VHWWInc_PU20bx25, VHWWLep_PU20bx25, VHZZ4L_PU20bx25, WENupyhia8_PU20bx25, WJets_PU20bx25, WminTau_PU20bx25, WplusMu_PU20bx25, WplusTau_PU20bx25, ZHBBInv_PU20bx25, ZHBBLL_PU20bx25, ZHLLInv_PU20bx25 +#-------- SAMPLES AND TRIGGERS ----------- +from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14 import * # Selected samples as defined on the AlphaT twiki @@ -143,13 +169,6 @@ -#-------- SEQUENCE - -sequence = cfg.Sequence(susyCoreSequence + [ - ttHAlphaTAna, - ttHAlphaTControlAna, - treeProducer, - ]) #-------- HOW TO RUN @@ -160,7 +179,7 @@ if test==1: comp = TTJets_PU20bx25 #comp.files = ['/afs/cern.ch/work/p/pandolf/CMSSW_7_0_6_patch1_2/src/CMGTools/TTHAnalysis/cfg/pickevents.root'] - comp.files = comp.files[:2] + comp.files = comp.files[:1] selectedComponents = [comp] comp.splitFactor = 1 @@ -188,8 +207,15 @@ #-------------------------------------------------- +#config = cfg.Config( components = selectedComponents, +# sequence = sequence ) + +#printComps(config.components, True) + # the following is declared in case this cfg is used in input to the heppy.py script + +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events config = cfg.Config( components = selectedComponents, - sequence = sequence ) + sequence = sequence, + services = [], + events_class = Events) -printComps(config.components, True) - diff --git a/CMGTools/TTHAnalysis/cfg/run_susyEdge_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susyEdge_cfg.py new file mode 100644 index 000000000000..151e3b1eadb1 --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/run_susyEdge_cfg.py @@ -0,0 +1,299 @@ +########################################################## +## CONFIGURATION FOR SUSY EDGE TREES ## +## skim condition: >= 2 loose leptons, no pt cuts or id ## +########################################################## +import PhysicsTools.HeppyCore.framework.config as cfg + + +#-------- LOAD ALL ANALYZERS ----------- + +from CMGTools.TTHAnalysis.analyzers.susyCore_modules_cff import * + + +#-------- REDEFINE WHAT I NEED ----------- + +# Lepton Skimming +ttHLepSkim.minLeptons = 2 +ttHLepSkim.maxLeptons = 999 +#ttHLepSkim.idCut = "" +#ttHLepSkim.ptCuts = [] + +# Run miniIso +lepAna.doMiniIsolation = True +lepAna.packedCandidates = 'packedPFCandidates' +lepAna.miniIsolationPUCorr = 'rhoArea' +lepAna.miniIsolationVetoLeptons = None # use 'inclusive' to veto inclusive leptons and their footprint in all isolation cones + +# Electron Preselection +lepAna.inclusive_electron_id = "POG_Cuts_ID_PHYS14_25ns_v1_ConvVetoDxyDz_Loose_full5x5" +lepAna.inclusive_electron_pt = 5 +lepAna.inclusive_electron_eta = 2.4 +lepAna.inclusive_electron_lostHits = 4.0 +lepAna.inclusive_electron_dxy = 0.5 +lepAna.inclusive_electron_dz = 1.0 + + +lepAna.loose_electron_id = "POG_Cuts_ID_PHYS14_25ns_v1_ConvVetoDxyDz_Loose_full5x5" +lepAna.loose_electron_pt = 5 +lepAna.loose_electron_eta = 2.4 +lepAna.loose_electron_relIso = 999 +lepAna.loose_electron_dxy = 0.1 +lepAna.loose_electron_dz = 0.2 +lepAna.loose_electron_lostHits = 4.0 +lepAna.ele_tightId = "Cuts_PHYS14_25ns_v1_ConvVetoDxyDz" + +# Muon Preselection +lepAna.inclusive_muon_id = "POG_ID_Tight" +lepAna.inclusive_muon_pt = 5 +lepAna.inclusive_muon_eta = 2.4 +lepAna.inclusive_muon_dxy = 0.2 +lepAna.inclusive_muon_dz = 0.5 + +lepAna.loose_muon_id = "POG_ID_Tight" +lepAna.loose_muon_pt = 5 +lepAna.loose_muon_eta = 2.4 +lepAna.loose_muon_dxy = 0.2, +lepAna.loose_muon_dz = 0.5, +lepAna.loose_muon_relIso = 999 +lepAna.mu_tightId = "POG_ID_Tight" + +isolation = "relIso03" +## not needed for edge if isolation == "ptRel": +## not needed for edge # delay isolation cut for leptons of pt > 10, for which we do pTrel recovery +## not needed for edge lepAna.loose_muon_isoCut = lambda muon : muon.relIso03 < 0.5 or muon.pt() > 10 +## not needed for edge lepAna.loose_electron_isoCut = lambda elec : elec.relIso03 < 0.5 or elec.pt() > 10 +## not needed for edge # in the cleaning, keep the jet if the lepton fails relIso or ptRel +## not needed for edge jetAna.jetLepArbitration = lambda jet,lepton : ( +## not needed for edge lepton if (lepton.relIso03 < 0.4 or ptRelv1(lepton.p4(),jet.p4()) > 5) else jet +## not needed for edge ) +## not needed for edge ttHCoreEventAna.leptonMVAKindTTH = "SusyWithBoost" +## not needed for edge ttHCoreEventAna.leptonMVAKindSusy = "SusyWithBoost" +## not needed for edge ttHCoreEventAna.leptonMVAPathTTH = "CMGTools/TTHAnalysis/macros/leptons/trainingPHYS14leptonMVA_PHYS14eleMVA_MiniIso_ttH/weights/%s_BDTG.weights.xml" +## not needed for edge ttHCoreEventAna.leptonMVAPathSusy = "CMGTools/TTHAnalysis/macros/leptons/trainingPHYS14leptonMVA_PHYS14eleMVA_MiniIso_SusyT1/weights/%s_BDTG.weights.xml" +## not needed for edge # insert a second skimmer after the jet cleaning +## not needed for edge ttHLepSkim2 = cfg.Analyzer( +## not needed for edge ttHLepSkimmer, name='ttHLepSkimmer2', +## not needed for edge minLeptons = 2, +## not needed for edge maxLeptons = 999, +## not needed for edge ) +## not needed for edge susyCoreSequence.insert(susyCoreSequence.index(jetAna)+1, ttHLepSkim2) +## not needed for edge elif isolation == "miniIso": +## not needed for edge lepAna.loose_muon_isoCut = lambda muon : muon.miniRelIso < 0.4 +## not needed for edge lepAna.loose_electron_isoCut = lambda elec : elec.miniRelIso < 0.4 +## not needed for edge elif isolation == None: +## not needed for edge lepAna.loose_muon_isoCut = lambda muon : True +## not needed for edge lepAna.loose_electron_isoCut = lambda elec : True +## not needed for edge else: +## not needed for edge # nothing to do, will use normal relIso03 +## not needed for edge pass + +# Switch off slow photon MC matching +photonAna.do_mc_match = False + + +#-------- ADDITIONAL ANALYZERS ----------- + +## Event Analyzer for susy multi-lepton (at the moment, it's the TTH one) +from CMGTools.TTHAnalysis.analyzers.ttHLepEventAnalyzer import ttHLepEventAnalyzer +ttHEventAna = cfg.Analyzer( + ttHLepEventAnalyzer, name="ttHLepEventAnalyzer", + minJets25 = 0, + ) + +## JetTau analyzer, to be called (for the moment) once bjetsMedium are produced +from CMGTools.TTHAnalysis.analyzers.ttHJetTauAnalyzer import ttHJetTauAnalyzer +ttHJetTauAna = cfg.Analyzer( + ttHJetTauAnalyzer, name="ttHJetTauAnalyzer", + ) + +## Insert the FatJet, SV, HeavyFlavour analyzers in the sequence +susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), + ttHFatJetAna) +susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), + ttHSVAna) +susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), + ttHHeavyFlavourHadronAna) + +## Insert declustering analyzer +from CMGTools.TTHAnalysis.analyzers.ttHDeclusterJetsAnalyzer import ttHDeclusterJetsAnalyzer +ttHDecluster = cfg.Analyzer( + ttHDeclusterJetsAnalyzer, name='ttHDecluster', + lepCut = lambda lep,ptrel : lep.pt() > 10, + maxSubjets = 6, # for exclusive reclustering + ptMinSubjets = 5, # for inclusive reclustering + drMin = 0.2, # minimal deltaR(l,subjet) required for a successful subjet match + ptRatioMax = 1.5, # maximum pt(l)/pt(subjet) required for a successful match + ptRatioDiff = 0.1, # cut on abs( pt(l)/pt(subjet) - 1 ) sufficient to call a match successful + drMatch = 0.02, # deltaR(l,subjet) sufficient to call a match successful + ptRelMin = 5, # maximum ptRelV1(l,subjet) sufficient to call a match successful + prune = True, # also do pruning of the jets + pruneZCut = 0.1, # pruning parameters (usual value in CMS: 0.1) + pruneRCutFactor = 0.5, # pruning parameters (usual value in CMS: 0.5) + verbose = 0, # print out the first N leptons + jetCut = lambda jet : jet.pt() > 20, + mcPartonPtCut = 20, + mcLeptonPtCut = 5, + mcTauPtCut = 15, + ) +susyCoreSequence.insert(susyCoreSequence.index(ttHFatJetAna)+1, ttHDecluster) + +##------------------------------------------ +## JZB specific VARIABLES: jzb, pt1, pt2, phi1, phi2, eta1, eta2, mll, index1, index2 +##------------------------------------------ +from CMGTools.TTHAnalysis.analyzers.ttHJZBTopologicalVars import ttHJZBTopologicalVars + +ttHJZBTopologicalVars = cfg.Analyzer( + ttHJZBTopologicalVars, name = 'ttHJZBTopologicalVars' + ) + + +from CMGTools.TTHAnalysis.analyzers.treeProducerSusyEdge import * +## Tree Producer +treeProducer = cfg.Analyzer( + AutoFillTreeProducer, name='treeProducerSusyEdge', + vectorTree = True, + saveTLorentzVectors = False, # can set to True to get also the TLorentzVectors, but trees will be bigger + defaultFloatType = 'F', # use Float_t for floating point + PDFWeights = PDFWeights, + globalVariables = susyJZBEdge_globalVariables, + globalObjects = susyJZBEdge_globalObjects, + collections = susyJZBEdge_collections, +) + +## histo counter +susyCoreSequence.insert(susyCoreSequence.index(skimAnalyzer), + susyCounter) + + +#-------- SAMPLES AND TRIGGERS ----------- + + +## from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import triggers_mumu_iso, triggers_mumu_noniso, triggers_ee, triggers_3e, triggers_mue, triggers_1mu_iso, triggers_1e +## triggerFlagsAna.triggerBits = { +## 'DoubleMu' : triggers_mumu_iso, +## 'DoubleMuNoIso' : triggers_mumu_noniso, +## 'DoubleEl' : triggers_ee, +## 'TripleEl' : triggers_3e, +## 'MuEG' : triggers_mue, +## 'SingleMu' : triggers_1mu_iso, +## 'SingleEl' : triggers_1e, +## } + +from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import * + +selectedComponents = [ + ] + WJetsToLNuHT + DYJetsM50HT + [ #DYJetsToLL_M50, + TTJets ]+ SingleTop +[ + TTWJets,TTZJets, TTH, + WZJetsTo3LNu, ZZTo4L, + #GGHZZ4L, GGHTT, VBFTT, + SMS_T1tttt_2J_mGl1500_mLSP100, SMS_T1tttt_2J_mGl1200_mLSP800, + T5ttttDeg_mGo1000_mStop300_mCh285_mChi280, T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil, + T5qqqqWW_mGo1200_mCh1000_mChi800_dilep, T5qqqqWWDeg_mGo1000_mCh315_mChi300_dilep +] +if False: + ttHLepSkim.minLeptons = 1 + QCDPtEMEnriched.remove(QCD_Pt10to20_EMEnriched) + selectedComponents = [ QCD_Mu15 ] + QCD_Mu5 + QCDPtEMEnriched + QCDPtbcToE + +selectedComponents = [TTJets] + + +# -- fine splitting, for some private MC samples with a single file +for comp in selectedComponents: + comp.splitFactor = 400 + #comp.fineSplitFactor = 4 + + +#-------- SEQUENCE ----------- + +sequence = cfg.Sequence(susyCoreSequence+[ + ttHJetTauAna, + ttHEventAna, + ttHJZBTopologicalVars, + treeProducer, + ]) + + +#-------- HOW TO RUN ----------- + +from PhysicsTools.HeppyCore.framework.heppy import getHeppyOption +test = getHeppyOption('test') +if test == '1': + comp = TTH + if getHeppyOption('T1tttt'): + comp = SMS_T1tttt_2J_mGl1500_mLSP100 + if getHeppyOption('H4L'): + comp = GGHZZ4L + comp.files = comp.files[:1] + comp.splitFactor = 1 + if not getHeppyOption('single'): + comp.fineSplitFactor = 4 + selectedComponents = [ comp ] +elif test == '2': + comp = TTJets + comp.files = comp.files[:1] + comp.splitFactor = 1 + comp.finesplitFactor = 4 + selectedComponents = [comp] +## elif test == 'EOS': +## comp = DYJetsToLL_M50#TTJets +## comp.files = comp.files[:1] +## if getHeppyOption('Wigner'): +## print "Will read from WIGNER" +## comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/DYJetsToLL_M-50_13TeV-madgraph-pythia8/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/00000/0432E62A-7A6C-E411-87BB-002590DB92A8.root' ] +## else: +## print "Will read from CERN Meyrin" +## comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/DYJetsToLL_M-50_13TeV-madgraph-pythia8/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/10000/F675C068-5E6C-E411-B915-0025907DC9AC.root' ] +## os.system("/afs/cern.ch/project/eos/installation/0.3.15/bin/eos.select fileinfo "+comp.files[0].replace("root://eoscms//","/")) +## comp.splitFactor = 1 +## comp.fineSplitFactor = 1 +## selectedComponents = [ comp ] +## elif test == 'SingleMu': +## comp = SingleMu +## comp.files = comp.files[:1] +## comp.splitFactor = 1 +## selectedComponents = [ comp ] +## elif test == '3': +## for comp in selectedComponents: +## comp.files = comp.files[:1] +## comp.splitFactor = 1 +## comp.fineSplitFactor = 4 +## elif test == '5': +## for comp in selectedComponents: +## comp.files = comp.files[:5] +## comp.splitFactor = 1 +## comp.fineSplitFactor = 5 +## elif test == '2lss-sync': # sync +## #eventSelector.toSelect = [ 11809 ] +## #sequence = cfg.Sequence([eventSelector] + susyCoreSequence+[ ttHEventAna, treeProducer, ]) +## jetAna.recalibrateJets = False +## jetAna.smearJets = False +## comp = SMS_T1tttt_2J_mGl1200_mLSP800 +## comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/SMS-T1tttt_2J_mGl-1200_mLSP-800_Tune4C_13TeV-madgraph-tauola/MINIAODSIM/PU20bx25_tsg_PHYS14_25_V1-v1/00000/0CD15D7F-4E6B-E411-AEB4-002590DB9216.root' ] +## comp.splitFactor = 1 +## comp.fineSplitFactor = 10 +## selectedComponents = [ comp ] + +## output histogram +outputService=[] +from PhysicsTools.HeppyCore.framework.services.tfile import TFileService +output_service = cfg.Service( + TFileService, + 'outputfile', + name="outputfile", + fname='treeProducerSusyEdge/tree.root', + option='recreate' + ) +outputService.append(output_service) + +# the following is declared in case this cfg is used in input to the heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +from CMGTools.TTHAnalysis.tools.EOSEventsWithDownload import EOSEventsWithDownload +event_class = EOSEventsWithDownload +if getHeppyOption("nofetch"): + event_class = Events +config = cfg.Config( components = selectedComponents, + sequence = sequence, + services = outputService, + events_class = event_class) diff --git a/CMGTools/TTHAnalysis/cfg/run_susyLeptonStudy_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susyLeptonStudy_cfg.py index b3792e6376df..604f3bee73f0 100644 --- a/CMGTools/TTHAnalysis/cfg/run_susyLeptonStudy_cfg.py +++ b/CMGTools/TTHAnalysis/cfg/run_susyLeptonStudy_cfg.py @@ -75,6 +75,7 @@ inclusive_muon_eta = 2.4, inclusive_muon_dxy = 0.5, inclusive_muon_dz = 1.0, + muon_dxydz_track = "innerTrack", # loose muon selection loose_muon_id = "POG_ID_Loose", loose_muon_pt = 5, diff --git a/CMGTools/TTHAnalysis/cfg/run_susyMT2_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susyMT2_cfg.py index 30650f3368f4..f867ae66bcfd 100644 --- a/CMGTools/TTHAnalysis/cfg/run_susyMT2_cfg.py +++ b/CMGTools/TTHAnalysis/cfg/run_susyMT2_cfg.py @@ -1,41 +1,65 @@ import PhysicsTools.HeppyCore.framework.config as cfg - #Load all analyzers from CMGTools.TTHAnalysis.analyzers.susyCore_modules_cff import * +# Comment this line if you want the diagnostic folders produced along with the output root file +cfg.Analyzer.nosubdir = True + + ##------------------------------------------ ## Redefine what I need ##------------------------------------------ + + +#Vertex +vertexAna.keepFailingEvents = True # keep events with no good vertices + #Lepton lepAna.loose_muon_dxy = 0.5 lepAna.loose_muon_dz = 1.0 lepAna.loose_muon_relIso = 0.15 -lepAna.loose_electron_id = "POG_Cuts_ID_2012_Veto" +lepAna.loose_muon_isoCut = lambda muon :muon.miniRelIso < 0.2 + lepAna.loose_electron_pt = 5 lepAna.loose_electron_eta = 2.4 -lepAna.loose_electron_dxy = 0.04 -lepAna.loose_electron_dz = 0.2 lepAna.loose_electron_relIso = 0.15 -lepAna.loose_electron_lostHits = 999 # no cut -lepAna.inclusive_electron_lostHits = 999 # no cut +lepAna.loose_electron_isoCut = lambda electron : electron.miniRelIso < 0.1 + +lepAna.loose_electron_id = "POG_Cuts_ID_PHYS14_25ns_v1_ConvVetoDxyDz_Veto_full5x5" +lepAna.loose_electron_lostHits = 999. # no cut +lepAna.loose_electron_dxy = 999. +lepAna.loose_electron_dz = 999. + +lepAna.inclusive_electron_id = "POG_Cuts_ID_PHYS14_25ns_v1_ConvVetoDxyDz_Veto_full5x5" +lepAna.inclusive_electron_lostHits = 999. # no cut since embedded in ID +lepAna.inclusive_electron_dxy = 999. # no cut since embedded in ID +lepAna.inclusive_electron_dz = 999. # no cut since embedded in ID + +lepAna.mu_isoCorr = "deltaBeta" lepAna.ele_isoCorr = "deltaBeta" -lepAna.ele_tightId = "Cuts_2012" +lepAna.ele_tightId = "Cuts_PHYS14_25ns_v1_ConvVetoDxyDz" lepAna.notCleaningElectrons = True +lepAna.doMiniIsolation = True +lepAna.miniIsolationPUCorr = 'raw' # JET (for event variables do apply the jetID and not PUID yet) jetAna.relaxJetId = False jetAna.doPuId = False -jetAna.jetEta = 5.2 +jetAna.doQG = True +#jetAna.doQG = False +jetAna.jetEta = 4.7 jetAna.jetEtaCentral = 2.5 jetAna.jetPt = 10. -jetAna.recalibrateJets = False +jetAna.mcGT = "PHYS14_V4_MC" # jec corrections +jetAna.recalibrateJets = True jetAna.jetLepDR = 0.4 jetAna.smearJets = False jetAna.jetGammaDR = 0.4 -jetAna.minGammaPt = 20 +jetAna.minGammaPt = 20. jetAna.gammaEtaCentral = 2.4 +jetAna.cleanJetsFromFirstPhoton = True jetAna.cleanJetsFromIsoTracks = True ## added for Dominick # TAU @@ -44,14 +68,27 @@ tauAna.dzMax = 99999. tauAna.vetoLeptons = False tauAna.vetoLeptonsPOG = True +tauAna.decayModeID = "" # ignored if not set or "" +tauAna.tauAntiMuonID = "againstMuonTight" +tauAna.tauAntiElectronID = "againstElectronLoose" # Photon photonAna.etaCentral = 2.5 -photonAna.gammaID = "PhotonCutBasedIDLoose_CSA14" +photonAna.gammaID = "PhotonCutBasedIDLoose_PHYS14" +photonAna.do_randomCone = True # Isolated Track isoTrackAna.setOff=False +# recalibrate MET +metAna.recalibrate = False + +# store all taus by default +genAna.allGenTaus = True + +# switch off the SV and MC matching +#ttHSVAna.do_mc_match = False + ##------------------------------------------ ## CONTROL VARIABLES ##------------------------------------------ @@ -63,7 +100,7 @@ ) ##------------------------------------------ -## TOLOLOGIAL VARIABLES: MT, MT2 +## TOLOLOGIAL VARIABLES: minMT, MT2 ##------------------------------------------ from CMGTools.TTHAnalysis.analyzers.ttHTopoVarAnalyzer import ttHTopoVarAnalyzer @@ -73,18 +110,42 @@ doOnlyDefault = True ) +from PhysicsTools.Heppy.analyzers.eventtopology.MT2Analyzer import MT2Analyzer + +MT2Ana = cfg.Analyzer( + MT2Analyzer, name = 'MT2Analyzer', + doOnlyDefault = True + ) + +##------------------------------------------ +## Z skim +##------------------------------------------ + +from CMGTools.TTHAnalysis.analyzers.ttHmllSkimmer import ttHmllSkimmer +# Tree Producer +ttHZskim = cfg.Analyzer( + ttHmllSkimmer, name='ttHmllSkimmer', + lepId=[13], + maxLeps=3, + massMin=60, + massMax=120, + doZGen = False, + doZReco = True + ) + ##------------------------------------------ ## PRODUCER ##------------------------------------------ -from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import triggers_HT900, triggers_MET170, triggers_HTMET, triggers_MT2_mumu, triggers_MT2_ee, triggers_MT2_mue, triggers_1mu, triggers_photon155 +from CMGTools.TTHAnalysis.samples.triggers_13TeV_PHYS14 import triggers_HT900, triggers_MET170, triggers_HTMET, triggers_MT2_mumu, triggers_MT2_ee, triggers_MT2_mue, triggers_1mu, triggers_photon155,triggers_1mu_isolow + triggerFlagsAna.triggerBits = { - 'HT650' : triggers_HT900, - 'MET150' : triggers_MET170, - 'ht350met100' : triggers_HTMET, - 'SingleMu' : triggers_1mu, + 'HT900' : triggers_HT900, + 'MET170' : triggers_MET170, + 'ht350met120' : triggers_HTMET, + 'SingleMu' : triggers_1mu_isolow, 'DoubleMu' : triggers_MT2_mumu, 'DoubleEl' : triggers_MT2_ee, 'MuEG' : triggers_MT2_mue, @@ -105,80 +166,156 @@ globalVariables = susyFullHad_globalVariables, globalObjects = susyFullHad_globalObjects, collections = susyFullHad_collections, + defaultFloatType = 'F', + treename = 'mt2' ) -sequence = cfg.Sequence(susyCoreSequence+[ +susyCoreSequence.insert(susyCoreSequence.index(skimAnalyzer), + susyCounter) + +#susyCoreSequence.insert(susyCoreSequence.index(ttHLepSkim), +# ttHZskim) + +#susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), +# ttHSVAna) + +sequence = cfg.Sequence( + susyCoreSequence+[ ttHMT2Control, + MT2Ana, ttHTopoJetAna, ttHFatJetAna, treeProducer, ]) -###---- to switch off the comptrssion +###---- to switch off the compression #treeProducer.isCompressed = 0 -#-------- SAMPLES AND TRIGGERS ----------- -#from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14 import * -#from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14v2 import * -from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import * -#selectedComponents = [ SingleMu, DoubleElectron, TTHToWW_PUS14, DYJetsToLL_M50_PU20bx25, TTJets_PUS14 ] -#selectedComponents = [ TTJets_MSDecaysCKM_central_PU_S14_POSTLS170 ] -#selectedComponents = [ WJetsToLNu_HT100to200_PU_S14_POSTLS170, WJetsToLNu_HT200to400_PU_S14_POSTLS170, WJetsToLNu_HT400to600_PU_S14_POSTLS170, WJetsToLNu_HT600toInf_PU_S14_POSTLS170 ] +from PhysicsTools.HeppyCore.framework.heppy import getHeppyOption -#selectedComponents = [ QCD_Pt1000to1400_PU_S14_POSTLS170, QCD_Pt10to15_PU_S14_POSTLS170, QCD_Pt15to30_PU_S14_POSTLS170, QCD_Pt120to170_PU_S14_POSTLS170, QCD_Pt170to300_PU_S14_POSTLS170, QCD_Pt1400to1800_PU_S14_POSTLS170, QCD_Pt1800_PU_S14_POSTLS170, QCD_Pt300to470_PU_S14_POSTLS170, QCD_Pt30to50_PU_S14_POSTLS170, QCD_Pt470to600_PU_S14_POSTLS170, QCD_Pt50to80_PU_S14_POSTLS170, QCD_Pt5to10_PU_S14_POSTLS170, QCD_Pt600to800_PU_S14_POSTLS170, QCD_Pt800to1000_PU_S14_POSTLS170, QCD_Pt80to120_PU_S14_POSTLS170 ] +#-------- HOW TO RUN +# choose 2 for full production +test = 1 +if test==0: + # ------------------------------------------------------------------------------------------- # + # --- all this lines taken from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 + # --- They may not be in synch anymore + from CMGTools.TTHAnalysis.samples.ComponentCreator import ComponentCreator + kreator = ComponentCreator() + testComponent = kreator.makeMCComponent("testComponent", "/GJets_HT-200to400_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",489.9) + mcSamples=[testComponent] + + dataDir = os.environ['CMSSW_BASE']+"/src/CMGTools/TTHAnalysis/data" + json=dataDir+'/json/Cert_Run2012ABCD_22Jan2013ReReco.json' + from CMGTools.TTHAnalysis.setup.Efficiencies import * + + for comp in mcSamples: + comp.isMC = True + comp.isData = False + comp.splitFactor = 250 + comp.puFileMC=dataDir+"/puProfile_Summer12_53X.root" + comp.puFileData=dataDir+"/puProfile_Data12.root" + comp.efficiency = eff2012 + # ------------------------------------------------------------------------------------------- # + + comp=testComponent + comp.files = ['/afs/cern.ch/user/d/dalfonso/public/TESTfilesPHY14/gjets_ht200to400_miniaodsim_fix.root'] + selectedComponents = [comp] + comp.splitFactor = 10 -#selectedComponents = [ DYJets_M50_HT100to200_PU_S14_POSTLS170, DYJets_M50_HT200to400_PU_S14_POSTLS170, DYJets_M50_HT400to600_PU_S14_POSTLS170, DYJets_M50_HT600toInf_PU_S14_POSTLS170 ] -#selectedComponents = [ GJets_HT100to200_PU_S14_POSTLS170, GJets_HT200to400_PU_S14_POSTLS170, GJets_HT400to600_PU_S14_POSTLS170, ZJetsToNuNu_HT200to400_PU_S14_POSTLS170, ZJetsToNuNu_HT400to600_PU_S14_POSTLS170, ZJetsToNuNu_HT600toInf_PU_S14_POSTLS170 ] +elif test==1: + # Uncomment the two following lines to run on a specific event + #eventSelector.toSelect = [ 84142401 ] + #sequence = cfg.Sequence([eventSelector] + sequence) -#selectedComponents = [ SMS_T1bbbb_2J_mGl1000_mLSP900_PU_S14_POSTLS170, SMS_T1bbbb_2J_mGl1500_mLSP100_PU_S14_POSTLS170, SMS_T1qqqq_2J_mGl1400_mLSP100_PU_S14_POSTLS170, SMS_T1tttt_2J_mGl1200_mLSP800_PU_S14_POSTLS170, SMS_T1tttt_2J_mGl1500_mLSP100_PU_S14_POSTLS170 ] -#selectedComponents = [ DYJetsM50_HT100to200_PU_S14_POSTLS170, DYJetsM50_HT200to400_PU_S14_POSTLS170, DYJetsM50_HT400to600_PU_S14_POSTLS170, DYJetsM50_HT600toInf_PU_S14_POSTLS170, SMS_T1bbbb_2J_mGl1000_mLSP900_PU_S14_POSTLS170, SMS_T1bbbb_2J_mGl1500_mLSP100_PU_S14_POSTLS170, SMS_T1qqqq_2J_mGl1400_mLSP100_PU_S14_POSTLS170, SMS_T1tttt_2J_mGl1200_mLSP800_PU_S14_POSTLS170, SMS_T1tttt_2J_mGl1500_mLSP100_PU_S14_POSTLS170 ] + from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import * + comp=GJets_HT200to400 + comp.files = ['/afs/cern.ch/user/d/dalfonso/public/TESTfilesPHY14/gjets_ht200to400_miniaodsim_fix.root'] + +# comp=TTJets +# comp.files = ['/afs/cern.ch/user/d/dalfonso/public/TESTfilesPHY14/TTJets_miniAOD_fixPhoton_forSynch.root'] + + selectedComponents = [comp] + comp.splitFactor = 1 + comp.triggers = triggers_HT900 + triggers_HTMET + triggers_photon155 + triggers_1mu_isolow + triggers_MT2_mumu + triggers_MT2_ee + triggers_MT2_mue # to apply trigger skimming + -#selectedComponents = [ GJets_HT600toInf_PU_S14_POSTLS170 ] -#, ZJetsToNuNu_HT100to200_PU_S14_POSTLS170 ] -##selectedComponents = [ TTJets_PU20bx25 ] -#selectedComponents = [ SMS_T1qqqq_2J_mGl1000_mLSP800_PU_S14_POSTLS170 ] -#-------- HOW TO RUN -test = 1 -if test==1: - # test a single component, using a single thread. - #comp=TTJets_PU20bx25 #TTJets_forSynch - #comp=SMS_T1qqqq_2J_mGl1400_mLSP100_PU_S14_POSTLS170 # small files for testing - #comp=SMS_T1bbbb_2J_mGl1000_mLSP900_PU_S14_POSTLS170 - #comp=GJets_HT100to200_PU_S14_POSTLS170 - #comp.files = ['/afs/cern.ch/work/p/pandolf/CMSSW_7_0_6_patch1_2/src/CMGTools/TTHAnalysis/cfg/pickevents.root'] - #comp.files = ['/afs/cern.ch/user/p/pandolf/public/file_gammaJet.root'] - #comp.files = ['/afs/cern.ch/work/p/pandolf/CMSSW_7_0_6_patch1_2/src/CMGTools/TTHAnalysis/cfg/file_gammaJet.root'] - #comp.files = ['/afs/cern.ch/user//m/mmasciov/public/TTJets_forSynch_1.root'] - ## 50 ns ttbar CSAv1 - # comp=TTJets_MSDecaysCKM_central_PU_S14_POSTLS170 - ## 50 ns ttbar CSAv2 - # comp=TTJets - ## 25 ns ttbar PHYS14 - comp = TTJets - comp.files = comp.files[:1] - selectedComponents = [comp] - comp.splitFactor = 10 elif test==2: - selectedComponents = [ SingleMu, DoubleElectron, TTHToWW_PUS14, DYJetsToLL_M50_PU20bx25, TTJets_PUS14 ] + from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import * + # full production + selectedComponents = [ +TTJets, # TTJets +TToLeptons_tch, TToLeptons_sch, TBarToLeptons_tch, TBarToLeptons_sch, TBar_tWch, T_tWch, #singleTop +TTWJets, TTZJets, TTH, #TT+boson +ZJetsToNuNu_HT100to200, ZJetsToNuNu_HT200to400, ZJetsToNuNu_HT400to600, ZJetsToNuNu_HT600toInf, # ZJetsToNuNu_HT +WJetsToLNu_HT100to200, WJetsToLNu_HT200to400, WJetsToLNu_HT400to600, WJetsToLNu_HT600toInf, # WJetsToLNu_HT +GJets_HT100to200_fixPhoton, GJets_HT200to400_fixPhoton, GJets_HT400to600_fixPhoton, GJets_HT600toInf_fixPhoton, # GJets_HT +QCD_HT_100To250_fixPhoton, QCD_HT_250To500_fixPhoton, QCD_HT_500To1000_fixPhoton, QCD_HT_1000ToInf_fixPhoton, QCD_HT_250To500_ext1_fixPhoton, QCD_HT_500To1000_ext1_fixPhoton,QCD_HT_1000ToInf_ext1_fixPhoton, # QCD_HT +QCD_Pt170to300_fixPhoton, QCD_Pt300to470_fixPhoton, QCD_Pt470to600_fixPhoton, QCD_Pt600to800_fixPhoton, QCD_Pt800to1000_fixPhoton, QCD_Pt1000to1400_fixPhoton, QCD_Pt1400to1800_fixPhoton, QCD_Pt1800to2400_fixPhoton, QCD_Pt2400to3200_fixPhoton, QCD_Pt3200_fixPhoton, # QCD_Pt +QCD_Pt50to80, QCD_Pt80to120, QCD_Pt120to170, #For QCD Estimate +SMS_T2tt_2J_mStop850_mLSP100, SMS_T2tt_2J_mStop650_mLSP325, SMS_T2tt_2J_mStop500_mLSP325, SMS_T2tt_2J_mStop425_mLSP325, SMS_T2qq_2J_mStop600_mLSP550, SMS_T2qq_2J_mStop1200_mLSP100, SMS_T2bb_2J_mStop900_mLSP100, SMS_T2bb_2J_mStop600_mLSP580, SMS_T1tttt_2J_mGl1500_mLSP100, SMS_T1tttt_2J_mGl1200_mLSP800, SMS_T1qqqq_2J_mGl1400_mLSP100, SMS_T1qqqq_2J_mGl1000_mLSP800, SMS_T1bbbb_2J_mGl1500_mLSP100, SMS_T1bbbb_2J_mGl1000_mLSP900, # SMS +DYJetsToLL_M50_HT100to200, DYJetsToLL_M50_HT200to400, DYJetsToLL_M50_HT400to600, DYJetsToLL_M50_HT600toInf # DYJetsToLL_M50_HT +] + # test all components (1 thread per component). for comp in selectedComponents: - comp.splitFactor = 251 + comp.splitFactor = 600 + #comp.fineSplitFactor = 2 # to run two jobs per file comp.files = comp.files[:] - #comp.files = comp.files[:1] + #comp.files = comp.files[:1] + #comp.files = comp.files[57:58] # to process only file [57] + comp.triggers = triggers_HT900 + triggers_HTMET + triggers_photon155 + triggers_1mu_isolow + triggers_MT2_mumu + triggers_MT2_ee + triggers_MT2_mue # to apply trigger skimming + + + +# ------------------------------------------------------------------------------------------- # + +doSpecialSettingsForMECCA = 0 +if doSpecialSettingsForMECCA==1: + jetAna.doQG = False + photonAna.do_randomCone = False + photonAna.do_mc_match = False +# ------------------------------------------------------------------------------------------- # + + -# the following is declared in case this cfg is used in input to the heppy.py script + + + + + + + + + + + +from PhysicsTools.HeppyCore.framework.services.tfile import TFileService +output_service = cfg.Service( + TFileService, + 'outputfile', + name="outputfile", + fname='mt2.root', + option='recreate' + ) + +# the following is declared in case this cfg is used in input to the heppy.py script from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +from CMGTools.TTHAnalysis.tools.EOSEventsWithDownload import EOSEventsWithDownload +event_class = EOSEventsWithDownload +if getHeppyOption("nofetch"): + event_class = Events config = cfg.Config( components = selectedComponents, sequence = sequence, - services = [], - events_class = Events) - + services = [output_service], + events_class = event_class) +# events_class = Events) #printComps(config.components, True) diff --git a/CMGTools/TTHAnalysis/cfg/run_susyMultileptonSOS_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susyMultileptonSOS_cfg.py new file mode 100644 index 000000000000..ffe0e67727a3 --- /dev/null +++ b/CMGTools/TTHAnalysis/cfg/run_susyMultileptonSOS_cfg.py @@ -0,0 +1,279 @@ +########################################################## +## CONFIGURATION FOR SUSY MULTILEPTON TREES ## +## skim condition: >= 2 loose leptons, no pt cuts or id ## +########################################################## +import PhysicsTools.HeppyCore.framework.config as cfg + + +#-------- LOAD ALL ANALYZERS ----------- + +from CMGTools.TTHAnalysis.analyzers.susyCore_modules_cff import * + + +#-------- REDEFINE WHAT I NEED ----------- + +# Lepton Skimming +ttHLepSkim.minLeptons = 2 +ttHLepSkim.maxLeptons = 999 +ttHLepSkim.ptCuts = [5,3] + +# Jet-Met Skimming +ttHJetMETSkim.jetPtCuts = [100,] +ttHJetMETSkim.metCut = 100 + +# Run miniIso +lepAna.doMiniIsolation = True +lepAna.packedCandidates = 'packedPFCandidates' +lepAna.miniIsolationPUCorr = 'rhoArea' +lepAna.miniIsolationVetoLeptons = None # use 'inclusive' to veto inclusive leptons and their footprint in all isolation cones + +# Lepton Preselection +lepAna.inclusive_muon_pt = 3 +lepAna.loose_muon_pt = 3 +lepAna.inclusive_electron_pt = 5 +lepAna.loose_electron_pt = 5 +lepAna.loose_electron_id = "POG_MVA_ID_Run2_NonTrig_VLoose" + +isolation = "absIso03" +#isolation = "relIso03" +#isolation = "ptRel" +if isolation == "ptRel": + # delay isolation cut for leptons of pt > 10, for which we do pTrel recovery + lepAna.loose_muon_isoCut = lambda muon : muon.relIso03 < 0.5 or muon.pt() > 10 + lepAna.loose_electron_isoCut = lambda elec : elec.relIso03 < 0.5 or elec.pt() > 10 + # in the cleaning, keep the jet if the lepton fails relIso or ptRel + jetAna.jetLepArbitration = lambda jet,lepton : ( + lepton if (lepton.relIso03 < 0.4 or ptRelv1(lepton.p4(),jet.p4()) > 5) else jet + ) + ttHCoreEventAna.leptonMVAKindTTH = "SusyWithBoost" + ttHCoreEventAna.leptonMVAKindSusy = "SusyWithBoost" + ttHCoreEventAna.leptonMVAPathTTH = "CMGTools/TTHAnalysis/macros/leptons/trainingPHYS14leptonMVA_PHYS14eleMVA_MiniIso_ttH/weights/%s_BDTG.weights.xml" + ttHCoreEventAna.leptonMVAPathSusy = "CMGTools/TTHAnalysis/macros/leptons/trainingPHYS14leptonMVA_PHYS14eleMVA_MiniIso_SusyT1/weights/%s_BDTG.weights.xml" + # insert a second skimmer after the jet cleaning + ttHLepSkim2 = cfg.Analyzer( + ttHLepSkimmer, name='ttHLepSkimmer2', + minLeptons = 2, + maxLeptons = 999, + ) + susyCoreSequence.insert(susyCoreSequence.index(jetAna)+1, ttHLepSkim2) +elif isolation == "miniIso": + lepAna.loose_muon_isoCut = lambda muon : muon.miniRelIso < 0.4 + lepAna.loose_electron_isoCut = lambda elec : elec.miniRelIso < 0.4 +elif isolation == None: + lepAna.loose_muon_isoCut = lambda muon : True + lepAna.loose_electron_isoCut = lambda elec : True +elif isolation == "absIso03": + lepAna.loose_muon_absIso = 10.0 + lepAna.loose_electron_relIso = 99.0 + lepAna.loose_muon_relIso = 99.0 + lepAna.loose_electron_absIso = 10.0 +else: + # nothing to do, will use normal relIso03 + pass + + +# Lepton-Jet Cleaning +jetAna.minLepPt = 20 +# otherwise with only absIso cut at 10 GeV and no relIso we risk cleaning away good jets + + +# Switch off slow photon MC matching +photonAna.do_mc_match = False + + +#-------- ADDITIONAL ANALYZERS ----------- + +## Event Analyzer for susy multi-lepton (at the moment, it's the TTH one) +from CMGTools.TTHAnalysis.analyzers.ttHLepEventAnalyzer import ttHLepEventAnalyzer +ttHEventAna = cfg.Analyzer( + ttHLepEventAnalyzer, name="ttHLepEventAnalyzer", + minJets25 = 0, + ) + +## JetTau analyzer, to be called (for the moment) once bjetsMedium are produced +from CMGTools.TTHAnalysis.analyzers.ttHJetTauAnalyzer import ttHJetTauAnalyzer +ttHJetTauAna = cfg.Analyzer( + ttHJetTauAnalyzer, name="ttHJetTauAnalyzer", + ) + +## Insert the FatJet, SV, HeavyFlavour analyzers in the sequence +susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), + ttHFatJetAna) +susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), + ttHSVAna) +susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), + ttHHeavyFlavourHadronAna) +susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), + ttHJetMETSkim) + +## Insert declustering analyzer +from CMGTools.TTHAnalysis.analyzers.ttHDeclusterJetsAnalyzer import ttHDeclusterJetsAnalyzer +ttHDecluster = cfg.Analyzer( + ttHDeclusterJetsAnalyzer, name='ttHDecluster', + lepCut = lambda lep,ptrel : lep.pt() > 10, + maxSubjets = 6, # for exclusive reclustering + ptMinSubjets = 5, # for inclusive reclustering + drMin = 0.2, # minimal deltaR(l,subjet) required for a successful subjet match + ptRatioMax = 1.5, # maximum pt(l)/pt(subjet) required for a successful match + ptRatioDiff = 0.1, # cut on abs( pt(l)/pt(subjet) - 1 ) sufficient to call a match successful + drMatch = 0.02, # deltaR(l,subjet) sufficient to call a match successful + ptRelMin = 5, # maximum ptRelV1(l,subjet) sufficient to call a match successful + prune = True, # also do pruning of the jets + pruneZCut = 0.1, # pruning parameters (usual value in CMS: 0.1) + pruneRCutFactor = 0.5, # pruning parameters (usual value in CMS: 0.5) + verbose = 0, # print out the first N leptons + jetCut = lambda jet : jet.pt() > 20, + mcPartonPtCut = 20, + mcLeptonPtCut = 5, + mcTauPtCut = 15, + ) +susyCoreSequence.insert(susyCoreSequence.index(ttHFatJetAna)+1, ttHDecluster) + + +from CMGTools.TTHAnalysis.analyzers.treeProducerSusyMultilepton import * +## Tree Producer +treeProducer = cfg.Analyzer( + AutoFillTreeProducer, name='treeProducerSusyMultilepton', + vectorTree = True, + saveTLorentzVectors = False, # can set to True to get also the TLorentzVectors, but trees will be bigger + defaultFloatType = 'F', # use Float_t for floating point + PDFWeights = PDFWeights, + globalVariables = susyMultilepton_globalVariables, + globalObjects = susyMultilepton_globalObjects, + collections = susyMultilepton_collections, +) + +## histo counter +susyCoreSequence.insert(susyCoreSequence.index(skimAnalyzer), + susyCounter) + + +#-------- SAMPLES AND TRIGGERS ----------- + + +from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import triggers_mumu_iso, triggers_mumu_noniso, triggers_ee, triggers_3e, triggers_mue, triggers_1mu_iso, triggers_1e +triggerFlagsAna.triggerBits = { + 'DoubleMu' : triggers_mumu_iso, + 'DoubleMuNoIso' : triggers_mumu_noniso, + 'DoubleEl' : triggers_ee, + 'TripleEl' : triggers_3e, + 'MuEG' : triggers_mue, + 'SingleMu' : triggers_1mu_iso, + 'SingleEl' : triggers_1e, +} + +from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import * +from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14v2 import SingleMu + +# selectedComponents = [ +# ] + WJetsToLNuHT + DYJetsM50HT + [ #DYJetsToLL_M50, +# TTJets ]+ SingleTop +[ +# TTWJets,TTZJets, TTH, +# WZJetsTo3LNu, ZZTo4L, +# #GGHZZ4L, GGHTT, VBFTT, +# ] + +selectedComponents = T2ttDeg + +if False: + ttHLepSkim.minLeptons = 1 + QCDPtEMEnriched.remove(QCD_Pt10to20_EMEnriched) + selectedComponents = [ QCD_Mu15 ] + QCD_Mu5 + QCDPtEMEnriched + QCDPtbcToE + + +# -- fine splitting, for some private MC samples with a single file +#for comp in selectedComponents: +# comp.splitFactor = 1 +# comp.fineSplitFactor = 40 + + +#-------- SEQUENCE ----------- + +sequence = cfg.Sequence(susyCoreSequence+[ + ttHJetTauAna, + ttHEventAna, + treeProducer, + ]) + + +#-------- HOW TO RUN ----------- + +from PhysicsTools.HeppyCore.framework.heppy import getHeppyOption +test = getHeppyOption('test') +if test == '1': + comp = TTH + if getHeppyOption('T1tttt'): + comp = SMS_T1tttt_2J_mGl1500_mLSP100 + if getHeppyOption('H4L'): + comp = GGHZZ4L + comp.files = comp.files[:1] + comp.splitFactor = 1 + if not getHeppyOption('single'): + comp.fineSplitFactor = 4 + selectedComponents = [ comp ] +elif test == '2': + for comp in selectedComponents: + comp.files = comp.files[:1] + comp.splitFactor = 1 + comp.fineSplitFactor = 1 +elif test == 'EOS': + comp = DYJetsToLL_M50#TTJets + comp.files = comp.files[:1] + if getHeppyOption('Wigner'): + print "Will read from WIGNER" + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/DYJetsToLL_M-50_13TeV-madgraph-pythia8/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/00000/0432E62A-7A6C-E411-87BB-002590DB92A8.root' ] + else: + print "Will read from CERN Meyrin" + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/DYJetsToLL_M-50_13TeV-madgraph-pythia8/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/10000/F675C068-5E6C-E411-B915-0025907DC9AC.root' ] + os.system("/afs/cern.ch/project/eos/installation/0.3.15/bin/eos.select fileinfo "+comp.files[0].replace("root://eoscms//","/")) + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + selectedComponents = [ comp ] +elif test == 'SingleMu': + comp = SingleMu + comp.files = comp.files[:1] + comp.splitFactor = 1 + selectedComponents = [ comp ] +elif test == '3': + for comp in selectedComponents: + comp.files = comp.files[:1] + comp.splitFactor = 1 + comp.fineSplitFactor = 4 +elif test == '5': + for comp in selectedComponents: + comp.files = comp.files[:5] + comp.splitFactor = 1 + comp.fineSplitFactor = 5 +elif test == '2lss-sync': # sync + #eventSelector.toSelect = [ 11809 ] + #sequence = cfg.Sequence([eventSelector] + susyCoreSequence+[ ttHEventAna, treeProducer, ]) + jetAna.recalibrateJets = False + jetAna.smearJets = False + comp = SMS_T1tttt_2J_mGl1200_mLSP800 + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/SMS-T1tttt_2J_mGl-1200_mLSP-800_Tune4C_13TeV-madgraph-tauola/MINIAODSIM/PU20bx25_tsg_PHYS14_25_V1-v1/00000/0CD15D7F-4E6B-E411-AEB4-002590DB9216.root' ] + comp.splitFactor = 1 + comp.fineSplitFactor = 10 + selectedComponents = [ comp ] + +## output histogram +outputService=[] +from PhysicsTools.HeppyCore.framework.services.tfile import TFileService +output_service = cfg.Service( + TFileService, + 'outputfile', + name="outputfile", + fname='treeProducerSusyMultilepton/tree.root', + option='recreate' + ) +outputService.append(output_service) + +# the following is declared in case this cfg is used in input to the heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +from CMGTools.TTHAnalysis.tools.EOSEventsWithDownload import EOSEventsWithDownload +event_class = EOSEventsWithDownload +if getHeppyOption("nofetch"): + event_class = Events +config = cfg.Config( components = selectedComponents, + sequence = sequence, + services = outputService, + events_class = event_class) diff --git a/CMGTools/TTHAnalysis/cfg/run_susyMultilepton_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susyMultilepton_cfg.py index 5d753e540cec..f5eb7463b572 100644 --- a/CMGTools/TTHAnalysis/cfg/run_susyMultilepton_cfg.py +++ b/CMGTools/TTHAnalysis/cfg/run_susyMultilepton_cfg.py @@ -4,29 +4,81 @@ ########################################################## import PhysicsTools.HeppyCore.framework.config as cfg -#Load all analyzers + +#-------- LOAD ALL ANALYZERS ----------- + from CMGTools.TTHAnalysis.analyzers.susyCore_modules_cff import * -# Redefine what I need -# --- LEPTON SKIMMING --- +#-------- REDEFINE WHAT I NEED ----------- + +# Lepton Skimming ttHLepSkim.minLeptons = 2 ttHLepSkim.maxLeptons = 999 #ttHLepSkim.idCut = "" #ttHLepSkim.ptCuts = [] +# Run miniIso +lepAna.doMiniIsolation = True +lepAna.packedCandidates = 'packedPFCandidates' +lepAna.miniIsolationPUCorr = 'rhoArea' +lepAna.miniIsolationVetoLeptons = None # use 'inclusive' to veto inclusive leptons and their footprint in all isolation cones + +# Lepton Preselection +lepAna.loose_electron_id = "POG_MVA_ID_Run2_NonTrig_VLoose" -# switch off slow photon MC matching +isolation = "miniIso" +#isolation = "relIso03" +#isolation = "ptRel" +if isolation == "ptRel": + # delay isolation cut for leptons of pt > 10, for which we do pTrel recovery + lepAna.loose_muon_isoCut = lambda muon : muon.relIso03 < 0.5 or muon.pt() > 10 + lepAna.loose_electron_isoCut = lambda elec : elec.relIso03 < 0.5 or elec.pt() > 10 + # in the cleaning, keep the jet if the lepton fails relIso or ptRel + jetAna.jetLepArbitration = lambda jet,lepton : ( + lepton if (lepton.relIso03 < 0.4 or ptRelv1(lepton.p4(),jet.p4()) > 5) else jet + ) + ttHCoreEventAna.leptonMVAKindTTH = "SusyWithBoost" + ttHCoreEventAna.leptonMVAKindSusy = "SusyWithBoost" + ttHCoreEventAna.leptonMVAPathTTH = "CMGTools/TTHAnalysis/macros/leptons/trainingPHYS14leptonMVA_PHYS14eleMVA_MiniIso_ttH/weights/%s_BDTG.weights.xml" + ttHCoreEventAna.leptonMVAPathSusy = "CMGTools/TTHAnalysis/macros/leptons/trainingPHYS14leptonMVA_PHYS14eleMVA_MiniIso_SusyT1/weights/%s_BDTG.weights.xml" + # insert a second skimmer after the jet cleaning + ttHLepSkim2 = cfg.Analyzer( + ttHLepSkimmer, name='ttHLepSkimmer2', + minLeptons = 2, + maxLeptons = 999, + ) + susyCoreSequence.insert(susyCoreSequence.index(jetAna)+1, ttHLepSkim2) +elif isolation == "miniIso": + lepAna.loose_muon_isoCut = lambda muon : muon.miniRelIso < 0.4 + lepAna.loose_electron_isoCut = lambda elec : elec.miniRelIso < 0.4 +elif isolation == None: + lepAna.loose_muon_isoCut = lambda muon : True + lepAna.loose_electron_isoCut = lambda elec : True +else: + # nothing to do, will use normal relIso03 + pass + +# Switch off slow photon MC matching photonAna.do_mc_match = False -# Event Analyzer for susy multi-lepton (at the moment, it's the TTH one) + +#-------- ADDITIONAL ANALYZERS ----------- + +## Event Analyzer for susy multi-lepton (at the moment, it's the TTH one) from CMGTools.TTHAnalysis.analyzers.ttHLepEventAnalyzer import ttHLepEventAnalyzer ttHEventAna = cfg.Analyzer( ttHLepEventAnalyzer, name="ttHLepEventAnalyzer", minJets25 = 0, ) -## Insert the SV analyzer in the sequence +## JetTau analyzer, to be called (for the moment) once bjetsMedium are produced +from CMGTools.TTHAnalysis.analyzers.ttHJetTauAnalyzer import ttHJetTauAnalyzer +ttHJetTauAna = cfg.Analyzer( + ttHJetTauAnalyzer, name="ttHJetTauAnalyzer", + ) + +## Insert the FatJet, SV, HeavyFlavour analyzers in the sequence susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), ttHFatJetAna) susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), @@ -34,16 +86,29 @@ susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), ttHHeavyFlavourHadronAna) -from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import triggers_mumu_iso, triggers_mumu_noniso, triggers_ee, triggers_3e, triggers_mue, triggers_1mu_iso, triggers_1e -triggerFlagsAna.triggerBits = { - 'DoubleMu' : triggers_mumu_iso, - 'DoubleMuNoIso' : triggers_mumu_noniso, - 'DoubleEl' : triggers_ee, - 'TripleEl' : triggers_3e, - 'MuEG' : triggers_mue, - 'SingleMu' : triggers_1mu_iso, - 'SingleEl' : triggers_1e, -} +## Insert declustering analyzer +from CMGTools.TTHAnalysis.analyzers.ttHDeclusterJetsAnalyzer import ttHDeclusterJetsAnalyzer +ttHDecluster = cfg.Analyzer( + ttHDeclusterJetsAnalyzer, name='ttHDecluster', + lepCut = lambda lep,ptrel : lep.pt() > 10, + maxSubjets = 6, # for exclusive reclustering + ptMinSubjets = 5, # for inclusive reclustering + drMin = 0.2, # minimal deltaR(l,subjet) required for a successful subjet match + ptRatioMax = 1.5, # maximum pt(l)/pt(subjet) required for a successful match + ptRatioDiff = 0.1, # cut on abs( pt(l)/pt(subjet) - 1 ) sufficient to call a match successful + drMatch = 0.02, # deltaR(l,subjet) sufficient to call a match successful + ptRelMin = 5, # maximum ptRelV1(l,subjet) sufficient to call a match successful + prune = True, # also do pruning of the jets + pruneZCut = 0.1, # pruning parameters (usual value in CMS: 0.1) + pruneRCutFactor = 0.5, # pruning parameters (usual value in CMS: 0.5) + verbose = 0, # print out the first N leptons + jetCut = lambda jet : jet.pt() > 20, + mcPartonPtCut = 20, + mcLeptonPtCut = 5, + mcTauPtCut = 15, + ) +susyCoreSequence.insert(susyCoreSequence.index(ttHFatJetAna)+1, ttHDecluster) + from CMGTools.TTHAnalysis.analyzers.treeProducerSusyMultilepton import * ## Tree Producer @@ -51,48 +116,144 @@ AutoFillTreeProducer, name='treeProducerSusyMultilepton', vectorTree = True, saveTLorentzVectors = False, # can set to True to get also the TLorentzVectors, but trees will be bigger + defaultFloatType = 'F', # use Float_t for floating point PDFWeights = PDFWeights, globalVariables = susyMultilepton_globalVariables, globalObjects = susyMultilepton_globalObjects, collections = susyMultilepton_collections, ) +## histo counter +susyCoreSequence.insert(susyCoreSequence.index(skimAnalyzer), + susyCounter) + + #-------- SAMPLES AND TRIGGERS ----------- -#-------- SEQUENCE + +from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import triggers_mumu_iso, triggers_mumu_noniso, triggers_ee, triggers_3e, triggers_mue, triggers_1mu_iso, triggers_1e +triggerFlagsAna.triggerBits = { + 'DoubleMu' : triggers_mumu_iso, + 'DoubleMuNoIso' : triggers_mumu_noniso, + 'DoubleEl' : triggers_ee, + 'TripleEl' : triggers_3e, + 'MuEG' : triggers_mue, + 'SingleMu' : triggers_1mu_iso, + 'SingleEl' : triggers_1e, +} + from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import * +from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14v2 import SingleMu + +selectedComponents = [ + ] + WJetsToLNuHT + DYJetsM50HT + [ #DYJetsToLL_M50, + TTJets ]+ SingleTop +[ + TTWJets,TTZJets, TTH, + WZJetsTo3LNu, ZZTo4L, + #GGHZZ4L, GGHTT, VBFTT, + SMS_T1tttt_2J_mGl1500_mLSP100, SMS_T1tttt_2J_mGl1200_mLSP800, + T5ttttDeg_mGo1000_mStop300_mCh285_mChi280, T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil, + T5qqqqWW_mGo1200_mCh1000_mChi800_dilep, T5qqqqWWDeg_mGo1000_mCh315_mChi300_dilep +] +if False: + ttHLepSkim.minLeptons = 1 + QCDPtEMEnriched.remove(QCD_Pt10to20_EMEnriched) + selectedComponents = [ QCD_Mu15 ] + QCD_Mu5 + QCDPtEMEnriched + QCDPtbcToE -selectedComponents = [ SMS_T1tttt_2J_mGl1200_mLSP800 ] + +# -- fine splitting, for some private MC samples with a single file +#for comp in selectedComponents: +# comp.splitFactor = 1 +# comp.fineSplitFactor = 40 + + +#-------- SEQUENCE ----------- sequence = cfg.Sequence(susyCoreSequence+[ - ttHEventAna, - treeProducer, + ttHJetTauAna, + ttHEventAna, + treeProducer, ]) -test = 1 -if test == 1: - comp = TTH; comp.name = "TTH" - #comp = SMS_T1tttt_2J_mGl1500_mLSP100 + +#-------- HOW TO RUN ----------- + +from PhysicsTools.HeppyCore.framework.heppy import getHeppyOption +test = getHeppyOption('test') +if test == '1': + comp = TTH + if getHeppyOption('T1tttt'): + comp = SMS_T1tttt_2J_mGl1500_mLSP100 + if getHeppyOption('H4L'): + comp = GGHZZ4L comp.files = comp.files[:1] comp.splitFactor = 1 - comp.fineSplitFactor = 4 + if not getHeppyOption('single'): + comp.fineSplitFactor = 4 selectedComponents = [ comp ] -elif test == 2: +elif test == '2': for comp in selectedComponents: comp.files = comp.files[:1] comp.splitFactor = 1 -elif test == 3: - comp = TTJets + comp.fineSplitFactor = 1 +elif test == 'EOS': + comp = DYJetsToLL_M50#TTJets + comp.files = comp.files[:1] + if getHeppyOption('Wigner'): + print "Will read from WIGNER" + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/DYJetsToLL_M-50_13TeV-madgraph-pythia8/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/00000/0432E62A-7A6C-E411-87BB-002590DB92A8.root' ] + else: + print "Will read from CERN Meyrin" + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/DYJetsToLL_M-50_13TeV-madgraph-pythia8/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/10000/F675C068-5E6C-E411-B915-0025907DC9AC.root' ] + os.system("/afs/cern.ch/project/eos/installation/0.3.15/bin/eos.select fileinfo "+comp.files[0].replace("root://eoscms//","/")) + comp.splitFactor = 1 + comp.fineSplitFactor = 1 + selectedComponents = [ comp ] +elif test == 'SingleMu': + comp = SingleMu comp.files = comp.files[:1] comp.splitFactor = 1 selectedComponents = [ comp ] +elif test == '3': + for comp in selectedComponents: + comp.files = comp.files[:1] + comp.splitFactor = 1 + comp.fineSplitFactor = 4 +elif test == '5': + for comp in selectedComponents: + comp.files = comp.files[:5] + comp.splitFactor = 1 + comp.fineSplitFactor = 5 +elif test == '2lss-sync': # sync + #eventSelector.toSelect = [ 11809 ] + #sequence = cfg.Sequence([eventSelector] + susyCoreSequence+[ ttHEventAna, treeProducer, ]) + jetAna.recalibrateJets = False + jetAna.smearJets = False + comp = SMS_T1tttt_2J_mGl1200_mLSP800 + comp.files = [ 'root://eoscms//eos/cms/store/mc/Phys14DR/SMS-T1tttt_2J_mGl-1200_mLSP-800_Tune4C_13TeV-madgraph-tauola/MINIAODSIM/PU20bx25_tsg_PHYS14_25_V1-v1/00000/0CD15D7F-4E6B-E411-AEB4-002590DB9216.root' ] + comp.splitFactor = 1 + comp.fineSplitFactor = 10 + selectedComponents = [ comp ] +## output histogram +outputService=[] +from PhysicsTools.HeppyCore.framework.services.tfile import TFileService +output_service = cfg.Service( + TFileService, + 'outputfile', + name="outputfile", + fname='treeProducerSusyMultilepton/tree.root', + option='recreate' + ) +outputService.append(output_service) # the following is declared in case this cfg is used in input to the heppy.py script from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +from CMGTools.TTHAnalysis.tools.EOSEventsWithDownload import EOSEventsWithDownload +event_class = EOSEventsWithDownload +if getHeppyOption("nofetch"): + event_class = Events config = cfg.Config( components = selectedComponents, sequence = sequence, - services = [], - events_class = Events) - - + services = outputService, + events_class = event_class) diff --git a/CMGTools/TTHAnalysis/cfg/run_susySingleSoftlepton_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susySingleSoftlepton_cfg.py deleted file mode 100644 index 700a3a631ab0..000000000000 --- a/CMGTools/TTHAnalysis/cfg/run_susySingleSoftlepton_cfg.py +++ /dev/null @@ -1,95 +0,0 @@ -########################################################## -## CONFIGURATION FOR SUSY MULTILEPTON TREES ## -## skim condition: >= 2 loose leptons, no pt cuts or id ## -########################################################## - -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.RootTools import * - -#Load all analyzers -from CMGTools.TTHAnalysis.analyzers.susyCore_modules_cff import * - -ttHLepAna.loose_muon_pt = 5 -ttHLepAna.loose_muon_relIso = 0.4 -ttHLepAna.mu_isoCorr = "deltaBeta" -#ttHLepAna.loose_muon_absIso5= 10 -ttHLepAna.loose_electron_pt = 7 -ttHLepAna.loose_electron_relIso = 0.4 -#ttHLepAna.loose_electron_absIso = 10 -ttHLepAna.ele_isoCorr = "rhoArea" - - - - -# --- LEPTON SKIMMING --- -ttHLepSkim.minLeptons = 1 -ttHLepSkim.maxLeptons = 999 - -# --- JET-LEPTON CLEANING --- -ttHJetAna.minLepPt = 10 - - -# Event Analyzer for susy multi-lepton (at the moment, it's the TTH one) // Do we need had W and Top? -ttHEventAna = cfg.Analyzer( - 'ttHLepEventAnalyzer', - minJets25 = 0, - ) - - -ttHIsoTrackAna.setOff=False - -susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), - ttHSVAnalyzer) -susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), - ttHHeavyFlavourHadronAnalyzer) - - -from CMGTools.TTHAnalysis.samples.samples_8TeV_v517 import triggers_1mu, triggers_1muHT, triggers_1eleHT # need to update the trigger MET pr HTMET? - -# Tree Producer -treeProducer = cfg.Analyzer( - 'treeProducerSusySingleSoftLepton', - vectorTree = True, - saveTLorentzVectors = False, # can set to True to get also the TLorentzVectors, but trees will be bigger - PDFWeights = PDFWeights, - triggerBits = { } - # 'MuHT' : triggers_1muHT, - # 'eleHT' : triggers_1eleHT - # } - ) - - -#-------- SAMPLES AND TRIGGERS ----------- -from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14 import * -selectedComponents = [ SingleMu, DoubleElectron, TTHToWW_PUS14, DYJetsToLL_M50_PU20bx25, TTJets_PUS14 ] - - -#-------- SEQUENCE - -sequence = cfg.Sequence(susyCoreSequence+[ - ttHEventAna, - treeProducer, - ]) - - -#-------- HOW TO RUN -test = 1 -if test==1: - # test a single component, using a single thread. - comp= TTJets_PUS14 - #comp.files = ['root://eoscms//eos/cms/store/cmst3/group/susy/alobanov/MC/MiniAOD/13TeV_Gl_Gl_4q_Gl1400_LSP300_Chi315_MiniAOD.root'] -# comp.files = comp.files[:1] - selectedComponents = [comp] - comp.splitFactor = 1 -elif test==2: - # test all components (1 thread per component). - for comp in selectedComponents: - comp.splitFactor = len(comp.files) - # comp.files = comp.files[:1] - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/TTHAnalysis/cfg/run_susySinglelepton_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susySinglelepton_cfg.py index 277e5c3acbce..5f0b441fe978 100644 --- a/CMGTools/TTHAnalysis/cfg/run_susySinglelepton_cfg.py +++ b/CMGTools/TTHAnalysis/cfg/run_susySinglelepton_cfg.py @@ -8,16 +8,34 @@ #Load all analyzers from CMGTools.TTHAnalysis.analyzers.susyCore_modules_cff import * -lepAna.loose_muon_pt = 5 -lepAna.loose_muon_relIso = 0.5 -lepAna.mu_isoCorr = "deltaBeta" -lepAna.loose_electron_pt = 7 -lepAna.loose_electron_relIso = 0.5 -lepAna.ele_isoCorr = "rhoArea" -lepAna.ele_tightId = "Cuts_2012" +# Lepton Preselection +# ele +lepAna.loose_electron_id = "POG_MVA_ID_Run2_NonTrig_Loose" +lepAna.loose_electron_pt = 5 +# mu +lepAna.loose_muon_pt = 5 # Redefine what I need +lepAna.packedCandidates = 'packedPFCandidates' + +# selec Iso +isolation = "miniIso" + +if isolation == "miniIso": +# do miniIso + lepAna.doMiniIsolation = True + lepAna.miniIsolationPUCorr = 'rhoArea' + lepAna.miniIsolationVetoLeptons = None + lepAna.loose_muon_isoCut = lambda muon : muon.miniRelIso < 0.4 + lepAna.loose_electron_isoCut = lambda elec : elec.miniRelIso < 0.4 +elif isolation == "relIso03": +# normal relIso03 + lepAna.ele_isoCorr = "rhoArea" + lepAna.mu_isoCorr = "rhoArea" + + lepAna.loose_electron_relIso = 0.5 + lepAna.loose_muon_relIso = 0.5 # --- LEPTON SKIMMING --- ttHLepSkim.minLeptons = 1 @@ -27,37 +45,41 @@ # --- JET-LEPTON CLEANING --- jetAna.minLepPt = 10 -#JetMCAna.smearJets = False # do we need to smear the jets? -jetAna.smearJets = False - -#ttHReclusterJets = cfg.Analyzer( -# 'ttHReclusterJetsAnalyzer', -# ) - -# Event Analyzer for susy multi-lepton (at the moment, it's the TTH one) +jetAna.mcGT = "PHYS14_V4_MC" +jetAna.doQG = True +jetAna.smearJets = False #should be false in susycore, already +jetAna.recalibrateJets = True #should be true in susycore, already +metAna.recalibrate = False #should be false in susycore, already isoTrackAna.setOff=False -#from CMGTools.TTHAnalysis.analyzers.ttHReclusterJetsAnalyzer import ttHReclusterJetsAnalyzer -#ttHReclusterJets = cfg.Analyzer( -# ttHReclusterJetsAnalyzer, name="ttHReclusterJetsAnalyzer", -# ) + from CMGTools.TTHAnalysis.analyzers.ttHLepEventAnalyzer import ttHLepEventAnalyzer ttHEventAna = cfg.Analyzer( ttHLepEventAnalyzer, name="ttHLepEventAnalyzer", minJets25 = 0, ) -## Insert the SV analyzer in the sequence -susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), +## Insert the FatJet, SV, HeavyFlavour analyzers in the sequence +susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), ttHFatJetAna) -susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), +susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), ttHSVAna) -susyCoreSequence.insert(susyCoreSequence.index(ttHCoreEventAna), - ttHHeavyFlavourHadronAna) +## Single lepton + ST skim +from CMGTools.TTHAnalysis.analyzers.ttHSTSkimmer import ttHSTSkimmer +ttHSTSkimmer = cfg.Analyzer( + ttHSTSkimmer, name='ttHSTSkimmer', + minST = 200, + ) +from CMGTools.TTHAnalysis.analyzers.ttHReclusterJetsAnalyzer import ttHReclusterJetsAnalyzer +ttHReclusterJets = cfg.Analyzer( + ttHReclusterJetsAnalyzer, name="ttHReclusterJetsAnalyzer", + pTSubJet = 30, + etaSubJet = 5.0, + ) from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import * @@ -72,6 +94,7 @@ AutoFillTreeProducer, name='treeProducerSusySingleLepton', vectorTree = True, saveTLorentzVectors = False, # can set to True to get also the TLorentzVectors, but trees will be bigger + defaultFloatType = 'F', # use Float_t for floating point PDFWeights = PDFWeights, globalVariables = susySingleLepton_globalVariables, globalObjects = susySingleLepton_globalObjects, @@ -83,14 +106,17 @@ #-------- SAMPLES AND TRIGGERS ----------- from CMGTools.TTHAnalysis.samples.samples_13TeV_PHYS14 import * -#selectedComponents = [ SingleMu, DoubleElectron, TTHToWW_PUS14, DYJetsToLL_M50_PU20bx25, TTJets_PUS14 ] +#selectedComponents = [QCD_HT_100To250, QCD_HT_250To500, QCD_HT_500To1000, QCD_HT_1000ToInf,TTJets, TTWJets, TTZJets, TTH, SMS_T1tttt_2J_mGl1500_mLSP100, SMS_T1tttt_2J_mGl1200_mLSP800] + SingleTop + WJetsToLNuHT + DYJetsM50HT + T5ttttDeg + T1ttbbWW + T5qqqqWW + + #-------- SEQUENCE sequence = cfg.Sequence(susyCoreSequence+[ ttHEventAna, -# ttHReclusterJets, + ttHSTSkimmer, + ttHReclusterJets, treeProducer, ]) @@ -100,6 +126,7 @@ if test==1: # test a single component, using a single thread. comp = TTJets +# comp = SMS_T1tttt_2J_mGl1500_mLSP100 comp.files = comp.files[:1] selectedComponents = [comp] comp.splitFactor = 1 diff --git a/CMGTools/TTHAnalysis/cfg/run_susySoftlepton_cfg.py b/CMGTools/TTHAnalysis/cfg/run_susySoftlepton_cfg.py deleted file mode 100644 index 67c88cbf680b..000000000000 --- a/CMGTools/TTHAnalysis/cfg/run_susySoftlepton_cfg.py +++ /dev/null @@ -1,97 +0,0 @@ -########################################################## -## CONFIGURATION FOR SOFT DILEPTON + MONOJET TREES ## -## skim condition: >= 2 loose leptons, no pt cuts or id ## -########################################################## - -import CMGTools.RootTools.fwlite.Config as cfg -from CMGTools.RootTools.fwlite.Config import printComps -from CMGTools.RootTools.RootTools import * - -#Load all analyzers -from CMGTools.TTHAnalysis.analyzers.susyCore_modules_cff import * - -# Redefine what I need - -# --- LEPTON DEFINITION --- -ttHLepAna.inclusive_muon_pt = 3 -ttHLepAna.loose_muon_pt = 3 -ttHLepAna.loose_muon_relIso = 99.0 -ttHLepAna.loose_muon_absIso = 10.0 -ttHLepAna.inclusive_electron_pt = 5 -ttHLepAna.loose_electron_pt = 5 -ttHLepAna.loose_electron_relIso = 99.0 -ttHLepAna.loose_electron_absIso = 10.0 - - -# --- LEPTON SKIMMING --- -ttHLepSkim.minLeptons = 2 -ttHLepSkim.maxLeptons = 999 -ttHLepSkim.ptCuts = [5,3] - -# --- JET-LEPTON CLEANING --- -ttHJetAna.minLepPt = 20 -# otherwise with only absIso cut at 10 GeV and no relIso we risk cleaning away good jets - -# --- JET-MET SKIMMING --- -ttHJetMETSkim.jetPtCuts = [100,] -ttHJetMETSkim.metCut = 100 - -# Event Analyzer for susy multi-lepton (at the moment, it's the TTH one) -ttHEventAna = cfg.Analyzer( - 'ttHLepEventAnalyzer', - minJets25 = 0, - ) - - -from CMGTools.TTHAnalysis.samples.samples_8TeV_v517 import triggers_1mu, triggers_mumu, triggers_ee, triggers_mue, triggers_MET150, triggers_HT650, triggers_HTMET -# Tree Producer -treeProducer = cfg.Analyzer( - 'treeProducerSusySoftlepton', - vectorTree = True, - PDFWeights = PDFWeights, - triggerBits = { - 'SingleMu' : triggers_1mu, - 'DoubleMu' : triggers_mumu, - 'DoubleEl' : [ t for t in triggers_ee if "Ele15_Ele8_Ele5" not in t ], - 'TripleEl' : [ t for t in triggers_ee if "Ele15_Ele8_Ele5" in t ], - 'MuEG' : [ t for t in triggers_mue if "Mu" in t and "Ele" in t ], - 'MET15' : triggers_MET150, - 'HT650' : triggers_HT650, - 'triggers_HTMET' : triggers_HTMET, - } - ) - - -#-------- SAMPLES AND TRIGGERS ----------- -from CMGTools.TTHAnalysis.samples.samples_13TeV_CSA14 import * - -selectedComponents = [ TTJets_MSDecaysCKM_central_PU_S14_POSTLS170, SingleMu, DoubleElectron, TTHToWW_PUS14, DYJetsToLL_M50_PU20bx25, TTJets_PUS14 ] - -#-------- SEQUENCE - -sequence = cfg.Sequence(susyCoreSequence+[ - ttHEventAna, - treeProducer, - ]) - - -#-------- HOW TO RUN -test = 1 -if test==1: - # test a single component, using a single thread. - comp = selectedComponents[0] - comp.files = comp.files[:4] - selectedComponents = [comp] - comp.splitFactor = 1 -elif test==2: - # test all components (1 thread per component). - for comp in selectedComponents: - comp.splitFactor = 1 - comp.files = comp.files[:1] - - - -config = cfg.Config( components = selectedComponents, - sequence = sequence ) - -printComps(config.components, True) diff --git a/CMGTools/TTHAnalysis/cfg/validate_MT2.sh b/CMGTools/TTHAnalysis/cfg/validate_MT2.sh old mode 100644 new mode 100755 index 9f6aa2ee2430..b8a0e5f9b3d2 --- a/CMGTools/TTHAnalysis/cfg/validate_MT2.sh +++ b/CMGTools/TTHAnalysis/cfg/validate_MT2.sh @@ -1,4 +1,16 @@ -X=$PWD/$1; +#!/bin/bash + + + +if [[ "$#" -eq 0 ]]; then +echo "ERROR: the script needs at least one argument. Relunch it with one of the following options:" +echo "source validate_MT2.sh inputFolder" +echo "./validate_MT2.sh fileA.root fileB.root labelA labelB outputFolderName" +exit; +fi; + +if [[ "$#" -eq 1 ]]; then + X=$PWD/$1; # $1 is VALIDATEMT2 # copy files mt2_tree.root inside @@ -7,13 +19,56 @@ X=$PWD/$1; # to dun execute: source validate_MT2.sh VALIDATEMT2 -if test \! -d $X/ETHCERN; then echo "Did not find ETHCERN in $X"; exit 1; fi -test -L $PWD/SNT || ln -sd $PWD/SNT $X/ -v; -( cd ../python/plotter; - python mcPlots.py -f --s2v --tree mt2 -P $X bins/validation_mca_mt2.txt bins/validation_MT2.txt bins/validation_plots_MT2.txt --pdir plots/70X/validation -p ref_ttHWWdata,ttHWWdata -u -e --plotmode=norm --showRatio --maxRatioRange 0.65 1.35 --flagDifferences -) + if test \! -d $X/ETHCERN; then echo "Did not find ETHCERN in $X"; exit 1; fi + test -L $PWD/SNT || ln -sd $PWD/SNT $X/ -v; + ( cd ../python/plotter; + python mcPlots.py -f --tree mt2 -P $X susy-mT2/validation_mca_MT2.txt susy-mT2/validation_MT2.txt susy-mT2/validation_plots_MT2.txt --pdir plots/70X/validation -p ref_ttHWWdata,ttHWWdata -u -e --plotmode=norm --showRatio --maxRatioRange 0.65 1.35 --flagDifferences + ) + +## susy-mT2/validation_mca_MT2.txt --> this contains style +## susy-mT2/validation_MT2.txt --> contains selections +## susy-mT2/validation_plots_MT2.txt --> contains content, plot titles and binning + + + +fi; + +if [[ "$#" -eq 5 ]]; then +eval `scramv1 runtime -sh` +workingDir="$PWD" + +fileA="$1" +fileB="$2" + +labelA="$3" +labelB="$4" +outputFolder="$5" + +if [ -d $outputFolder ]; then + echo "output folder " $outputFolder " already exists. Exiting.." + exit; +else + mkdir $outputFolder; + mkdir -p $outputFolder/$labelA/mt2; + mkdir -p $outputFolder/$labelB/mt2; + cp $fileA $outputFolder/$labelA/mt2/mt2_tree.root + cp $fileB $outputFolder/$labelB/mt2/mt2_tree.root +fi + + + +cat < $outputFolder/inputs.txt +ttHWWdata : $labelB : 1./0.0315 ; FillColor=ROOT.kOrange+10 , Label="$labelB" +ref_ttHWWdata+ : $labelA : 1./1.124 ; FillColor=ROOT.kAzure+2, Label="$labelA" +EOF + +cd ../python/plotter/ + +python mcPlots.py -f --tree mt2 -P $workingDir/$outputFolder $workingDir/$outputFolder/inputs.txt susy-mT2/validation_MT2.txt susy-mT2/validation_plots_MT2.txt --pdir $workingDir/$outputFolder/plots -p ref_ttHWWdata,ttHWWdata -u -e --plotmode=norm --showRatio --maxRatioRange 0.65 1.35 --flagDifferences + +cd $OLDPWD -## bins/validation_mca.txt --> this contains stile -## bins/validation.txt --> contains selections -## bins/validation_plots.txt --> contains content and tille and ranges +cp $outputFolder/$labelA/mt2/mt2_tree.root $outputFolder/plots/$labelA.root +cp $outputFolder/$labelB/mt2/mt2_tree.root $outputFolder/plots/$labelB.root +fi; \ No newline at end of file diff --git a/CMGTools/TTHAnalysis/cfg/validate_multilep.sh b/CMGTools/TTHAnalysis/cfg/validate_multilep.sh index 3ea32f385730..0c8686dc3c69 100644 --- a/CMGTools/TTHAnalysis/cfg/validate_multilep.sh +++ b/CMGTools/TTHAnalysis/cfg/validate_multilep.sh @@ -1,6 +1,19 @@ -X=$PWD/$1; +if [[ "$1" == "-run" ]]; then + shift; + name="$1"; if [[ "$name" == "" ]]; then name="TrashML"; fi; + echo "Will run as $name"; + rm -r $name 2> /dev/null + heppy $name run_susyMultilepton_cfg.py -N 2000 -o test=1 -o nofetch -p 0 + echo "Run done. press enter to continue (ctrl-c to break)"; + read DUMMY; + X=$PWD/$name; +else + X=$PWD/$1; +fi; + +if test -d $X/TTH_Chunk0; then (cd $X; haddChunks.py -c .); fi; if test \! -d $X/TTH; then echo "Did not find TTH in $X"; exit 1; fi test -L $PWD/Reference_TTH || ln -sd $PWD/Reference_TTH $X/ -v; ( cd ../python/plotter; - python mcPlots.py -f --s2v --tree treeProducerSusyMultilepton -P $X bins/validation_mca.txt bins/validation.txt bins/validation_plots.txt --pdir plots/72X/validation -p ref_ttH,ttH -u -e --plotmode=nostack --showRatio --maxRatioRange 0.65 1.35 --flagDifferences + python mcPlots.py -f --s2v --tree treeProducerSusyMultilepton -P $X susy-multilepton/validation_mca.txt susy-multilepton/validation.txt susy-multilepton/validation_plots.txt --pdir plots/72X/validation -p ref_ttH,ttH -u -e --plotmode=nostack --showRatio --maxRatioRange 0.65 1.35 --flagDifferences ) diff --git a/CMGTools/TTHAnalysis/data/fakerate/FR_mc_ttH_iso.root b/CMGTools/TTHAnalysis/data/fakerate/FR_mc_ttH_iso.root new file mode 100644 index 000000000000..551b0234a9cf Binary files /dev/null and b/CMGTools/TTHAnalysis/data/fakerate/FR_mc_ttH_iso.root differ diff --git a/CMGTools/TTHAnalysis/data/fakerate/FR_mc_ttH_mva.root b/CMGTools/TTHAnalysis/data/fakerate/FR_mc_ttH_mva.root new file mode 100644 index 000000000000..36e3173c0986 Binary files /dev/null and b/CMGTools/TTHAnalysis/data/fakerate/FR_mc_ttH_mva.root differ diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_high_cb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_high_cb_BDTG.weights.xml deleted file mode 100644 index 1331ccf3a6dd..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_high_cb_BDTG.weights.xml +++ /dev/null @@ -1,15075 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0 0.00373045 0 0 0.0308368 0 0.0150393 0.0139155 0.0134669 0.0311336 0.0173826 0.00187223 0 0.0109695 0.0310444 0.00945954 0 0 0.0182122 0.0201197 0 0 0 0.0281436 0 0 0 0.015398 0 0.0226121 0.00496006 0.0143632 0 0 0.015398 0.000489792 0.0201197 0.00788953 0 0.0150393 0 0.0143632 0.0143632 0.0144818 0.0512532 0 0 0.00788953 0 0 0.0150053 0 0 0 0.0287011 0 0 0.0136618 0.0391247 0 0 0.0149776 0.0311336 0.0430297 0.0139586 0 0 0 0 0.0136618 0.0287011 0.000101603 0.0145363 0 0 0.0136618 0.0216677 0 0.023375 0.00788953 0.045778 0.0282787 0.00636385 0.0171561 0.00945954 0 0 0.0153069 0 0 0.0529212 0.0136618 0 0 0 0 0.0150393 0 0.0293566 0.0153069 0.0454537 0 0.0334004 0.0289687 0.0139586 0.0150393 0.034343 0 0.00496006 0 0 0.0306139 0.015398 0 0.0153039 0 0 0.0523194 0 0.0143632 0.0659326 0.0275773 0.0187081 0.0269849 0.0215513 0.015398 0.0574713 0.0139155 0.00636385 0.0136618 0 0.00373045 0.0433152 0 0.0201197 0.0134669 0 0.0139155 0.0136618 0 0.018447 0.00945954 0.00187223 0.0217693 0.00636385 0.0372946 0 0 0 0.00187223 0.0150393 0 0.0281436 0.021805 0 0.0228196 0.00788953 0 0.0246495 0 0.0220248 0 0 0.00496006 0.017175 0.0280092 0 0 0.0462757 0.0109695 0.0150053 0.0266387 0.0123248 0 0.00945954 0.00636385 0.0584003 0.0419072 0.0287707 0.0297613 0.0139155 0.0275721 0 0.0123248 0.0401042 0.0414764 0.0274255 0.0218531 0.0291185 0.0368012 0.00868433 0.025745 6.03568e-05 0 0.017175 0.0446724 0.0307019 0.0602518 0 0 0.0201197 0 0.0283972 0.0143632 0.0149776 0 0.0149776 0.0302658 0.00280112 0.0139155 0.0201197 0 0.00789455 0.0153039 0.017175 0.0351589 0.00269952 0.059535 0 0.0340782 0.0144818 0 0.0287011 0.0139586 0 0 0.0303462 0.0292582 0.0289657 0.032573 0 0.0338761 0.00496006 0 0.0149776 0.00788953 0.0603068 0.0490972 0.0248576 0.036388 0.0376174 0 0 0 0.0153039 0.0136618 0.0153039 0.11329 0.0260088 0.0429225 0.0226121 0.0252721 0.0153039 0.0139586 0.0123248 0.0302846 0 0 0.0149776 0.0173922 0 0.0432563 0.0284682 0.0304033 0.0323602 0.0120832 0.0144818 0.042134 0.027364 0.0194167 0.0173826 0.0526906 0.0123248 0.00124448 0.0173922 0.0150053 0.0549999 0.047359 0.00124448 0.0404566 0.0325754 0.0213564 0 0.0144818 0.0144053 0.0455722 0.0326895 0.0201197 0.0582172 0.0343511 0.0139586 0.00124448 0.0136618 0.0120832 0.0293135 0 0.00124448 0.0150289 0.0477065 0 0 0.0150393 0.0139554 0.0373767 0.0139586 0.0398344 0 0.0282787 0.0279486 0.0696135 0.0173826 0.0153039 0.0201197 0.043682 0.0289362 0.00124448 0.0223426 0 0.0120832 0.0506672 0 0.0355177 0.0153069 0.0375897 0.0253328 0.0259986 0.0496355 0.0171973 0.0139155 0.015398 0 0.00187223 0.00269952 0.0970431 0.0443017 0.0220248 0.0503349 0 0.0139155 0.0446004 0.0297587 0.0134669 0 0.0139155 0.0552712 0.0433749 0.0215427 0.0939849 0.029521 0.0226121 0.0181774 0.017175 0.0150053 0.0294025 0.0447064 0.0571414 0.0741136 0.015398 0.015398 0.0149776 0 0.0144818 0.0231213 0.0249546 0.0306746 0.0423989 0.00789455 0.0394099 0.0617097 0.0283972 0.0337815 0.035125 0.0123248 0.0433152 0.0150393 0.0284403 0 0.0593383 0.0333408 0.0176459 0.015398 0.0558296 0.0300169 0.0274255 0.0689761 0.0512792 0.0278309 0.0204291 0.0139155 0.0445568 0.0523669 0.0139586 0 0.0510226 0.0462659 0.0120832 0.0437064 0.0693573 0 0.0226121 0.0123248 0.0350124 0.040083 0 0 0 0.0150393 0.0572846 0.0170753 0.0562042 0.0275773 0.0150393 0.0223713 0.0308604 0.0382996 0.00373045 0.017689 0.00788953 0.0665571 0.0794021 0.017175 8.83221e-06 0.00994933 0.0193233 0.0284403 0.0203224 0.042382 0.000489792 0.0518585 0.109325 0.0358564 0.0303757 0.0401983 0.0797147 0.0517764 0.0262402 0.0402393 0.0259865 0.0289657 0.0136618 0.0153069 0.0306139 0 0.0301473 0.034943 0 0.00636385 0.0706908 0.0510566 0.0281436 0.0182122 0.0153039 0.0278741 0.0435175 0.0778854 0.0662834 0.0139155 0.0160552 0.0492772 0.0463974 0.0143632 0.0262734 0.0714541 0.0708096 0.0412179 0.0144818 0.0500941 0.0153069 0.0317458 0.0239413 0.0544949 0.0201197 0.0289657 0.053607 0.0284445 0.0504288 0.0153039 0.0139155 0.0311336 0.0173922 0.0414888 0.0434583 0.083036 0.0572111 0.0150053 0.0134669 0.07197 0.057316 0.0560599 0.0120832 0.0379159 0.0402963 0 0.0563942 0.0391445 0 0.0134669 0 0.10459 0.0354036 0 0.0226121 0.0123248 0.0222528 0.0283218 0.0332884 0.0382176 0.0582294 0.0238228 0 0.0814097 0.030705 0.0519291 0.0433391 0.034194 0.0508043 0 0.0589435 0.0178133 0.0412928 0.0458408 0.0432428 0.0139155 0 0.00373045 0.0706079 0.015398 0 0.0641352 0.0324788 0.0679705 0.0874858 0 0.027231 0.0606248 0.0355177 0.00124448 0.098936 0.0258643 0.017175 0.0268065 0.00513312 0.029521 0.0935984 0.0254513 0.083453 0.00906336 0.0246313 0.0143632 0.0539448 0.0938264 0.089532 0.0289639 0.00945954 0.0466115 0.0493318 0.066211 0.0289978 0.0477311 0.0528801 0.0596689 0.0881467 0.0448978 0.0295792 0.0672668 0.0581859 0.00789455 0.0303757 0.0323349 0.0392404 0.0217619 0.0331616 0.0322901 0.0459488 0.0170846 0.0415426 0 0.000101603 0.0153069 0.0259748 0.0139586 0.0531584 0.0838173 0.0139155 0.0549998 0.0461356 0.0359403 0 0.0789207 0.0123248 0.0153039 0.0477858 0 0.0220248 0.0349503 0.0626246 0.0294852 0.0302815 0.0888852 0.0215513 0.0262734 0.0404566 0.0934215 0.0725655 0.0229288 0.0244988 0.0253891 0.0442617 0.103435 0.0232876 0.0437442 0.0351589 0.0852323 0.0161928 0.00913903 0.050422 0.022135 0.0549157 0.0822505 0.0365645 0.0583065 0.0554684 0.0144053 0.0289639 0.0427317 0.0569458 0.0347457 0.0259986 0 0.102707 0.0232414 0.044562 0.047976 0.0424909 0.035125 0.0561114 0.0516011 0.0275773 0.100626 0.0365906 0.0586358 0.0747099 0.0262734 0.0384429 0.00187223 0.0293135 0.0439354 0.0136618 0.0439067 0.0201477 0.0239413 0.0139155 0.0634953 0.075064 0.0929493 0.0463127 0.0209054 0.0720858 0.0757869 0.0557704 0.0651588 0.075672 0.0878603 0.0751896 0.0465435 0.0421031 0.0305344 0.0826673 0.0166499 0.0281436 0.0258498 0.0399534 0.0237687 0.0529311 0.0490835 0.0545909 0.0407503 0.057097 0.0522946 0.0289657 0.0691048 0.0440807 0.0806231 0.0362739 0.078533 0.000794801 0.0484625 0.0143632 0.00269952 0.0513054 0 0.0847701 0.0327314 0.0216735 0.0435416 0.043094 0.0434294 0.0390231 0.0153039 0.0675079 0.0229602 0.0509852 0.0890914 0.0652503 0.0685679 0.0461112 0.0488924 0.0419118 0.0461297 0.0603292 0.00269952 0.0647657 0.0293566 0.0732242 0.0166622 0.107427 0.0612549 0.11138 0.0303614 0.0250733 0.0519243 0.0293135 0.0942922 0.0620758 0.0398083 0.0745401 0.0748346 0.0805663 0.0996719 0.0927839 0.0644358 0.00636385 0.0401453 0.0619014 0.0873477 0.0476865 0.169997 0.0440334 3.69068e-05 0.0844455 0.0651492 0.0371824 0.0970452 0.062849 0.0388894 0.0362244 0.0587249 0.0668375 0.0231658 0.0547494 0.0468841 0.107432 0.0841422 0.0634807 0.0281534 0.0437442 0.0333573 0.140332 0.0515759 0.0621554 0.0408839 0.0704049 0.120247 0.0618647 0.0559717 0.0561868 0.0193233 0.0572875 0.0793296 0.0524919 0.0379159 0.0590621 0.0520997 0.0596489 0.0403619 0.0229057 0.0292624 0.0262833 0.0518545 0.0821026 0.0850251 0.0776391 0.0786038 0.0665162 0.0939738 0.0362615 0.0822892 0.117377 0.103888 0.149811 0.0338746 0.0601349 0.0537519 0.0672061 0.0374974 0.113109 0.101966 0.0861049 0.0465041 0.12293 0.0827414 0.0428842 0.121148 0.0928231 0.196479 0.0303757 0.058718 0.0231984 0.0823795 0.0345799 0.0799613 0.0661006 0.0344148 0.0966778 0.123638 0.0864491 0.122084 0.0753733 0.00636385 0.0328341 0.137357 0.0315644 0.0798159 0.0721938 0.121186 0.0377165 0.0872965 0.0875467 0.159164 0.0982474 0.0754997 0.0749449 0.0360391 0.130976 0.0809465 0.0576655 0.0426165 0.112557 0.0292624 0.0867212 0.118528 0.0674695 0.0584251 0.0569748 0.0877479 0.109258 0.0523679 0.0910706 0.144436 0.0584205 0.0993705 0.0982029 0.0941788 0.0992687 0.0120832 0.117801 0.122079 0.107897 0.0586959 0.0504187 0.151256 0.0928626 0.041384 0.0932314 0.0644676 0.0849252 0.0766385 0.0879335 0.0848011 0.09696 0.12318 0.0469842 0.0882952 0.0545048 0.0915757 0.0290967 0.0565312 0.0927641 0.0800629 0.0432045 0.0716904 0.163266 0.0914865 0.120059 0.112921 0.0885513 0.0694631 0.119532 0.112811 0.105959 0.0858502 0.18169 0.117635 0.0381261 0.0960578 0.0984558 0.102748 0.0557796 0.0626893 0.0950545 0.0344214 0.180736 0.0303122 0.0702216 0.180608 0.108445 0.0756435 0.0586812 0.0844781 0.0184932 0.0438251 0.0293685 0.065072 0.121347 0.0957202 0.0493852 0.0286078 0.0813191 0.072493 0.078178 0.0417456 0.0959884 0.0794295 0.0390127 0.0728919 0.0499302 0.100709 0.119422 0.0730288 0.0454076 0.0904095 0.0831016 0.096294 0.080961 0.0488102 0.1276 0.0988804 0.0944549 0.0871739 0.118409 0.0844056 0.0465435 0.0897687 0.0729903 0.062088 0.0420402 0.0808573 0.0750005 0.0981472 0.135978 0.0397441 0.0917303 0.0349525 0.158116 0.0667765 0.174767 0.111709 0.0648169 0.107366 0.136132 0.124552 0.0957903 0.0813617 0.066053 0.0825582 0.111651 0.0404608 0.107353 0.0608499 0.0957381 0.0623743 0.0671273 0.0976269 0.138572 0.0809216 0.0890892 0.0541285 0.0989896 0.0774637 0.157594 0.0642869 0.0924646 0.122908 0.0464016 0.0505037 0.110233 0.0620251 0.116398 0.0896263 0.114557 0.080277 0.106871 0.190549 0.0959769 0.0980716 0.105591 0.0161277 0.201184 0.144461 0.0896899 0.0750332 0.149445 0.089126 0.092395 0.0968543 0.114377 0.156515 0.106136 0.168913 0.0486048 0.187472 0.145833 0.0995494 0.120325 0.120076 0.112686 0.0992811 0.119505 0.105167 0.107629 0.0882727 0.0355099 0.17676 0.0697565 0.0511975 0.109583 0.193159 0.139687 0.0718215 0.13674 0.0947764 0.11581 0.0806614 0.0608572 0.112855 0.112948 0.0734076 0.0914758 0.187299 0.0909629 0.184817 0.21487 0.0858002 0.0588345 0.115413 0.0779939 0.0485584 0.0983673 0.116193 0.0434577 0.0832096 0.09809 0.133552 0.0927852 0.0678595 0.159451 0.0924109 0.165545 0.10128 0.127398 0.13065 0.157253 0.199529 0.0963112 0.059535 0.181472 0.0868607 0.124843 0.0405542 0.0631306 0.15443 0.10029 0.126659 0.0877439 0.127923 0.143602 0.110529 0.0887095 0.140533 0.0939156 0.0219919 0.0839709 0.0910447 0.152255 0.116533 0.135826 0.0832629 0.160375 0.161201 0.209857 0.0934973 0.110611 0.162432 0.045003 0.1091 0.117306 0.0852216 0.21043 0.122826 0.14702 0.113963 0.110791 0.185153 0.0909253 0.172133 0.11024 0.145909 0.161349 0.219353 0.166018 0.0918917 0.0773269 0.108069 0.141879 0.182767 0.135916 0.163463 0.131337 0.240531 0.131595 0.164644 0.190161 0.0833816 0.155332 0.087566 0.122103 0.0453427 0.107788 0.0852129 0.165137 0.162526 0.121077 0.176669 0.126409 0.108883 0.183998 0.155111 0.190015 0.111648 0.0567709 0.155405 0.161583 0.111111 0.191164 0.15943 0.144404 0.0683595 0.137579 0.185341 0.264913 0.138393 0.176145 0.0862393 0.158113 0.160122 0.102866 0.112162 0.165991 0.118038 0.120281 0.146452 0.120676 0.233894 0.155517 0.15744 0.0936889 0.0557409 0.273057 0.146329 0.245664 0.095273 0.0590198 0.129774 0.116086 0.126307 0.247432 0.12491 0.120623 0.12147 0.222588 0.132657 0.119811 0.178576 0.182153 0.190848 0.252706 0.277849 0.156273 0.105292 0.177551 0.152614 0.0815333 0.159112 0.186754 0.100435 0.119461 0.0865835 0.160774 0.162908 0.257104 0.114626 0.214086 0.0533212 0.176709 0.299443 0.114506 0.162944 0.131043 0.0926965 0.124997 0.173644 0.120588 0.136481 0.0805391 0.100898 0.192146 0.18358 0.215531 0.197983 0.281974 0.181977 0.126128 0.135652 0.108516 0.101817 0.137641 0.22116 0.190205 0.137195 0.159551 0.183705 0.175687 0.153642 0.228632 0.0802302 0.240442 0.162298 0.165043 0.252718 0.213298 0.141594 0.147756 0.248729 0.197583 0.167557 0.122766 0.276495 0.258478 0.182819 0.14233 0.282823 0.207092 0.2864 0.20373 0.163098 0.195298 0.166466 0.14654 0.245401 0.231665 0.196997 0.170048 0.218972 0.345333 0.287644 0.126478 0.179358 0.253249 0.21932 0.192458 0.182243 0.149381 0.160321 0.237626 0.195286 0.230485 0.186487 0.217809 0.151034 0.25871 0.22003 0.161093 0.237743 0.124151 0.222787 0.142233 0.207746 0.153665 0.283835 0.352745 0.208124 0.171121 0.133889 0.132138 0.161735 0.220305 0.204087 0.236045 0.204517 0.174369 0.215001 0.283819 0.227431 0.140568 0.23391 0.231709 0.250271 0.227001 0.202066 0.146237 0.300326 0.164387 0.274294 0.21539 0.173298 0.197425 0.138115 0.25317 0.265066 0.189585 0.223056 0.294716 0.313363 0.243929 0.166899 0.212205 0.271268 0.193936 0.293908 0.242614 0.373388 0.359108 0.194813 0.304428 0.151002 0.142232 0.319586 0.252434 0.210998 0.240329 0.241596 0.351047 0.236533 0.292429 0.221857 0.207827 0.177193 0.220716 0.366037 0.183998 0.336225 0.261655 0.32515 0.333782 0.325003 0.14344 0.236289 0.224149 0.29661 0.239793 0.180762 0.341157 0.210873 0.329921 0.290888 0.250693 0.148007 0.194038 0.158551 0.204308 0.216201 0.241085 0.20747 0.22472 0.245371 0.25814 0.243334 0.194974 0.317715 0.22496 0.281774 0.25289 0.354004 0.213649 0.338033 0.201135 0.376522 0.157289 0.267054 0.33863 0.244463 0.371373 0.248842 0.21037 0.274623 0.263225 0.324393 0.363568 0.383261 0.240444 0.287148 0.281989 0.236562 0.263416 0.350188 0.243199 0.146065 0.317567 0.281308 0.38826 0.315657 0.335329 0.241614 0.275616 0.329673 0.181162 0.246499 0.401047 0.255399 0.321272 0.172837 0.353243 0.316024 0.308065 0.325751 0.365452 0.351493 0.333683 0.230329 0.302882 0.265314 0.33811 0.394074 0.304286 0.317618 0.270646 0.248217 0.303294 0.315504 0.295453 0.252977 0.329765 0.322105 0.319514 0.258498 0.488607 0.369323 0.300205 0.333972 0.360111 0.363066 0.337969 0.35143 0.277332 0.400655 0.268276 0.375563 0.406078 0.321344 0.288365 0.168432 0.365361 0.408482 0.299271 0.469458 0.527829 0.283584 0.334814 0.421691 0.386128 0.495539 0.406448 0.318902 0.34741 0.42613 0.395113 0.338438 0.246444 0.237482 0.360597 0.350029 0.326179 0.31646 0.482138 0.439417 0.304973 0.359733 0.336148 0.360369 0.372644 0.408004 0.506926 0.288871 0.376398 0.394529 0.3635 0.451533 0.49439 0.343654 0.320492 0.246408 0.408002 0.326856 0.378726 0.408248 0.410744 0.375097 0.374389 0.501959 0.454583 0.461089 0.374464 0.480543 0.442577 0.375897 0.538537 0.478356 0.461192 0.415832 0.358397 0.519533 0.449567 0.42284 0.497532 0.468513 0.453489 0.47958 0.324654 0.516584 0.446648 0.465689 0.485487 0.456088 0.511012 0.45017 0.427018 0.282597 0.545689 0.438597 0.501446 0.469266 0.489347 0.555593 0.436642 0.540128 0.425013 0.643084 0.434762 0.471585 0.367492 0.470013 0.534671 0.637224 0.471231 0.48536 0.553383 0.520883 0.33125 0.386241 0.469102 0.621345 0.62286 0.384718 0.331328 0.680044 0.629159 0.465912 0.602004 0.687117 0.65191 0.607927 0.730287 0.445752 0.546599 0.621457 0.464804 0.581976 0.54663 0.44251 0.437203 0.488538 0.53156 0.789627 0.605228 0.490989 0.466165 0.547476 0.634673 0.610477 0.703705 0.60489 0.497356 0.510312 0.383987 0.658873 0.823023 0.611213 0.792512 0.544964 0.659747 0.496087 0.51368 0.535253 0.713046 0.66903 0.814009 0.566185 0.803815 0.636558 0.706562 0.794897 0.71279 0.764864 0.663601 0.894933 0.885968 0.82804 0.557691 0.854785 0.759355 0.818536 0.86315 0.780323 0.857127 0.898673 0.679741 0.763335 0.762521 0.701805 0.634038 0.943342 0.639966 0.69229 0.971691 0.838539 0.93563 0.711285 1.00548 1.06115 0.897477 0.924711 0.743765 1.01788 0.746318 0.837107 0.846093 0.845872 0.755294 0.983896 0.843985 0.797556 0.909407 0.950673 0.928603 0.959261 0.84946 0.994651 0.926081 1.02372 1.15556 0.959116 1.0464 0.971422 1.18516 1.16782 1.06125 1.02955 1.31976 1.05378 1.07391 1.02607 0.960739 1.10717 0.965742 1.00751 1.09816 1.51259 1.10308 0.981187 1.15017 1.05645 1.18519 1.23064 1.34106 1.14314 1.31276 1.15114 1.16589 1.23131 1.42069 1.37985 1.09967 1.26177 1.44266 1.29855 1.35122 1.16963 1.30886 1.39087 1.44925 1.42213 1.33243 1.4149 1.51092 1.3266 1.28047 1.58725 1.60589 1.73658 1.95025 1.63061 1.18412 1.60696 1.58225 1.61509 1.33015 1.46961 1.86938 1.63905 1.43027 1.64226 1.41157 1.88987 1.73484 1.63032 1.7106 1.79943 1.54726 1.57807 2.15358 1.57929 1.74784 1.69553 1.99131 1.87832 1.86671 1.74726 1.5549 2.03758 2.14485 2.0756 2.13422 2.10235 1.98748 2.04281 2.08289 2.4128 2.0173 2.30416 2.41108 2.34393 2.04085 1.98205 2.25816 2.71837 2.39037 2.47364 2.43976 2.88247 2.5414 2.30986 2.58959 2.73909 2.6271 2.80747 3.01569 2.49762 3.21008 2.72457 3.06502 3.20167 3.07749 2.9618 2.9616 3.15233 3.17309 3.11131 3.53496 3.24209 3.55235 3.09549 3.41986 3.31728 3.35038 3.65613 3.5149 3.65177 3.57473 4.02486 3.95611 3.5348 4.38461 4.20414 3.92019 4.05011 4.56832 4.56729 4.49181 4.74373 4.32309 4.63589 4.92229 4.51713 4.72834 4.49771 4.6051 5.13441 5.79245 5.44645 5.33571 5.04954 5.46797 5.82801 5.70001 5.62046 5.65057 5.69905 6.30961 5.70478 6.08453 5.83089 6.77146 6.8307 7.16454 7.12098 6.66576 6.95159 7.20046 7.27773 7.05097 7.64493 7.70161 8.16384 8.12357 8.86862 9.57395 9.80433 11.1231 10.0563 8.71226 9.69656 10.2624 10.5112 9.46778 10.0599 12.4839 15.9859 11.3284 9.15258 6.8103 5.37384 5.02583 4.00957 3.8575 3.16486 2.47048 1.6559 0.871152 0.417196 0.289885 0.171281 0.102193 0.1043 0.0769082 0.0610505 0.00945954 0.0150053 0 2.36498e-05 - - - - - 1.11967 3.0309 5.89658 5.81873 6.37233 7.55571 6.6923 6.3366 5.78342 6.55937 5.5077 5.75471 4.94516 5.64296 4.67836 4.98804 3.40979 3.92435 3.60622 3.37213 3.19047 3.65295 3.1031 2.32104 2.81272 3.1909 3.26268 2.70224 2.45922 2.88682 2.52713 2.43116 2.96514 2.65985 2.26395 2.12129 2.48118 2.87251 2.08713 2.27364 2.41921 1.57583 1.89714 2.16744 1.62846 1.52598 1.73683 1.77041 1.82508 2.27892 1.44118 1.78207 1.80616 1.42707 1.5124 0.812219 1.60975 1.71509 1.77807 1.46028 1.40571 1.80292 1.74229 1.5441 1.31831 0.981077 1.29707 1.25202 1.25078 2.08783 1.15302 1.40778 1.19333 1.08623 1.31202 1.8654 1.75659 0.851449 1.00896 1.33327 1.39385 1.26527 0.838409 0.774787 1.30673 1.3231 0.890168 1.50358 1.22944 1.11048 1.05131 1.01202 1.05083 1.23217 0.99283 0.763746 0.708862 1.1499 1.33867 0.869015 1.31553 0.945711 1.22048 1.01881 1.08807 1.23706 1.08348 1.36635 0.728643 0.814245 0.939034 1.13539 1.21246 1.07887 0.954151 0.939042 0.746479 0.976014 0.894393 1.32887 1.00314 0.924559 1.43258 1.20357 1.0078 0.914246 1.16507 0.512256 0.799622 1.00233 0.870374 0.706862 0.869098 0.502256 0.995681 0.885756 0.431852 0.973641 0.752328 0.804296 1.03467 0.866954 0.987739 0.95106 0.899694 1.09999 0.592621 0.779975 0.842363 0.796663 0.616374 1.23081 0.77617 0.970765 0.81388 0.86372 0.697311 0.979598 0.824461 0.52395 0.569607 0.686191 0.737674 0.565787 0.816 0.67282 0.482125 0.994593 0.793104 1.3773 0.808877 0.695267 0.600497 0.793389 0.303152 0.621221 0.709624 0.529023 0.70596 0.4303 0.670248 0.448283 0.493005 0.458836 0.586718 0.706402 0.561127 0.80625 0.29767 0.923295 0.814246 0.678433 0.451806 0.571289 0.907195 0.725744 0.703649 0.502274 0.332703 0.574675 0.897964 0.600352 0.444712 0.470075 1.01771 0.7643 0.558568 0.709343 0.658203 0.709764 0.803931 0.809687 0.939814 0.536109 0.724286 0.3312 0.403911 0.584367 0.523117 0.41763 0.325292 0.465564 0.813685 0.594527 0.68717 0.533196 0.957494 0.469439 0.155818 0.63645 0.464119 0.892409 0.672528 0.623231 0.414435 0.839444 0.507776 0.75338 0.580917 0.571777 0.593194 0.637821 0.787807 0.691394 0.382516 0.315715 0.44532 0.655423 0.542001 0.66537 0.64942 0.454254 0.346555 0.594559 0.55374 0.3871 0.24757 0.649139 0.425741 0.282435 0.569204 0.776065 0.721189 0.519924 0.335456 0.652398 0.666706 0.560379 0.332373 0.408043 0.460982 0.396691 0.330224 1.09734 0.404311 0.939259 0.409259 0.358154 0.4911 0.584232 0.602963 0.731324 0.369101 0.494143 0.678354 0.349514 0.660337 0.336062 0.452652 0.515464 0.455732 0.191488 0.486609 0.612721 0.658209 0.462539 0.447832 0.302613 0.449042 0.651484 0.707529 0.415997 0.934942 0.435593 0.458053 0.26585 0.562878 0.378859 0.280723 0.36995 0.255181 0.547273 0.282239 0.382738 0.281626 0.511617 0.375861 0.455718 0.401434 0.439679 0.44092 0.576865 0.493001 0.416651 0.655314 0.448622 0.64247 0.802948 0.504998 0.364891 0.10118 0.423182 0.573061 0.400524 0.2842 0.610834 0.178913 0.383409 0.400358 0.46645 0.46465 0.517017 0.237162 0.598647 0.468842 0.24572 0.386706 0.417356 0.416296 0.453544 0.661313 0.536987 0.352695 0.625483 0.528352 0.291026 0.477655 0.605771 0.38627 0.417738 0.451073 0.205163 0.462683 0.527265 0.480271 0.416363 0.749382 0.672782 0.538721 0.449778 0.380341 0.494698 0.475898 0.459568 0.30997 0.205321 0.776839 0.346963 0.511924 0.635701 0.398369 0.31238 0.359272 0.262527 0.37523 0.485233 0.466754 0.433631 0.454696 0.549901 0.475172 0.295133 0.372669 0.49579 0.520659 0.272951 0.267433 0.420169 0.758233 0.190438 0.444616 0.730284 0.639344 0.284436 0.462259 0.241557 0.525983 0.206311 0.548119 0.438486 0.295762 0.547092 0.201807 0.252529 0.459955 0.375169 0.380722 0.427116 0.353995 0.150999 0.294208 0.500022 0.18057 0.163409 0.566038 0.303063 0.574067 0.640158 0.387034 0.221056 0.31375 0.244901 0.394706 0.452965 0.420756 0.234712 0.416113 0.560152 0.374767 0.145414 0.440781 0.225996 0.363111 0.425186 0.494092 0.497866 0.456172 0.588381 0.194029 0.504164 0.482332 0.37039 0.226181 0.36303 0.254842 0.459244 0.546354 0.298187 0.32797 0.360375 0.323725 0.356894 0.233373 0.468149 0.704087 0.266383 0.427293 0.42348 0.373547 0.387692 0.360721 0.1451 0.450715 0.146635 0.455785 0.309924 0.607913 0.26363 0.424657 0.371297 0.217996 0.530305 0.20664 0.341712 0.447894 0.0999075 0.301394 0.457592 0.343948 0.418025 0.233097 0.276156 0.360863 0.295215 0.401401 0.333608 0.348455 0.484702 0.278585 0.136044 0.572224 0.147451 0.190955 0.17018 0.516461 0.200244 0.564689 0.42309 0.217338 0.273778 0.121645 0.35282 0.255388 0.365063 0.237185 0.0541466 0.349012 0.60658 0.326813 0.5629 0.594937 0.192804 0.246761 0.264094 0.267671 0.293796 0.254684 0.409972 0.290459 0.0983683 0.238759 0.241095 0.259508 0.381013 0.180309 0.356226 0.34559 0.588284 0.657323 0.573339 0.399692 0.508386 0.375743 0.336791 0.482102 0.263309 0.296972 0.271656 0.306385 0.374367 0.437434 0.511468 0.258579 0.39874 0.257089 0.478551 0.574186 0.291117 0.164198 0.265237 0.291345 0.536526 0.458176 0.314842 0.225488 0.414623 0.336084 0.364011 0.184349 0.386317 0.144727 0.282826 0.430849 0.205479 0.344087 0.330587 0.299276 0.305735 0.40387 0.322182 0.594859 0.331083 0.248321 0.247537 0.40099 0.356457 0.263458 0.541452 0.574275 0.274104 0.181127 0.530756 0.300379 0.345463 0.343024 0.375939 0.341571 0.102544 0.50619 0.155621 0.165557 0.461578 0.118913 0.64544 0.470729 0.398734 0.440288 0.447819 0.532298 0.252841 0.273933 0.33715 0.435404 0.342972 0.0814465 0.397692 0.324182 0.122567 0.142993 0.390456 0.0942287 0.39234 0.0691543 0.265614 0.32776 0.483108 0.459035 0.339127 0.147677 0.425533 0.328518 0.413542 0.380594 0.135407 0.209819 0.462409 0.349012 0.310252 0.629216 0.296416 0.331948 0.242277 0.345581 0.352607 0.200777 0.282031 0.348861 0.2455 0.397987 0.254782 0.327448 0.263653 0.470926 0.58376 0.567396 0.29903 0.202494 0.347291 0.399263 0.684757 0.334437 0.539822 0.154334 0.251164 0.210224 0.374208 0.493231 0.215643 0.16747 0.259619 0.346752 0.329699 0.391821 0.657801 0.411482 0.443923 0.28978 0.379342 0.147836 0.356742 0.559496 0.44035 0.0937816 0.143344 0.314179 0.336562 0.328659 0.254039 0.147547 0.439929 0.408169 0.450001 0.311942 0.241112 0.382031 0.303104 0.398787 0.25512 0.329744 0.532567 0.323514 0.357936 0.39879 0.379795 0.292111 0.198615 0.31662 0.217954 0.323951 0.428441 0.448323 0.503524 0.594858 0.221596 0.444315 0.42498 0.220156 0.310995 0.674939 0.293825 0.38885 0.190757 0.350194 0.46578 0.347876 0.0711129 0.345847 0.324454 0.290787 0.427867 0.33698 0.591006 0.388193 0.491681 0.21294 0.285415 0.311697 0.383355 0.200395 0.462483 0.536846 0.3092 0.406333 0.321075 0.293972 0.466882 0.37555 0.229054 0.410125 0.265978 0.211306 0.496675 0.398471 0.62597 0.45221 0.547156 0.276237 0.233867 0.595229 0.352321 0.317374 0.245991 0.57766 0.247698 0.545604 0.302671 0.416088 0.332113 0.574709 0.254898 0.291043 0.242145 0.422114 0.596215 0.413118 0.352688 0.276094 0.437952 0.276406 0.535934 0.300233 0.366499 0.214792 0.532961 0.390455 0.215711 0.183022 0.252124 0.476426 0.209932 0.268034 0.155443 0.152979 0.517738 0.288819 0.251505 0.334061 0.228623 0.192831 0.511243 0.48123 0.396024 0.236354 0.284992 0.215974 0.27765 0.274404 0.400142 0.189733 0.361763 0.212807 0.358322 0.237155 0.230408 0.140013 0.215107 0.337386 0.334325 0.350667 0.279594 0.246591 0.311669 0.0646166 0.458307 0.398146 0.244949 0.704671 0.200097 0.265322 0.398773 0.325392 0.34654 0.27578 0.290661 0.334674 0.253957 0.419524 0.330115 0.422629 0.424401 0.282246 0.37954 0.467169 0.531061 0.372729 0.0964814 0.196623 0.448621 0.34412 0.421716 0.49952 0.317542 0.221406 0.196599 0.405862 0.341758 0.280301 0.245337 0.394483 0.451188 0.464126 0.0927411 0.374624 0.590718 0.194261 0.183535 0.145762 0.322293 0.301613 0.350544 0.124545 0.295999 0.203162 0.702374 0.326129 0.476265 0.149121 0.272388 0.284949 0.208525 0.414723 0.63047 0.192482 0.225956 0.292336 0.199649 0.228105 0.238724 0.376028 0.304048 0.248273 0.245528 0.378913 0.508825 0.391829 0.269318 0.215289 0.259097 0.388129 0.328414 0.333251 0.391448 0.275318 0.177304 0.0775975 0.329568 0.251554 0.316068 0.43274 0.149459 0.466661 0.310927 0.521836 0.254832 0.140475 0.284174 0.175654 0.175588 0.311451 0.293295 0.345168 0.131544 0.162251 0.487908 0.138719 0.350818 0.272415 0.210466 0.251856 0.487137 0.555592 0.458097 0.339143 0.25974 0.353669 0.440937 0.258145 0.238358 0.343398 0.429788 0.0933834 0.346256 0.130662 0.342952 0.198286 0.404511 0.493171 0.357878 0.298629 0.418045 0.124863 0.717658 0.23023 0.446659 0.317602 0.290848 0.199373 0.168809 0.517104 0.415714 0.293083 0.193555 0.252921 0.362695 0.24722 0.200859 0.291251 0.208019 0.201889 0.306791 0.336675 0.133979 0.17141 0.265864 0.388589 0.13204 0.21459 0.467255 0.284556 0.145523 0.363108 0.422494 0.309634 0.567088 0.323227 0.241928 0.0889282 0.436287 0.726977 0.218746 0.354179 0.219528 0.427599 0.284994 0.387252 0.243393 0.387094 0.29303 0.207455 0.203581 0.452418 0.181229 0.446368 0.127648 0.464679 0.212942 0.305628 0.443201 0.472155 0.310849 0.308085 0.417047 0.437533 0.180493 0.312925 0.531704 0.19981 0.335174 0.242738 0.188891 0.218916 0.35089 0.349069 0.541175 0.329287 0.694778 0.341304 0.150084 0.734864 0.389183 0.377751 0.273788 0.29128 0.254927 0.361157 0.489937 0.304467 0.272401 0.354527 0.247752 0.333844 0.175012 0.292716 0.237765 0.371033 0.41797 0.169144 0.386997 0.469833 0.0791265 0.251131 0.140707 0.35509 0.280581 0.241064 0.460564 0.461766 0.343737 0.209667 0.36612 0.109055 0.30177 0.280189 0.303846 0.523564 0.233662 0.467376 0.189392 0.226315 0.248792 0.368612 0.409572 0.279994 0.214456 0.236049 0.25515 0.261507 0.206856 0.277994 0.516282 0.158234 0.158959 0.205977 0.257616 0.26152 0.328715 0.308643 0.0943723 0.339841 0.254034 0.232053 0.295413 0.196914 0.735157 0.538967 0.101216 0.449927 0.381667 0.347804 0.278883 0.449493 0.244631 0.348869 0.193613 0.266084 0.208773 0.395466 0.266422 0.306319 0.313259 0.315789 0.128342 0.243101 0.0455146 0.318496 0.480917 0.30473 0.142159 0.389645 0.177764 0.0915103 0.366632 0.195038 0.38901 0.206593 0.387842 0.453242 0.310003 0.191141 0.234634 0.338609 0.374051 0.267595 0.252083 0.386754 0.257518 0.369087 0.399143 0.252703 0.214186 0.3472 0.268034 0.394909 0.182338 0.286218 0.339983 0.244942 0.227784 0.24888 0.209646 0.394966 0.165907 0.0891589 0.467336 0.396603 0.384173 0.157918 0.341658 0.359517 0.282479 0.384914 0.409839 0.443614 0.13766 0.242436 0.416605 0.171028 0.304945 0.806099 0.206452 0.357222 0.484913 0.177544 0.455888 0.432982 0.29287 0.620228 0.492823 0.248534 0.244615 0.288976 0.203147 0.401856 0.208738 0.312099 0.715288 0.510089 0.303915 0.559375 0.252093 0.318572 0.235944 0.157438 0.406714 0.341923 0.211821 0.409712 0.406575 0.259861 0.301279 0.283258 0.309348 0.440014 0.609364 0.150648 0.387568 0.372708 0.439287 0.238308 0.359642 0.171988 0.305763 0.144019 0.578178 0.355729 0.19734 0.228798 0.476619 0.363421 0.304505 0.239764 0.406816 0.253768 0.354389 0.195191 0.140715 0.251434 0.451516 0.47204 0.300685 0.238904 0.271265 0.590689 0.245211 0.046512 0.39889 0.210184 0.390741 0.390439 0.478507 0.219666 0.246809 0.153458 0.422949 0.327505 0.231503 0.263428 0.36775 0.251361 0.165364 0.241071 0.690652 0.25453 0.252021 0.130485 0.227847 0.316706 0.135299 0.215007 0.674777 0.4852 0.143129 0.242888 0.292395 0.365036 0.475144 0.343443 0.495878 0.454162 0.170411 0.15649 0.429396 0.311114 0.38561 0.193884 0.141943 0.243603 0.484691 0.320666 0.429894 0.366048 0.1509 0.215524 0.395684 0.105152 0.442498 0.578762 0.489016 0.127392 0.311564 0.455958 0.0510049 0.195574 0.346369 0.108406 0.138836 0.453499 0.156318 0.215963 0.381618 0.542007 0.284214 0.141799 0.215538 0.469554 0.45064 0.489736 0.449845 0.475346 0.351153 0.149564 0.219205 0.25794 0.352433 0.352347 0.298585 0.377192 0.172421 0.364586 0.3748 0.486687 0.524977 0.256658 0.332726 0.575965 0.259487 0.203343 0.462186 0.571294 0.209389 0.339464 0.455576 0.293563 0.408647 0.319764 0.303499 0.318783 0.0510435 0.510989 0.309832 0.452491 0.338297 0.270882 0.182484 0.36593 0.182643 0.334894 0.244205 0.21664 0.429729 0.263703 0.415442 0.400487 0.41704 0.475842 0.170753 0.418495 0.231349 0.159834 0.531929 0.317802 0.48282 0.238326 0.197183 0.181131 0.203098 0.229821 0.543894 0.14303 0.670099 0.248955 0.56496 0.254194 0.293663 0.207715 0.237967 0.421776 0.324559 0.302834 0.417301 0.588268 0.329989 0.0544609 0.557126 0.293805 0.252853 0.267644 0.34959 0.248155 0.28617 0.18627 0.243414 0.146368 0.132841 0.354693 0.466003 0.413126 0.368677 0.365342 0.403633 0.286452 0.17061 0.223724 0.266495 0.561504 0.672352 0.482615 0.139755 0.307073 0.222163 0.279776 0.402465 0.613781 0.266218 0.589536 0.205202 0.410075 0.342126 0.228258 0.522493 0.320438 0.402863 0.321886 0.483451 0.318233 0.405402 0.251424 0.299547 0.00623853 0.427655 0.480393 0.430934 0.38587 0.638221 0.599867 0.39867 0.605637 0.484003 0.441418 0.0576743 0.205505 0.427596 0.184544 0.356064 0.446279 0.388213 0.413808 0.369409 0.302276 0.422819 0.473287 0.176206 0.225091 0.347202 0.418357 0.448759 0.206641 0.406007 0.283619 0.170818 0.475637 0.492099 0.237471 0.197321 0.476659 0.170293 0.694698 0.578542 0.271904 0.429014 0.48669 0.252297 0.22648 0.405122 0.279758 0.654608 0.348402 0.428117 0.392383 0.312088 0.456393 0.235679 0.26037 0.437852 0.449764 0.224489 0.296741 0.44518 0.51891 0.200476 0.523568 0.322046 0.203944 0.245593 0.419561 0.601751 0.542138 0.206742 0.193844 0.381614 0.173218 0.263255 0.448989 0.410253 0.134271 0.398198 0.439885 0.201516 0.427796 0.386496 0.291162 0.313048 0.541079 0.264104 0.200509 0.398847 0.239521 0.233305 0.201594 0.296098 0 0.374259 0.593655 0.279991 0.139458 0.453306 0.767939 0.384433 0.621273 0.418257 0.257092 0.139754 0.403189 0.273579 0.360164 0.184822 0.159936 0.30759 0.268243 0.403545 0.343695 0.214077 0.444411 0.532806 0.245809 0.666846 0.533151 0.169206 0.328345 0.0998153 0.243924 0.353234 0.277388 0.602067 0.447214 0.249329 0.398607 0.307712 0.159554 0.233076 0.534215 0.599229 0.438234 0.637465 0.475634 0.126655 0.337066 0.22788 0.190542 0.61385 0.379645 0.47255 0.108916 0.230796 0.459605 0.396777 0.19489 0.365897 0.436471 0.457619 0.478601 0.378865 0.00414678 0.308685 0.363924 0.553033 0.338346 0.265654 0.429949 0.413771 0.533252 0.179387 0.539736 0.612225 0.223179 0.202255 0.493307 0.416791 0.321367 0.378976 0.227427 0.245307 0.512416 0.27434 0.335572 0.195039 0.402317 0.166633 0.579791 0.315981 0.43741 0.1691 0.467546 0.218876 0.299583 0.84402 0.397028 0.458646 0.4822 0.128592 0.645967 0.361902 0.518298 0.123519 0.460521 0.288122 0.400709 0.555095 0.683848 0.309937 0.490559 0.133103 0.42196 0.378597 0.294096 0.399557 0.325122 0.624438 0.575738 0.0356673 0.443224 0.269633 0.458657 0.46607 0.292869 0.387773 0.270481 0.46429 0.439547 0.282862 0.549754 0.18518 0.405966 0.325718 0.386946 0.27495 0.268979 0.243072 0.469463 0.429096 0.515389 0.376468 0.642045 0.669168 0.402341 0.449202 0.472389 0.384945 0.503825 0.306783 0.298701 0.753133 0.4038 0.586002 0.421775 0.341733 0.461707 0.329039 0.409042 0.209012 0.253415 0.3282 0.348574 0.508814 0.472731 0.356433 0.522221 0.500567 0.372444 0.401723 0.246734 0.485125 0.373545 0.369752 0.327076 0.311797 0.283431 0.544293 0.555348 0.422992 0.57068 0.390912 0.494701 0.527769 0.721984 0.354957 0.295706 0.455208 0.516326 0.38934 0.492142 0.702908 0.379765 0.320307 0.576977 0.621495 0.422412 0.483546 0.708625 0.296102 0.530705 0.45919 0.60224 0.662518 0.487086 0.480154 0.414741 0.384159 0.702003 0.18558 0.445731 0.458546 0.464062 0.477531 0.406422 0.35456 0.527016 0.572202 0.464222 0.455201 0.370959 0.425511 0.601326 0.448147 0.246196 0.238005 0.271478 0.315742 0.325062 0.652986 0.688487 0.470216 0.803842 0.855775 0.707068 0.46028 0.437262 0.357421 0.433757 0.300241 0.323845 0.513353 0.631157 0.43924 0.541794 0.534164 0.522897 0.465325 0.596061 0.2228 0.482437 0.439035 0.654397 0.415514 0.376027 0.522229 0.904634 0.394149 0.47965 0.773958 0.614477 0.336577 0.28499 0.857009 0.329661 0.73604 0.323485 0.251874 0.457482 0.508453 0.507898 0.531371 0.638962 0.376331 0.680989 0.40013 0.609126 0.599302 0.770018 0.656547 0.517627 0.409438 0.621745 0.560879 0.494092 0.424704 0.888414 0.435601 0.884743 0.490318 0.493091 0.685975 0.582273 0.284811 0.603054 0.667212 0.512276 0.436632 0.539576 0.536445 0.730707 0.730217 0.515237 0.769367 0.460449 0.534323 0.781202 0.423849 0.421079 0.291288 0.333431 0.198567 0.585274 0.341888 0.439804 0.331606 0.686229 0.54799 0.294 0.467892 0.444691 0.371854 0.543957 0.364607 0.69888 0.367109 0.868937 0.534855 0.294005 0.322393 0.291127 0.172853 0.0913856 0.135297 0.00623853 0.0402629 0.104863 0.000338555 0 0 0 0 0 0 0 0 0 0 0 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_high_ec_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_high_ec_BDTG.weights.xml deleted file mode 100644 index 52d5c2982eae..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_high_ec_BDTG.weights.xml +++ /dev/null @@ -1,6075 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.0177038 0 0 0.0385979 0.0459039 0.045561 0.0180883 0.0180883 0.0198356 0.042092 0.0361168 0.0401605 0.0473904 0.0454811 0.0186127 0 0.0194089 0.0292527 0.00242614 0.0222564 0.0376574 0 0 0.0202254 0.0225254 0 0.0364701 0.0102237 0.0354075 0 0.055201 0 0.0260722 0.0186127 0.04221 0 0.0388178 0.0300659 0.0375331 0.0267418 0.050813 0.0600151 0.0374973 0.0868092 0.0455943 0.0260722 0.0554739 0.0485159 0.0822063 0.00102995 0.0187663 0.0406137 0.0562876 0.0657888 0.0410227 0.0186909 0.0593034 0.0636493 0.0563108 0 0.014215 0.0730519 0.0209836 0.0628202 0.0578533 0.0198316 0.0268343 0.00824665 0.0319423 0.0718309 0.00102995 0 0.047721 0.0596864 0.0478008 0.0198316 0.014215 0.0215664 0.085527 0.074501 0.0580688 0.0937955 0.0187663 0.00102995 0 0.0198316 0.0946729 0.0928355 0.0371485 0.0573529 0.132834 0.0375771 0.0490804 0.130523 0.0326035 0.0921516 0.0934726 0.0393626 0.0535781 0.056576 0.119898 0.0804297 0.0529409 0.0262632 0.0575651 0.0558052 0.0765318 0.0277354 0.0761776 0.0648763 0.0556277 0.0180883 0.0371925 0.0951935 0.0774809 0.0890915 0.122039 0.183713 0.0953519 0.0337037 0.0368547 0.0368547 0.148046 0.120301 0.0707477 0.0712236 0.103786 0.106939 0.0703247 0.0336906 0.109359 0.0755149 0.0102302 0.158141 0.0392746 0.10358 0.0187663 0.085756 0.0413275 0.0772574 0.0788215 0.0573569 0.0697306 0.117554 0.0180325 0.0531347 0.0515584 0.0936896 0.0816538 0.0608194 0.0584895 0.126896 0.0416707 0.0392804 0.0879474 0.0841222 0.21906 0.0904661 0.0916539 0.0680179 0.0766994 0.104953 0.0742253 0.0874257 0.0492661 0.139328 0.0174512 0.0870037 0.0674744 0.0816363 0.126386 0.10805 0.0222564 0.0616397 0.130301 0.0731601 0.239144 0.125481 0.0804211 0.132528 0.0976406 0.0925505 0.153645 0.17183 0 0.056462 0.0775597 0.143286 0.110127 0.0814837 0.101447 0.0538911 0.127532 0.0874915 0.0387647 0.0187663 0.0753971 0.0627754 0.0754412 0.0776889 0.151932 0.104695 0.142902 0.0692622 0.0382111 0.250414 0.109075 0.0700353 0.0389057 0.0940617 0.0712199 0.116868 0.128032 0.0900132 0.148055 0.0675303 0.112511 0.0877356 0.0968233 0.141037 0.122359 0.100841 0.215232 0.0578737 0.047796 0.102479 0.0570263 0.0528082 0.0738448 0.0767253 0.133884 0.0576639 0.0682774 0.165866 0.14879 0.175244 0.118072 0.127351 0.0862153 0.170977 0.0825401 0.134902 0.0591963 0.116325 0.175398 0.123601 0.1454 0.0944745 0.10035 0.106592 0.17684 0.118598 0.165019 0.153492 0.127932 0.0632155 0.0939188 0.161595 0.0900845 0.0340984 0.0856476 0.165505 0.21859 0.155557 0.0786828 0.145333 0.14076 0.0920547 0.113097 0.148614 0.135307 0.139776 0.0394088 0.175933 0.126332 0.223347 0.13101 0.126572 0.11118 0.180925 0.235615 0.13659 0.121761 0.096907 0.169821 0.184501 0.155712 0.23033 0.08839 0.196817 0.164555 0.149257 0.142373 0.199842 0.150578 0.190695 0.0796887 0.157438 0.177816 0.126981 0.161041 0.0853877 0.0992533 0.1906 0.137898 0.141255 0.241313 0.160116 0.110669 0.182883 0.161213 0.17267 0.0608097 0.226531 0.160596 0.214336 0.143034 0.211119 0.243593 0.0830501 0.148822 0.164272 0.171526 0.217523 0.0923914 0.352357 0.0898185 0.13585 0.160794 0.237633 0.241605 0.243301 0.113342 0.157299 0.228616 0.241779 0.210431 0.223179 0.338931 0.161744 0.306757 0.170257 0.189994 0.182487 0.237821 0.130021 0.265621 0.134245 0.136768 0.238022 0.236276 0.116888 0.151344 0.227324 0.276674 0.194088 0.191364 0.207874 0.116953 0.247693 0.16709 0.293055 0.285108 0.191914 0.261871 0.235427 0.213464 0.222036 0.361724 0.127344 0.237021 0.230273 0.136306 0.248538 0.222889 0.285086 0.14092 0.265894 0.137831 0.321634 0.210367 0.218698 0.294157 0.296809 0.294641 0.235855 0.200349 0.0924999 0.286546 0.197658 0.274778 0.249629 0.24603 0.268354 0.173749 0.302669 0.218646 0.146094 0.220143 0.157372 0.25971 0.1947 0.234291 0.39484 0.229729 0.523876 0.232553 0.380403 0.178153 0.341486 0.308871 0.3587 0.17345 0.237252 0.171225 0.204698 0.333369 0.298466 0.232536 0.332615 0.349659 0.391925 0.217563 0.263915 0.416395 0.282127 0.348765 0.340263 0.281374 0.315862 0.378128 0.479663 0.325921 0.243841 0.356906 0.312759 0.368991 0.30579 0.29791 0.271291 0.283854 0.165939 0.342686 0.192417 0.271368 0.270754 0.116709 0.299448 0.316732 0.33006 0.400184 0.430509 0.303695 0.294542 0.173404 0.478354 0.280954 0.378845 0.279961 0.236982 0.339431 0.444547 0.32911 0.365156 0.463574 0.274856 0.372963 0.359654 0.430684 0.299069 0.427948 0.399499 0.309937 0.391948 0.294379 0.441436 0.474014 0.476089 0.372436 0.476692 0.411294 0.478565 0.34749 0.437505 0.286299 0.392509 0.303162 0.436016 0.447717 0.445658 0.51752 0.539718 0.449409 0.35931 0.457169 0.408864 0.447413 0.445897 0.417118 0.422879 0.530196 0.386517 0.591829 0.611344 0.544995 0.515906 0.393693 0.581131 0.458567 0.506374 0.509775 0.60834 0.386651 0.607955 0.498454 0.504215 0.646652 0.646185 0.49322 0.386124 0.379094 0.527524 0.530561 0.728303 0.615448 0.771877 0.606674 0.564187 0.40164 0.822489 0.620702 0.409234 0.759099 0.456815 0.73435 0.755035 0.606461 0.737929 0.754399 0.488875 0.507933 0.592119 0.766953 0.628788 0.549679 0.825354 0.657297 0.742072 0.566282 0.758196 0.521651 0.576427 0.680702 0.748718 0.562116 0.646169 0.785471 0.842875 0.567591 0.842374 0.89977 0.858671 0.697779 0.86674 0.805204 0.930321 0.98428 1.07056 0.847762 1.0021 0.91517 0.844423 0.888598 0.983895 1.0101 1.02119 0.936741 1.17132 1.19126 0.847623 1.03461 1.14123 1.0546 1.18138 0.953291 0.967756 1.12866 1.04256 0.996223 1.00616 1.27628 1.04765 1.10627 1.14654 1.11594 1.24055 1.36664 1.06506 1.50006 1.56402 1.55961 1.50832 1.49068 1.37027 1.46786 1.5217 1.49551 1.13879 1.43434 1.23217 1.47303 1.55587 1.48485 1.42557 1.5325 1.69489 1.42469 1.59351 1.56575 1.79371 1.78772 1.45378 2.04514 1.84467 1.77724 1.38907 1.32561 1.70692 2.18444 1.74276 1.93476 1.87138 1.98509 2.08754 1.65818 1.82665 2.0738 2.04252 2.04184 2.12886 1.81685 1.93762 2.28355 2.19367 2.04363 2.41205 2.16541 3.01709 2.59932 2.84707 2.67707 2.79647 2.52696 2.58644 2.67847 2.66774 2.53796 3.13221 3.75873 2.84963 3.69749 3.06624 3.32526 3.34022 3.57379 3.2371 3.60239 3.53495 3.02029 2.75851 2.45989 3.32559 3.42167 2.35193 2.76408 2.602 3.24223 3.8966 3.70958 3.31301 2.23615 1.84211 1.8767 2.53542 1.92299 0.860341 1.14638 1.746 0.752569 0.108702 0.111279 - - - - - 2.8333 4.62825 3.93037 3.90566 3.90178 4.1577 3.77648 3.42984 2.90631 3.51065 3.48068 2.96052 2.27423 2.54711 2.52361 2.43961 2.49846 1.94182 2.27964 2.08695 1.60851 2.10981 1.80471 2.09803 1.51904 2.06673 2.08187 1.70669 1.59781 1.44224 1.56333 1.90021 1.30252 1.39247 1.25422 1.30902 1.10219 1.51566 1.39108 1.15722 1.35285 1.22808 1.51799 1.40724 1.24758 0.836381 1.03063 0.944944 0.875777 1.05203 1.00205 0.90928 1.0197 1.08108 1.07545 0.911355 1.05557 0.87295 0.801398 1.18268 0.914414 0.767967 0.793809 0.809898 0.901312 1.00001 0.741414 0.923065 0.61955 1.21736 0.836378 1.00832 0.921417 0.80341 0.820749 0.588369 0.700343 0.578279 0.885422 0.605567 0.867834 0.853559 0.97125 0.751677 0.82223 1.08998 0.695752 0.755868 0.533566 0.734144 0.788227 0.900736 0.749987 0.727449 0.924207 0.407989 0.564639 0.53325 0.585908 0.560598 0.890236 0.915203 0.715153 0.643703 0.550066 0.393016 0.677932 0.559789 0.568948 0.715825 0.523011 0.692499 0.515737 0.781065 0.597331 0.629599 0.461704 0.870914 0.809029 0.485223 0.447629 0.37152 0.452029 0.757353 0.633774 0.580783 0.329606 0.382585 0.505841 0.731767 0.783189 0.815005 0.704865 0.618411 0.565125 0.570659 0.682778 0.542924 0.429365 0.688818 0.768652 0.266079 0.529847 0.761195 0.679326 0.702024 0.494934 0.576299 0.584452 0.650302 0.397509 0.473872 0.54967 0.453197 0.374091 0.54696 0.36221 0.399917 0.473025 0.368897 0.361202 0.313175 0.207091 0.322701 0.606949 0.522705 0.527003 0.383798 0.621924 0.705846 0.646144 0.360234 0.499719 0.335761 0.355909 0.400578 0.344104 0.607767 0.521098 0.610521 0.37371 0.421447 0.503792 0.401417 0.343569 0.494442 0.441394 0.412285 0.415772 0.362338 0.490687 0.513839 0.601728 0.643767 0.369938 0.381636 0.385446 0.369485 0.514174 0.42399 0.384354 0.632198 0.479499 0.496117 0.223315 0.52961 0.412102 0.27654 0.27017 0.368576 0.448765 0.458212 0.481308 0.522774 0.36233 0.54555 0.276651 0.294282 0.417707 0.620536 0.363573 0.398971 0.58283 0.240535 0.457055 0.298495 0.748221 0.46923 0.22284 0.466098 0.432273 0.288471 0.272898 0.434547 0.520012 0.34673 0.330054 0.370692 0.278167 0.493661 0.551444 0.355099 0.331118 0.387776 0.521693 0.484831 0.282163 0.454463 0.492181 0.626848 0.322055 0.552385 0.432221 0.273016 0.390008 0.265827 0.313639 0.448999 0.235825 0.632534 0.272306 0.398077 0.418434 0.346755 0.28832 0.389328 0.397454 0.510298 0.454996 0.185048 0.301477 0.467739 0.539277 0.345362 0.51014 0.386049 0.285535 0.204781 0.299885 0.372526 0.333106 0.354269 0.531602 0.253581 0.182621 0.375331 0.272887 0.220504 0.394839 0.436579 0.303622 0.227689 0.404137 0.545298 0.46116 0.293408 0.434463 0.279222 0.273307 0.293664 0.410592 0.42206 0.40949 0.351554 0.407825 0.50899 0.282623 0.349584 0.245364 0.442356 0.178571 0.308293 0.258972 0.227981 0.259342 0.36901 0.311108 0.218397 0.40493 0.46806 0.251871 0.288441 0.360679 0.281608 0.420175 0.282937 0.392826 0.45767 0.223287 0.351816 0.45252 0.202958 0.230879 0.280473 0.150117 0.285225 0.181431 0.13979 0.513231 0.380682 0.373631 0.429151 0.227424 0.183312 0.296413 0.306793 0.35131 0.282183 0.522238 0.335124 0.230005 0.319526 0.37511 0.205997 0.4966 0.346698 0.393715 0.472139 0.26699 0.285744 0.339371 0.383484 0.259505 0.160886 0.35479 0.349299 0.437492 0.284507 0.367344 0.260465 0.296264 0.255638 0.229979 0.287316 0.294599 0.414685 0.245852 0.240578 0.54897 0.157886 0.192319 0.298643 0.306785 0.264846 0.23811 0.456934 0.307124 0.320391 0.432258 0.417703 0.382432 0.366338 0.20194 0.151428 0.318867 0.221169 0.45806 0.379177 0.315037 0.210931 0.531782 0.112359 0.352357 0.41913 0.142702 0.182544 0.357306 0.416438 0.219933 0.18599 0.214081 0.244351 0.377881 0.394752 0.254956 0.132097 0.311036 0.27647 0.346432 0.347607 0.367288 0.354596 0.31056 0.312313 0.415739 0.539423 0.14131 0.192391 0.269707 0.437773 0.507057 0.23822 0.254106 0.397536 0.335645 0.307396 0.403939 0.238174 0.38819 0.413835 0.467597 0.336175 0.457528 0.19978 0.346645 0.235189 0.219718 0.376367 0.210733 0.577593 0.305008 0.322347 0.29401 0.251388 0.142097 0.358569 0.361145 0.291604 0.262698 0.316104 0.182732 0.433546 0.315138 0.397033 0.373743 0.314197 0.354466 0.232841 0.27165 0.609331 0.399375 0.179377 0.338268 0.183235 0.349547 0.46893 0.254452 0.324616 0.368206 0.359971 0.352087 0.481933 0.32407 0.378224 0.27486 0.200623 0.357019 0.264972 0.424623 0.257117 0.262716 0.212921 0.118493 0.214918 0.184475 0.241437 0.344344 0.372397 0.415646 0.423259 0.310756 0.343325 0.108572 0.338063 0.391173 0.323936 0.273965 0.217928 0.244664 0.338583 0.394436 0.28496 0.218999 0.192602 0.32127 0.298977 0.195221 0.403893 0.185669 0.41714 0.317048 0.449507 0.422898 0.322891 0.250949 0.2259 0.432912 0.246246 0.230502 0.121115 0.399066 0.213975 0.255917 0.239207 0.394361 0.24226 0.416022 0.267137 0.241687 0.21384 0.279912 0.381248 0.323613 0.257464 0.300559 0.184866 0.297617 0.117097 0.149031 0.364998 0.270213 0.345413 0.388165 0.242916 0.2653 0.365655 0.363631 0.429671 0.292259 0.482432 0.320713 0.287826 0.157838 0.520001 0.45396 0.305995 0.327612 0.322281 0.29208 0.346172 0.374891 0.474677 0.332169 0.358749 0.172802 0.486747 0.279407 0.212681 0.210662 0.127478 0.463232 0.33619 0.397666 0.34167 0.28343 0.319183 0.480987 0.198844 0.284637 0.244094 0.292279 0.303929 0.36277 0.402564 0.324955 0.396817 0.400558 0.32716 0.24176 0.449022 0.239291 0.459713 0.387498 0.183293 0.259668 0.320786 0.301998 0.303072 0.258218 0.262888 0.223188 0.306513 0.42967 0.30306 0.307449 0.415182 0.284353 0.435556 0.32222 0.410984 0.413017 0.286893 0.261347 0.206408 0.214859 0.373934 0.30703 0.121874 0.270466 0.184505 0.298045 0.124415 0.187933 0.215373 0.292584 0.262149 0.295355 0.180266 0.176382 0.225894 0.285512 0.165141 0.196638 0.401165 0.238621 0.185746 0.302375 0.282481 0.270602 0.204814 0.126899 0.303756 0.272166 0.415089 0.29818 0.347356 0.121244 0.142847 0.272924 0.217104 0.187176 0.286901 0.234749 0.203487 0.264756 0.288671 0.197084 0.0178687 0.448482 0.189374 0.137626 0.0839145 0.188652 0.140648 0.224992 0.0536521 0.063963 0.332217 0.159088 0.0336429 0.0396722 0.0785561 0.149103 0.0395402 0.115473 0 0 0 0 0 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_high_fb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_high_fb_BDTG.weights.xml deleted file mode 100644 index 607203634f12..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_high_fb_BDTG.weights.xml +++ /dev/null @@ -1,6075 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0.0199484 0.000872237 0.0157626 0 0 0 0.0168982 0 0.0152712 0.0147789 0 0.0164672 0 0.039808 0 0.0454138 0 0.0149928 0.0297718 0.0300301 0.00409391 0.0353156 0.0268484 0.0323599 0.0190761 0 0 0.0248151 0.0239767 0 0.0354754 0.0178702 0.0168982 0.0300553 0 0.0147789 0.058982 0 0.0627411 0.0300975 0.0176705 0.0310338 0 0.0273568 0.0349688 0.0149928 0.0157626 0.0241706 0 0.0147789 0.0321134 0.0518671 0.050924 0 0 0.0604868 0.0508615 0.0153185 0.0153117 0 0 0.0314159 0.0410899 0 0.0530684 0 0.0487919 0 0.0188483 0.0153185 0 0.0164369 0.0397748 0 0.00698387 0 0.0388748 0.0167949 0.0499073 0.0273095 0.03384 0 0 0.0272794 0.0892511 0 0.104224 0.0164672 0 0.0135255 0.0169159 0.0155304 0 0.0268581 0.00296252 0.0188483 0.0167949 0.0158927 0.0268172 0.0485334 0.0812827 0.0152712 0.0358697 0.000872237 0.0325691 0.00866371 0.0168982 0.0326609 0.0285184 0.0735793 0.0167983 0.047057 0.0305415 0.025374 0.0167983 0.0219767 0.0329345 0.0158927 0.0342201 0.0129105 0.0135255 0 0.0821202 0.0574514 0.0382608 0.0164369 0.0193994 0.0315772 0.0335147 0.0341669 0.0406379 0.0317854 0.0358816 0.00702437 0.0164672 0 0.0387784 0.0513433 0.0149928 0.0329718 0.00409391 0.0168982 0.0167983 0.0041036 0.0335966 0.0325609 0.0490281 0 0.0527089 0.0308963 0 0.0315738 0.0816254 0.070973 0.0167983 0.0634959 0.0560986 0.0525037 0.0144751 0.0385168 0.0168982 0.0165045 0.0804986 0.0168982 0.0645462 0.0266492 0.062642 0.0120383 0.035871 0.0262739 0 0.0819747 0.0153185 0.0132604 0.0132994 0.0514261 0.0467911 0.0493908 0.027931 0.0164672 0.0168982 0.0512036 0.0120383 0.033294 0.0785994 0.0158651 0.0302641 0.0197206 0.0164672 0.0152712 0.0167949 0 0.0188483 0.0237788 0.0338551 0.0426937 0.0306034 0.0343471 0.0185592 0 0.0311639 0.0804545 0.0164672 0.0294182 0.034069 0.0317854 0.0164672 0 0.0483583 0.0550516 0.0566908 0.0307555 0.0135255 0.0317758 0.0393811 0.0149928 0.0167949 0.0159734 0.0318231 0.0245086 0.0382342 0.0365216 0.0148194 0.0168982 0.0294182 0.0721459 0.0329052 0.0755697 0.0778594 0.0315738 0.0382342 0 0.0723933 0.0977081 0.0550505 0.0457927 0.115143 0.0785607 0.065355 0.0326404 0.0341168 0 0.0566228 0.0568315 0.0135255 0.0509144 0 0.0628076 0.0892378 0.00698387 0.0278009 0.0389781 0.0334028 0.0858143 0.0188483 0.0554887 0.0522385 0.0708761 0.114868 0.0473786 0.0414491 0.0420884 0.0541708 0.0268484 0.0850494 0.0190761 0.0248151 0.0219767 2.59539e-05 0.045861 0.0504255 0.051524 0.0158256 0 0.0385844 0.0494711 0.023651 0.0159785 0.0449797 0.0153185 0.0299928 0.0690472 0.038941 0.078996 0.0370157 0.0391635 0.0701349 0.0356432 0.0526415 0.103632 0.098797 0.0325575 0.0164369 0 0.0661492 0.0205308 0.0509618 0.0158245 0.132507 0.0463747 0.0297718 0.0223416 0.047432 0.0483276 0.0496592 0.0807051 0.0373967 0.0523383 0.0705829 0.0674324 0.0152712 0 0.0380755 0.067432 0.0478794 0 0.0232865 0.107376 0.0912141 0.0487933 0.0779078 0.0461323 0.0768712 0.117607 0.0375606 0.0593221 0.0885089 0.019752 0.0761733 0.0908761 0.0693832 0.0839538 0.0729114 0.0636612 0.0304826 0.040361 0.0413984 0.0152712 0.0510178 0.135775 0.0720416 0.0292295 0.0744416 0.0827433 0.0423416 0.111354 0.0722351 0.0696183 0.0662196 0.105258 0.0741258 0.0979303 0.105117 0.10373 0.0857287 0.0779918 0.085431 0.0270181 0.0740528 0.0420475 0.165281 0.00296252 0.0822904 0.0468341 0.0415924 0.0557713 0.111721 0.0321995 0.0462087 0.0646959 0.106827 0.0754156 0.153904 0.0412799 0.0534054 0.051757 0.057355 0.0473528 0.033038 0.153017 0.0379891 0.0573461 0.0343974 0.0563079 0.0790882 0.0462695 0.101736 0.0333381 0.0481141 0.0165045 0.0261974 0.0446399 0.0461179 0.0538616 0.0606592 0.0473336 0.054429 0.0329891 0.0675343 0.0615763 0.117669 0.0387342 0.0401337 0.0784178 0.0518542 0.0908069 0.115182 0.0299624 0.0157626 0.0802225 0.0789198 0.0481225 0.0205984 0.0268484 0.0404845 0.0634784 0.0537485 0.0590843 0.0674068 0.0486965 0.0167949 0.0957001 0.0489017 0.138734 0.10109 0.0618083 0.0858746 0.0867631 0.0436634 0.0963824 0.0925554 0.079798 0.0297378 0.110585 0.0559937 0.0501318 0.0719486 0.117517 0.102647 0.0612665 0.140502 0.0467313 0.0753002 0.069741 0.152304 0.0476373 0.0855429 0.106057 0.0485106 0.166974 0.0188495 0.0530758 0.0996974 0 0.0467309 0.0409709 0.112202 0.0291165 0.105283 0.106111 0.0980271 0.0893425 0.0475843 0.0663586 0.0632358 0.0691282 0.0308855 0.132294 0.0327909 0.100633 0.0868673 0.11273 0.065096 0.0431721 0.0720741 0.0570823 0.00865819 0.0208922 0.0886504 0.103748 0.0408459 0.0584436 0.0391533 0.144608 0.0847711 0.114502 0.0911815 0.0594558 0.128548 0.0553327 0.0329414 0.112385 0.113858 0.0640082 0.0549724 0.0621432 0.0670741 0.105646 0.0731908 0.0888429 0.156245 0.0727332 0.0634649 0.068159 0.0657066 0.140082 0.0855384 0.0849522 0.081611 0.0659846 0.132863 0.0714849 0.0713481 0.071331 0.131541 0.0968628 0.092168 0.0838572 0.0489944 0.0880262 0.126734 0.111492 0.130121 0.064451 0.0873521 0.118585 0.162871 0.0730803 0.12304 0.147987 0.0582825 0.0982778 0.10584 0.144744 0.0845176 0.115492 0.0866623 0.0513123 0.0782908 0.137089 0.100875 0.108219 0.131753 0.136078 0.195596 0.0948911 0.120132 0.124026 0.115737 0.213288 0.0639022 0.0815333 0.0202222 0.109509 0.102523 0.0331179 0.117499 0.0974267 0.0616854 0.0744303 0.0729294 0.119281 0.0944541 0.0817668 0.0719787 0.174101 0.124807 0.0494418 0.0380445 0.0815098 0.148631 0.0979588 0.181114 0.0914713 0.0375954 0.0859352 0.214083 0.0744316 0.0554083 0.182106 0.160661 0.0880062 0.114976 0.111802 0.11659 0.0581435 0.16168 0.0910531 0.0833631 0.0648418 0.0317758 0.0707056 0.0970319 0.16591 0.127992 0.143943 0.196082 0.0749876 0.0955452 0.0769339 0.113103 0.108613 0.0793672 0.17583 0.113196 0.0987725 0.212691 0.0750615 0.149214 0.213035 0.0730817 0.120119 0.0803578 0.104513 0.149688 0.13335 0.171333 0.182206 0.154116 0.109624 0.0719048 0.0669146 0.188046 0.0484721 0.205122 0.0873407 0.173807 0.183559 0.0842569 0.159292 0.198742 0.176832 0.120832 0.150881 0.101403 0.155033 0.151737 0.196838 0.133224 0.164904 0.124504 0.127273 0.16469 0.130709 0.0953747 0.102576 0.277681 0.185164 0.0994448 0.134429 0.14306 0.148855 0.147214 0.0866142 0.115562 0.189572 0.0815597 0.216099 0.160652 0.294861 0.0970416 0.221118 0.172904 0.0967165 0.212971 0.142855 0.209903 0.15377 0.132529 0.14726 0.216384 0.140865 0.101668 0.182502 0.194664 0.125004 0.163942 0.0957108 0.219066 0.0912121 0.153903 0.184634 0.143911 0.161395 0.128082 0.193092 0.235966 0.145082 0.204825 0.198336 0.128616 0.167937 0.300863 0.103954 0.176406 0.251419 0.110624 0.12945 0.133552 0.155927 0.226141 0.162667 0.0754277 0.195302 0.134433 0.205499 0.117907 0.257693 0.199793 0.219208 0.240517 0.149273 0.202591 0.199844 0.20583 0.201636 0.19595 0.285389 0.190686 0.185625 0.120835 0.198059 0.190661 0.221242 0.221723 0.17314 0.144136 0.219321 0.175806 0.204508 0.311663 0.209607 0.261148 0.247268 0.335742 0.143123 0.0967355 0.218505 0.196492 0.173229 0.215077 0.276136 0.292701 0.196263 0.193067 0.207784 0.264546 0.26296 0.0927005 0.184461 0.299331 0.279692 0.262139 0.246762 0.277025 0.198585 0.270564 0.159313 0.273175 0.319523 0.233246 0.293018 0.129412 0.144122 0.370755 0.307481 0.246448 0.279431 0.389141 0.181009 0.293351 0.302871 0.356949 0.252609 0.164394 0.247512 0.24757 0.267832 0.18999 0.191171 0.262301 0.162647 0.200554 0.151029 0.313658 0.341399 0.397327 0.252408 0.249481 0.306462 0.26666 0.176878 0.199188 0.38115 0.316646 0.231016 0.20892 0.28157 0.292507 0.285957 0.305933 0.198157 0.173597 0.145048 0.290436 0.304407 0.282356 0.193157 0.370301 0.344354 0.203702 0.231737 0.286561 0.31259 0.350514 0.257983 0.279994 0.433301 0.291753 0.286908 0.227295 0.314395 0.38442 0.233995 0.299449 0.261306 0.35131 0.262416 0.343105 0.282149 0.266834 0.443245 0.372376 0.370637 0.296369 0.200791 0.326826 0.412815 0.370112 0.435522 0.284555 0.344669 0.302181 0.448787 0.210606 0.420288 0.349406 0.346473 0.486163 0.469496 0.30462 0.301807 0.318598 0.428702 0.319554 0.308784 0.412641 0.262064 0.323531 0.28505 0.411829 0.53714 0.408581 0.439684 0.346113 0.424959 0.383639 0.359207 0.372031 0.333304 0.359992 0.386202 0.531094 0.576808 0.388059 0.437295 0.264805 0.290075 0.347009 0.245356 0.392459 0.432676 0.394798 0.407783 0.465472 0.473626 0.375241 0.310187 0.414498 0.277518 0.360055 0.539877 0.515214 0.446099 0.672372 0.438681 0.500607 0.358904 0.376657 0.31396 0.475057 0.399875 0.449395 0.40115 0.377505 0.301811 0.526079 0.446122 0.584427 0.310979 0.597107 0.332046 0.418431 0.655601 0.427056 0.552302 0.455892 0.614944 0.544363 0.350332 0.531652 0.622123 0.621231 0.571143 0.603133 0.653253 0.501987 0.798813 0.456717 0.605258 0.537633 0.605038 0.738648 0.601222 0.644435 0.492763 0.520268 0.593848 0.606108 0.661718 0.58942 0.527105 0.720232 0.768152 0.661687 0.50053 0.771144 0.781526 0.651441 0.757642 0.665147 0.647362 0.729499 0.698966 0.760463 0.886942 0.740369 0.72701 0.544433 0.778749 0.798894 0.811162 0.750669 0.785506 1.01001 0.682699 0.863631 0.921065 0.704913 0.732251 0.957076 0.506614 0.944722 0.854406 0.605798 0.753643 0.768461 0.788937 0.864266 1.04702 1.01244 1.08978 0.895372 0.89803 1.04896 0.946342 0.852424 0.766392 0.808869 1.06728 1.07019 0.923266 0.784976 1.01879 0.937714 1.0827 1.00433 1.07351 1.07182 1.10075 1.21781 1.30738 1.09072 1.10376 0.929807 0.976005 1.20314 1.20768 1.15868 1.15917 1.13356 1.45277 0.952826 1.15309 1.16184 1.01711 1.20531 1.72884 1.23453 1.05089 1.42356 1.32236 1.69788 1.6621 1.55907 1.6448 1.44788 1.79339 1.83789 2.0344 1.33802 1.71225 1.7408 1.41538 1.32464 1.87226 1.99373 1.84713 1.86017 1.96547 2.05915 1.93499 1.84619 1.86574 2.05392 1.90762 2.2289 2.11936 2.07361 2.4751 1.84696 2.27693 2.19122 2.13576 2.3704 2.56084 2.37662 2.5878 2.63401 2.39136 2.62003 2.83492 3.08178 2.81647 2.64215 2.67577 2.94365 2.90696 2.90182 2.81312 2.7647 3.10384 2.78381 2.84711 3.07099 3.31248 2.90052 2.63669 3.08677 2.57927 2.8602 3.70366 3.6935 3.02196 3.17365 3.10558 3.87598 3.14048 3.43151 3.98955 4.28197 3.55776 4.32557 4.64984 4.05198 4.03359 4.39984 3.6665 3.98985 4.828 5.33996 5.37564 5.14513 4.77632 4.44733 4.88896 4.78573 5.13541 6.18523 4.01699 4.94644 7.1956 7.95993 12.6366 6.29746 27.2725 14.4007 3.77836 4.94465 3.43491 5.74395 5.86563 5.69062 3.26964 0.788185 0.90778 0.41946 0.438298 0.440079 - - - - - 2.50057 4.50609 5.04227 4.85356 5.13145 4.9635 4.63452 3.76437 3.97112 3.46485 3.91658 3.47578 3.17668 3.00407 3.02399 3.00808 2.75773 2.28109 3.3288 2.56497 2.2185 1.88142 2.67916 2.37274 2.11844 2.38177 2.15598 1.64329 1.81484 1.74844 1.74354 1.35033 1.9736 2.16663 1.43815 1.65134 1.5903 1.36444 1.53451 1.87838 1.25616 1.7525 1.53259 1.69708 1.43362 1.37226 1.51348 1.28562 2.22287 1.59086 1.24287 1.24676 1.0828 1.35147 1.30101 0.874815 1.17164 1.32895 1.62278 1.43244 1.64556 0.976641 0.970474 1.24414 1.23712 1.28738 1.50282 1.38139 0.919823 1.33264 1.07343 0.969116 0.611888 0.972936 0.885974 1.34156 1.111 0.920029 0.900093 0.831129 1.08634 1.23365 1.08503 1.03658 0.647672 1.07845 0.928392 1.0751 0.762305 0.580305 1.09507 1.14395 0.614165 1.07522 0.849806 0.857764 0.915787 0.793252 0.720185 0.84276 0.859913 0.968091 0.924141 0.849272 0.559112 0.931151 0.658586 0.621626 0.918261 0.775487 0.710367 1.01036 0.768464 0.810204 0.968269 0.659368 0.898855 0.92658 0.711484 0.791501 0.699552 0.73982 0.589119 0.837839 0.689435 0.850353 0.880744 0.904386 0.861853 0.576211 1.04562 0.56439 0.551524 0.515623 0.269396 0.621342 0.658374 0.573398 0.523854 0.292069 0.986353 0.876412 0.541151 0.514638 0.538827 0.525107 0.619966 0.691077 0.599073 0.572214 0.723672 0.538327 0.52312 0.328144 0.648531 0.545358 0.558336 0.539783 0.452291 0.523337 0.541517 0.671118 0.815113 0.572236 0.295474 0.453861 0.53305 0.692548 0.641558 0.588175 0.506186 0.674907 0.633481 0.426031 0.587222 0.8179 0.861546 0.473587 0.560571 0.688336 0.978028 0.504678 0.418499 0.777253 0.64217 0.772227 0.688463 0.572145 0.45905 0.482507 0.477281 0.486165 0.249847 0.415588 0.535553 0.558419 0.501198 0.521277 0.519477 0.486772 0.429488 0.477831 0.642651 0.604014 0.441403 0.563921 0.689262 0.354945 0.585627 0.450465 0.590857 0.638862 0.492913 0.305629 0.301789 0.474309 0.498332 0.348169 0.643619 0.615712 0.642434 0.430734 0.331827 0.236135 0.422868 0.579314 0.696186 0.311735 0.449215 0.641687 0.560788 0.391237 0.603132 0.364178 0.6469 0.466171 0.405908 0.464854 0.387406 0.448139 0.467043 0.458376 0.484921 0.447961 0.277054 0.319083 0.438647 0.473494 0.628853 0.503618 0.523668 0.535011 0.400385 0.419138 0.444235 0.554859 0.22189 0.252816 0.360151 0.392974 0.429646 0.530724 0.654955 0.388488 0.362467 0.181543 0.290363 0.369445 0.40096 0.580763 0.547872 0.581145 0.715563 0.391519 0.39281 0.378022 0.330404 0.322072 0.287867 0.371901 0.333148 0.503695 0.474326 0.197815 0.339664 0.217056 0.663701 0.493186 0.498561 0.350198 0.237721 0.512978 0.177079 0.323899 0.493546 0.637779 0.363409 0.457747 0.385866 0.511175 0.497199 0.466736 0.548234 0.275073 0.558569 0.324003 0.351788 0.195655 0.631246 0.43162 0.702734 0.361386 0.285901 0.230188 0.208189 0.290406 0.643712 0.185316 0.585349 0.292033 0.582635 0.258681 0.484759 0.260672 0.435208 0.31598 0.261316 0.490129 0.418592 0.334038 0.399919 0.316548 0.389157 0.194142 0.160419 0.407477 0.377271 0.421212 0.364649 0.319098 0.417942 0.310202 0.40379 0.453837 0.160575 0.253491 0.378208 0.307119 0.36344 0.338674 0.678777 0.320494 0.350348 0.328235 0.211132 0.411686 0.380799 0.403296 0.390635 0.328093 0.29532 0.394526 0.232726 0.252413 0.170308 0.33207 0.348175 0.282031 0.378799 0.42908 0.428917 0.373024 0.450457 0.154792 0.148053 0.219871 0.190102 0.294521 0.203747 0.378351 0.471801 0.458093 0.396019 0.208051 0.304841 0.311046 0.201246 0.488848 0.256466 0.437399 0.358061 0.244745 0.363121 0.230177 0.334419 0.731975 0.288502 0.359708 0.415191 0.536905 0.440933 0.4536 0.432369 0.321327 0.407981 0.354319 0.350161 0.378246 0.582869 0.283241 0.449668 0.494362 0.265723 0.351694 0.388519 0.404199 0.310683 0.416432 0.189232 0.503924 0.191812 0.260063 0.467775 0.172256 0.506893 0.139695 0.295962 0.26994 0.159351 0.359461 0.494222 0.486122 0.363191 0.334315 0.303892 0.474463 0.305359 0.343758 0.582353 0.220097 0.250638 0.316221 0.29547 0.483806 0.425628 0.300153 0.322996 0.149815 0.26808 0.485024 0.360664 0.699449 0.300635 0.403434 0.374806 0.324581 0.476995 0.546186 0.547325 0.23529 0.543184 0.299457 0.609416 0.372184 0.466142 0.174839 0.289819 0.60236 0.0963215 0.23177 0.313069 0.202037 0.385902 0.324864 0.362185 0.378114 0.188452 0.513346 0.431639 0.231957 0.357988 0.199112 0.324268 0.164698 0.408722 0.304963 0.575289 0.317607 0.266013 0.367377 0.53013 0.539809 0.250783 0.402029 0.299695 0.256231 0.200518 0.591344 0.406346 0.145065 0.285223 0.234022 0.227233 0.253159 0.367256 0.264529 0.350595 0.206619 0.179272 0.385926 0.255686 0.410085 0.400015 0.355241 0.216524 0.379244 0.241744 0.552871 0.284292 0.452661 0.193239 0.532839 0.296434 0.368097 0.331933 0.290677 0.322172 0.235058 0.245528 0.427121 0.389016 0.212198 0.262609 0.163535 0.430887 0.493488 0.288589 0.269256 0.0873543 0.159906 0.418907 0.136282 0.440274 0.487798 0.368993 0.247918 0.357455 0.337942 0.290875 0.521901 0.327756 0.16492 0.292548 0.346228 0.242875 0.163901 0.1345 0.381478 0.30613 0.357035 0.246518 0.434676 0.143798 0.357359 0.4835 0.388476 0.340017 0.592859 0.152561 0.15031 0.488153 0.326169 0.452549 0.328798 0.460184 0.295672 0.506892 0.364454 0.466772 0.178861 0.414454 0.295839 0.516424 0.367934 0.436627 0.490475 0.362192 0.262526 0.14167 0.327646 0.373193 0.601675 0.0605667 0.356888 0.362128 0.551821 0.259095 0.303359 0.293661 0.184732 0.462623 0.40681 0.22599 0.320696 0.315445 0.413582 0.285666 0.217925 0.238318 0.285861 0.241107 0.395772 0.406536 0.354174 0.325636 0.149589 0.294571 0.0779321 0.213298 0.27474 0.238141 0.471313 0.286355 0.320579 0.299391 0.324752 0.279566 0.342559 0.266111 0.249609 0.241347 0.261785 0.347581 0.432943 0.395978 0.418704 0.337673 0.57882 0.287285 0.359169 0.321994 0.300576 0.552225 0.251133 0.137061 0.335942 0.239836 0.414515 0.142421 0.416187 0.224101 0.26119 0.471084 0.467733 0.220046 0.125083 0.109733 0.341967 0.312627 0.326882 0.273555 0.387701 0.243281 0.266037 0.38474 0.221904 0.2703 0.250848 0.315761 0.29313 0.198476 0.390954 0.244443 0.335396 0.543007 0.271089 0.19133 0.268141 0.175475 0.380259 0.19411 0.253478 0.286854 0.240998 0.204783 0.234611 0.175469 0.452201 0.566248 0.168255 0.498592 0.166802 0.188711 0.526148 0.479425 0.341603 0.639272 0.373489 0.328018 0.154529 0.283231 0.290732 0.430997 0.32991 0.269449 0.282756 0.246843 0.463159 0.243312 0.305615 0.334618 0.199544 0.470713 0.195623 0.249959 0.34779 0.304833 0.205114 0.314217 0.0772731 0.348833 0.297506 0.23349 0.52174 0.252117 0.287054 0.353642 0.150954 0.195256 0.475889 0.278531 0.211728 0.500679 0.301258 0.526768 0.310318 0.351808 0.113598 0.749419 0.341731 0.215924 0.200627 0.317726 0.331626 0.197006 0.479886 0.3085 0.326414 0.18034 0.205769 0.247987 0.473305 0.336001 0.250501 0.255295 0.463085 0.320222 0.460551 0.509426 0.533229 0.353208 0.327418 0.488624 0.485692 0.355204 0.0495581 0.136662 0.299878 0.169641 0.409599 0.365901 0.296139 0.34401 0.337869 0.499947 0.187711 0.402331 0.251044 0.351848 0.15674 0.20674 0.430717 0.420593 0.511363 0.207595 0.287641 0.396626 0.299566 0.358103 0.350397 0.360905 0.454158 0.330424 0.447435 0.490738 0.406535 0.38098 0.271431 0.323958 0.455621 0.472809 0.460262 0.323682 0.313057 0.276349 0.292342 0.0838381 0.386666 0.346251 0.328307 0.24748 0.603793 0.268693 0.261563 0.291093 0.278766 0.284296 0.448711 0.357225 0.221559 0.490729 0.406087 0.533212 0.200264 0.286217 0.406387 0.540307 0.218764 0.384512 0.315779 0.309186 0.600371 0.210948 0.377622 0.21857 0.360643 0.227431 0.16333 0.297886 0.483141 0.429423 0.428806 0.243666 0.364848 0.219286 0.628479 0.313742 0.238843 0.472349 0.400419 0.277481 0.276627 0.365002 0.172202 0.195289 0.262524 0.421722 0.437318 0.256633 0.309265 0.39905 0.292834 0.255566 0.184928 0.272146 0.283372 0.235111 0.185458 0.456633 0.297067 0.220459 0.217638 0.519813 0.460484 0.439834 0.3741 0.323124 0.432088 0.341256 0.32359 0.272469 0.232828 0.450234 0.162997 0.390855 0.191268 0.420813 0.212479 0.32898 0.141668 0.246455 0.161299 0.243804 0.422554 0.322216 0.30047 0.300418 0.502102 0.440112 0.426426 0.452965 0.0868559 0.267077 0.325823 0.168855 0.463219 0.20196 0.294945 0.453059 0.12237 0.48859 0.290424 0.525081 0.293924 0.356073 0.282641 0.310614 0.349938 0.304032 0.344245 0.303043 0.117389 0.249571 0.163917 0.458671 0.328902 0.556848 0.408181 0.315554 0.325946 0.435852 0.235703 0.376369 0.455107 0.484938 0.349086 0.216939 0.360749 0.489125 0.297862 0.249845 0.346729 0.353553 0.627932 0.443824 0.220366 0.350399 0.187676 0.470415 0.353647 0.257051 0.199535 0.417535 0.488575 0.307314 0.391714 0.558073 0.54998 0.341505 0.38094 0.197148 0.343625 0.331125 0.38446 0.37778 0.414045 0.354087 0.358609 0.280864 0.253379 0.46998 0.488819 0.405089 0.433532 0.234316 0.226138 0.580307 0.119651 0.414469 0.520704 0.6445 0.191986 0.146709 0.212976 0.520749 0.515621 0.539821 0.575913 0.533045 0.567358 0.365525 0.334777 0.251294 0.127784 0.504257 0.287311 0.132137 0.345988 0.316602 0.275443 0.26785 0.396375 0.17451 0.443478 0.433439 0.216924 0.513731 0.510418 0.140438 0.309737 0.528704 0.37837 0.25896 0.37628 0.309599 0.59438 0.431981 0.429831 0.427434 0.693852 0.443671 0.493052 0.471814 0.489542 0.572426 0.482107 0.406202 0.289958 0.198705 0.598412 0.464583 0.343943 0.395001 0.324565 0.453911 0.517376 0.641526 0.434971 0.175344 0.186115 0.34329 0.397181 0.423682 0.450087 0.446277 0.560327 0.548038 0.34204 0.462735 0.512129 0.428514 0.163718 0.43693 0.270138 0.450696 0.546754 0.303171 0.485399 0.387423 0.325796 0.388649 0.360301 0.6281 0.683922 0.423701 0.537751 0.270288 0.249954 0.630236 0.272586 0.463192 0.524885 0.279148 0.491118 0.441253 0.382614 0.360338 0.329772 0.186335 0.466533 0.383808 0.327314 0.517677 0.250618 0.280977 0.443893 0.640492 0.324133 0.421699 0.272991 0.243608 0.259151 0.352144 0.450767 0.359739 0.271926 0.640501 0.381995 0.352424 0.536511 0.243646 0.457903 0.223839 0.495273 0.612437 0.417256 0.451653 0.554398 0.289393 0.288849 0.326017 0.537352 0.355616 0.502354 0.719218 0.239689 1.48466 0.649843 0.276097 0.346776 0.141769 0.14555 0.389059 0.187323 0.11966 0.0798408 0.117449 0 0 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_low_cb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_low_cb_BDTG.weights.xml deleted file mode 100644 index 07cde3270d04..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_low_cb_BDTG.weights.xml +++ /dev/null @@ -1,3075 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0.0174407 0.0486592 0 0.0477971 0.016596 0.0579038 0.0220436 0.117148 0.0824118 0.0718742 0.0737902 0.169551 0.10608 0.188241 0.100964 0.100379 0.0953069 0.293901 0.136055 0.283615 0.322701 0.295858 0.22773 0.302538 0.317961 0.462952 0.717598 0.861864 0.70165 1.19289 1.05943 1.1644 1.08984 1.04643 1.85016 5.18573 - - - - - 1.93706 1.77802 1.22541 0.975649 0.77233 0.980841 0.48171 0.615033 0.94298 0.599472 0.470895 0.616556 0.69327 0.449222 0.351717 0.339567 0.464693 0.261705 0.396622 0.362801 0.261584 0.289685 0.431202 0.472569 0.289308 0.118854 0.304921 0.351604 0.29743 0.390612 0.468757 0.128 0.0346905 0.122832 0.0221551 0.0948462 0.0348935 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_low_ec_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_low_ec_BDTG.weights.xml deleted file mode 100644 index 5b2dca39e567..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_low_ec_BDTG.weights.xml +++ /dev/null @@ -1,3075 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.0101777 0.00489593 0.15147 0.130996 0.130298 0.352785 0.146508 0.184553 0.267025 0.417063 0.316014 0.390129 0.466181 0.485651 0.594501 0.552503 0.436489 0.754811 0.706146 1.01633 1.36883 2.28673 - - - - - 3.32665 1.6802 1.14115 0.555968 0.859735 0.688811 0.473193 0.419685 0.504477 0.327579 0.142537 0.200187 0.240472 0.185342 0.127933 0.0714665 0.0828516 0.0977543 0.0268241 0 0 0.0172804 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_low_fb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_low_fb_BDTG.weights.xml deleted file mode 100644 index 06b8f2bcd1ff..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/el_pteta_low_fb_BDTG.weights.xml +++ /dev/null @@ -1,3075 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.0486097 0.0207532 0 0.0400327 0.056137 0.0642281 0.0452935 0.0768297 0.110015 0.0960668 0.149734 0.183625 0.118576 0.144202 0.344612 0.243089 0.269129 0.289628 0.394456 0.442661 0.566978 0.579663 0.658126 0.846784 0.929872 0.675605 0.78911 0.84317 0.97199 1.98194 3.66571 - - - - - 2.93193 1.56549 1.2217 0.851441 0.868731 0.744396 0.666404 0.4706 0.541072 0.504821 0.499028 0.276489 0.348586 0.370034 0.467922 0.361206 0.398357 0.203546 0.364318 0.237511 0.36965 0.424641 0.130157 0.0720794 0.228033 0.134179 0.145807 0.0804181 0.0967447 0.0713354 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_high_b_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_high_b_BDTG.weights.xml deleted file mode 100644 index 950f04ec18f8..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_high_b_BDTG.weights.xml +++ /dev/null @@ -1,15075 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0 0 0 0.00182712 0.0169637 0.000477991 0 0 0.0220672 0 0.015027 0 0 0.0186676 0 0 0 0.0135802 0 0.0214941 0.0303834 0 0 0 0.0152217 0 0.00769942 0.0141328 0 0 0.0299621 0.0196349 0 0.0146167 0 0.0515879 0 0.0429476 0 0 0.0411537 0.0146167 0.00923161 0.0146769 0 0.0230196 0.00770433 0.00182712 0 0.0392656 0 0 0.0141328 0.0295788 0.0146437 0 0.0135802 0 0 0.00380946 0.0146437 0.00077565 0 0.0133326 0 0.0280095 0.0141328 0.0107052 0.0120278 0.00263447 0 0 0.0146437 0 0.0146623 0.00364057 0.0441344 0.0193956 0.0460347 0 0.0133326 0.00929051 0 0.0159018 0.0136222 0 0.0141328 0.0196349 0.00364057 0.036396 0.0146769 0.0577567 0.0361378 0 0.028694 0.0296708 0 0.0282991 0.0346619 0 0.025322 0 0 0.0472322 0.0215217 0.0303413 0.0388284 0.0107052 0.0131424 0.0196349 0 0.0146769 0.0140171 0.0136222 0.0416318 0.0136222 0.0241667 0 0.0333123 0.0227086 0.0146769 0.0463731 0.0147947 0 0 0 0.0149381 0.0156683 0 0.0266445 0.0141328 0.0338592 0.0285573 9.91547e-05 0.011792 0.0131424 0 0.0120278 0.0146167 0.015027 0.0173114 0 0.0429145 0.00769942 0.0136222 0 0.0479056 0.0146769 0.0479945 0 0.0257322 0.0427686 0.0133326 0.0136222 0 0.00364057 0.0135802 0.0258726 0 0 0.0280775 0.0258454 0 0 0.0706894 0 0.0285532 0 0.0146437 0.011792 0 0.0119197 0.0367109 0.0131424 0.0107052 0.0307257 0.028266 0 0.0182573 0.0149635 0.0149351 0.0643969 0 0.0279494 0.0423718 0.0278193 0.0141328 0.0284273 0.015027 0 0.0146769 0.0146769 0.0372513 0.0238753 0 0 0.015027 0.0136222 0.0269548 0 0.0364292 0.0335223 0.0135802 0.0437147 0 0 0 0.0169637 0 0 0.022374 0 0.0140171 0 0 0 0 0.0297039 0.0131424 0.0135802 0.015027 0.0374976 0.0131424 0.0107052 0.0136222 0 0.0513609 0 0.0220672 0.0196349 0 0.0141328 0.0393775 0.0671022 0.0220672 0.0131424 0.0136222 0.0269078 0.0388135 0 0.0133326 0.00263447 0 0.0135802 0.00769942 0.0149381 0.0120278 0.0497286 0.0354905 0.00484054 0.00121449 0.028266 0.015027 0.00484054 0.052928 0 0.0390043 0.0410987 3.60175e-05 0.03457 0.0146769 0.0389982 0.0270548 0.00769942 0.0349925 0.0146167 0 0 0.049644 0.0157138 6.88623e-06 0.036396 0.0131424 0.0274654 0.0296438 0 0.0167611 0.0464126 0.0481501 0.00182712 0.00484054 0.0301061 0 0.0293538 0.0549318 0.0254813 0.00364057 0.0133326 0.0133326 0.0166516 0.0365368 0.0298702 0.00923161 0.0267226 0.0136222 0.0169637 0.0133326 0 0.0141328 0.022374 0 0.0141328 0.0241667 0.0214941 0.0270509 0.0107052 0.0481231 0 0.0136222 0.0455051 0.0421807 0.0418879 0.0146437 0.0416607 0.0120278 0.0196349 0 0.0177734 0.0273392 0.0196349 0.0167611 0 0.011792 0.0146167 0.0141328 0 0.00263447 0.015027 0.0120278 0.0447296 0 0.0146769 0.0107052 0.030894 0 0.0329675 0.0642095 0 0.0419431 0 0.034095 0.0141328 0 0.0224972 0.0146167 0.042252 0.0212796 0.0267226 0.0136222 0.0136222 0.0329675 0.0407592 0 0.0185787 0.0272024 0.000168892 0.0435423 0.0347542 0.0564896 0 0 0.0156683 0.0220672 0.0146769 0.028694 0 0.0146437 0.0275973 0.0146167 0.0149351 0.0539568 0.0532339 0.00182712 0.0429217 0 0.0146437 0.0146437 0.0350541 0.030024 0.0141328 0.0280095 0 0 0.0750935 0.044157 0.0136222 0.0133326 0.0280343 0.0488953 0.0231742 0.0220672 0.0568239 0.0263346 0.0289726 0.0365321 0.025608 0.0287496 0.00923161 0.0175368 0 0.0450268 0.026475 0.0218322 0.0643878 0.0299621 0.00621051 0.0202358 0.0313779 0.0357924 0.0146167 0.0418479 0.0469259 0.0146437 0.0141328 0 0.0983328 0.0443585 0.0049397 0.0428407 0.029612 0.00923161 0.0295819 0.0420822 0.0338628 0 0 0.025608 0.0141328 0.015027 0.0149351 0.0429215 0 0.0286493 0.0131424 0 0.045565 0.0146437 0.0274654 0.0239085 0 0.0525094 0.015027 0.0133326 0.0285153 0.0286493 0.0220672 0.0305728 0.0285153 0.0549609 0.0133326 0.0453185 0.0557649 0.02565 0.0120278 0.0275973 0.0234176 0.0315797 0 0 0 0.0120326 0.0208213 0.0290679 0 0.0154073 0.0196349 0.0516221 0.0550303 0.0282656 0.0370367 0.0438772 0.0440949 0.0316993 0.0411519 0.0223812 0.0492499 0.0600192 0.015027 0.0146167 0.050155 0.0141328 0.0359031 0.0146437 0.0214941 0 0 0 0.0303413 0.024651 0.0233644 0.0167611 0.0175696 0.0303413 0.0141328 0.0140171 0.0169637 0.015027 0.0545986 0.0540467 0.0415897 0.0461798 0.0146769 0 0.0715107 0.0196349 0.0741593 0.0214941 0.0369975 0.0120278 0.0151754 0.057881 0.0240128 0.0555782 0.0227365 0.00913154 0.0303413 0.0337249 0.0140171 0.0135802 0.0107052 0 0.0709356 0.0223211 0.0220672 0.0164439 0.0212375 0.0274654 0.0281499 0.0196349 0.0272445 0.0149381 0.0298732 0.0149351 0.0172207 0.0390309 0.0292335 0.0286493 0.0133326 0.0295788 0.033652 0.0146437 0.0510225 0.0415716 0.0167611 0.0146798 0.0379804 0.027713 0 0.0663611 0.100253 0.0135802 0.0511351 0.0194573 0.0290679 0.0133326 0.028239 0.0267646 0.0213217 0 0.00769942 0.0107052 0.0299621 0.0149351 0.0107052 0 0.0434547 0.0196349 0.0287765 0.0233038 0.0430908 0.0329758 0.00364057 0.0167611 0.025608 0.0449732 0.0136222 0 0.0411775 0.038267 0.063772 0.0731401 0.0411187 0.0282991 0 0.0149351 0.0279494 0.0377535 0.0283596 0.0481532 0.0413484 0 0.041502 0.0146769 0.0167611 0.0293206 0.0397408 0.0353494 0.0146769 0 0 0 0.0146769 0.0256433 0.0510128 0.0395717 0.0982691 0.0282707 0.0282991 3.60175e-05 0.0286461 0 0.0146437 0.0327773 0 0.0140171 0.0192498 0.0226424 0.0277861 0.0146926 0.0928921 0.0141328 0.0146167 0.0377981 0.0220672 0.0430034 0.0136222 0 0.0146437 0.0430851 0.040687 0.0107052 0.063411 0.0317054 0.00484054 0.0392697 0.0269128 0.0133397 0.0133326 0.0140171 0.0146769 0.0172782 0.0670961 0.0297039 0.0169637 0 0.0141328 0.0319646 0.0136222 0.0441109 0.0357386 0.08812 0.0154194 0.0120278 0.00484054 0.0393987 0.0136222 0 0.037818 0.0710554 0.0434866 0.0436555 0.0214941 0 0.0316626 0.0316993 0.0288097 0.011792 0.0135802 0 0.047539 0.015027 0.0169637 0 0.0436321 0 0.00923161 0.0436847 0.0303034 0.036476 0.0285183 0.06441 0.0819731 0.0471023 0.0555368 0.0705114 0.0326854 0.00441622 0 0.00559203 0.0488438 0.00769942 0.0220672 0.0135802 0.0146437 0.0459148 0.0281499 3.60175e-05 0.0410886 0.0208874 0.00121449 0 0.0212594 0.00923161 0.0146437 0.011792 0.0300842 0.0358214 0.0136192 0.0379523 0.0486825 0.0146437 0.0108044 0.0660668 0.00923161 0.0146167 0.0133326 0.0146167 0.0149381 0.0522347 0.0195174 0.0220672 0.0731234 0.0388284 0.0223812 0.0499173 0.0190899 0.0337249 0.0267047 0.0647799 0.0426864 0.0689221 0.0196349 0.0278193 0.050229 0.0316626 0.0287063 0 0.0430881 0.0744254 0.0515239 0.0514241 0.0135802 0.0572411 0.0827168 0 0.0486293 0.0188577 0.0146769 0.0601321 0.0428158 0.00770433 0.0270548 0.0699443 0.0177734 0.0837843 0.03284 0.0380007 2.30799e-05 0.0945057 0.0292335 0.0600653 0.0140171 0.0423988 0.0267271 0.0506641 0.0146167 0.000286562 0.0146167 0 0.0683362 0.045136 0.0136222 0.000168892 0.0896969 0.0346365 0.0281694 0.0164779 0 0.00263447 0.033652 0.0657551 0.0421796 0.0133326 0.061234 0.0305081 0.0211486 0.0425006 0.0323346 0.0310011 0.0592242 0.0214941 0.0146769 0.0745786 0.0186676 0 0.000477991 0.0424144 0.108956 0.00364057 0.0146769 0.0140171 0.0135802 0.0193529 0.0503349 0.0533816 0.0151959 0.0140171 0.0453185 0 0.0557192 0.00559203 0.0146437 0.0136222 0 0.0251702 0.0478588 0.0419171 0.0140171 0.0282677 0.0226629 0.015027 0.0754663 0 0 0.0141328 0.0629935 0.0133326 0.0623316 0.015737 0.0405436 0.0631659 0.0576165 0.043266 0.0362 0.0565136 0.0270548 0.0333477 0.0292368 0.0120278 0.0534847 0.113759 0.0470565 0.0205271 0.0120278 0.0195174 0.0716744 0.0431922 0.0450319 0.0476091 0.00769942 0.0285604 0 0.0592139 0.0146437 0.0649639 0.0695272 0.0133326 0.030586 0.0107052 0.0437478 0.0366445 0.0332571 0.052337 0.0307824 0.0149351 0.0672193 0.0359671 0.0890851 0.0120278 0.0471216 0.0737104 0 0.0880057 0.0257322 0 0.073091 0.0302963 0.048966 0.0744534 0.0786272 0.0287765 0.0146167 0.0152909 0.0218371 0.0363066 0.0282991 0.00625072 0.0164779 0.101688 0.0467284 0.0412491 0.0283699 0.0488684 0.0507877 0.0146437 0.0651897 0.0296708 0.0272752 0.072815 0.0829167 0.0672374 0 0.0540153 0.0357066 0.0475517 0.0331364 0.0149381 0.061379 0.0269078 0.0285604 0 0.0374706 0.0420391 0.0949515 0 0.0511061 0.0272445 0.0308009 0.0388284 0.00182712 0.0136222 0.0803426 0.0430881 0.0226394 0.0667642 0.0305439 0.106599 0.0489926 0.00364057 0.040031 0.0146769 0.0459765 0.0638226 0.0365939 0.0478666 0.0269356 0.0489028 0.0912531 9.91547e-05 0.030894 0.0861162 0.0581315 0.0803387 0.0933947 0.0412491 0.0211312 0.0208542 0.0560251 0.0189734 0.0149381 0.0555135 0.0292936 0.104242 0.056505 0.029612 0.0669783 0.0301061 0.0497618 0.104387 0.0213217 0.0140171 0.0564628 0.105915 0.0818735 0.0194843 0.0579746 0.0640337 0.0214104 0.0303413 0.0561642 0.0441986 0.047742 0.0138549 0.0274654 0.0607587 0.0748864 0.0220672 0.0162972 0.0824274 0.0630852 0.0300938 0.0528455 0.0295549 0.0565248 0.00364057 0.00769942 0.081971 0.0146323 0.0424698 0.0761792 0.0291345 0.029612 0.0401256 0.0501013 0.0188577 0.0869219 0.0146167 0.0526186 0.0498575 0.0728809 0.0534976 0.0293072 0 0.086738 0.0380796 0.0141328 0.0133326 0 0.0333558 0.0337493 0.0674714 0.12477 0.0702105 0.0468494 0.0287889 0.0133326 0.0270651 0.129805 0.0464537 0.015027 0.0546928 0.026125 0.0903137 0.0351384 0.0225799 0.0508194 0.133593 0.0973821 0.0306859 0.0358768 0.0450158 0.0334009 0.0316963 0.0852367 0 0.0550975 0.0831829 0.034215 0.0159457 0.123115 0.0255322 0.0476444 0.0921902 0.0406365 0.0364191 0.0295263 0.0519527 0.0659394 0.0616063 0.0717864 0.10163 0.0199368 0.0131424 0.0428836 0.0489317 0.0428406 0.0613222 0 0.0454104 0.000168892 0.0476551 0.0289358 0.0761066 0.0537635 0.0505181 0.0783109 0.0208874 0.0335346 0.0720549 0.0318988 0.0450182 0.0493388 0.015027 0.0670452 0.048887 0.0282707 0.0152247 0.0342516 0.030054 0.0282991 0.0667823 0.0371854 0.0571443 0.0429142 0.0097096 0.0140721 0.0214941 0.0417541 0.0571135 0.015027 0.08737 0.0167611 0.0355311 0.111743 0.0676765 0.0451208 0.0934302 0.0910734 0.0243275 0.0381869 0.0445804 0.0344782 0.0617829 0.0423988 0.0347288 0.0667777 0.0256433 0.117166 0.0253489 0.10836 0.0217166 0.0273392 0.0386974 0.0344018 0.0167611 0.060822 0.0357893 0.0773081 0.113119 0.0886385 0.0507281 0.0537635 0.0625463 0.0319907 0.0295519 0.0107052 0.0621418 0.0791473 0.0486677 0.060623 0.0775478 0.0964896 0.0290103 0.0140171 0.0162567 0.0723193 0.0778388 0.0648187 0.071336 0 0.025608 0.015027 0.0434955 0.0567663 0.0149351 0.0315867 0.0784425 0.0256403 0.0894188 0.0605192 0.0615951 0.0348857 0.0524386 0.0420044 0.024838 0.0408375 0.0529808 0.0484942 0.0401972 0.0527431 0.0530228 0.0476257 0.0904593 0.0136222 0.0329675 0.0990013 0.0512868 0.0666703 0.0172782 0.0902027 0.0393124 0.0277591 0.00121449 0.0960729 0.0559101 0.0436479 0.0706071 0.0424029 0.015027 0.0487058 0.0282677 0.124686 0.0146437 0.050569 0.0465787 0.0337249 0.0285153 0.0627969 0.0634099 0 0.127427 0.0828853 0.0211456 0.057767 0.0564941 0.0620763 0.0584256 0.0687348 0.0232739 0.0436739 0.0552525 0.0149381 0.0724905 0.0679145 0.0497601 0.0524347 0.0316075 0.0456327 0.0437448 0.0646915 0.0556234 0.0632771 0.0140171 0.0732832 0.0139088 0.0416398 0.0427212 0.0476036 0.060884 0.0428407 0.051503 0.0566273 0.0259445 0.032936 0.070391 0.0920551 0.0726763 0.0240556 0.0867222 0.0104461 0.0300938 0.014232 0.0332571 0.0626767 0.060149 0.00951817 0.0182843 0.0979025 0.0367441 0.0282656 0.0407003 0.0241433 0.15598 0.0866722 0.0337677 0.068784 0.0316696 0.0356474 0.0436223 0.0451931 0.0524413 0.0425324 0.0329675 0.101512 0.0294198 0.0275011 0.0141328 0.0565363 0.0761416 0.0373767 0.0423768 0.0213217 0.0486848 0.0453185 0.0331316 0.0819059 0.0795913 0.0468931 0.0557258 0.0882615 0.0385418 0.0627881 0.0859993 0.0406704 0.111417 0.0530481 0.037613 0.0368289 0.0862034 0.0321085 0.00923161 0.0520509 0.0253842 0.0287889 0.0641079 0.0505301 0.0750935 0.0298579 0.0569616 0.0609701 0.0641939 0.0591872 0.0303889 0.0151793 0.0805124 0.0608005 0.028239 0.0267226 0.0482628 0.00263447 0.046362 0.0539586 0.0590027 0.0936911 0.040058 0.0276394 0.0985381 0.0296893 0.036449 0.0518867 0.0812301 0.0490651 0.0366886 0.00769942 0.09285 0.0931842 0.0307978 0.0158582 0.0432342 0.0598739 0.11185 0.0296708 0.0294294 0.0634364 0.0181732 0.0690099 0.0918267 0.0990002 0.0751894 0.00623359 0.0266445 0.0136222 0.121937 0.079161 0.0253158 0.00364057 0.0415295 0.0391556 0.0374976 0.0569873 0.0135802 0.0092326 0.0932896 0.0537173 0.046162 0.0284534 0.0302064 0.0441986 0.0498918 0.0595052 0.0791656 0.0860729 0.0472587 0.0729461 0.0900458 0.0238753 0.0580625 0.0136222 0.0622393 0.0372411 0.0644422 0.0402875 0.0479321 0.0339819 0.0949495 0.100552 0.111455 0.10402 0.104989 0.0133326 0.150601 0.0485014 0.0729454 0.0694102 0.0521535 0.0818383 0.0470069 0.0316963 0.104493 0.0642757 0.0677207 0.132865 0.0978292 0.0978737 0.0869399 0.065975 0.0361378 0.0747002 0.0740559 0.0926392 0.0565417 0.0584537 0.047999 0.0566372 0.0624585 0.127428 0.0627135 0.0884164 0.059598 0.101894 0.035795 0.0929575 0.0423832 0.0507281 0.0765501 0.0313779 0.0862681 0.0507165 0.0884047 0.0518843 0.0267226 0.0571327 0.0878401 0.0670834 0.058257 0.042976 0.0806545 0.073102 0.0764086 0.0352784 0.130064 0.0392791 0.092868 0.061999 0.0295549 0.028233 0.0364322 0.103388 0.139722 0.110218 0.059617 0.0546353 0.0927481 0.0696412 0.0753943 0.0584609 0.034024 0.0771685 0.0815576 0.0910121 0.0806872 0.0169637 0.0312 0.0888794 0.0600661 0.0495301 0.0595216 0.0586904 0.0509487 0.0420147 0.0739736 0.0993431 0.0494311 0.124128 0.103773 0.0848846 0.0844875 0.0716702 0.0389678 0.0874736 0.0627264 0.0798958 0.0273751 0.0948902 0.108712 0.120762 0.0135802 0.0539288 0.102206 0.0471636 0.0402453 0.109772 0.0553465 0.0979021 0.022733 0.0149381 0.0322105 0.0982082 0.0946218 0.0167611 0.052324 0.0864247 0.0156683 0.0946276 0.0607629 0.0210563 0.0833698 0.09181 0.0388284 0.0557323 0.0412795 0.08783 0.0742894 0.11622 0.0533964 0.077595 0.071813 0.0837122 0.0996397 0.109327 0.0354594 0.0077225 0.112701 0.103597 0.15623 0.0733554 0.0634316 0.103847 0.0774793 0.131843 0.0282571 0.087295 0.0753573 0.0796842 0.0591426 0.0802776 0.0920751 0.0482028 0.0877692 0.0793045 0.0793936 0.109224 0.115113 0.0663025 0.0410586 0.071401 0.0818844 0.0360172 0.0872425 0.0570015 0.0564746 0.107238 0.044642 0.0579512 0.0668047 0.0548546 0.0752416 0.096141 0.0768839 0.0502208 0.056431 0.120798 0.0775837 0.0811358 0.0613452 0.0621563 0.0942897 0.0706649 0.0732143 0.0740492 0.0789366 0.0542835 0.0412923 0.0429995 0.0871297 0.0979805 0.13666 0.064299 0.0389712 0.0572347 0.131508 0.0538642 0.0558168 0.0622936 0.104509 0.0695293 0.0811203 0.0503941 0.0682363 0.131239 0.0413874 0.117762 0.0455202 0.061484 0.0270548 0.0618247 0.0963207 0.0199368 0.0473723 0.0769727 0.030715 0.0640134 0.0954023 0.0948383 0.137728 0.0454463 0.0807377 0.0257078 0.130704 0.0646999 0.100051 0.0529613 0.107618 0.0745878 0.0967253 0.0575422 0.107307 0.0974584 0.20079 0.0372487 0.0666412 0.0758411 0.103039 0.12174 0.0861697 0.0958613 0.058751 0.065084 0.0969082 0.129635 0.0444261 0.0642739 0.109001 0.0620014 0.0846196 0.155222 0.0287889 0.0876017 0.165914 0.0625603 0.0498266 0.122353 0.0315468 0.0667751 0.0640872 0.0318559 0.130839 0.125123 0.0808806 0.0908185 0.0567887 0.0974681 0.0849043 0.0982324 0.066709 0.0726262 0.10006 0.091464 0.0799202 0.0521541 0.0367109 0.116617 0.0729214 0.141939 0.110057 0.0435824 0.0799414 0.100413 0.0966763 0.0816354 0.0405431 0.101156 0.12034 0.0707652 0.0418879 0.122597 0.0738016 0.136422 0.0297666 0.0416861 0.0526496 0.146456 0.0550303 0.0970509 0.0915956 0.0313155 0.101792 0.0789679 0.0917321 0.0962518 0.075572 0.0303509 0.127655 0.105194 0.101858 0.121337 0.0752124 0.150381 0.0920258 0.106332 0.0449803 0.102113 0.00774035 0.0949978 0.0471205 0.121107 0.147092 0.113966 0.0966749 0.0624084 0.193848 0.0995418 0.0693173 0.0939174 0.128454 0.0749903 0.108074 0.0934694 0.0786665 0.0940714 0.0788241 0.0566379 0.120748 0.0581754 0.0647792 0.0638654 0.0837742 0.0467014 0.0776758 0.123523 0.0897845 0.0162536 0.0865686 0.0988667 0.149554 0.131049 0.0836463 0.0499512 0.129851 0.0548025 0.130854 0.148452 0.108639 0.110215 0.116273 0.102724 0.0838915 0.135566 0.140264 0.0336725 0.188062 0.0259248 0.0816741 0.130666 0.119293 0.0677359 0.131056 0.068835 0.132683 0.11369 0.0732545 0.112956 0.135476 0.0758155 0.126065 0.0744088 0.0854281 0.135444 0.0659438 0.188193 0.132586 0.085797 0.0998911 0.0860322 0.133032 0.0991196 0.127975 0.0680216 0.0964873 0.0881152 0.0854427 0.0467896 0.149222 0.159862 0.0839863 0.0990182 0.101228 0.0645349 0.0617247 0.107824 0.166187 0.0584474 0.120025 0.140562 0.215478 0.0356853 0.112461 0.109907 0.114442 0.176535 0.0966808 0.177925 0.145806 0.117064 0.199539 0.102891 0.0362175 0.0906123 0.143101 0.126989 0.164405 0.118052 0.0423899 0.0442053 0.106432 0.0590229 0.154969 0.22035 0.0476674 0.143038 0.134039 0.21561 0.129864 0.154528 0.128521 0.085326 0.150949 0.163605 0.0986286 0.0848341 0.114136 0.123071 0.135846 0.0657052 0.141782 0.0775817 0.0389602 0.147055 0.0644419 0.126368 0.0929568 0.0645893 0.0901116 0.0681679 0.0959787 0.0763092 0.153412 0.154498 0.113693 0.116206 0.0993307 0.104131 0.188968 0.0547006 0.110388 0.0579836 0.148138 0.161405 0.123903 0.113395 0.186519 0.111666 0.103084 0.118613 0.101347 0.0648696 0.133875 0.176914 0.0988831 0.111806 0.125595 0.116952 0.0704072 0.129871 0.107016 0.152238 0.101196 0.191784 0.159295 0.0727457 0.0827098 0.0912587 0.163085 0.0862946 0.124615 0.107944 0.09668 0.0761399 0.0727584 0.122304 0.0680009 0.159299 0.0963297 0.298911 0.174949 0.117851 0.130993 0.224631 0.0579797 0.095686 0.0800247 0.175985 0.0980816 0.0982797 0.0847965 0.120833 0.0828459 0.180013 0.185152 0.118532 0.109033 0.0985598 0.127824 0.172761 0.0973802 0.15578 0.0847058 0.0955038 0.0902142 0.0918008 0.126181 0.0857391 0.191882 0.106261 0.0468594 0.0645237 0.1257 0.238312 0.183195 0.180887 0.171271 0.149225 0.192888 0.0475932 0.113486 0.131589 0.142759 0.152989 0.0913933 0.162281 0.181866 0.17798 0.185909 0.089903 0.241443 0.181542 0.0830835 0.16687 0.148458 0.14716 0.183113 0.128231 0.168342 0.21747 0.16117 0.0753743 0.117696 0.171653 0.151807 0.13143 0.20101 0.0927665 0.114664 0.186444 0.103635 0.11836 0.0618514 0.134338 0.0871672 0.0821062 0.0955423 0.154093 0.115371 0.144265 0.166461 0.109231 0.174359 0.113945 0.0636661 0.148128 0.108961 0.142685 0.101262 0.122479 0.149937 0.163648 0.124813 0.0862028 0.175308 0.195798 0.083978 0.188011 0.167401 0.141852 0.164727 0.0853476 0.161038 0.179064 0.224563 0.175915 0.147719 0.142396 0.151834 0.0598449 0.135939 0.114697 0.0980734 0.209427 0.157954 0.211077 0.137224 0.0851754 0.134073 0.116751 0.0645374 0.0674458 0.26931 0.0958477 0.1764 0.100138 0.106641 0.234369 0.204676 0.103927 0.131668 0.146343 0.114501 0.109085 0.118874 0.202383 0.151551 0.160934 0.0954676 0.0830685 0.213939 0.147772 0.219806 0.17907 0.122786 0.118677 0.149059 0.204276 0.238311 0.147034 0.114621 0.0836259 0.1012 0.154771 0.0615053 0.171392 0.18594 0.18886 0.163492 0.16164 0.164931 0.113425 0.229935 0.152419 0.208608 0.165159 0.0707757 0.118843 0.236622 0.158415 0.161692 0.121163 0.112502 0.215717 0.123316 0.188795 0.130389 0.114207 0.205716 0.22224 0.0878746 0.187341 0.157378 0.112891 0.170843 0.166797 0.180308 0.254117 0.189596 0.183668 0.174132 0.181368 0.278018 0.191225 0.183079 0.149085 0.126383 0.17703 0.178405 0.157502 0.176325 0.177153 0.179341 0.194772 0.203532 0.148747 0.177461 0.150072 0.10529 0.177709 0.258494 0.177144 0.225797 0.117948 0.301351 0.151732 0.134635 0.16574 0.246614 0.174253 0.131827 0.15434 0.198313 0.139569 0.157926 0.162523 0.384087 0.148576 0.110032 0.203888 0.221236 0.190033 0.257368 0.0674297 0.169291 0.183308 0.210427 0.190142 0.215292 0.22193 0.224172 0.234247 0.214323 0.132055 0.152524 0.108797 0.209357 0.132496 0.164748 0.221354 0.166079 0.180266 0.190025 0.269364 0.243488 0.223985 0.250506 0.210992 0.0973887 0.112578 0.227212 0.284771 0.272613 0.231925 0.246077 0.134143 0.222958 0.232518 0.192861 0.166233 0.27555 0.189298 0.0982482 0.155639 0.147714 0.174135 0.163859 0.198486 0.287712 0.21433 0.278612 0.119321 0.204314 0.247673 0.215719 0.153801 0.196908 0.174565 0.234881 0.228658 0.0973138 0.346144 0.290505 0.0944446 0.23871 0.282301 0.191779 0.131836 0.272809 0.193725 0.244622 0.193962 0.187394 0.249602 0.20861 0.16855 0.336362 0.277947 0.227944 0.201079 0.33158 0.232923 0.174621 0.216537 0.260253 0.176331 0.265288 0.209494 0.245943 0.265095 0.241915 0.257154 0.126671 0.284768 0.130309 0.271766 0.319013 0.156513 0.237584 0.27685 0.18452 0.172006 0.185753 0.254654 0.27275 0.295167 0.378001 0.11517 0.344227 0.288524 0.150989 0.252567 0.186491 0.19181 0.146049 0.202563 0.295513 0.19964 0.226193 0.206262 0.15687 0.353571 0.202027 0.373389 0.321221 0.145278 0.305116 0.356448 0.306142 0.217305 0.193038 0.316447 0.199371 0.163412 0.259081 0.256704 0.206584 0.301966 0.156659 0.225341 0.252584 0.284663 0.288685 0.225357 0.228644 0.191207 0.38466 0.18298 0.19322 0.287625 0.373232 0.212503 0.209874 0.1925 0.255033 0.384746 0.242709 0.268881 0.193277 0.298318 0.272809 0.24977 0.220451 0.269527 0.312735 0.320082 0.365784 0.237804 0.290658 0.391763 0.309157 0.144236 0.28128 0.239325 0.228266 0.148361 0.369805 0.353842 0.223623 0.207903 0.18018 0.25045 0.359807 0.327027 0.305594 0.325436 0.246046 0.329697 0.340586 0.233592 0.208743 0.20369 0.208077 0.147325 0.412739 0.237173 0.300502 0.219257 0.313778 0.373937 0.271891 0.247197 0.33663 0.365205 0.219556 0.285429 0.36074 0.320458 0.242262 0.284729 0.346625 0.352005 0.422404 0.16281 0.284824 0.35037 0.216691 0.219894 0.246979 0.439266 0.342408 0.158457 0.258597 0.267519 0.341702 0.32506 0.396547 0.350685 0.420868 0.36593 0.306267 0.341987 0.25365 0.320345 0.40912 0.267633 0.290241 0.286452 0.317784 0.402528 0.313791 0.345885 0.255184 0.350775 0.218489 0.465634 0.297018 0.365452 0.375172 0.413994 0.24964 0.333894 0.34793 0.342017 0.22537 0.221575 0.350873 0.355158 0.386293 0.490949 0.3727 0.378086 0.452756 0.399442 0.324596 0.250515 0.453546 0.260823 0.336977 0.338 0.253011 0.318381 0.313666 0.277587 0.372324 0.494438 0.343014 0.351033 0.228508 0.318579 0.373253 0.333857 0.362881 0.415501 0.506306 0.530304 0.354545 0.561835 0.334115 0.292239 0.280022 0.33043 0.3939 0.418787 0.294097 0.415272 0.359559 0.398694 0.260691 0.409041 0.365798 0.284907 0.404657 0.45851 0.375252 0.399915 0.442059 0.420581 0.655548 0.455606 0.373285 0.429035 0.387944 0.401199 0.400279 0.32184 0.448199 0.435628 0.544428 0.433841 0.258518 0.526971 0.280235 0.368235 0.424967 0.417946 0.376604 0.412696 0.468174 0.506897 0.364885 0.405985 0.496022 0.381863 0.661394 0.312098 0.526017 0.617094 0.314467 0.446352 0.450891 0.420669 0.50649 0.370984 0.459358 0.40635 0.511483 0.380276 0.689778 0.686158 0.407434 0.461623 0.477267 0.389858 0.407969 0.514585 0.488908 0.480619 0.433116 0.428904 0.399674 0.517973 0.368826 0.486418 0.437073 0.558814 0.460277 0.456916 0.546388 0.530344 0.780956 0.429497 0.43842 0.584512 0.428935 0.504628 0.514567 0.676876 0.423829 0.584014 0.517663 0.523718 0.500072 0.446806 0.626834 0.445701 0.686914 0.427877 0.363988 0.514568 0.637124 0.589181 0.429326 0.612234 0.692621 0.482993 0.456911 0.609568 0.605688 0.598588 0.45923 0.50976 0.581549 0.636664 0.518215 0.552816 0.475057 0.443125 0.384797 0.662535 0.618885 0.607837 0.659469 0.511836 0.664214 0.57894 0.751491 0.576766 0.649259 0.647332 0.464861 0.590346 0.861475 0.769519 0.731506 0.731872 0.783873 0.687841 0.789415 0.677805 0.610566 0.652277 0.550213 0.623427 0.59259 0.598009 0.676377 0.651806 0.457622 0.585777 0.919232 0.688425 0.781275 0.527241 0.615275 0.647179 0.740644 0.746919 0.807472 0.982118 0.843976 0.7115 0.590439 0.679104 0.751558 0.678132 0.652161 0.655822 0.737306 0.659766 0.807922 0.849788 0.824864 0.879418 0.706451 0.868377 0.709371 0.765018 0.767645 0.90951 0.850503 0.795237 0.75914 0.930252 0.797129 0.813204 0.760539 0.923696 1.0403 0.979381 0.787262 0.835963 0.770408 0.858474 0.877916 0.817401 0.752966 0.845015 0.911769 0.748877 1.07272 0.770912 0.889488 0.920522 0.788371 1.03107 1.12349 0.912954 1.09036 0.956732 0.78963 1.01095 0.868606 0.815141 0.902738 0.866045 0.946074 0.944849 1.19784 0.802328 0.757764 0.841741 0.853116 0.863638 0.758528 1.16421 1.18928 1.22346 0.903734 1.02062 0.932026 1.17253 1.11315 1.26393 0.979403 1.30781 1.15786 1.05838 1.04314 1.14627 1.14509 1.25889 1.02814 1.19513 1.14013 1.45436 0.912455 1.42347 1.25346 1.23089 1.18592 1.26556 1.37066 1.18083 1.42053 1.24696 1.66934 1.3316 1.49063 1.42393 1.44654 1.33712 1.6945 1.44382 1.87458 1.14076 1.30112 1.40818 1.46575 1.39746 1.80188 1.65882 1.48262 1.67553 1.4317 1.41278 1.64932 1.73239 1.5953 1.56276 1.76335 1.78 1.68544 1.74741 1.47819 1.90706 1.61228 1.71263 2.14703 1.80507 1.88912 1.74554 1.86803 1.5504 1.61843 1.90608 1.74502 2.04715 1.77461 2.04982 2.25124 1.96181 2.40265 1.88657 2.02746 2.04775 1.80117 2.28751 2.13456 1.82109 2.28978 2.21948 1.90393 2.32931 2.09705 2.41426 1.84349 2.55043 2.48279 2.53999 2.7524 2.43809 2.26504 2.55186 2.20083 2.50332 3.00118 2.36589 2.5423 2.78618 2.56603 2.79996 3.00979 2.84635 2.88076 2.49686 2.98567 2.62447 2.79387 3.03681 3.48336 3.087 2.92651 2.78021 3.32378 3.18656 3.05572 3.72719 3.29856 3.34944 3.65682 3.71997 3.68717 3.45904 3.68419 3.70649 3.37838 3.79222 4.08213 3.77459 4.08138 3.61133 4.51405 3.92954 4.28956 4.21545 4.09053 3.97039 4.53453 4.14962 4.5847 4.85408 4.8672 5.0663 4.52912 5.23454 4.52889 5.34585 4.95708 4.90544 5.10997 5.21217 5.66475 5.4692 5.65912 5.24312 5.65689 5.61981 6.23548 6.2194 5.94619 6.43735 5.88971 6.05029 6.97984 6.18485 5.94989 6.76811 6.97962 6.81387 7.55414 7.46956 7.02711 7.48348 7.92343 7.6631 8.72734 8.66716 8.60469 8.60052 9.02086 9.12888 9.27067 9.26871 10.3058 10.4417 10.5379 10.7058 10.7273 11.9292 11.9355 11.8647 11.6158 12.7267 12.7714 13.5421 13.0622 14.9031 14.818 15.0855 15.5881 17.1326 16.26 16.2808 18.4444 18.1939 19.2411 17.9949 17.4041 17.8761 16.7591 18.3039 16.8906 16.1603 14.7181 12.6203 9.26101 7.45714 4.23957 2.10633 0.844508 0.448829 0.157638 0.0480566 - - - - - 0.502427 1.87242 3.61112 4.61911 4.97911 5.2305 5.6272 5.44535 7.2933 7.00003 6.77744 6.4561 6.70405 7.55453 7.01854 6.5977 6.42146 7.55323 6.2154 7.14765 6.42852 5.52154 5.84308 6.46727 5.6147 6.40326 4.16316 5.12754 4.61723 5.61015 4.99619 5.26702 4.67102 5.08254 4.19738 4.5125 4.94642 4.36717 4.25281 3.19773 4.22292 5.09699 3.7651 3.64457 4.58405 4.10572 3.30393 3.18165 3.05207 2.83366 2.95871 2.74239 2.98408 3.18084 1.96297 3.23824 3.70426 3.10968 2.64623 2.50164 2.52746 3.31536 2.33742 3.09925 3.05088 2.50996 2.16167 2.07101 1.9513 2.31546 2.62043 2.39218 2.00993 2.28969 1.92661 2.18481 2.27973 2.97866 2.19466 1.93759 1.71652 1.73191 2.14889 1.61317 1.85539 2.15269 2.21461 2.00544 2.04957 2.02273 3.00223 1.69729 1.93996 1.32226 1.15568 1.93973 1.68306 1.47513 2.08052 1.88353 1.50898 1.89915 2.21946 1.3815 1.35989 1.92375 1.56314 1.71185 1.48746 2.07652 1.59397 1.48363 2.20988 2.40407 1.51573 1.25964 1.64025 1.29237 1.53095 1.90079 1.45836 1.49338 1.1242 0.767687 1.13551 1.1225 1.47584 1.2839 1.14126 1.57773 1.65084 1.25139 1.018 1.36529 1.41483 1.38606 1.32077 1.12978 0.922241 1.34042 1.50431 1.24774 0.943723 1.26877 1.63737 0.888677 1.39523 1.06118 1.66621 1.49098 1.44204 1.30644 1.7866 1.44251 0.947124 1.21236 1.29293 1.40455 1.12562 1.28924 1.42812 1.43506 1.47962 1.37339 1.15679 1.08502 1.21234 0.963565 1.25323 1.42695 0.917977 1.26139 0.991369 1.28062 1.72988 0.893147 1.18463 0.79165 1.142 1.12259 1.38994 1.08838 1.30773 0.988409 1.19481 0.98705 0.483633 0.945195 1.22859 1.03395 0.850646 0.85501 1.02543 1.17319 1.09096 0.964787 0.976149 1.16707 0.563263 0.925234 0.962446 0.644055 0.669477 1.09741 0.769244 0.78934 0.966712 1.21867 0.965221 1.06925 0.616616 0.963007 0.967213 1.00589 1.10335 1.0971 0.929701 0.847523 0.80706 1.14885 0.888012 1.09719 0.659991 0.779386 0.720169 0.946326 1.34588 0.976975 0.626954 0.880042 1.04175 0.972187 0.929942 0.815619 0.824781 0.731615 0.760161 0.705933 0.991082 0.722411 0.601303 0.831267 0.932997 0.851146 0.694323 0.798963 0.691079 0.958774 0.835324 0.5969 0.761355 0.748172 0.63329 0.815819 0.702005 0.783028 1.24393 1.11254 0.675171 0.9148 0.95158 0.635648 0.76515 0.861633 0.532348 0.815774 0.94879 1.03026 0.842805 0.924501 1.0461 0.866436 0.793686 0.527129 0.518329 1.13067 0.35532 0.551755 0.517009 0.386203 0.589237 0.449331 1.03509 0.792873 0.381372 0.860256 0.934584 0.733712 0.309132 0.655305 0.653942 0.783065 0.748448 0.79437 0.552325 0.563029 1.03793 0.87621 0.755778 0.94314 0.88875 1.17708 0.637708 0.700285 0.895055 0.505012 0.828238 0.531292 0.617157 0.663402 0.609195 0.485131 0.602272 0.705694 0.932478 0.594967 0.67584 0.643996 0.57226 0.920894 1.20358 0.738528 0.804976 0.510534 0.944759 0.652838 0.705122 0.790114 0.807355 1.06739 0.842273 0.719721 0.600262 0.722697 0.588713 0.872361 0.565963 0.52022 0.379866 1.11087 0.290086 1.00734 0.687522 0.737765 0.663916 0.423858 0.800395 0.513476 0.701443 0.737968 0.353514 0.751331 0.655847 0.432835 0.696193 0.501885 0.269775 0.655306 0.593578 0.623269 0.599303 0.433911 0.234052 0.313329 0.524483 0.738724 0.282218 0.445907 0.641172 0.429922 0.638531 0.593604 0.634947 0.918708 1.17252 0.717729 0.501763 0.915089 0.975704 0.563276 0.287118 0.526365 0.774804 0.398846 0.661824 0.794176 0.655458 0.499453 0.724438 0.2589 0.762989 0.313845 0.579138 0.600645 0.689816 0.66684 0.73779 0.372337 0.332703 0.486697 0.458365 0.691978 0.696172 0.141972 0.519569 0.385725 0.568435 0.579899 0.796118 0.403279 0.767348 0.674641 0.156268 0.813525 1.02225 0.641139 0.530556 0.573696 0.545698 0.601402 0.644615 1.0802 0.396026 0.683342 0.63303 0.568434 0.468916 0.498582 0.563186 0.742842 0.634614 0.374783 0.54287 0.496191 0.568231 0.811317 0.425942 0.397248 0.551183 0.444136 0.618056 0.60445 0.395912 0.175367 0.463205 0.604732 0.54794 0.613333 0.240727 0.390171 0.79621 0.528106 0.346817 0.551472 0.594954 0.620354 0.194261 0.417246 0.481986 0.737327 0.565711 0.610955 0.727557 0.333051 0.579068 0.438741 0.746572 0.558083 0.533079 0.571091 0.427742 0.575603 0.526695 0.19758 0.443109 0.529819 0.643341 0.749378 0.573105 0.47639 0.441329 0.620207 0.602115 0.559348 0.377977 0.768566 0.360479 0.484012 0.371503 0.546011 0.410975 0.428043 0.461475 0.457096 0.479973 0.488342 0.444384 0.455748 0.408573 0.516407 0.70812 0.565806 0.520421 0.596485 0.375192 0.521921 0.580362 0.598998 0.479504 0.634179 0.399721 0.461355 0.673915 0.481016 0.384972 0.599079 0.612284 0.33779 0.562906 0.73223 0.196274 0.38957 0.243105 0.242072 0.661279 0.347974 0.272891 0.282982 0.463249 0.646537 0.340446 0.142553 0.925577 0.452399 0.280728 0.501032 0.282799 0.357486 0.443413 0.138981 0.15209 0.488566 0.38183 0.689846 0.356127 0.382614 0.162019 0.415425 0.31108 0.525396 0.529884 0.630731 0.332775 0.66138 0.647006 0.738623 0.384393 0.161339 0.624959 0.376246 0.551752 0.303022 0.741034 0.30057 0.453048 0.475174 0.332569 0.275691 0.165151 0.284814 0.339107 0.757556 0.237685 0.519455 0.47558 0.524788 0.62999 0.481464 0.440132 0.480993 0.310308 0.494198 0.229869 0.396798 0.50259 0.643995 0.261522 0.41403 0.693791 0.48126 0.371662 0.71936 0.464196 0.400992 0.33206 0.431708 0.334702 0.331984 0.456394 0.295365 0.747664 0.722184 0.455127 0.735635 0.388957 0.582276 0.210147 0.27796 0.479841 0.437211 0.43728 0.773094 0.43757 0.382669 0.107565 0.398056 0.369401 0.141928 0.404709 0.55335 0.548577 0.315544 0.707742 0.475317 0.621763 0.225752 0.330858 0.66044 0.439254 0.482669 0.331301 0.377776 0.672917 0.407443 0.360146 0.262438 0.291938 0.652416 0.188711 0.665937 0.28508 0.416472 0.406323 0.522543 0.315921 0.459833 0.625463 0.338522 0.374313 0.397488 0.484777 0.674805 0.416501 0.25779 0.437865 0.315408 0.476947 0.378819 0.244859 0.201889 0.37898 0.508392 0.350732 0.435001 0.636405 0.386946 0.27112 0.672801 0.579934 0.321 0.183177 0.441352 0.27918 0.280913 0.268561 0.45781 0.384614 0.4239 0.45632 0.290178 0.619176 0.278181 0.395594 0.218893 0.402573 0.0798621 0.429881 0.453849 0.477036 0.350048 0.158839 0.40822 0.243433 0.455751 0.359586 0.350594 0.119496 0.344287 0.411649 0.380692 0.395285 0.408942 0.305669 0.203117 0.722437 0.502037 0.388514 0.304852 0.518167 0.649808 0.287189 0.314341 0.347941 0.303127 0.423002 0.270539 0.442684 0.362463 0.396157 0.816238 0.350302 0.408114 0.572092 0.156835 0.628791 0.261303 0.496761 0.333562 0.134672 0.0500847 0.486256 0.152302 0.410375 0.329765 0.628365 0.27018 0.330621 0.451374 0.182563 0.456341 0.369403 0.301676 0.346023 0.238149 0.40768 0.683018 0.230863 0.592786 0.36974 0.248326 0.288564 0.300075 0.242 0.298618 0.16467 0.498358 0.420276 0.289658 0.446853 0.313496 0.257661 0.400711 0.433327 0.21112 0.314648 0.460716 0.365711 0.404152 0.193195 0.432041 0.326585 0.466195 0.367488 0.415492 0.619874 0.441663 0.525212 0.298439 0.339892 0.416595 0.585361 0.227459 0.41224 0.422938 0.601562 0.507279 0.383961 0.406995 0.258263 0.425787 0.478762 0.341228 0.469652 0.569125 0.703778 0.441474 0.90805 0.397983 0.210948 0.325588 0.535146 0.481205 0.210259 0.22636 0.289527 0.468978 0.455355 0.201884 0.469362 0.290579 0.29687 0.334851 0.303651 0.397221 0.646754 0.476572 0.655077 0.331698 0.38697 0.329189 0.157839 0.299667 0.462414 0.224238 0.363965 0.402483 0.279884 0.507125 0.718827 0.282078 0.357317 0.258452 0.396852 0.295067 0.259415 0.358067 0.378415 0.292102 0.443263 0.258235 0.579429 0.392766 0.463801 0.321555 0.412432 0.488987 0.394577 0.228119 0.558717 0.37522 0.278293 0.321857 0.451311 0.546139 0.237674 0.245153 0.219687 0.284283 0.659362 0.377781 0.502522 0.133954 0.18091 0.267391 0.405892 0.237692 0.382236 0.158272 0.337453 0.319237 0.279708 0.35771 0.47629 0.252805 0.36148 0.495355 0.336047 0.578237 0.431423 0.342714 0.346226 0.410374 0.514075 0.465431 0.291683 0.365759 0.258659 0.590801 0.317213 0.267882 0.323483 0.337079 0.491129 0.531777 0.361129 0.442701 0.182931 0.282571 0.306189 0.443623 0.4077 0.389924 0.259494 0.222147 0.123873 0.191223 0.182744 0.300943 0.308204 0.152111 0.409304 0.423705 0.173488 0.434874 0.231927 0.554731 0.268811 0.272789 0.328643 0.295152 0 0.377816 0.135068 0.454153 0.376984 0.379005 0.247919 0.331419 0.420433 0.499814 0.240089 0.367307 0.407758 0.340821 0.211527 0.555995 0.198253 0.332288 0.269738 0.452568 0.286905 0.434313 0.294087 0.463754 0.544019 0.381911 0.254917 0.387675 0.437671 0.265084 0.491828 0.371772 0.170504 0.0550101 0.717438 0.164957 0.180618 0.359421 0.215396 0.161381 0.207439 0.505066 0.371987 0.238209 0.185584 0.236769 0.384086 0.28807 0.247004 0.424935 0.0737595 0.370604 0.0451831 0.45993 0.318447 0.195119 0.399929 0.237998 0.653854 0.218041 0.162419 0.347346 0.234021 0.270212 0.364332 0.40017 0.233224 0.553146 0.424023 0.289875 0.305715 0.397473 0.324374 0.421553 0.313582 0.308836 0.260711 0.221982 0.3637 0.241342 0.561879 0.130624 0.21322 0.170044 0.437795 0.182335 0.110752 0.374554 0.397463 0.154411 0.154159 0.450721 0.264692 0.388741 0.339683 0.372659 0.352963 0.339928 0.376405 0.126183 0.1502 0.430657 0.352093 0.398132 0.410731 0.372691 0.417624 0.464344 0.373855 0.422581 0.337479 0.239086 0.313607 0.431296 0.344455 0.594953 0.171038 0.337184 0.484595 0.116737 0.38591 0.341695 0.532967 0.40409 0.19691 0.738848 0.288999 0.0571811 0.423145 0.415506 0.306093 0.20489 0.254502 0.356253 0.61975 0.417453 0.152697 0.247714 0.234387 0.533847 0.464611 0.190462 0.496377 0.226313 0.332937 0.280372 0.330536 0.228659 0.454055 0.235112 0.553495 0.501261 0.254552 0.232922 0.282163 0.411417 0.582898 0.651956 0.163229 0.103202 0.319879 0.725965 0.346362 0.148362 0.246515 0.360309 0.451057 0.387193 0.108793 0.552324 0.110784 0.291716 0.130708 0.435747 0.430003 0.369278 0.450774 0.348596 0.516262 0.271997 0.219453 0.0807439 0.330722 0.210287 0.104473 0.184998 0.293526 0.240663 0.0561046 0.496715 0.230883 0.46344 0.432885 0.301884 0.335167 0.400654 0.273411 0.0659011 0.435547 0.405231 0.384552 0.180481 0.384583 0.443573 0.261613 0.665333 0.45919 0.271292 0.324436 0.283984 0.275851 0.493449 0.140341 0.412863 0.359104 0.174244 0.488806 0.326236 0.145726 0.499712 0.275043 0.412706 0.460551 0.241189 0.291068 0.0462596 0.18611 0.275502 0.217275 0.398343 0.496468 0.0907837 0.303115 0.410459 0.266961 0.447952 0.309547 0.210453 0.215478 0.385943 0.378158 0.199511 0.127486 0.192304 0.416564 0.209515 0.197295 0.394199 0.556206 0.141914 0.230625 0.212701 0.196003 0.276431 0.35869 0.383822 0.309124 0.313893 0.385027 0.362814 0.291037 0.275645 0.270779 0.367545 0.162475 0.126437 0.239907 0.206041 0.328315 0.393935 0.279404 0.225361 0.244213 0.380606 0.229266 0.316137 0.253898 0.204394 0.282281 0.309922 0.204953 0.210418 0.259272 0.129488 0.248677 0.412254 0.37427 0.209811 0.308884 0.256161 0.422457 0.122967 0.160072 0.219239 0.693184 0.250394 0.384099 0.269083 0.267463 0.22018 0.241867 0.440467 0.223429 0.142338 0.321634 0.459525 0.421405 0.318554 0.0402148 0.150322 0.252915 0.444779 0.528278 0.327665 0.11886 0.13407 0.320334 0.108058 0.279132 0.386049 0.251106 0.551079 0.274217 0.426692 0.252847 0.216845 0.198028 0.470075 0.495791 0.35576 0.17218 0.166689 0.202871 0.114141 0.386127 0.416075 0.110043 0.323012 0.218212 0.237139 0.314823 0.33729 0.389095 0.201003 0.160497 0.174077 0.248581 0.19853 0.247306 0.349084 0.330443 0.209081 0.140408 0.167532 0.529777 0.483689 0.419055 0.604898 0.545686 0.272563 0.223712 0.214867 0.210908 0.219252 0.575777 0.229684 0.206435 0.10833 0.248239 0.441122 0.579661 0.359753 0.229248 0.0526444 0.197091 0.293776 0.186659 0.119859 0.416556 0.390166 0.503556 0.487526 0.296761 0.230059 0.311821 0.309935 0.208389 0.286495 0.325167 0.173566 0.381476 0.25629 0.372681 0.343729 0.183771 0.280986 0.248382 0.388473 0.237607 0.338024 0.400429 0.106149 0.092871 0.275422 0.180611 0.161109 0.475881 0.125474 0.25097 0.259392 0.363675 0.0994666 0.42236 0.319077 0.170348 0.332786 0.254282 0.0511728 0.246624 0.350196 0.333625 0.54433 0.251682 0.256751 0.618277 0.421107 0.323344 0.105095 0.311744 0.207915 0.315976 0.252117 0.270035 0.297525 0.557146 0.2413 0.141144 0.166868 0.121823 0.26672 0.329521 0 0.421886 0.0561159 0.271379 0.0561046 0.300112 0.239252 0.299587 0.618817 0.119441 0.181533 0.509921 0.228604 0.27482 0.268826 0.0181838 0.371847 0.261816 0.205223 0.37984 0.14339 0.273786 0.247935 0.66035 0.0666391 0.0851025 0.396112 0.189164 0.395097 0.34548 0.527656 0.281024 0.186933 0.228508 0.110043 0.290525 0.207369 0.473274 0.111619 0.325202 0.314154 0.228932 0.164222 0.438732 0.270625 0.258925 0.123973 0.235746 0.166974 0.510648 0.230679 0.373235 0.0583459 0.0402148 0.353083 0.265914 0.256307 0.209483 0.308122 0.434554 0.382837 0.368674 0.260442 0.174702 0.193174 0.207267 0.0733184 0.327993 0.359871 0.215971 0.283902 0.133175 0.272888 0.0526562 0.286637 0.149447 0.448261 0.154463 0.243112 0.124618 0.282909 0.348322 0.219611 0.055577 0.158189 0.290582 0.190845 0.470983 0.382545 0.313975 0.384013 0.334739 0.353811 0.166852 0.214243 0.100747 0.371131 0.35893 0.322853 0.0579734 0.310082 0.0741064 0.331373 0.417696 0.183637 0.418982 0.478685 0.158142 0.149289 0.518453 0.407665 0.238542 0.107424 0.144889 0.218952 0.340845 0.462177 0.13835 0.249968 0.205106 0.352034 0.160777 0.121241 0.273539 0.146404 0.129768 0.102187 0.21167 0.409437 0.205112 0.167604 0.407862 0.179312 0.494911 0.195394 0.30731 0.115112 0.194357 0.210401 0.29206 0.452721 0.408023 0.255944 0.213269 0.358679 0.0346791 0.26399 0.141379 0.238363 0.199648 0.191926 0.235276 0.229989 0.44714 0.405932 0.170856 0.311341 0.516872 0.496944 0.389488 0.278926 0.31019 0.100918 0.332622 0.112185 0.483996 0.266849 0.260183 0.30543 0.281869 0.133162 0.318766 0.298299 0.255435 0.198982 0.0500847 0.0511728 0.169983 0.186809 0.462768 0.281064 0.0737595 0.13166 0.242384 0.210335 0.353561 0.349845 0.273291 0.337133 0.166811 0.346726 0.135553 0.278602 0.265408 0.287397 0.127434 0.232051 0.273444 0.276404 0.29872 0.258147 0.404564 0.39465 0.161605 0.514886 0.0555431 0.253566 0.261362 0.21841 0.327299 0.276497 0.160003 0.250795 0.383941 0.37443 0.255536 0.294849 0.188893 0.208884 0.289725 0.104105 0.287329 0.0637253 0.287528 0.406555 0.337209 0.0560045 0.291393 0.288314 0.218701 0.286168 0.12165 0.248879 0.164459 0.526132 0.280377 0.246252 0.55654 0.1765 0.403632 0.219034 0.227758 0.21821 0.166374 0.120973 0.280642 0.39472 0.369554 0.546063 0.317254 0.176327 0.222739 0.468559 0.213888 0.122451 0.202382 0.315341 0.486231 0.366831 0.331066 0.348239 0.114137 0.135105 0.187457 0.448183 0.312238 0.266156 0.189674 0.175282 0.211654 0.565714 0.355589 0.215421 0.250075 0.374776 0.316419 0.205275 0.148637 0.302962 0.227046 0.33627 0.223043 0.333787 0.227936 0.311651 0.211096 0.33385 0.32076 0.21771 0.108772 0.387545 0.32616 0.15924 0.19748 0.141845 0.254645 0.198939 0.275194 0.222608 0.164231 0.14247 0.191278 0.0794461 0.2599 0.104993 0.372908 0.301098 0.158463 0.198395 0.301589 0.339332 0.225706 0.195394 0.393636 0.232776 0.197644 0.483733 0.12685 0.204939 0.388335 0.225146 0.340883 0.271626 0.289802 0.119483 0.273414 0.230511 0.219199 0.286545 0.332416 0.241429 0.160368 0.279011 0.17628 0.196076 0.127485 0.193354 0.0262439 0.163315 0.111942 0.276151 0.185783 0.136081 0.394478 0.317848 0.404971 0.324362 0.143171 0.244815 0.356251 0.305039 0.179041 0.156234 0.219064 0.333234 0.117685 0.151384 0.233556 0.239916 0.270809 0.31383 0.433433 0.280368 0.112236 0.223721 0.221965 0.20519 0.120373 0.0828968 0.210345 0.112334 0.303662 0.269973 0.155367 0.108859 0.370407 0.196604 0.22181 0.355006 0.292283 0.144997 0.218749 0.300171 0.171334 0.0625527 0.259182 0.21347 0.174079 0.0952678 0.110486 0.278141 0.268496 0.119418 0.260327 0.157192 0.284248 0.619154 0.0579238 0.26854 0.0564499 0.228908 0.0800961 0.371767 0.00456231 0.137858 0.470243 0.294064 0.257289 0.325113 0.349902 0.170974 0.173118 0.276293 0.107829 0.358556 0.164813 0.310321 0.577791 0.0500847 0.211409 0.278498 0.230129 0.412948 0.338929 0.17597 0.186237 0.306607 0.106319 0.0266164 0.14533 0.306917 0.334064 0.219069 0.450773 0.156422 0.688997 0.303244 0.358091 0.341253 0.274966 0.136955 0.268568 0.518229 0.114949 0.180603 0.205826 0.247722 0.390406 0.216236 0.375641 0.150359 0.182144 0.292849 0.364626 0.295836 0.0402148 0.322336 0.214907 0.147949 0.304189 0.233737 0.337354 0.222995 0.124588 0.157809 0.230575 0.224851 0.0289418 0.343844 0.238796 0 0.106171 0.314493 0.225376 0.355541 0.383815 0.365285 0.103175 0.296669 0.205916 0.413259 0.14538 0.343347 0.107119 0.237084 0.100442 0.604983 0.219039 0.350107 0.139347 0.411312 0.246263 0.0650312 0.181129 0.104905 0.308115 0.470038 0.382628 0.251874 0.459987 0.23611 0.105064 0.371097 0.276003 0.19933 0.351704 0.394931 0.371319 0.236023 0.0686861 0.0629642 0.329647 0.408493 0.0530907 0.195788 0.240903 0.289149 0.0963194 0.507841 0.035146 0.164675 0.225218 0.184296 0.258819 0.115863 0.276797 0.262736 0.179181 0.258894 0.229382 0.325564 0.369744 0.342758 0.214301 0.358614 0.291535 0.331218 0.116055 0.232452 0.217176 0.347413 0.180817 0.300302 0.21756 0.241078 0.112593 0.518612 0.0471071 0.0688106 0.300969 0.230732 0.231762 0.0783402 0.427825 0.19397 0.277237 0.387918 0.282483 0.0500847 0.276235 0.268155 0.283789 0.219925 0.150628 0.405965 0.132743 0.111126 0.172562 0.292152 0.119443 0.234468 0.225994 0.374199 0.438232 0.292077 0.125516 0.140282 0.332895 0.286936 0.299428 0.395637 0.316182 0.218381 0.415871 0.178367 0.1334 0.407597 0.224623 0.156501 0.235718 0.325419 0.282415 0.0873353 0.280352 0.30702 0.19984 0.221169 0.204639 0.341599 0.256346 0.0915987 0.0675539 0.154451 0.378643 0.178023 0.266569 0.152806 0.33125 0.243832 0.0952678 0.389927 0.483174 0.104993 0.320971 0.332281 0.30874 0.261805 0.191006 0.137407 0.298996 0.47613 0.426859 0.337235 0.216731 0.546131 0.130181 0.150278 0.315535 0.0646907 0.352723 0.317036 0.212844 0.17227 0.272377 0.401067 0.365196 0.156274 0.407945 0.396397 0.417534 0.440326 0.158903 0.217887 0.185415 0.10821 0.363065 0.313806 0.203966 0.169648 0.275674 0.480349 0.283361 0.106535 0.101257 0.29476 0.158681 0.0181838 0.417492 0.315508 0.216108 0.252609 0.0783218 0.253944 0.295357 0.408357 0.440521 0.235332 0.241982 0.206138 0.346785 0.401047 0.162757 0.104279 0.608223 0.186881 0.221854 0.661169 0.15264 0.0912295 0.478662 0.339024 0.186927 0.292302 0.182773 0.366715 0.222994 0.189821 0.477277 0.290831 0.225715 0.28749 0.476698 0.298172 0.166136 0.23906 0.249718 0.070135 0.335296 0.243004 0.272972 0.0549087 0.228347 0.163162 0.40924 0.15518 0.306349 0.140654 0.128894 0.125035 0.603224 0.416476 0.234647 0.154216 0.257305 0.147257 0.216473 0.305443 0.279014 0.210658 0.0629642 0.215948 0.242263 0.167565 0.210828 0.30606 0.0871934 0.533303 0.343894 0.184874 0.168534 0.297424 0.242328 0.26257 0.151586 0.0951659 0.42115 0.483773 0.350013 0.155328 0.219641 0.215394 0.0840492 0.208546 0.365773 0.170729 0.107666 0.242842 0.349331 0.223648 0.247494 0.326262 0.258653 0.336499 0.411615 0.36658 0.594183 0.284085 0.17743 0.40716 0.519724 0.177809 0.140758 0.240031 0.335262 0.230657 0.321435 0.299124 0.34573 0.283142 0.221978 0.308158 0.423124 0.07084 0.188743 0.173516 0.212058 0.357875 0.441598 0.172907 0.19702 0.525265 0.344155 0.340541 0.256323 0.201977 0.250545 0.304351 0.393913 0.376858 0.234959 0.17868 0.217902 0.22517 0.128547 0.0828968 0.448129 0.504336 0.157549 0.17329 0.0972959 0.197689 0.176491 0.0526562 0.202515 0.386689 0.552908 0.181287 0.19586 0.274874 0.0813783 0.165291 0.576883 0.097103 0.15093 0.0550101 0.209559 0.264057 0.377594 0.167344 0.186006 0.20975 0.113983 0.187992 0.295183 0.190593 0.1339 0.287608 0.163727 0.248266 0.153146 0.263779 0.19331 0.205066 0.262551 0.308205 0.374643 0.190998 0.320365 0.0697806 0.117505 0.282873 0.315696 0.215037 0.229052 0.354249 0.397449 0.293195 0.25386 0.0731938 0.195634 0.351262 0.200148 0.21925 0.0561159 0.060814 0.137867 0.1725 0.303991 0.202469 0.336325 0.340896 0.212363 0.188978 0.119757 0.381354 0.273298 0.409824 0.582906 0.182805 0.206345 0.335506 0.22937 0.270839 0.155032 0.226906 0.237244 0.274266 0.307925 0.311883 0.53 0.23844 0.335172 0.109076 0.286479 0.447344 0.102176 0.243314 0.117877 0.122502 0.252024 0.196224 0.195455 0.26655 0.19171 0.131444 0.133917 0.243932 0.147881 0.334946 0.232267 0.413903 0.331234 0.261494 0.317154 0.371255 0.149056 0.114125 0.322426 0.132594 0.47012 0.198882 0.393762 0.474507 0.422986 0.397308 0.105246 0.340108 0.22159 0.223213 0.190972 0.231426 0.212891 0.31318 0.286786 0.337699 0.184251 0.15354 0.280576 0.310284 0.459994 0.0017956 0.478541 0.206757 0.33671 0.208869 0.203325 0.256777 0.277677 0.433512 0.269899 0.379307 0.107235 0.219074 0.221643 0.181836 0.182399 0.530252 0.357149 0.270084 0.33766 0.140165 0.298126 0.146015 0.451369 0.273239 0.178583 0.23733 0.243487 0.416843 0.0619983 0.265812 0.21541 0.402506 0.246527 0.316476 0.172459 0.381728 0.309556 0.308848 0.438212 0.118914 0.222564 0.403381 0.246481 0.190907 0.272406 0.21758 0.351861 0.102187 0.316584 0.21 0.411639 0.465766 0.284112 0.427749 0.235559 0.407088 0.339776 0.302013 0.334469 0.260528 0.349557 0.205859 0.335146 0.272353 0.160425 0.342993 0.335924 0.154509 0.299617 0.388952 0.381473 0.266134 0.422568 0.377289 0.561491 0.0963442 0.421319 0.354766 0.109586 0.127704 0.232374 0.366137 0.348939 0.255529 0.222201 0.368577 0.292247 0.449803 0.15336 0.133322 0.311387 0.335566 0.154724 0.217051 0.258669 0.335183 0.315505 0.0794461 0.543702 0.10886 0.0510147 0.346112 0.499663 0.0500847 0.368057 0.37047 0.217772 0.292395 0.361646 0.285835 0.472311 0.163124 0.357806 0.159515 0.338001 0.286921 0.592227 0.176156 0.328634 0.173767 0.163056 0.0583986 0.292348 0.15932 0.276352 0.433241 0.355319 0.0731938 0.418344 0.304578 0.277172 0.405876 0.208948 0.312569 0.225596 0.22984 0.309667 0.271554 0.50026 0.380854 0.178463 0.285035 0.217569 0.161284 0.116851 0.177028 0.329252 0.379007 0.434794 0.208483 0.404854 0.395613 0.246117 0.268085 0.290316 0.319368 0.326999 0.177972 0.42818 0.411876 0.142905 0.307521 0.203188 0.234532 0.277743 0.206408 0.134365 0.403658 0.374149 0.320395 0.141429 0.479943 0.357763 0.38617 0.109817 0.355314 0.383548 0.31085 0.373796 0.324251 0.110043 0.245165 0.232875 0.187051 0.193273 0.224751 0.336126 0.354118 0.299987 0.269973 0.652383 0.478013 0.403587 0.239988 0.16755 0.124802 0.213661 0.380571 0.327595 0.337603 0.275216 0.0849851 0.301062 0.504274 0.322269 0.302073 0.390564 0.232484 0.228877 0.360464 0.339028 0.178708 0.354062 0.172373 0.315945 0.0301938 0.386175 0.302992 0.475133 0.105747 0.302458 0.137171 0.417544 0.248255 0.26852 0.305902 0.261867 0.281704 0.192955 0.186723 0.284296 0.283777 0.559663 0.2055 0.166915 0.348215 0.415935 0.536549 0.172525 0.436251 0.52192 0.593075 0.182861 0.222013 0.472492 0.411666 0.344858 0.292495 0.573084 0.438896 0.305595 0.411079 0.503555 0.364858 0.266871 0.0826745 0.248105 0.253117 0.402081 0.488963 0.411951 0.305537 0.33118 0.45415 0.449969 0.318452 0.650783 0.341107 0.561042 0.164104 0.257541 0.204301 0.0530907 0.122201 0.334733 0.267309 0.224824 0.266301 0.245826 0.576898 0.353504 0.572103 0.326825 0.416395 0.198503 0.312505 0.262273 0.545045 0.143874 0.117092 0.11002 0.416358 0.492656 0.264781 0.372903 0.153839 0.295798 0.551812 0.241098 0.471714 0.18461 0.533083 0.421991 0.168389 0.584555 0.552144 0.27829 0.289269 0.399819 0.409221 0.186818 0.178804 0.29578 0.594228 0.49128 0.506785 0.378814 0.314872 0.170948 0.333938 0.150701 0.212143 0.331937 0.164838 0.129232 0.367695 0.308244 0.478755 0.645633 0.191047 0.464824 0.445965 0.336988 0.124004 0.118895 0.482448 0.487305 0.481374 0.533176 0.293514 0.31676 0.191885 0.350437 0.477329 0.386445 0.332859 0.113974 0.385143 0.436902 0.299061 0.376129 0.515352 0.263628 0.139279 0.220792 0.558886 0.406099 0.507889 0.480062 0.354623 0.49572 0.317849 0.333321 0.339555 0.385744 0.243847 0.260708 0.214571 0.402038 0.564811 0.226334 0.388339 0.395878 0.519549 0.436556 0.220004 0.517063 0.486986 0.432323 0.512192 0.411405 0.576308 0.435032 0.295831 0.411344 0.337227 0.275096 0.378263 0.241449 0.240042 0.474619 0.825167 0.62505 0.3161 0.349811 0.281715 0.164145 0.180834 0.56114 0.209018 0.310627 0.376864 0.429689 0.325886 0.313875 0.24299 0.883052 0.34786 0.632984 0.554106 0.220446 0.535836 0.303694 0.426479 0.265595 0.712695 0.619799 0.48747 0.447919 0.324278 0.459926 0.402934 0.453402 0.271021 0.47439 0.385967 0.334318 0.463542 0.20426 0.693147 0.545464 0.254661 0.455309 0.409586 0.541224 0.419321 0.313894 0.504082 0.456143 0.41411 0.197701 0.429842 0.328439 0.414716 0.479739 0.498812 0.455683 0.638973 0.345313 0.420992 0.483298 0.432754 0.486832 0.129419 0.358873 0.520647 0.447317 0.514506 0.398649 0.47412 0.50954 0.424003 0.51246 0.446351 0.63653 0.456853 0.535853 0.496343 0.163393 0.516247 0.505772 0.751974 0.559883 0.415947 0.450218 0.686729 0.24781 0.401965 0.42807 0.209817 0.556719 0.737543 0.143176 0.276289 0.148744 0.497324 0.353674 0.348877 0.475537 0.36871 0.464295 0.382346 0.228724 0.276855 0.170622 0.324172 0.547049 0.462263 0.415693 0.798333 0.355387 0.27877 0.880032 0.363014 0.651235 0.992681 0.51454 0.350876 0.462737 0.456466 0.162872 0.522508 0.351345 0.491171 0.438261 0.646793 0.466764 0.58682 0.867386 0.470248 0.537001 0.319218 0.407248 0.665284 0.398951 0.338934 0.479983 0.412075 0.422534 0.486162 0.508767 0.335392 0.410873 0.576643 0.441566 0.265916 0.207124 0.393258 0.393699 0.272602 0.27922 0.29553 0.263431 0.240645 0.405364 0.202738 0.186944 0.0961898 0.0637607 0.30084 0.0952678 0.0564499 0.0511728 0 0 0 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_high_e_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_high_e_BDTG.weights.xml deleted file mode 100644 index a9a9f0613d98..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_high_e_BDTG.weights.xml +++ /dev/null @@ -1,6075 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.0172897 0.0164199 0.0240652 0.0334524 0.00696381 0.015847 0.00832561 0.0163897 0.0147365 0.0379693 0.0281721 0 0.0168497 0 0 0 0 0 0 0.0393757 0.0147365 0.025483 0 0.015847 0.0149498 0.02321 0.0405211 0.0188011 0 0.0238607 0 0 0.0149498 0.0316845 0 0.00295402 0.0163897 0 0.0167466 0.048724 0.0354216 0.0134867 0.0239134 0 0.0834875 0.0120037 0.0163897 0.0477385 0.0454641 0.0486566 0.0271014 0.0174314 0 0 0.0149498 0.0152274 0 0.0376309 0 0.0149498 0.0389412 0.00696381 0.0103513 0.0271014 0.0348913 0 0 0.0384061 0.0340215 0.0241012 0 0.0311216 0.0490932 0.0134867 0 0.0167466 0.0587291 0.0181814 0.0222383 0.0463281 0.0529831 0.0241012 0.0466905 0.0270615 0.0435017 0.0660958 0 0.0475833 0.0466163 0 0.0700906 0.0414905 0.0290929 0.0409058 0.0432284 0.0587958 0.025758 0.0187942 0.0318064 0.0188011 0.0440329 0.0320191 0.0149498 0.0849421 0 0.0636203 0.0132223 0.00408215 0.0428609 0.0693132 0.0120037 0.0239134 0.0474583 0.0267713 0.0678005 0.0818738 0.0013618 0.0272782 0.0686323 0.0547371 0 0.0829149 0.0305084 0.0332169 0.0571493 0.0442853 0.0164199 0.0481569 0.0373945 0.0320372 0.077608 0.0663054 0.0340687 0.0727852 0.0874984 0.0878009 0.0948831 0.0427864 0.0425518 0.0904222 0.0473279 0.095858 0.0103513 0.0819687 0.0260687 0.03457 0.0704437 0.0168243 0.0444985 0.0653254 0.0469238 0.0164571 0.130079 0.0648184 0.0462212 0.0500957 0.0437473 0.0168497 0.00696381 0.0736833 0.0941667 0.030011 0.0293894 0.0134867 0.0464295 0.111063 0.0564436 0.0323678 0.111794 0.0013618 0.0323678 0.0954382 0.0460392 0.0520013 0.0810996 0.0103513 0.0836683 0.0649875 0.0447088 0.0576201 0.0716034 0.0352141 0.0271014 0.0299723 0.0167852 0.0388833 0.0602441 0.0492169 0.123062 0.0469215 0.0947129 0.0252426 0.0699781 0.0202302 0.0881045 0.0233753 0.0420872 0.0313825 0.0319686 0.0759736 0.0298401 0.0934223 0.0541206 0.150369 0.139962 0.0285141 0.0612307 0.0346961 0.0559063 0.059498 0.0463489 0.0985477 0.0388377 0.041494 0.10449 0.0570206 0.0246775 0.0865899 0.077241 0.0528233 0.0416705 0.0803481 0.0690917 0.0939592 0.11791 0.0588194 0.125855 0.0366501 0.0596663 0.0507305 0.0588798 0.0726121 0.0432896 0.108256 0.115886 0.0863511 0.048088 0.072802 0.086984 0.0432419 0.112615 0.0652877 0.109383 0.153372 0.140591 0.128834 0.0260702 0.0889161 0.0648479 0.0790158 0.154725 0.0889085 0.0663771 0.104061 0.106297 0.108835 0.0393757 0.122314 0.0233698 0.138891 0.0592319 0.0328771 0.0949333 0.0661295 0.1323 0.0503233 0.127895 0.0808647 0.0928421 0.0390718 0.105077 0.0745549 0.0788188 0.106753 0.175542 0.130881 0.0475113 0.194321 0.101775 0.160475 0.117922 0.0904658 0.05193 0.0793675 0.0745425 0.118199 0.120382 0.153631 0.0537774 0.0983499 0.131052 0.0482194 0.12544 0.0337351 0.0836884 0.0497825 0.155533 0.147174 0.0807989 0.117411 0.066206 0.135665 0.0653401 0.156574 0.0689149 0.155719 0.134957 0.136323 0.0575906 0.0754108 0.124142 0.135922 0.101106 0.120616 0.0744226 0.238345 0.137249 0.0810799 0.0610989 0.0991752 0.0855579 0.0782425 0.117402 0.115322 0.0858882 0.119477 0.167601 0.0955626 0.200921 0.0910235 0.17678 0.0637242 0.162683 0.146189 0.131814 0.119451 0.205286 0.0812289 0.192837 0.0748607 0.103591 0.110151 0.0623695 0.12183 0.105903 0.0999269 0.148158 0.12326 0.216422 0.123817 0.162257 0.239467 0.125807 0.184053 0.120764 0.163631 0.140243 0.153181 0.0582517 0.16667 0.148129 0.13859 0.189958 0.137596 0.213689 0.245574 0.158757 0.112574 0.149408 0.0481213 0.130559 0.15946 0.281149 0.153158 0.1225 0.225593 0.158405 0.171464 0.106319 0.121576 0.14126 0.109526 0.134812 0.137766 0.213319 0.226357 0.13431 0.154257 0.087559 0.16766 0.107878 0.138771 0.21854 0.161403 0.24953 0.195542 0.170009 0.121786 0.247618 0.185952 0.169744 0.305278 0.105887 0.244604 0.147454 0.200792 0.203538 0.246444 0.282419 0.13444 0.314328 0.292905 0.223836 0.197508 0.193025 0.149687 0.297692 0.277759 0.122783 0.282638 0.338126 0.174186 0.202512 0.320525 0.250047 0.280544 0.108713 0.269336 0.275132 0.193686 0.309415 0.185557 0.214898 0.347292 0.192395 0.234474 0.198964 0.341934 0.234216 0.233784 0.405088 0.24029 0.336032 0.37195 0.250746 0.21459 0.285664 0.33908 0.295845 0.456122 0.485083 0.347339 0.263616 0.242361 0.21834 0.353351 0.272542 0.342499 0.27108 0.368346 0.311076 0.383992 0.387268 0.309931 0.224373 0.212161 0.388375 0.490652 0.324901 0.362233 0.376314 0.433467 0.417142 0.30871 0.299231 0.383023 0.451307 0.334992 0.495868 0.241675 0.378684 0.405105 0.431688 0.383422 0.436963 0.395339 0.300693 0.568078 0.6125 0.565496 0.433011 0.335281 0.378593 0.384024 0.527736 0.677099 0.544423 0.44093 0.516674 0.482511 0.477525 0.497563 0.425486 0.690109 0.665461 0.468325 0.718833 0.708182 0.712624 0.746967 0.536559 0.539765 0.758869 0.637336 0.640745 0.714082 0.741568 0.721104 0.803653 0.760229 0.810979 0.862331 0.920174 1.02022 0.727056 0.953851 0.898478 0.955479 1.20499 1.1701 1.03797 1.53382 1.11354 1.10485 1.39477 1.12874 1.44881 1.2941 1.42858 1.27864 1.64549 1.52922 1.49103 1.59664 1.59895 1.56636 1.52604 1.8383 1.62147 1.51639 1.65172 1.55273 1.93626 1.71121 1.68711 1.97874 2.12226 1.93868 2.46993 2.31586 2.58119 2.77678 2.79487 2.91921 3.03385 3.15277 3.90482 3.73943 4.17082 3.64216 4.70719 4.43726 4.88563 5.49788 6.8275 5.79032 7.53468 6.83268 7.70661 9.70331 10.7451 19.6028 16.3491 15.2934 4.08693 0.690643 0.292333 0.535296 0.458519 0.782053 0.0636398 - - - - - 4.70613 8.42744 7.48619 6.99532 5.9797 6.04458 3.83038 4.44586 3.84887 3.55417 3.45699 2.8272 3.11604 3.20665 2.64483 2.59757 2.30785 2.16289 1.97111 1.89438 2.15805 1.73679 2.07593 1.89238 1.6342 1.15882 1.44751 1.64274 1.87033 1.42754 1.8265 1.33834 0.989985 1.29216 1.34096 1.02364 1.40683 1.11643 1.01357 0.892111 1.2385 0.93144 1.33351 1.01399 0.747493 1.02357 1.4192 0.967029 1.11389 1.00272 0.921472 0.788724 0.753013 0.692407 1.0481 0.821055 0.963251 0.921933 0.788448 0.743975 1.02642 0.900672 0.78477 0.793633 0.67225 0.779209 0.685391 0.904588 0.426411 0.398278 0.602152 0.638851 0.748648 0.711287 0.611781 0.801932 0.553409 0.704082 0.816082 0.723293 0.499112 0.557528 0.526343 0.362785 0.787776 0.746582 0.639699 0.386019 0.44949 0.481325 0.481746 0.568513 0.613406 0.626451 0.580396 0.568493 0.412142 0.481415 0.698056 0.597635 0.302252 0.527436 0.459164 0.397829 0.443624 0.432751 0.203671 0.377872 0.625396 0.546742 0.535909 0.535736 0.487601 0.528128 0.630103 0.454586 0.383939 0.698949 0.717294 0.619912 0.518335 0.24564 0.393249 0.413661 0.352646 0.355925 0.494234 0.431078 0.286376 0.485902 0.468234 0.435906 0.484322 0.218487 0.439675 0.371899 0.590894 0.395562 0.321883 0.236555 0.662789 0.636503 0.521531 0.538972 0.267526 0.291578 0.18345 0.254181 0.371867 0.456972 0.310209 0.401533 0.380075 0.626728 0.294952 0.212336 0.362335 0.376195 0.380205 0.526442 0.21828 0.240282 0.157286 0.467167 0.471512 0.356832 0.375511 0.304011 0.371393 0.141758 0.334608 0.351701 0.449734 0.289356 0.358549 0.496866 0.159363 0.203738 0.267955 0.489341 0.305534 0.231209 0.469561 0.257519 0.224257 0.180205 0.256617 0.358163 0.294449 0.449381 0.384084 0.241584 0.273821 0.229522 0.242789 0.201306 0.633654 0.27604 0.317141 0.17004 0.0975638 0.177318 0.287455 0.370351 0.404348 0.334249 0.240218 0.197435 0.214189 0.132747 0.34828 0.369033 0.320007 0.155502 0.303547 0.485102 0.262544 0.289258 0.236043 0.258854 0.320281 0.419259 0.173381 0.44168 0.497076 0.488193 0.457367 0.230998 0.230881 0.275224 0.349304 0.398561 0.326559 0.277304 0.4123 0.61186 0.116145 0.492567 0.366146 0.215286 0.2699 0.420726 0.201577 0.30257 0.231119 0.209067 0.283425 0.31227 0.283032 0.32004 0.308855 0.25559 0.239777 0.207021 0.519921 0.134021 0.465554 0.410268 0.270723 0.249108 0.101878 0.214962 0.274422 0.22369 0.279642 0.25447 0.154862 0.113799 0.175941 0.439234 0.180946 0.498682 0.438962 0.390147 0.195654 0.187427 0.229507 0.213824 0.318832 0.137399 0.162402 0.466271 0.406656 0.383653 0.415118 0.382082 0.449812 0.348854 0.288371 0.353757 0.231731 0.292983 0.210479 0.329753 0.344164 0.404127 0.122155 0.428106 0.334319 0.119913 0.392378 0.273937 0.265531 0.257899 0.189509 0.388193 0.0746212 0.155162 0.412193 0.135272 0.232896 0.240201 0.318356 0.217403 0.199895 0.301233 0.267121 0.122182 0.247224 0.139936 0.293831 0.230075 0.129109 0.314024 0.135432 0.220561 0.170525 0.324499 0.444731 0.11159 0.191723 0.316939 0.167481 0.328287 0.290122 0.432256 0.229811 0.230807 0.23439 0.333953 0.0379014 0.197591 0.139307 0.128927 0.407744 0.238963 0.114199 0.0821546 0.480088 0.130337 0.4178 0.113446 0.236665 0.416615 0.386266 0.319537 0.20174 0.342676 0.149072 0.121436 0.247644 0.214677 0.315887 0.432956 0.188283 0.092614 0.333739 0.274464 0.0596682 0.27837 0.0403916 0.268398 0.457631 0.27296 0.352319 0.160612 0.338123 0.156068 0.256228 0.277645 0.247293 0.151575 0.0395066 0.22162 0.218288 0.18475 0.250189 0.242847 0.0963881 0.189204 0.168158 0.294646 0.27896 0.236835 0.363844 0.230769 0.292454 0.20383 0.255095 0.242168 0.144036 0.106831 0.226717 0.285947 0.318796 0.26685 0.290705 0.249618 0.28236 0.123846 0.200043 0.192816 0.380845 0.118859 0.229608 0.178529 0.137818 0.301199 0.224875 0.366359 0.152955 0.1748 0.231128 0.238068 0.390861 0.39483 0.114556 0.149117 0.27158 0.21774 0.0524426 0.26406 0.155703 0.10379 0.31637 0.215188 0.243028 0.275623 0.13211 0.197276 0.102566 0.191845 0.153566 0.425944 0.261904 0.209426 0.198061 0.260974 0.274871 0.180093 0.298045 0.262791 0.283002 0.197571 0.180035 0.442366 0.244474 0.2468 0.162462 0.160735 0.253334 0.487638 0.26904 0.143751 0.190651 0.327942 0.251929 0.368345 0.38538 0.320765 0.392985 0.28563 0.491058 0.0604415 0.117487 0.423275 0.131378 0.42438 0.227922 0.284699 0.2093 0.187972 0.134331 0.245981 0.334252 0.268024 0.56259 0.291069 0.265363 0.2865 0.33062 0.411965 0.24313 0.197763 0.295506 0.309571 0.165957 0.350125 0.235784 0.44078 0.207829 0.216271 0.366337 0.104666 0.276265 0.332283 0.191656 0.302731 0.193577 0.122003 0.178602 0.156747 0.274952 0.197874 0.18826 0.184688 0.227249 0.43927 0.220049 0.159964 0.182443 0.335825 0.166322 0.207602 0.282995 0.347987 0.27583 0.281049 0.277638 0.448831 0.186333 0.30175 0.461659 0.396802 0.27412 0.153794 0.428712 0.288556 0.28447 0.478697 0.181819 0.229922 0.267762 0.471107 0.402302 0.230079 0.253665 0.368015 0.273225 0.28836 0.0919347 0.214767 0.33101 0.211003 0.35485 0.135491 0.400263 0.275567 0.426549 0.296636 0.396633 0.422955 0.413181 0.312401 0.344269 0.354136 0.272144 0.28495 0.239698 0.291404 0.281529 0.393371 0.407591 0.147848 0.253974 0.185277 0.441056 0.252309 0.555135 0.483151 0.316932 0.6841 0.45076 0.222806 0 0.0382141 0 0.0032839 0 0 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_low_b_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_low_b_BDTG.weights.xml deleted file mode 100644 index 0dc2043460ff..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_low_b_BDTG.weights.xml +++ /dev/null @@ -1,6075 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0 0.0155002 0.00800347 0 0.0118968 0.017555 0.0192507 0.0188714 0.0189141 0 0.00469159 0.0216001 0 0 0.00992223 0.0218611 0.0403009 0.0690344 0.0527005 0.0388236 0.000738583 0.0668109 0.0539465 0.070246 0 0.0572331 0.0508453 0.0367515 0.0598019 0.0326819 0.0378393 0.0192507 0.0179257 0.0670352 0.0556671 0.0559219 0.0118968 0.0793312 0.0803558 0.055079 0.0927653 0.0549299 0.039813 0.0340677 0.0023546 0.0525264 0.0694272 0.0192468 0.0344432 0.0169366 0.0628089 0.0879025 0.0618362 0.054024 0.0264572 0.0732836 0.0696285 0.0380873 0.0600752 0.0738375 0.0426321 0.0575995 0.0328616 0.0379775 0.0181709 0.0408469 0.0851091 0.0532348 0.0307333 0.0390138 0.0528005 0.0182129 0.106209 0.0369352 0.0530285 0.0171817 0.0791329 0.0900543 0.0402074 0.0702968 0.0764549 0.0493733 0.0625557 0.0188366 0.0869682 0.108193 0.0572873 0.0383127 0.0586812 0.065879 0.101282 0.0727282 0.0662902 0.0169366 0.0463508 0.0826335 0.0180639 0.145325 0.0540703 0.0671231 0.00800347 0.0350015 0.105639 0.037519 0.0509363 0.0729334 0.0724977 0.146976 0.148913 0.16864 0.0823305 0.174177 0.0787619 0.0928585 0.0499831 0.0444746 0.0918508 0.0485344 0.0881817 0.143682 0.0748697 0.0432875 0.132902 0.0543606 0.107016 0.0495699 0.04801 0.0636401 0.130264 0.0793021 0.0902884 0.0420437 0.0751564 0.0956639 0.12349 0.0694175 0.0855576 0.0883409 0.036469 0.0936018 0.0800486 0.107422 0.0978276 0.0530324 0.168364 0.153228 0.0402372 0.123457 0.0932674 0.114071 0.0550236 0.158693 0.0909656 0.158788 0.16551 0.0468777 0.158951 0.0476041 0.0811682 0.164239 0.103387 0.161162 0.136476 0.0989496 0.0824976 0.0717361 0.0593711 0.130157 0.110113 0.129999 0.1433 0.0893197 0.148245 0.13659 0.117672 0.14755 0.132083 0.157281 0.287691 0.180245 0.0839825 0.100112 0.0647862 0.261242 0.365873 0.0993991 0.128994 0.211028 0.18698 0.14434 0.288238 0.155928 0.217564 0.173544 0.180533 0.224091 0.143878 0.258216 0.247656 0.21486 0.161355 0.17373 0.179359 0.18826 0.251253 0.221676 0.111055 0.0642179 0.17344 0.208999 0.236702 0.18089 0.158387 0.0911629 0.205958 0.158073 0.127347 0.0569168 0.211213 0.304192 0.223774 0.140372 0.216413 0.208996 0.279572 0.168472 0.316223 0.206895 0.293127 0.225133 0.28381 0.164071 0.19125 0.165149 0.311912 0.238614 0.261161 0.261724 0.264472 0.238329 0.209512 0.12305 0.131025 0.352129 0.287359 0.273256 0.238681 0.208746 0.363933 0.297899 0.279096 0.249195 0.270806 0.171962 0.177258 0.199273 0.466 0.299793 0.274248 0.355108 0.264789 0.23906 0.233182 0.237933 0.287098 0.275733 0.103095 0.389116 0.376569 0.291233 0.240177 0.299103 0.301324 0.40104 0.25983 0.203259 0.279653 0.224981 0.236933 0.24464 0.372302 0.345375 0.28493 0.234072 0.430416 0.40734 0.225765 0.285327 0.220329 0.381827 0.24202 0.442693 0.248749 0.394279 0.351302 0.361495 0.525812 0.271761 0.409275 0.321074 0.25788 0.482092 0.373004 0.372242 0.320581 0.459078 0.485406 0.529513 0.460799 0.411688 0.351194 0.4769 0.510733 0.556377 0.482916 0.467583 0.516288 0.34485 0.506062 0.612676 0.649258 0.600212 0.588199 0.512906 0.545145 0.422411 0.626073 0.56778 0.814421 0.544121 0.656728 0.461406 0.6461 0.634909 0.668358 0.474546 0.721684 0.645444 0.645689 0.691999 0.470486 0.839477 0.825368 0.602567 0.725857 0.493007 0.750701 0.724852 0.724751 0.746604 0.865295 0.628927 0.884282 0.818792 0.65793 0.778482 0.553375 0.648552 0.871757 0.642745 1.1502 0.489496 1.10629 0.68148 0.914011 0.895103 0.787189 0.55356 0.832341 0.984165 1.01063 0.899524 0.790358 0.758379 0.629943 0.953047 0.830441 0.886436 0.82123 0.623044 1.03158 1.33302 0.831472 1.08728 0.937542 0.640668 1.11824 0.926052 0.913392 0.942436 0.924445 1.21023 1.21671 0.89621 1.26916 1.10785 1.37188 1.06368 1.20416 1.13818 1.45006 1.42504 1.30515 1.56913 1.51773 1.57271 1.39955 1.44884 1.84029 1.76503 1.60829 2.05478 1.65291 2.16245 1.95322 2.31627 2.33985 2.89721 2.53108 2.73664 3.00971 3.82013 3.63144 3.63599 4.73248 4.32149 5.19192 4.73094 5.13327 6.12478 6.21473 5.88635 6.33603 4.75076 3.00496 0.217761 0.117931 0.114923 - - - - - 3.72135 5.17039 4.50832 4.33393 3.14525 3.08112 2.88269 2.31288 2.48128 2.26936 1.87132 2.0947 1.86034 1.85276 1.39494 1.2359 1.40026 1.5372 1.4138 1.45539 1.40238 1.50143 1.2587 0.943436 1.26764 1.24313 1.09807 1.11831 0.908616 0.956494 0.821273 1.02421 1.25213 1.39134 1.00451 1.03902 0.790291 1.03244 0.764619 0.942631 0.546905 0.850499 0.621797 0.845516 0.811602 0.775591 0.799077 0.47861 0.747604 0.915815 0.779439 0.791842 0.911653 0.576763 0.743583 0.807652 0.6513 0.664846 0.753853 0.831115 0.827272 0.880102 0.415244 0.872762 0.802982 0.737502 0.557242 0.763963 0.878941 0.576639 0.772636 0.632365 0.5297 0.788899 0.73912 0.491385 0.733026 0.630226 0.684246 0.473182 0.514327 0.684505 0.520565 0.610611 0.611987 0.56112 0.62075 0.597763 0.574347 0.464758 0.374711 0.395105 0.560237 0.64872 0.582251 0.644037 0.580218 0.692302 0.51644 0.58392 0.325453 0.525772 0.54415 0.807386 0.717911 0.452637 0.636878 0.663011 0.427241 0.400866 0.528843 0.603365 0.450058 0.373601 0.305809 0.297094 0.280155 0.351266 0.456517 0.535638 0.553026 0.632204 0.429913 0.634845 0.704562 0.240938 0.475668 0.44962 0.32072 0.466324 0.954179 0.604303 0.600717 0.430436 0.529099 0.40705 0.462829 0.307033 0.314395 0.518633 0.70711 0.383864 0.396659 0.539673 0.463196 0.711317 0.530499 0.565404 0.364569 0.399257 0.688522 0.371792 0.279986 0.641998 0.248389 0.356921 0.292627 0.483447 0.428734 0.248808 0.47272 0.274776 0.361486 0.432443 0.347068 0.307217 0.345431 0.242728 0.64639 0.254717 0.336435 0.353259 0.472205 0.397077 0.415657 0.320004 0.407061 0.606469 0.366922 0.374011 0.188998 0.564585 0.193468 0.219485 0.420213 0.262331 0.342623 0.495562 0.211497 0.502116 0.428548 0.43049 0.455511 0.526761 0.22347 0.302098 0.270944 0.123051 0.245935 0.449188 0.50843 0.277545 0.226945 0.739582 0.386061 0.343006 0.263018 0.437953 0.512848 0.303304 0.333375 0.356987 0.360218 0.242345 0.382352 0.305982 0.306972 0.353936 0.485052 0.327566 0.258126 0.2999 0.49682 0.474355 0.631586 0.439999 0.314444 0.309985 0.252938 0.22309 0.507982 0.459396 0.35079 0.263515 0.338502 0.384619 0.513494 0.381235 0.554384 0.201232 0.440122 0.271731 0.364801 0.304198 0.364185 0.440327 0.464182 0.333722 0.706095 0.270736 0.298116 0.2901 0.540291 0.428405 0.234078 0.337054 0.200286 0.261236 0.291001 0.224302 0.30504 0.164354 0.258788 0.410019 0.321122 0.312646 0.361653 0.20259 0.212249 0.417449 0.335793 0.262412 0.41691 0.34994 0.343074 0.28562 0.354461 0.408043 0.315221 0.404947 0.179563 0.261585 0.375524 0.385996 0.29592 0.190595 0.213222 0.59647 0.1896 0.238197 0.295356 0.394752 0.207184 0.59948 0.369987 0.325245 0.283987 0.349718 0.187747 0.305364 0.252822 0.312009 0.410971 0.387635 0.316051 0.369617 0.548845 0.444432 0.206293 0.287548 0.254653 0.338508 0.381401 0.210634 0.431548 0.287883 0.155626 0.297018 0.215862 0.257057 0.208892 0.214837 0.158658 0.329373 0.280541 0.321333 0.46919 0.339324 0.325901 0.437802 0.276251 0.239466 0.24177 0.323506 0.272601 0.330761 0.27367 0.195578 0.264401 0.285723 0.603727 0.398676 0.228588 0.380426 0.342746 0.231934 0.183695 0.315567 0.317856 0.348698 0.206502 0.243667 0.336145 0.372155 0.287873 0.290013 0.216285 0.162731 0.357605 0.207669 0.32027 0.175917 0.2531 0.343603 0.256722 0.146768 0.32389 0.239733 0.218117 0.175701 0.168588 0.287611 0.120916 0.155139 0.266043 0.149824 0.253035 0.222211 0.242936 0.108155 0.174457 0.194832 0.179793 0.24544 0.17637 0.222468 0.241023 0.108701 0.176474 0.101857 0.315708 0.0915074 0.329237 0.241899 0.123704 0.173613 0.135795 0.167304 0.18199 0.156647 0.317801 0.20651 0.218758 0.23614 0.306375 0.177031 0.212648 0.339296 0.143484 0.126437 0.292876 0.249535 0.307986 0.169861 0.298379 0.191886 0.311001 0.181949 0.166251 0.314185 0.148272 0.274773 0.196757 0.143925 0.21109 0.222206 0.224537 0.217513 0.191695 0.0614554 0.128994 0.0247666 0.188919 0.0908388 0.0447919 0 0 0 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_low_e_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_low_e_BDTG.weights.xml deleted file mode 100644 index 78e1e74711ac..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/mu_pteta_low_e_BDTG.weights.xml +++ /dev/null @@ -1,3075 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 0.0485553 0.0867848 0.0551176 0.0468902 0.0587304 0.0247835 0.0425529 0.0243551 0.0242553 0.0241397 0.0824528 0.0726973 0.052069 0.0492491 0.0834501 0.0518436 0 0.0749542 0.0450738 0.099177 0.0822927 0.123162 0.0491193 0.0226433 0.136176 0.120583 0.0566142 0.0868151 0.0821321 0.105415 0.0746674 0.062227 0.0753292 0.0739799 0.043933 0.0530012 0.118452 0.149205 0.102783 0.0888148 0.0988431 0.0872521 0.0730236 0.0991458 0.128466 0.202008 0.0770566 0.117953 0.277027 0.153127 0.0962616 0.0964644 0.242372 0.157079 0.149155 0.135295 0.131338 0.0234522 0.165033 0.0914068 0.160946 0.0943064 0.166165 0.187646 0.164178 0.188747 0.122838 0.262259 0.186218 0.179078 0.163334 0.237627 0.144936 0.160885 0.300445 0.307564 0.175683 0.12704 0.296954 0.189609 0.118336 0.22789 0.316516 0.212472 0.252536 0.311706 0.164207 0.273776 0.284653 0.154915 0.206901 0.332466 0.205354 0.144148 0.265364 0.308385 0.152865 0.198267 0.350399 0.371025 0.162135 0.321111 0.387951 0.326282 0.117753 0.124092 0.340616 0.18296 0.342002 0.308224 0.469642 0.31324 0.284314 0.334367 0.461328 0.31423 0.315534 0.334022 0.45929 0.456633 0.418843 0.425371 0.407839 0.492999 0.454112 0.51572 0.469998 0.372902 0.35769 0.432564 0.416063 0.436993 0.615347 0.285984 0.491685 0.724222 0.407622 0.613597 0.582451 0.570353 0.593392 0.640225 0.519804 0.56363 0.736416 0.698576 0.641205 0.50979 0.821589 0.537654 0.859283 0.928457 0.757473 0.582322 0.91104 0.530238 0.716585 0.68476 0.929759 0.859797 1.03267 0.947594 0.989369 0.998911 1.16238 0.972976 1.30276 1.17563 1.56051 1.28315 1.37594 1.51355 1.66281 1.82369 1.87778 2.68462 2.13604 2.43228 2.54228 2.45797 3.80705 3.30425 5.82402 4.38024 4.80115 - - - - - 4.37479 5.50585 4.75361 3.64132 3.16197 2.39072 2.15962 2.27996 1.70506 1.82205 1.53028 1.57114 1.15606 1.13297 1.49592 1.37892 0.967485 1.1807 0.994978 1.01055 0.872694 0.836607 0.942188 0.65376 0.747866 0.831136 0.487238 0.866646 0.712519 0.639311 0.784032 0.82494 0.733954 0.593492 0.603987 0.836737 0.608111 0.384214 0.543062 0.374212 0.489928 0.681056 0.665641 0.833074 0.559205 0.371531 0.54031 0.764421 0.449128 0.339165 0.40289 0.3595 0.518712 0.230423 0.314694 0.552351 0.47269 0.322159 0.484013 0.305325 0.291035 0.621724 0.350277 0.447124 0.462759 0.309315 0.38073 0.387291 0.373981 0.201854 0.478698 0.360735 0.365198 0.346097 0.468024 0.414234 0.37456 0.125136 0.423151 0.404728 0.415927 0.416173 0.249137 0.265095 0.283229 0.330148 0.350358 0.224971 0.188616 0.246078 0.368286 0.192214 0.295824 0.225824 0.298946 0.269403 0.342893 0.227202 0.249258 0.402101 0.360848 0.293232 0.207629 0.276674 0.0709123 0.237879 0.280253 0.255967 0.1307 0.294608 0.274957 0.21843 0.161505 0.234825 0.299544 0.242625 0.162834 0.0956865 0.177913 0.157134 0.14002 0.340145 0.288588 0.283235 0.161164 0.255807 0.262541 0.160044 0.181544 0.198899 0.208983 0.186451 0.251062 0.240163 0.221532 0.162294 0.209553 0.553241 0.294379 0.377236 0.157069 0.294577 0.299846 0.189535 0.202913 0.226096 0.229661 0.0685028 0.198578 0.242488 0.187491 0.192655 0.177191 0.167687 0.129102 0.173184 0.113362 0.291005 0.148649 0.237421 0.349049 0.0500729 0.171422 0.195034 0.18055 0.0925493 0.10622 0.203979 0.0954603 0.0943992 0.252058 0.189484 0.222497 0.0421787 0.129175 0.147824 0.187991 0.13949 0.131581 0.147313 0.0497697 0.114551 0.0548191 0.0607604 0 0.0230942 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/muonMVAId_train70XFull_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/muonMVAId_train70XFull_BDTG.weights.xml deleted file mode 100644 index 4714d87b7319..000000000000 --- a/CMGTools/TTHAnalysis/data/leptonMVA/muonMVAId_train70XFull_BDTG.weights.xml +++ /dev/null @@ -1,6093 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 2.29841927e-02 0.00000000e+00 2.29841927e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 1.14920964e-02 0.00000000e+00 2.29841927e-02 1.14920964e-02 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 1.14920964e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 3.44762891e-02 2.29841927e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 1.14920964e-02 0.00000000e+00 1.14920964e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 1.14920964e-02 0.00000000e+00 1.14920964e-02 1.14920964e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 2.29841927e-02 1.14920964e-02 1.14920964e-02 1.14920964e-02 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 2.29841927e-02 1.14920964e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 3.44762891e-02 0.00000000e+00 2.29841927e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.44762891e-02 1.14920964e-02 0.00000000e+00 1.14920964e-02 0.00000000e+00 1.14920964e-02 0.00000000e+00 1.14920964e-02 2.29841927e-02 1.14920964e-02 0.00000000e+00 1.14920964e-02 1.14920964e-02 0.00000000e+00 2.29841927e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 2.29841927e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.44762891e-02 4.59683855e-02 1.14920964e-02 1.14920964e-02 2.29841927e-02 1.14920964e-02 2.29841927e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.29841927e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 3.44762891e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 3.44762891e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 1.14920964e-02 3.44762891e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.44762891e-02 2.29841927e-02 0.00000000e+00 2.29841927e-02 1.14920964e-02 0.00000000e+00 3.44762891e-02 1.14920964e-02 2.29841927e-02 2.29841927e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 1.14920964e-02 2.29841927e-02 1.14920964e-02 3.44762891e-02 1.14920964e-02 3.44762891e-02 3.44762891e-02 0.00000000e+00 1.14920964e-02 0.00000000e+00 1.14920964e-02 1.14920964e-02 1.14920964e-02 2.29841927e-02 2.29841927e-02 0.00000000e+00 1.14920964e-02 1.14920964e-02 1.14920964e-02 2.29841927e-02 1.14920964e-02 2.29841927e-02 1.14920964e-02 1.14920964e-02 1.14920964e-02 1.14920964e-02 1.14920964e-02 2.29841927e-02 0.00000000e+00 1.14920964e-02 1.14920964e-02 2.29841927e-02 2.29841927e-02 0.00000000e+00 4.59683855e-02 2.29841927e-02 3.44762891e-02 2.29841927e-02 0.00000000e+00 2.29841927e-02 1.14920964e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 1.14920964e-02 1.14920964e-02 1.14920964e-02 1.14920964e-02 3.44762891e-02 3.44762891e-02 5.74604818e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.14920964e-02 2.29841927e-02 1.14920964e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 2.29841927e-02 1.14920964e-02 2.29841927e-02 1.14920964e-02 4.59683855e-02 0.00000000e+00 3.44762891e-02 6.89525782e-02 3.44762891e-02 2.29841927e-02 3.44762891e-02 2.29841927e-02 4.59683855e-02 1.14920964e-02 3.44762891e-02 3.44762891e-02 2.29841927e-02 2.29841927e-02 3.44762891e-02 3.44762891e-02 4.59683855e-02 1.14920964e-02 1.14920964e-02 1.14920964e-02 4.59683855e-02 1.14920964e-02 3.44762891e-02 1.14920964e-02 1.14920964e-02 1.14920964e-02 1.14920964e-02 3.44762891e-02 1.14920964e-02 1.14920964e-02 9.19367709e-02 5.74604818e-02 1.14920964e-02 1.14920964e-02 5.74604818e-02 4.59683855e-02 4.59683855e-02 2.29841927e-02 3.44762891e-02 2.29841927e-02 1.14920964e-02 0.00000000e+00 0.00000000e+00 3.44762891e-02 2.29841927e-02 3.44762891e-02 2.29841927e-02 2.29841927e-02 0.00000000e+00 4.59683855e-02 2.29841927e-02 3.44762891e-02 9.19367709e-02 2.29841927e-02 4.59683855e-02 3.44762891e-02 2.29841927e-02 4.59683855e-02 8.04446746e-02 2.29841927e-02 1.14920964e-02 4.59683855e-02 2.29841927e-02 3.44762891e-02 1.14920964e-02 1.14920964e-02 3.44762891e-02 8.04446746e-02 2.29841927e-02 3.44762891e-02 2.29841927e-02 4.59683855e-02 2.29841927e-02 3.44762891e-02 3.44762891e-02 6.89525782e-02 4.59683855e-02 3.44762891e-02 4.59683855e-02 3.44762891e-02 6.89525782e-02 5.74604818e-02 8.04446746e-02 0.00000000e+00 9.19367709e-02 5.74604818e-02 2.29841927e-02 8.04446746e-02 2.29841927e-02 5.74604818e-02 8.04446746e-02 3.44762891e-02 3.44762891e-02 3.44762891e-02 3.44762891e-02 3.44762891e-02 4.59683855e-02 3.44762891e-02 2.29841927e-02 2.29841927e-02 5.74604818e-02 4.59683855e-02 5.74604818e-02 3.44762891e-02 4.59683855e-02 8.04446746e-02 2.29841927e-02 2.29841927e-02 2.29841927e-02 4.59683855e-02 6.89525782e-02 8.04446746e-02 4.59683855e-02 3.44762891e-02 3.44762891e-02 5.74604818e-02 4.59683855e-02 1.03428867e-01 5.74604818e-02 6.89525782e-02 9.19367709e-02 5.74604818e-02 4.59683855e-02 4.59683855e-02 8.04446746e-02 1.14920964e-02 6.89525782e-02 2.29841927e-02 2.29841927e-02 1.03428867e-01 8.04446746e-02 4.59683855e-02 4.59683855e-02 4.59683855e-02 9.19367709e-02 1.03428867e-01 2.29841927e-02 1.26413060e-01 9.19367709e-02 6.89525782e-02 1.03428867e-01 4.59683855e-02 4.59683855e-02 5.74604818e-02 5.74604818e-02 8.04446746e-02 8.04446746e-02 5.74604818e-02 9.19367709e-02 6.89525782e-02 8.04446746e-02 9.19367709e-02 1.26413060e-01 5.74604818e-02 9.19367709e-02 1.37905156e-01 1.26413060e-01 8.04446746e-02 1.72381446e-01 6.89525782e-02 1.37905156e-01 1.49397253e-01 3.44762891e-02 1.49397253e-01 1.72381446e-01 6.89525782e-02 1.14920964e-01 2.06857735e-01 6.89525782e-02 5.74604818e-02 8.04446746e-02 8.04446746e-02 1.37905156e-01 1.95365638e-01 9.19367709e-02 1.49397253e-01 1.72381446e-01 6.89525782e-02 1.03428867e-01 9.19367709e-02 1.49397253e-01 2.41334024e-01 6.89525782e-02 1.14920964e-01 1.03428867e-01 2.75810313e-01 1.03428867e-01 1.95365638e-01 1.14920964e-01 1.37905156e-01 1.83873542e-01 1.49397253e-01 1.72381446e-01 1.49397253e-01 1.83873542e-01 1.83873542e-01 1.72381446e-01 1.60889349e-01 2.41334024e-01 2.41334024e-01 1.72381446e-01 2.41334024e-01 2.64318216e-01 2.18349831e-01 1.72381446e-01 3.44762891e-01 3.21778698e-01 2.75810313e-01 2.98794506e-01 2.29841927e-01 2.98794506e-01 3.10286602e-01 3.33270795e-01 2.98794506e-01 3.56254987e-01 3.79239180e-01 2.64318216e-01 2.87302409e-01 3.33270795e-01 2.41334024e-01 2.64318216e-01 2.75810313e-01 2.75810313e-01 3.33270795e-01 3.90731276e-01 4.25207566e-01 4.59683855e-01 3.79239180e-01 4.71175951e-01 4.25207566e-01 3.79239180e-01 4.36699662e-01 3.90731276e-01 3.67747084e-01 3.90731276e-01 5.28636433e-01 6.89525782e-01 5.86096915e-01 5.51620626e-01 5.97589011e-01 5.86096915e-01 6.09081107e-01 7.01017878e-01 6.55049493e-01 7.24002071e-01 5.63112722e-01 7.58478360e-01 7.69970457e-01 7.24002071e-01 8.38923035e-01 9.53843998e-01 9.53843998e-01 8.15938842e-01 1.14920964e+00 9.07875613e-01 9.07875613e-01 1.13771754e+00 1.10324125e+00 1.31009899e+00 9.65336095e-01 1.28711479e+00 1.12622544e+00 1.29860689e+00 1.34457527e+00 1.49397253e+00 1.39054366e+00 1.44800414e+00 1.60889349e+00 1.53994091e+00 1.55143301e+00 1.78127494e+00 1.65486188e+00 1.97664058e+00 1.94216429e+00 1.78127494e+00 2.17200621e+00 2.48229282e+00 2.33289556e+00 2.36737185e+00 2.60870588e+00 2.52826120e+00 2.65467426e+00 2.95346877e+00 2.88451619e+00 3.52807358e+00 3.40166052e+00 3.33270795e+00 3.56254987e+00 3.87283648e+00 3.72343922e+00 4.29804404e+00 4.66579113e+00 5.15995127e+00 5.11398288e+00 5.92992173e+00 6.40109768e+00 6.65392380e+00 6.73436847e+00 7.41240216e+00 7.80313343e+00 8.42370664e+00 8.92935888e+00 9.06726403e+00 9.68783724e+00 1.10668888e+01 1.10783809e+01 1.22965431e+01 1.25493692e+01 1.15495568e+01 1.04578077e+01 8.51564341e+00 7.37792587e+00 4.30953614e+00 1.25263850e+00 - - - - - 1.90038149e+01 1.15104407e+01 7.80237927e+00 5.79384600e+00 5.09858448e+00 3.86256400e+00 4.17156912e+00 3.47630760e+00 3.09005120e+00 2.47204096e+00 2.70379480e+00 1.77677944e+00 2.78104608e+00 2.31753840e+00 2.47204096e+00 1.93128200e+00 1.62227688e+00 1.62227688e+00 1.39052304e+00 1.62227688e+00 1.62227688e+00 1.23602048e+00 4.63507680e-01 1.15876920e+00 1.93128200e+00 8.49764079e-01 1.08151792e+00 9.27015359e-01 1.62227688e+00 7.72512799e-01 9.27015359e-01 6.95261519e-01 7.72512799e-01 8.49764079e-01 6.18010239e-01 7.72512799e-01 5.40758960e-01 1.08151792e+00 3.86256400e-01 9.27015359e-01 1.00426664e+00 1.08151792e+00 3.86256400e-01 3.09005120e-01 5.40758960e-01 4.63507680e-01 5.40758960e-01 7.72512799e-01 7.72512799e-01 4.63507680e-01 4.63507680e-01 6.18010239e-01 3.09005120e-01 7.72512799e-01 8.49764079e-01 1.54502560e-01 6.18010239e-01 4.63507680e-01 3.86256400e-01 5.40758960e-01 6.95261519e-01 6.18010239e-01 6.18010239e-01 6.95261519e-01 6.95261519e-01 5.40758960e-01 3.09005120e-01 2.31753840e-01 6.18010239e-01 3.86256400e-01 7.72512799e-01 4.63507680e-01 3.09005120e-01 7.72512799e-01 7.72512799e-02 6.95261519e-01 3.86256400e-01 3.86256400e-01 2.31753840e-01 3.86256400e-01 3.09005120e-01 4.63507680e-01 4.63507680e-01 6.18010239e-01 5.40758960e-01 3.86256400e-01 3.09005120e-01 3.09005120e-01 5.40758960e-01 3.86256400e-01 1.54502560e-01 4.63507680e-01 5.40758960e-01 4.63507680e-01 6.18010239e-01 3.09005120e-01 5.40758960e-01 3.86256400e-01 3.09005120e-01 3.09005120e-01 1.54502560e-01 5.40758960e-01 3.86256400e-01 1.54502560e-01 3.09005120e-01 2.31753840e-01 6.18010239e-01 1.54502560e-01 3.09005120e-01 3.86256400e-01 3.09005120e-01 1.54502560e-01 2.31753840e-01 5.40758960e-01 1.54502560e-01 1.54502560e-01 1.54502560e-01 3.09005120e-01 4.63507680e-01 2.31753840e-01 2.31753840e-01 3.86256400e-01 7.72512799e-02 1.54502560e-01 7.72512799e-02 7.72512799e-01 3.09005120e-01 0.00000000e+00 3.86256400e-01 1.54502560e-01 1.54502560e-01 3.09005120e-01 1.54502560e-01 2.31753840e-01 2.31753840e-01 7.72512799e-02 2.31753840e-01 1.54502560e-01 3.09005120e-01 3.09005120e-01 3.86256400e-01 4.63507680e-01 0.00000000e+00 0.00000000e+00 1.54502560e-01 3.09005120e-01 2.31753840e-01 2.31753840e-01 0.00000000e+00 1.54502560e-01 2.31753840e-01 4.63507680e-01 1.54502560e-01 1.54502560e-01 4.63507680e-01 3.86256400e-01 3.09005120e-01 5.40758960e-01 3.09005120e-01 3.86256400e-01 2.31753840e-01 3.09005120e-01 4.63507680e-01 3.86256400e-01 4.63507680e-01 1.54502560e-01 7.72512799e-02 3.86256400e-01 1.54502560e-01 7.72512799e-02 3.09005120e-01 3.09005120e-01 2.31753840e-01 0.00000000e+00 1.54502560e-01 3.09005120e-01 1.54502560e-01 4.63507680e-01 7.72512799e-02 7.72512799e-02 3.09005120e-01 3.09005120e-01 3.09005120e-01 0.00000000e+00 7.72512799e-02 3.86256400e-01 1.54502560e-01 7.72512799e-02 2.31753840e-01 7.72512799e-02 3.09005120e-01 2.31753840e-01 0.00000000e+00 3.09005120e-01 3.09005120e-01 1.54502560e-01 2.31753840e-01 2.31753840e-01 3.86256400e-01 1.54502560e-01 1.54502560e-01 3.86256400e-01 3.09005120e-01 7.72512799e-02 3.09005120e-01 3.09005120e-01 2.31753840e-01 2.31753840e-01 7.72512799e-02 1.54502560e-01 2.31753840e-01 1.54502560e-01 2.31753840e-01 3.09005120e-01 1.54502560e-01 3.86256400e-01 1.54502560e-01 7.72512799e-02 2.31753840e-01 3.86256400e-01 7.72512799e-02 1.54502560e-01 3.09005120e-01 2.31753840e-01 1.54502560e-01 1.54502560e-01 2.31753840e-01 2.31753840e-01 2.31753840e-01 2.31753840e-01 1.54502560e-01 2.31753840e-01 7.72512799e-02 7.72512799e-02 2.31753840e-01 3.09005120e-01 2.31753840e-01 0.00000000e+00 2.31753840e-01 2.31753840e-01 0.00000000e+00 7.72512799e-02 7.72512799e-02 1.54502560e-01 7.72512799e-02 1.54502560e-01 3.09005120e-01 3.09005120e-01 4.63507680e-01 1.54502560e-01 7.72512799e-02 3.86256400e-01 2.31753840e-01 2.31753840e-01 7.72512799e-02 1.54502560e-01 1.54502560e-01 1.54502560e-01 7.72512799e-02 3.09005120e-01 1.54502560e-01 4.63507680e-01 1.54502560e-01 3.09005120e-01 3.86256400e-01 7.72512799e-02 0.00000000e+00 2.31753840e-01 1.54502560e-01 3.86256400e-01 1.54502560e-01 1.54502560e-01 7.72512799e-02 0.00000000e+00 3.09005120e-01 3.09005120e-01 1.54502560e-01 2.31753840e-01 1.54502560e-01 2.31753840e-01 1.54502560e-01 3.09005120e-01 3.09005120e-01 7.72512799e-02 1.54502560e-01 3.09005120e-01 1.54502560e-01 0.00000000e+00 3.86256400e-01 7.72512799e-02 7.72512799e-02 3.09005120e-01 3.86256400e-01 2.31753840e-01 1.54502560e-01 2.31753840e-01 3.86256400e-01 1.54502560e-01 1.54502560e-01 3.09005120e-01 7.72512799e-02 3.86256400e-01 4.63507680e-01 1.54502560e-01 1.54502560e-01 1.54502560e-01 2.31753840e-01 2.31753840e-01 7.72512799e-02 7.72512799e-02 7.72512799e-02 3.09005120e-01 1.54502560e-01 1.54502560e-01 1.54502560e-01 1.54502560e-01 7.72512799e-02 7.72512799e-02 1.54502560e-01 0.00000000e+00 3.86256400e-01 3.09005120e-01 1.54502560e-01 0.00000000e+00 2.31753840e-01 3.86256400e-01 3.86256400e-01 1.54502560e-01 2.31753840e-01 3.09005120e-01 7.72512799e-02 7.72512799e-02 2.31753840e-01 1.54502560e-01 5.40758960e-01 7.72512799e-02 3.09005120e-01 7.72512799e-02 3.86256400e-01 7.72512799e-02 1.54502560e-01 3.86256400e-01 3.09005120e-01 1.54502560e-01 3.86256400e-01 2.31753840e-01 3.09005120e-01 3.86256400e-01 0.00000000e+00 3.86256400e-01 0.00000000e+00 7.72512799e-02 7.72512799e-02 7.72512799e-02 0.00000000e+00 7.72512799e-02 1.54502560e-01 2.31753840e-01 3.86256400e-01 4.63507680e-01 3.86256400e-01 3.86256400e-01 2.31753840e-01 7.72512799e-02 3.09005120e-01 2.31753840e-01 2.31753840e-01 3.86256400e-01 0.00000000e+00 2.31753840e-01 3.09005120e-01 3.86256400e-01 3.86256400e-01 6.95261519e-01 3.09005120e-01 3.86256400e-01 7.72512799e-02 7.72512799e-02 3.86256400e-01 2.31753840e-01 1.54502560e-01 1.54502560e-01 2.31753840e-01 1.54502560e-01 3.09005120e-01 1.54502560e-01 3.86256400e-01 2.31753840e-01 4.63507680e-01 1.54502560e-01 3.86256400e-01 0.00000000e+00 3.09005120e-01 1.54502560e-01 3.09005120e-01 3.09005120e-01 3.86256400e-01 1.54502560e-01 2.31753840e-01 1.54502560e-01 3.09005120e-01 4.63507680e-01 1.54502560e-01 7.72512799e-02 2.31753840e-01 3.09005120e-01 4.63507680e-01 3.86256400e-01 1.54502560e-01 2.31753840e-01 2.31753840e-01 1.54502560e-01 4.63507680e-01 7.72512799e-02 3.09005120e-01 3.09005120e-01 3.09005120e-01 7.72512799e-02 2.31753840e-01 3.09005120e-01 1.54502560e-01 3.09005120e-01 2.31753840e-01 3.86256400e-01 3.09005120e-01 2.31753840e-01 2.31753840e-01 7.72512799e-02 1.54502560e-01 3.09005120e-01 1.54502560e-01 2.31753840e-01 1.54502560e-01 2.31753840e-01 3.09005120e-01 1.54502560e-01 7.72512799e-02 3.86256400e-01 1.54502560e-01 6.95261519e-01 2.31753840e-01 1.54502560e-01 2.31753840e-01 2.31753840e-01 4.63507680e-01 4.63507680e-01 2.31753840e-01 2.31753840e-01 3.86256400e-01 3.09005120e-01 2.31753840e-01 5.40758960e-01 1.54502560e-01 3.09005120e-01 1.54502560e-01 3.86256400e-01 3.86256400e-01 4.63507680e-01 3.09005120e-01 1.54502560e-01 3.09005120e-01 1.54502560e-01 3.09005120e-01 2.31753840e-01 3.09005120e-01 4.63507680e-01 6.95261519e-01 4.63507680e-01 6.18010239e-01 5.40758960e-01 3.86256400e-01 1.54502560e-01 1.54502560e-01 4.63507680e-01 1.54502560e-01 1.54502560e-01 6.18010239e-01 7.72512799e-01 3.86256400e-01 2.31753840e-01 2.31753840e-01 4.63507680e-01 2.31753840e-01 6.18010239e-01 1.54502560e-01 5.40758960e-01 3.09005120e-01 6.95261519e-01 2.31753840e-01 5.40758960e-01 6.95261519e-01 3.09005120e-01 5.40758960e-01 3.86256400e-01 2.31753840e-01 6.95261519e-01 5.40758960e-01 5.40758960e-01 4.63507680e-01 3.09005120e-01 8.49764079e-01 2.31753840e-01 5.40758960e-01 4.63507680e-01 3.09005120e-01 7.72512799e-01 5.40758960e-01 5.40758960e-01 6.18010239e-01 9.27015359e-01 3.86256400e-01 5.40758960e-01 6.95261519e-01 7.72512799e-01 4.63507680e-01 5.40758960e-01 6.95261519e-01 3.86256400e-01 3.09005120e-01 2.31753840e-01 3.09005120e-01 4.63507680e-01 4.63507680e-01 5.40758960e-01 4.63507680e-01 7.72512799e-01 3.09005120e-01 6.18010239e-01 6.95261519e-01 6.95261519e-01 7.72512799e-01 3.09005120e-01 6.95261519e-01 4.63507680e-01 7.72512799e-01 1.00426664e+00 4.63507680e-01 1.08151792e+00 1.15876920e+00 5.40758960e-01 6.18010239e-01 6.95261519e-01 9.27015359e-01 6.18010239e-01 6.95261519e-01 6.95261519e-01 5.40758960e-01 1.08151792e+00 1.23602048e+00 7.72512799e-01 6.18010239e-01 8.49764079e-01 7.72512799e-01 1.08151792e+00 6.18010239e-01 9.27015359e-01 1.00426664e+00 6.95261519e-01 7.72512799e-01 6.95261519e-01 9.27015359e-01 8.49764079e-01 3.86256400e-01 7.72512799e-01 1.15876920e+00 7.72512799e-01 6.18010239e-01 1.00426664e+00 6.95261519e-01 1.00426664e+00 1.08151792e+00 1.08151792e+00 4.63507680e-01 1.15876920e+00 6.95261519e-01 6.95261519e-01 1.23602048e+00 9.27015359e-01 6.95261519e-01 9.27015359e-01 6.95261519e-01 1.00426664e+00 8.49764079e-01 6.95261519e-01 9.27015359e-01 7.72512799e-01 6.18010239e-01 6.18010239e-01 4.63507680e-01 6.95261519e-01 3.86256400e-01 1.54502560e-01 3.86256400e-01 3.86256400e-01 0.00000000e+00 7.72512799e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_cb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_cb_BDTG.weights.xml index cc92e5c798b1..8e0fab82d6d3 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_cb_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_cb_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - - - - + + + + - - - - + + + + @@ -73,5885 +73,6014 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 7.90359860e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 7.90359860e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 7.90359860e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 7.90359860e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.90359860e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 5.26906573e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 7.90359860e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 7.90359860e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 7.90359860e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 1.05381315e-01 5.26906573e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 7.90359860e-02 0.00000000e+00 7.90359860e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.90359860e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 5.26906573e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31726643e-01 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 5.26906573e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 1.05381315e-01 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 7.90359860e-02 7.90359860e-02 7.90359860e-02 7.90359860e-02 0.00000000e+00 0.00000000e+00 1.05381315e-01 2.63453287e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 5.26906573e-02 7.90359860e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 7.90359860e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 7.90359860e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 7.90359860e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 2.63453287e-02 7.90359860e-02 0.00000000e+00 7.90359860e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 0.00000000e+00 5.26906573e-02 5.26906573e-02 2.63453287e-02 7.90359860e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 1.05381315e-01 7.90359860e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 7.90359860e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 7.90359860e-02 2.63453287e-02 7.90359860e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 7.90359860e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 0.00000000e+00 7.90359860e-02 7.90359860e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 1.31726643e-01 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 7.90359860e-02 2.63453287e-02 0.00000000e+00 7.90359860e-02 0.00000000e+00 2.63453287e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 5.26906573e-02 7.90359860e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 7.90359860e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 7.90359860e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 7.90359860e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 1.05381315e-01 0.00000000e+00 5.26906573e-02 0.00000000e+00 1.05381315e-01 7.90359860e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 1.05381315e-01 1.05381315e-01 1.05381315e-01 5.26906573e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 1.05381315e-01 5.26906573e-02 5.26906573e-02 2.63453287e-02 7.90359860e-02 7.90359860e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 1.05381315e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 1.05381315e-01 1.05381315e-01 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 1.31726643e-01 2.63453287e-02 0.00000000e+00 1.05381315e-01 2.63453287e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 7.90359860e-02 5.26906573e-02 1.05381315e-01 0.00000000e+00 2.63453287e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 7.90359860e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 5.26906573e-02 1.58071972e-01 0.00000000e+00 0.00000000e+00 7.90359860e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 7.90359860e-02 2.63453287e-02 1.05381315e-01 5.26906573e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 5.26906573e-02 2.63453287e-02 7.90359860e-02 5.26906573e-02 7.90359860e-02 5.26906573e-02 2.63453287e-02 7.90359860e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 5.26906573e-02 7.90359860e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 1.05381315e-01 1.05381315e-01 2.63453287e-02 0.00000000e+00 5.26906573e-02 7.90359860e-02 1.05381315e-01 5.26906573e-02 5.26906573e-02 5.26906573e-02 1.31726643e-01 0.00000000e+00 1.05381315e-01 2.63453287e-02 7.90359860e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 7.90359860e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 1.05381315e-01 0.00000000e+00 5.26906573e-02 7.90359860e-02 0.00000000e+00 2.63453287e-02 7.90359860e-02 0.00000000e+00 5.26906573e-02 1.58071972e-01 2.63453287e-02 0.00000000e+00 1.05381315e-01 2.63453287e-02 7.90359860e-02 2.63453287e-02 0.00000000e+00 7.90359860e-02 5.26906573e-02 7.90359860e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 1.05381315e-01 2.63453287e-02 1.05381315e-01 1.58071972e-01 5.26906573e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 7.90359860e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 7.90359860e-02 5.26906573e-02 7.90359860e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 1.05381315e-01 2.63453287e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 7.90359860e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 7.90359860e-02 2.63453287e-02 7.90359860e-02 5.26906573e-02 1.31726643e-01 7.90359860e-02 1.31726643e-01 2.63453287e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 1.05381315e-01 2.63453287e-02 7.90359860e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 1.05381315e-01 5.26906573e-02 5.26906573e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 7.90359860e-02 2.63453287e-02 1.31726643e-01 2.63453287e-02 0.00000000e+00 5.26906573e-02 1.58071972e-01 5.26906573e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 5.26906573e-02 2.63453287e-02 1.05381315e-01 0.00000000e+00 7.90359860e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 1.58071972e-01 5.26906573e-02 0.00000000e+00 7.90359860e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 1.05381315e-01 2.63453287e-02 5.26906573e-02 1.31726643e-01 2.63453287e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 1.84417301e-01 7.90359860e-02 1.31726643e-01 1.05381315e-01 0.00000000e+00 2.63453287e-02 2.63453287e-02 7.90359860e-02 2.63453287e-02 1.31726643e-01 2.63453287e-02 0.00000000e+00 7.90359860e-02 1.05381315e-01 1.05381315e-01 0.00000000e+00 7.90359860e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 2.63453287e-02 7.90359860e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 7.90359860e-02 0.00000000e+00 1.05381315e-01 0.00000000e+00 0.00000000e+00 5.26906573e-02 7.90359860e-02 0.00000000e+00 1.05381315e-01 7.90359860e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 7.90359860e-02 1.05381315e-01 5.26906573e-02 1.84417301e-01 7.90359860e-02 1.31726643e-01 0.00000000e+00 5.26906573e-02 5.26906573e-02 1.05381315e-01 7.90359860e-02 2.63453287e-02 5.26906573e-02 1.05381315e-01 7.90359860e-02 5.26906573e-02 5.26906573e-02 1.05381315e-01 2.63453287e-02 1.05381315e-01 2.63453287e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 7.90359860e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 1.05381315e-01 0.00000000e+00 1.31726643e-01 5.26906573e-02 7.90359860e-02 1.31726643e-01 1.31726643e-01 1.31726643e-01 5.26906573e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 1.05381315e-01 2.63453287e-02 0.00000000e+00 7.90359860e-02 1.84417301e-01 1.05381315e-01 5.26906573e-02 7.90359860e-02 1.05381315e-01 1.05381315e-01 2.63453287e-02 0.00000000e+00 1.05381315e-01 1.31726643e-01 7.90359860e-02 2.63453287e-02 5.26906573e-02 1.31726643e-01 1.58071972e-01 0.00000000e+00 0.00000000e+00 5.26906573e-02 7.90359860e-02 2.63453287e-02 1.05381315e-01 5.26906573e-02 2.63453287e-02 1.05381315e-01 2.63453287e-02 1.05381315e-01 1.05381315e-01 1.05381315e-01 7.90359860e-02 2.63453287e-02 7.90359860e-02 7.90359860e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 7.90359860e-02 1.05381315e-01 5.26906573e-02 5.26906573e-02 7.90359860e-02 5.26906573e-02 7.90359860e-02 7.90359860e-02 7.90359860e-02 5.26906573e-02 2.37107958e-01 7.90359860e-02 2.63453287e-02 7.90359860e-02 0.00000000e+00 7.90359860e-02 0.00000000e+00 5.26906573e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 1.05381315e-01 0.00000000e+00 0.00000000e+00 1.58071972e-01 5.26906573e-02 7.90359860e-02 2.63453287e-02 1.31726643e-01 1.05381315e-01 7.90359860e-02 1.05381315e-01 5.26906573e-02 5.26906573e-02 2.63453287e-02 1.58071972e-01 1.31726643e-01 2.63453287e-02 2.63453287e-02 7.90359860e-02 1.31726643e-01 1.58071972e-01 1.58071972e-01 1.84417301e-01 5.26906573e-02 1.05381315e-01 1.58071972e-01 7.90359860e-02 1.05381315e-01 1.31726643e-01 5.26906573e-02 2.63453287e-02 1.84417301e-01 1.05381315e-01 5.26906573e-02 1.31726643e-01 1.31726643e-01 5.26906573e-02 2.63453287e-02 7.90359860e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 1.31726643e-01 7.90359860e-02 7.90359860e-02 2.63453287e-02 5.26906573e-02 1.31726643e-01 0.00000000e+00 5.26906573e-02 0.00000000e+00 7.90359860e-02 1.31726643e-01 5.26906573e-02 5.26906573e-02 1.58071972e-01 1.31726643e-01 7.90359860e-02 7.90359860e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 7.90359860e-02 1.05381315e-01 7.90359860e-02 5.26906573e-02 1.58071972e-01 1.05381315e-01 1.05381315e-01 5.26906573e-02 7.90359860e-02 7.90359860e-02 1.31726643e-01 2.63453287e-02 5.26906573e-02 7.90359860e-02 5.26906573e-02 7.90359860e-02 1.31726643e-01 0.00000000e+00 1.05381315e-01 1.58071972e-01 5.26906573e-02 7.90359860e-02 5.26906573e-02 1.31726643e-01 1.05381315e-01 1.05381315e-01 1.05381315e-01 2.63453287e-02 2.63453287e-02 7.90359860e-02 1.05381315e-01 2.63453287e-02 1.05381315e-01 1.05381315e-01 7.90359860e-02 7.90359860e-02 2.63453287e-02 7.90359860e-02 2.10762629e-01 1.31726643e-01 1.05381315e-01 1.05381315e-01 5.26906573e-02 1.05381315e-01 1.05381315e-01 1.05381315e-01 7.90359860e-02 2.63453287e-02 2.63453287e-02 1.31726643e-01 2.63453287e-02 5.26906573e-02 1.05381315e-01 2.63453287e-02 1.58071972e-01 1.58071972e-01 5.26906573e-02 1.58071972e-01 1.05381315e-01 1.84417301e-01 2.10762629e-01 7.90359860e-02 1.58071972e-01 1.31726643e-01 1.05381315e-01 5.26906573e-02 1.84417301e-01 1.84417301e-01 2.63453287e-02 1.31726643e-01 2.63453287e-02 1.31726643e-01 1.58071972e-01 0.00000000e+00 1.84417301e-01 0.00000000e+00 1.05381315e-01 5.26906573e-02 5.26906573e-02 2.63453287e-02 1.05381315e-01 2.63453287e-02 1.05381315e-01 7.90359860e-02 7.90359860e-02 5.26906573e-02 7.90359860e-02 7.90359860e-02 1.31726643e-01 7.90359860e-02 1.31726643e-01 1.31726643e-01 1.31726643e-01 5.26906573e-02 2.10762629e-01 2.63453287e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 1.84417301e-01 5.26906573e-02 5.26906573e-02 1.05381315e-01 7.90359860e-02 1.84417301e-01 1.31726643e-01 5.26906573e-02 1.31726643e-01 1.05381315e-01 1.84417301e-01 1.58071972e-01 1.05381315e-01 7.90359860e-02 5.26906573e-02 7.90359860e-02 1.84417301e-01 1.05381315e-01 1.31726643e-01 1.31726643e-01 2.10762629e-01 1.05381315e-01 1.05381315e-01 1.05381315e-01 7.90359860e-02 7.90359860e-02 1.31726643e-01 2.63453287e-02 7.90359860e-02 1.84417301e-01 2.63453287e-02 1.05381315e-01 5.26906573e-02 7.90359860e-02 2.63453287e-02 2.63453287e-02 1.58071972e-01 5.26906573e-02 5.26906573e-02 1.84417301e-01 1.58071972e-01 2.63453287e-02 1.58071972e-01 0.00000000e+00 1.05381315e-01 7.90359860e-02 2.63453287e-02 1.58071972e-01 7.90359860e-02 2.63453287e-02 2.63453287e-02 7.90359860e-02 5.26906573e-02 5.26906573e-02 1.05381315e-01 1.58071972e-01 1.58071972e-01 1.31726643e-01 1.58071972e-01 7.90359860e-02 1.58071972e-01 1.58071972e-01 1.58071972e-01 1.58071972e-01 1.31726643e-01 2.63453287e-02 1.05381315e-01 2.63453287e-02 7.90359860e-02 1.31726643e-01 5.26906573e-02 2.10762629e-01 1.31726643e-01 1.05381315e-01 7.90359860e-02 0.00000000e+00 1.05381315e-01 1.31726643e-01 1.05381315e-01 7.90359860e-02 2.63453287e-01 1.05381315e-01 7.90359860e-02 1.31726643e-01 7.90359860e-02 1.05381315e-01 1.05381315e-01 2.63453287e-02 1.84417301e-01 1.05381315e-01 1.05381315e-01 1.58071972e-01 7.90359860e-02 1.58071972e-01 5.26906573e-02 7.90359860e-02 7.90359860e-02 5.26906573e-02 7.90359860e-02 1.31726643e-01 2.10762629e-01 1.31726643e-01 1.31726643e-01 1.58071972e-01 7.90359860e-02 1.05381315e-01 7.90359860e-02 2.37107958e-01 5.26906573e-02 1.58071972e-01 5.26906573e-02 2.10762629e-01 2.63453287e-02 7.90359860e-02 2.10762629e-01 1.05381315e-01 1.05381315e-01 1.31726643e-01 1.58071972e-01 1.58071972e-01 1.58071972e-01 1.31726643e-01 1.05381315e-01 5.26906573e-02 2.37107958e-01 2.37107958e-01 1.05381315e-01 2.10762629e-01 1.84417301e-01 5.26906573e-02 1.58071972e-01 1.31726643e-01 2.63453287e-02 1.05381315e-01 5.26906573e-02 7.90359860e-02 5.26906573e-02 7.90359860e-02 1.05381315e-01 1.05381315e-01 1.05381315e-01 1.05381315e-01 1.31726643e-01 7.90359860e-02 1.58071972e-01 1.58071972e-01 2.37107958e-01 2.10762629e-01 7.90359860e-02 1.84417301e-01 1.84417301e-01 1.05381315e-01 1.31726643e-01 2.63453287e-01 1.31726643e-01 1.84417301e-01 1.84417301e-01 1.05381315e-01 7.90359860e-02 1.84417301e-01 5.26906573e-02 1.58071972e-01 2.63453287e-01 7.90359860e-02 1.31726643e-01 1.58071972e-01 1.84417301e-01 1.31726643e-01 7.90359860e-02 5.26906573e-02 1.84417301e-01 1.58071972e-01 7.90359860e-02 1.31726643e-01 1.84417301e-01 1.58071972e-01 5.26906573e-02 2.89798615e-01 1.58071972e-01 7.90359860e-02 2.10762629e-01 2.10762629e-01 1.31726643e-01 1.05381315e-01 7.90359860e-02 7.90359860e-02 1.58071972e-01 2.10762629e-01 2.63453287e-02 7.90359860e-02 2.89798615e-01 1.58071972e-01 1.58071972e-01 7.90359860e-02 1.84417301e-01 5.26906573e-02 1.31726643e-01 2.10762629e-01 7.90359860e-02 1.84417301e-01 7.90359860e-02 1.58071972e-01 1.31726643e-01 1.05381315e-01 1.05381315e-01 1.58071972e-01 2.10762629e-01 1.31726643e-01 1.05381315e-01 1.84417301e-01 1.58071972e-01 5.26906573e-02 1.84417301e-01 1.84417301e-01 2.10762629e-01 7.90359860e-02 7.90359860e-02 1.58071972e-01 1.58071972e-01 7.90359860e-02 5.26906573e-02 1.58071972e-01 1.05381315e-01 1.31726643e-01 1.58071972e-01 1.84417301e-01 1.05381315e-01 1.05381315e-01 1.84417301e-01 1.05381315e-01 1.05381315e-01 7.90359860e-02 2.37107958e-01 7.90359860e-02 1.05381315e-01 1.58071972e-01 1.31726643e-01 1.31726643e-01 1.05381315e-01 1.05381315e-01 1.84417301e-01 1.05381315e-01 1.31726643e-01 2.37107958e-01 7.90359860e-02 1.31726643e-01 7.90359860e-02 7.90359860e-02 1.05381315e-01 2.10762629e-01 1.31726643e-01 2.10762629e-01 1.31726643e-01 1.84417301e-01 2.63453287e-02 7.90359860e-02 1.05381315e-01 1.31726643e-01 1.05381315e-01 1.84417301e-01 1.31726643e-01 2.63453287e-01 1.58071972e-01 7.90359860e-02 1.58071972e-01 1.84417301e-01 1.31726643e-01 7.90359860e-02 2.63453287e-01 2.37107958e-01 1.58071972e-01 3.42489273e-01 7.90359860e-02 3.16143944e-01 7.90359860e-02 1.58071972e-01 1.84417301e-01 7.90359860e-02 2.89798615e-01 7.90359860e-02 1.58071972e-01 1.05381315e-01 2.10762629e-01 2.10762629e-01 1.58071972e-01 1.05381315e-01 1.58071972e-01 2.37107958e-01 2.37107958e-01 1.84417301e-01 1.05381315e-01 1.84417301e-01 7.90359860e-02 2.10762629e-01 2.10762629e-01 1.31726643e-01 1.31726643e-01 7.90359860e-02 1.31726643e-01 2.89798615e-01 7.90359860e-02 2.37107958e-01 2.10762629e-01 1.05381315e-01 1.05381315e-01 2.10762629e-01 1.05381315e-01 1.84417301e-01 2.89798615e-01 2.10762629e-01 1.58071972e-01 1.58071972e-01 3.16143944e-01 1.31726643e-01 2.63453287e-01 1.84417301e-01 1.05381315e-01 2.63453287e-01 1.58071972e-01 5.26906573e-02 2.37107958e-01 5.26906573e-02 1.31726643e-01 1.84417301e-01 1.84417301e-01 1.05381315e-01 2.10762629e-01 2.63453287e-01 1.84417301e-01 2.37107958e-01 2.63453287e-01 1.84417301e-01 1.84417301e-01 1.84417301e-01 7.90359860e-02 2.63453287e-01 3.16143944e-01 2.37107958e-01 1.84417301e-01 1.31726643e-01 2.37107958e-01 1.58071972e-01 2.10762629e-01 2.37107958e-01 3.16143944e-01 1.84417301e-01 2.10762629e-01 2.10762629e-01 1.84417301e-01 2.89798615e-01 2.63453287e-01 1.84417301e-01 2.63453287e-01 1.05381315e-01 1.84417301e-01 1.58071972e-01 2.63453287e-01 2.10762629e-01 7.90359860e-02 1.84417301e-01 1.31726643e-01 5.26906573e-02 1.84417301e-01 1.05381315e-01 1.58071972e-01 2.37107958e-01 3.42489273e-01 1.05381315e-01 1.84417301e-01 3.16143944e-01 1.31726643e-01 2.37107958e-01 1.84417301e-01 2.37107958e-01 2.37107958e-01 2.37107958e-01 2.10762629e-01 2.37107958e-01 2.37107958e-01 1.05381315e-01 2.63453287e-01 1.84417301e-01 1.31726643e-01 1.58071972e-01 2.37107958e-01 2.10762629e-01 2.37107958e-01 2.37107958e-01 2.63453287e-01 1.31726643e-01 2.10762629e-01 3.42489273e-01 1.58071972e-01 1.58071972e-01 2.37107958e-01 3.42489273e-01 1.84417301e-01 2.63453287e-01 3.42489273e-01 2.89798615e-01 3.68834601e-01 2.37107958e-01 7.90359860e-02 2.63453287e-01 3.42489273e-01 2.10762629e-01 2.37107958e-01 1.84417301e-01 1.05381315e-01 1.05381315e-01 2.63453287e-01 1.05381315e-01 2.10762629e-01 2.89798615e-01 3.42489273e-01 2.37107958e-01 1.31726643e-01 2.10762629e-01 2.10762629e-01 2.37107958e-01 2.37107958e-01 1.84417301e-01 3.68834601e-01 2.63453287e-01 2.89798615e-01 1.31726643e-01 1.05381315e-01 1.05381315e-01 2.37107958e-01 2.89798615e-01 2.37107958e-01 1.84417301e-01 1.31726643e-01 1.84417301e-01 2.10762629e-01 1.58071972e-01 3.95179930e-01 2.89798615e-01 2.89798615e-01 1.84417301e-01 1.31726643e-01 5.00561244e-01 1.31726643e-01 2.37107958e-01 2.37107958e-01 2.10762629e-01 1.84417301e-01 3.16143944e-01 3.95179930e-01 2.37107958e-01 1.84417301e-01 1.84417301e-01 1.84417301e-01 1.31726643e-01 2.10762629e-01 2.37107958e-01 2.63453287e-01 2.63453287e-01 1.05381315e-01 2.37107958e-01 1.84417301e-01 1.84417301e-01 3.16143944e-01 1.58071972e-01 4.74215916e-01 2.63453287e-01 1.84417301e-01 3.42489273e-01 2.37107958e-01 2.63453287e-01 2.89798615e-01 2.10762629e-01 3.16143944e-01 4.47870587e-01 1.84417301e-01 2.63453287e-01 2.10762629e-01 1.84417301e-01 3.16143944e-01 2.10762629e-01 2.10762629e-01 1.84417301e-01 2.10762629e-01 2.89798615e-01 3.16143944e-01 2.10762629e-01 1.84417301e-01 4.21525258e-01 1.58071972e-01 3.16143944e-01 2.63453287e-01 3.16143944e-01 3.16143944e-01 2.10762629e-01 5.26906573e-01 2.89798615e-01 2.10762629e-01 2.10762629e-01 1.31726643e-01 3.68834601e-01 3.16143944e-01 4.21525258e-01 3.42489273e-01 2.10762629e-01 3.42489273e-01 3.16143944e-01 2.89798615e-01 2.63453287e-01 2.10762629e-01 4.47870587e-01 3.68834601e-01 2.37107958e-01 3.68834601e-01 2.37107958e-01 2.37107958e-01 2.37107958e-01 1.58071972e-01 2.89798615e-01 1.84417301e-01 3.16143944e-01 2.37107958e-01 3.16143944e-01 3.16143944e-01 2.63453287e-01 3.68834601e-01 1.58071972e-01 3.68834601e-01 2.63453287e-01 5.26906573e-01 5.79597230e-01 3.16143944e-01 2.63453287e-01 4.21525258e-01 2.89798615e-01 3.42489273e-01 3.95179930e-01 5.00561244e-01 2.89798615e-01 2.89798615e-01 2.37107958e-01 4.74215916e-01 2.89798615e-01 3.95179930e-01 3.68834601e-01 4.47870587e-01 2.10762629e-01 5.00561244e-01 3.42489273e-01 4.47870587e-01 4.47870587e-01 3.42489273e-01 2.63453287e-01 4.74215916e-01 3.16143944e-01 2.10762629e-01 2.10762629e-01 3.68834601e-01 3.42489273e-01 4.21525258e-01 4.74215916e-01 4.47870587e-01 4.47870587e-01 3.68834601e-01 3.68834601e-01 5.53251902e-01 2.63453287e-01 3.16143944e-01 3.42489273e-01 3.68834601e-01 3.16143944e-01 4.21525258e-01 2.63453287e-01 3.68834601e-01 2.89798615e-01 5.79597230e-01 3.68834601e-01 3.95179930e-01 1.84417301e-01 3.42489273e-01 4.74215916e-01 2.63453287e-01 3.68834601e-01 2.10762629e-01 6.05942559e-01 3.95179930e-01 4.21525258e-01 3.68834601e-01 5.79597230e-01 3.42489273e-01 3.16143944e-01 3.16143944e-01 4.47870587e-01 4.74215916e-01 4.21525258e-01 4.21525258e-01 5.79597230e-01 2.37107958e-01 4.47870587e-01 4.47870587e-01 3.16143944e-01 2.63453287e-01 3.42489273e-01 5.53251902e-01 1.84417301e-01 4.74215916e-01 3.68834601e-01 3.95179930e-01 5.79597230e-01 5.53251902e-01 6.05942559e-01 7.90359860e-01 3.68834601e-01 3.68834601e-01 6.32287888e-01 5.53251902e-01 5.26906573e-01 3.95179930e-01 6.32287888e-01 6.84978545e-01 6.05942559e-01 5.00561244e-01 7.64014531e-01 3.16143944e-01 4.74215916e-01 4.74215916e-01 6.84978545e-01 5.26906573e-01 6.05942559e-01 4.47870587e-01 6.05942559e-01 7.11323874e-01 5.26906573e-01 3.95179930e-01 6.05942559e-01 4.21525258e-01 3.95179930e-01 7.11323874e-01 5.00561244e-01 7.90359860e-01 5.00561244e-01 4.21525258e-01 4.47870587e-01 7.11323874e-01 3.68834601e-01 4.47870587e-01 6.05942559e-01 5.53251902e-01 4.74215916e-01 3.95179930e-01 8.16705188e-01 6.05942559e-01 6.58633216e-01 7.64014531e-01 2.63453287e-01 6.05942559e-01 6.58633216e-01 8.16705188e-01 7.37669202e-01 6.58633216e-01 5.53251902e-01 6.58633216e-01 4.47870587e-01 9.48431832e-01 4.74215916e-01 8.43050517e-01 8.43050517e-01 6.32287888e-01 6.32287888e-01 6.58633216e-01 8.16705188e-01 5.26906573e-01 7.64014531e-01 9.48431832e-01 6.84978545e-01 6.58633216e-01 7.90359860e-01 1.02746782e+00 6.84978545e-01 7.64014531e-01 6.58633216e-01 7.64014531e-01 6.84978545e-01 7.11323874e-01 8.16705188e-01 7.90359860e-01 6.84978545e-01 6.58633216e-01 3.95179930e-01 6.05942559e-01 9.48431832e-01 8.43050517e-01 7.11323874e-01 7.37669202e-01 6.58633216e-01 7.11323874e-01 9.22086503e-01 6.84978545e-01 8.16705188e-01 6.84978545e-01 8.16705188e-01 8.69395846e-01 1.00112249e+00 8.95741174e-01 6.05942559e-01 7.64014531e-01 1.00112249e+00 7.11323874e-01 8.43050517e-01 7.90359860e-01 7.37669202e-01 7.90359860e-01 4.21525258e-01 8.95741174e-01 1.02746782e+00 7.11323874e-01 9.22086503e-01 8.43050517e-01 7.11323874e-01 1.00112249e+00 1.05381315e+00 5.00561244e-01 8.69395846e-01 1.08015847e+00 1.10650380e+00 9.48431832e-01 1.26457578e+00 8.16705188e-01 1.08015847e+00 6.32287888e-01 1.05381315e+00 7.11323874e-01 1.10650380e+00 7.64014531e-01 1.10650380e+00 1.23823045e+00 1.26457578e+00 1.21188512e+00 8.95741174e-01 1.15919446e+00 1.15919446e+00 1.10650380e+00 1.21188512e+00 1.05381315e+00 1.21188512e+00 1.15919446e+00 1.15919446e+00 1.39630242e+00 1.18553979e+00 9.74777160e-01 1.18553979e+00 1.05381315e+00 1.52802906e+00 1.29092110e+00 1.31726643e+00 1.21188512e+00 1.42264775e+00 9.74777160e-01 1.50168373e+00 1.21188512e+00 1.39630242e+00 1.50168373e+00 1.21188512e+00 1.39630242e+00 1.31726643e+00 1.60706505e+00 1.05381315e+00 1.79148235e+00 1.44899308e+00 1.68610103e+00 1.47533840e+00 1.34361176e+00 1.42264775e+00 1.47533840e+00 1.87051833e+00 1.73879169e+00 1.81782768e+00 1.60706505e+00 1.81782768e+00 1.87051833e+00 2.18666228e+00 1.68610103e+00 2.13397162e+00 2.00224498e+00 2.21300761e+00 1.76513702e+00 1.94955432e+00 2.52915155e+00 2.21300761e+00 2.47646089e+00 2.45011556e+00 2.39742491e+00 2.39742491e+00 2.08128096e+00 2.52915155e+00 2.10762629e+00 2.34473425e+00 2.79260484e+00 2.68722352e+00 2.31838892e+00 2.71356885e+00 2.50280622e+00 3.02971280e+00 2.60818754e+00 2.95067681e+00 2.76625951e+00 2.39742491e+00 2.84529549e+00 3.18778477e+00 3.05605812e+00 3.16143944e+00 3.02971280e+00 3.26682075e+00 3.10874878e+00 3.47758338e+00 4.05718061e+00 3.18778477e+00 3.79372733e+00 3.42489273e+00 3.29316608e+00 4.13621660e+00 3.58296470e+00 4.18890726e+00 4.45236054e+00 4.13621660e+00 3.89910864e+00 4.58408719e+00 4.95292179e+00 3.66200068e+00 5.16368442e+00 5.03195777e+00 5.40079237e+00 4.32063390e+00 5.32175639e+00 5.24272040e+00 5.40079237e+00 5.61155500e+00 5.40079237e+00 5.29541106e+00 5.45348303e+00 6.24384289e+00 5.40079237e+00 6.16480691e+00 7.00785742e+00 7.56110932e+00 6.55998683e+00 7.92994393e+00 6.63902282e+00 7.85090794e+00 8.29877853e+00 7.85090794e+00 8.21974254e+00 7.58745465e+00 8.95741174e+00 9.08913839e+00 8.74664911e+00 8.69395846e+00 8.90472109e+00 1.01166062e+01 1.02746782e+01 9.27355569e+00 1.13548367e+01 1.05908221e+01 1.07752394e+01 1.19607792e+01 1.21715418e+01 1.18027072e+01 1.26721031e+01 1.30672830e+01 1.31463190e+01 1.24613405e+01 1.35678443e+01 1.33043910e+01 1.41737868e+01 1.45426214e+01 1.48587654e+01 1.49114560e+01 1.55437439e+01 1.67556290e+01 1.59125785e+01 1.65185211e+01 1.74406076e+01 1.69663917e+01 1.97853418e+01 1.95218885e+01 1.82046221e+01 1.72825356e+01 2.06810830e+01 2.05757017e+01 2.08391550e+01 1.86261474e+01 1.88369100e+01 2.13660615e+01 2.20246948e+01 2.06283923e+01 1.97063058e+01 2.03122484e+01 2.29204359e+01 2.03122484e+01 2.07601190e+01 2.17875868e+01 2.25252560e+01 2.45275010e+01 2.41323210e+01 2.21827667e+01 2.21827667e+01 2.21827667e+01 1.95218885e+01 2.05757017e+01 2.08391550e+01 2.06283923e+01 2.23408387e+01 2.19983494e+01 1.94955432e+01 1.97063058e+01 1.97063058e+01 1.91003633e+01 1.99434138e+01 1.92320899e+01 1.83890394e+01 1.88896006e+01 1.81255861e+01 1.93638166e+01 1.88632553e+01 1.75986795e+01 1.81519314e+01 1.83100034e+01 1.70981183e+01 1.60179598e+01 1.64921757e+01 1.68873557e+01 1.53066359e+01 1.42528228e+01 1.44899308e+01 1.53593266e+01 1.50695280e+01 1.39630242e+01 1.54383626e+01 1.35941896e+01 1.32517003e+01 1.35941896e+01 1.25403764e+01 1.37522616e+01 1.33307363e+01 1.07225488e+01 1.26984484e+01 1.18290526e+01 1.15129086e+01 1.15129086e+01 1.07225488e+01 1.06171674e+01 1.07752394e+01 1.00902609e+01 9.11548371e+00 1.03537142e+01 1.00639155e+01 8.40415984e+00 7.69283597e+00 8.45685050e+00 8.00897991e+00 9.51066364e+00 9.11548371e+00 7.82456261e+00 7.19227472e+00 7.85090794e+00 7.19227472e+00 7.74552662e+00 7.11323874e+00 6.63902282e+00 5.87500829e+00 5.92769895e+00 6.08577092e+00 5.76962698e+00 6.08577092e+00 5.42713770e+00 6.21749756e+00 6.13846158e+00 5.69059099e+00 4.71581383e+00 5.95404428e+00 5.11099376e+00 4.97926712e+00 4.79484982e+00 5.29541106e+00 4.84754047e+00 4.66312317e+00 4.29428857e+00 4.39966989e+00 4.71581383e+00 4.76850449e+00 3.58296470e+00 4.45236054e+00 4.68946850e+00 4.29428857e+00 3.97814463e+00 3.87276331e+00 3.60931003e+00 4.05718061e+00 4.39966989e+00 4.00448996e+00 3.89910864e+00 3.74103667e+00 4.13621660e+00 3.13509411e+00 3.50392871e+00 3.21413010e+00 4.00448996e+00 3.50392871e+00 2.89798615e+00 2.97702214e+00 3.02971280e+00 3.18778477e+00 2.97702214e+00 2.31838892e+00 3.13509411e+00 2.68722352e+00 3.24047542e+00 2.05493564e+00 2.16031695e+00 2.08128096e+00 2.47646089e+00 2.16031695e+00 2.05493564e+00 2.84529549e+00 2.29204359e+00 2.37107958e+00 2.08128096e+00 2.10762629e+00 2.05493564e+00 2.16031695e+00 1.89686366e+00 1.79148235e+00 2.21300761e+00 1.94955432e+00 2.60818754e+00 2.31838892e+00 1.92320899e+00 1.87051833e+00 2.23935294e+00 1.84417301e+00 2.08128096e+00 1.26457578e+00 1.31726643e+00 2.05493564e+00 1.34361176e+00 1.81782768e+00 1.79148235e+00 2.37107958e+00 1.65975571e+00 1.52802906e+00 1.47533840e+00 1.50168373e+00 1.44899308e+00 1.55437439e+00 1.58071972e+00 1.63341038e+00 1.23823045e+00 1.31726643e+00 1.58071972e+00 1.63341038e+00 1.44899308e+00 1.18553979e+00 1.60706505e+00 1.10650380e+00 1.29092110e+00 1.26457578e+00 1.60706505e+00 1.31726643e+00 1.13284913e+00 1.05381315e+00 1.02746782e+00 8.16705188e-01 1.00112249e+00 1.00112249e+00 1.00112249e+00 7.90359860e-01 1.34361176e+00 1.13284913e+00 7.90359860e-01 1.08015847e+00 7.90359860e-01 7.37669202e-01 8.16705188e-01 9.74777160e-01 9.22086503e-01 6.58633216e-01 1.18553979e+00 1.00112249e+00 9.48431832e-01 7.11323874e-01 1.02746782e+00 1.00112249e+00 6.84978545e-01 8.69395846e-01 7.11323874e-01 7.37669202e-01 8.16705188e-01 8.69395846e-01 1.13284913e+00 6.05942559e-01 7.64014531e-01 6.58633216e-01 6.84978545e-01 5.26906573e-01 4.47870587e-01 6.32287888e-01 3.42489273e-01 6.58633216e-01 3.42489273e-01 5.26906573e-01 6.32287888e-01 6.05942559e-01 5.53251902e-01 3.68834601e-01 3.68834601e-01 6.05942559e-01 4.74215916e-01 4.74215916e-01 3.42489273e-01 6.32287888e-01 3.68834601e-01 5.79597230e-01 4.74215916e-01 4.47870587e-01 5.00561244e-01 3.42489273e-01 5.26906573e-01 3.68834601e-01 3.42489273e-01 3.95179930e-01 3.16143944e-01 2.10762629e-01 4.47870587e-01 3.68834601e-01 3.68834601e-01 2.63453287e-01 3.95179930e-01 2.37107958e-01 1.58071972e-01 3.42489273e-01 2.10762629e-01 3.95179930e-01 3.16143944e-01 1.84417301e-01 1.58071972e-01 2.37107958e-01 2.63453287e-01 3.95179930e-01 2.89798615e-01 3.42489273e-01 1.84417301e-01 3.68834601e-01 2.63453287e-01 2.63453287e-01 2.10762629e-01 3.42489273e-01 2.63453287e-01 1.84417301e-01 1.84417301e-01 2.37107958e-01 3.16143944e-01 2.10762629e-01 3.16143944e-01 1.84417301e-01 3.16143944e-01 2.10762629e-01 1.84417301e-01 1.58071972e-01 2.10762629e-01 2.37107958e-01 7.90359860e-02 1.05381315e-01 2.10762629e-01 2.10762629e-01 1.31726643e-01 1.84417301e-01 1.05381315e-01 2.10762629e-01 1.84417301e-01 2.63453287e-01 7.90359860e-02 7.90359860e-02 1.31726643e-01 7.90359860e-02 1.05381315e-01 5.26906573e-02 2.37107958e-01 7.90359860e-02 1.31726643e-01 7.90359860e-02 2.10762629e-01 1.84417301e-01 2.37107958e-01 1.05381315e-01 1.31726643e-01 1.58071972e-01 1.31726643e-01 7.90359860e-02 1.31726643e-01 7.90359860e-02 1.84417301e-01 1.58071972e-01 5.26906573e-02 1.05381315e-01 1.31726643e-01 1.05381315e-01 1.31726643e-01 1.05381315e-01 1.58071972e-01 1.05381315e-01 5.26906573e-02 1.05381315e-01 5.26906573e-02 1.58071972e-01 1.31726643e-01 1.31726643e-01 5.26906573e-02 2.63453287e-02 1.31726643e-01 1.05381315e-01 7.90359860e-02 7.90359860e-02 1.31726643e-01 5.26906573e-02 2.63453287e-02 1.05381315e-01 7.90359860e-02 1.84417301e-01 1.84417301e-01 1.58071972e-01 7.90359860e-02 5.26906573e-02 1.58071972e-01 1.31726643e-01 2.63453287e-02 5.26906573e-02 2.10762629e-01 1.58071972e-01 7.90359860e-02 1.31726643e-01 1.05381315e-01 1.58071972e-01 5.26906573e-02 1.05381315e-01 1.58071972e-01 1.05381315e-01 5.26906573e-02 1.05381315e-01 5.26906573e-02 2.63453287e-02 2.63453287e-02 1.31726643e-01 1.31726643e-01 5.26906573e-02 5.26906573e-02 2.10762629e-01 2.63453287e-02 2.63453287e-02 1.84417301e-01 2.63453287e-02 0.00000000e+00 1.05381315e-01 1.58071972e-01 1.58071972e-01 2.63453287e-02 7.90359860e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 7.90359860e-02 5.26906573e-02 1.05381315e-01 1.05381315e-01 2.63453287e-02 1.05381315e-01 5.26906573e-02 7.90359860e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 1.05381315e-01 0.00000000e+00 1.05381315e-01 5.26906573e-02 7.90359860e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 1.58071972e-01 0.00000000e+00 5.26906573e-02 0.00000000e+00 7.90359860e-02 2.63453287e-02 0.00000000e+00 1.05381315e-01 5.26906573e-02 1.05381315e-01 5.26906573e-02 2.63453287e-02 7.90359860e-02 1.05381315e-01 2.63453287e-02 0.00000000e+00 7.90359860e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 1.05381315e-01 0.00000000e+00 7.90359860e-02 2.63453287e-02 1.05381315e-01 1.05381315e-01 5.26906573e-02 7.90359860e-02 5.26906573e-02 5.26906573e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 1.58071972e-01 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 7.90359860e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.90359860e-02 5.26906573e-02 7.90359860e-02 7.90359860e-02 2.63453287e-02 5.26906573e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 7.90359860e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 5.26906573e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 1.05381315e-01 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 7.90359860e-02 0.00000000e+00 7.90359860e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 2.63453287e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.05381315e-01 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 7.90359860e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 5.26906573e-02 5.26906573e-02 0.00000000e+00 2.63453287e-02 7.90359860e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 7.90359860e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.90359860e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 7.90359860e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.90359860e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 2.63453287e-02 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 5.26906573e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63453287e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.07334183e-02 1.07334183e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.14668365e-02 0.00000000e+00 2.14668365e-02 1.07334183e-02 0.00000000e+00 1.07334183e-02 0.00000000e+00 0.00000000e+00 2.14668365e-02 0.00000000e+00 1.07334183e-02 2.14668365e-02 0.00000000e+00 2.14668365e-02 1.07334183e-02 1.07334183e-02 3.22002548e-02 1.07334183e-02 2.14668365e-02 2.14668365e-02 1.07334183e-02 1.07334183e-02 2.14668365e-02 0.00000000e+00 1.07334183e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.14668365e-02 1.07334183e-02 0.00000000e+00 2.14668365e-02 1.07334183e-02 1.07334183e-02 1.07334183e-02 2.14668365e-02 5.36670913e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.22002548e-02 1.07334183e-02 3.22002548e-02 1.07334183e-02 0.00000000e+00 0.00000000e+00 4.29336731e-02 3.22002548e-02 1.07334183e-02 3.22002548e-02 3.22002548e-02 1.07334183e-02 0.00000000e+00 1.07334183e-02 5.36670913e-02 1.07334183e-02 1.07334183e-02 1.07334183e-02 4.29336731e-02 2.14668365e-02 1.07334183e-02 3.22002548e-02 0.00000000e+00 3.22002548e-02 1.07334183e-02 1.07334183e-02 0.00000000e+00 1.07334183e-02 0.00000000e+00 2.14668365e-02 4.29336731e-02 1.07334183e-02 4.29336731e-02 4.29336731e-02 0.00000000e+00 1.07334183e-02 1.07334183e-02 5.36670913e-02 3.22002548e-02 1.07334183e-02 2.14668365e-02 1.07334183e-02 1.07334183e-02 1.07334183e-02 3.22002548e-02 1.07334183e-02 1.07334183e-02 4.29336731e-02 2.14668365e-02 1.07334183e-02 2.14668365e-02 1.07334183e-02 3.22002548e-02 0.00000000e+00 2.14668365e-02 2.14668365e-02 1.07334183e-02 0.00000000e+00 3.22002548e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 3.22002548e-02 3.22002548e-02 2.14668365e-02 2.14668365e-02 5.36670913e-02 4.29336731e-02 0.00000000e+00 1.07334183e-02 1.07334183e-02 2.14668365e-02 5.36670913e-02 2.14668365e-02 1.07334183e-02 1.07334183e-02 1.07334183e-02 3.22002548e-02 4.29336731e-02 1.07334183e-02 0.00000000e+00 4.29336731e-02 0.00000000e+00 6.44005096e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 2.14668365e-02 0.00000000e+00 2.14668365e-02 2.14668365e-02 3.22002548e-02 2.14668365e-02 4.29336731e-02 3.22002548e-02 2.14668365e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 3.22002548e-02 1.07334183e-02 3.22002548e-02 4.29336731e-02 3.22002548e-02 3.22002548e-02 2.14668365e-02 2.14668365e-02 5.36670913e-02 2.14668365e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 1.07334183e-02 4.29336731e-02 3.22002548e-02 3.22002548e-02 2.14668365e-02 2.14668365e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 2.14668365e-02 7.51339279e-02 2.14668365e-02 7.51339279e-02 2.14668365e-02 4.29336731e-02 2.14668365e-02 3.22002548e-02 2.14668365e-02 2.14668365e-02 1.07334183e-02 0.00000000e+00 3.22002548e-02 5.36670913e-02 1.07334183e-02 5.36670913e-02 1.07334183e-02 2.14668365e-02 4.29336731e-02 1.07334183e-02 1.07334183e-02 2.14668365e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 2.14668365e-02 3.22002548e-02 1.07334183e-02 1.07334183e-02 2.14668365e-02 5.36670913e-02 2.14668365e-02 1.07334183e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 1.07334183e-02 3.22002548e-02 3.22002548e-02 0.00000000e+00 5.36670913e-02 2.14668365e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 2.14668365e-02 9.66007644e-02 3.22002548e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 2.14668365e-02 1.07334183e-02 2.14668365e-02 1.07334183e-02 3.22002548e-02 4.29336731e-02 2.14668365e-02 5.36670913e-02 2.14668365e-02 2.14668365e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 1.07334183e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 3.22002548e-02 2.14668365e-02 3.22002548e-02 4.29336731e-02 1.07334183e-02 0.00000000e+00 1.07334183e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 4.29336731e-02 2.14668365e-02 4.29336731e-02 3.22002548e-02 1.07334183e-02 5.36670913e-02 0.00000000e+00 5.36670913e-02 1.07334183e-02 3.22002548e-02 4.29336731e-02 3.22002548e-02 3.22002548e-02 3.22002548e-02 1.07334183e-02 2.14668365e-02 3.22002548e-02 3.22002548e-02 4.29336731e-02 2.14668365e-02 2.14668365e-02 2.14668365e-02 1.07334183e-02 6.44005096e-02 2.14668365e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 1.07334183e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 2.14668365e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 2.14668365e-02 5.36670913e-02 4.29336731e-02 2.14668365e-02 6.44005096e-02 0.00000000e+00 2.14668365e-02 2.14668365e-02 3.22002548e-02 2.14668365e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 2.14668365e-02 1.07334183e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 8.58673462e-02 3.22002548e-02 3.22002548e-02 4.29336731e-02 0.00000000e+00 4.29336731e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 2.14668365e-02 1.07334183e-02 5.36670913e-02 2.14668365e-02 4.29336731e-02 1.07334183e-02 3.22002548e-02 5.36670913e-02 2.14668365e-02 4.29336731e-02 2.14668365e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 2.14668365e-02 8.58673462e-02 1.07334183e-02 4.29336731e-02 3.22002548e-02 2.14668365e-02 2.14668365e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 1.07334183e-02 1.07334183e-02 3.22002548e-02 1.07334183e-02 3.22002548e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 2.14668365e-02 6.44005096e-02 0.00000000e+00 5.36670913e-02 5.36670913e-02 5.36670913e-02 1.07334183e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 2.14668365e-02 6.44005096e-02 2.14668365e-02 4.29336731e-02 1.07334183e-02 3.22002548e-02 3.22002548e-02 6.44005096e-02 2.14668365e-02 3.22002548e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 7.51339279e-02 2.14668365e-02 1.07334183e-02 3.22002548e-02 4.29336731e-02 3.22002548e-02 7.51339279e-02 2.14668365e-02 3.22002548e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 2.14668365e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 2.14668365e-02 1.07334183e-02 4.29336731e-02 2.14668365e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 2.14668365e-02 3.22002548e-02 4.29336731e-02 2.14668365e-02 3.22002548e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 2.14668365e-02 6.44005096e-02 4.29336731e-02 8.58673462e-02 2.14668365e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 1.18067601e-01 5.36670913e-02 2.14668365e-02 5.36670913e-02 1.07334183e-02 2.14668365e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 2.14668365e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 8.58673462e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 2.14668365e-02 4.29336731e-02 4.29336731e-02 8.58673462e-02 1.07334183e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 7.51339279e-02 4.29336731e-02 3.22002548e-02 8.58673462e-02 9.66007644e-02 9.66007644e-02 2.14668365e-02 5.36670913e-02 3.22002548e-02 2.14668365e-02 4.29336731e-02 8.58673462e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 2.14668365e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 1.07334183e-02 4.29336731e-02 1.07334183e-02 8.58673462e-02 9.66007644e-02 7.51339279e-02 1.07334183e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 2.14668365e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 2.14668365e-02 1.07334183e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 2.14668365e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 0.00000000e+00 5.36670913e-02 7.51339279e-02 3.22002548e-02 3.22002548e-02 3.22002548e-02 4.29336731e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 2.14668365e-02 4.29336731e-02 2.14668365e-02 3.22002548e-02 6.44005096e-02 1.07334183e-02 9.66007644e-02 9.66007644e-02 3.22002548e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 0.00000000e+00 5.36670913e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 3.22002548e-02 2.14668365e-02 4.29336731e-02 2.14668365e-02 6.44005096e-02 1.07334183e-02 2.14668365e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 9.66007644e-02 2.14668365e-02 4.29336731e-02 1.07334183e-02 1.28801019e-01 1.07334183e-01 1.07334183e-02 5.36670913e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 1.07334183e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 3.22002548e-02 5.36670913e-02 8.58673462e-02 2.14668365e-02 8.58673462e-02 0.00000000e+00 9.66007644e-02 4.29336731e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 8.58673462e-02 2.14668365e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 2.14668365e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 1.07334183e-02 4.29336731e-02 7.51339279e-02 2.14668365e-02 6.44005096e-02 1.18067601e-01 8.58673462e-02 2.14668365e-02 2.14668365e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 3.22002548e-02 0.00000000e+00 2.14668365e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 2.14668365e-02 3.22002548e-02 8.58673462e-02 1.07334183e-02 9.66007644e-02 4.29336731e-02 1.07334183e-02 9.66007644e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 1.07334183e-02 4.29336731e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 3.22002548e-02 2.14668365e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 2.14668365e-02 2.14668365e-02 0.00000000e+00 5.36670913e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 3.22002548e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 8.58673462e-02 8.58673462e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 2.14668365e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 1.18067601e-01 4.29336731e-02 1.07334183e-01 1.07334183e-02 7.51339279e-02 1.07334183e-01 5.36670913e-02 2.14668365e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 8.58673462e-02 8.58673462e-02 4.29336731e-02 3.22002548e-02 9.66007644e-02 5.36670913e-02 5.36670913e-02 2.14668365e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 8.58673462e-02 1.07334183e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 1.07334183e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 8.58673462e-02 2.14668365e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 9.66007644e-02 2.14668365e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 2.14668365e-02 3.22002548e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 1.07334183e-01 8.58673462e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 2.14668365e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 2.14668365e-02 6.44005096e-02 1.07334183e-01 8.58673462e-02 1.28801019e-01 5.36670913e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 2.14668365e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 3.22002548e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 2.14668365e-02 7.51339279e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 1.07334183e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 1.07334183e-01 9.66007644e-02 3.22002548e-02 7.51339279e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 6.44005096e-02 1.07334183e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 9.66007644e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 3.22002548e-02 1.07334183e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 2.14668365e-02 1.07334183e-01 4.29336731e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 3.22002548e-02 0.00000000e+00 8.58673462e-02 6.44005096e-02 1.07334183e-01 3.22002548e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 4.29336731e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 5.36670913e-02 1.07334183e-02 3.22002548e-02 5.36670913e-02 1.28801019e-01 1.07334183e-01 6.44005096e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 1.18067601e-01 2.14668365e-02 1.07334183e-02 9.66007644e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 2.14668365e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 9.66007644e-02 2.14668365e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 3.22002548e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 1.07334183e-02 6.44005096e-02 7.51339279e-02 1.18067601e-01 6.44005096e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 2.14668365e-02 4.29336731e-02 2.14668365e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 1.07334183e-01 4.29336731e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 3.22002548e-02 3.22002548e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 3.22002548e-02 4.29336731e-02 9.66007644e-02 4.29336731e-02 3.22002548e-02 2.14668365e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 9.66007644e-02 9.66007644e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 4.29336731e-02 2.14668365e-02 3.22002548e-02 6.44005096e-02 5.36670913e-02 2.14668365e-02 3.22002548e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 4.29336731e-02 8.58673462e-02 7.51339279e-02 4.29336731e-02 3.22002548e-02 3.22002548e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 9.66007644e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 7.51339279e-02 1.07334183e-01 6.44005096e-02 2.14668365e-02 9.66007644e-02 1.18067601e-01 7.51339279e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 8.58673462e-02 7.51339279e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 6.44005096e-02 2.14668365e-02 8.58673462e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 9.66007644e-02 3.22002548e-02 8.58673462e-02 4.29336731e-02 9.66007644e-02 3.22002548e-02 6.44005096e-02 1.39534437e-01 4.29336731e-02 8.58673462e-02 5.36670913e-02 1.18067601e-01 3.22002548e-02 1.39534437e-01 7.51339279e-02 2.14668365e-02 5.36670913e-02 2.14668365e-02 7.51339279e-02 1.07334183e-01 6.44005096e-02 1.07334183e-02 1.07334183e-01 4.29336731e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 1.07334183e-01 1.07334183e-01 5.36670913e-02 2.14668365e-02 4.29336731e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 5.36670913e-02 2.14668365e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 4.29336731e-02 4.29336731e-02 2.14668365e-02 1.07334183e-02 9.66007644e-02 3.22002548e-02 5.36670913e-02 2.14668365e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 3.22002548e-02 8.58673462e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 1.28801019e-01 6.44005096e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 1.07334183e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 2.14668365e-02 5.36670913e-02 1.07334183e-01 8.58673462e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 2.14668365e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 3.22002548e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 2.14668365e-02 2.14668365e-02 5.36670913e-02 3.22002548e-02 8.58673462e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 3.22002548e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 2.14668365e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 2.14668365e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 1.07334183e-01 4.29336731e-02 7.51339279e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 2.14668365e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 1.07334183e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 1.50267856e-01 5.36670913e-02 6.44005096e-02 2.14668365e-02 1.07334183e-01 8.58673462e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 2.14668365e-02 8.58673462e-02 4.29336731e-02 1.07334183e-02 8.58673462e-02 2.14668365e-02 4.29336731e-02 2.14668365e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 1.07334183e-01 4.29336731e-02 6.44005096e-02 1.07334183e-01 3.22002548e-02 4.29336731e-02 9.66007644e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 2.14668365e-02 5.36670913e-02 2.14668365e-02 5.36670913e-02 2.14668365e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 3.22002548e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 2.14668365e-02 2.14668365e-02 3.22002548e-02 1.07334183e-02 4.29336731e-02 3.22002548e-02 3.22002548e-02 6.44005096e-02 4.29336731e-02 9.66007644e-02 9.66007644e-02 7.51339279e-02 1.18067601e-01 7.51339279e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 2.14668365e-02 1.07334183e-01 4.29336731e-02 7.51339279e-02 3.22002548e-02 2.14668365e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 9.66007644e-02 1.18067601e-01 8.58673462e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 3.22002548e-02 9.66007644e-02 1.18067601e-01 8.58673462e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 9.66007644e-02 1.07334183e-01 9.66007644e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 9.66007644e-02 3.22002548e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 4.29336731e-02 1.07334183e-02 1.28801019e-01 3.22002548e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 1.28801019e-01 2.14668365e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 4.29336731e-02 1.07334183e-02 2.14668365e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 7.51339279e-02 7.51339279e-02 1.18067601e-01 6.44005096e-02 6.44005096e-02 1.18067601e-01 5.36670913e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 1.07334183e-01 4.29336731e-02 5.36670913e-02 5.36670913e-02 1.07334183e-02 0.00000000e+00 8.58673462e-02 1.07334183e-01 4.29336731e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 1.28801019e-01 6.44005096e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 2.14668365e-02 5.36670913e-02 8.58673462e-02 2.14668365e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 2.14668365e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 1.07334183e-02 6.44005096e-02 3.22002548e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 1.07334183e-02 3.22002548e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 0.00000000e+00 7.51339279e-02 9.66007644e-02 4.29336731e-02 2.14668365e-02 2.14668365e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 8.58673462e-02 1.18067601e-01 3.22002548e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 2.14668365e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 9.66007644e-02 5.36670913e-02 3.22002548e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 4.29336731e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 1.18067601e-01 9.66007644e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 1.28801019e-01 6.44005096e-02 8.58673462e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 1.18067601e-01 1.07334183e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 8.58673462e-02 1.18067601e-01 6.44005096e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 1.07334183e-01 7.51339279e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 4.29336731e-02 3.22002548e-02 4.29336731e-02 2.14668365e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 1.18067601e-01 1.07334183e-02 7.51339279e-02 5.36670913e-02 1.18067601e-01 9.66007644e-02 7.51339279e-02 8.58673462e-02 1.18067601e-01 5.36670913e-02 9.66007644e-02 8.58673462e-02 4.29336731e-02 8.58673462e-02 1.07334183e-01 6.44005096e-02 6.44005096e-02 7.51339279e-02 3.22002548e-02 2.14668365e-02 1.07334183e-01 5.36670913e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 7.51339279e-02 4.29336731e-02 8.58673462e-02 3.22002548e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 9.66007644e-02 5.36670913e-02 9.66007644e-02 7.51339279e-02 6.44005096e-02 2.14668365e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 1.07334183e-01 5.36670913e-02 8.58673462e-02 3.22002548e-02 1.18067601e-01 8.58673462e-02 1.39534437e-01 7.51339279e-02 5.36670913e-02 1.07334183e-01 9.66007644e-02 1.07334183e-02 3.22002548e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 1.18067601e-01 8.58673462e-02 4.29336731e-02 5.36670913e-02 9.66007644e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 1.07334183e-01 4.29336731e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 1.07334183e-02 1.07334183e-01 4.29336731e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 9.66007644e-02 7.51339279e-02 3.22002548e-02 9.66007644e-02 8.58673462e-02 4.29336731e-02 3.22002548e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 9.66007644e-02 1.18067601e-01 8.58673462e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 1.07334183e-02 9.66007644e-02 3.22002548e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 4.29336731e-02 1.07334183e-01 5.36670913e-02 4.29336731e-02 8.58673462e-02 3.22002548e-02 9.66007644e-02 1.07334183e-02 8.58673462e-02 6.44005096e-02 1.18067601e-01 6.44005096e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 2.14668365e-02 2.14668365e-02 6.44005096e-02 1.28801019e-01 9.66007644e-02 5.36670913e-02 5.36670913e-02 1.07334183e-01 9.66007644e-02 3.22002548e-02 6.44005096e-02 4.29336731e-02 3.22002548e-02 7.51339279e-02 1.39534437e-01 8.58673462e-02 7.51339279e-02 6.44005096e-02 1.28801019e-01 7.51339279e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 1.07334183e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 1.18067601e-01 3.22002548e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 9.66007644e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 1.18067601e-01 2.14668365e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 9.66007644e-02 3.22002548e-02 7.51339279e-02 9.66007644e-02 3.22002548e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 1.07334183e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 2.14668365e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 1.18067601e-01 5.36670913e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 2.14668365e-02 3.22002548e-02 2.14668365e-02 8.58673462e-02 7.51339279e-02 1.18067601e-01 4.29336731e-02 1.18067601e-01 5.36670913e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 1.07334183e-01 7.51339279e-02 2.14668365e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 1.50267856e-01 5.36670913e-02 2.14668365e-02 2.14668365e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 3.22002548e-02 8.58673462e-02 3.22002548e-02 4.29336731e-02 1.07334183e-01 4.29336731e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 2.14668365e-02 9.66007644e-02 5.36670913e-02 3.22002548e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 8.58673462e-02 2.14668365e-02 4.29336731e-02 8.58673462e-02 8.58673462e-02 1.28801019e-01 8.58673462e-02 9.66007644e-02 1.18067601e-01 7.51339279e-02 8.58673462e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 2.14668365e-02 5.36670913e-02 4.29336731e-02 2.14668365e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 2.14668365e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 1.28801019e-01 4.29336731e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 1.18067601e-01 5.36670913e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 1.07334183e-02 1.28801019e-01 6.44005096e-02 7.51339279e-02 1.18067601e-01 5.36670913e-02 6.44005096e-02 3.22002548e-02 1.07334183e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 1.39534437e-01 2.14668365e-02 3.22002548e-02 1.18067601e-01 6.44005096e-02 3.22002548e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 3.22002548e-02 7.51339279e-02 9.66007644e-02 2.14668365e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 1.50267856e-01 6.44005096e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 1.50267856e-01 1.07334183e-01 6.44005096e-02 9.66007644e-02 7.51339279e-02 7.51339279e-02 9.66007644e-02 4.29336731e-02 9.66007644e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 1.18067601e-01 9.66007644e-02 4.29336731e-02 6.44005096e-02 8.58673462e-02 1.18067601e-01 6.44005096e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 6.44005096e-02 9.66007644e-02 8.58673462e-02 3.22002548e-02 7.51339279e-02 1.07334183e-01 1.28801019e-01 8.58673462e-02 8.58673462e-02 4.29336731e-02 1.07334183e-02 6.44005096e-02 7.51339279e-02 9.66007644e-02 1.07334183e-01 6.44005096e-02 1.28801019e-01 2.14668365e-02 1.28801019e-01 7.51339279e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 1.28801019e-01 9.66007644e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 5.36670913e-02 1.28801019e-01 1.39534437e-01 4.29336731e-02 8.58673462e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 7.51339279e-02 1.07334183e-01 4.29336731e-02 5.36670913e-02 3.22002548e-02 9.66007644e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 1.07334183e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 9.66007644e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 1.28801019e-01 7.51339279e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 1.18067601e-01 4.29336731e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 1.28801019e-01 1.07334183e-01 3.22002548e-02 9.66007644e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 1.18067601e-01 2.14668365e-02 2.14668365e-02 6.44005096e-02 4.29336731e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 3.22002548e-02 3.22002548e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 1.39534437e-01 9.66007644e-02 9.66007644e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 1.07334183e-01 5.36670913e-02 1.28801019e-01 8.58673462e-02 2.14668365e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 3.22002548e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 1.18067601e-01 4.29336731e-02 1.18067601e-01 4.29336731e-02 8.58673462e-02 2.14668365e-02 7.51339279e-02 3.22002548e-02 2.14668365e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 3.22002548e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 1.07334183e-01 3.22002548e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 9.66007644e-02 1.07334183e-01 2.14668365e-02 9.66007644e-02 6.44005096e-02 9.66007644e-02 9.66007644e-02 1.07334183e-01 9.66007644e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 6.44005096e-02 8.58673462e-02 7.51339279e-02 3.22002548e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 2.14668365e-02 3.22002548e-02 1.07334183e-01 6.44005096e-02 1.50267856e-01 3.22002548e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 2.14668365e-02 5.36670913e-02 9.66007644e-02 4.29336731e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 2.14668365e-02 4.29336731e-02 7.51339279e-02 2.14668365e-02 7.51339279e-02 8.58673462e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 1.07334183e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 9.66007644e-02 1.07334183e-01 7.51339279e-02 4.29336731e-02 1.18067601e-01 1.07334183e-01 7.51339279e-02 6.44005096e-02 1.07334183e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 1.07334183e-02 9.66007644e-02 5.36670913e-02 4.29336731e-02 2.14668365e-02 5.36670913e-02 9.66007644e-02 1.18067601e-01 8.58673462e-02 1.07334183e-01 6.44005096e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 2.14668365e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 2.14668365e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 1.07334183e-02 1.07334183e-01 7.51339279e-02 1.07334183e-01 5.36670913e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 3.22002548e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 5.36670913e-02 2.14668365e-02 1.39534437e-01 9.66007644e-02 1.07334183e-01 8.58673462e-02 1.18067601e-01 2.14668365e-02 6.44005096e-02 8.58673462e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 1.18067601e-01 8.58673462e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 1.07334183e-01 3.22002548e-02 3.22002548e-02 9.66007644e-02 9.66007644e-02 8.58673462e-02 3.22002548e-02 1.07334183e-02 8.58673462e-02 8.58673462e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 1.07334183e-02 8.58673462e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 1.39534437e-01 3.22002548e-02 3.22002548e-02 9.66007644e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 4.29336731e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 4.29336731e-02 1.18067601e-01 7.51339279e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 3.22002548e-02 8.58673462e-02 6.44005096e-02 2.14668365e-02 6.44005096e-02 6.44005096e-02 3.22002548e-02 1.28801019e-01 5.36670913e-02 9.66007644e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 1.07334183e-01 3.22002548e-02 3.22002548e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 1.07334183e-01 9.66007644e-02 9.66007644e-02 8.58673462e-02 4.29336731e-02 1.07334183e-01 5.36670913e-02 7.51339279e-02 6.44005096e-02 2.14668365e-02 8.58673462e-02 2.14668365e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 1.28801019e-01 6.44005096e-02 8.58673462e-02 4.29336731e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 8.58673462e-02 1.07334183e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 1.39534437e-01 4.29336731e-02 1.18067601e-01 7.51339279e-02 1.18067601e-01 7.51339279e-02 7.51339279e-02 9.66007644e-02 9.66007644e-02 1.18067601e-01 1.50267856e-01 8.58673462e-02 1.07334183e-01 4.29336731e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 8.58673462e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 3.22002548e-02 3.22002548e-02 1.07334183e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 3.22002548e-02 1.07334183e-01 4.29336731e-02 9.66007644e-02 8.58673462e-02 2.14668365e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 7.51339279e-02 8.58673462e-02 6.44005096e-02 4.29336731e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 1.07334183e-01 7.51339279e-02 8.58673462e-02 9.66007644e-02 3.22002548e-02 5.36670913e-02 8.58673462e-02 9.66007644e-02 4.29336731e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 3.22002548e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 1.07334183e-01 7.51339279e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 1.07334183e-01 8.58673462e-02 1.82468111e-01 9.66007644e-02 1.07334183e-01 7.51339279e-02 6.44005096e-02 7.51339279e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 6.44005096e-02 1.07334183e-01 9.66007644e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 8.58673462e-02 8.58673462e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 9.66007644e-02 1.07334183e-01 7.51339279e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 1.07334183e-02 5.36670913e-02 9.66007644e-02 7.51339279e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 1.18067601e-01 5.36670913e-02 5.36670913e-02 9.66007644e-02 1.18067601e-01 4.29336731e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 6.44005096e-02 1.18067601e-01 1.07334183e-01 6.44005096e-02 7.51339279e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 1.07334183e-01 5.36670913e-02 7.51339279e-02 1.18067601e-01 5.36670913e-02 8.58673462e-02 9.66007644e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 3.22002548e-02 1.07334183e-01 8.58673462e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 1.07334183e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 1.28801019e-01 7.51339279e-02 8.58673462e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 4.29336731e-02 9.66007644e-02 1.39534437e-01 6.44005096e-02 1.07334183e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 1.18067601e-01 8.58673462e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 1.07334183e-01 2.14668365e-02 9.66007644e-02 1.07334183e-01 7.51339279e-02 4.29336731e-02 6.44005096e-02 1.07334183e-01 3.22002548e-02 1.07334183e-01 5.36670913e-02 8.58673462e-02 3.22002548e-02 8.58673462e-02 4.29336731e-02 8.58673462e-02 5.36670913e-02 1.07334183e-01 8.58673462e-02 9.66007644e-02 4.29336731e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 1.18067601e-01 3.22002548e-02 1.39534437e-01 7.51339279e-02 2.14668365e-02 7.51339279e-02 9.66007644e-02 8.58673462e-02 6.44005096e-02 1.61001274e-01 5.36670913e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 1.18067601e-01 6.44005096e-02 6.44005096e-02 1.61001274e-01 5.36670913e-02 3.22002548e-02 9.66007644e-02 8.58673462e-02 4.29336731e-02 1.18067601e-01 6.44005096e-02 3.22002548e-02 1.07334183e-01 5.36670913e-02 9.66007644e-02 8.58673462e-02 1.18067601e-01 2.14668365e-02 3.22002548e-02 4.29336731e-02 1.28801019e-01 7.51339279e-02 1.18067601e-01 5.36670913e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 9.66007644e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 9.66007644e-02 5.36670913e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 5.36670913e-02 1.07334183e-01 2.14668365e-02 2.14668365e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 1.07334183e-01 3.22002548e-02 2.14668365e-02 8.58673462e-02 9.66007644e-02 6.44005096e-02 1.07334183e-01 5.36670913e-02 8.58673462e-02 5.36670913e-02 1.07334183e-01 1.07334183e-02 5.36670913e-02 9.66007644e-02 5.36670913e-02 2.14668365e-02 8.58673462e-02 9.66007644e-02 7.51339279e-02 4.29336731e-02 1.39534437e-01 9.66007644e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 1.07334183e-01 3.22002548e-02 7.51339279e-02 9.66007644e-02 1.07334183e-02 8.58673462e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 1.28801019e-01 8.58673462e-02 1.18067601e-01 1.28801019e-01 8.58673462e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 5.36670913e-02 1.18067601e-01 1.18067601e-01 1.07334183e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 4.29336731e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 1.07334183e-01 4.29336731e-02 5.36670913e-02 8.58673462e-02 1.18067601e-01 9.66007644e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 9.66007644e-02 3.22002548e-02 6.44005096e-02 4.29336731e-02 2.03934947e-01 6.44005096e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 9.66007644e-02 9.66007644e-02 8.58673462e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 3.22002548e-02 8.58673462e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 1.18067601e-01 8.58673462e-02 8.58673462e-02 1.07334183e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 3.22002548e-02 2.03934947e-01 5.36670913e-02 9.66007644e-02 7.51339279e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 1.07334183e-01 7.51339279e-02 7.51339279e-02 1.07334183e-01 7.51339279e-02 7.51339279e-02 6.44005096e-02 1.07334183e-01 8.58673462e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 1.28801019e-01 1.28801019e-01 9.66007644e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 1.28801019e-01 6.44005096e-02 2.14668365e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 1.18067601e-01 5.36670913e-02 6.44005096e-02 1.18067601e-01 4.29336731e-02 5.36670913e-02 2.14668365e-02 3.22002548e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 1.18067601e-01 7.51339279e-02 1.07334183e-01 3.22002548e-02 8.58673462e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 1.82468111e-01 1.28801019e-01 1.18067601e-01 6.44005096e-02 2.14668365e-02 4.29336731e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 3.22002548e-02 3.22002548e-02 1.61001274e-01 3.22002548e-02 5.36670913e-02 6.44005096e-02 1.71734692e-01 6.44005096e-02 8.58673462e-02 5.36670913e-02 1.28801019e-01 1.07334183e-01 7.51339279e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 2.14668365e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 1.07334183e-01 2.14668365e-02 1.07334183e-01 1.07334183e-01 1.18067601e-01 7.51339279e-02 5.36670913e-02 1.07334183e-01 7.51339279e-02 4.29336731e-02 1.18067601e-01 6.44005096e-02 7.51339279e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 1.07334183e-01 5.36670913e-02 9.66007644e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 1.18067601e-01 7.51339279e-02 7.51339279e-02 1.39534437e-01 7.51339279e-02 2.14668365e-02 5.36670913e-02 1.18067601e-01 8.58673462e-02 8.58673462e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 2.14668365e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 8.58673462e-02 1.07334183e-01 7.51339279e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 1.28801019e-01 5.36670913e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 1.71734692e-01 1.07334183e-01 8.58673462e-02 5.36670913e-02 6.44005096e-02 1.07334183e-01 9.66007644e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 1.18067601e-01 4.29336731e-02 4.29336731e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 1.18067601e-01 9.66007644e-02 4.29336731e-02 7.51339279e-02 1.50267856e-01 5.36670913e-02 1.07334183e-01 8.58673462e-02 8.58673462e-02 8.58673462e-02 1.07334183e-01 4.29336731e-02 1.50267856e-01 1.28801019e-01 8.58673462e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 2.57602038e-01 7.51339279e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 1.18067601e-01 7.51339279e-02 4.29336731e-02 1.28801019e-01 9.66007644e-02 5.36670913e-02 8.58673462e-02 4.29336731e-02 1.07334183e-01 1.18067601e-01 7.51339279e-02 1.07334183e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 1.07334183e-01 6.44005096e-02 3.22002548e-02 5.36670913e-02 1.93201529e-01 8.58673462e-02 9.66007644e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 1.39534437e-01 4.29336731e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 1.18067601e-01 3.22002548e-02 6.44005096e-02 9.66007644e-02 1.07334183e-01 6.44005096e-02 8.58673462e-02 5.36670913e-02 2.14668365e-02 6.44005096e-02 7.51339279e-02 1.07334183e-01 1.07334183e-01 1.18067601e-01 9.66007644e-02 7.51339279e-02 5.36670913e-02 1.28801019e-01 9.66007644e-02 8.58673462e-02 9.66007644e-02 7.51339279e-02 6.44005096e-02 1.18067601e-01 5.36670913e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 1.71734692e-01 4.29336731e-02 1.28801019e-01 9.66007644e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 7.51339279e-02 1.50267856e-01 7.51339279e-02 2.14668365e-02 6.44005096e-02 2.14668365e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 2.14668365e-02 1.50267856e-01 1.07334183e-01 1.50267856e-01 8.58673462e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 8.58673462e-02 5.47404332e-01 9.66007644e-02 4.29336731e-02 3.22002548e-02 3.22002548e-02 7.51339279e-02 9.66007644e-02 8.58673462e-02 9.66007644e-02 4.29336731e-02 6.44005096e-02 8.58673462e-02 1.07334183e-01 8.58673462e-02 1.18067601e-01 3.22002548e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 9.66007644e-02 9.66007644e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 1.07334183e-01 3.22002548e-02 7.51339279e-02 1.07334183e-01 7.51339279e-02 1.18067601e-01 6.44005096e-02 3.22002548e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 3.22002548e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 1.28801019e-01 7.51339279e-02 1.07334183e-01 6.44005096e-02 1.07334183e-01 9.66007644e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 5.36670913e-02 9.66007644e-02 5.36670913e-02 9.66007644e-02 3.22002548e-02 6.44005096e-02 1.61001274e-01 5.36670913e-02 5.36670913e-02 9.66007644e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 1.39534437e-01 6.44005096e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 1.07334183e-01 7.51339279e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 9.66007644e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 9.66007644e-02 9.66007644e-02 1.07334183e-01 9.66007644e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 1.18067601e-01 5.36670913e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 2.14668365e-02 7.51339279e-02 4.29336731e-02 8.58673462e-02 1.07334183e-01 2.14668365e-02 8.58673462e-02 9.66007644e-02 8.58673462e-02 8.58673462e-02 2.14668365e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 2.14668365e-02 3.22002548e-02 3.22002548e-02 1.07334183e-01 7.51339279e-02 2.14668365e-02 9.66007644e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 9.66007644e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 1.18067601e-01 7.51339279e-02 1.18067601e-01 3.22002548e-02 1.18067601e-01 1.07334183e-01 4.29336731e-02 6.44005096e-02 3.22002548e-02 2.14668365e-02 4.29336731e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 3.22002548e-02 1.07334183e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 4.29336731e-02 2.14668365e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 1.07334183e-01 6.44005096e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 2.25401784e-01 2.14668365e-02 9.66007644e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 1.07334183e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 7.51339279e-02 7.51339279e-02 2.14668365e-02 4.29336731e-02 1.07334183e-01 7.51339279e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 1.18067601e-01 5.36670913e-02 1.07334183e-01 5.36670913e-02 9.66007644e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 1.28801019e-01 2.14668365e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 3.22002548e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 2.14668365e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 2.14668365e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 1.18067601e-01 3.22002548e-02 4.29336731e-02 9.66007644e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 1.28801019e-01 2.14668365e-02 4.29336731e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 9.66007644e-02 8.58673462e-02 8.58673462e-02 1.39534437e-01 5.36670913e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 1.07334183e-01 4.29336731e-02 1.39534437e-01 5.36670913e-02 7.51339279e-02 8.58673462e-02 3.22002548e-02 2.14668365e-02 7.51339279e-02 4.29336731e-02 9.66007644e-02 4.29336731e-02 1.07334183e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 1.07334183e-01 3.22002548e-02 5.36670913e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 1.07334183e-01 4.29336731e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 2.14668365e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 9.66007644e-02 4.29336731e-02 6.44005096e-02 1.18067601e-01 6.44005096e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 1.50267856e-01 4.29336731e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 2.14668365e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 3.22002548e-02 5.36670913e-02 1.07334183e-01 2.14668365e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 9.66007644e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 1.07334183e-01 2.14668365e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 1.18067601e-01 4.29336731e-02 3.22002548e-02 2.14668365e-02 7.51339279e-02 3.22002548e-02 2.14668365e-02 6.44005096e-02 5.36670913e-02 9.66007644e-02 9.66007644e-02 3.22002548e-02 5.36670913e-02 1.18067601e-01 8.58673462e-02 8.58673462e-02 4.29336731e-02 1.07334183e-01 7.51339279e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 1.18067601e-01 1.07334183e-01 2.14668365e-02 3.22002548e-02 5.36670913e-02 1.07334183e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 3.22002548e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 1.07334183e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 5.36670913e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 7.51339279e-02 2.14668365e-02 5.36670913e-02 9.66007644e-02 3.22002548e-02 7.51339279e-02 8.58673462e-02 2.14668365e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 1.18067601e-01 4.29336731e-02 1.07334183e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 1.39534437e-01 7.51339279e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 8.58673462e-02 8.58673462e-02 4.29336731e-02 8.58673462e-02 2.14668365e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 1.07334183e-01 3.22002548e-02 4.29336731e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 1.07334183e-01 3.22002548e-02 3.22002548e-02 1.07334183e-01 9.66007644e-02 5.36670913e-02 2.14668365e-02 9.66007644e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 1.07334183e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 9.66007644e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 3.22002548e-02 7.51339279e-02 9.66007644e-02 3.22002548e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 4.29336731e-02 1.07334183e-01 4.29336731e-02 2.14668365e-02 3.22002548e-02 8.58673462e-02 3.22002548e-02 5.36670913e-02 4.29336731e-02 8.58673462e-02 8.58673462e-02 2.14668365e-02 7.51339279e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 3.22002548e-02 3.22002548e-02 4.29336731e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 1.07334183e-01 3.22002548e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 9.66007644e-02 9.66007644e-02 1.28801019e-01 5.36670913e-02 1.07334183e-02 8.58673462e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 1.07334183e-02 1.07334183e-01 4.29336731e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 3.22002548e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 3.22002548e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 4.29336731e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 3.22002548e-02 1.18067601e-01 4.29336731e-02 1.28801019e-01 3.22002548e-02 7.51339279e-02 3.22002548e-02 8.58673462e-02 1.07334183e-01 6.44005096e-02 6.44005096e-02 1.07334183e-01 1.07334183e-02 6.44005096e-02 1.07334183e-01 5.36670913e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 2.14668365e-02 9.66007644e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 2.14668365e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 1.07334183e-01 2.14668365e-02 7.51339279e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 3.22002548e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 8.58673462e-02 1.18067601e-01 7.51339279e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 2.14668365e-02 1.07334183e-01 3.22002548e-02 8.58673462e-02 1.18067601e-01 3.22002548e-02 8.58673462e-02 4.29336731e-02 1.07334183e-01 1.28801019e-01 4.29336731e-02 7.51339279e-02 9.66007644e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 1.28801019e-01 8.58673462e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 1.28801019e-01 6.44005096e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 1.07334183e-01 5.36670913e-02 3.22002548e-02 5.36670913e-02 8.58673462e-02 1.28801019e-01 6.44005096e-02 9.66007644e-02 5.36670913e-02 5.36670913e-02 1.07334183e-01 5.36670913e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 1.07334183e-01 8.58673462e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 9.66007644e-02 3.22002548e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 2.14668365e-02 9.66007644e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 2.14668365e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 1.18067601e-01 5.36670913e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 1.07334183e-01 8.58673462e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 1.50267856e-01 6.44005096e-02 1.07334183e-01 5.36670913e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 2.14668365e-02 5.36670913e-02 4.29336731e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 7.51339279e-02 1.18067601e-01 5.36670913e-02 1.28801019e-01 7.51339279e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 4.29336731e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 1.28801019e-01 4.29336731e-02 4.29336731e-02 4.29336731e-02 9.66007644e-02 1.39534437e-01 8.58673462e-02 7.51339279e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 1.61001274e-01 6.44005096e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 1.07334183e-02 2.14668365e-02 2.14668365e-02 4.29336731e-02 1.07334183e-01 3.22002548e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 1.18067601e-01 7.51339279e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 1.28801019e-01 4.29336731e-02 1.28801019e-01 7.51339279e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 2.14668365e-02 9.66007644e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 1.07334183e-02 9.66007644e-02 1.18067601e-01 4.29336731e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 1.18067601e-01 5.36670913e-02 6.44005096e-02 5.36670913e-02 9.66007644e-02 4.29336731e-02 2.14668365e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 1.07334183e-01 6.44005096e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 8.58673462e-02 4.29336731e-02 3.22002548e-02 2.14668365e-02 0.00000000e+00 5.36670913e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 3.22002548e-02 9.66007644e-02 5.36670913e-02 1.50267856e-01 1.18067601e-01 3.22002548e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 3.22002548e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 1.18067601e-01 6.44005096e-02 0.00000000e+00 1.07334183e-01 8.58673462e-02 1.07334183e-01 1.07334183e-01 7.51339279e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 9.66007644e-02 3.22002548e-02 3.22002548e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 2.14668365e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 4.29336731e-02 8.58673462e-02 2.14668365e-02 3.22002548e-02 8.58673462e-02 8.58673462e-02 4.29336731e-02 1.28801019e-01 7.51339279e-02 7.51339279e-02 2.14668365e-02 8.58673462e-02 8.58673462e-02 1.07334183e-01 4.29336731e-02 2.14668365e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 2.14668365e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 1.18067601e-01 5.36670913e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 8.58673462e-02 1.18067601e-01 1.18067601e-01 7.51339279e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 2.14668365e-02 1.28801019e-01 7.51339279e-02 1.28801019e-01 4.29336731e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 1.18067601e-01 7.51339279e-02 3.22002548e-02 4.29336731e-02 4.29336731e-02 7.51339279e-02 1.07334183e-01 5.36670913e-02 1.07334183e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 7.51339279e-02 3.22002548e-02 1.07334183e-02 7.51339279e-02 9.66007644e-02 7.51339279e-02 7.51339279e-02 3.22002548e-02 3.22002548e-02 7.51339279e-02 1.07334183e-01 3.22002548e-02 3.22002548e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 1.18067601e-01 3.22002548e-02 5.36670913e-02 5.36670913e-02 2.14668365e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 1.18067601e-01 7.51339279e-02 5.36670913e-02 3.22002548e-02 7.51339279e-02 9.66007644e-02 2.14668365e-02 3.22002548e-02 1.07334183e-01 5.36670913e-02 2.14668365e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 7.51339279e-02 9.66007644e-02 2.14668365e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 2.14668365e-02 5.36670913e-02 4.29336731e-02 3.22002548e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 1.07334183e-01 4.29336731e-02 4.29336731e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 9.66007644e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 1.07334183e-01 8.58673462e-02 5.36670913e-02 9.66007644e-02 1.18067601e-01 7.51339279e-02 9.66007644e-02 7.51339279e-02 4.29336731e-02 1.07334183e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 2.14668365e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 1.07334183e-01 5.36670913e-02 6.44005096e-02 2.14668365e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 1.18067601e-01 3.22002548e-02 1.39534437e-01 7.51339279e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 3.22002548e-02 1.39534437e-01 4.29336731e-02 8.58673462e-02 6.44005096e-02 4.29336731e-02 1.07334183e-01 8.58673462e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 9.66007644e-02 1.07334183e-01 5.36670913e-02 7.51339279e-02 1.28801019e-01 5.36670913e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 1.07334183e-01 5.36670913e-02 8.58673462e-02 8.58673462e-02 1.07334183e-01 8.58673462e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 1.07334183e-01 5.36670913e-02 2.14668365e-02 9.66007644e-02 1.28801019e-01 7.51339279e-02 1.07334183e-02 4.29336731e-02 2.14668365e-02 8.58673462e-02 4.29336731e-02 9.66007644e-02 7.51339279e-02 6.44005096e-02 1.07334183e-01 4.29336731e-02 4.29336731e-02 1.28801019e-01 8.58673462e-02 5.36670913e-02 9.66007644e-02 1.07334183e-01 8.58673462e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 1.18067601e-01 9.66007644e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 1.28801019e-01 8.58673462e-02 4.29336731e-02 9.66007644e-02 8.58673462e-02 1.18067601e-01 7.51339279e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 9.66007644e-02 6.44005096e-02 2.14668365e-02 8.58673462e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 1.18067601e-01 5.36670913e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 3.22002548e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 2.14668365e-02 6.44005096e-02 5.36670913e-02 9.66007644e-02 5.36670913e-02 1.28801019e-01 2.14668365e-02 3.22002548e-02 1.18067601e-01 5.36670913e-02 3.22002548e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 1.18067601e-01 6.44005096e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 1.28801019e-01 9.66007644e-02 1.07334183e-01 7.51339279e-02 8.58673462e-02 2.14668365e-02 5.36670913e-02 1.18067601e-01 5.36670913e-02 1.07334183e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 1.71734692e-01 8.58673462e-02 5.36670913e-02 1.07334183e-01 5.36670913e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 3.22002548e-02 5.36670913e-02 4.29336731e-02 8.58673462e-02 1.39534437e-01 5.36670913e-02 7.51339279e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 3.22002548e-02 1.07334183e-01 4.29336731e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 2.14668365e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 1.28801019e-01 1.28801019e-01 9.66007644e-02 1.07334183e-01 5.36670913e-02 4.29336731e-02 5.36670913e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 1.07334183e-02 7.51339279e-02 1.07334183e-01 1.07334183e-01 9.66007644e-02 4.29336731e-02 8.58673462e-02 7.51339279e-02 2.14668365e-02 4.29336731e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 1.07334183e-01 5.36670913e-02 1.07334183e-01 9.66007644e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 1.71734692e-01 5.36670913e-02 5.36670913e-02 1.61001274e-01 1.18067601e-01 9.66007644e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 1.07334183e-01 3.22002548e-02 5.36670913e-02 7.51339279e-02 9.66007644e-02 2.14668365e-02 4.29336731e-02 1.07334183e-01 4.29336731e-02 7.51339279e-02 4.29336731e-02 1.28801019e-01 4.29336731e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 1.28801019e-01 6.44005096e-02 1.28801019e-01 7.51339279e-02 4.29336731e-02 9.66007644e-02 6.44005096e-02 1.28801019e-01 5.36670913e-02 9.66007644e-02 2.14668365e-02 5.36670913e-02 1.18067601e-01 3.22002548e-02 6.44005096e-02 2.14668365e-02 8.58673462e-02 6.44005096e-02 2.14668365e-02 2.14668365e-02 1.18067601e-01 1.07334183e-01 1.18067601e-01 8.58673462e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 1.07334183e-01 6.44005096e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 1.39534437e-01 5.36670913e-02 1.07334183e-01 4.29336731e-02 7.51339279e-02 6.44005096e-02 1.28801019e-01 6.44005096e-02 1.07334183e-01 3.22002548e-02 5.36670913e-02 5.36670913e-02 1.07334183e-01 9.66007644e-02 2.14668365e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 8.58673462e-02 1.39534437e-01 4.29336731e-02 6.44005096e-02 6.44005096e-02 2.14668365e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 9.66007644e-02 4.29336731e-02 6.44005096e-02 9.66007644e-02 3.22002548e-02 6.44005096e-02 1.07334183e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 1.18067601e-01 7.51339279e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 3.22002548e-02 2.14668365e-02 9.66007644e-02 4.29336731e-02 6.44005096e-02 2.14668365e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 3.22002548e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 1.18067601e-01 9.66007644e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 9.66007644e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 1.07334183e-01 1.07334183e-01 1.07334183e-01 1.50267856e-01 4.29336731e-02 8.58673462e-02 9.66007644e-02 1.07334183e-01 1.39534437e-01 8.58673462e-02 3.22002548e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 2.46868620e-01 7.51339279e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 7.51339279e-02 1.39534437e-01 4.29336731e-02 8.58673462e-02 4.29336731e-02 3.22002548e-02 1.28801019e-01 6.44005096e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 4.29336731e-02 1.07334183e-01 8.58673462e-02 7.51339279e-02 1.07334183e-01 7.51339279e-02 1.07334183e-01 7.51339279e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 4.29336731e-02 1.07334183e-01 1.18067601e-01 5.36670913e-02 6.44005096e-02 6.44005096e-02 1.18067601e-01 8.58673462e-02 3.22002548e-02 4.29336731e-02 3.22002548e-02 5.36670913e-02 4.29336731e-02 4.29336731e-02 7.51339279e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 1.18067601e-01 8.58673462e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 3.22002548e-02 5.36670913e-02 7.51339279e-02 3.22002548e-02 8.58673462e-02 2.14668365e-02 6.44005096e-02 5.36670913e-02 1.18067601e-01 7.51339279e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 5.36670913e-02 1.07334183e-01 7.51339279e-02 5.36670913e-02 8.58673462e-02 9.66007644e-02 1.93201529e-01 6.44005096e-02 1.07334183e-01 6.44005096e-02 4.29336731e-02 4.29336731e-02 7.51339279e-02 3.22002548e-02 8.58673462e-02 7.51339279e-02 3.22002548e-02 8.58673462e-02 3.22002548e-02 9.66007644e-02 3.22002548e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 9.66007644e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 4.29336731e-02 4.29336731e-02 1.18067601e-01 6.44005096e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 1.07334183e-01 1.07334183e-01 6.44005096e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 9.66007644e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 1.07334183e-01 1.07334183e-01 8.58673462e-02 2.14668365e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 9.66007644e-02 1.07334183e-01 7.51339279e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 8.58673462e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 2.14668365e-02 6.44005096e-02 1.18067601e-01 6.44005096e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 9.66007644e-02 1.07334183e-01 9.66007644e-02 1.07334183e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 2.14668365e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 9.66007644e-02 9.66007644e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 2.14668365e-02 2.14668365e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 1.07334183e-02 1.07334183e-02 5.36670913e-02 9.66007644e-02 3.22002548e-02 5.36670913e-02 3.22002548e-02 1.18067601e-01 6.44005096e-02 7.51339279e-02 1.39534437e-01 5.36670913e-02 6.44005096e-02 6.44005096e-02 1.39534437e-01 1.28801019e-01 6.44005096e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 9.66007644e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 2.14668365e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 2.14668365e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 9.66007644e-02 7.51339279e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 9.66007644e-02 3.22002548e-02 1.07334183e-01 1.18067601e-01 6.44005096e-02 1.18067601e-01 8.58673462e-02 5.36670913e-02 0.00000000e+00 5.36670913e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 1.28801019e-01 8.58673462e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 8.58673462e-02 5.36670913e-02 3.22002548e-02 1.18067601e-01 9.66007644e-02 9.66007644e-02 1.07334183e-01 4.29336731e-02 3.22002548e-02 5.36670913e-02 1.18067601e-01 6.44005096e-02 9.66007644e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 1.07334183e-02 5.36670913e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 7.51339279e-02 1.18067601e-01 4.29336731e-02 6.44005096e-02 1.39534437e-01 4.29336731e-02 9.66007644e-02 4.29336731e-02 8.58673462e-02 5.36670913e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 2.14668365e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 7.51339279e-02 4.29336731e-02 2.14668365e-02 8.58673462e-02 3.22002548e-02 3.22002548e-02 2.14668365e-02 7.51339279e-02 8.58673462e-02 2.25401784e-01 1.07334183e-02 1.07334183e-01 7.51339279e-02 6.44005096e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 9.66007644e-02 4.29336731e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 1.07334183e-01 4.29336731e-02 6.44005096e-02 1.07334183e-01 9.66007644e-02 9.66007644e-02 7.51339279e-02 7.51339279e-02 1.18067601e-01 4.29336731e-02 1.07334183e-01 8.58673462e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 1.07334183e-01 7.51339279e-02 8.58673462e-02 7.51339279e-02 1.18067601e-01 5.36670913e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 3.22002548e-02 3.22002548e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 7.51339279e-02 1.07334183e-02 8.58673462e-02 5.36670913e-02 1.07334183e-01 9.66007644e-02 8.58673462e-02 2.14668365e-02 8.58673462e-02 7.51339279e-02 2.14668365e-02 4.29336731e-02 5.36670913e-02 1.07334183e-01 7.51339279e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 8.58673462e-02 1.07334183e-01 3.22002548e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 2.14668365e-02 6.44005096e-02 1.07334183e-01 1.07334183e-01 4.29336731e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 9.66007644e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 4.29336731e-02 4.29336731e-02 3.22002548e-02 3.22002548e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 3.22002548e-02 9.66007644e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 1.39534437e-01 4.29336731e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 8.58673462e-02 4.29336731e-02 8.58673462e-02 7.51339279e-02 1.18067601e-01 8.58673462e-02 8.58673462e-02 1.18067601e-01 5.36670913e-02 3.22002548e-02 7.51339279e-02 9.66007644e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 1.07334183e-01 9.66007644e-02 4.29336731e-02 5.36670913e-02 4.29336731e-02 1.07334183e-01 4.29336731e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 3.22002548e-02 8.58673462e-02 3.22002548e-02 1.07334183e-01 2.14668365e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 7.51339279e-02 1.39534437e-01 6.44005096e-02 9.66007644e-02 1.28801019e-01 7.51339279e-02 9.66007644e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 9.66007644e-02 3.22002548e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 4.29336731e-02 8.58673462e-02 9.66007644e-02 6.44005096e-02 3.22002548e-02 8.58673462e-02 4.29336731e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 7.51339279e-02 8.58673462e-02 1.07334183e-01 4.29336731e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 1.07334183e-01 1.28801019e-01 4.29336731e-02 1.07334183e-01 6.44005096e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 1.18067601e-01 6.44005096e-02 5.36670913e-02 2.14668365e-02 4.29336731e-02 1.28801019e-01 4.29336731e-02 7.51339279e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 6.44005096e-02 7.51339279e-02 1.18067601e-01 1.18067601e-01 6.44005096e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 3.22002548e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 1.28801019e-01 1.18067601e-01 5.36670913e-02 6.44005096e-02 2.79068875e-01 1.07334183e-01 7.51339279e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 1.07334183e-01 8.58673462e-02 6.44005096e-02 1.28801019e-01 9.66007644e-02 1.07334183e-01 4.29336731e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 1.28801019e-01 5.36670913e-02 6.44005096e-02 1.39534437e-01 7.51339279e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 1.39534437e-01 9.66007644e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 1.07334183e-01 8.58673462e-02 7.51339279e-02 3.22002548e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 7.51339279e-02 3.22002548e-02 1.07334183e-01 6.44005096e-02 3.22002548e-02 8.58673462e-02 1.50267856e-01 6.44005096e-02 8.58673462e-02 7.51339279e-02 2.14668365e-02 4.29336731e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 1.07334183e-01 8.58673462e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 3.22002548e-02 3.22002548e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 1.28801019e-01 1.07334183e-01 1.18067601e-01 4.29336731e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 2.14668365e-02 6.44005096e-02 4.29336731e-02 9.66007644e-02 9.66007644e-02 8.58673462e-02 1.07334183e-01 3.22002548e-02 1.07334183e-01 7.51339279e-02 1.07334183e-01 6.44005096e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 1.50267856e-01 8.58673462e-02 7.51339279e-02 8.58673462e-02 1.07334183e-02 4.29336731e-02 8.58673462e-02 1.39534437e-01 8.58673462e-02 9.66007644e-02 2.14668365e-02 8.58673462e-02 2.14668365e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 3.22002548e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 1.07334183e-01 5.36670913e-02 1.18067601e-01 5.36670913e-02 2.14668365e-02 7.51339279e-02 5.36670913e-02 4.29336731e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 1.07334183e-01 6.44005096e-02 8.58673462e-02 4.29336731e-02 3.22002548e-02 6.44005096e-02 1.07334183e-01 9.66007644e-02 7.51339279e-02 8.58673462e-02 1.39534437e-01 5.36670913e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 8.58673462e-02 7.51339279e-02 4.29336731e-02 8.58673462e-02 3.22002548e-02 8.58673462e-02 9.66007644e-02 7.51339279e-02 3.22002548e-02 3.22002548e-02 5.36670913e-02 1.18067601e-01 3.22002548e-02 8.58673462e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 9.66007644e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 1.28801019e-01 9.66007644e-02 9.66007644e-02 9.66007644e-02 5.36670913e-02 7.51339279e-02 1.28801019e-01 1.07334183e-01 6.44005096e-02 7.51339279e-02 7.51339279e-02 1.07334183e-02 2.14668365e-02 9.66007644e-02 1.28801019e-01 6.44005096e-02 1.18067601e-01 1.07334183e-01 5.36670913e-02 5.36670913e-02 8.58673462e-02 2.14668365e-02 1.07334183e-02 9.66007644e-02 1.18067601e-01 4.29336731e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 3.22002548e-02 4.29336731e-02 1.18067601e-01 4.29336731e-02 7.51339279e-02 4.29336731e-02 9.66007644e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 2.14668365e-02 8.58673462e-02 3.22002548e-02 1.18067601e-01 6.44005096e-02 1.39534437e-01 5.36670913e-02 6.44005096e-02 1.07334183e-01 7.51339279e-02 9.66007644e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 1.28801019e-01 5.36670913e-02 8.58673462e-02 6.44005096e-02 3.22002548e-02 1.07334183e-01 8.58673462e-02 3.22002548e-02 2.14668365e-02 5.36670913e-02 5.36670913e-02 2.14668365e-02 2.14668365e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 9.66007644e-02 1.18067601e-01 1.18067601e-01 1.18067601e-01 4.29336731e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 1.61001274e-01 3.22002548e-02 6.44005096e-02 3.22002548e-02 9.66007644e-02 3.22002548e-02 7.51339279e-02 1.07334183e-01 4.29336731e-02 5.36670913e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 1.07334183e-01 6.44005096e-02 3.22002548e-02 9.66007644e-02 9.66007644e-02 7.51339279e-02 7.51339279e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 7.51339279e-02 1.39534437e-01 5.36670913e-02 7.51339279e-02 3.22002548e-02 8.58673462e-02 8.58673462e-02 8.58673462e-02 2.14668365e-02 5.36670913e-02 9.66007644e-02 7.51339279e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 1.18067601e-01 5.36670913e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 8.58673462e-02 9.66007644e-02 9.66007644e-02 8.58673462e-02 3.22002548e-02 7.51339279e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 5.36670913e-02 1.07334183e-02 1.18067601e-01 4.29336731e-02 1.07334183e-01 7.51339279e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 9.66007644e-02 2.14668365e-02 1.07334183e-01 8.58673462e-02 4.29336731e-02 1.28801019e-01 7.51339279e-02 9.66007644e-02 1.07334183e-01 8.58673462e-02 5.36670913e-02 8.58673462e-02 7.51339279e-02 4.29336731e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 4.29336731e-02 1.18067601e-01 7.51339279e-02 7.51339279e-02 1.07334183e-01 8.58673462e-02 5.36670913e-02 9.66007644e-02 5.36670913e-02 3.22002548e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 1.28801019e-01 8.58673462e-02 6.44005096e-02 6.44005096e-02 4.29336731e-02 1.50267856e-01 5.36670913e-02 6.44005096e-02 4.29336731e-02 5.36670913e-02 1.18067601e-01 5.36670913e-02 1.28801019e-01 5.36670913e-02 8.58673462e-02 6.44005096e-02 1.18067601e-01 3.22002548e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 3.22002548e-02 3.22002548e-02 1.07334183e-01 1.18067601e-01 6.44005096e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 3.22002548e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 3.22002548e-02 5.36670913e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 1.07334183e-01 5.36670913e-02 8.58673462e-02 1.07334183e-01 7.51339279e-02 8.58673462e-02 6.44005096e-02 1.39534437e-01 7.51339279e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 7.51339279e-02 1.18067601e-01 1.39534437e-01 4.29336731e-02 6.44005096e-02 7.51339279e-02 1.18067601e-01 1.18067601e-01 1.07334183e-01 9.66007644e-02 7.51339279e-02 8.58673462e-02 1.07334183e-01 7.51339279e-02 1.18067601e-01 9.66007644e-02 7.51339279e-02 2.14668365e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 6.44005096e-02 1.07334183e-02 1.07334183e-01 8.58673462e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 1.28801019e-01 5.36670913e-02 6.44005096e-02 6.44005096e-02 1.28801019e-01 9.66007644e-02 3.22002548e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 1.28801019e-01 8.58673462e-02 7.51339279e-02 1.39534437e-01 1.18067601e-01 7.51339279e-02 6.44005096e-02 1.39534437e-01 1.07334183e-01 8.58673462e-02 3.22002548e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 1.07334183e-01 4.29336731e-02 9.66007644e-02 3.22002548e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 1.93201529e-01 7.51339279e-02 1.07334183e-01 7.51339279e-02 8.58673462e-02 3.22002548e-02 1.07334183e-01 9.66007644e-02 1.07334183e-01 9.66007644e-02 9.66007644e-02 8.58673462e-02 8.58673462e-02 1.07334183e-01 7.51339279e-02 1.18067601e-01 9.66007644e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 1.18067601e-01 6.44005096e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 1.07334183e-01 5.36670913e-02 1.07334183e-01 8.58673462e-02 1.28801019e-01 8.58673462e-02 4.29336731e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 9.66007644e-02 1.07334183e-01 8.58673462e-02 8.58673462e-02 8.58673462e-02 7.51339279e-02 3.22002548e-02 4.29336731e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 1.82468111e-01 9.66007644e-02 6.44005096e-02 9.66007644e-02 9.66007644e-02 1.39534437e-01 8.58673462e-02 8.58673462e-02 3.22002548e-02 1.07334183e-01 1.07334183e-01 1.07334183e-02 7.51339279e-02 6.44005096e-02 1.07334183e-01 1.07334183e-01 9.66007644e-02 7.51339279e-02 1.28801019e-01 6.44005096e-02 5.36670913e-02 9.66007644e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 1.18067601e-01 1.71734692e-01 9.66007644e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 1.18067601e-01 4.29336731e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 3.22002548e-02 5.36670913e-02 1.28801019e-01 8.58673462e-02 1.18067601e-01 6.44005096e-02 9.66007644e-02 9.66007644e-02 4.29336731e-02 1.18067601e-01 9.66007644e-02 5.36670913e-02 3.22002548e-02 7.51339279e-02 1.39534437e-01 1.07334183e-01 4.29336731e-02 9.66007644e-02 1.07334183e-01 7.51339279e-02 5.36670913e-02 1.07334183e-01 1.18067601e-01 1.50267856e-01 6.44005096e-02 7.51339279e-02 9.66007644e-02 1.71734692e-01 8.58673462e-02 1.18067601e-01 7.51339279e-02 4.29336731e-02 1.07334183e-01 8.58673462e-02 7.51339279e-02 6.44005096e-02 3.22002548e-02 4.29336731e-02 1.07334183e-01 1.07334183e-01 7.51339279e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 1.18067601e-01 1.71734692e-01 3.22002548e-02 1.18067601e-01 1.50267856e-01 1.07334183e-01 1.18067601e-01 5.36670913e-02 7.51339279e-02 1.61001274e-01 1.61001274e-01 7.51339279e-02 9.66007644e-02 7.51339279e-02 4.29336731e-02 9.66007644e-02 5.36670913e-02 2.14668365e-02 5.36670913e-02 1.07334183e-01 9.66007644e-02 1.18067601e-01 1.18067601e-01 1.28801019e-01 7.51339279e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 1.18067601e-01 6.44005096e-02 6.44005096e-02 4.29336731e-02 9.66007644e-02 7.51339279e-02 1.07334183e-01 1.28801019e-01 7.51339279e-02 1.18067601e-01 7.51339279e-02 9.66007644e-02 5.36670913e-02 5.36670913e-02 9.66007644e-02 6.44005096e-02 1.18067601e-01 9.66007644e-02 6.44005096e-02 1.28801019e-01 7.51339279e-02 9.66007644e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 1.18067601e-01 5.36670913e-02 1.18067601e-01 9.66007644e-02 1.39534437e-01 9.66007644e-02 4.29336731e-02 1.07334183e-01 8.58673462e-02 6.44005096e-02 4.29336731e-02 1.82468111e-01 8.58673462e-02 7.51339279e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 4.29336731e-02 9.66007644e-02 7.51339279e-02 9.66007644e-02 5.36670913e-02 9.66007644e-02 7.51339279e-02 5.36670913e-02 1.28801019e-01 1.07334183e-01 4.29336731e-02 7.51339279e-02 1.07334183e-01 9.66007644e-02 3.22002548e-02 3.22002548e-02 2.14668365e-02 7.51339279e-02 7.51339279e-02 1.61001274e-01 8.58673462e-02 8.58673462e-02 1.28801019e-01 7.51339279e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 1.28801019e-01 6.44005096e-02 8.58673462e-02 1.28801019e-01 1.07334183e-01 7.51339279e-02 4.29336731e-02 9.66007644e-02 6.44005096e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 6.44005096e-02 3.22002548e-02 1.28801019e-01 1.07334183e-01 5.36670913e-02 7.51339279e-02 1.82468111e-01 1.28801019e-01 9.66007644e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 1.39534437e-01 9.66007644e-02 1.18067601e-01 5.36670913e-02 6.44005096e-02 4.29336731e-02 1.07334183e-01 1.18067601e-01 6.44005096e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 5.36670913e-02 9.66007644e-02 2.14668365e-02 9.66007644e-02 1.18067601e-01 9.66007644e-02 3.22002548e-02 1.28801019e-01 9.66007644e-02 9.66007644e-02 5.36670913e-02 1.18067601e-01 9.66007644e-02 6.44005096e-02 9.66007644e-02 9.66007644e-02 5.36670913e-02 9.66007644e-02 9.66007644e-02 8.58673462e-02 3.22002548e-02 9.66007644e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 4.29336731e-02 9.66007644e-02 1.07334183e-01 6.44005096e-02 8.58673462e-02 6.44005096e-02 1.28801019e-01 1.28801019e-01 1.39534437e-01 6.44005096e-02 3.22002548e-02 1.07334183e-01 7.51339279e-02 7.51339279e-02 1.18067601e-01 1.28801019e-01 9.66007644e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 1.39534437e-01 1.18067601e-01 4.29336731e-02 5.36670913e-02 1.28801019e-01 1.61001274e-01 4.29336731e-02 5.36670913e-02 1.18067601e-01 1.28801019e-01 8.58673462e-02 0.00000000e+00 4.29336731e-02 9.66007644e-02 1.18067601e-01 4.29336731e-02 8.58673462e-02 4.29336731e-02 4.29336731e-02 7.51339279e-02 8.58673462e-02 1.18067601e-01 6.44005096e-02 5.36670913e-02 5.36670913e-02 8.58673462e-02 3.22002548e-02 1.18067601e-01 4.29336731e-02 1.50267856e-01 5.36670913e-02 1.18067601e-01 8.58673462e-02 1.28801019e-01 9.66007644e-02 1.07334183e-01 8.58673462e-02 1.18067601e-01 7.51339279e-02 9.66007644e-02 1.07334183e-01 2.03934947e-01 1.18067601e-01 5.36670913e-02 7.51339279e-02 1.18067601e-01 4.29336731e-02 4.29336731e-02 1.18067601e-01 1.07334183e-01 6.44005096e-02 5.36670913e-02 7.51339279e-02 9.66007644e-02 6.44005096e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 1.82468111e-01 1.18067601e-01 9.66007644e-02 4.29336731e-02 9.66007644e-02 1.39534437e-01 5.36670913e-02 4.29336731e-02 8.58673462e-02 4.29336731e-02 6.44005096e-02 8.58673462e-02 1.07334183e-01 9.66007644e-02 5.36670913e-02 1.07334183e-01 9.66007644e-02 6.44005096e-02 9.66007644e-02 1.18067601e-01 8.58673462e-02 1.18067601e-01 7.51339279e-02 1.07334183e-01 9.66007644e-02 8.58673462e-02 1.07334183e-01 9.66007644e-02 1.18067601e-01 4.29336731e-02 1.50267856e-01 7.51339279e-02 7.51339279e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 8.58673462e-02 7.51339279e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 8.58673462e-02 1.18067601e-01 1.07334183e-01 9.66007644e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 4.29336731e-02 9.66007644e-02 1.07334183e-02 9.66007644e-02 1.18067601e-01 1.82468111e-01 6.44005096e-02 9.66007644e-02 7.51339279e-02 1.18067601e-01 1.07334183e-01 1.18067601e-01 5.36670913e-02 7.51339279e-02 4.29336731e-02 4.29336731e-02 1.07334183e-01 1.07334183e-01 2.14668365e-02 7.51339279e-02 1.28801019e-01 1.18067601e-01 8.58673462e-02 1.50267856e-01 9.66007644e-02 7.51339279e-02 8.58673462e-02 4.29336731e-02 7.51339279e-02 1.18067601e-01 8.58673462e-02 9.66007644e-02 8.58673462e-02 1.18067601e-01 9.66007644e-02 7.51339279e-02 3.22002548e-02 1.18067601e-01 5.36670913e-02 3.22002548e-02 1.18067601e-01 4.29336731e-02 9.66007644e-02 1.18067601e-01 1.28801019e-01 2.14668365e-02 1.18067601e-01 3.22002548e-02 4.29336731e-02 3.22002548e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 2.14668365e-01 5.36670913e-02 6.44005096e-02 8.58673462e-02 1.07334183e-01 3.22002548e-02 1.07334183e-01 9.66007644e-02 8.58673462e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 1.50267856e-01 4.29336731e-02 6.44005096e-02 1.28801019e-01 5.36670913e-02 5.36670913e-02 5.36670913e-02 1.50267856e-01 1.07334183e-01 8.58673462e-02 5.36670913e-02 9.66007644e-02 1.18067601e-01 4.29336731e-02 1.07334183e-01 6.44005096e-02 5.36670913e-02 1.28801019e-01 9.66007644e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 1.07334183e-01 1.07334183e-01 8.58673462e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 1.50267856e-01 9.66007644e-02 6.44005096e-02 1.82468111e-01 4.29336731e-02 5.36670913e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 1.28801019e-01 5.36670913e-02 8.58673462e-02 5.36670913e-02 6.44005096e-02 1.28801019e-01 7.51339279e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 8.58673462e-02 1.28801019e-01 6.44005096e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 1.07334183e-01 5.36670913e-02 1.07334183e-01 6.44005096e-02 6.44005096e-02 1.18067601e-01 8.58673462e-02 6.44005096e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 4.29336731e-02 5.36670913e-02 6.44005096e-02 5.36670913e-02 4.29336731e-02 9.66007644e-02 1.50267856e-01 6.44005096e-02 7.51339279e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 7.51339279e-02 3.64936221e-01 6.44005096e-02 1.07334183e-01 9.66007644e-02 1.07334183e-01 8.58673462e-02 9.66007644e-02 9.66007644e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 6.44005096e-02 6.44005096e-02 1.18067601e-01 9.66007644e-02 5.36670913e-02 5.36670913e-02 1.39534437e-01 6.44005096e-02 1.07334183e-01 1.18067601e-01 1.61001274e-01 8.58673462e-02 5.36670913e-02 9.66007644e-02 1.50267856e-01 9.66007644e-02 8.58673462e-02 9.66007644e-02 6.44005096e-02 8.58673462e-02 1.07334183e-01 7.51339279e-02 1.39534437e-01 9.66007644e-02 6.44005096e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 4.29336731e-02 7.51339279e-02 1.28801019e-01 1.28801019e-01 9.66007644e-02 6.44005096e-02 1.18067601e-01 5.36670913e-02 8.58673462e-02 1.18067601e-01 3.22002548e-02 7.51339279e-02 7.51339279e-02 9.66007644e-02 5.36670913e-02 1.18067601e-01 6.44005096e-02 1.18067601e-01 9.66007644e-02 1.07334183e-01 5.36670913e-02 9.66007644e-02 1.07334183e-01 9.66007644e-02 1.28801019e-01 6.44005096e-02 8.58673462e-02 1.61001274e-01 6.44005096e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 1.07334183e-01 4.29336731e-02 8.58673462e-02 9.66007644e-02 8.58673462e-02 7.51339279e-02 1.07334183e-01 5.36670913e-02 9.66007644e-02 1.18067601e-01 1.18067601e-01 1.28801019e-01 7.51339279e-02 7.51339279e-02 7.51339279e-02 5.36670913e-02 1.07334183e-01 8.58673462e-02 8.58673462e-02 5.36670913e-02 1.18067601e-01 1.07334183e-01 1.18067601e-01 7.51339279e-02 1.18067601e-01 6.44005096e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 6.44005096e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 9.66007644e-02 3.22002548e-02 4.29336731e-02 8.58673462e-02 1.07334183e-01 1.07334183e-01 7.51339279e-02 1.07334183e-01 6.44005096e-02 1.07334183e-01 1.07334183e-01 8.58673462e-02 9.66007644e-02 1.18067601e-01 6.44005096e-02 6.44005096e-02 7.51339279e-02 1.07334183e-01 5.36670913e-02 5.36670913e-02 7.51339279e-02 9.66007644e-02 7.51339279e-02 3.22002548e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 1.07334183e-01 7.51339279e-02 1.18067601e-01 1.18067601e-01 5.36670913e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 6.44005096e-02 1.28801019e-01 1.07334183e-01 1.28801019e-01 1.07334183e-01 9.66007644e-02 9.66007644e-02 1.07334183e-01 1.39534437e-01 8.58673462e-02 1.18067601e-01 8.58673462e-02 7.51339279e-02 7.51339279e-02 6.44005096e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 3.22002548e-02 7.51339279e-02 1.28801019e-01 5.36670913e-02 5.36670913e-02 1.07334183e-01 1.07334183e-01 6.44005096e-02 1.50267856e-01 3.22002548e-02 9.66007644e-02 7.51339279e-02 1.28801019e-01 1.07334183e-01 1.28801019e-01 7.51339279e-02 9.66007644e-02 9.66007644e-02 1.39534437e-01 5.36670913e-02 4.29336731e-02 1.07334183e-01 6.44005096e-02 1.28801019e-01 5.36670913e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 5.36670913e-02 7.51339279e-02 1.07334183e-01 5.36670913e-02 4.29336731e-02 1.07334183e-01 9.66007644e-02 1.39534437e-01 5.36670913e-02 5.36670913e-02 4.29336731e-02 5.36670913e-02 3.22002548e-02 1.07334183e-01 5.36670913e-02 1.61001274e-01 6.44005096e-02 6.44005096e-02 4.29336731e-02 1.18067601e-01 4.29336731e-02 8.58673462e-02 8.58673462e-02 1.07334183e-01 8.58673462e-02 4.29336731e-02 4.29336731e-02 8.58673462e-02 1.18067601e-01 4.29336731e-02 9.66007644e-02 1.28801019e-01 8.58673462e-02 1.07334183e-01 1.28801019e-01 3.22002548e-02 8.58673462e-02 1.07334183e-01 6.44005096e-02 1.18067601e-01 7.51339279e-02 1.07334183e-01 1.39534437e-01 7.51339279e-02 8.58673462e-02 1.50267856e-01 1.61001274e-01 5.36670913e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 9.66007644e-02 7.51339279e-02 1.28801019e-01 8.58673462e-02 1.07334183e-01 9.66007644e-02 9.66007644e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 1.07334183e-01 9.66007644e-02 9.66007644e-02 9.66007644e-02 5.36670913e-02 6.44005096e-02 8.58673462e-02 8.58673462e-02 9.66007644e-02 8.58673462e-02 8.58673462e-02 7.51339279e-02 6.44005096e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 1.18067601e-01 1.07334183e-01 1.07334183e-01 1.28801019e-01 9.66007644e-02 6.44005096e-02 1.07334183e-01 1.82468111e-01 7.51339279e-02 1.28801019e-01 3.22002548e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 8.58673462e-02 9.66007644e-02 6.44005096e-02 5.36670913e-02 1.07334183e-01 9.66007644e-02 5.36670913e-02 1.07334183e-01 6.44005096e-02 1.28801019e-01 6.44005096e-02 9.66007644e-02 7.51339279e-02 8.58673462e-02 8.58673462e-02 1.28801019e-01 9.66007644e-02 9.66007644e-02 9.66007644e-02 1.07334183e-01 5.36670913e-02 7.51339279e-02 3.22002548e-02 1.50267856e-01 9.66007644e-02 1.07334183e-01 7.51339279e-02 1.18067601e-01 7.51339279e-02 7.51339279e-02 8.58673462e-02 1.71734692e-01 1.18067601e-01 4.29336731e-02 7.51339279e-02 7.51339279e-02 1.61001274e-01 1.50267856e-01 4.29336731e-02 4.29336731e-02 1.50267856e-01 1.07334183e-01 1.18067601e-01 9.66007644e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 1.28801019e-01 5.36670913e-02 1.93201529e-01 7.51339279e-02 7.51339279e-02 5.36670913e-02 6.44005096e-02 4.29336731e-02 6.44005096e-02 1.07334183e-01 9.66007644e-02 8.58673462e-02 1.18067601e-01 1.39534437e-01 6.44005096e-02 9.66007644e-02 9.66007644e-02 9.66007644e-02 1.18067601e-01 6.44005096e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 6.44005096e-02 1.07334183e-01 8.58673462e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 1.18067601e-01 8.58673462e-02 1.50267856e-01 1.18067601e-01 1.07334183e-01 9.66007644e-02 1.07334183e-01 7.51339279e-02 1.18067601e-01 9.66007644e-02 1.07334183e-01 9.66007644e-02 1.07334183e-01 9.66007644e-02 7.51339279e-02 7.51339279e-02 1.28801019e-01 1.28801019e-01 1.18067601e-01 1.28801019e-01 1.28801019e-01 1.07334183e-01 9.66007644e-02 6.44005096e-02 5.36670913e-02 8.58673462e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 1.39534437e-01 1.28801019e-01 1.18067601e-01 5.36670913e-02 1.39534437e-01 9.66007644e-02 1.07334183e-01 1.07334183e-01 6.44005096e-02 6.44005096e-02 6.44005096e-02 1.39534437e-01 1.07334183e-01 1.39534437e-01 9.66007644e-02 5.36670913e-02 6.44005096e-02 1.07334183e-01 1.39534437e-01 1.50267856e-01 5.36670913e-02 3.22002548e-02 4.29336731e-02 5.36670913e-02 5.36670913e-02 1.18067601e-01 1.18067601e-01 1.07334183e-01 7.51339279e-02 7.51339279e-02 6.44005096e-02 1.18067601e-01 1.28801019e-01 1.28801019e-01 1.61001274e-01 1.50267856e-01 6.44005096e-02 6.44005096e-02 1.28801019e-01 1.39534437e-01 1.28801019e-01 7.51339279e-02 1.28801019e-01 1.39534437e-01 9.66007644e-02 9.66007644e-02 5.36670913e-02 9.66007644e-02 9.66007644e-02 1.18067601e-01 1.07334183e-01 1.07334183e-01 6.44005096e-02 1.07334183e-01 4.29336731e-02 6.44005096e-02 7.51339279e-02 9.66007644e-02 5.36670913e-02 1.18067601e-01 1.18067601e-01 2.14668365e-02 9.66007644e-02 8.58673462e-02 1.71734692e-01 9.66007644e-02 1.07334183e-01 9.66007644e-02 7.51339279e-02 5.36670913e-02 8.58673462e-02 1.28801019e-01 7.51339279e-02 1.39534437e-01 8.58673462e-02 1.61001274e-01 1.07334183e-01 7.51339279e-02 8.58673462e-02 9.66007644e-02 4.29336731e-02 8.58673462e-02 5.36670913e-02 1.18067601e-01 5.36670913e-02 4.29336731e-02 4.29336731e-02 1.82468111e-01 1.28801019e-01 7.51339279e-02 1.39534437e-01 1.18067601e-01 7.51339279e-02 1.50267856e-01 8.58673462e-02 1.50267856e-01 7.51339279e-02 8.58673462e-02 7.51339279e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 6.44005096e-02 8.58673462e-02 1.28801019e-01 1.28801019e-01 7.51339279e-02 4.29336731e-02 1.61001274e-01 3.22002548e-02 9.66007644e-02 1.07334183e-01 1.39534437e-01 8.58673462e-02 8.58673462e-02 9.66007644e-02 8.58673462e-02 8.58673462e-02 2.14668365e-01 6.44005096e-02 1.07334183e-01 7.51339279e-02 7.51339279e-02 1.07334183e-01 9.66007644e-02 1.28801019e-01 4.29336731e-02 9.66007644e-02 7.51339279e-02 6.44005096e-02 1.07334183e-01 6.44005096e-02 6.44005096e-02 9.66007644e-02 1.39534437e-01 7.51339279e-02 8.58673462e-02 1.07334183e-01 3.22002548e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 1.50267856e-01 5.36670913e-02 6.44005096e-02 1.50267856e-01 1.07334183e-01 1.39534437e-01 8.58673462e-02 8.58673462e-02 3.22002548e-02 8.58673462e-02 1.07334183e-01 1.39534437e-01 4.29336731e-02 6.44005096e-02 9.66007644e-02 5.36670913e-02 8.58673462e-02 9.66007644e-02 1.07334183e-01 7.51339279e-02 7.51339279e-02 7.51339279e-02 9.66007644e-02 1.82468111e-01 9.66007644e-02 1.18067601e-01 1.28801019e-01 5.36670913e-02 1.28801019e-01 8.58673462e-02 1.50267856e-01 1.07334183e-01 1.07334183e-01 9.66007644e-02 1.28801019e-01 7.51339279e-02 1.07334183e-01 5.36670913e-02 1.50267856e-01 1.18067601e-01 1.07334183e-01 1.07334183e-01 1.50267856e-01 5.36670913e-02 6.44005096e-02 1.18067601e-01 8.58673462e-02 9.66007644e-02 7.51339279e-02 7.51339279e-02 8.58673462e-02 5.36670913e-02 4.29336731e-02 1.07334183e-01 3.22002548e-02 8.58673462e-02 3.22002548e-02 9.66007644e-02 1.07334183e-01 1.28801019e-01 1.28801019e-01 6.44005096e-02 6.44005096e-02 3.22002548e-02 6.44005096e-02 7.51339279e-02 7.51339279e-02 1.07334183e-01 9.66007644e-02 9.66007644e-02 8.58673462e-02 6.44005096e-02 1.07334183e-01 8.58673462e-02 6.44005096e-02 9.66007644e-02 1.07334183e-01 1.28801019e-01 9.66007644e-02 7.51339279e-02 8.58673462e-02 8.58673462e-02 1.61001274e-01 7.51339279e-02 7.51339279e-02 5.36670913e-02 1.39534437e-01 1.28801019e-01 9.66007644e-02 8.58673462e-02 3.22002548e-02 6.44005096e-02 4.29336731e-02 1.28801019e-01 5.36670913e-02 8.58673462e-02 9.66007644e-02 8.58673462e-02 1.50267856e-01 8.58673462e-02 6.44005096e-02 1.61001274e-01 6.44005096e-02 8.58673462e-02 1.28801019e-01 4.29336731e-02 1.93201529e-01 8.58673462e-02 8.58673462e-02 1.28801019e-01 5.36670913e-02 1.61001274e-01 1.61001274e-01 9.66007644e-02 1.28801019e-01 1.07334183e-01 8.58673462e-02 6.44005096e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 5.36670913e-02 1.39534437e-01 6.44005096e-02 4.29336731e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 9.66007644e-02 5.36670913e-02 4.29336731e-02 8.58673462e-02 6.44005096e-02 1.07334183e-01 8.58673462e-02 9.66007644e-02 8.58673462e-02 9.66007644e-02 7.51339279e-02 1.39534437e-01 1.07334183e-01 6.44005096e-02 1.39534437e-01 4.29336731e-02 1.18067601e-01 9.66007644e-02 9.66007644e-02 1.18067601e-01 1.07334183e-01 1.39534437e-01 1.07334183e-01 7.51339279e-02 2.36135202e-01 1.50267856e-01 9.66007644e-02 9.66007644e-02 1.07334183e-01 1.07334183e-01 8.58673462e-02 5.36670913e-02 1.18067601e-01 1.28801019e-01 1.39534437e-01 1.71734692e-01 1.18067601e-01 1.07334183e-01 8.58673462e-02 1.18067601e-01 9.66007644e-02 6.44005096e-02 8.58673462e-02 1.61001274e-01 1.28801019e-01 7.51339279e-02 7.51339279e-02 1.28801019e-01 1.07334183e-01 3.22002548e-02 1.39534437e-01 1.28801019e-01 8.58673462e-02 8.58673462e-02 1.28801019e-01 1.50267856e-01 5.36670913e-02 6.44005096e-02 7.51339279e-02 9.66007644e-02 1.28801019e-01 1.07334183e-01 1.18067601e-01 1.39534437e-01 8.58673462e-02 3.22002548e-02 1.39534437e-01 1.39534437e-01 1.39534437e-01 4.29336731e-02 9.66007644e-02 9.66007644e-02 5.36670913e-02 9.66007644e-02 1.50267856e-01 1.07334183e-01 1.18067601e-01 3.22002548e-02 1.39534437e-01 6.44005096e-02 9.66007644e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 1.18067601e-01 8.58673462e-02 9.66007644e-02 1.18067601e-01 1.18067601e-01 6.44005096e-02 6.44005096e-02 5.36670913e-02 7.51339279e-02 8.58673462e-02 2.14668365e-01 1.28801019e-01 1.82468111e-01 1.07334183e-01 1.28801019e-01 1.18067601e-01 1.61001274e-01 1.61001274e-01 1.28801019e-01 5.36670913e-02 1.18067601e-01 1.18067601e-01 5.36670913e-02 1.39534437e-01 7.51339279e-02 2.14668365e-02 1.71734692e-01 1.07334183e-01 7.51339279e-02 7.51339279e-02 3.22002548e-02 9.66007644e-02 1.28801019e-01 6.44005096e-02 1.18067601e-01 5.36670913e-02 1.28801019e-01 1.28801019e-01 7.51339279e-02 5.36670913e-02 1.50267856e-01 7.51339279e-02 1.18067601e-01 5.36670913e-02 8.58673462e-02 7.51339279e-02 1.39534437e-01 1.07334183e-01 1.39534437e-01 1.28801019e-01 7.51339279e-02 8.58673462e-02 1.07334183e-01 9.66007644e-02 1.07334183e-01 9.66007644e-02 1.07334183e-01 6.44005096e-02 1.07334183e-01 1.18067601e-01 1.07334183e-01 5.36670913e-02 7.51339279e-02 1.18067601e-01 1.18067601e-01 9.66007644e-02 8.58673462e-02 8.58673462e-02 5.36670913e-02 8.58673462e-02 1.18067601e-01 9.66007644e-02 7.51339279e-02 1.18067601e-01 4.29336731e-02 8.58673462e-02 1.28801019e-01 1.39534437e-01 8.58673462e-02 1.28801019e-01 1.39534437e-01 1.50267856e-01 9.66007644e-02 9.66007644e-02 1.61001274e-01 8.58673462e-02 1.18067601e-01 9.66007644e-02 7.51339279e-02 6.44005096e-02 1.18067601e-01 4.29336731e-02 1.07334183e-01 1.61001274e-01 5.36670913e-02 1.28801019e-01 3.22002548e-02 1.61001274e-01 9.66007644e-02 6.44005096e-02 1.28801019e-01 5.36670913e-02 1.07334183e-01 8.58673462e-02 1.71734692e-01 1.07334183e-01 7.51339279e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 1.39534437e-01 5.36670913e-02 9.66007644e-02 6.44005096e-02 6.44005096e-02 5.36670913e-02 1.28801019e-01 1.07334183e-01 7.51339279e-02 6.44005096e-02 1.07334183e-01 1.18067601e-01 1.18067601e-01 8.58673462e-02 9.66007644e-02 1.71734692e-01 1.39534437e-01 9.66007644e-02 7.51339279e-02 1.18067601e-01 1.07334183e-01 8.58673462e-02 5.36670913e-02 6.44005096e-02 1.07334183e-01 1.39534437e-01 1.18067601e-01 9.66007644e-02 1.18067601e-01 1.71734692e-01 1.18067601e-01 7.51339279e-02 4.29336731e-02 1.28801019e-01 1.28801019e-01 9.66007644e-02 9.66007644e-02 8.58673462e-02 1.07334183e-01 1.07334183e-01 8.58673462e-02 9.66007644e-02 1.18067601e-01 5.36670913e-02 7.51339279e-02 8.58673462e-02 8.58673462e-02 1.07334183e-01 1.18067601e-01 9.66007644e-02 7.51339279e-02 6.44005096e-02 8.58673462e-02 1.28801019e-01 8.58673462e-02 1.07334183e-01 8.58673462e-02 9.66007644e-02 1.18067601e-01 1.71734692e-01 1.18067601e-01 1.61001274e-01 8.58673462e-02 1.28801019e-01 7.51339279e-02 1.39534437e-01 1.50267856e-01 1.07334183e-01 1.18067601e-01 1.07334183e-01 1.39534437e-01 4.29336731e-02 6.44005096e-02 1.61001274e-01 5.36670913e-02 5.36670913e-02 1.07334183e-01 9.66007644e-02 1.28801019e-01 1.07334183e-01 8.58673462e-02 1.39534437e-01 1.07334183e-01 1.50267856e-01 8.58673462e-02 1.28801019e-01 9.66007644e-02 1.07334183e-01 4.29336731e-02 1.39534437e-01 8.58673462e-02 5.36670913e-02 5.36670913e-02 1.50267856e-01 1.18067601e-01 1.07334183e-01 3.22002548e-02 1.07334183e-01 5.36670913e-02 7.51339279e-02 1.39534437e-01 1.28801019e-01 1.28801019e-01 5.36670913e-02 7.51339279e-02 1.07334183e-01 1.28801019e-01 1.50267856e-01 4.29336731e-02 7.51339279e-02 1.28801019e-01 5.36670913e-02 7.51339279e-02 1.07334183e-01 1.18067601e-01 1.07334183e-01 1.07334183e-01 9.66007644e-02 6.44005096e-02 1.50267856e-01 1.28801019e-01 1.07334183e-01 1.18067601e-01 1.18067601e-01 9.66007644e-02 1.07334183e-01 1.18067601e-01 1.28801019e-01 8.58673462e-02 1.18067601e-01 1.50267856e-01 6.44005096e-02 8.58673462e-02 6.44005096e-02 1.07334183e-01 8.58673462e-02 9.66007644e-02 9.66007644e-02 8.58673462e-02 9.66007644e-02 1.07334183e-01 9.66007644e-02 9.66007644e-02 9.66007644e-02 9.66007644e-02 1.28801019e-01 1.07334183e-01 1.39534437e-01 9.66007644e-02 8.58673462e-02 9.66007644e-02 7.51339279e-02 1.28801019e-01 8.58673462e-02 9.66007644e-02 3.22002548e-02 8.58673462e-02 1.28801019e-01 9.66007644e-02 9.66007644e-02 1.07334183e-01 1.18067601e-01 9.66007644e-02 1.07334183e-01 1.07334183e-01 1.28801019e-01 1.93201529e-01 1.50267856e-01 1.93201529e-01 1.50267856e-01 1.61001274e-01 1.61001274e-01 1.28801019e-01 7.51339279e-02 1.18067601e-01 9.66007644e-02 1.28801019e-01 1.18067601e-01 7.51339279e-02 9.66007644e-02 1.71734692e-01 1.39534437e-01 1.61001274e-01 1.50267856e-01 8.58673462e-02 1.28801019e-01 1.28801019e-01 1.07334183e-01 1.61001274e-01 1.50267856e-01 1.50267856e-01 1.18067601e-01 1.28801019e-01 1.07334183e-01 1.07334183e-01 1.18067601e-01 9.66007644e-02 1.50267856e-01 2.03934947e-01 6.44005096e-02 9.66007644e-02 1.18067601e-01 6.44005096e-02 1.18067601e-01 6.44005096e-02 8.58673462e-02 8.58673462e-02 9.66007644e-02 5.36670913e-02 1.07334183e-01 1.39534437e-01 7.51339279e-02 1.39534437e-01 6.44005096e-02 8.58673462e-02 8.58673462e-02 9.66007644e-02 1.07334183e-01 3.22002548e-02 1.93201529e-01 1.28801019e-01 1.07334183e-01 1.07334183e-01 9.66007644e-02 8.58673462e-02 1.71734692e-01 1.39534437e-01 8.58673462e-02 5.36670913e-02 5.36670913e-02 5.36670913e-02 6.44005096e-02 9.66007644e-02 8.58673462e-02 1.39534437e-01 1.18067601e-01 1.71734692e-01 1.61001274e-01 5.36670913e-02 1.39534437e-01 1.07334183e-01 9.66007644e-02 1.39534437e-01 1.71734692e-01 5.36670913e-02 9.66007644e-02 8.58673462e-02 6.44005096e-02 1.39534437e-01 8.58673462e-02 1.50267856e-01 8.58673462e-02 1.50267856e-01 5.36670913e-02 8.58673462e-02 1.07334183e-01 7.51339279e-02 1.50267856e-01 8.58673462e-02 4.29336731e-02 1.28801019e-01 6.44005096e-02 1.18067601e-01 7.51339279e-02 1.07334183e-01 1.28801019e-01 1.28801019e-01 1.28801019e-01 6.44005096e-02 1.18067601e-01 1.28801019e-01 1.82468111e-01 1.39534437e-01 8.58673462e-02 1.07334183e-01 1.50267856e-01 9.66007644e-02 1.28801019e-01 8.58673462e-02 1.18067601e-01 1.07334183e-01 7.51339279e-02 5.36670913e-02 2.36135202e-01 9.66007644e-02 2.89802293e-01 1.71734692e-01 7.51339279e-02 7.51339279e-02 5.36670913e-02 7.51339279e-02 4.29336731e-02 7.51339279e-02 1.61001274e-01 1.07334183e-01 1.28801019e-01 5.36670913e-02 1.07334183e-01 1.18067601e-01 1.28801019e-01 8.58673462e-02 5.36670913e-02 3.22002548e-02 1.39534437e-01 7.51339279e-02 1.07334183e-01 8.58673462e-02 8.58673462e-02 6.44005096e-02 1.39534437e-01 1.18067601e-01 9.66007644e-02 1.28801019e-01 1.28801019e-01 1.28801019e-01 4.29336731e-02 8.58673462e-02 9.66007644e-02 1.07334183e-01 7.51339279e-02 1.18067601e-01 8.58673462e-02 1.28801019e-01 7.51339279e-02 1.39534437e-01 1.18067601e-01 7.51339279e-02 1.50267856e-01 1.71734692e-01 1.61001274e-01 1.61001274e-01 7.51339279e-02 1.28801019e-01 1.61001274e-01 9.66007644e-02 8.58673462e-02 1.93201529e-01 1.82468111e-01 1.18067601e-01 1.07334183e-01 1.71734692e-01 1.61001274e-01 9.66007644e-02 9.66007644e-02 1.07334183e-01 9.66007644e-02 8.58673462e-02 1.18067601e-01 8.58673462e-02 1.50267856e-01 1.61001274e-01 1.18067601e-01 1.28801019e-01 1.07334183e-01 6.44005096e-02 9.66007644e-02 1.93201529e-01 1.39534437e-01 9.66007644e-02 1.18067601e-01 1.61001274e-01 1.18067601e-01 1.39534437e-01 1.28801019e-01 9.66007644e-02 1.07334183e-01 1.07334183e-01 1.18067601e-01 7.51339279e-02 6.44005096e-02 8.58673462e-02 1.50267856e-01 1.50267856e-01 1.07334183e-01 1.50267856e-01 1.50267856e-01 1.07334183e-01 1.28801019e-01 4.29336731e-02 8.58673462e-02 1.39534437e-01 1.18067601e-01 1.28801019e-01 6.44005096e-02 1.18067601e-01 1.39534437e-01 1.39534437e-01 1.28801019e-01 1.07334183e-01 8.58673462e-02 9.66007644e-02 9.66007644e-02 1.07334183e-01 1.39534437e-01 1.28801019e-01 1.93201529e-01 1.50267856e-01 1.07334183e-01 1.39534437e-01 1.18067601e-01 6.44005096e-02 7.51339279e-02 1.82468111e-01 1.28801019e-01 6.44005096e-02 9.66007644e-02 1.18067601e-01 8.58673462e-02 1.28801019e-01 1.07334183e-01 1.18067601e-01 6.44005096e-02 7.51339279e-02 1.39534437e-01 7.51339279e-02 1.50267856e-01 8.58673462e-02 9.66007644e-02 1.82468111e-01 1.82468111e-01 9.66007644e-02 1.07334183e-01 1.18067601e-01 8.58673462e-02 1.50267856e-01 1.39534437e-01 9.66007644e-02 1.39534437e-01 1.07334183e-01 1.18067601e-01 1.18067601e-01 1.61001274e-01 1.18067601e-01 9.66007644e-02 1.93201529e-01 2.03934947e-01 1.61001274e-01 4.29336731e-02 9.66007644e-02 8.58673462e-02 9.66007644e-02 7.51339279e-02 3.11269130e-01 1.07334183e-01 7.51339279e-02 1.93201529e-01 7.51339279e-02 1.61001274e-01 9.66007644e-02 1.39534437e-01 9.66007644e-02 9.66007644e-02 1.28801019e-01 1.71734692e-01 1.07334183e-01 9.66007644e-02 6.44005096e-02 1.82468111e-01 9.66007644e-02 1.28801019e-01 1.07334183e-01 1.93201529e-01 2.03934947e-01 1.07334183e-01 1.18067601e-01 6.44005096e-02 8.58673462e-02 1.28801019e-01 7.51339279e-02 6.44005096e-02 8.58673462e-02 1.07334183e-01 8.58673462e-02 9.66007644e-02 7.51339279e-02 7.51339279e-02 9.66007644e-02 1.18067601e-01 2.68335457e-01 1.50267856e-01 1.50267856e-01 1.28801019e-01 8.58673462e-02 1.07334183e-01 9.66007644e-02 8.58673462e-02 9.66007644e-02 1.28801019e-01 1.61001274e-01 2.14668365e-01 1.18067601e-01 3.22002548e-02 6.44005096e-02 7.51339279e-02 1.82468111e-01 8.58673462e-02 1.71734692e-01 8.58673462e-02 1.61001274e-01 6.44005096e-02 9.66007644e-02 1.39534437e-01 5.36670913e-02 8.58673462e-02 1.50267856e-01 1.50267856e-01 1.50267856e-01 8.58673462e-02 1.39534437e-01 6.44005096e-02 8.58673462e-02 1.28801019e-01 1.50267856e-01 6.44005096e-02 1.93201529e-01 8.58673462e-02 1.39534437e-01 8.58673462e-02 1.50267856e-01 1.18067601e-01 1.07334183e-01 1.61001274e-01 1.07334183e-01 1.07334183e-01 5.36670913e-02 8.58673462e-02 1.61001274e-01 1.39534437e-01 1.07334183e-01 6.44005096e-02 6.44005096e-02 1.39534437e-01 1.28801019e-01 9.66007644e-02 1.07334183e-01 9.66007644e-02 7.51339279e-02 2.46868620e-01 6.44005096e-02 7.51339279e-02 9.66007644e-02 1.50267856e-01 9.66007644e-02 7.51339279e-02 8.58673462e-02 1.07334183e-01 2.03934947e-01 9.66007644e-02 1.07334183e-01 1.07334183e-01 1.07334183e-01 1.07334183e-01 1.28801019e-01 1.50267856e-01 3.97136476e-01 1.71734692e-01 9.66007644e-02 9.66007644e-02 1.07334183e-01 1.07334183e-01 1.61001274e-01 1.28801019e-01 8.58673462e-02 9.66007644e-02 6.44005096e-02 1.18067601e-01 4.29336731e-02 1.39534437e-01 1.50267856e-01 1.61001274e-01 1.39534437e-01 1.93201529e-01 1.28801019e-01 1.28801019e-01 9.66007644e-02 7.51339279e-02 8.58673462e-02 1.61001274e-01 1.28801019e-01 6.44005096e-02 7.51339279e-02 9.66007644e-02 9.66007644e-02 6.44005096e-02 1.28801019e-01 1.50267856e-01 1.50267856e-01 3.22002548e-02 1.82468111e-01 6.44005096e-02 5.36670913e-02 1.07334183e-01 1.28801019e-01 7.51339279e-02 5.36670913e-02 8.58673462e-02 6.44005096e-02 6.44005096e-01 9.66007644e-02 8.58673462e-02 4.29336731e-02 1.28801019e-01 1.61001274e-01 1.61001274e-01 1.50267856e-01 1.07334183e-01 1.39534437e-01 7.51339279e-02 1.07334183e-01 6.44005096e-02 1.61001274e-01 8.58673462e-02 1.39534437e-01 9.66007644e-02 1.39534437e-01 1.07334183e-01 1.18067601e-01 1.18067601e-01 6.44005096e-02 1.28801019e-01 9.66007644e-02 1.28801019e-01 1.07334183e-01 1.18067601e-01 1.50267856e-01 1.39534437e-01 1.82468111e-01 1.28801019e-01 1.50267856e-01 5.36670913e-02 1.39534437e-01 1.18067601e-01 1.07334183e-01 7.51339279e-02 1.07334183e-01 1.71734692e-01 1.18067601e-01 9.66007644e-02 9.66007644e-02 1.28801019e-01 5.36670913e-02 8.58673462e-02 8.58673462e-02 1.71734692e-01 1.71734692e-01 1.28801019e-01 1.18067601e-01 5.36670913e-02 1.18067601e-01 1.71734692e-01 1.50267856e-01 6.44005096e-02 1.50267856e-01 1.18067601e-01 1.07334183e-01 1.71734692e-01 8.58673462e-02 7.51339279e-02 1.18067601e-01 1.18067601e-01 1.18067601e-01 7.51339279e-02 1.07334183e-01 8.58673462e-02 1.28801019e-01 7.51339279e-02 5.36670913e-02 1.07334183e-01 1.07334183e-01 2.14668365e-01 1.50267856e-01 9.66007644e-02 8.58673462e-02 1.61001274e-01 1.50267856e-01 9.66007644e-02 8.58673462e-02 9.66007644e-02 1.07334183e-01 1.28801019e-01 1.61001274e-01 1.07334183e-01 1.07334183e-01 1.39534437e-01 1.61001274e-01 1.28801019e-01 1.18067601e-01 1.28801019e-01 1.82468111e-01 1.61001274e-01 8.58673462e-02 7.51339279e-02 1.28801019e-01 1.28801019e-01 9.66007644e-02 8.58673462e-02 6.44005096e-02 9.66007644e-02 7.51339279e-02 1.50267856e-01 1.71734692e-01 2.03934947e-01 1.18067601e-01 2.14668365e-01 5.36670913e-02 9.66007644e-02 9.66007644e-02 1.61001274e-01 5.36670913e-02 1.18067601e-01 1.28801019e-01 7.51339279e-02 1.82468111e-01 1.28801019e-01 8.58673462e-02 9.66007644e-02 1.39534437e-01 5.36670913e-02 1.50267856e-01 1.50267856e-01 1.18067601e-01 8.58673462e-02 7.51339279e-02 1.07334183e-01 9.66007644e-02 1.28801019e-01 8.58673462e-02 1.50267856e-01 1.82468111e-01 1.28801019e-01 1.28801019e-01 1.28801019e-01 7.51339279e-02 1.18067601e-01 8.58673462e-02 1.07334183e-01 1.39534437e-01 6.44005096e-02 1.39534437e-01 1.39534437e-01 9.66007644e-02 8.58673462e-02 1.07334183e-01 1.18067601e-01 1.28801019e-01 8.58673462e-02 1.61001274e-01 7.51339279e-02 1.39534437e-01 1.07334183e-01 6.44005096e-02 1.39534437e-01 1.82468111e-01 7.51339279e-02 1.61001274e-01 8.58673462e-02 1.93201529e-01 7.51339279e-02 1.28801019e-01 9.66007644e-02 1.07334183e-01 8.58673462e-02 1.39534437e-01 1.07334183e-01 1.18067601e-01 1.18067601e-01 1.50267856e-01 1.61001274e-01 1.28801019e-01 1.61001274e-01 1.28801019e-01 7.51339279e-02 1.18067601e-01 7.51339279e-02 9.66007644e-02 1.28801019e-01 2.03934947e-01 1.07334183e-01 1.39534437e-01 6.44005096e-02 8.58673462e-02 1.71734692e-01 1.61001274e-01 1.07334183e-01 1.39534437e-01 9.66007644e-02 7.51339279e-02 8.58673462e-02 7.51339279e-02 1.82468111e-01 7.51339279e-02 1.28801019e-01 1.18067601e-01 1.28801019e-01 1.39534437e-01 1.18067601e-01 1.18067601e-01 1.50267856e-01 1.82468111e-01 1.93201529e-01 1.07334183e-01 1.28801019e-01 9.66007644e-02 1.61001274e-01 8.58673462e-02 9.66007644e-02 1.28801019e-01 2.03934947e-01 1.39534437e-01 8.58673462e-02 1.07334183e-01 8.58673462e-02 1.39534437e-01 1.18067601e-01 5.36670913e-02 1.18067601e-01 1.18067601e-01 1.61001274e-01 1.28801019e-01 7.51339279e-02 9.66007644e-02 2.14668365e-01 9.66007644e-02 2.03934947e-01 1.18067601e-01 1.18067601e-01 8.58673462e-02 1.39534437e-01 1.28801019e-01 1.07334183e-01 1.07334183e-01 7.51339279e-02 1.39534437e-01 8.58673462e-02 1.82468111e-01 1.39534437e-01 1.18067601e-01 2.03934947e-01 1.39534437e-01 1.18067601e-01 1.61001274e-01 1.61001274e-01 8.58673462e-02 1.71734692e-01 1.07334183e-01 9.66007644e-02 1.07334183e-01 7.51339279e-02 1.28801019e-01 1.71734692e-01 6.44005096e-02 1.39534437e-01 1.28801019e-01 6.44005096e-02 6.44005096e-02 8.58673462e-02 1.18067601e-01 1.28801019e-01 8.58673462e-02 1.39534437e-01 1.28801019e-01 1.07334183e-01 1.18067601e-01 1.07334183e-01 1.50267856e-01 6.44005096e-02 8.58673462e-02 1.07334183e-01 1.82468111e-01 1.18067601e-01 2.25401784e-01 9.66007644e-02 9.66007644e-02 1.18067601e-01 5.36670913e-02 1.82468111e-01 1.82468111e-01 9.66007644e-02 1.39534437e-01 4.29336731e-02 1.18067601e-01 1.28801019e-01 1.07334183e-01 1.18067601e-01 1.07334183e-01 1.61001274e-01 9.66007644e-02 1.82468111e-01 1.28801019e-01 1.71734692e-01 9.66007644e-02 1.82468111e-01 5.36670913e-02 1.39534437e-01 1.18067601e-01 1.93201529e-01 1.61001274e-01 9.66007644e-02 1.50267856e-01 1.07334183e-01 1.61001274e-01 8.58673462e-02 1.18067601e-01 1.28801019e-01 1.28801019e-01 1.50267856e-01 1.82468111e-01 7.51339279e-02 1.18067601e-01 1.28801019e-01 1.07334183e-01 1.82468111e-01 1.61001274e-01 1.39534437e-01 6.44005096e-02 9.66007644e-02 2.03934947e-01 1.07334183e-01 1.50267856e-01 1.71734692e-01 1.61001274e-01 1.50267856e-01 9.66007644e-02 1.18067601e-01 1.28801019e-01 1.39534437e-01 1.18067601e-01 1.18067601e-01 1.39534437e-01 1.93201529e-01 2.03934947e-01 1.61001274e-01 1.28801019e-01 5.36670913e-02 7.51339279e-02 1.28801019e-01 3.11269130e-01 1.07334183e-01 9.66007644e-02 9.66007644e-02 7.51339279e-02 6.44005096e-02 9.66007644e-02 1.61001274e-01 1.82468111e-01 8.58673462e-02 1.50267856e-01 8.58673462e-02 1.39534437e-01 6.44005096e-02 1.93201529e-01 1.61001274e-01 1.07334183e-01 1.18067601e-01 7.51339279e-02 2.89802293e-01 4.29336731e-02 1.50267856e-01 9.66007644e-02 1.28801019e-01 1.18067601e-01 1.18067601e-01 9.66007644e-02 9.66007644e-02 8.58673462e-02 9.66007644e-02 1.28801019e-01 1.39534437e-01 1.18067601e-01 9.66007644e-02 8.58673462e-02 1.07334183e-01 1.39534437e-01 2.03934947e-01 1.28801019e-01 1.18067601e-01 1.82468111e-01 1.71734692e-01 1.28801019e-01 1.39534437e-01 2.46868620e-01 1.39534437e-01 1.93201529e-01 8.58673462e-02 7.51339279e-02 5.36670913e-02 9.66007644e-02 1.50267856e-01 5.36670913e-02 1.50267856e-01 9.66007644e-02 1.39534437e-01 6.44005096e-02 9.66007644e-02 1.50267856e-01 1.50267856e-01 1.28801019e-01 1.28801019e-01 1.39534437e-01 1.07334183e-01 1.71734692e-01 1.07334183e-01 7.51339279e-02 1.71734692e-01 1.28801019e-01 1.82468111e-01 1.61001274e-01 8.58673462e-02 8.58673462e-02 5.36670913e-02 1.50267856e-01 1.82468111e-01 8.58673462e-02 1.82468111e-01 8.58673462e-02 2.46868620e-01 1.39534437e-01 7.51339279e-02 9.66007644e-02 1.18067601e-01 1.61001274e-01 1.07334183e-01 1.39534437e-01 1.18067601e-01 1.61001274e-01 1.28801019e-01 1.28801019e-01 1.18067601e-01 3.22002548e-02 2.25401784e-01 1.39534437e-01 1.07334183e-02 1.50267856e-01 2.36135202e-01 7.51339279e-02 9.66007644e-02 1.82468111e-01 1.50267856e-01 1.18067601e-01 7.51339279e-02 1.07334183e-01 1.39534437e-01 1.28801019e-01 1.50267856e-01 2.03934947e-01 1.93201529e-01 1.39534437e-01 1.61001274e-01 6.44005096e-02 1.07334183e-01 3.32735966e-01 1.18067601e-01 1.61001274e-01 1.18067601e-01 1.39534437e-01 1.50267856e-01 1.82468111e-01 1.39534437e-01 1.61001274e-01 6.44005096e-02 1.61001274e-01 1.07334183e-01 1.18067601e-01 9.66007644e-02 1.07334183e-01 1.07334183e-01 1.50267856e-01 1.50267856e-01 1.93201529e-01 9.66007644e-02 1.71734692e-01 1.07334183e-01 1.28801019e-01 1.61001274e-01 1.61001274e-01 2.46868620e-01 1.18067601e-01 7.51339279e-02 8.58673462e-02 1.61001274e-01 1.50267856e-01 1.50267856e-01 9.66007644e-02 9.66007644e-02 1.82468111e-01 1.82468111e-01 1.39534437e-01 9.66007644e-02 4.29336731e-02 6.44005096e-02 1.39534437e-01 2.46868620e-01 1.39534437e-01 1.28801019e-01 1.18067601e-01 1.28801019e-01 1.07334183e-01 1.18067601e-01 1.07334183e-01 1.39534437e-01 1.18067601e-01 1.50267856e-01 1.82468111e-01 1.39534437e-01 9.66007644e-02 5.36670913e-02 7.51339279e-02 1.50267856e-01 1.50267856e-01 1.28801019e-01 8.58673462e-02 1.07334183e-01 1.18067601e-01 7.51339279e-02 1.93201529e-01 2.89802293e-01 1.28801019e-01 1.18067601e-01 1.07334183e-01 1.28801019e-01 1.61001274e-01 1.39534437e-01 8.58673462e-02 8.58673462e-02 8.58673462e-02 9.66007644e-02 1.18067601e-01 1.07334183e-01 1.61001274e-01 8.58673462e-02 2.36135202e-01 1.71734692e-01 1.61001274e-01 1.39534437e-01 6.44005096e-02 2.36135202e-01 1.61001274e-01 8.58673462e-02 1.07334183e-01 8.58673462e-02 1.71734692e-01 1.28801019e-01 1.28801019e-01 1.07334183e-01 1.28801019e-01 1.07334183e-01 1.50267856e-01 8.58673462e-02 7.51339279e-02 1.61001274e-01 1.39534437e-01 1.93201529e-01 1.93201529e-01 1.50267856e-01 2.25401784e-01 9.66007644e-02 9.66007644e-02 1.61001274e-01 9.66007644e-02 2.14668365e-01 2.14668365e-01 7.51339279e-02 1.18067601e-01 1.61001274e-01 1.61001274e-01 1.50267856e-01 1.39534437e-01 1.18067601e-01 1.07334183e-01 1.18067601e-01 1.39534437e-01 1.93201529e-01 2.25401784e-01 1.28801019e-01 8.58673462e-02 9.66007644e-02 2.03934947e-01 6.44005096e-02 7.51339279e-02 1.82468111e-01 1.71734692e-01 1.61001274e-01 1.18067601e-01 1.71734692e-01 1.28801019e-01 1.50267856e-01 1.61001274e-01 9.66007644e-02 7.51339279e-02 1.07334183e-01 1.39534437e-01 1.71734692e-01 1.61001274e-01 2.46868620e-01 1.28801019e-01 8.58673462e-02 1.07334183e-01 1.50267856e-01 4.50803567e-01 1.28801019e-01 1.82468111e-01 1.28801019e-01 1.39534437e-01 1.50267856e-01 1.71734692e-01 8.58673462e-02 1.50267856e-01 1.39534437e-01 2.03934947e-01 1.18067601e-01 9.66007644e-02 1.07334183e-01 1.82468111e-01 1.82468111e-01 1.07334183e-01 1.71734692e-01 1.61001274e-01 1.71734692e-01 9.66007644e-02 1.28801019e-01 1.82468111e-01 1.07334183e-01 1.82468111e-01 1.50267856e-01 1.18067601e-01 1.39534437e-01 1.93201529e-01 9.66007644e-02 9.66007644e-02 1.71734692e-01 1.39534437e-01 2.14668365e-01 1.39534437e-01 8.58673462e-02 1.61001274e-01 1.71734692e-01 3.75669639e-01 1.18067601e-01 1.50267856e-01 1.39534437e-01 1.28801019e-01 1.28801019e-01 1.61001274e-01 9.66007644e-02 1.18067601e-01 1.18067601e-01 2.57602038e-01 1.82468111e-01 1.18067601e-01 1.07334183e-01 1.50267856e-01 1.93201529e-01 1.61001274e-01 1.28801019e-01 1.18067601e-01 1.39534437e-01 1.50267856e-01 1.28801019e-01 1.28801019e-01 1.07334183e-01 9.66007644e-02 1.07334183e-01 1.61001274e-01 1.50267856e-01 1.28801019e-01 9.66007644e-02 1.18067601e-01 1.28801019e-01 1.61001274e-01 9.66007644e-02 1.61001274e-01 1.39534437e-01 1.50267856e-01 1.28801019e-01 1.07334183e-01 1.71734692e-01 1.71734692e-01 9.66007644e-02 1.28801019e-01 1.28801019e-01 1.50267856e-01 1.18067601e-01 1.71734692e-01 1.61001274e-01 2.03934947e-01 1.39534437e-01 2.14668365e-01 1.71734692e-01 1.39534437e-01 1.61001274e-01 1.93201529e-01 1.07334183e-01 1.50267856e-01 1.61001274e-01 4.29336731e-02 1.28801019e-01 4.29336731e-02 1.18067601e-01 1.28801019e-01 1.61001274e-01 1.50267856e-01 1.28801019e-01 2.14668365e-01 1.28801019e-01 1.28801019e-01 2.14668365e-01 2.14668365e-01 1.50267856e-01 1.28801019e-01 9.66007644e-02 1.50267856e-01 1.82468111e-01 1.07334183e-01 2.14668365e-01 9.66007644e-02 2.36135202e-01 1.50267856e-01 1.28801019e-01 2.46868620e-01 1.28801019e-01 1.61001274e-01 1.18067601e-01 7.51339279e-02 1.61001274e-01 1.39534437e-01 1.39534437e-01 1.93201529e-01 1.82468111e-01 1.39534437e-01 1.50267856e-01 1.93201529e-01 1.71734692e-01 1.07334183e-01 1.39534437e-01 2.03934947e-01 2.68335457e-01 1.28801019e-01 1.61001274e-01 2.36135202e-01 1.39534437e-01 2.25401784e-01 1.39534437e-01 2.14668365e-01 1.07334183e-01 1.39534437e-01 1.71734692e-01 1.28801019e-01 1.50267856e-01 1.28801019e-01 1.50267856e-01 1.82468111e-01 1.50267856e-01 1.39534437e-01 1.61001274e-01 2.03934947e-01 1.28801019e-01 1.39534437e-01 8.58673462e-02 1.07334183e-01 1.18067601e-01 1.39534437e-01 1.18067601e-01 1.50267856e-01 7.51339279e-02 1.07334183e-01 1.82468111e-01 2.14668365e-01 1.07334183e-01 1.39534437e-01 1.18067601e-01 1.71734692e-01 1.71734692e-01 2.03934947e-01 8.58673462e-02 1.18067601e-01 1.93201529e-01 1.18067601e-01 1.39534437e-01 1.71734692e-01 8.58673462e-02 8.58673462e-02 1.82468111e-01 1.28801019e-01 1.07334183e-01 1.18067601e-01 1.28801019e-01 2.14668365e-01 1.93201529e-01 3.00535712e-01 2.36135202e-01 1.82468111e-01 2.36135202e-01 1.82468111e-01 1.71734692e-01 1.50267856e-01 1.07334183e-01 2.14668365e-01 1.82468111e-01 1.18067601e-01 1.61001274e-01 1.18067601e-01 1.28801019e-01 1.39534437e-01 1.93201529e-01 9.66007644e-02 1.39534437e-01 2.57602038e-01 1.71734692e-01 1.39534437e-01 9.66007644e-02 7.51339279e-02 1.61001274e-01 1.07334183e-01 1.07334183e-01 1.71734692e-01 1.28801019e-01 1.18067601e-01 2.14668365e-01 1.18067601e-01 1.82468111e-01 1.28801019e-01 1.18067601e-01 1.61001274e-01 1.50267856e-01 1.18067601e-01 1.18067601e-01 9.66007644e-02 1.28801019e-01 2.25401784e-01 8.58673462e-02 1.93201529e-01 1.18067601e-01 1.71734692e-01 1.39534437e-01 1.39534437e-01 9.66007644e-02 9.66007644e-02 1.71734692e-01 3.97136476e-01 1.61001274e-01 1.61001274e-01 8.58673462e-02 2.25401784e-01 1.28801019e-01 1.61001274e-01 1.39534437e-01 2.46868620e-01 1.07334183e-01 9.66007644e-02 1.93201529e-01 1.18067601e-01 1.18067601e-01 2.03934947e-01 1.71734692e-01 1.71734692e-01 1.28801019e-01 7.51339279e-02 1.71734692e-01 1.93201529e-01 1.07334183e-01 1.39534437e-01 1.93201529e-01 1.93201529e-01 1.93201529e-01 1.07334183e-01 1.61001274e-01 1.82468111e-01 4.29336731e-02 2.79068875e-01 1.28801019e-01 1.28801019e-01 1.93201529e-01 2.03934947e-01 8.58673462e-02 2.14668365e-01 1.28801019e-01 1.71734692e-01 1.61001274e-01 1.61001274e-01 1.39534437e-01 2.25401784e-01 1.28801019e-01 1.39534437e-01 1.82468111e-01 2.57602038e-01 1.71734692e-01 1.50267856e-01 2.36135202e-01 1.61001274e-01 1.39534437e-01 1.93201529e-01 7.51339279e-02 8.58673462e-02 1.50267856e-01 1.28801019e-01 1.28801019e-01 1.82468111e-01 1.82468111e-01 9.66007644e-02 1.07334183e-01 9.66007644e-02 8.58673462e-02 1.28801019e-01 1.50267856e-01 1.82468111e-01 1.50267856e-01 1.39534437e-01 1.07334183e-01 2.03934947e-01 1.61001274e-01 1.28801019e-01 1.61001274e-01 1.82468111e-01 1.07334183e-01 1.93201529e-01 7.51339279e-02 1.18067601e-01 2.14668365e-01 1.93201529e-01 1.18067601e-01 1.07334183e-01 7.51339279e-02 2.46868620e-01 1.82468111e-01 1.93201529e-01 1.28801019e-01 1.28801019e-01 1.93201529e-01 2.68335457e-01 1.39534437e-01 1.18067601e-01 1.39534437e-01 2.25401784e-01 1.93201529e-01 1.93201529e-01 1.18067601e-01 1.18067601e-01 7.51339279e-02 2.14668365e-01 1.82468111e-01 1.39534437e-01 1.50267856e-01 9.66007644e-02 1.71734692e-01 1.61001274e-01 1.28801019e-01 9.66007644e-02 1.39534437e-01 1.18067601e-01 1.82468111e-01 2.25401784e-01 1.61001274e-01 1.28801019e-01 1.39534437e-01 1.82468111e-01 2.46868620e-01 1.39534437e-01 1.07334183e-01 8.58673462e-02 1.07334183e-01 1.39534437e-01 5.47404332e-01 1.50267856e-01 2.36135202e-01 1.07334183e-01 1.71734692e-01 1.61001274e-01 1.71734692e-01 2.57602038e-01 1.28801019e-01 1.07334183e-01 9.66007644e-02 1.71734692e-01 1.50267856e-01 2.14668365e-01 2.03934947e-01 1.07334183e-01 1.61001274e-01 1.39534437e-01 1.39534437e-01 1.39534437e-01 1.82468111e-01 1.82468111e-01 4.18603312e-01 1.39534437e-01 2.03934947e-01 1.39534437e-01 1.61001274e-01 7.51339279e-02 1.50267856e-01 1.61001274e-01 1.18067601e-01 1.61001274e-01 2.03934947e-01 1.39534437e-01 1.50267856e-01 3.97136476e-01 1.39534437e-01 1.71734692e-01 1.39534437e-01 8.58673462e-02 1.61001274e-01 5.36670913e-02 1.39534437e-01 9.66007644e-02 1.61001274e-01 1.50267856e-01 1.61001274e-01 8.58673462e-02 1.39534437e-01 1.28801019e-01 1.39534437e-01 1.61001274e-01 1.71734692e-01 1.71734692e-01 1.39534437e-01 1.82468111e-01 2.03934947e-01 3.00535712e-01 1.50267856e-01 1.07334183e-01 1.50267856e-01 1.61001274e-01 1.71734692e-01 1.61001274e-01 2.14668365e-01 2.03934947e-01 1.61001274e-01 1.50267856e-01 2.14668365e-01 1.71734692e-01 1.18067601e-01 1.61001274e-01 1.50267856e-01 9.66007644e-02 1.93201529e-01 2.79068875e-01 1.28801019e-01 1.28801019e-01 1.18067601e-01 9.66007644e-02 1.82468111e-01 1.61001274e-01 1.71734692e-01 9.66007644e-02 2.03934947e-01 8.58673462e-02 1.28801019e-01 1.28801019e-01 1.71734692e-01 2.03934947e-01 1.71734692e-01 2.14668365e-01 2.57602038e-01 1.50267856e-01 1.71734692e-01 1.18067601e-01 2.14668365e-01 6.11804841e-01 1.61001274e-01 1.28801019e-01 1.18067601e-01 2.36135202e-01 1.50267856e-01 1.93201529e-01 1.28801019e-01 1.61001274e-01 1.82468111e-01 1.18067601e-01 2.25401784e-01 1.28801019e-01 1.82468111e-01 1.71734692e-01 8.58673462e-02 2.89802293e-01 2.79068875e-01 1.61001274e-01 1.07334183e-01 2.03934947e-01 1.07334183e-01 1.61001274e-01 1.39534437e-01 1.61001274e-01 1.82468111e-01 1.39534437e-01 1.71734692e-01 1.61001274e-01 1.39534437e-01 5.36670913e-02 2.03934947e-01 1.71734692e-01 1.50267856e-01 1.18067601e-01 1.03040815e+00 1.28801019e-01 1.82468111e-01 1.82468111e-01 2.57602038e-01 1.50267856e-01 1.82468111e-01 1.82468111e-01 1.39534437e-01 1.82468111e-01 1.39534437e-01 1.71734692e-01 1.28801019e-01 1.18067601e-01 1.50267856e-01 9.66007644e-02 1.07334183e-01 1.71734692e-01 1.28801019e-01 1.82468111e-01 1.82468111e-01 1.93201529e-01 1.07334183e-01 1.18067601e-01 8.58673462e-02 1.07334183e-01 1.61001274e-01 1.39534437e-01 1.39534437e-01 2.25401784e-01 1.93201529e-01 2.03934947e-01 1.28801019e-01 1.93201529e-01 1.71734692e-01 9.66007644e-02 9.66007644e-02 1.39534437e-01 1.28801019e-01 1.39534437e-01 1.39534437e-01 2.36135202e-01 1.61001274e-01 1.28801019e-01 1.82468111e-01 1.61001274e-01 2.46868620e-01 1.18067601e-01 1.18067601e-01 1.61001274e-01 8.58673462e-02 2.57602038e-01 1.50267856e-01 1.61001274e-01 2.36135202e-01 1.39534437e-01 1.50267856e-01 1.39534437e-01 1.18067601e-01 1.93201529e-01 1.61001274e-01 1.61001274e-01 9.66007644e-02 2.25401784e-01 2.25401784e-01 1.50267856e-01 1.39534437e-01 3.22002548e-02 1.61001274e-01 1.93201529e-01 1.50267856e-01 1.93201529e-01 1.61001274e-01 2.68335457e-01 2.46868620e-01 1.50267856e-01 1.28801019e-01 1.39534437e-01 1.82468111e-01 2.25401784e-01 1.82468111e-01 1.50267856e-01 2.79068875e-01 2.03934947e-01 9.66007644e-02 2.14668365e-01 2.36135202e-01 1.18067601e-01 2.68335457e-01 2.36135202e-01 2.03934947e-01 1.18067601e-01 1.61001274e-01 1.61001274e-01 1.93201529e-01 1.50267856e-01 1.61001274e-01 2.03934947e-01 1.50267856e-01 1.39534437e-01 1.18067601e-01 1.07334183e-01 2.14668365e-01 1.82468111e-01 2.03934947e-01 1.50267856e-01 1.18067601e-01 1.50267856e-01 1.18067601e-01 1.18067601e-01 2.25401784e-01 1.50267856e-01 1.61001274e-01 2.14668365e-01 1.39534437e-01 1.93201529e-01 1.50267856e-01 2.14668365e-01 2.14668365e-01 1.50267856e-01 7.51339279e-02 1.82468111e-01 1.93201529e-01 1.82468111e-01 1.71734692e-01 9.66007644e-02 1.61001274e-01 1.39534437e-01 1.61001274e-01 1.50267856e-01 1.93201529e-01 1.93201529e-01 9.66007644e-02 1.93201529e-01 1.71734692e-01 3.00535712e-01 2.36135202e-01 9.66007644e-02 2.03934947e-01 2.14668365e-01 1.61001274e-01 2.25401784e-01 1.07334183e-01 2.03934947e-01 2.14668365e-01 2.03934947e-01 1.71734692e-01 1.39534437e-01 1.71734692e-01 1.50267856e-01 9.66007644e-02 2.03934947e-01 2.03934947e-01 1.61001274e-01 1.82468111e-01 2.03934947e-01 1.71734692e-01 1.50267856e-01 1.39534437e-01 1.82468111e-01 1.61001274e-01 1.93201529e-01 1.18067601e-01 2.79068875e-01 6.44005096e-02 2.14668365e-01 2.03934947e-01 1.18067601e-01 2.46868620e-01 1.18067601e-01 1.71734692e-01 2.25401784e-01 1.18067601e-01 1.71734692e-01 7.51339279e-02 1.93201529e-01 1.61001274e-01 1.71734692e-01 1.18067601e-01 1.71734692e-01 2.36135202e-01 1.93201529e-01 2.36135202e-01 1.82468111e-01 1.50267856e-01 2.03934947e-01 1.93201529e-01 1.28801019e-01 2.46868620e-01 2.03934947e-01 2.46868620e-01 1.50267856e-01 1.39534437e-01 1.50267856e-01 1.93201529e-01 1.71734692e-01 2.25401784e-01 1.61001274e-01 1.61001274e-01 1.61001274e-01 1.93201529e-01 1.39534437e-01 3.00535712e-01 1.82468111e-01 2.25401784e-01 2.36135202e-01 2.36135202e-01 2.25401784e-01 1.07334183e-01 1.93201529e-01 1.50267856e-01 2.03934947e-01 2.57602038e-01 1.50267856e-01 1.39534437e-01 1.82468111e-01 2.57602038e-01 1.61001274e-01 2.25401784e-01 1.18067601e-01 1.39534437e-01 1.82468111e-01 1.18067601e-01 1.71734692e-01 2.25401784e-01 2.79068875e-01 2.46868620e-01 1.39534437e-01 1.71734692e-01 2.57602038e-01 2.03934947e-01 1.61001274e-01 1.39534437e-01 1.28801019e-01 2.68335457e-01 1.82468111e-01 2.14668365e-01 1.61001274e-01 1.39534437e-01 1.61001274e-01 1.50267856e-01 2.14668365e-01 2.46868620e-01 1.93201529e-01 1.39534437e-01 1.50267856e-01 2.14668365e-01 1.61001274e-01 1.82468111e-01 1.93201529e-01 1.07334183e-01 1.82468111e-01 1.07334183e-01 1.71734692e-01 1.07334183e-01 2.57602038e-01 2.03934947e-01 1.93201529e-01 2.14668365e-01 1.61001274e-01 1.39534437e-01 2.36135202e-01 1.50267856e-01 2.25401784e-01 3.32735966e-01 2.25401784e-01 1.07334183e-01 2.25401784e-01 2.89802293e-01 2.14668365e-01 2.14668365e-01 2.14668365e-01 1.18067601e-01 2.68335457e-01 2.14668365e-01 1.93201529e-01 2.57602038e-01 2.25401784e-01 2.14668365e-01 1.61001274e-01 1.71734692e-01 2.68335457e-01 2.79068875e-01 2.25401784e-01 1.71734692e-01 1.71734692e-01 1.71734692e-01 2.36135202e-01 2.25401784e-01 1.61001274e-01 2.68335457e-01 1.71734692e-01 1.82468111e-01 2.68335457e-01 2.25401784e-01 1.93201529e-01 1.39534437e-01 1.28801019e-01 2.25401784e-01 1.93201529e-01 3.00535712e-01 1.93201529e-01 1.50267856e-01 1.18067601e-01 2.14668365e-01 1.61001274e-01 2.14668365e-01 1.71734692e-01 1.93201529e-01 1.61001274e-01 2.68335457e-01 1.61001274e-01 1.28801019e-01 1.50267856e-01 2.03934947e-01 1.71734692e-01 1.61001274e-01 2.03934947e-01 1.93201529e-01 2.03934947e-01 1.71734692e-01 2.79068875e-01 2.36135202e-01 1.71734692e-01 2.14668365e-01 2.68335457e-01 1.39534437e-01 1.82468111e-01 2.36135202e-01 2.46868620e-01 3.00535712e-01 1.50267856e-01 1.50267856e-01 2.03934947e-01 2.57602038e-01 2.25401784e-01 1.61001274e-01 2.57602038e-01 1.39534437e-01 2.25401784e-01 1.61001274e-01 2.14668365e-01 1.71734692e-01 2.03934947e-01 1.82468111e-01 2.25401784e-01 1.93201529e-01 1.71734692e-01 2.79068875e-01 2.46868620e-01 1.07334183e-01 1.71734692e-01 2.57602038e-01 2.79068875e-01 1.93201529e-01 1.18067601e-01 1.07334183e-01 3.75669639e-01 2.14668365e-01 1.71734692e-01 2.03934947e-01 1.93201529e-01 1.50267856e-01 2.89802293e-01 2.03934947e-01 3.00535712e-01 1.93201529e-01 2.79068875e-01 2.14668365e-01 2.25401784e-01 2.14668365e-01 2.14668365e-01 1.82468111e-01 1.71734692e-01 1.71734692e-01 1.82468111e-01 2.14668365e-01 1.93201529e-01 1.93201529e-01 1.71734692e-01 2.14668365e-01 2.03934947e-01 2.14668365e-01 1.93201529e-01 2.57602038e-01 2.36135202e-01 2.36135202e-01 1.93201529e-01 2.68335457e-01 2.14668365e-01 1.93201529e-01 2.36135202e-01 1.39534437e-01 1.39534437e-01 1.93201529e-01 2.46868620e-01 2.14668365e-01 1.18067601e-01 1.50267856e-01 2.46868620e-01 2.36135202e-01 1.82468111e-01 1.61001274e-01 2.03934947e-01 2.36135202e-01 2.14668365e-01 2.14668365e-01 1.82468111e-01 3.64936221e-01 2.46868620e-01 2.14668365e-01 1.50267856e-01 2.03934947e-01 1.82468111e-01 1.39534437e-01 8.58673462e-02 2.03934947e-01 2.36135202e-01 2.68335457e-01 1.71734692e-01 1.39534437e-01 2.14668365e-01 1.61001274e-01 1.93201529e-01 1.82468111e-01 1.82468111e-01 1.93201529e-01 2.36135202e-01 1.50267856e-01 3.64936221e-01 2.46868620e-01 1.93201529e-01 1.71734692e-01 2.36135202e-01 3.00535712e-01 2.57602038e-01 1.61001274e-01 2.68335457e-01 3.64936221e-01 2.03934947e-01 9.66007644e-02 3.00535712e-01 1.82468111e-01 2.14668365e-01 2.14668365e-01 1.61001274e-01 2.36135202e-01 2.46868620e-01 2.03934947e-01 3.22002548e-01 1.50267856e-01 2.25401784e-01 1.93201529e-01 2.57602038e-01 2.14668365e-01 1.61001274e-01 2.25401784e-01 2.25401784e-01 1.93201529e-01 1.82468111e-01 2.25401784e-01 2.36135202e-01 3.32735966e-01 3.32735966e-01 1.61001274e-01 1.71734692e-01 1.82468111e-01 2.14668365e-01 2.25401784e-01 1.50267856e-01 2.03934947e-01 3.32735966e-01 1.93201529e-01 2.36135202e-01 1.82468111e-01 2.14668365e-01 3.22002548e-01 2.14668365e-01 2.57602038e-01 1.93201529e-01 2.14668365e-01 3.22002548e-01 3.43469385e-01 2.89802293e-01 2.46868620e-01 2.14668365e-01 9.66007644e-02 2.36135202e-01 2.57602038e-01 1.61001274e-01 2.03934947e-01 2.14668365e-01 3.00535712e-01 2.68335457e-01 1.71734692e-01 2.36135202e-01 1.82468111e-01 1.93201529e-01 3.22002548e-01 3.32735966e-01 1.82468111e-01 2.03934947e-01 1.71734692e-01 1.39534437e-01 2.25401784e-01 1.93201529e-01 1.93201529e-01 2.14668365e-01 1.82468111e-01 2.36135202e-01 2.89802293e-01 2.25401784e-01 3.00535712e-01 3.11269130e-01 1.71734692e-01 1.39534437e-01 1.82468111e-01 2.03934947e-01 1.93201529e-01 2.79068875e-01 3.32735966e-01 1.93201529e-01 2.36135202e-01 2.03934947e-01 1.82468111e-01 1.82468111e-01 3.11269130e-01 3.43469385e-01 2.46868620e-01 1.82468111e-01 2.89802293e-01 2.14668365e-01 1.28801019e-01 2.68335457e-01 2.89802293e-01 2.36135202e-01 2.89802293e-01 3.86403058e-01 1.82468111e-01 2.68335457e-01 4.61536986e-01 2.57602038e-01 2.25401784e-01 2.03934947e-01 4.29336731e-01 3.00535712e-01 2.14668365e-01 2.25401784e-01 2.46868620e-01 2.36135202e-01 2.03934947e-01 2.46868620e-01 2.79068875e-01 2.79068875e-01 2.57602038e-01 2.14668365e-01 2.36135202e-01 1.61001274e-01 2.68335457e-01 2.25401784e-01 2.14668365e-01 2.68335457e-01 2.46868620e-01 2.57602038e-01 3.00535712e-01 1.93201529e-01 2.68335457e-01 1.50267856e-01 2.14668365e-01 3.11269130e-01 2.79068875e-01 1.39534437e-01 2.57602038e-01 6.22538260e-01 2.25401784e-01 1.39534437e-01 2.25401784e-01 1.61001274e-01 1.50267856e-01 1.82468111e-01 2.46868620e-01 2.03934947e-01 2.36135202e-01 2.68335457e-01 1.93201529e-01 2.68335457e-01 3.00535712e-01 2.89802293e-01 1.18067601e-01 2.36135202e-01 2.46868620e-01 3.00535712e-01 1.93201529e-01 2.46868620e-01 2.46868620e-01 2.03934947e-01 1.93201529e-01 2.14668365e-01 1.82468111e-01 3.00535712e-01 2.14668365e-01 2.79068875e-01 1.82468111e-01 2.03934947e-01 2.57602038e-01 2.03934947e-01 1.71734692e-01 3.32735966e-01 2.57602038e-01 1.18067601e-01 1.18067601e-01 2.25401784e-01 1.61001274e-01 1.82468111e-01 2.89802293e-01 2.25401784e-01 2.14668365e-01 2.46868620e-01 1.93201529e-01 2.14668365e-01 5.25937495e-01 2.79068875e-01 2.46868620e-01 1.71734692e-01 2.57602038e-01 2.57602038e-01 2.03934947e-01 1.93201529e-01 3.11269130e-01 1.82468111e-01 2.68335457e-01 2.14668365e-01 2.89802293e-01 2.46868620e-01 1.82468111e-01 1.93201529e-01 3.00535712e-01 2.36135202e-01 2.25401784e-01 2.57602038e-01 2.89802293e-01 1.71734692e-01 1.71734692e-01 2.36135202e-01 1.50267856e-01 1.82468111e-01 2.57602038e-01 1.71734692e-01 3.32735966e-01 8.26473207e-01 1.93201529e-01 2.03934947e-01 1.82468111e-01 1.82468111e-01 2.25401784e-01 2.46868620e-01 2.36135202e-01 2.36135202e-01 2.03934947e-01 2.46868620e-01 2.46868620e-01 3.97136476e-01 2.79068875e-01 2.68335457e-01 2.03934947e-01 2.25401784e-01 2.03934947e-01 1.93201529e-01 2.57602038e-01 2.46868620e-01 3.00535712e-01 2.25401784e-01 1.93201529e-01 2.57602038e-01 1.28801019e-01 2.79068875e-01 1.18067601e-01 2.03934947e-01 2.36135202e-01 2.36135202e-01 2.36135202e-01 1.61001274e-01 1.93201529e-01 2.57602038e-01 2.46868620e-01 3.00535712e-01 2.03934947e-01 2.57602038e-01 3.11269130e-01 3.64936221e-01 2.57602038e-01 1.82468111e-01 2.46868620e-01 2.46868620e-01 3.00535712e-01 1.82468111e-01 2.25401784e-01 2.89802293e-01 3.00535712e-01 1.93201529e-01 2.03934947e-01 2.14668365e-01 2.79068875e-01 2.14668365e-01 1.82468111e-01 2.89802293e-01 2.03934947e-01 1.93201529e-01 2.57602038e-01 2.89802293e-01 2.46868620e-01 2.03934947e-01 2.14668365e-01 2.36135202e-01 2.25401784e-01 2.57602038e-01 1.82468111e-01 3.00535712e-01 2.25401784e-01 2.68335457e-01 4.07869894e-01 2.25401784e-01 2.79068875e-01 2.46868620e-01 2.25401784e-01 2.89802293e-01 2.03934947e-01 3.11269130e-01 2.57602038e-01 1.71734692e-01 2.03934947e-01 1.61001274e-01 1.71734692e-01 3.32735966e-01 2.03934947e-01 1.82468111e-01 1.93201529e-01 2.14668365e-01 3.11269130e-01 1.82468111e-01 2.14668365e-01 2.03934947e-01 2.14668365e-01 1.93201529e-01 2.79068875e-01 1.71734692e-01 3.11269130e-01 2.03934947e-01 3.11269130e-01 3.00535712e-01 1.61001274e-01 2.25401784e-01 1.93201529e-01 1.93201529e-01 2.14668365e-01 2.36135202e-01 1.61001274e-01 2.03934947e-01 2.03934947e-01 3.00535712e-01 2.57602038e-01 2.25401784e-01 2.57602038e-01 2.36135202e-01 2.57602038e-01 2.03934947e-01 2.25401784e-01 1.39534437e-01 3.11269130e-01 3.32735966e-01 2.25401784e-01 3.11269130e-01 2.36135202e-01 1.61001274e-01 2.89802293e-01 3.32735966e-01 1.93201529e-01 2.36135202e-01 2.57602038e-01 1.71734692e-01 2.46868620e-01 2.79068875e-01 2.25401784e-01 1.93201529e-01 1.39534437e-01 1.71734692e-01 2.25401784e-01 2.14668365e-01 2.68335457e-01 2.79068875e-01 2.03934947e-01 2.46868620e-01 2.89802293e-01 2.14668365e-01 1.93201529e-01 2.25401784e-01 2.03934947e-01 2.68335457e-01 2.03934947e-01 2.57602038e-01 2.68335457e-01 3.43469385e-01 4.07869894e-01 3.22002548e-01 2.03934947e-01 3.43469385e-01 1.93201529e-01 2.03934947e-01 3.00535712e-01 2.36135202e-01 3.11269130e-01 3.11269130e-01 3.00535712e-01 2.36135202e-01 3.22002548e-01 1.93201529e-01 1.71734692e-01 2.36135202e-01 3.11269130e-01 2.68335457e-01 3.32735966e-01 2.68335457e-01 2.68335457e-01 2.36135202e-01 2.79068875e-01 2.89802293e-01 2.25401784e-01 2.36135202e-01 3.00535712e-01 2.46868620e-01 3.11269130e-01 3.11269130e-01 2.46868620e-01 2.68335457e-01 1.71734692e-01 2.25401784e-01 3.00535712e-01 1.82468111e-01 2.25401784e-01 2.36135202e-01 2.89802293e-01 3.43469385e-01 2.89802293e-01 1.71734692e-01 3.64936221e-01 3.00535712e-01 2.46868620e-01 3.11269130e-01 3.43469385e-01 1.61001274e-01 1.93201529e-01 2.25401784e-01 3.11269130e-01 2.03934947e-01 2.03934947e-01 1.61001274e-01 3.64936221e-01 2.36135202e-01 2.68335457e-01 2.03934947e-01 2.14668365e-01 3.86403058e-01 3.22002548e-01 3.54202803e-01 1.82468111e-01 2.57602038e-01 1.61001274e-01 2.89802293e-01 2.25401784e-01 2.14668365e-01 3.11269130e-01 2.25401784e-01 2.79068875e-01 2.57602038e-01 3.32735966e-01 2.25401784e-01 2.14668365e-01 3.43469385e-01 3.54202803e-01 3.54202803e-01 2.36135202e-01 2.36135202e-01 3.32735966e-01 3.54202803e-01 3.00535712e-01 3.43469385e-01 2.25401784e-01 2.14668365e-01 4.40070149e-01 2.89802293e-01 2.79068875e-01 2.46868620e-01 3.32735966e-01 3.32735966e-01 2.03934947e-01 2.14668365e-01 2.36135202e-01 2.46868620e-01 2.57602038e-01 3.32735966e-01 2.68335457e-01 3.54202803e-01 1.71734692e-01 2.25401784e-01 2.46868620e-01 3.43469385e-01 3.86403058e-01 2.46868620e-01 1.93201529e-01 2.89802293e-01 2.68335457e-01 2.36135202e-01 3.00535712e-01 2.46868620e-01 2.68335457e-01 2.36135202e-01 3.11269130e-01 2.14668365e-01 2.68335457e-01 3.97136476e-01 3.32735966e-01 2.79068875e-01 4.61536986e-01 3.22002548e-01 2.79068875e-01 3.00535712e-01 2.68335457e-01 3.32735966e-01 2.46868620e-01 3.43469385e-01 3.00535712e-01 2.14668365e-01 2.68335457e-01 2.46868620e-01 2.46868620e-01 3.22002548e-01 1.39534437e-01 2.36135202e-01 3.54202803e-01 2.25401784e-01 2.79068875e-01 3.22002548e-01 2.79068875e-01 2.57602038e-01 3.86403058e-01 3.00535712e-01 2.46868620e-01 3.00535712e-01 2.25401784e-01 2.14668365e-01 3.43469385e-01 4.07869894e-01 2.68335457e-01 1.82468111e-01 4.07869894e-01 2.57602038e-01 3.22002548e-01 3.43469385e-01 3.11269130e-01 2.14668365e-01 3.00535712e-01 2.25401784e-01 3.00535712e-01 2.79068875e-01 3.43469385e-01 3.11269130e-01 1.93201529e-01 3.86403058e-01 2.25401784e-01 2.68335457e-01 3.22002548e-01 1.50267856e-01 2.89802293e-01 3.00535712e-01 2.79068875e-01 2.79068875e-01 2.57602038e-01 2.14668365e-01 2.89802293e-01 2.68335457e-01 2.46868620e-01 2.57602038e-01 3.43469385e-01 3.75669639e-01 3.22002548e-01 2.46868620e-01 1.93201529e-01 3.75669639e-01 3.32735966e-01 2.36135202e-01 2.68335457e-01 3.22002548e-01 4.07869894e-01 3.54202803e-01 2.46868620e-01 3.11269130e-01 3.43469385e-01 3.00535712e-01 2.79068875e-01 3.43469385e-01 2.03934947e-01 3.11269130e-01 2.89802293e-01 2.68335457e-01 3.32735966e-01 2.79068875e-01 3.00535712e-01 3.97136476e-01 3.22002548e-01 2.79068875e-01 2.57602038e-01 3.97136476e-01 3.43469385e-01 2.25401784e-01 2.89802293e-01 2.57602038e-01 1.82468111e-01 3.32735966e-01 1.82468111e-01 2.68335457e-01 3.43469385e-01 2.14668365e-01 2.68335457e-01 3.32735966e-01 2.14668365e-01 4.18603312e-01 3.22002548e-01 2.68335457e-01 3.11269130e-01 2.46868620e-01 2.46868620e-01 2.36135202e-01 2.25401784e-01 2.46868620e-01 3.64936221e-01 2.03934947e-01 3.54202803e-01 3.97136476e-01 3.97136476e-01 3.11269130e-01 2.79068875e-01 3.11269130e-01 3.75669639e-01 3.64936221e-01 3.43469385e-01 3.86403058e-01 2.14668365e-01 3.22002548e-01 3.86403058e-01 3.11269130e-01 2.68335457e-01 3.32735966e-01 3.43469385e-01 2.57602038e-01 3.00535712e-01 2.79068875e-01 3.86403058e-01 3.86403058e-01 2.25401784e-01 2.36135202e-01 3.11269130e-01 3.97136476e-01 1.61001274e-01 3.00535712e-01 2.57602038e-01 3.00535712e-01 2.46868620e-01 3.97136476e-01 2.89802293e-01 3.32735966e-01 2.79068875e-01 2.36135202e-01 3.11269130e-01 3.00535712e-01 3.43469385e-01 3.11269130e-01 2.68335457e-01 2.46868620e-01 3.22002548e-01 3.86403058e-01 3.43469385e-01 2.46868620e-01 4.72270404e-01 3.11269130e-01 4.18603312e-01 3.64936221e-01 2.89802293e-01 3.75669639e-01 3.22002548e-01 2.89802293e-01 3.75669639e-01 3.00535712e-01 3.43469385e-01 2.03934947e-01 5.04470659e-01 3.22002548e-01 2.89802293e-01 3.32735966e-01 2.03934947e-01 2.46868620e-01 6.76205351e-01 3.43469385e-01 3.86403058e-01 3.00535712e-01 4.61536986e-01 3.22002548e-01 3.32735966e-01 3.86403058e-01 3.54202803e-01 3.22002548e-01 4.18603312e-01 3.54202803e-01 2.36135202e-01 3.11269130e-01 3.97136476e-01 3.86403058e-01 2.79068875e-01 3.00535712e-01 3.75669639e-01 3.22002548e-01 2.79068875e-01 1.71734692e-01 3.75669639e-01 3.00535712e-01 3.43469385e-01 3.43469385e-01 3.75669639e-01 2.46868620e-01 4.07869894e-01 5.15204077e-01 2.57602038e-01 3.64936221e-01 4.07869894e-01 3.22002548e-01 3.11269130e-01 3.75669639e-01 3.00535712e-01 2.14668365e-01 2.89802293e-01 3.54202803e-01 1.71734692e-01 3.00535712e-01 2.89802293e-01 3.86403058e-01 3.11269130e-01 3.75669639e-01 2.36135202e-01 3.54202803e-01 3.00535712e-01 3.64936221e-01 4.50803567e-01 3.54202803e-01 3.75669639e-01 1.82468111e-01 4.72270404e-01 3.97136476e-01 2.46868620e-01 3.64936221e-01 3.11269130e-01 3.32735966e-01 3.97136476e-01 3.00535712e-01 2.03934947e-01 2.57602038e-01 1.61001274e-01 2.89802293e-01 2.89802293e-01 2.68335457e-01 3.64936221e-01 3.64936221e-01 3.86403058e-01 3.64936221e-01 2.89802293e-01 3.32735966e-01 3.00535712e-01 3.64936221e-01 2.79068875e-01 3.00535712e-01 4.29336731e-01 3.22002548e-01 3.32735966e-01 3.43469385e-01 4.72270404e-01 4.29336731e-01 3.22002548e-01 4.40070149e-01 2.36135202e-01 4.72270404e-01 2.46868620e-01 3.54202803e-01 3.00535712e-01 5.58137750e-01 4.61536986e-01 3.11269130e-01 2.79068875e-01 3.32735966e-01 3.86403058e-01 3.97136476e-01 3.54202803e-01 3.11269130e-01 4.93737240e-01 3.97136476e-01 3.64936221e-01 4.50803567e-01 2.79068875e-01 2.46868620e-01 2.57602038e-01 5.15204077e-01 3.32735966e-01 4.40070149e-01 2.57602038e-01 2.57602038e-01 6.44005096e-01 3.43469385e-01 3.75669639e-01 2.14668365e-01 3.43469385e-01 2.57602038e-01 3.64936221e-01 3.00535712e-01 3.86403058e-01 2.79068875e-01 2.03934947e-01 3.43469385e-01 2.79068875e-01 3.00535712e-01 3.64936221e-01 4.18603312e-01 4.61536986e-01 3.86403058e-01 3.54202803e-01 3.22002548e-01 3.43469385e-01 3.75669639e-01 3.43469385e-01 3.64936221e-01 3.11269130e-01 4.18603312e-01 3.43469385e-01 7.08405606e-01 4.50803567e-01 3.54202803e-01 3.00535712e-01 3.86403058e-01 5.15204077e-01 3.11269130e-01 3.75669639e-01 5.36670913e-01 5.25937495e-01 2.89802293e-01 3.32735966e-01 3.22002548e-01 2.79068875e-01 4.50803567e-01 3.75669639e-01 3.86403058e-01 2.89802293e-01 3.22002548e-01 3.86403058e-01 5.25937495e-01 9.01607135e-01 4.18603312e-01 3.00535712e-01 3.64936221e-01 3.75669639e-01 2.68335457e-01 3.64936221e-01 3.22002548e-01 3.54202803e-01 2.79068875e-01 3.00535712e-01 4.29336731e-01 3.22002548e-01 3.22002548e-01 3.43469385e-01 5.47404332e-01 4.29336731e-01 3.54202803e-01 3.86403058e-01 3.11269130e-01 4.18603312e-01 2.89802293e-01 4.07869894e-01 3.43469385e-01 3.11269130e-01 4.40070149e-01 3.43469385e-01 3.32735966e-01 3.97136476e-01 4.29336731e-01 2.68335457e-01 4.61536986e-01 3.64936221e-01 4.18603312e-01 5.36670913e-01 3.54202803e-01 3.32735966e-01 4.72270404e-01 3.22002548e-01 3.54202803e-01 4.50803567e-01 4.18603312e-01 3.64936221e-01 3.54202803e-01 3.54202803e-01 4.07869894e-01 3.43469385e-01 5.25937495e-01 3.00535712e-01 4.50803567e-01 3.22002548e-01 4.07869894e-01 3.64936221e-01 3.97136476e-01 4.50803567e-01 4.50803567e-01 5.58137750e-01 5.15204077e-01 3.64936221e-01 4.18603312e-01 4.29336731e-01 5.36670913e-01 3.11269130e-01 3.43469385e-01 4.61536986e-01 3.22002548e-01 5.04470659e-01 3.54202803e-01 3.43469385e-01 4.72270404e-01 3.97136476e-01 3.97136476e-01 4.18603312e-01 3.54202803e-01 3.97136476e-01 2.89802293e-01 4.83003822e-01 5.79604587e-01 4.40070149e-01 3.75669639e-01 2.79068875e-01 3.75669639e-01 3.54202803e-01 3.86403058e-01 3.75669639e-01 4.61536986e-01 3.54202803e-01 2.68335457e-01 3.43469385e-01 3.54202803e-01 3.54202803e-01 4.72270404e-01 3.11269130e-01 3.97136476e-01 3.00535712e-01 3.22002548e-01 5.15204077e-01 3.54202803e-01 3.54202803e-01 5.47404332e-01 5.04470659e-01 3.64936221e-01 3.86403058e-01 4.61536986e-01 3.86403058e-01 4.29336731e-01 3.54202803e-01 4.18603312e-01 4.29336731e-01 3.97136476e-01 3.64936221e-01 4.72270404e-01 2.46868620e-01 6.86938769e-01 4.07869894e-01 4.83003822e-01 3.22002548e-01 3.43469385e-01 4.29336731e-01 3.43469385e-01 4.83003822e-01 4.07869894e-01 3.86403058e-01 6.01071423e-01 3.54202803e-01 3.64936221e-01 4.29336731e-01 4.07869894e-01 4.93737240e-01 3.54202803e-01 3.86403058e-01 3.97136476e-01 8.15739788e-01 5.25937495e-01 4.61536986e-01 3.75669639e-01 4.40070149e-01 4.40070149e-01 4.61536986e-01 3.75669639e-01 4.40070149e-01 3.64936221e-01 3.97136476e-01 3.75669639e-01 3.75669639e-01 3.86403058e-01 3.32735966e-01 4.07869894e-01 4.83003822e-01 3.86403058e-01 5.04470659e-01 3.86403058e-01 4.29336731e-01 5.25937495e-01 4.61536986e-01 4.72270404e-01 3.86403058e-01 3.86403058e-01 3.75669639e-01 5.47404332e-01 3.32735966e-01 3.11269130e-01 4.18603312e-01 2.57602038e-01 5.36670913e-01 4.18603312e-01 4.40070149e-01 4.83003822e-01 4.18603312e-01 2.79068875e-01 4.93737240e-01 3.32735966e-01 4.93737240e-01 4.93737240e-01 3.86403058e-01 3.64936221e-01 2.68335457e-01 3.86403058e-01 4.29336731e-01 4.07869894e-01 4.83003822e-01 4.29336731e-01 3.86403058e-01 2.57602038e-01 4.61536986e-01 4.07869894e-01 5.25937495e-01 2.79068875e-01 3.64936221e-01 4.83003822e-01 3.43469385e-01 3.54202803e-01 4.61536986e-01 3.86403058e-01 5.90338005e-01 3.22002548e-01 4.93737240e-01 3.75669639e-01 4.72270404e-01 4.93737240e-01 4.61536986e-01 5.79604587e-01 5.36670913e-01 3.64936221e-01 6.97672187e-01 3.22002548e-01 5.25937495e-01 3.97136476e-01 3.11269130e-01 4.29336731e-01 3.75669639e-01 4.07869894e-01 5.04470659e-01 4.07869894e-01 4.61536986e-01 3.75669639e-01 4.83003822e-01 4.18603312e-01 3.86403058e-01 4.29336731e-01 4.72270404e-01 3.97136476e-01 4.83003822e-01 3.97136476e-01 4.83003822e-01 4.07869894e-01 4.83003822e-01 3.75669639e-01 4.18603312e-01 4.29336731e-01 4.93737240e-01 4.61536986e-01 4.93737240e-01 3.64936221e-01 5.68871168e-01 4.40070149e-01 3.97136476e-01 5.15204077e-01 4.29336731e-01 3.86403058e-01 4.40070149e-01 4.61536986e-01 4.83003822e-01 4.29336731e-01 5.58137750e-01 3.43469385e-01 3.11269130e-01 3.43469385e-01 5.68871168e-01 3.43469385e-01 5.15204077e-01 3.97136476e-01 3.75669639e-01 5.47404332e-01 4.07869894e-01 4.61536986e-01 9.55274226e-01 4.72270404e-01 4.07869894e-01 4.83003822e-01 4.07869894e-01 5.25937495e-01 3.43469385e-01 3.64936221e-01 5.68871168e-01 4.50803567e-01 4.18603312e-01 5.04470659e-01 6.54738514e-01 5.47404332e-01 4.72270404e-01 4.93737240e-01 5.25937495e-01 5.04470659e-01 5.47404332e-01 4.50803567e-01 4.29336731e-01 5.15204077e-01 5.58137750e-01 6.44005096e-01 5.79604587e-01 4.61536986e-01 5.79604587e-01 5.04470659e-01 4.29336731e-01 5.58137750e-01 4.72270404e-01 5.04470659e-01 4.07869894e-01 5.25937495e-01 4.18603312e-01 4.29336731e-01 5.15204077e-01 3.22002548e-01 5.68871168e-01 4.61536986e-01 5.15204077e-01 5.15204077e-01 3.75669639e-01 4.72270404e-01 5.58137750e-01 6.22538260e-01 5.47404332e-01 5.15204077e-01 6.76205351e-01 4.29336731e-01 3.64936221e-01 5.25937495e-01 6.86938769e-01 8.58673462e-01 5.25937495e-01 4.40070149e-01 5.15204077e-01 5.04470659e-01 5.15204077e-01 4.40070149e-01 4.93737240e-01 7.29872442e-01 4.61536986e-01 3.32735966e-01 6.54738514e-01 5.04470659e-01 4.07869894e-01 4.72270404e-01 5.04470659e-01 4.18603312e-01 4.83003822e-01 4.18603312e-01 8.37206625e-01 4.50803567e-01 3.64936221e-01 6.65471933e-01 5.47404332e-01 6.11804841e-01 6.65471933e-01 4.72270404e-01 3.75669639e-01 4.83003822e-01 4.29336731e-01 4.18603312e-01 6.22538260e-01 5.79604587e-01 5.68871168e-01 4.72270404e-01 5.15204077e-01 6.44005096e-01 4.29336731e-01 3.75669639e-01 6.54738514e-01 5.58137750e-01 6.22538260e-01 6.11804841e-01 5.04470659e-01 5.47404332e-01 4.40070149e-01 5.79604587e-01 4.93737240e-01 4.18603312e-01 4.40070149e-01 5.36670913e-01 5.25937495e-01 5.47404332e-01 4.93737240e-01 4.83003822e-01 1.10554208e+00 4.40070149e-01 4.07869894e-01 5.25937495e-01 5.04470659e-01 4.29336731e-01 5.25937495e-01 4.83003822e-01 6.11804841e-01 5.47404332e-01 6.01071423e-01 4.93737240e-01 4.61536986e-01 4.83003822e-01 6.01071423e-01 3.75669639e-01 4.07869894e-01 1.61001274e+00 5.47404332e-01 5.58137750e-01 5.15204077e-01 5.36670913e-01 5.15204077e-01 4.93737240e-01 3.43469385e-01 6.44005096e-01 5.79604587e-01 5.79604587e-01 5.36670913e-01 4.07869894e-01 5.04470659e-01 5.68871168e-01 4.29336731e-01 5.90338005e-01 4.93737240e-01 5.90338005e-01 5.25937495e-01 5.68871168e-01 4.93737240e-01 5.58137750e-01 5.15204077e-01 5.79604587e-01 4.93737240e-01 4.61536986e-01 4.72270404e-01 5.25937495e-01 5.36670913e-01 5.25937495e-01 6.44005096e-01 5.15204077e-01 5.79604587e-01 6.33271678e-01 4.83003822e-01 8.05006370e-01 5.15204077e-01 5.47404332e-01 6.33271678e-01 4.61536986e-01 5.68871168e-01 5.68871168e-01 4.72270404e-01 6.44005096e-01 5.25937495e-01 5.04470659e-01 6.22538260e-01 6.86938769e-01 6.01071423e-01 5.36670913e-01 5.58137750e-01 6.22538260e-01 5.15204077e-01 6.65471933e-01 4.72270404e-01 6.11804841e-01 7.94272952e-01 6.22538260e-01 5.15204077e-01 5.25937495e-01 4.61536986e-01 7.08405606e-01 4.93737240e-01 4.83003822e-01 6.11804841e-01 5.79604587e-01 6.01071423e-01 5.68871168e-01 6.97672187e-01 5.58137750e-01 5.58137750e-01 4.61536986e-01 7.62072697e-01 7.51339279e-01 5.58137750e-01 9.23073971e-01 6.01071423e-01 7.72806115e-01 6.44005096e-01 5.79604587e-01 5.58137750e-01 7.08405606e-01 6.76205351e-01 6.76205351e-01 5.04470659e-01 4.93737240e-01 6.97672187e-01 5.79604587e-01 7.08405606e-01 6.65471933e-01 1.35241070e+00 7.29872442e-01 7.83539534e-01 5.90338005e-01 6.44005096e-01 6.44005096e-01 5.68871168e-01 6.01071423e-01 5.68871168e-01 8.47940043e-01 7.94272952e-01 7.72806115e-01 5.25937495e-01 5.15204077e-01 6.33271678e-01 1.05187499e+00 8.80140298e-01 5.90338005e-01 6.44005096e-01 5.47404332e-01 7.72806115e-01 6.11804841e-01 5.47404332e-01 5.15204077e-01 8.05006370e-01 5.68871168e-01 4.83003822e-01 5.79604587e-01 6.22538260e-01 4.72270404e-01 6.33271678e-01 6.22538260e-01 6.76205351e-01 6.01071423e-01 5.79604587e-01 7.19139024e-01 6.44005096e-01 6.33271678e-01 7.72806115e-01 5.79604587e-01 8.26473207e-01 5.47404332e-01 1.22360968e+00 7.29872442e-01 5.68871168e-01 7.62072697e-01 6.22538260e-01 7.94272952e-01 7.40605861e-01 6.76205351e-01 6.01071423e-01 5.15204077e-01 1.33094387e+00 8.69406880e-01 6.65471933e-01 6.44005096e-01 6.97672187e-01 1.70661350e+00 5.90338005e-01 6.22538260e-01 6.65471933e-01 9.01607135e-01 8.05006370e-01 6.01071423e-01 7.72806115e-01 6.86938769e-01 5.90338005e-01 1.00894132e+00 6.22538260e-01 6.44005096e-01 5.25937495e-01 7.94272952e-01 7.40605861e-01 4.83003822e-01 7.19139024e-01 7.29872442e-01 8.26473207e-01 5.90338005e-01 5.04470659e-01 8.26473207e-01 6.11804841e-01 5.68871168e-01 7.72806115e-01 5.90338005e-01 7.08405606e-01 6.22538260e-01 6.33271678e-01 5.47404332e-01 7.83539534e-01 6.22538260e-01 6.11804841e-01 6.11804841e-01 1.48121172e+00 5.68871168e-01 7.29872442e-01 6.97672187e-01 5.15204077e-01 8.05006370e-01 4.07869894e-01 6.33271678e-01 5.25937495e-01 7.62072697e-01 9.76741062e-01 6.86938769e-01 8.69406880e-01 5.15204077e-01 7.51339279e-01 1.93201529e+00 6.33271678e-01 5.90338005e-01 7.08405606e-01 1.08407525e+00 5.47404332e-01 7.72806115e-01 5.68871168e-01 7.51339279e-01 9.23073971e-01 6.22538260e-01 7.19139024e-01 6.65471933e-01 7.40605861e-01 6.11804841e-01 7.19139024e-01 8.80140298e-01 7.51339279e-01 7.51339279e-01 9.12340553e-01 8.58673462e-01 5.25937495e-01 7.40605861e-01 6.33271678e-01 7.08405606e-01 5.36670913e-01 6.97672187e-01 6.65471933e-01 5.25937495e-01 5.58137750e-01 5.79604587e-01 6.11804841e-01 6.22538260e-01 1.32021045e+00 5.15204077e-01 6.86938769e-01 6.22538260e-01 7.08405606e-01 6.33271678e-01 7.08405606e-01 4.93737240e-01 7.40605861e-01 8.47940043e-01 7.40605861e-01 6.44005096e-01 7.94272952e-01 7.40605861e-01 1.71734692e+00 6.22538260e-01 7.62072697e-01 8.05006370e-01 5.79604587e-01 7.19139024e-01 7.83539534e-01 5.58137750e-01 6.65471933e-01 5.79604587e-01 7.08405606e-01 7.40605861e-01 8.58673462e-01 8.05006370e-01 8.58673462e-01 9.01607135e-01 6.01071423e-01 9.01607135e-01 7.29872442e-01 1.06260841e+00 6.54738514e-01 9.66007644e-01 6.65471933e-01 6.44005096e-01 7.08405606e-01 6.01071423e-01 8.80140298e-01 7.62072697e-01 8.05006370e-01 7.08405606e-01 6.33271678e-01 7.08405606e-01 7.29872442e-01 7.19139024e-01 7.29872442e-01 7.62072697e-01 7.40605861e-01 6.54738514e-01 7.51339279e-01 5.90338005e-01 7.83539534e-01 6.76205351e-01 9.76741062e-01 7.19139024e-01 7.40605861e-01 5.90338005e-01 5.58137750e-01 8.69406880e-01 7.40605861e-01 6.97672187e-01 7.83539534e-01 8.58673462e-01 8.58673462e-01 6.11804841e-01 6.44005096e-01 8.05006370e-01 8.47940043e-01 8.15739788e-01 9.87474481e-01 6.76205351e-01 8.69406880e-01 8.15739788e-01 7.29872442e-01 7.62072697e-01 8.90873716e-01 7.40605861e-01 6.86938769e-01 7.40605861e-01 9.76741062e-01 6.44005096e-01 9.12340553e-01 7.62072697e-01 7.19139024e-01 6.54738514e-01 8.15739788e-01 7.51339279e-01 6.97672187e-01 8.37206625e-01 8.90873716e-01 7.72806115e-01 8.80140298e-01 8.15739788e-01 7.83539534e-01 6.76205351e-01 7.72806115e-01 6.65471933e-01 8.26473207e-01 7.94272952e-01 8.69406880e-01 7.29872442e-01 7.62072697e-01 9.01607135e-01 8.15739788e-01 8.37206625e-01 7.51339279e-01 6.97672187e-01 7.19139024e-01 9.44540808e-01 6.54738514e-01 7.29872442e-01 8.05006370e-01 9.76741062e-01 1.00894132e+00 8.69406880e-01 8.69406880e-01 8.90873716e-01 9.66007644e-01 8.15739788e-01 8.26473207e-01 9.66007644e-01 9.98207899e-01 8.26473207e-01 9.87474481e-01 1.06260841e+00 7.72806115e-01 7.62072697e-01 9.01607135e-01 7.29872442e-01 7.51339279e-01 9.12340553e-01 7.62072697e-01 9.98207899e-01 9.12340553e-01 8.58673462e-01 9.23073971e-01 8.80140298e-01 1.10554208e+00 7.08405606e-01 9.76741062e-01 6.86938769e-01 8.15739788e-01 8.05006370e-01 8.15739788e-01 8.47940043e-01 9.33807389e-01 9.12340553e-01 8.15739788e-01 1.00894132e+00 9.44540808e-01 7.94272952e-01 1.00894132e+00 9.87474481e-01 9.12340553e-01 9.12340553e-01 1.08407525e+00 8.90873716e-01 7.29872442e-01 8.80140298e-01 9.55274226e-01 9.76741062e-01 7.94272952e-01 8.47940043e-01 9.33807389e-01 9.44540808e-01 1.00894132e+00 8.58673462e-01 1.07334183e+00 8.90873716e-01 1.09480866e+00 1.00894132e+00 1.05187499e+00 9.23073971e-01 1.06260841e+00 8.69406880e-01 9.87474481e-01 9.33807389e-01 9.23073971e-01 9.55274226e-01 1.27727677e+00 9.12340553e-01 9.33807389e-01 1.00894132e+00 8.37206625e-01 9.33807389e-01 1.16994259e+00 1.00894132e+00 1.06260841e+00 9.98207899e-01 1.12700892e+00 9.33807389e-01 1.04114157e+00 9.33807389e-01 1.16994259e+00 1.22360968e+00 9.76741062e-01 9.66007644e-01 1.01967474e+00 1.41681121e+00 1.14847575e+00 1.13774234e+00 1.03040815e+00 9.44540808e-01 8.47940043e-01 9.98207899e-01 1.11627550e+00 1.10554208e+00 1.25580994e+00 9.33807389e-01 9.98207899e-01 1.20214285e+00 1.23434310e+00 8.47940043e-01 8.90873716e-01 9.44540808e-01 9.23073971e-01 1.12700892e+00 1.39534437e+00 1.40607779e+00 1.12700892e+00 1.03040815e+00 1.06260841e+00 1.09480866e+00 1.42754463e+00 1.03040815e+00 1.16994259e+00 1.01967474e+00 1.35241070e+00 1.13774234e+00 1.04114157e+00 1.00894132e+00 1.15920917e+00 9.44540808e-01 1.16994259e+00 1.23434310e+00 1.06260841e+00 1.12700892e+00 1.08407525e+00 1.18067601e+00 9.44540808e-01 1.06260841e+00 1.25580994e+00 1.22360968e+00 1.34167728e+00 1.04114157e+00 2.00714922e+00 1.18067601e+00 1.12700892e+00 1.19140943e+00 1.22360968e+00 1.00894132e+00 1.44901147e+00 1.22360968e+00 1.09480866e+00 1.16994259e+00 1.18067601e+00 2.12521682e+00 1.29874361e+00 1.00894132e+00 1.15920917e+00 1.34167728e+00 1.39534437e+00 1.18067601e+00 1.04114157e+00 1.07334183e+00 1.38461096e+00 1.15920917e+00 1.18067601e+00 1.41681121e+00 1.13774234e+00 1.06260841e+00 1.37387754e+00 1.29874361e+00 1.24507652e+00 1.09480866e+00 1.20214285e+00 1.24507652e+00 1.18067601e+00 1.30947703e+00 1.28801019e+00 1.35241070e+00 1.43827805e+00 1.33094387e+00 1.23434310e+00 1.11627550e+00 1.30947703e+00 1.41681121e+00 1.80321427e+00 1.28801019e+00 1.11627550e+00 1.04114157e+00 1.29874361e+00 1.29874361e+00 1.23434310e+00 1.27727677e+00 1.32021045e+00 1.51341198e+00 1.32021045e+00 1.09480866e+00 1.43827805e+00 1.36314412e+00 1.47047830e+00 1.38461096e+00 1.47047830e+00 1.51341198e+00 1.24507652e+00 1.28801019e+00 2.16815049e+00 1.05187499e+00 1.34167728e+00 1.38461096e+00 1.32021045e+00 1.49194514e+00 1.50267856e+00 1.33094387e+00 1.19140943e+00 1.38461096e+00 2.45795278e+00 1.08407525e+00 1.19140943e+00 1.40607779e+00 1.34167728e+00 1.33094387e+00 1.40607779e+00 1.11627550e+00 1.57781249e+00 1.49194514e+00 1.52414539e+00 1.41681121e+00 1.36314412e+00 1.48121172e+00 1.35241070e+00 1.58854590e+00 1.42754463e+00 1.26654336e+00 1.42754463e+00 1.58854590e+00 1.38461096e+00 1.48121172e+00 1.38461096e+00 1.44901147e+00 1.15920917e+00 1.59927932e+00 1.38461096e+00 1.47047830e+00 1.58854590e+00 1.36314412e+00 1.48121172e+00 1.53487881e+00 1.54561223e+00 1.49194514e+00 1.68514667e+00 1.63147958e+00 1.44901147e+00 1.79248085e+00 1.53487881e+00 1.57781249e+00 1.34167728e+00 1.49194514e+00 1.57781249e+00 1.37387754e+00 1.43827805e+00 1.72808034e+00 1.34167728e+00 1.78174743e+00 1.76028060e+00 1.58854590e+00 1.58854590e+00 1.48121172e+00 1.76028060e+00 1.87834820e+00 1.55634565e+00 1.69588009e+00 1.70661350e+00 1.62074616e+00 1.43827805e+00 2.16815049e+00 1.50267856e+00 1.65294641e+00 1.26654336e+00 1.94274871e+00 1.61001274e+00 1.64221300e+00 2.13595024e+00 1.86761478e+00 1.77101401e+00 1.94274871e+00 1.61001274e+00 1.74954718e+00 1.62074616e+00 1.77101401e+00 1.95348212e+00 1.76028060e+00 2.24328442e+00 1.81394769e+00 1.69588009e+00 1.76028060e+00 1.48121172e+00 1.77101401e+00 2.23255100e+00 2.14668365e+00 1.89981503e+00 1.87834820e+00 1.89981503e+00 1.76028060e+00 2.01788263e+00 1.70661350e+00 1.82468111e+00 2.70482140e+00 1.92128187e+00 1.86761478e+00 1.87834820e+00 1.62074616e+00 1.66367983e+00 1.96421554e+00 1.95348212e+00 1.89981503e+00 1.89981503e+00 1.85688136e+00 1.95348212e+00 1.81394769e+00 3.18782523e+00 1.98568238e+00 2.18961733e+00 1.72808034e+00 2.03934947e+00 1.68514667e+00 1.81394769e+00 1.84614794e+00 2.51161987e+00 2.44721937e+00 1.98568238e+00 2.37208544e+00 2.07154973e+00 1.89981503e+00 1.96421554e+00 1.92128187e+00 1.97494896e+00 1.91054845e+00 2.31841835e+00 2.14668365e+00 2.02861605e+00 2.12521682e+00 2.29695151e+00 2.29695151e+00 1.74954718e+00 2.51161987e+00 2.16815049e+00 1.74954718e+00 2.37208544e+00 1.93201529e+00 2.65115431e+00 2.39355227e+00 1.78174743e+00 2.65115431e+00 1.48121172e+00 2.22181758e+00 2.24328442e+00 2.20035075e+00 2.38281886e+00 2.58675380e+00 2.14668365e+00 2.26475125e+00 1.84614794e+00 2.14668365e+00 2.25401784e+00 3.28442599e+00 2.05008289e+00 2.05008289e+00 2.30768493e+00 2.27548467e+00 2.12521682e+00 1.92128187e+00 4.78710455e+00 2.53308671e+00 2.36135202e+00 2.27548467e+00 2.13595024e+00 2.02861605e+00 2.23255100e+00 2.33988518e+00 2.20035075e+00 2.57602038e+00 2.45795278e+00 2.60822064e+00 2.76922191e+00 2.22181758e+00 2.47941962e+00 2.52235329e+00 2.30768493e+00 2.24328442e+00 2.45795278e+00 2.85508926e+00 2.74775508e+00 2.47941962e+00 2.50088646e+00 2.26475125e+00 2.79068875e+00 2.30768493e+00 2.35061860e+00 2.52235329e+00 2.68335457e+00 3.23075890e+00 2.49015304e+00 2.76922191e+00 2.86582268e+00 2.06081631e+00 2.81215559e+00 2.59748722e+00 2.37208544e+00 2.81215559e+00 2.75848850e+00 2.98389028e+00 2.57602038e+00 2.74775508e+00 2.55455355e+00 2.52235329e+00 2.59748722e+00 2.88728951e+00 3.42396043e+00 3.26295915e+00 2.76922191e+00 2.45795278e+00 2.46868620e+00 2.71555482e+00 2.72628824e+00 3.54202803e+00 3.66009563e+00 2.32915176e+00 2.57602038e+00 2.81215559e+00 3.34882650e+00 2.59748722e+00 2.60822064e+00 3.99283160e+00 3.14489155e+00 2.77995533e+00 3.25222574e+00 3.23075890e+00 4.14309945e+00 3.48836094e+00 2.53308671e+00 3.16635839e+00 4.11089920e+00 3.85329716e+00 3.83183032e+00 3.19855864e+00 3.47762752e+00 3.86403058e+00 3.53129461e+00 3.58496170e+00 3.48836094e+00 3.63862879e+00 3.71376272e+00 3.34882650e+00 4.27190047e+00 3.59569512e+00 3.26295915e+00 3.69229588e+00 3.04829079e+00 4.40070149e+00 5.75311219e+00 3.74596298e+00 3.03755737e+00 3.97136476e+00 3.39176017e+00 3.75669639e+00 5.36670913e+00 3.89623083e+00 3.42396043e+00 3.86403058e+00 4.05723211e+00 4.37923465e+00 4.78710455e+00 3.38102675e+00 3.94989792e+00 3.35955992e+00 5.79604587e+00 4.96957266e+00 4.81930480e+00 3.96063134e+00 4.64757011e+00 4.92663899e+00 5.71017852e+00 6.32198336e+00 6.97672187e+00 4.04649869e+00 4.84077164e+00 3.84256374e+00 4.93737240e+00 3.32735966e+00 3.48836094e+00 4.23970022e+00 4.93737240e+00 4.91590557e+00 4.76563771e+00 3.61716196e+00 3.77816323e+00 7.04112238e+00 3.45616068e+00 4.35776782e+00 3.49909436e+00 3.88549741e+00 4.27190047e+00 3.88549741e+00 4.02503185e+00 5.62431117e+00 4.93737240e+00 4.22896680e+00 4.73343746e+00 4.38996807e+00 3.85329716e+00 4.92663899e+00 4.13236603e+00 4.83003822e+00 6.28978311e+00 4.78710455e+00 3.66009563e+00 5.32377546e+00 4.49730225e+00 5.37744255e+00 5.48477674e+00 4.31483414e+00 3.99283160e+00 4.70123720e+00 5.34524230e+00 4.57243618e+00 6.42931754e+00 5.42037623e+00 5.53844383e+00 4.17529971e+00 5.13057393e+00 5.33450888e+00 8.08226396e+00 5.65651143e+00 4.41143491e+00 4.43290175e+00 6.42931754e+00 6.20391576e+00 5.08764026e+00 4.63683669e+00 7.30945784e+00 4.83003822e+00 7.08405606e+00 4.45436858e+00 5.89264663e+00 5.75311219e+00 6.13951525e+00 5.28084179e+00 5.69944510e+00 6.53665173e+00 5.35597572e+00 6.96598846e+00 5.31304204e+00 6.11804841e+00 5.82824612e+00 7.11625631e+00 7.28799100e+00 7.57779330e+00 5.60284434e+00 8.06079712e+00 6.04291449e+00 8.26473207e+00 7.76026141e+00 6.33271678e+00 5.84971296e+00 6.85865427e+00 6.66545275e+00 7.07332264e+00 6.84792086e+00 7.27725759e+00 6.60105224e+00 1.00679463e+01 1.06046172e+01 9.63860961e+00 7.86759559e+00 8.80140298e+00 8.06079712e+00 9.53127542e+00 9.37027415e+00 7.97492977e+00 8.99460451e+00 1.09051530e+01 7.14845657e+00 8.98387109e+00 7.36312493e+00 1.35241070e+01 8.14666447e+00 1.06153507e+01 9.13413895e+00 9.05900502e+00 1.14740241e+01 8.13593105e+00 1.00035458e+01 1.14847575e+01 8.47940043e+00 9.08047186e+00 1.15706249e+01 1.11412882e+01 1.03148150e+01 1.00894132e+01 1.34704399e+01 1.25044323e+01 1.26976338e+01 9.87474481e+00 7.60999355e+00 1.43613136e+01 9.32734048e+00 1.09588201e+01 9.56347568e+00 2.35705865e+01 1.46081823e+01 1.07441517e+01 1.55205228e+01 1.28264348e+01 1.44149807e+01 1.61967282e+01 1.68944004e+01 1.24507652e+01 1.77101401e+01 1.26547001e+01 1.31377040e+01 8.76920273e+00 3.48406757e+01 1.17316262e+01 1.38675764e+01 1.25473660e+01 1.79999424e+01 1.44149807e+01 1.68622001e+01 1.22682971e+01 1.96636223e+01 1.36099744e+01 1.78711414e+01 1.51341198e+01 1.33094387e+01 2.77566196e+01 1.82575445e+01 2.87226273e+01 1.15813583e+01 2.11555674e+01 1.05294833e+01 1.12056887e+01 2.53523340e+01 1.61323277e+01 1.88478825e+01 1.35241070e+01 3.55383479e+01 1.51233863e+01 1.62503953e+01 1.33845726e+01 1.31269705e+01 1.26224999e+01 1.64543302e+01 1.36314412e+01 1.77852741e+01 2.27870470e+01 1.59498595e+01 2.21537753e+01 2.25187115e+01 2.16815049e+01 1.86976146e+01 1.81180100e+01 2.86689602e+01 2.71984819e+01 2.57602038e+01 3.14167153e+01 1.87298149e+01 4.23755353e+01 4.43182840e+01 2.37637880e+01 6.84684751e+01 2.50303314e+01 3.05687752e+01 4.83969830e+01 1.76028060e+01 3.73844958e+01 8.09085069e+01 2.25187115e+01 3.81251017e+01 4.57565621e+01 3.26295915e+01 1.11520216e+01 2.22611095e+01 2.44936605e+01 4.79032457e+01 2.43326592e+01 3.00965048e+01 7.89764916e+01 3.73844958e+01 2.41609245e+01 8.02859687e+01 6.09014153e+01 7.49943934e+01 4.74739090e+01 1.70876019e+01 1.73494973e+02 1.26815337e+02 3.86027388e+02 1.35348404e+01 4.55096935e+00 4.04649869e+00 9.22000629e+00 3.64936221e+00 2.53308671e+00 3.54202803e+00 2.35061860e+00 2.99462370e+00 2.74775508e+00 2.82288900e+00 3.25222574e+00 3.22002548e+00 4.16456629e+00 3.13415813e+00 2.77995533e+00 1.85688136e+00 3.16635839e+00 2.15741707e+00 2.08228314e+00 2.37208544e+00 3.94989792e+00 1.91054845e+00 3.25222574e+00 2.85508926e+00 4.64757011e+00 2.42575253e+00 2.20035075e+00 1.50267856e+00 2.26475125e+00 1.48121172e+00 1.81394769e+00 2.06081631e+00 2.88728951e+00 3.05902421e+00 2.09301656e+00 5.14130735e+00 6.22538260e-01 5.04470659e-01 5.15204077e-01 5.15204077e-01 6.33271678e-01 6.44005096e-01 6.22538260e-01 6.65471933e-01 4.83003822e-01 7.29872442e-01 6.76205351e-01 6.54738514e-01 5.15204077e-01 5.58137750e-01 7.29872442e-01 6.33271678e-01 7.08405606e-01 9.98207899e-01 3.11269130e-01 3.97136476e-01 2.46868620e-01 5.79604587e-01 2.68335457e-01 3.86403058e-01 2.57602038e-01 2.36135202e-01 3.32735966e-01 1.61001274e-01 3.32735966e-01 3.11269130e-01 2.68335457e-01 1.18067601e-01 2.46868620e-01 2.25401784e-01 2.03934947e-01 3.11269130e-01 1.93201529e-01 1.82468111e-01 2.68335457e-01 2.68335457e-01 2.57602038e-01 3.43469385e-01 2.03934947e-01 3.75669639e-01 1.82468111e-01 2.03934947e-01 2.57602038e-01 2.89802293e-01 1.18067601e-01 1.18067601e-01 1.28801019e-01 2.14668365e-02 8.58673462e-02 1.50267856e-01 7.51339279e-02 5.36670913e-02 9.66007644e-02 2.14668365e-02 1.07334183e-02 2.14668365e-02 2.14668365e-02 4.29336731e-02 2.14668365e-02 2.14668365e-02 7.51339279e-02 1.07334183e-02 2.14668365e-02 0.00000000e+00 1.07334183e-02 0.00000000e+00 - - 1.39107699e-01 2.31846165e-02 4.63692330e-02 4.63692330e-02 1.62292315e-01 2.08661548e-01 2.31846165e-01 2.55030781e-01 1.39107699e-01 2.78215398e-01 2.55030781e-01 3.24584631e-01 3.47769247e-01 4.17323097e-01 5.10061563e-01 3.47769247e-01 5.79615412e-01 3.47769247e-01 6.95538494e-01 6.25984645e-01 3.94138480e-01 3.94138480e-01 3.47769247e-01 5.79615412e-01 4.86876946e-01 4.40507713e-01 4.40507713e-01 5.33246179e-01 5.33246179e-01 9.04200043e-01 6.25984645e-01 6.49169261e-01 6.02800028e-01 4.63692330e-01 8.11461577e-01 6.95538494e-01 6.02800028e-01 4.63692330e-01 7.41907727e-01 6.02800028e-01 7.18723111e-01 7.18723111e-01 6.95538494e-01 7.18723111e-01 6.72353878e-01 6.72353878e-01 7.65092344e-01 7.65092344e-01 6.49169261e-01 7.18723111e-01 5.33246179e-01 5.79615412e-01 7.41907727e-01 6.49169261e-01 7.18723111e-01 6.49169261e-01 6.02800028e-01 5.56430795e-01 7.41907727e-01 6.02800028e-01 7.41907727e-01 6.49169261e-01 7.18723111e-01 6.02800028e-01 6.25984645e-01 5.79615412e-01 6.25984645e-01 6.02800028e-01 6.95538494e-01 6.25984645e-01 6.72353878e-01 6.72353878e-01 3.47769247e-01 6.25984645e-01 5.56430795e-01 5.79615412e-01 7.41907727e-01 7.18723111e-01 3.94138480e-01 4.86876946e-01 5.56430795e-01 4.63692330e-01 5.56430795e-01 8.11461577e-01 6.72353878e-01 5.79615412e-01 6.72353878e-01 3.70953864e-01 5.33246179e-01 4.63692330e-01 6.49169261e-01 6.25984645e-01 5.56430795e-01 3.47769247e-01 5.56430795e-01 5.33246179e-01 3.70953864e-01 4.17323097e-01 6.95538494e-01 6.72353878e-01 4.40507713e-01 4.17323097e-01 4.17323097e-01 4.17323097e-01 3.94138480e-01 5.79615412e-01 4.63692330e-01 4.40507713e-01 2.78215398e-01 4.86876946e-01 4.63692330e-01 5.33246179e-01 5.33246179e-01 4.86876946e-01 3.24584631e-01 3.47769247e-01 4.17323097e-01 5.10061563e-01 5.79615412e-01 3.47769247e-01 5.10061563e-01 3.47769247e-01 4.17323097e-01 6.95538494e-01 5.56430795e-01 3.47769247e-01 3.94138480e-01 6.72353878e-01 3.24584631e-01 3.94138480e-01 4.17323097e-01 3.24584631e-01 5.56430795e-01 4.63692330e-01 4.17323097e-01 2.55030781e-01 3.70953864e-01 5.56430795e-01 4.40507713e-01 3.47769247e-01 4.17323097e-01 3.94138480e-01 4.17323097e-01 4.63692330e-01 6.95538494e-01 4.63692330e-01 4.63692330e-01 4.63692330e-01 5.33246179e-01 3.70953864e-01 4.17323097e-01 4.86876946e-01 3.47769247e-01 3.24584631e-01 4.40507713e-01 4.17323097e-01 4.86876946e-01 2.55030781e-01 5.56430795e-01 4.17323097e-01 3.70953864e-01 4.17323097e-01 9.27384659e-02 4.40507713e-01 4.63692330e-01 3.94138480e-01 4.17323097e-01 5.33246179e-01 2.55030781e-01 1.85476932e-01 5.56430795e-01 3.47769247e-01 1.62292315e-01 3.94138480e-01 4.17323097e-01 3.94138480e-01 3.01400014e-01 2.78215398e-01 3.24584631e-01 5.79615412e-01 3.24584631e-01 2.55030781e-01 3.70953864e-01 1.85476932e-01 3.70953864e-01 3.01400014e-01 3.94138480e-01 2.78215398e-01 2.08661548e-01 2.78215398e-01 2.78215398e-01 4.17323097e-01 2.78215398e-01 3.24584631e-01 3.94138480e-01 3.01400014e-01 3.70953864e-01 4.63692330e-01 4.86876946e-01 3.24584631e-01 3.70953864e-01 1.85476932e-01 3.94138480e-01 3.94138480e-01 2.78215398e-01 3.70953864e-01 2.78215398e-01 3.47769247e-01 4.40507713e-01 2.55030781e-01 2.08661548e-01 4.63692330e-01 2.78215398e-01 2.08661548e-01 3.47769247e-01 1.39107699e-01 2.08661548e-01 3.24584631e-01 2.31846165e-01 2.31846165e-01 1.85476932e-01 2.55030781e-01 3.01400014e-01 3.70953864e-01 4.86876946e-01 2.31846165e-01 3.70953864e-01 3.47769247e-01 2.08661548e-01 2.31846165e-01 2.78215398e-01 2.55030781e-01 1.85476932e-01 1.85476932e-01 3.24584631e-01 4.17323097e-01 3.94138480e-01 2.31846165e-01 1.39107699e-01 3.24584631e-01 2.55030781e-01 3.94138480e-01 3.24584631e-01 4.40507713e-01 3.01400014e-01 1.62292315e-01 3.94138480e-01 2.55030781e-01 1.62292315e-01 3.24584631e-01 1.85476932e-01 4.63692330e-01 1.85476932e-01 3.24584631e-01 1.85476932e-01 2.08661548e-01 2.78215398e-01 3.70953864e-01 1.62292315e-01 3.70953864e-01 2.08661548e-01 1.85476932e-01 1.85476932e-01 1.62292315e-01 3.47769247e-01 3.01400014e-01 3.01400014e-01 1.85476932e-01 3.94138480e-01 2.55030781e-01 2.08661548e-01 3.01400014e-01 2.08661548e-01 3.47769247e-01 3.47769247e-01 1.15923082e-01 2.78215398e-01 2.31846165e-01 3.01400014e-01 3.47769247e-01 2.55030781e-01 3.94138480e-01 3.01400014e-01 1.39107699e-01 3.01400014e-01 2.78215398e-01 3.01400014e-01 3.01400014e-01 2.55030781e-01 3.24584631e-01 2.31846165e-01 2.31846165e-01 1.85476932e-01 2.78215398e-01 4.17323097e-01 3.94138480e-01 2.08661548e-01 2.08661548e-01 2.78215398e-01 1.15923082e-01 1.62292315e-01 3.01400014e-01 1.62292315e-01 1.39107699e-01 9.27384659e-02 3.47769247e-01 2.31846165e-01 2.08661548e-01 2.78215398e-01 2.31846165e-01 3.01400014e-01 3.47769247e-01 2.55030781e-01 2.31846165e-01 2.31846165e-01 4.40507713e-01 2.78215398e-01 3.24584631e-01 1.39107699e-01 2.31846165e-01 1.85476932e-01 2.08661548e-01 2.31846165e-01 2.08661548e-01 1.62292315e-01 6.95538494e-02 1.39107699e-01 2.55030781e-01 2.31846165e-01 2.55030781e-01 2.08661548e-01 2.31846165e-01 3.24584631e-01 3.24584631e-01 3.24584631e-01 3.01400014e-01 2.31846165e-01 2.55030781e-01 2.55030781e-01 1.85476932e-01 2.31846165e-01 3.01400014e-01 2.31846165e-01 1.15923082e-01 1.85476932e-01 3.01400014e-01 3.24584631e-01 3.24584631e-01 1.39107699e-01 2.55030781e-01 2.55030781e-01 2.78215398e-01 1.39107699e-01 3.01400014e-01 3.70953864e-01 2.55030781e-01 1.62292315e-01 1.85476932e-01 3.01400014e-01 3.94138480e-01 3.24584631e-01 2.78215398e-01 2.31846165e-01 2.08661548e-01 1.85476932e-01 1.85476932e-01 2.78215398e-01 2.08661548e-01 3.01400014e-01 2.08661548e-01 1.85476932e-01 2.08661548e-01 2.08661548e-01 1.85476932e-01 2.31846165e-01 1.15923082e-01 2.08661548e-01 3.47769247e-01 9.27384659e-02 1.85476932e-01 9.27384659e-02 2.55030781e-01 2.55030781e-01 1.85476932e-01 1.15923082e-01 1.15923082e-01 1.85476932e-01 1.62292315e-01 2.08661548e-01 1.85476932e-01 2.55030781e-01 1.15923082e-01 1.15923082e-01 9.27384659e-02 2.08661548e-01 1.39107699e-01 2.78215398e-01 1.39107699e-01 2.78215398e-01 1.62292315e-01 2.55030781e-01 2.78215398e-01 3.01400014e-01 2.78215398e-01 2.08661548e-01 1.85476932e-01 2.31846165e-01 1.85476932e-01 1.85476932e-01 2.55030781e-01 2.55030781e-01 2.08661548e-01 9.27384659e-02 2.08661548e-01 4.63692330e-02 2.78215398e-01 2.08661548e-01 2.31846165e-01 1.62292315e-01 1.15923082e-01 2.08661548e-01 1.85476932e-01 1.62292315e-01 1.15923082e-01 2.08661548e-01 2.08661548e-01 1.85476932e-01 2.78215398e-01 2.55030781e-01 1.85476932e-01 1.39107699e-01 2.31846165e-01 1.85476932e-01 2.08661548e-01 3.01400014e-01 1.39107699e-01 2.31846165e-01 3.01400014e-01 1.62292315e-01 1.39107699e-01 2.78215398e-01 1.39107699e-01 1.62292315e-01 1.39107699e-01 1.15923082e-01 6.95538494e-02 1.15923082e-01 4.63692330e-02 1.85476932e-01 6.95538494e-02 2.55030781e-01 1.39107699e-01 6.95538494e-02 2.08661548e-01 1.62292315e-01 2.31846165e-01 2.08661548e-01 2.31846165e-01 1.39107699e-01 1.85476932e-01 2.78215398e-01 1.85476932e-01 1.39107699e-01 2.55030781e-01 1.15923082e-01 3.24584631e-01 1.39107699e-01 1.85476932e-01 1.85476932e-01 1.62292315e-01 1.62292315e-01 1.39107699e-01 9.27384659e-02 2.08661548e-01 9.27384659e-02 1.39107699e-01 2.55030781e-01 3.01400014e-01 1.39107699e-01 1.15923082e-01 1.62292315e-01 1.39107699e-01 2.08661548e-01 2.55030781e-01 2.08661548e-01 2.55030781e-01 1.62292315e-01 2.08661548e-01 1.39107699e-01 1.85476932e-01 1.15923082e-01 1.62292315e-01 1.62292315e-01 1.85476932e-01 3.47769247e-01 9.27384659e-02 2.08661548e-01 1.15923082e-01 1.85476932e-01 2.78215398e-01 1.39107699e-01 6.95538494e-02 2.55030781e-01 1.39107699e-01 9.27384659e-02 1.62292315e-01 9.27384659e-02 2.08661548e-01 1.62292315e-01 3.24584631e-01 9.27384659e-02 1.62292315e-01 6.95538494e-02 1.62292315e-01 1.39107699e-01 2.31846165e-01 9.27384659e-02 1.85476932e-01 1.15923082e-01 6.95538494e-02 9.27384659e-02 6.95538494e-02 2.31846165e-01 1.85476932e-01 1.39107699e-01 1.85476932e-01 9.27384659e-02 3.01400014e-01 1.62292315e-01 1.62292315e-01 9.27384659e-02 3.24584631e-01 2.31846165e-01 1.15923082e-01 9.27384659e-02 9.27384659e-02 1.62292315e-01 1.15923082e-01 6.95538494e-02 9.27384659e-02 9.27384659e-02 1.39107699e-01 1.62292315e-01 1.85476932e-01 1.62292315e-01 1.15923082e-01 3.01400014e-01 9.27384659e-02 6.95538494e-02 1.85476932e-01 1.62292315e-01 9.27384659e-02 1.15923082e-01 1.85476932e-01 1.39107699e-01 1.62292315e-01 1.85476932e-01 1.15923082e-01 2.78215398e-01 1.15923082e-01 2.31846165e-01 1.15923082e-01 1.85476932e-01 6.95538494e-02 2.31846165e-02 1.15923082e-01 1.62292315e-01 1.15923082e-01 6.95538494e-02 2.08661548e-01 2.78215398e-01 2.08661548e-01 1.15923082e-01 1.15923082e-01 1.39107699e-01 1.39107699e-01 9.27384659e-02 2.78215398e-01 1.39107699e-01 1.39107699e-01 2.78215398e-01 1.39107699e-01 1.39107699e-01 9.27384659e-02 9.27384659e-02 1.39107699e-01 2.55030781e-01 1.62292315e-01 9.27384659e-02 1.39107699e-01 1.39107699e-01 1.62292315e-01 1.15923082e-01 6.95538494e-02 9.27384659e-02 2.08661548e-01 1.39107699e-01 1.39107699e-01 2.08661548e-01 1.15923082e-01 1.85476932e-01 1.39107699e-01 9.27384659e-02 9.27384659e-02 1.39107699e-01 6.95538494e-02 9.27384659e-02 1.62292315e-01 1.15923082e-01 2.08661548e-01 3.01400014e-01 1.39107699e-01 2.78215398e-01 2.31846165e-01 2.31846165e-02 1.62292315e-01 9.27384659e-02 4.63692330e-02 1.85476932e-01 9.27384659e-02 2.08661548e-01 6.95538494e-02 1.15923082e-01 4.63692330e-02 2.08661548e-01 6.95538494e-02 2.78215398e-01 2.08661548e-01 1.85476932e-01 1.85476932e-01 2.31846165e-01 6.95538494e-02 3.47769247e-01 1.39107699e-01 1.15923082e-01 1.15923082e-01 6.95538494e-02 3.24584631e-01 1.15923082e-01 2.31846165e-01 1.15923082e-01 9.27384659e-02 1.15923082e-01 1.15923082e-01 6.95538494e-02 1.62292315e-01 1.62292315e-01 1.39107699e-01 1.62292315e-01 9.27384659e-02 1.15923082e-01 1.39107699e-01 1.85476932e-01 1.39107699e-01 3.01400014e-01 1.85476932e-01 1.15923082e-01 9.27384659e-02 9.27384659e-02 1.15923082e-01 1.85476932e-01 2.08661548e-01 2.08661548e-01 1.85476932e-01 1.15923082e-01 9.27384659e-02 1.39107699e-01 1.39107699e-01 2.08661548e-01 4.63692330e-02 1.85476932e-01 4.63692330e-02 6.95538494e-02 9.27384659e-02 2.31846165e-02 1.39107699e-01 1.15923082e-01 1.15923082e-01 2.31846165e-01 1.15923082e-01 1.15923082e-01 1.39107699e-01 1.85476932e-01 2.08661548e-01 4.63692330e-02 1.39107699e-01 9.27384659e-02 1.62292315e-01 9.27384659e-02 0.00000000e+00 1.15923082e-01 2.08661548e-01 1.85476932e-01 1.39107699e-01 1.85476932e-01 1.85476932e-01 4.63692330e-02 2.08661548e-01 1.39107699e-01 9.27384659e-02 1.85476932e-01 4.63692330e-02 1.85476932e-01 6.95538494e-02 2.31846165e-01 1.62292315e-01 2.31846165e-01 2.31846165e-01 1.15923082e-01 1.62292315e-01 2.31846165e-01 2.08661548e-01 1.85476932e-01 1.85476932e-01 1.15923082e-01 9.27384659e-02 3.24584631e-01 9.27384659e-02 1.15923082e-01 6.95538494e-02 1.15923082e-01 9.27384659e-02 1.62292315e-01 4.63692330e-02 9.27384659e-02 1.39107699e-01 1.15923082e-01 1.15923082e-01 9.27384659e-02 9.27384659e-02 6.95538494e-02 2.78215398e-01 1.39107699e-01 2.08661548e-01 1.62292315e-01 1.15923082e-01 9.27384659e-02 1.15923082e-01 9.27384659e-02 1.62292315e-01 1.85476932e-01 1.85476932e-01 4.63692330e-02 2.55030781e-01 2.31846165e-01 1.85476932e-01 1.15923082e-01 2.55030781e-01 9.27384659e-02 2.55030781e-01 6.95538494e-02 4.63692330e-02 1.15923082e-01 1.15923082e-01 9.27384659e-02 1.39107699e-01 6.95538494e-02 9.27384659e-02 1.39107699e-01 1.85476932e-01 1.62292315e-01 1.62292315e-01 1.62292315e-01 1.15923082e-01 1.15923082e-01 9.27384659e-02 1.62292315e-01 4.63692330e-02 9.27384659e-02 6.95538494e-02 1.62292315e-01 9.27384659e-02 1.62292315e-01 1.15923082e-01 6.95538494e-02 9.27384659e-02 2.31846165e-02 4.63692330e-02 1.85476932e-01 1.62292315e-01 1.85476932e-01 1.15923082e-01 2.08661548e-01 6.95538494e-02 9.27384659e-02 1.39107699e-01 1.62292315e-01 2.08661548e-01 9.27384659e-02 2.08661548e-01 9.27384659e-02 9.27384659e-02 9.27384659e-02 1.85476932e-01 1.39107699e-01 1.39107699e-01 1.39107699e-01 9.27384659e-02 1.15923082e-01 9.27384659e-02 1.62292315e-01 1.15923082e-01 9.27384659e-02 1.15923082e-01 1.39107699e-01 1.15923082e-01 1.62292315e-01 9.27384659e-02 1.15923082e-01 2.08661548e-01 1.39107699e-01 4.63692330e-02 1.39107699e-01 9.27384659e-02 2.08661548e-01 9.27384659e-02 1.15923082e-01 2.08661548e-01 1.15923082e-01 1.15923082e-01 4.63692330e-02 9.27384659e-02 1.85476932e-01 1.62292315e-01 4.63692330e-02 9.27384659e-02 1.15923082e-01 9.27384659e-02 1.62292315e-01 4.63692330e-02 1.85476932e-01 1.85476932e-01 2.08661548e-01 1.15923082e-01 1.85476932e-01 6.95538494e-02 1.39107699e-01 1.62292315e-01 1.85476932e-01 2.08661548e-01 1.62292315e-01 1.39107699e-01 1.15923082e-01 2.31846165e-01 1.62292315e-01 6.95538494e-02 1.39107699e-01 6.95538494e-02 1.39107699e-01 6.95538494e-02 1.39107699e-01 1.39107699e-01 9.27384659e-02 1.39107699e-01 9.27384659e-02 1.39107699e-01 1.15923082e-01 1.39107699e-01 6.95538494e-02 1.62292315e-01 1.15923082e-01 1.39107699e-01 2.08661548e-01 6.95538494e-02 1.39107699e-01 1.15923082e-01 1.85476932e-01 1.62292315e-01 2.31846165e-02 4.63692330e-02 1.39107699e-01 1.39107699e-01 1.15923082e-01 1.39107699e-01 9.27384659e-02 6.95538494e-02 2.08661548e-01 9.27384659e-02 1.15923082e-01 1.39107699e-01 1.39107699e-01 6.95538494e-02 2.08661548e-01 1.15923082e-01 1.62292315e-01 4.63692330e-02 1.85476932e-01 1.39107699e-01 1.62292315e-01 1.62292315e-01 1.15923082e-01 1.85476932e-01 1.39107699e-01 1.15923082e-01 9.27384659e-02 2.08661548e-01 4.63692330e-02 1.15923082e-01 1.85476932e-01 1.15923082e-01 6.95538494e-02 1.39107699e-01 6.95538494e-02 2.08661548e-01 6.95538494e-02 1.39107699e-01 1.62292315e-01 1.62292315e-01 6.95538494e-02 9.27384659e-02 1.62292315e-01 1.62292315e-01 1.39107699e-01 1.15923082e-01 1.15923082e-01 2.31846165e-01 9.27384659e-02 1.15923082e-01 9.27384659e-02 2.08661548e-01 1.15923082e-01 2.08661548e-01 1.39107699e-01 9.27384659e-02 1.39107699e-01 1.39107699e-01 1.62292315e-01 6.95538494e-02 6.95538494e-02 1.39107699e-01 2.08661548e-01 9.27384659e-02 1.15923082e-01 9.27384659e-02 1.15923082e-01 1.15923082e-01 1.15923082e-01 9.27384659e-02 1.39107699e-01 9.27384659e-02 1.15923082e-01 9.27384659e-02 2.31846165e-02 1.15923082e-01 1.85476932e-01 6.95538494e-02 1.39107699e-01 2.08661548e-01 9.27384659e-02 6.95538494e-02 1.39107699e-01 4.63692330e-02 1.62292315e-01 9.27384659e-02 9.27384659e-02 2.31846165e-02 6.95538494e-02 1.15923082e-01 2.31846165e-02 9.27384659e-02 4.63692330e-02 9.27384659e-02 4.63692330e-02 9.27384659e-02 9.27384659e-02 6.95538494e-02 1.62292315e-01 1.15923082e-01 2.31846165e-02 4.63692330e-02 1.15923082e-01 4.63692330e-02 1.15923082e-01 6.95538494e-02 1.39107699e-01 1.62292315e-01 9.27384659e-02 1.39107699e-01 2.08661548e-01 2.31846165e-02 4.63692330e-02 9.27384659e-02 1.15923082e-01 1.85476932e-01 1.39107699e-01 1.62292315e-01 1.15923082e-01 6.95538494e-02 1.15923082e-01 9.27384659e-02 9.27384659e-02 1.15923082e-01 1.39107699e-01 1.15923082e-01 1.62292315e-01 1.62292315e-01 4.63692330e-02 1.85476932e-01 1.39107699e-01 1.39107699e-01 0.00000000e+00 6.95538494e-02 1.15923082e-01 6.95538494e-02 6.95538494e-02 1.15923082e-01 4.63692330e-02 9.27384659e-02 6.95538494e-02 4.63692330e-02 1.39107699e-01 1.39107699e-01 9.27384659e-02 1.62292315e-01 1.15923082e-01 1.85476932e-01 1.15923082e-01 1.62292315e-01 1.15923082e-01 1.15923082e-01 6.95538494e-02 9.27384659e-02 6.95538494e-02 6.95538494e-02 1.39107699e-01 4.63692330e-02 1.62292315e-01 1.15923082e-01 1.39107699e-01 1.39107699e-01 9.27384659e-02 1.15923082e-01 1.15923082e-01 9.27384659e-02 1.62292315e-01 9.27384659e-02 1.15923082e-01 1.85476932e-01 2.31846165e-02 9.27384659e-02 2.08661548e-01 1.39107699e-01 1.85476932e-01 1.15923082e-01 0.00000000e+00 6.95538494e-02 1.62292315e-01 4.63692330e-02 9.27384659e-02 1.62292315e-01 1.15923082e-01 1.15923082e-01 1.39107699e-01 6.95538494e-02 1.15923082e-01 6.95538494e-02 1.39107699e-01 4.63692330e-02 2.55030781e-01 6.95538494e-02 4.63692330e-02 9.27384659e-02 1.15923082e-01 1.39107699e-01 4.63692330e-02 6.95538494e-02 9.27384659e-02 1.62292315e-01 1.39107699e-01 1.15923082e-01 4.63692330e-02 6.95538494e-02 6.95538494e-02 4.63692330e-02 9.27384659e-02 6.95538494e-02 9.27384659e-02 1.39107699e-01 2.08661548e-01 6.95538494e-02 0.00000000e+00 9.27384659e-02 1.15923082e-01 9.27384659e-02 4.63692330e-02 9.27384659e-02 4.63692330e-02 4.63692330e-02 9.27384659e-02 9.27384659e-02 2.08661548e-01 9.27384659e-02 0.00000000e+00 1.39107699e-01 1.39107699e-01 9.27384659e-02 6.95538494e-02 9.27384659e-02 2.08661548e-01 9.27384659e-02 6.95538494e-02 1.15923082e-01 1.39107699e-01 1.15923082e-01 4.63692330e-02 1.39107699e-01 0.00000000e+00 2.08661548e-01 6.95538494e-02 9.27384659e-02 1.85476932e-01 1.15923082e-01 1.85476932e-01 1.62292315e-01 9.27384659e-02 1.39107699e-01 6.95538494e-02 9.27384659e-02 1.39107699e-01 1.39107699e-01 9.27384659e-02 1.15923082e-01 1.39107699e-01 4.63692330e-02 1.15923082e-01 9.27384659e-02 9.27384659e-02 1.62292315e-01 9.27384659e-02 1.85476932e-01 1.39107699e-01 2.08661548e-01 9.27384659e-02 6.95538494e-02 1.15923082e-01 1.62292315e-01 6.95538494e-02 1.15923082e-01 1.15923082e-01 1.15923082e-01 2.08661548e-01 2.31846165e-02 6.95538494e-02 1.39107699e-01 9.27384659e-02 1.39107699e-01 1.15923082e-01 1.15923082e-01 6.95538494e-02 1.85476932e-01 1.62292315e-01 6.95538494e-02 1.39107699e-01 1.15923082e-01 4.63692330e-02 1.39107699e-01 9.27384659e-02 6.95538494e-02 1.39107699e-01 1.62292315e-01 1.62292315e-01 1.15923082e-01 6.95538494e-02 1.62292315e-01 9.27384659e-02 1.62292315e-01 9.27384659e-02 1.15923082e-01 2.31846165e-01 6.95538494e-02 6.95538494e-02 2.55030781e-01 1.62292315e-01 2.78215398e-01 6.95538494e-02 1.15923082e-01 9.27384659e-02 1.62292315e-01 9.27384659e-02 1.39107699e-01 9.27384659e-02 6.95538494e-02 1.15923082e-01 1.15923082e-01 4.63692330e-02 9.27384659e-02 1.39107699e-01 1.62292315e-01 9.27384659e-02 9.27384659e-02 9.27384659e-02 1.39107699e-01 1.85476932e-01 1.15923082e-01 1.15923082e-01 2.08661548e-01 1.15923082e-01 6.95538494e-02 4.63692330e-02 4.63692330e-02 1.39107699e-01 1.15923082e-01 6.95538494e-02 9.27384659e-02 1.15923082e-01 2.31846165e-02 1.15923082e-01 1.15923082e-01 9.27384659e-02 1.15923082e-01 1.39107699e-01 4.63692330e-02 4.63692330e-02 4.63692330e-02 6.95538494e-02 1.39107699e-01 4.63692330e-02 9.27384659e-02 9.27384659e-02 1.15923082e-01 4.63692330e-02 6.95538494e-02 6.95538494e-02 9.27384659e-02 4.63692330e-02 6.95538494e-02 9.27384659e-02 4.63692330e-02 2.31846165e-02 1.15923082e-01 4.63692330e-02 6.95538494e-02 1.15923082e-01 6.95538494e-02 1.15923082e-01 1.39107699e-01 1.39107699e-01 4.63692330e-02 1.15923082e-01 1.15923082e-01 1.15923082e-01 4.63692330e-02 9.27384659e-02 1.39107699e-01 1.62292315e-01 4.63692330e-02 1.39107699e-01 6.95538494e-02 4.63692330e-02 9.27384659e-02 1.15923082e-01 6.95538494e-02 1.39107699e-01 9.27384659e-02 6.95538494e-02 6.95538494e-02 4.63692330e-02 1.39107699e-01 1.39107699e-01 2.31846165e-02 2.31846165e-02 1.62292315e-01 9.27384659e-02 6.95538494e-02 6.95538494e-02 1.15923082e-01 6.95538494e-02 1.15923082e-01 1.15923082e-01 4.63692330e-02 2.31846165e-02 1.15923082e-01 2.31846165e-02 4.63692330e-02 1.62292315e-01 6.95538494e-02 6.95538494e-02 6.95538494e-02 6.95538494e-02 4.63692330e-02 9.27384659e-02 9.27384659e-02 6.95538494e-02 4.63692330e-02 1.15923082e-01 1.15923082e-01 6.95538494e-02 9.27384659e-02 6.95538494e-02 6.95538494e-02 9.27384659e-02 6.95538494e-02 6.95538494e-02 9.27384659e-02 6.95538494e-02 1.15923082e-01 6.95538494e-02 4.63692330e-02 1.39107699e-01 1.15923082e-01 6.95538494e-02 1.15923082e-01 1.39107699e-01 6.95538494e-02 6.95538494e-02 1.15923082e-01 1.39107699e-01 4.63692330e-02 9.27384659e-02 6.95538494e-02 4.63692330e-02 2.31846165e-02 1.15923082e-01 9.27384659e-02 4.63692330e-02 9.27384659e-02 9.27384659e-02 9.27384659e-02 6.95538494e-02 9.27384659e-02 6.95538494e-02 4.63692330e-02 6.95538494e-02 1.15923082e-01 1.39107699e-01 6.95538494e-02 1.15923082e-01 1.85476932e-01 6.95538494e-02 1.15923082e-01 6.95538494e-02 1.15923082e-01 1.15923082e-01 1.39107699e-01 6.95538494e-02 4.63692330e-02 1.15923082e-01 6.95538494e-02 1.15923082e-01 9.27384659e-02 1.15923082e-01 2.55030781e-01 9.27384659e-02 1.62292315e-01 1.62292315e-01 9.27384659e-02 9.27384659e-02 1.15923082e-01 9.27384659e-02 1.15923082e-01 6.95538494e-02 6.95538494e-02 6.95538494e-02 1.15923082e-01 1.62292315e-01 9.27384659e-02 1.39107699e-01 1.39107699e-01 1.62292315e-01 9.27384659e-02 1.62292315e-01 1.39107699e-01 1.62292315e-01 9.27384659e-02 1.15923082e-01 6.95538494e-02 9.27384659e-02 9.27384659e-02 6.95538494e-02 1.62292315e-01 1.39107699e-01 6.95538494e-02 9.27384659e-02 1.39107699e-01 4.63692330e-02 1.39107699e-01 1.15923082e-01 6.95538494e-02 6.95538494e-02 9.27384659e-02 4.63692330e-02 6.95538494e-02 1.15923082e-01 6.95538494e-02 9.27384659e-02 4.63692330e-02 4.63692330e-02 2.31846165e-01 9.27384659e-02 1.39107699e-01 6.95538494e-02 9.27384659e-02 1.15923082e-01 9.27384659e-02 1.39107699e-01 4.63692330e-02 2.31846165e-02 1.39107699e-01 2.31846165e-01 4.63692330e-02 2.31846165e-02 1.39107699e-01 6.95538494e-02 9.27384659e-02 1.15923082e-01 9.27384659e-02 4.63692330e-02 9.27384659e-02 1.15923082e-01 4.63692330e-02 1.15923082e-01 1.15923082e-01 6.95538494e-02 9.27384659e-02 1.62292315e-01 9.27384659e-02 2.08661548e-01 1.15923082e-01 1.62292315e-01 1.85476932e-01 1.15923082e-01 1.62292315e-01 9.27384659e-02 2.08661548e-01 9.27384659e-02 9.27384659e-02 1.15923082e-01 1.15923082e-01 4.63692330e-02 9.27384659e-02 4.63692330e-02 9.27384659e-02 9.27384659e-02 9.27384659e-02 9.27384659e-02 1.85476932e-01 6.95538494e-02 1.15923082e-01 6.95538494e-02 4.63692330e-02 6.95538494e-02 1.39107699e-01 1.15923082e-01 4.63692330e-02 1.15923082e-01 4.63692330e-02 1.39107699e-01 9.27384659e-02 4.63692330e-02 2.08661548e-01 1.62292315e-01 9.27384659e-02 1.15923082e-01 1.39107699e-01 2.55030781e-01 1.85476932e-01 4.63692330e-02 1.15923082e-01 6.95538494e-02 1.15923082e-01 4.63692330e-02 1.15923082e-01 9.27384659e-02 1.15923082e-01 1.62292315e-01 9.27384659e-02 1.62292315e-01 4.63692330e-02 4.63692330e-02 1.62292315e-01 6.95538494e-02 9.27384659e-02 2.31846165e-01 9.27384659e-02 6.95538494e-02 9.27384659e-02 6.95538494e-02 1.39107699e-01 4.63692330e-02 6.95538494e-02 6.95538494e-02 1.62292315e-01 0.00000000e+00 1.15923082e-01 2.31846165e-02 9.27384659e-02 9.27384659e-02 1.15923082e-01 0.00000000e+00 1.15923082e-01 6.95538494e-02 6.95538494e-02 6.95538494e-02 1.15923082e-01 2.08661548e-01 1.62292315e-01 0.00000000e+00 9.27384659e-02 1.85476932e-01 1.15923082e-01 0.00000000e+00 1.85476932e-01 1.62292315e-01 6.95538494e-02 1.62292315e-01 9.27384659e-02 9.27384659e-02 6.95538494e-02 0.00000000e+00 9.27384659e-02 9.27384659e-02 1.39107699e-01 6.95538494e-02 1.62292315e-01 1.15923082e-01 1.39107699e-01 1.39107699e-01 6.95538494e-02 4.63692330e-02 1.39107699e-01 9.27384659e-02 1.39107699e-01 1.39107699e-01 1.15923082e-01 2.08661548e-01 6.95538494e-02 4.63692330e-02 6.95538494e-02 9.27384659e-02 6.95538494e-02 2.55030781e-01 6.95538494e-02 4.63692330e-02 2.31846165e-02 1.85476932e-01 1.15923082e-01 2.78215398e-01 6.95538494e-02 1.39107699e-01 9.27384659e-02 1.39107699e-01 6.95538494e-02 1.15923082e-01 4.63692330e-02 1.39107699e-01 1.39107699e-01 1.15923082e-01 2.31846165e-01 1.62292315e-01 4.63692330e-02 6.95538494e-02 1.62292315e-01 1.62292315e-01 4.63692330e-02 9.27384659e-02 2.31846165e-01 6.95538494e-02 1.15923082e-01 1.39107699e-01 2.31846165e-02 9.27384659e-02 1.62292315e-01 6.95538494e-02 1.39107699e-01 6.95538494e-02 9.27384659e-02 1.62292315e-01 4.63692330e-02 1.15923082e-01 9.27384659e-02 9.27384659e-02 1.39107699e-01 1.62292315e-01 6.95538494e-02 9.27384659e-02 6.95538494e-02 1.85476932e-01 2.31846165e-02 0.00000000e+00 6.95538494e-02 6.95538494e-02 9.27384659e-02 1.39107699e-01 6.95538494e-02 1.39107699e-01 9.27384659e-02 0.00000000e+00 1.15923082e-01 9.27384659e-02 2.31846165e-02 6.95538494e-02 9.27384659e-02 6.95538494e-02 6.95538494e-02 9.27384659e-02 2.31846165e-02 9.27384659e-02 1.62292315e-01 4.63692330e-02 1.15923082e-01 1.15923082e-01 1.15923082e-01 6.95538494e-02 4.63692330e-02 2.31846165e-02 9.27384659e-02 1.39107699e-01 2.31846165e-02 1.15923082e-01 6.95538494e-02 1.62292315e-01 9.27384659e-02 4.63692330e-02 1.62292315e-01 1.62292315e-01 1.15923082e-01 9.27384659e-02 6.95538494e-02 9.27384659e-02 1.15923082e-01 9.27384659e-02 4.63692330e-02 1.62292315e-01 0.00000000e+00 4.63692330e-02 6.95538494e-02 6.95538494e-02 4.63692330e-02 6.95538494e-02 1.62292315e-01 9.27384659e-02 6.95538494e-02 6.95538494e-02 2.08661548e-01 9.27384659e-02 1.62292315e-01 9.27384659e-02 1.15923082e-01 4.63692330e-02 6.95538494e-02 2.31846165e-02 6.95538494e-02 2.31846165e-02 9.27384659e-02 1.15923082e-01 1.62292315e-01 1.62292315e-01 1.39107699e-01 4.63692330e-02 9.27384659e-02 9.27384659e-02 6.95538494e-02 6.95538494e-02 2.08661548e-01 1.15923082e-01 1.15923082e-01 6.95538494e-02 6.95538494e-02 9.27384659e-02 1.15923082e-01 4.63692330e-02 1.62292315e-01 1.15923082e-01 9.27384659e-02 1.85476932e-01 9.27384659e-02 9.27384659e-02 1.62292315e-01 9.27384659e-02 1.15923082e-01 6.95538494e-02 6.95538494e-02 4.63692330e-02 2.31846165e-02 1.39107699e-01 1.85476932e-01 1.39107699e-01 9.27384659e-02 9.27384659e-02 9.27384659e-02 6.95538494e-02 2.31846165e-02 1.15923082e-01 1.85476932e-01 4.63692330e-02 6.95538494e-02 1.15923082e-01 1.85476932e-01 6.95538494e-02 9.27384659e-02 1.15923082e-01 1.15923082e-01 1.39107699e-01 1.15923082e-01 6.95538494e-02 1.62292315e-01 1.39107699e-01 1.62292315e-01 2.08661548e-01 6.95538494e-02 9.27384659e-02 1.15923082e-01 1.62292315e-01 1.15923082e-01 1.62292315e-01 1.15923082e-01 1.62292315e-01 1.15923082e-01 1.39107699e-01 1.15923082e-01 4.63692330e-02 9.27384659e-02 1.15923082e-01 1.15923082e-01 1.39107699e-01 4.63692330e-02 1.15923082e-01 1.62292315e-01 2.08661548e-01 4.63692330e-02 1.62292315e-01 9.27384659e-02 1.62292315e-01 1.39107699e-01 1.39107699e-01 6.95538494e-02 2.31846165e-02 1.39107699e-01 4.63692330e-02 1.39107699e-01 1.85476932e-01 1.15923082e-01 1.39107699e-01 4.63692330e-02 1.15923082e-01 1.39107699e-01 1.15923082e-01 9.27384659e-02 1.15923082e-01 6.95538494e-02 1.85476932e-01 1.15923082e-01 2.31846165e-02 6.95538494e-02 6.95538494e-02 9.27384659e-02 2.08661548e-01 1.62292315e-01 4.63692330e-02 4.63692330e-02 1.62292315e-01 6.95538494e-02 1.85476932e-01 6.95538494e-02 4.63692330e-02 1.85476932e-01 6.95538494e-02 9.27384659e-02 1.62292315e-01 1.62292315e-01 4.63692330e-02 1.62292315e-01 1.39107699e-01 4.63692330e-02 1.15923082e-01 1.39107699e-01 1.15923082e-01 1.15923082e-01 1.15923082e-01 1.85476932e-01 2.08661548e-01 6.95538494e-02 2.31846165e-02 6.95538494e-02 1.62292315e-01 1.39107699e-01 6.95538494e-02 1.85476932e-01 1.15923082e-01 1.39107699e-01 9.27384659e-02 6.95538494e-02 1.15923082e-01 1.39107699e-01 1.15923082e-01 1.15923082e-01 1.15923082e-01 6.95538494e-02 6.95538494e-02 1.62292315e-01 1.39107699e-01 4.63692330e-02 1.85476932e-01 1.15923082e-01 1.15923082e-01 1.15923082e-01 1.39107699e-01 4.63692330e-02 1.39107699e-01 1.39107699e-01 1.15923082e-01 2.31846165e-01 1.15923082e-01 4.63692330e-02 1.15923082e-01 1.85476932e-01 1.39107699e-01 1.39107699e-01 1.15923082e-01 9.27384659e-02 1.62292315e-01 1.39107699e-01 1.62292315e-01 1.85476932e-01 9.27384659e-02 9.27384659e-02 2.31846165e-01 1.62292315e-01 9.27384659e-02 4.63692330e-02 6.95538494e-02 6.95538494e-02 1.15923082e-01 6.95538494e-02 9.27384659e-02 9.27384659e-02 6.95538494e-02 6.95538494e-02 2.31846165e-01 1.39107699e-01 6.95538494e-02 1.39107699e-01 6.95538494e-02 9.27384659e-02 1.85476932e-01 1.62292315e-01 1.62292315e-01 1.15923082e-01 1.15923082e-01 6.95538494e-02 1.15923082e-01 1.15923082e-01 1.15923082e-01 9.27384659e-02 1.15923082e-01 9.27384659e-02 1.39107699e-01 1.62292315e-01 6.95538494e-02 1.39107699e-01 9.27384659e-02 1.39107699e-01 1.39107699e-01 1.85476932e-01 9.27384659e-02 1.39107699e-01 6.95538494e-02 2.55030781e-01 1.15923082e-01 9.27384659e-02 9.27384659e-02 6.95538494e-02 4.63692330e-02 1.15923082e-01 9.27384659e-02 1.62292315e-01 2.31846165e-02 1.62292315e-01 1.39107699e-01 1.39107699e-01 1.39107699e-01 6.95538494e-02 2.08661548e-01 1.62292315e-01 1.15923082e-01 1.39107699e-01 1.39107699e-01 9.27384659e-02 0.00000000e+00 6.95538494e-02 1.85476932e-01 9.27384659e-02 1.39107699e-01 1.85476932e-01 2.08661548e-01 4.63692330e-02 9.27384659e-02 1.15923082e-01 2.31846165e-02 1.15923082e-01 4.63692330e-02 1.15923082e-01 9.27384659e-02 6.95538494e-02 1.39107699e-01 1.62292315e-01 1.15923082e-01 2.08661548e-01 1.15923082e-01 2.31846165e-01 9.27384659e-02 1.15923082e-01 1.85476932e-01 6.95538494e-02 1.39107699e-01 1.62292315e-01 9.27384659e-02 9.27384659e-02 6.95538494e-02 9.27384659e-02 6.95538494e-02 2.31846165e-02 6.95538494e-02 9.27384659e-02 2.31846165e-02 9.27384659e-02 1.62292315e-01 1.39107699e-01 9.27384659e-02 1.15923082e-01 3.47769247e-01 1.15923082e-01 1.62292315e-01 1.15923082e-01 1.62292315e-01 2.31846165e-01 2.08661548e-01 1.39107699e-01 1.62292315e-01 6.95538494e-02 6.95538494e-02 1.15923082e-01 1.39107699e-01 1.62292315e-01 2.31846165e-02 9.27384659e-02 1.85476932e-01 9.27384659e-02 1.85476932e-01 1.39107699e-01 4.63692330e-02 1.39107699e-01 1.62292315e-01 9.27384659e-02 1.15923082e-01 2.31846165e-01 1.39107699e-01 2.31846165e-02 4.63692330e-02 6.95538494e-02 1.39107699e-01 2.55030781e-01 9.27384659e-02 9.27384659e-02 1.39107699e-01 1.39107699e-01 9.27384659e-02 1.85476932e-01 9.27384659e-02 6.95538494e-02 9.27384659e-02 1.15923082e-01 6.95538494e-02 2.08661548e-01 9.27384659e-02 9.27384659e-02 6.95538494e-02 1.62292315e-01 1.15923082e-01 2.31846165e-01 2.08661548e-01 1.85476932e-01 1.15923082e-01 1.39107699e-01 9.27384659e-02 2.08661548e-01 1.15923082e-01 1.39107699e-01 1.39107699e-01 1.85476932e-01 2.31846165e-01 9.27384659e-02 6.95538494e-02 1.62292315e-01 9.27384659e-02 4.63692330e-02 1.85476932e-01 1.39107699e-01 1.85476932e-01 1.85476932e-01 1.62292315e-01 1.39107699e-01 6.95538494e-02 9.27384659e-02 1.62292315e-01 1.85476932e-01 2.31846165e-02 1.39107699e-01 1.39107699e-01 1.15923082e-01 1.62292315e-01 1.39107699e-01 1.62292315e-01 1.15923082e-01 6.95538494e-02 1.62292315e-01 1.39107699e-01 6.95538494e-02 1.39107699e-01 2.31846165e-01 9.27384659e-02 1.39107699e-01 2.31846165e-02 1.15923082e-01 1.85476932e-01 1.62292315e-01 9.27384659e-02 6.95538494e-02 1.39107699e-01 1.62292315e-01 1.62292315e-01 1.62292315e-01 4.63692330e-02 1.62292315e-01 2.31846165e-01 1.39107699e-01 1.15923082e-01 4.63692330e-02 1.39107699e-01 1.15923082e-01 1.85476932e-01 1.62292315e-01 9.27384659e-02 6.95538494e-02 2.08661548e-01 1.15923082e-01 1.15923082e-01 1.39107699e-01 2.78215398e-01 1.62292315e-01 1.39107699e-01 9.27384659e-02 9.27384659e-02 2.08661548e-01 1.15923082e-01 9.27384659e-02 1.39107699e-01 1.85476932e-01 1.15923082e-01 4.63692330e-02 1.62292315e-01 1.85476932e-01 1.62292315e-01 1.39107699e-01 1.15923082e-01 1.85476932e-01 1.85476932e-01 9.27384659e-02 1.39107699e-01 2.31846165e-01 2.31846165e-01 1.39107699e-01 2.08661548e-01 2.08661548e-01 9.27384659e-02 1.39107699e-01 1.15923082e-01 2.31846165e-01 1.39107699e-01 9.27384659e-02 1.39107699e-01 2.08661548e-01 2.55030781e-01 2.31846165e-01 4.63692330e-02 1.62292315e-01 1.85476932e-01 6.95538494e-02 1.62292315e-01 1.85476932e-01 1.39107699e-01 2.55030781e-01 1.15923082e-01 1.39107699e-01 1.39107699e-01 1.15923082e-01 4.63692330e-02 1.15923082e-01 1.85476932e-01 2.08661548e-01 9.27384659e-02 1.62292315e-01 1.62292315e-01 1.15923082e-01 2.78215398e-01 1.85476932e-01 4.63692330e-02 2.08661548e-01 1.85476932e-01 1.15923082e-01 1.15923082e-01 2.55030781e-01 1.85476932e-01 2.08661548e-01 1.85476932e-01 9.27384659e-02 1.39107699e-01 1.15923082e-01 1.15923082e-01 2.31846165e-01 4.63692330e-02 2.08661548e-01 2.08661548e-01 1.62292315e-01 1.39107699e-01 2.08661548e-01 1.15923082e-01 1.15923082e-01 9.27384659e-02 3.47769247e-01 1.39107699e-01 1.85476932e-01 4.63692330e-02 1.62292315e-01 2.08661548e-01 1.15923082e-01 2.08661548e-01 1.62292315e-01 2.08661548e-01 1.15923082e-01 1.85476932e-01 1.39107699e-01 9.27384659e-02 9.27384659e-02 2.31846165e-01 1.62292315e-01 1.15923082e-01 1.15923082e-01 1.15923082e-01 4.63692330e-02 2.08661548e-01 1.15923082e-01 2.08661548e-01 1.39107699e-01 2.31846165e-01 1.62292315e-01 1.15923082e-01 1.39107699e-01 2.31846165e-01 1.85476932e-01 1.62292315e-01 2.55030781e-01 6.95538494e-02 1.85476932e-01 1.39107699e-01 1.15923082e-01 1.15923082e-01 1.85476932e-01 2.08661548e-01 1.39107699e-01 1.62292315e-01 1.39107699e-01 9.27384659e-02 6.95538494e-02 2.31846165e-01 2.78215398e-01 1.85476932e-01 1.15923082e-01 2.31846165e-01 1.15923082e-01 1.62292315e-01 1.85476932e-01 1.39107699e-01 2.55030781e-01 1.62292315e-01 9.27384659e-02 1.62292315e-01 1.15923082e-01 1.39107699e-01 1.85476932e-01 2.78215398e-01 1.39107699e-01 2.08661548e-01 2.55030781e-01 1.85476932e-01 9.27384659e-02 2.31846165e-01 1.85476932e-01 2.08661548e-01 1.39107699e-01 4.63692330e-02 1.85476932e-01 6.95538494e-02 9.27384659e-02 9.27384659e-02 1.62292315e-01 1.62292315e-01 3.01400014e-01 1.39107699e-01 3.94138480e-01 1.62292315e-01 1.15923082e-01 1.62292315e-01 1.15923082e-01 1.62292315e-01 1.15923082e-01 1.15923082e-01 6.95538494e-02 1.85476932e-01 1.39107699e-01 2.08661548e-01 1.85476932e-01 2.78215398e-01 2.31846165e-01 9.27384659e-02 1.15923082e-01 1.85476932e-01 2.55030781e-01 1.39107699e-01 1.15923082e-01 2.08661548e-01 1.39107699e-01 1.85476932e-01 4.63692330e-02 1.15923082e-01 1.85476932e-01 1.85476932e-01 3.01400014e-01 1.62292315e-01 1.62292315e-01 1.62292315e-01 1.85476932e-01 1.85476932e-01 1.15923082e-01 1.62292315e-01 2.08661548e-01 2.55030781e-01 2.31846165e-01 1.15923082e-01 3.01400014e-01 3.47769247e-01 1.15923082e-01 1.85476932e-01 9.27384659e-02 9.27384659e-02 1.15923082e-01 1.15923082e-01 1.15923082e-01 2.31846165e-01 1.85476932e-01 2.08661548e-01 2.55030781e-01 1.85476932e-01 1.62292315e-01 1.85476932e-01 1.39107699e-01 9.27384659e-02 2.31846165e-01 1.85476932e-01 1.85476932e-01 2.78215398e-01 1.39107699e-01 1.85476932e-01 1.62292315e-01 2.31846165e-01 1.62292315e-01 2.31846165e-01 1.85476932e-01 1.62292315e-01 3.24584631e-01 1.39107699e-01 1.62292315e-01 2.08661548e-01 2.08661548e-01 1.15923082e-01 2.31846165e-01 1.85476932e-01 2.78215398e-01 2.08661548e-01 2.08661548e-01 1.39107699e-01 2.08661548e-01 1.62292315e-01 2.08661548e-01 1.15923082e-01 2.78215398e-01 2.08661548e-01 1.85476932e-01 1.39107699e-01 1.85476932e-01 2.31846165e-01 1.39107699e-01 2.31846165e-01 2.31846165e-01 4.63692330e-02 1.85476932e-01 1.62292315e-01 1.15923082e-01 2.78215398e-01 1.39107699e-01 1.15923082e-01 2.55030781e-01 1.85476932e-01 9.27384659e-02 1.62292315e-01 1.62292315e-01 2.08661548e-01 1.85476932e-01 1.62292315e-01 1.62292315e-01 2.08661548e-01 2.31846165e-01 2.55030781e-01 3.24584631e-01 1.85476932e-01 2.31846165e-01 1.15923082e-01 9.27384659e-02 1.62292315e-01 3.70953864e-01 1.39107699e-01 1.62292315e-01 1.85476932e-01 6.95538494e-02 2.31846165e-01 1.15923082e-01 1.85476932e-01 2.55030781e-01 1.62292315e-01 1.15923082e-01 2.55030781e-01 2.31846165e-01 2.31846165e-01 1.62292315e-01 2.78215398e-01 1.85476932e-01 2.31846165e-01 1.39107699e-01 1.15923082e-01 2.78215398e-01 2.08661548e-01 1.39107699e-01 1.85476932e-01 2.55030781e-01 1.62292315e-01 3.24584631e-01 1.85476932e-01 1.62292315e-01 2.78215398e-01 2.08661548e-01 3.01400014e-01 3.01400014e-01 2.78215398e-01 1.62292315e-01 3.01400014e-01 2.08661548e-01 2.08661548e-01 3.47769247e-01 1.39107699e-01 2.55030781e-01 4.40507713e-01 2.31846165e-01 1.62292315e-01 2.55030781e-01 1.62292315e-01 2.55030781e-01 1.85476932e-01 3.01400014e-01 2.08661548e-01 1.15923082e-01 2.31846165e-01 3.24584631e-01 2.08661548e-01 2.55030781e-01 3.01400014e-01 2.78215398e-01 9.27384659e-02 3.01400014e-01 3.47769247e-01 1.62292315e-01 1.85476932e-01 2.31846165e-01 3.94138480e-01 1.62292315e-01 1.85476932e-01 1.62292315e-01 1.39107699e-01 2.78215398e-01 1.62292315e-01 1.85476932e-01 1.85476932e-01 2.08661548e-01 2.55030781e-01 2.55030781e-01 2.78215398e-01 2.78215398e-01 2.78215398e-01 2.08661548e-01 3.01400014e-01 4.63692330e-02 2.55030781e-01 2.78215398e-01 3.47769247e-01 2.55030781e-01 2.31846165e-01 2.31846165e-01 2.55030781e-01 1.15923082e-01 2.78215398e-01 2.78215398e-01 3.01400014e-01 2.78215398e-01 3.01400014e-01 1.85476932e-01 3.01400014e-01 2.08661548e-01 3.24584631e-01 1.39107699e-01 1.39107699e-01 2.55030781e-01 1.39107699e-01 2.08661548e-01 1.39107699e-01 2.08661548e-01 2.08661548e-01 1.39107699e-01 9.27384659e-02 1.85476932e-01 1.62292315e-01 2.31846165e-01 1.85476932e-01 1.39107699e-01 6.95538494e-02 2.55030781e-01 2.78215398e-01 3.47769247e-01 2.31846165e-01 2.55030781e-01 2.55030781e-01 3.01400014e-01 2.31846165e-01 2.55030781e-01 1.85476932e-01 1.85476932e-01 1.62292315e-01 2.78215398e-01 2.31846165e-01 3.24584631e-01 2.08661548e-01 3.24584631e-01 2.31846165e-01 2.78215398e-01 2.78215398e-01 2.78215398e-01 3.94138480e-01 2.78215398e-01 3.01400014e-01 3.94138480e-01 3.01400014e-01 2.31846165e-01 1.85476932e-01 1.39107699e-01 3.24584631e-01 3.47769247e-01 1.39107699e-01 2.55030781e-01 2.31846165e-01 3.47769247e-01 2.78215398e-01 5.56430795e-01 2.55030781e-01 2.08661548e-01 4.86876946e-01 2.08661548e-01 3.01400014e-01 1.62292315e-01 3.24584631e-01 3.24584631e-01 1.85476932e-01 3.47769247e-01 4.17323097e-01 2.55030781e-01 2.78215398e-01 2.78215398e-01 2.55030781e-01 2.31846165e-01 2.08661548e-01 3.47769247e-01 2.78215398e-01 2.55030781e-01 3.47769247e-01 3.24584631e-01 3.01400014e-01 3.47769247e-01 2.08661548e-01 4.86876946e-01 4.63692330e-01 4.40507713e-01 4.17323097e-01 4.17323097e-01 1.39107699e-01 2.55030781e-01 1.85476932e-01 2.31846165e-01 2.31846165e-01 3.24584631e-01 1.62292315e-01 3.01400014e-01 3.70953864e-01 2.78215398e-01 2.55030781e-01 4.40507713e-01 3.24584631e-01 3.47769247e-01 3.01400014e-01 2.55030781e-01 3.01400014e-01 3.24584631e-01 2.78215398e-01 2.55030781e-01 3.24584631e-01 2.31846165e-01 3.47769247e-01 2.55030781e-01 3.70953864e-01 3.47769247e-01 3.01400014e-01 3.01400014e-01 4.17323097e-01 3.01400014e-01 3.94138480e-01 4.17323097e-01 2.55030781e-01 2.78215398e-01 2.31846165e-01 3.24584631e-01 2.31846165e-01 3.24584631e-01 3.47769247e-01 3.70953864e-01 4.40507713e-01 3.01400014e-01 2.78215398e-01 2.31846165e-01 4.40507713e-01 3.70953864e-01 4.63692330e-01 3.94138480e-01 2.55030781e-01 1.15923082e-01 2.55030781e-01 3.70953864e-01 4.17323097e-01 3.47769247e-01 3.24584631e-01 4.86876946e-01 5.33246179e-01 3.94138480e-01 5.33246179e-01 3.70953864e-01 5.10061563e-01 3.70953864e-01 4.63692330e-01 3.47769247e-01 3.47769247e-01 3.24584631e-01 3.94138480e-01 4.63692330e-01 3.47769247e-01 3.01400014e-01 3.94138480e-01 3.94138480e-01 4.63692330e-01 4.86876946e-01 3.47769247e-01 3.94138480e-01 3.24584631e-01 3.70953864e-01 3.70953864e-01 3.70953864e-01 6.25984645e-01 3.94138480e-01 4.63692330e-01 2.78215398e-01 4.40507713e-01 5.10061563e-01 3.01400014e-01 4.40507713e-01 3.24584631e-01 2.31846165e-01 3.47769247e-01 3.70953864e-01 3.94138480e-01 5.10061563e-01 3.70953864e-01 4.63692330e-01 4.86876946e-01 3.24584631e-01 4.86876946e-01 3.47769247e-01 3.24584631e-01 3.47769247e-01 4.63692330e-01 6.02800028e-01 5.56430795e-01 5.10061563e-01 5.10061563e-01 5.79615412e-01 3.94138480e-01 3.94138480e-01 2.55030781e-01 3.01400014e-01 3.94138480e-01 4.40507713e-01 5.79615412e-01 4.86876946e-01 3.70953864e-01 3.47769247e-01 3.24584631e-01 5.33246179e-01 5.33246179e-01 4.63692330e-01 6.25984645e-01 4.40507713e-01 6.02800028e-01 4.63692330e-01 9.27384659e-01 4.40507713e-01 6.49169261e-01 4.17323097e-01 5.33246179e-01 3.94138480e-01 3.47769247e-01 3.47769247e-01 4.63692330e-01 3.70953864e-01 7.65092344e-01 3.70953864e-01 5.56430795e-01 5.79615412e-01 3.24584631e-01 5.79615412e-01 4.86876946e-01 5.10061563e-01 3.94138480e-01 6.02800028e-01 6.25984645e-01 4.63692330e-01 7.41907727e-01 6.25984645e-01 6.49169261e-01 7.88276960e-01 4.17323097e-01 6.25984645e-01 6.25984645e-01 3.94138480e-01 6.95538494e-01 7.18723111e-01 3.47769247e-01 6.95538494e-01 4.86876946e-01 6.02800028e-01 6.02800028e-01 3.94138480e-01 5.79615412e-01 3.70953864e-01 7.41907727e-01 6.95538494e-01 7.88276960e-01 6.72353878e-01 6.72353878e-01 7.18723111e-01 7.88276960e-01 5.56430795e-01 7.41907727e-01 5.33246179e-01 6.25984645e-01 6.02800028e-01 4.86876946e-01 4.86876946e-01 5.79615412e-01 8.57830810e-01 8.34646193e-01 6.02800028e-01 9.73753892e-01 4.86876946e-01 5.79615412e-01 1.04330774e+00 6.72353878e-01 8.11461577e-01 6.49169261e-01 5.79615412e-01 6.25984645e-01 7.65092344e-01 8.57830810e-01 7.88276960e-01 4.86876946e-01 7.88276960e-01 6.02800028e-01 7.18723111e-01 5.56430795e-01 9.04200043e-01 7.41907727e-01 5.33246179e-01 7.65092344e-01 6.72353878e-01 7.88276960e-01 7.41907727e-01 1.20560006e+00 7.18723111e-01 7.65092344e-01 6.72353878e-01 6.49169261e-01 5.79615412e-01 7.65092344e-01 7.88276960e-01 1.02012313e+00 7.65092344e-01 5.33246179e-01 9.04200043e-01 9.73753892e-01 7.18723111e-01 9.27384659e-01 6.72353878e-01 8.11461577e-01 9.50569276e-01 1.06649236e+00 1.02012313e+00 6.02800028e-01 9.96938509e-01 8.57830810e-01 8.11461577e-01 9.04200043e-01 7.88276960e-01 6.02800028e-01 9.27384659e-01 9.96938509e-01 1.08967697e+00 8.11461577e-01 9.73753892e-01 8.34646193e-01 7.88276960e-01 9.04200043e-01 1.08967697e+00 1.02012313e+00 1.11286159e+00 8.57830810e-01 9.50569276e-01 1.13604621e+00 1.04330774e+00 1.08967697e+00 9.73753892e-01 1.13604621e+00 1.25196929e+00 1.27515391e+00 9.96938509e-01 9.96938509e-01 8.81015426e-01 1.08967697e+00 1.18241544e+00 9.73753892e-01 1.04330774e+00 1.32152314e+00 1.15923082e+00 9.27384659e-01 1.34470776e+00 1.41426161e+00 1.32152314e+00 1.22878467e+00 1.13604621e+00 1.25196929e+00 1.11286159e+00 1.22878467e+00 1.15923082e+00 9.50569276e-01 1.25196929e+00 1.41426161e+00 1.36789237e+00 1.32152314e+00 1.32152314e+00 1.69247700e+00 1.32152314e+00 1.43744622e+00 1.32152314e+00 1.66929239e+00 1.43744622e+00 1.64610777e+00 1.53018469e+00 1.43744622e+00 1.53018469e+00 1.46063084e+00 1.76203085e+00 1.64610777e+00 1.46063084e+00 1.64610777e+00 1.43744622e+00 1.85476932e+00 1.53018469e+00 2.13298472e+00 1.99387702e+00 1.41426161e+00 1.66929239e+00 1.85476932e+00 1.90113855e+00 1.85476932e+00 1.83158470e+00 2.29527703e+00 1.90113855e+00 2.04024625e+00 2.27209241e+00 2.29527703e+00 2.66623090e+00 2.24890780e+00 1.92432317e+00 2.24890780e+00 2.06343087e+00 2.48075396e+00 2.41120011e+00 2.08661548e+00 1.87795393e+00 2.34164626e+00 2.04024625e+00 2.38801550e+00 2.24890780e+00 2.41120011e+00 2.80533859e+00 2.89807706e+00 2.71260013e+00 2.89807706e+00 3.08355399e+00 2.57349243e+00 2.78215398e+00 3.29221554e+00 2.82852321e+00 2.89807706e+00 3.33858477e+00 3.08355399e+00 3.80227710e+00 3.43132324e+00 3.19947707e+00 3.57043094e+00 3.50087709e+00 3.36176939e+00 4.31233867e+00 3.50087709e+00 3.70953864e+00 4.38189251e+00 3.80227710e+00 4.26596943e+00 4.12686173e+00 3.77909249e+00 4.10367712e+00 4.38189251e+00 4.01093865e+00 4.45144636e+00 4.38189251e+00 4.93832331e+00 4.91513869e+00 5.63386180e+00 5.19335409e+00 5.91207720e+00 5.65704642e+00 5.33246179e+00 5.95844644e+00 6.39895415e+00 6.21347722e+00 6.12073875e+00 6.23666183e+00 6.86264648e+00 7.14086188e+00 7.02493879e+00 6.70035416e+00 7.83640037e+00 7.60455421e+00 7.81321575e+00 7.88276960e+00 7.69729267e+00 8.23053885e+00 8.20735423e+00 8.67104656e+00 8.39283117e+00 8.48556963e+00 8.48556963e+00 9.52887737e+00 1.00621236e+01 9.55206199e+00 9.57524661e+00 1.01316774e+01 9.22747736e+00 1.02012313e+01 1.13372775e+01 1.08967697e+01 1.11286159e+01 1.24037698e+01 1.16850467e+01 1.24269544e+01 1.24037698e+01 1.18705236e+01 1.39339545e+01 1.27979083e+01 1.32152314e+01 1.21719237e+01 1.47222315e+01 1.55568777e+01 1.44903853e+01 1.55105084e+01 1.53250315e+01 1.53945853e+01 1.76203085e+01 1.69479546e+01 1.85476932e+01 1.58814623e+01 1.81071855e+01 1.90345701e+01 1.89186470e+01 1.62756008e+01 1.89882009e+01 1.82231086e+01 2.00778779e+01 1.79680778e+01 1.85476932e+01 1.84781393e+01 1.98460317e+01 1.90577547e+01 1.87331701e+01 1.86636163e+01 1.87563547e+01 2.08661548e+01 2.09125241e+01 1.73420931e+01 1.94750778e+01 1.95910009e+01 1.81767393e+01 1.76434931e+01 1.98460317e+01 1.79217085e+01 1.92664163e+01 1.87099855e+01 1.73884624e+01 1.82926624e+01 1.69943239e+01 1.78985239e+01 1.63219700e+01 1.57887238e+01 1.63915239e+01 1.74116470e+01 1.53018469e+01 1.50931853e+01 1.57423546e+01 1.55105084e+01 1.46758622e+01 1.43049084e+01 1.34934468e+01 1.46063084e+01 1.37252930e+01 1.42585391e+01 1.37021083e+01 1.30761237e+01 1.22414775e+01 1.34238929e+01 1.25892467e+01 1.24501390e+01 1.27283544e+01 1.18937083e+01 1.16618621e+01 1.02939697e+01 1.11286159e+01 1.08735851e+01 9.83027739e+00 9.89983124e+00 8.85652350e+00 9.78390815e+00 9.83027739e+00 8.62467733e+00 9.62161584e+00 8.02187730e+00 9.13473889e+00 9.15792351e+00 7.53500036e+00 7.23360034e+00 7.44226189e+00 7.23360034e+00 6.83946186e+00 6.09755413e+00 6.88583109e+00 6.60761570e+00 6.86264648e+00 6.37576953e+00 6.83946186e+00 5.79615412e+00 5.88889259e+00 5.93526182e+00 5.58749257e+00 4.89195408e+00 4.86876946e+00 5.03106178e+00 5.21653871e+00 4.40507713e+00 5.28609256e+00 4.66010791e+00 3.89501557e+00 3.77909249e+00 4.24278482e+00 4.82240023e+00 4.24278482e+00 4.15004635e+00 3.94138480e+00 3.73272325e+00 3.94138480e+00 3.45450786e+00 3.84864634e+00 3.52406170e+00 3.43132324e+00 3.87183095e+00 3.63998479e+00 3.45450786e+00 2.73578474e+00 2.94444629e+00 3.40813862e+00 2.89807706e+00 2.82852321e+00 2.68941551e+00 2.68941551e+00 2.94444629e+00 2.85170783e+00 2.87489244e+00 2.20253857e+00 2.48075396e+00 3.08355399e+00 2.31846165e+00 3.06036938e+00 2.61986166e+00 2.75896936e+00 3.01400014e+00 2.57349243e+00 2.31846165e+00 2.22572318e+00 2.10980010e+00 2.06343087e+00 2.66623090e+00 2.22572318e+00 2.50393858e+00 2.08661548e+00 1.92432317e+00 1.53018469e+00 2.43438473e+00 1.85476932e+00 1.92432317e+00 1.99387702e+00 1.57655392e+00 1.73884624e+00 1.83158470e+00 1.62292315e+00 1.55336930e+00 1.87795393e+00 1.66929239e+00 1.59973854e+00 1.34470776e+00 1.59973854e+00 1.69247700e+00 1.43744622e+00 1.53018469e+00 1.34470776e+00 1.27515391e+00 1.71566162e+00 1.57655392e+00 1.34470776e+00 1.22878467e+00 1.06649236e+00 9.96938509e-01 1.39107699e+00 1.11286159e+00 1.20560006e+00 1.57655392e+00 9.50569276e-01 1.15923082e+00 1.50700007e+00 1.04330774e+00 1.04330774e+00 1.04330774e+00 9.73753892e-01 8.81015426e-01 1.25196929e+00 1.04330774e+00 9.50569276e-01 9.04200043e-01 1.02012313e+00 7.41907727e-01 8.34646193e-01 8.81015426e-01 8.57830810e-01 9.27384659e-01 1.06649236e+00 9.96938509e-01 9.27384659e-01 6.49169261e-01 7.65092344e-01 9.73753892e-01 7.88276960e-01 8.57830810e-01 9.96938509e-01 7.65092344e-01 7.41907727e-01 4.40507713e-01 7.88276960e-01 6.49169261e-01 6.02800028e-01 8.11461577e-01 8.81015426e-01 6.72353878e-01 6.95538494e-01 7.41907727e-01 6.25984645e-01 7.41907727e-01 6.25984645e-01 5.33246179e-01 5.33246179e-01 5.56430795e-01 4.17323097e-01 3.47769247e-01 4.86876946e-01 5.33246179e-01 5.33246179e-01 4.40507713e-01 6.25984645e-01 5.56430795e-01 2.78215398e-01 5.56430795e-01 5.33246179e-01 4.86876946e-01 3.01400014e-01 3.70953864e-01 4.17323097e-01 4.17323097e-01 5.79615412e-01 3.47769247e-01 4.40507713e-01 4.86876946e-01 2.31846165e-01 3.94138480e-01 2.78215398e-01 4.17323097e-01 2.31846165e-01 2.78215398e-01 4.17323097e-01 2.08661548e-01 3.01400014e-01 2.78215398e-01 3.94138480e-01 3.24584631e-01 1.39107699e-01 2.78215398e-01 2.78215398e-01 2.08661548e-01 3.24584631e-01 1.62292315e-01 2.55030781e-01 2.78215398e-01 2.78215398e-01 1.39107699e-01 1.85476932e-01 2.55030781e-01 2.08661548e-01 1.39107699e-01 2.55030781e-01 1.62292315e-01 9.27384659e-02 1.62292315e-01 2.08661548e-01 1.85476932e-01 1.39107699e-01 1.15923082e-01 2.55030781e-01 1.15923082e-01 1.39107699e-01 1.62292315e-01 1.62292315e-01 1.39107699e-01 1.62292315e-01 1.62292315e-01 4.63692330e-02 1.62292315e-01 6.95538494e-02 4.63692330e-02 6.95538494e-02 9.27384659e-02 1.15923082e-01 2.08661548e-01 2.08661548e-01 1.39107699e-01 6.95538494e-02 1.15923082e-01 6.95538494e-02 6.95538494e-02 1.85476932e-01 9.27384659e-02 1.39107699e-01 1.15923082e-01 1.62292315e-01 1.15923082e-01 9.27384659e-02 4.63692330e-02 4.63692330e-02 1.39107699e-01 1.62292315e-01 1.15923082e-01 1.15923082e-01 1.15923082e-01 1.39107699e-01 9.27384659e-02 2.31846165e-02 1.39107699e-01 4.63692330e-02 1.15923082e-01 2.31846165e-01 1.62292315e-01 6.95538494e-02 4.63692330e-02 1.85476932e-01 9.27384659e-02 4.63692330e-02 6.95538494e-02 6.95538494e-02 2.31846165e-02 4.63692330e-02 6.95538494e-02 6.95538494e-02 9.27384659e-02 6.95538494e-02 2.08661548e-01 4.63692330e-02 6.95538494e-02 6.95538494e-02 2.31846165e-02 9.27384659e-02 9.27384659e-02 6.95538494e-02 6.95538494e-02 4.63692330e-02 0.00000000e+00 4.63692330e-02 4.63692330e-02 1.15923082e-01 6.95538494e-02 6.95538494e-02 6.95538494e-02 4.63692330e-02 6.95538494e-02 1.15923082e-01 0.00000000e+00 6.95538494e-02 2.31846165e-02 2.31846165e-02 4.63692330e-02 0.00000000e+00 4.63692330e-02 4.63692330e-02 2.31846165e-02 2.31846165e-02 1.62292315e-01 4.63692330e-02 4.63692330e-02 4.63692330e-02 2.31846165e-02 0.00000000e+00 1.85476932e-01 6.95538494e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 9.27384659e-02 0.00000000e+00 6.95538494e-02 6.95538494e-02 2.31846165e-02 4.63692330e-02 4.63692330e-02 0.00000000e+00 2.31846165e-02 6.95538494e-02 6.95538494e-02 4.63692330e-02 4.63692330e-02 4.63692330e-02 2.31846165e-02 2.31846165e-02 9.27384659e-02 6.95538494e-02 2.31846165e-02 2.31846165e-02 4.63692330e-02 2.31846165e-02 9.27384659e-02 4.63692330e-02 2.31846165e-02 0.00000000e+00 4.63692330e-02 2.31846165e-02 2.31846165e-02 6.95538494e-02 2.31846165e-02 2.31846165e-02 4.63692330e-02 2.31846165e-02 2.31846165e-02 6.95538494e-02 0.00000000e+00 2.31846165e-02 2.31846165e-02 2.31846165e-02 2.31846165e-02 2.31846165e-02 4.63692330e-02 0.00000000e+00 4.63692330e-02 0.00000000e+00 2.31846165e-02 2.31846165e-02 2.31846165e-02 6.95538494e-02 0.00000000e+00 4.63692330e-02 2.31846165e-02 2.31846165e-02 2.31846165e-02 0.00000000e+00 2.31846165e-02 4.63692330e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 4.63692330e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 4.63692330e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 4.63692330e-02 0.00000000e+00 2.31846165e-02 2.31846165e-02 2.31846165e-02 4.63692330e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 2.31846165e-02 2.31846165e-02 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 9.27384659e-02 0.00000000e+00 4.63692330e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.95538494e-02 2.31846165e-02 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 4.63692330e-02 4.63692330e-02 0.00000000e+00 4.63692330e-02 0.00000000e+00 4.63692330e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 9.27384659e-02 0.00000000e+00 0.00000000e+00 4.63692330e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 4.63692330e-02 0.00000000e+00 2.31846165e-02 4.63692330e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.63692330e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.63692330e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.63692330e-02 0.00000000e+00 0.00000000e+00 4.63692330e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.95538494e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 4.63692330e-02 4.63692330e-02 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 4.63692330e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 2.31846165e-02 4.63692330e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 2.31846165e-02 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.95538494e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.63692330e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.31846165e-02 2.31846165e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 4.86397307e-01 1.29705949e+00 2.26985410e+00 4.86397307e+00 7.62022448e+00 6.48529743e+00 1.21599327e+01 1.15114029e+01 1.28084624e+01 1.29705949e+01 1.34569922e+01 1.84830977e+01 1.83209652e+01 2.01044220e+01 2.28606734e+01 2.02665545e+01 2.31849383e+01 2.25364086e+01 2.22121437e+01 2.30228059e+01 2.02665545e+01 2.25364086e+01 2.41577329e+01 2.20500113e+01 2.36713356e+01 2.25364086e+01 2.23742761e+01 2.44819978e+01 2.01044220e+01 2.31849383e+01 2.10772167e+01 2.12393491e+01 2.02665545e+01 2.12393491e+01 1.94558923e+01 2.39956005e+01 2.54547924e+01 2.38334681e+01 1.68617733e+01 2.10772167e+01 2.48062627e+01 2.49683951e+01 2.57790573e+01 2.25364086e+01 2.18878788e+01 2.15636140e+01 2.20500113e+01 1.97801572e+01 2.43198654e+01 2.54547924e+01 2.15636140e+01 2.30228059e+01 1.88073626e+01 1.60511111e+01 2.25364086e+01 2.17257464e+01 1.66996409e+01 1.92937599e+01 1.79967004e+01 1.92937599e+01 1.91316274e+01 2.01044220e+01 1.89694950e+01 1.76724355e+01 1.76724355e+01 1.81588328e+01 2.07529518e+01 1.71860382e+01 1.71860382e+01 1.94558923e+01 1.68617733e+01 1.79967004e+01 1.41055219e+01 1.73481706e+01 1.52404490e+01 1.73481706e+01 1.91316274e+01 1.50783165e+01 1.34569922e+01 1.55647138e+01 1.37812570e+01 1.57268463e+01 1.68617733e+01 1.62132436e+01 1.52404490e+01 1.21599327e+01 1.55647138e+01 1.42676543e+01 1.34569922e+01 1.78345679e+01 1.41055219e+01 1.36191246e+01 1.63753760e+01 1.05386083e+01 1.10250056e+01 1.15114029e+01 1.47540517e+01 1.65375084e+01 1.26463300e+01 1.15114029e+01 1.68617733e+01 1.42676543e+01 1.37812570e+01 1.16735354e+01 1.65375084e+01 1.23220651e+01 1.24841976e+01 1.08628732e+01 1.31327273e+01 1.29705949e+01 1.28084624e+01 1.13492705e+01 1.36191246e+01 1.23220651e+01 1.29705949e+01 9.24154884e+00 1.26463300e+01 1.29705949e+01 1.13492705e+01 1.15114029e+01 1.02143435e+01 9.24154884e+00 1.05386083e+01 1.00522110e+01 1.13492705e+01 9.72794615e+00 9.56581371e+00 1.28084624e+01 1.32948597e+01 1.00522110e+01 1.18356678e+01 1.02143435e+01 9.56581371e+00 1.11871381e+01 1.03764759e+01 1.13492705e+01 1.07007408e+01 1.13492705e+01 1.18356678e+01 8.75515153e+00 1.03764759e+01 9.56581371e+00 9.72794615e+00 9.24154884e+00 1.13492705e+01 8.91728397e+00 9.56581371e+00 1.16735354e+01 8.91728397e+00 7.94448935e+00 7.62022448e+00 8.10662179e+00 1.16735354e+01 9.40368128e+00 7.29595961e+00 7.62022448e+00 1.00522110e+01 9.24154884e+00 9.07941640e+00 9.56581371e+00 7.45809205e+00 7.78235692e+00 8.10662179e+00 9.72794615e+00 1.23220651e+01 1.07007408e+01 1.07007408e+01 8.10662179e+00 9.89007858e+00 5.83676769e+00 7.13382717e+00 8.91728397e+00 9.56581371e+00 8.91728397e+00 9.07941640e+00 7.45809205e+00 1.03764759e+01 8.10662179e+00 6.97169474e+00 6.97169474e+00 7.29595961e+00 8.59301910e+00 9.07941640e+00 9.40368128e+00 9.24154884e+00 7.62022448e+00 8.59301910e+00 5.02610551e+00 7.78235692e+00 7.45809205e+00 8.26875422e+00 5.99890012e+00 8.26875422e+00 6.64742987e+00 7.45809205e+00 5.67463525e+00 7.29595961e+00 6.48529743e+00 5.99890012e+00 6.48529743e+00 6.32316500e+00 7.78235692e+00 7.94448935e+00 5.99890012e+00 5.18823794e+00 7.29595961e+00 5.35037038e+00 7.13382717e+00 7.45809205e+00 8.91728397e+00 5.83676769e+00 6.80956230e+00 6.32316500e+00 8.26875422e+00 5.35037038e+00 5.83676769e+00 5.99890012e+00 5.83676769e+00 5.02610551e+00 6.32316500e+00 7.29595961e+00 5.67463525e+00 6.32316500e+00 6.16103256e+00 6.80956230e+00 7.13382717e+00 6.97169474e+00 6.16103256e+00 6.16103256e+00 6.32316500e+00 6.80956230e+00 5.51250282e+00 5.51250282e+00 6.64742987e+00 4.53970820e+00 6.16103256e+00 4.37757577e+00 5.02610551e+00 5.18823794e+00 5.02610551e+00 4.70184064e+00 6.32316500e+00 4.37757577e+00 5.18823794e+00 5.02610551e+00 5.02610551e+00 5.02610551e+00 5.83676769e+00 6.48529743e+00 5.02610551e+00 6.97169474e+00 4.37757577e+00 5.99890012e+00 2.91838384e+00 5.99890012e+00 5.83676769e+00 4.05331089e+00 4.21544333e+00 5.35037038e+00 4.70184064e+00 4.53970820e+00 4.05331089e+00 3.56691359e+00 5.35037038e+00 3.24264872e+00 7.13382717e+00 6.16103256e+00 3.89117846e+00 4.53970820e+00 4.53970820e+00 4.53970820e+00 5.35037038e+00 3.40478115e+00 5.83676769e+00 3.72904602e+00 5.18823794e+00 5.35037038e+00 5.99890012e+00 2.75625141e+00 4.21544333e+00 4.37757577e+00 4.21544333e+00 5.18823794e+00 4.70184064e+00 4.21544333e+00 5.02610551e+00 4.05331089e+00 4.21544333e+00 4.70184064e+00 4.86397307e+00 4.05331089e+00 4.37757577e+00 5.67463525e+00 5.51250282e+00 5.18823794e+00 2.75625141e+00 3.72904602e+00 5.02610551e+00 4.37757577e+00 6.32316500e+00 4.53970820e+00 4.86397307e+00 4.53970820e+00 4.21544333e+00 3.89117846e+00 3.08051628e+00 6.32316500e+00 4.37757577e+00 5.18823794e+00 4.21544333e+00 3.56691359e+00 3.89117846e+00 5.02610551e+00 4.21544333e+00 4.70184064e+00 5.67463525e+00 5.02610551e+00 4.05331089e+00 5.02610551e+00 3.89117846e+00 4.53970820e+00 3.24264872e+00 2.91838384e+00 4.37757577e+00 3.40478115e+00 3.72904602e+00 4.21544333e+00 4.37757577e+00 5.51250282e+00 2.26985410e+00 2.59411897e+00 5.18823794e+00 4.21544333e+00 3.72904602e+00 2.91838384e+00 3.56691359e+00 3.89117846e+00 4.37757577e+00 2.75625141e+00 3.24264872e+00 5.02610551e+00 3.40478115e+00 2.43198654e+00 4.53970820e+00 3.56691359e+00 3.24264872e+00 3.72904602e+00 3.72904602e+00 3.56691359e+00 2.91838384e+00 3.72904602e+00 3.08051628e+00 3.40478115e+00 3.72904602e+00 5.02610551e+00 4.53970820e+00 4.53970820e+00 5.51250282e+00 2.26985410e+00 3.24264872e+00 3.40478115e+00 3.24264872e+00 3.72904602e+00 3.24264872e+00 3.89117846e+00 2.59411897e+00 2.59411897e+00 4.70184064e+00 2.59411897e+00 2.59411897e+00 3.72904602e+00 3.56691359e+00 2.43198654e+00 4.21544333e+00 2.26985410e+00 2.59411897e+00 3.08051628e+00 2.10772167e+00 3.56691359e+00 2.26985410e+00 3.24264872e+00 4.37757577e+00 4.37757577e+00 3.24264872e+00 2.75625141e+00 2.75625141e+00 3.40478115e+00 3.40478115e+00 3.08051628e+00 4.05331089e+00 2.59411897e+00 2.91838384e+00 3.08051628e+00 3.89117846e+00 2.59411897e+00 3.40478115e+00 3.08051628e+00 4.53970820e+00 3.40478115e+00 3.40478115e+00 2.75625141e+00 2.75625141e+00 2.26985410e+00 2.91838384e+00 3.56691359e+00 4.86397307e+00 2.59411897e+00 2.43198654e+00 3.56691359e+00 2.10772167e+00 3.89117846e+00 3.24264872e+00 3.24264872e+00 3.40478115e+00 2.26985410e+00 3.08051628e+00 2.43198654e+00 1.45919192e+00 3.08051628e+00 3.24264872e+00 2.10772167e+00 2.91838384e+00 3.40478115e+00 2.75625141e+00 3.40478115e+00 2.10772167e+00 3.89117846e+00 2.10772167e+00 2.59411897e+00 1.78345679e+00 2.75625141e+00 2.43198654e+00 3.56691359e+00 3.08051628e+00 4.86397307e+00 2.91838384e+00 3.72904602e+00 3.40478115e+00 2.43198654e+00 3.89117846e+00 2.59411897e+00 3.72904602e+00 3.08051628e+00 3.08051628e+00 1.45919192e+00 2.43198654e+00 2.26985410e+00 2.10772167e+00 3.40478115e+00 2.43198654e+00 3.24264872e+00 2.91838384e+00 2.91838384e+00 2.91838384e+00 3.08051628e+00 2.75625141e+00 2.43198654e+00 4.37757577e+00 3.40478115e+00 2.26985410e+00 3.08051628e+00 2.75625141e+00 2.59411897e+00 2.59411897e+00 3.56691359e+00 3.24264872e+00 2.59411897e+00 2.75625141e+00 2.10772167e+00 2.43198654e+00 2.59411897e+00 2.75625141e+00 3.40478115e+00 2.10772167e+00 3.89117846e+00 8.10662179e-01 2.59411897e+00 2.75625141e+00 3.40478115e+00 2.26985410e+00 2.59411897e+00 3.89117846e+00 2.10772167e+00 1.78345679e+00 1.94558923e+00 3.24264872e+00 2.10772167e+00 1.13492705e+00 2.26985410e+00 3.08051628e+00 2.91838384e+00 3.24264872e+00 2.10772167e+00 2.91838384e+00 2.43198654e+00 2.59411897e+00 2.59411897e+00 3.08051628e+00 3.40478115e+00 1.78345679e+00 1.94558923e+00 1.94558923e+00 1.45919192e+00 2.10772167e+00 3.08051628e+00 2.26985410e+00 3.08051628e+00 1.45919192e+00 1.45919192e+00 2.26985410e+00 3.40478115e+00 2.26985410e+00 2.43198654e+00 1.94558923e+00 1.78345679e+00 1.13492705e+00 2.75625141e+00 2.91838384e+00 2.59411897e+00 2.26985410e+00 2.75625141e+00 1.94558923e+00 2.91838384e+00 2.26985410e+00 2.26985410e+00 1.94558923e+00 2.43198654e+00 2.59411897e+00 2.10772167e+00 2.75625141e+00 2.91838384e+00 2.59411897e+00 2.10772167e+00 1.94558923e+00 2.75625141e+00 2.10772167e+00 1.94558923e+00 2.59411897e+00 2.59411897e+00 2.75625141e+00 2.59411897e+00 2.10772167e+00 1.45919192e+00 3.24264872e+00 2.59411897e+00 1.62132436e+00 2.26985410e+00 1.45919192e+00 1.13492705e+00 3.24264872e+00 3.40478115e+00 3.24264872e+00 1.62132436e+00 2.26985410e+00 1.45919192e+00 2.43198654e+00 1.62132436e+00 1.62132436e+00 2.43198654e+00 1.62132436e+00 2.10772167e+00 3.24264872e+00 2.10772167e+00 1.13492705e+00 2.75625141e+00 1.13492705e+00 2.26985410e+00 1.78345679e+00 2.43198654e+00 6.48529743e-01 3.08051628e+00 2.59411897e+00 1.94558923e+00 1.29705949e+00 1.94558923e+00 2.10772167e+00 2.43198654e+00 3.24264872e-01 2.75625141e+00 6.48529743e-01 1.94558923e+00 2.10772167e+00 2.59411897e+00 2.43198654e+00 2.10772167e+00 2.91838384e+00 1.13492705e+00 1.94558923e+00 1.78345679e+00 2.75625141e+00 2.26985410e+00 2.59411897e+00 2.10772167e+00 2.10772167e+00 2.10772167e+00 2.10772167e+00 2.26985410e+00 2.43198654e+00 1.62132436e+00 2.26985410e+00 2.75625141e+00 1.29705949e+00 1.94558923e+00 1.94558923e+00 6.48529743e-01 1.45919192e+00 1.94558923e+00 2.75625141e+00 2.26985410e+00 2.10772167e+00 2.26985410e+00 1.94558923e+00 1.78345679e+00 2.59411897e+00 1.78345679e+00 1.78345679e+00 1.45919192e+00 2.10772167e+00 1.13492705e+00 1.13492705e+00 2.10772167e+00 1.45919192e+00 2.10772167e+00 1.62132436e+00 2.10772167e+00 1.94558923e+00 1.45919192e+00 1.78345679e+00 2.26985410e+00 1.94558923e+00 2.10772167e+00 1.45919192e+00 1.62132436e+00 2.26985410e+00 1.78345679e+00 1.62132436e+00 1.13492705e+00 1.94558923e+00 1.78345679e+00 1.78345679e+00 2.43198654e+00 1.13492705e+00 1.45919192e+00 2.43198654e+00 1.13492705e+00 1.62132436e+00 2.26985410e+00 1.29705949e+00 9.72794615e-01 1.29705949e+00 2.10772167e+00 1.78345679e+00 2.91838384e+00 1.29705949e+00 1.94558923e+00 1.29705949e+00 2.10772167e+00 1.13492705e+00 2.59411897e+00 1.62132436e+00 1.62132436e+00 1.29705949e+00 1.78345679e+00 2.75625141e+00 2.10772167e+00 1.62132436e+00 2.75625141e+00 1.78345679e+00 2.43198654e+00 1.62132436e+00 1.62132436e+00 8.10662179e-01 1.94558923e+00 2.59411897e+00 2.26985410e+00 6.48529743e-01 1.94558923e+00 8.10662179e-01 9.72794615e-01 1.45919192e+00 1.29705949e+00 1.13492705e+00 2.75625141e+00 1.94558923e+00 1.62132436e+00 1.29705949e+00 2.43198654e+00 1.29705949e+00 1.29705949e+00 2.43198654e+00 8.10662179e-01 1.78345679e+00 8.10662179e-01 1.29705949e+00 1.29705949e+00 1.94558923e+00 1.62132436e+00 1.29705949e+00 1.29705949e+00 1.29705949e+00 1.13492705e+00 6.48529743e-01 2.43198654e+00 1.45919192e+00 1.94558923e+00 1.45919192e+00 3.08051628e+00 1.94558923e+00 1.94558923e+00 1.62132436e+00 2.26985410e+00 2.75625141e+00 1.94558923e+00 1.78345679e+00 9.72794615e-01 9.72794615e-01 1.13492705e+00 1.45919192e+00 1.13492705e+00 1.62132436e+00 1.13492705e+00 1.78345679e+00 2.59411897e+00 1.29705949e+00 1.45919192e+00 1.29705949e+00 9.72794615e-01 1.94558923e+00 1.78345679e+00 2.43198654e+00 1.13492705e+00 1.45919192e+00 1.29705949e+00 1.13492705e+00 1.62132436e+00 1.45919192e+00 2.75625141e+00 1.78345679e+00 9.72794615e-01 1.13492705e+00 1.62132436e+00 1.29705949e+00 1.45919192e+00 8.10662179e-01 1.78345679e+00 1.13492705e+00 1.45919192e+00 6.48529743e-01 1.13492705e+00 1.62132436e+00 1.29705949e+00 9.72794615e-01 1.13492705e+00 1.78345679e+00 1.29705949e+00 1.29705949e+00 1.45919192e+00 9.72794615e-01 1.78345679e+00 2.43198654e+00 2.59411897e+00 1.45919192e+00 6.48529743e-01 1.13492705e+00 1.62132436e+00 1.45919192e+00 1.29705949e+00 1.13492705e+00 2.26985410e+00 9.72794615e-01 9.72794615e-01 8.10662179e-01 1.29705949e+00 1.45919192e+00 6.48529743e-01 2.43198654e+00 1.13492705e+00 1.62132436e+00 1.13492705e+00 1.29705949e+00 9.72794615e-01 1.94558923e+00 1.78345679e+00 1.29705949e+00 1.45919192e+00 1.45919192e+00 1.45919192e+00 1.45919192e+00 6.48529743e-01 1.62132436e+00 9.72794615e-01 1.29705949e+00 6.48529743e-01 1.62132436e+00 1.45919192e+00 1.45919192e+00 9.72794615e-01 1.29705949e+00 1.29705949e+00 1.29705949e+00 6.48529743e-01 1.29705949e+00 1.29705949e+00 1.13492705e+00 4.86397307e-01 3.24264872e-01 1.78345679e+00 8.10662179e-01 1.29705949e+00 1.94558923e+00 1.13492705e+00 1.94558923e+00 1.62132436e+00 6.48529743e-01 1.62132436e+00 1.62132436e+00 9.72794615e-01 1.13492705e+00 1.29705949e+00 1.62132436e+00 1.45919192e+00 1.45919192e+00 8.10662179e-01 1.45919192e+00 4.86397307e-01 1.13492705e+00 1.45919192e+00 9.72794615e-01 1.45919192e+00 9.72794615e-01 9.72794615e-01 8.10662179e-01 6.48529743e-01 8.10662179e-01 1.29705949e+00 1.62132436e+00 1.62132436e+00 1.13492705e+00 1.78345679e+00 1.45919192e+00 1.13492705e+00 8.10662179e-01 2.10772167e+00 1.62132436e+00 1.29705949e+00 9.72794615e-01 8.10662179e-01 1.62132436e+00 1.29705949e+00 8.10662179e-01 8.10662179e-01 1.29705949e+00 9.72794615e-01 1.29705949e+00 1.29705949e+00 1.62132436e+00 1.13492705e+00 1.13492705e+00 1.13492705e+00 9.72794615e-01 6.48529743e-01 1.78345679e+00 1.45919192e+00 2.26985410e+00 1.62132436e+00 6.48529743e-01 1.29705949e+00 1.62132436e+00 8.10662179e-01 1.78345679e+00 8.10662179e-01 6.48529743e-01 1.29705949e+00 1.13492705e+00 1.29705949e+00 1.13492705e+00 1.13492705e+00 1.13492705e+00 1.45919192e+00 1.62132436e+00 2.10772167e+00 6.48529743e-01 1.29705949e+00 6.48529743e-01 1.45919192e+00 1.13492705e+00 9.72794615e-01 9.72794615e-01 4.86397307e-01 6.48529743e-01 9.72794615e-01 6.48529743e-01 1.62132436e+00 1.62132436e+00 8.10662179e-01 1.45919192e+00 8.10662179e-01 1.29705949e+00 9.72794615e-01 1.29705949e+00 9.72794615e-01 8.10662179e-01 9.72794615e-01 6.48529743e-01 1.45919192e+00 1.13492705e+00 1.13492705e+00 8.10662179e-01 6.48529743e-01 1.13492705e+00 6.48529743e-01 1.13492705e+00 1.29705949e+00 1.45919192e+00 1.62132436e+00 1.62132436e+00 9.72794615e-01 1.29705949e+00 1.62132436e+00 2.26985410e+00 6.48529743e-01 8.10662179e-01 1.29705949e+00 1.62132436e+00 9.72794615e-01 1.13492705e+00 1.62132436e+00 9.72794615e-01 9.72794615e-01 8.10662179e-01 8.10662179e-01 8.10662179e-01 1.13492705e+00 9.72794615e-01 1.29705949e+00 9.72794615e-01 9.72794615e-01 1.13492705e+00 8.10662179e-01 1.45919192e+00 9.72794615e-01 1.13492705e+00 1.29705949e+00 1.13492705e+00 1.29705949e+00 9.72794615e-01 9.72794615e-01 6.48529743e-01 9.72794615e-01 8.10662179e-01 1.78345679e+00 8.10662179e-01 4.86397307e-01 8.10662179e-01 1.13492705e+00 1.29705949e+00 1.13492705e+00 1.29705949e+00 6.48529743e-01 9.72794615e-01 1.62132436e+00 1.13492705e+00 9.72794615e-01 1.29705949e+00 6.48529743e-01 3.24264872e-01 8.10662179e-01 9.72794615e-01 8.10662179e-01 1.29705949e+00 1.29705949e+00 8.10662179e-01 4.86397307e-01 2.26985410e+00 9.72794615e-01 9.72794615e-01 1.13492705e+00 1.94558923e+00 9.72794615e-01 6.48529743e-01 3.24264872e-01 1.13492705e+00 8.10662179e-01 4.86397307e-01 1.29705949e+00 9.72794615e-01 9.72794615e-01 9.72794615e-01 6.48529743e-01 8.10662179e-01 6.48529743e-01 9.72794615e-01 8.10662179e-01 6.48529743e-01 1.62132436e+00 3.24264872e-01 1.13492705e+00 8.10662179e-01 8.10662179e-01 6.48529743e-01 9.72794615e-01 8.10662179e-01 9.72794615e-01 6.48529743e-01 6.48529743e-01 6.48529743e-01 1.13492705e+00 1.29705949e+00 6.48529743e-01 9.72794615e-01 1.13492705e+00 1.62132436e+00 4.86397307e-01 6.48529743e-01 9.72794615e-01 6.48529743e-01 8.10662179e-01 6.48529743e-01 1.13492705e+00 9.72794615e-01 1.13492705e+00 1.29705949e+00 1.29705949e+00 1.45919192e+00 8.10662179e-01 6.48529743e-01 8.10662179e-01 1.45919192e+00 9.72794615e-01 1.13492705e+00 1.29705949e+00 6.48529743e-01 6.48529743e-01 8.10662179e-01 9.72794615e-01 3.24264872e-01 9.72794615e-01 6.48529743e-01 1.13492705e+00 6.48529743e-01 1.13492705e+00 4.86397307e-01 1.78345679e+00 1.13492705e+00 1.29705949e+00 9.72794615e-01 4.86397307e-01 9.72794615e-01 1.13492705e+00 8.10662179e-01 3.24264872e-01 9.72794615e-01 6.48529743e-01 1.29705949e+00 1.13492705e+00 9.72794615e-01 1.45919192e+00 8.10662179e-01 6.48529743e-01 4.86397307e-01 9.72794615e-01 8.10662179e-01 3.24264872e-01 9.72794615e-01 8.10662179e-01 1.13492705e+00 9.72794615e-01 6.48529743e-01 3.24264872e-01 9.72794615e-01 6.48529743e-01 1.62132436e-01 8.10662179e-01 6.48529743e-01 4.86397307e-01 8.10662179e-01 9.72794615e-01 0.00000000e+00 4.86397307e-01 9.72794615e-01 4.86397307e-01 6.48529743e-01 9.72794615e-01 9.72794615e-01 8.10662179e-01 1.29705949e+00 9.72794615e-01 8.10662179e-01 6.48529743e-01 4.86397307e-01 6.48529743e-01 6.48529743e-01 9.72794615e-01 8.10662179e-01 9.72794615e-01 4.86397307e-01 4.86397307e-01 6.48529743e-01 6.48529743e-01 4.86397307e-01 1.29705949e+00 8.10662179e-01 9.72794615e-01 8.10662179e-01 3.24264872e-01 1.62132436e-01 1.13492705e+00 6.48529743e-01 3.24264872e-01 9.72794615e-01 9.72794615e-01 8.10662179e-01 8.10662179e-01 8.10662179e-01 4.86397307e-01 4.86397307e-01 6.48529743e-01 4.86397307e-01 8.10662179e-01 6.48529743e-01 4.86397307e-01 6.48529743e-01 9.72794615e-01 4.86397307e-01 6.48529743e-01 6.48529743e-01 6.48529743e-01 8.10662179e-01 8.10662179e-01 6.48529743e-01 1.45919192e+00 3.24264872e-01 6.48529743e-01 3.24264872e-01 1.29705949e+00 8.10662179e-01 1.62132436e+00 8.10662179e-01 8.10662179e-01 6.48529743e-01 4.86397307e-01 1.13492705e+00 4.86397307e-01 6.48529743e-01 1.13492705e+00 6.48529743e-01 1.62132436e-01 9.72794615e-01 1.13492705e+00 8.10662179e-01 1.62132436e-01 6.48529743e-01 0.00000000e+00 4.86397307e-01 9.72794615e-01 1.62132436e+00 1.13492705e+00 9.72794615e-01 3.24264872e-01 4.86397307e-01 8.10662179e-01 4.86397307e-01 1.62132436e+00 9.72794615e-01 1.45919192e+00 1.13492705e+00 6.48529743e-01 8.10662179e-01 6.48529743e-01 1.45919192e+00 3.24264872e-01 9.72794615e-01 8.10662179e-01 6.48529743e-01 8.10662179e-01 1.62132436e-01 3.24264872e-01 9.72794615e-01 6.48529743e-01 1.13492705e+00 6.48529743e-01 6.48529743e-01 6.48529743e-01 8.10662179e-01 1.13492705e+00 3.24264872e-01 1.45919192e+00 3.24264872e-01 4.86397307e-01 1.29705949e+00 4.86397307e-01 9.72794615e-01 8.10662179e-01 4.86397307e-01 6.48529743e-01 3.24264872e-01 1.45919192e+00 8.10662179e-01 4.86397307e-01 8.10662179e-01 4.86397307e-01 3.24264872e-01 6.48529743e-01 8.10662179e-01 8.10662179e-01 1.13492705e+00 6.48529743e-01 4.86397307e-01 6.48529743e-01 9.72794615e-01 6.48529743e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 9.72794615e-01 6.48529743e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 6.48529743e-01 1.45919192e+00 0.00000000e+00 6.48529743e-01 6.48529743e-01 1.13492705e+00 1.62132436e-01 6.48529743e-01 6.48529743e-01 6.48529743e-01 6.48529743e-01 6.48529743e-01 6.48529743e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 8.10662179e-01 1.13492705e+00 4.86397307e-01 8.10662179e-01 4.86397307e-01 4.86397307e-01 1.29705949e+00 6.48529743e-01 6.48529743e-01 6.48529743e-01 9.72794615e-01 1.13492705e+00 6.48529743e-01 1.29705949e+00 6.48529743e-01 9.72794615e-01 3.24264872e-01 1.13492705e+00 6.48529743e-01 1.62132436e-01 6.48529743e-01 6.48529743e-01 6.48529743e-01 8.10662179e-01 8.10662179e-01 4.86397307e-01 1.45919192e+00 4.86397307e-01 3.24264872e-01 6.48529743e-01 1.13492705e+00 4.86397307e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 9.72794615e-01 6.48529743e-01 8.10662179e-01 8.10662179e-01 4.86397307e-01 1.13492705e+00 1.45919192e+00 6.48529743e-01 4.86397307e-01 6.48529743e-01 6.48529743e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 1.13492705e+00 6.48529743e-01 1.13492705e+00 8.10662179e-01 8.10662179e-01 3.24264872e-01 9.72794615e-01 8.10662179e-01 3.24264872e-01 1.13492705e+00 4.86397307e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 4.86397307e-01 8.10662179e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 1.62132436e-01 8.10662179e-01 0.00000000e+00 1.62132436e-01 6.48529743e-01 3.24264872e-01 9.72794615e-01 1.94558923e+00 1.62132436e-01 4.86397307e-01 4.86397307e-01 1.62132436e+00 3.24264872e-01 6.48529743e-01 4.86397307e-01 6.48529743e-01 9.72794615e-01 4.86397307e-01 1.13492705e+00 8.10662179e-01 9.72794615e-01 4.86397307e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 9.72794615e-01 4.86397307e-01 6.48529743e-01 4.86397307e-01 3.24264872e-01 9.72794615e-01 8.10662179e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 6.48529743e-01 8.10662179e-01 8.10662179e-01 6.48529743e-01 1.13492705e+00 6.48529743e-01 1.13492705e+00 4.86397307e-01 4.86397307e-01 1.29705949e+00 6.48529743e-01 3.24264872e-01 8.10662179e-01 4.86397307e-01 6.48529743e-01 9.72794615e-01 1.62132436e-01 9.72794615e-01 4.86397307e-01 8.10662179e-01 6.48529743e-01 6.48529743e-01 8.10662179e-01 8.10662179e-01 8.10662179e-01 9.72794615e-01 4.86397307e-01 9.72794615e-01 3.24264872e-01 8.10662179e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 8.10662179e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 1.13492705e+00 6.48529743e-01 6.48529743e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 8.10662179e-01 3.24264872e-01 6.48529743e-01 6.48529743e-01 6.48529743e-01 4.86397307e-01 3.24264872e-01 8.10662179e-01 9.72794615e-01 3.24264872e-01 8.10662179e-01 4.86397307e-01 1.62132436e-01 8.10662179e-01 6.48529743e-01 9.72794615e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 4.86397307e-01 8.10662179e-01 4.86397307e-01 8.10662179e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 9.72794615e-01 6.48529743e-01 4.86397307e-01 4.86397307e-01 6.48529743e-01 1.62132436e-01 8.10662179e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 9.72794615e-01 1.13492705e+00 6.48529743e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 6.48529743e-01 9.72794615e-01 1.45919192e+00 1.13492705e+00 4.86397307e-01 8.10662179e-01 1.29705949e+00 6.48529743e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 9.72794615e-01 3.24264872e-01 6.48529743e-01 6.48529743e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 8.10662179e-01 6.48529743e-01 3.24264872e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 8.10662179e-01 9.72794615e-01 8.10662179e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 4.86397307e-01 8.10662179e-01 6.48529743e-01 8.10662179e-01 4.86397307e-01 8.10662179e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 6.48529743e-01 9.72794615e-01 4.86397307e-01 4.86397307e-01 6.48529743e-01 8.10662179e-01 4.86397307e-01 8.10662179e-01 3.24264872e-01 8.10662179e-01 6.48529743e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 6.48529743e-01 3.24264872e-01 9.72794615e-01 6.48529743e-01 9.72794615e-01 9.72794615e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 3.24264872e-01 6.48529743e-01 9.72794615e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 8.10662179e-01 8.10662179e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 9.72794615e-01 1.13492705e+00 8.10662179e-01 1.62132436e-01 1.78345679e+00 4.86397307e-01 3.24264872e-01 1.13492705e+00 4.86397307e-01 3.24264872e-01 8.10662179e-01 0.00000000e+00 8.10662179e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 6.48529743e-01 8.10662179e-01 6.48529743e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 9.72794615e-01 6.48529743e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.29705949e+00 8.10662179e-01 0.00000000e+00 3.24264872e-01 9.72794615e-01 8.10662179e-01 6.48529743e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.13492705e+00 0.00000000e+00 3.24264872e-01 4.86397307e-01 3.24264872e-01 4.86397307e-01 1.13492705e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 9.72794615e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 8.10662179e-01 3.24264872e-01 4.86397307e-01 9.72794615e-01 6.48529743e-01 4.86397307e-01 9.72794615e-01 1.62132436e-01 9.72794615e-01 1.62132436e-01 4.86397307e-01 9.72794615e-01 1.62132436e-01 9.72794615e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 6.48529743e-01 8.10662179e-01 6.48529743e-01 8.10662179e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 8.10662179e-01 4.86397307e-01 6.48529743e-01 3.24264872e-01 6.48529743e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.13492705e+00 0.00000000e+00 4.86397307e-01 4.86397307e-01 6.48529743e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 8.10662179e-01 3.24264872e-01 6.48529743e-01 0.00000000e+00 4.86397307e-01 8.10662179e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 0.00000000e+00 6.48529743e-01 3.24264872e-01 9.72794615e-01 3.24264872e-01 6.48529743e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 8.10662179e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 9.72794615e-01 8.10662179e-01 6.48529743e-01 6.48529743e-01 1.62132436e-01 6.48529743e-01 8.10662179e-01 4.86397307e-01 6.48529743e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 6.48529743e-01 6.48529743e-01 0.00000000e+00 8.10662179e-01 8.10662179e-01 3.24264872e-01 1.62132436e-01 9.72794615e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 6.48529743e-01 1.62132436e-01 1.62132436e-01 8.10662179e-01 3.24264872e-01 1.62132436e-01 8.10662179e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 1.13492705e+00 4.86397307e-01 0.00000000e+00 6.48529743e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 9.72794615e-01 1.62132436e-01 8.10662179e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 6.48529743e-01 9.72794615e-01 4.86397307e-01 1.13492705e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 8.10662179e-01 8.10662179e-01 8.10662179e-01 3.24264872e-01 3.24264872e-01 1.29705949e+00 4.86397307e-01 3.24264872e-01 6.48529743e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 6.48529743e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 9.72794615e-01 6.48529743e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 6.48529743e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 8.10662179e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 9.72794615e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 8.10662179e-01 6.48529743e-01 3.24264872e-01 6.48529743e-01 4.86397307e-01 4.86397307e-01 9.72794615e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 8.10662179e-01 4.86397307e-01 1.62132436e-01 8.10662179e-01 3.24264872e-01 4.86397307e-01 4.86397307e-01 6.48529743e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 6.48529743e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 4.86397307e-01 8.10662179e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.13492705e+00 1.62132436e-01 8.10662179e-01 3.24264872e-01 0.00000000e+00 8.10662179e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 6.48529743e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 6.48529743e-01 9.72794615e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 1.62132436e-01 6.48529743e-01 9.72794615e-01 1.62132436e-01 4.86397307e-01 8.10662179e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 4.86397307e-01 8.10662179e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.13492705e+00 3.24264872e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 4.86397307e-01 6.48529743e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 6.48529743e-01 6.48529743e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 3.24264872e-01 6.48529743e-01 0.00000000e+00 8.10662179e-01 6.48529743e-01 8.10662179e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 6.48529743e-01 4.86397307e-01 4.86397307e-01 6.48529743e-01 6.48529743e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 4.86397307e-01 8.10662179e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 6.48529743e-01 3.24264872e-01 6.48529743e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 8.10662179e-01 1.62132436e-01 6.48529743e-01 8.10662179e-01 1.62132436e-01 4.86397307e-01 6.48529743e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 6.48529743e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 8.10662179e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 6.48529743e-01 8.10662179e-01 4.86397307e-01 4.86397307e-01 6.48529743e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 4.86397307e-01 4.86397307e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 6.48529743e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 6.48529743e-01 6.48529743e-01 6.48529743e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 8.10662179e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 1.62132436e-01 1.62132436e-01 8.10662179e-01 0.00000000e+00 1.62132436e-01 9.72794615e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 6.48529743e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 4.86397307e-01 9.72794615e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 1.62132436e-01 6.48529743e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 6.48529743e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 4.86397307e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 8.10662179e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 6.48529743e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 6.48529743e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 6.48529743e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 6.48529743e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 8.10662179e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 8.10662179e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 4.86397307e-01 6.48529743e-01 6.48529743e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 8.10662179e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 6.48529743e-01 6.48529743e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 6.48529743e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 6.48529743e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 6.48529743e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 1.62132436e-01 6.48529743e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 6.48529743e-01 1.62132436e-01 8.10662179e-01 0.00000000e+00 6.48529743e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 6.48529743e-01 6.48529743e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 3.24264872e-01 6.48529743e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 6.48529743e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 3.24264872e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 6.48529743e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 8.10662179e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.13492705e+00 0.00000000e+00 3.24264872e-01 8.10662179e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 8.10662179e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 8.10662179e-01 3.24264872e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 8.10662179e-01 4.86397307e-01 3.24264872e-01 0.00000000e+00 4.86397307e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 8.10662179e-01 6.48529743e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 6.48529743e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 6.48529743e-01 3.24264872e-01 0.00000000e+00 8.10662179e-01 8.10662179e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 4.86397307e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 6.48529743e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 3.24264872e-01 9.72794615e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 8.10662179e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 4.86397307e-01 0.00000000e+00 6.48529743e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 8.10662179e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 6.48529743e-01 1.62132436e-01 6.48529743e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 8.10662179e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 6.48529743e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 9.72794615e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 4.86397307e-01 9.72794615e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 9.72794615e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 8.10662179e-01 1.62132436e-01 6.48529743e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 3.24264872e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.48529743e-01 0.00000000e+00 6.48529743e-01 3.24264872e-01 1.62132436e-01 6.48529743e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 6.48529743e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 6.48529743e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 6.48529743e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 6.48529743e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 6.48529743e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 6.48529743e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 8.10662179e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 6.48529743e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.48529743e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 4.86397307e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 6.48529743e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 4.86397307e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 4.86397307e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 4.86397307e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.48529743e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 8.10662179e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 6.48529743e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 6.48529743e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 3.24264872e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 6.48529743e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 6.48529743e-01 0.00000000e+00 6.48529743e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 0.00000000e+00 1.62132436e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 4.86397307e-01 1.62132436e-01 3.24264872e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.86397307e-01 4.86397307e-01 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 1.62132436e-01 9.72794615e-01 4.86397307e-01 3.24264872e-01 3.24264872e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 1.62132436e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 3.24264872e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 3.24264872e-01 0.00000000e+00 0.00000000e+00 3.24264872e-01 1.62132436e-01 0.00000000e+00 3.24264872e-01 1.62132436e-01 3.24264872e-01 4.86397307e-01 1.62132436e-01 4.86397307e-01 0.00000000e+00 6.48529743e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62132436e-01 1.62132436e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_ec_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_ec_BDTG.weights.xml index 2192cd484ab6..a3aad9394b26 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_ec_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_ec_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - - - - + + + + - + - - + + @@ -73,5900 +73,6014 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.33435808e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 6.33435808e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 6.33435808e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 6.33435808e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 9.50153711e-02 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 9.50153711e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.33435808e-02 3.16717904e-02 6.33435808e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 9.50153711e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 6.33435808e-02 6.33435808e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 9.50153711e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 6.33435808e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 6.33435808e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 6.33435808e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 0.00000000e+00 6.33435808e-02 3.16717904e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 9.50153711e-02 0.00000000e+00 3.16717904e-02 9.50153711e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.33435808e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 9.50153711e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 1.58358952e-01 6.33435808e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 9.50153711e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 9.50153711e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 6.33435808e-02 3.16717904e-02 3.16717904e-02 9.50153711e-02 6.33435808e-02 6.33435808e-02 3.16717904e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 1.26687162e-01 3.16717904e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 9.50153711e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 6.33435808e-02 9.50153711e-02 0.00000000e+00 9.50153711e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 6.33435808e-02 1.26687162e-01 6.33435808e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 3.16717904e-02 9.50153711e-02 0.00000000e+00 3.16717904e-02 9.50153711e-02 9.50153711e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 0.00000000e+00 6.33435808e-02 6.33435808e-02 9.50153711e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 3.16717904e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 1.26687162e-01 6.33435808e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 0.00000000e+00 3.16717904e-02 9.50153711e-02 6.33435808e-02 1.58358952e-01 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 9.50153711e-02 6.33435808e-02 0.00000000e+00 9.50153711e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 6.33435808e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 9.50153711e-02 6.33435808e-02 9.50153711e-02 9.50153711e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 9.50153711e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 9.50153711e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 6.33435808e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 6.33435808e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 3.16717904e-02 1.58358952e-01 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 6.33435808e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 9.50153711e-02 9.50153711e-02 0.00000000e+00 6.33435808e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 6.33435808e-02 0.00000000e+00 6.33435808e-02 1.26687162e-01 6.33435808e-02 3.16717904e-02 1.26687162e-01 3.16717904e-02 0.00000000e+00 6.33435808e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 0.00000000e+00 9.50153711e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 9.50153711e-02 3.16717904e-02 9.50153711e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 9.50153711e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 0.00000000e+00 9.50153711e-02 9.50153711e-02 0.00000000e+00 6.33435808e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 0.00000000e+00 9.50153711e-02 3.16717904e-02 9.50153711e-02 0.00000000e+00 1.26687162e-01 0.00000000e+00 1.58358952e-01 9.50153711e-02 3.16717904e-02 9.50153711e-02 0.00000000e+00 1.26687162e-01 3.16717904e-02 0.00000000e+00 3.16717904e-02 9.50153711e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 3.16717904e-02 1.26687162e-01 3.16717904e-02 6.33435808e-02 0.00000000e+00 3.16717904e-02 9.50153711e-02 0.00000000e+00 6.33435808e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 1.26687162e-01 6.33435808e-02 3.16717904e-02 1.58358952e-01 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 1.58358952e-01 6.33435808e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 9.50153711e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 9.50153711e-02 0.00000000e+00 1.26687162e-01 0.00000000e+00 3.16717904e-02 3.16717904e-02 1.26687162e-01 3.16717904e-02 9.50153711e-02 0.00000000e+00 1.26687162e-01 1.58358952e-01 6.33435808e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 6.33435808e-02 0.00000000e+00 3.16717904e-02 9.50153711e-02 3.16717904e-02 1.26687162e-01 3.16717904e-02 0.00000000e+00 6.33435808e-02 9.50153711e-02 3.16717904e-02 6.33435808e-02 9.50153711e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 6.33435808e-02 9.50153711e-02 6.33435808e-02 6.33435808e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 1.58358952e-01 3.16717904e-02 1.26687162e-01 9.50153711e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 1.26687162e-01 0.00000000e+00 0.00000000e+00 9.50153711e-02 1.58358952e-01 1.58358952e-01 3.16717904e-02 9.50153711e-02 3.16717904e-02 9.50153711e-02 6.33435808e-02 6.33435808e-02 3.16717904e-02 1.26687162e-01 6.33435808e-02 3.16717904e-02 1.26687162e-01 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 9.50153711e-02 1.26687162e-01 6.33435808e-02 1.26687162e-01 3.16717904e-02 3.16717904e-02 1.58358952e-01 9.50153711e-02 2.21702533e-01 9.50153711e-02 0.00000000e+00 3.16717904e-02 9.50153711e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 9.50153711e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 6.33435808e-02 1.26687162e-01 3.16717904e-02 9.50153711e-02 1.58358952e-01 6.33435808e-02 9.50153711e-02 9.50153711e-02 0.00000000e+00 3.16717904e-02 1.26687162e-01 9.50153711e-02 6.33435808e-02 9.50153711e-02 9.50153711e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 1.26687162e-01 3.16717904e-02 6.33435808e-02 1.58358952e-01 6.33435808e-02 6.33435808e-02 1.26687162e-01 3.16717904e-02 0.00000000e+00 6.33435808e-02 1.26687162e-01 1.58358952e-01 9.50153711e-02 1.26687162e-01 3.16717904e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 9.50153711e-02 0.00000000e+00 1.58358952e-01 3.16717904e-02 9.50153711e-02 6.33435808e-02 2.53374323e-01 6.33435808e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 1.26687162e-01 6.33435808e-02 6.33435808e-02 1.26687162e-01 6.33435808e-02 1.26687162e-01 9.50153711e-02 1.26687162e-01 0.00000000e+00 3.16717904e-02 1.26687162e-01 6.33435808e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 1.58358952e-01 1.26687162e-01 1.58358952e-01 3.16717904e-02 9.50153711e-02 9.50153711e-02 1.26687162e-01 1.58358952e-01 3.16717904e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 9.50153711e-02 6.33435808e-02 1.26687162e-01 9.50153711e-02 9.50153711e-02 0.00000000e+00 6.33435808e-02 6.33435808e-02 6.33435808e-02 1.26687162e-01 1.90030742e-01 1.26687162e-01 1.58358952e-01 9.50153711e-02 6.33435808e-02 9.50153711e-02 2.21702533e-01 1.26687162e-01 1.58358952e-01 1.58358952e-01 6.33435808e-02 6.33435808e-02 1.26687162e-01 3.16717904e-02 6.33435808e-02 1.90030742e-01 9.50153711e-02 6.33435808e-02 6.33435808e-02 6.33435808e-02 0.00000000e+00 9.50153711e-02 6.33435808e-02 1.26687162e-01 9.50153711e-02 2.21702533e-01 1.58358952e-01 6.33435808e-02 1.26687162e-01 0.00000000e+00 1.26687162e-01 0.00000000e+00 9.50153711e-02 1.90030742e-01 1.26687162e-01 6.33435808e-02 3.16717904e-02 9.50153711e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 1.58358952e-01 1.26687162e-01 1.26687162e-01 9.50153711e-02 9.50153711e-02 6.33435808e-02 2.21702533e-01 9.50153711e-02 3.16717904e-02 9.50153711e-02 6.33435808e-02 1.26687162e-01 0.00000000e+00 1.90030742e-01 3.16717904e-02 1.58358952e-01 0.00000000e+00 1.26687162e-01 1.26687162e-01 1.26687162e-01 3.16717904e-02 6.33435808e-02 6.33435808e-02 6.33435808e-02 3.16717904e-02 2.21702533e-01 1.58358952e-01 9.50153711e-02 2.21702533e-01 1.90030742e-01 3.16717904e-02 1.26687162e-01 0.00000000e+00 9.50153711e-02 1.26687162e-01 1.26687162e-01 1.58358952e-01 1.26687162e-01 9.50153711e-02 3.16717904e-02 3.16717904e-02 9.50153711e-02 3.16717904e-02 9.50153711e-02 3.16717904e-02 1.58358952e-01 6.33435808e-02 1.58358952e-01 1.26687162e-01 6.33435808e-02 1.26687162e-01 1.58358952e-01 1.26687162e-01 6.33435808e-02 1.26687162e-01 9.50153711e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 6.33435808e-02 6.33435808e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 9.50153711e-02 9.50153711e-02 1.58358952e-01 1.58358952e-01 6.33435808e-02 2.85046113e-01 1.26687162e-01 1.26687162e-01 1.58358952e-01 1.58358952e-01 2.21702533e-01 9.50153711e-02 1.90030742e-01 1.58358952e-01 6.33435808e-02 1.90030742e-01 9.50153711e-02 9.50153711e-02 1.26687162e-01 0.00000000e+00 1.90030742e-01 9.50153711e-02 1.58358952e-01 2.21702533e-01 1.26687162e-01 1.26687162e-01 9.50153711e-02 1.58358952e-01 2.21702533e-01 2.21702533e-01 6.33435808e-02 1.58358952e-01 1.26687162e-01 3.16717904e-02 9.50153711e-02 9.50153711e-02 9.50153711e-02 9.50153711e-02 1.58358952e-01 3.16717904e-02 9.50153711e-02 1.26687162e-01 2.21702533e-01 6.33435808e-02 1.58358952e-01 1.58358952e-01 6.33435808e-02 9.50153711e-02 1.26687162e-01 1.26687162e-01 1.26687162e-01 9.50153711e-02 9.50153711e-02 2.53374323e-01 2.21702533e-01 9.50153711e-02 6.33435808e-02 6.33435808e-02 1.26687162e-01 9.50153711e-02 2.21702533e-01 1.26687162e-01 6.33435808e-02 1.58358952e-01 2.21702533e-01 3.16717904e-02 6.33435808e-02 2.21702533e-01 2.85046113e-01 1.58358952e-01 1.58358952e-01 1.90030742e-01 2.21702533e-01 2.21702533e-01 6.33435808e-02 2.53374323e-01 3.16717904e-01 3.16717904e-02 9.50153711e-02 6.33435808e-02 1.26687162e-01 1.58358952e-01 1.58358952e-01 9.50153711e-02 2.53374323e-01 9.50153711e-02 3.16717904e-02 6.33435808e-02 3.16717904e-02 3.16717904e-01 1.26687162e-01 1.90030742e-01 2.21702533e-01 2.21702533e-01 2.21702533e-01 1.90030742e-01 1.90030742e-01 2.21702533e-01 1.26687162e-01 1.90030742e-01 1.26687162e-01 1.90030742e-01 2.53374323e-01 1.58358952e-01 2.21702533e-01 1.26687162e-01 2.21702533e-01 3.16717904e-01 1.90030742e-01 9.50153711e-02 2.85046113e-01 6.33435808e-02 9.50153711e-02 1.90030742e-01 1.58358952e-01 2.21702533e-01 3.16717904e-01 1.58358952e-01 1.58358952e-01 9.50153711e-02 2.21702533e-01 6.33435808e-02 2.21702533e-01 2.21702533e-01 2.85046113e-01 1.58358952e-01 1.58358952e-01 2.53374323e-01 1.26687162e-01 3.16717904e-01 2.21702533e-01 9.50153711e-02 1.26687162e-01 1.90030742e-01 3.80061485e-01 1.58358952e-01 2.21702533e-01 9.50153711e-02 1.58358952e-01 2.53374323e-01 6.33435808e-02 6.33435808e-02 1.26687162e-01 6.33435808e-02 2.53374323e-01 9.50153711e-02 2.53374323e-01 1.26687162e-01 2.21702533e-01 1.26687162e-01 2.21702533e-01 1.26687162e-01 1.90030742e-01 1.58358952e-01 1.90030742e-01 2.85046113e-01 6.33435808e-02 1.90030742e-01 2.21702533e-01 1.58358952e-01 1.90030742e-01 2.85046113e-01 1.58358952e-01 1.90030742e-01 3.16717904e-02 4.43405065e-01 1.58358952e-01 1.26687162e-01 1.90030742e-01 2.53374323e-01 1.26687162e-01 1.58358952e-01 2.53374323e-01 1.26687162e-01 2.21702533e-01 3.48389694e-01 2.21702533e-01 1.90030742e-01 2.85046113e-01 2.53374323e-01 2.85046113e-01 1.26687162e-01 2.21702533e-01 2.21702533e-01 3.48389694e-01 1.26687162e-01 3.16717904e-01 2.85046113e-01 2.85046113e-01 2.53374323e-01 2.21702533e-01 4.11733275e-01 2.53374323e-01 3.16717904e-01 2.85046113e-01 2.21702533e-01 2.53374323e-01 1.58358952e-01 1.58358952e-01 1.58358952e-01 1.90030742e-01 2.21702533e-01 1.58358952e-01 1.58358952e-01 3.48389694e-01 2.21702533e-01 2.53374323e-01 2.21702533e-01 2.85046113e-01 1.58358952e-01 2.53374323e-01 2.53374323e-01 2.85046113e-01 3.16717904e-01 2.85046113e-01 3.16717904e-01 3.80061485e-01 1.90030742e-01 2.21702533e-01 3.16717904e-01 3.80061485e-01 3.16717904e-01 2.85046113e-01 1.26687162e-01 1.90030742e-01 9.50153711e-02 2.53374323e-01 3.16717904e-01 4.43405065e-01 3.80061485e-01 1.90030742e-01 1.90030742e-01 3.16717904e-01 4.75076856e-01 3.48389694e-01 2.85046113e-01 1.58358952e-01 1.26687162e-01 5.06748646e-01 5.06748646e-01 2.21702533e-01 4.11733275e-01 1.58358952e-01 3.16717904e-01 2.21702533e-01 2.53374323e-01 4.75076856e-01 2.53374323e-01 2.53374323e-01 3.16717904e-01 1.90030742e-01 2.21702533e-01 3.16717904e-01 2.85046113e-01 3.16717904e-01 4.43405065e-01 2.53374323e-01 3.16717904e-01 3.16717904e-01 6.33435808e-01 1.90030742e-01 3.48389694e-01 3.80061485e-01 4.43405065e-01 1.58358952e-01 3.48389694e-01 4.11733275e-01 5.06748646e-01 3.80061485e-01 2.21702533e-01 4.43405065e-01 3.48389694e-01 3.16717904e-01 3.80061485e-01 2.85046113e-01 3.48389694e-01 4.43405065e-01 4.75076856e-01 4.43405065e-01 4.43405065e-01 4.43405065e-01 4.11733275e-01 2.85046113e-01 4.43405065e-01 4.43405065e-01 4.11733275e-01 3.80061485e-01 2.85046113e-01 3.16717904e-01 4.11733275e-01 3.80061485e-01 4.11733275e-01 4.11733275e-01 4.11733275e-01 3.80061485e-01 5.06748646e-01 5.70092227e-01 4.43405065e-01 3.80061485e-01 4.75076856e-01 3.80061485e-01 4.75076856e-01 5.38420436e-01 5.38420436e-01 5.38420436e-01 3.48389694e-01 6.33435808e-01 4.11733275e-01 3.16717904e-01 5.38420436e-01 4.75076856e-01 4.43405065e-01 4.75076856e-01 5.70092227e-01 3.80061485e-01 6.96779388e-01 4.75076856e-01 6.33435808e-01 4.11733275e-01 3.80061485e-01 6.33435808e-01 4.75076856e-01 3.48389694e-01 4.43405065e-01 5.38420436e-01 5.06748646e-01 5.06748646e-01 6.01764017e-01 4.75076856e-01 4.11733275e-01 2.85046113e-01 6.01764017e-01 4.75076856e-01 3.80061485e-01 5.38420436e-01 6.33435808e-01 4.43405065e-01 3.48389694e-01 6.01764017e-01 6.01764017e-01 6.01764017e-01 3.80061485e-01 6.01764017e-01 5.38420436e-01 5.70092227e-01 5.70092227e-01 7.60122969e-01 6.33435808e-01 5.38420436e-01 5.70092227e-01 7.28451179e-01 6.01764017e-01 7.91794759e-01 6.33435808e-01 3.48389694e-01 6.33435808e-01 5.70092227e-01 6.96779388e-01 7.28451179e-01 6.33435808e-01 5.70092227e-01 7.28451179e-01 6.01764017e-01 6.65107598e-01 4.43405065e-01 6.01764017e-01 4.43405065e-01 5.70092227e-01 7.60122969e-01 7.91794759e-01 8.86810131e-01 5.70092227e-01 8.86810131e-01 1.29854341e+00 8.86810131e-01 1.01349729e+00 6.01764017e-01 7.91794759e-01 7.28451179e-01 9.18481921e-01 7.28451179e-01 5.70092227e-01 7.28451179e-01 8.23466550e-01 7.91794759e-01 6.96779388e-01 8.55138340e-01 6.65107598e-01 7.28451179e-01 9.18481921e-01 7.28451179e-01 9.81825502e-01 1.07684087e+00 1.07684087e+00 9.18481921e-01 9.18481921e-01 8.86810131e-01 8.55138340e-01 7.60122969e-01 1.20352803e+00 8.86810131e-01 5.70092227e-01 9.50153711e-01 9.50153711e-01 1.20352803e+00 8.86810131e-01 8.86810131e-01 9.81825502e-01 1.07684087e+00 1.17185624e+00 1.07684087e+00 8.86810131e-01 8.86810131e-01 9.18481921e-01 9.81825502e-01 1.17185624e+00 1.14018445e+00 9.81825502e-01 9.18481921e-01 1.20352803e+00 9.81825502e-01 1.04516908e+00 1.23519982e+00 9.18481921e-01 1.23519982e+00 1.04516908e+00 1.14018445e+00 1.10851266e+00 9.18481921e-01 1.29854341e+00 1.36188699e+00 1.26687162e+00 1.39355878e+00 1.10851266e+00 1.42523057e+00 9.50153711e-01 1.23519982e+00 1.17185624e+00 1.10851266e+00 1.14018445e+00 8.23466550e-01 1.58358952e+00 1.74194847e+00 1.64693310e+00 1.23519982e+00 1.23519982e+00 1.52024594e+00 1.33021520e+00 1.26687162e+00 1.58358952e+00 1.77362026e+00 1.48857415e+00 2.05866637e+00 1.36188699e+00 1.64693310e+00 1.29854341e+00 1.71027668e+00 2.09033816e+00 1.55191773e+00 1.55191773e+00 1.77362026e+00 2.09033816e+00 1.93197921e+00 1.83696384e+00 1.96365100e+00 1.80529205e+00 2.02699458e+00 2.02699458e+00 1.64693310e+00 1.74194847e+00 1.90030742e+00 1.52024594e+00 2.28036891e+00 2.18535354e+00 2.21702533e+00 2.31204070e+00 1.99532279e+00 1.99532279e+00 2.56541502e+00 2.18535354e+00 2.12200996e+00 2.66043039e+00 2.24869712e+00 2.53374323e+00 2.40705607e+00 2.94547651e+00 3.04049188e+00 2.43872786e+00 2.69210218e+00 2.56541502e+00 3.57891231e+00 3.19885083e+00 2.56541502e+00 3.19885083e+00 2.94547651e+00 3.26219441e+00 3.32553799e+00 3.10383546e+00 3.38888157e+00 3.38888157e+00 3.54724052e+00 3.67392768e+00 4.52906602e+00 4.02231738e+00 3.92730201e+00 3.86395843e+00 4.40237886e+00 4.59240960e+00 5.19417362e+00 4.65575319e+00 4.05398917e+00 4.75076856e+00 5.03581467e+00 4.68742498e+00 5.25751720e+00 4.97247109e+00 4.87745572e+00 4.40237886e+00 5.66925048e+00 5.09915825e+00 5.60590690e+00 4.90912751e+00 5.92262480e+00 6.42937345e+00 6.08098375e+00 6.33435808e+00 6.55606061e+00 6.80943493e+00 5.63757869e+00 6.61940419e+00 6.49271703e+00 6.17599912e+00 7.03113746e+00 6.39770166e+00 6.84110672e+00 6.77776314e+00 7.44287074e+00 7.25284000e+00 7.22116821e+00 8.07630655e+00 8.17132192e+00 7.88627580e+00 7.88627580e+00 8.42469624e+00 7.69624506e+00 8.93144489e+00 8.70974235e+00 7.82293222e+00 9.08980384e+00 8.86810131e+00 9.05813205e+00 9.08980384e+00 8.93144489e+00 9.08980384e+00 9.05813205e+00 9.65989607e+00 1.02616601e+01 9.97661397e+00 1.01349729e+01 1.02616601e+01 1.06417216e+01 9.94494218e+00 1.00082858e+01 9.40652174e+00 1.09584395e+01 9.75491144e+00 9.18481921e+00 9.46986532e+00 1.00716293e+01 9.72323965e+00 9.78658323e+00 1.04833626e+01 1.05783780e+01 9.69156786e+00 8.83642952e+00 9.75491144e+00 9.27983458e+00 9.91327039e+00 9.65989607e+00 9.69156786e+00 8.51971161e+00 8.93144489e+00 1.00716293e+01 8.26633729e+00 7.44287074e+00 7.63290148e+00 7.94961938e+00 8.32968087e+00 7.37952716e+00 7.06280925e+00 7.85460401e+00 6.90445030e+00 7.60122969e+00 6.96779388e+00 6.36602987e+00 5.79593764e+00 6.58773240e+00 6.65107598e+00 5.63757869e+00 5.95429659e+00 5.70092227e+00 4.97247109e+00 5.60590690e+00 5.35253257e+00 5.41587615e+00 4.30736349e+00 4.87745572e+00 4.62408140e+00 4.24401991e+00 4.65575319e+00 4.52906602e+00 3.95897380e+00 3.57891231e+00 3.26219441e+00 3.51556873e+00 4.24401991e+00 3.51556873e+00 3.29386620e+00 3.00882009e+00 3.07216367e+00 3.04049188e+00 2.56541502e+00 2.66043039e+00 2.66043039e+00 2.78711755e+00 2.72377397e+00 2.85046113e+00 2.50207144e+00 2.47039965e+00 2.34371249e+00 2.24869712e+00 1.83696384e+00 2.15368175e+00 2.18535354e+00 2.18535354e+00 2.12200996e+00 2.18535354e+00 2.05866637e+00 1.80529205e+00 1.61526131e+00 1.48857415e+00 1.67860489e+00 1.04516908e+00 1.42523057e+00 1.52024594e+00 1.45690236e+00 1.48857415e+00 1.55191773e+00 1.42523057e+00 1.39355878e+00 1.36188699e+00 9.50153711e-01 1.36188699e+00 1.23519982e+00 1.42523057e+00 1.45690236e+00 1.04516908e+00 1.20352803e+00 1.23519982e+00 6.96779388e-01 1.23519982e+00 1.01349729e+00 9.81825502e-01 1.10851266e+00 1.36188699e+00 8.86810131e-01 7.60122969e-01 1.07684087e+00 9.18481921e-01 9.18481921e-01 8.55138340e-01 6.33435808e-01 4.43405065e-01 6.33435808e-01 6.96779388e-01 6.65107598e-01 5.38420436e-01 6.96779388e-01 7.60122969e-01 9.81825502e-01 7.60122969e-01 7.60122969e-01 5.06748646e-01 7.28451179e-01 4.75076856e-01 5.38420436e-01 6.65107598e-01 6.33435808e-01 2.85046113e-01 6.65107598e-01 4.43405065e-01 6.01764017e-01 3.80061485e-01 4.43405065e-01 5.70092227e-01 3.80061485e-01 3.16717904e-01 5.70092227e-01 6.33435808e-01 3.16717904e-01 6.65107598e-01 5.70092227e-01 4.43405065e-01 2.85046113e-01 3.80061485e-01 1.90030742e-01 2.53374323e-01 3.16717904e-01 3.80061485e-01 4.43405065e-01 2.85046113e-01 3.80061485e-01 2.53374323e-01 4.43405065e-01 3.48389694e-01 2.53374323e-01 3.16717904e-01 5.06748646e-01 1.58358952e-01 3.48389694e-01 2.53374323e-01 3.48389694e-01 1.58358952e-01 3.80061485e-01 2.21702533e-01 3.16717904e-01 2.21702533e-01 2.21702533e-01 4.11733275e-01 2.21702533e-01 3.80061485e-01 3.48389694e-01 2.53374323e-01 2.85046113e-01 2.85046113e-01 2.53374323e-01 1.58358952e-01 1.90030742e-01 1.90030742e-01 2.53374323e-01 1.58358952e-01 1.90030742e-01 1.58358952e-01 2.85046113e-01 2.53374323e-01 2.53374323e-01 2.53374323e-01 2.53374323e-01 6.33435808e-02 1.90030742e-01 1.90030742e-01 2.85046113e-01 1.58358952e-01 2.53374323e-01 1.58358952e-01 3.16717904e-02 1.26687162e-01 6.33435808e-02 1.26687162e-01 2.21702533e-01 1.26687162e-01 1.58358952e-01 1.90030742e-01 1.26687162e-01 1.58358952e-01 1.26687162e-01 1.26687162e-01 2.53374323e-01 6.33435808e-02 6.33435808e-02 6.33435808e-02 1.58358952e-01 1.58358952e-01 1.90030742e-01 1.26687162e-01 1.90030742e-01 1.58358952e-01 2.21702533e-01 2.21702533e-01 3.16717904e-02 2.21702533e-01 1.90030742e-01 9.50153711e-02 3.16717904e-01 3.16717904e-02 1.26687162e-01 3.16717904e-02 1.90030742e-01 0.00000000e+00 1.26687162e-01 3.16717904e-02 1.58358952e-01 1.90030742e-01 9.50153711e-02 6.33435808e-02 9.50153711e-02 6.33435808e-02 1.90030742e-01 3.16717904e-02 6.33435808e-02 6.33435808e-02 1.26687162e-01 9.50153711e-02 6.33435808e-02 9.50153711e-02 0.00000000e+00 0.00000000e+00 6.33435808e-02 6.33435808e-02 1.26687162e-01 3.16717904e-02 6.33435808e-02 6.33435808e-02 6.33435808e-02 9.50153711e-02 6.33435808e-02 0.00000000e+00 1.26687162e-01 3.16717904e-02 9.50153711e-02 9.50153711e-02 1.26687162e-01 6.33435808e-02 9.50153711e-02 6.33435808e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 9.50153711e-02 6.33435808e-02 6.33435808e-02 3.16717904e-02 0.00000000e+00 6.33435808e-02 0.00000000e+00 6.33435808e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.33435808e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 9.50153711e-02 9.50153711e-02 3.16717904e-02 3.16717904e-02 9.50153711e-02 0.00000000e+00 6.33435808e-02 3.16717904e-02 9.50153711e-02 0.00000000e+00 3.16717904e-02 6.33435808e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 6.33435808e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.33435808e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 9.50153711e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.16717904e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.16267028e-02 0.00000000e+00 1.16267028e-02 1.16267028e-02 0.00000000e+00 1.16267028e-02 1.16267028e-02 2.32534057e-02 3.48801085e-02 1.16267028e-02 1.16267028e-02 2.32534057e-02 2.32534057e-02 1.16267028e-02 1.16267028e-02 1.16267028e-02 3.48801085e-02 2.32534057e-02 3.48801085e-02 4.65068114e-02 5.81335142e-02 1.16267028e-02 5.81335142e-02 2.32534057e-02 5.81335142e-02 3.48801085e-02 4.65068114e-02 6.97602171e-02 2.32534057e-02 1.04640326e-01 3.48801085e-02 6.97602171e-02 1.16267028e-02 3.48801085e-02 3.48801085e-02 2.32534057e-02 2.32534057e-02 5.81335142e-02 4.65068114e-02 3.48801085e-02 5.81335142e-02 6.97602171e-02 3.48801085e-02 5.81335142e-02 4.65068114e-02 4.65068114e-02 3.48801085e-02 1.16267028e-02 0.00000000e+00 4.65068114e-02 5.81335142e-02 2.32534057e-02 4.65068114e-02 5.81335142e-02 6.97602171e-02 2.32534057e-02 1.04640326e-01 5.81335142e-02 1.16267028e-02 5.81335142e-02 8.13869199e-02 6.97602171e-02 2.32534057e-02 3.48801085e-02 1.27893731e-01 8.13869199e-02 9.30136227e-02 4.65068114e-02 8.13869199e-02 8.13869199e-02 1.39520434e-01 3.48801085e-02 9.30136227e-02 9.30136227e-02 5.81335142e-02 8.13869199e-02 8.13869199e-02 3.48801085e-02 8.13869199e-02 4.65068114e-02 6.97602171e-02 5.81335142e-02 1.16267028e-02 4.65068114e-02 8.13869199e-02 5.81335142e-02 4.65068114e-02 1.04640326e-01 4.65068114e-02 5.81335142e-02 8.13869199e-02 5.81335142e-02 8.13869199e-02 5.81335142e-02 3.48801085e-02 4.65068114e-02 2.32534057e-02 4.65068114e-02 9.30136227e-02 8.13869199e-02 8.13869199e-02 6.97602171e-02 2.32534057e-02 9.30136227e-02 1.04640326e-01 3.48801085e-02 8.13869199e-02 1.04640326e-01 6.97602171e-02 1.16267028e-02 8.13869199e-02 3.48801085e-02 3.48801085e-02 6.97602171e-02 1.16267028e-01 5.81335142e-02 5.81335142e-02 4.65068114e-02 9.30136227e-02 4.65068114e-02 5.81335142e-02 4.65068114e-02 1.04640326e-01 3.48801085e-02 9.30136227e-02 8.13869199e-02 8.13869199e-02 9.30136227e-02 6.97602171e-02 5.81335142e-02 1.04640326e-01 5.81335142e-02 5.81335142e-02 4.65068114e-02 1.27893731e-01 2.32534057e-02 1.04640326e-01 1.04640326e-01 6.97602171e-02 9.30136227e-02 4.65068114e-02 5.81335142e-02 6.97602171e-02 9.30136227e-02 1.04640326e-01 3.48801085e-02 1.16267028e-01 3.48801085e-02 6.97602171e-02 1.04640326e-01 8.13869199e-02 5.81335142e-02 6.97602171e-02 5.81335142e-02 1.16267028e-01 1.04640326e-01 8.13869199e-02 5.81335142e-02 5.81335142e-02 1.27893731e-01 9.30136227e-02 1.16267028e-02 4.65068114e-02 4.65068114e-02 1.16267028e-01 9.30136227e-02 5.81335142e-02 9.30136227e-02 9.30136227e-02 6.97602171e-02 4.65068114e-02 8.13869199e-02 4.65068114e-02 8.13869199e-02 1.51147137e-01 5.81335142e-02 8.13869199e-02 5.81335142e-02 9.30136227e-02 1.16267028e-01 1.16267028e-01 9.30136227e-02 4.65068114e-02 3.48801085e-02 5.81335142e-02 8.13869199e-02 8.13869199e-02 6.97602171e-02 8.13869199e-02 1.16267028e-01 1.62773840e-01 1.27893731e-01 3.48801085e-02 1.27893731e-01 1.16267028e-01 4.65068114e-02 1.04640326e-01 9.30136227e-02 6.97602171e-02 1.04640326e-01 9.30136227e-02 5.81335142e-02 1.39520434e-01 8.13869199e-02 8.13869199e-02 1.04640326e-01 4.65068114e-02 8.13869199e-02 6.97602171e-02 9.30136227e-02 6.97602171e-02 1.04640326e-01 1.62773840e-01 9.30136227e-02 2.32534057e-02 1.04640326e-01 5.81335142e-02 1.04640326e-01 1.27893731e-01 8.13869199e-02 1.62773840e-01 1.04640326e-01 3.48801085e-02 8.13869199e-02 1.16267028e-01 1.16267028e-01 8.13869199e-02 4.65068114e-02 1.74400543e-01 6.97602171e-02 8.13869199e-02 4.65068114e-02 6.97602171e-02 6.97602171e-02 1.16267028e-01 1.51147137e-01 9.30136227e-02 4.65068114e-02 1.04640326e-01 1.04640326e-01 9.30136227e-02 5.81335142e-02 1.16267028e-02 1.74400543e-01 1.04640326e-01 5.81335142e-02 1.04640326e-01 1.16267028e-01 1.39520434e-01 4.65068114e-02 9.30136227e-02 1.04640326e-01 6.97602171e-02 8.13869199e-02 6.97602171e-02 4.65068114e-02 8.13869199e-02 1.16267028e-01 1.62773840e-01 9.30136227e-02 8.13869199e-02 6.97602171e-02 5.81335142e-02 5.81335142e-02 6.97602171e-02 5.81335142e-02 6.97602171e-02 1.16267028e-01 9.30136227e-02 1.39520434e-01 1.04640326e-01 1.27893731e-01 1.27893731e-01 6.97602171e-02 8.13869199e-02 1.51147137e-01 5.81335142e-02 1.04640326e-01 1.04640326e-01 6.97602171e-02 1.51147137e-01 1.16267028e-01 1.16267028e-01 1.27893731e-01 9.30136227e-02 2.32534057e-02 8.13869199e-02 5.81335142e-02 8.13869199e-02 1.16267028e-01 1.27893731e-01 1.16267028e-01 6.97602171e-02 0.00000000e+00 8.13869199e-02 1.16267028e-01 5.81335142e-02 8.13869199e-02 5.81335142e-02 1.16267028e-01 4.65068114e-02 5.81335142e-02 9.30136227e-02 1.04640326e-01 9.30136227e-02 5.81335142e-02 2.32534057e-02 1.27893731e-01 5.81335142e-02 6.97602171e-02 1.16267028e-01 8.13869199e-02 8.13869199e-02 1.04640326e-01 1.16267028e-01 8.13869199e-02 6.97602171e-02 5.81335142e-02 9.30136227e-02 9.30136227e-02 1.16267028e-01 8.13869199e-02 1.51147137e-01 8.13869199e-02 6.97602171e-02 5.81335142e-02 1.04640326e-01 9.30136227e-02 6.97602171e-02 5.81335142e-02 5.81335142e-02 6.97602171e-02 1.04640326e-01 1.04640326e-01 1.39520434e-01 1.04640326e-01 1.86027245e-01 1.04640326e-01 1.04640326e-01 8.13869199e-02 1.16267028e-01 3.48801085e-02 1.16267028e-01 9.30136227e-02 1.16267028e-01 5.81335142e-02 1.27893731e-01 9.30136227e-02 6.97602171e-02 8.13869199e-02 6.97602171e-02 9.30136227e-02 9.30136227e-02 8.13869199e-02 6.97602171e-02 5.81335142e-02 2.32534057e-02 3.48801085e-02 9.30136227e-02 8.13869199e-02 8.13869199e-02 9.30136227e-02 8.13869199e-02 6.97602171e-02 5.81335142e-02 1.51147137e-01 1.51147137e-01 9.30136227e-02 5.81335142e-02 5.81335142e-02 1.27893731e-01 1.27893731e-01 1.27893731e-01 9.30136227e-02 6.97602171e-02 6.97602171e-02 8.13869199e-02 9.30136227e-02 1.16267028e-01 6.97602171e-02 4.65068114e-02 4.65068114e-02 1.04640326e-01 1.39520434e-01 8.13869199e-02 9.30136227e-02 5.81335142e-02 6.97602171e-02 8.13869199e-02 1.27893731e-01 4.65068114e-02 4.65068114e-02 1.27893731e-01 6.97602171e-02 9.30136227e-02 8.13869199e-02 4.65068114e-02 9.30136227e-02 5.81335142e-02 1.04640326e-01 5.81335142e-02 1.16267028e-01 9.30136227e-02 1.04640326e-01 1.04640326e-01 1.04640326e-01 9.30136227e-02 9.30136227e-02 1.04640326e-01 4.65068114e-02 6.97602171e-02 5.81335142e-02 5.81335142e-02 1.16267028e-01 8.13869199e-02 4.65068114e-02 5.81335142e-02 8.13869199e-02 5.81335142e-02 1.04640326e-01 6.97602171e-02 8.13869199e-02 9.30136227e-02 4.65068114e-02 9.30136227e-02 4.65068114e-02 1.27893731e-01 1.27893731e-01 1.04640326e-01 1.27893731e-01 9.30136227e-02 8.13869199e-02 5.81335142e-02 9.30136227e-02 9.30136227e-02 3.48801085e-02 4.65068114e-02 1.04640326e-01 8.13869199e-02 5.81335142e-02 1.04640326e-01 6.97602171e-02 1.39520434e-01 1.16267028e-02 1.04640326e-01 6.97602171e-02 4.65068114e-02 4.65068114e-02 4.65068114e-02 9.30136227e-02 3.48801085e-02 4.65068114e-02 1.04640326e-01 9.30136227e-02 9.30136227e-02 1.04640326e-01 1.62773840e-01 5.81335142e-02 6.97602171e-02 5.81335142e-02 8.13869199e-02 4.65068114e-02 1.04640326e-01 1.16267028e-01 8.13869199e-02 4.65068114e-02 8.13869199e-02 5.81335142e-02 8.13869199e-02 6.97602171e-02 4.65068114e-02 1.04640326e-01 4.65068114e-02 8.13869199e-02 5.81335142e-02 6.97602171e-02 9.30136227e-02 1.27893731e-01 6.97602171e-02 6.97602171e-02 6.97602171e-02 3.48801085e-02 4.65068114e-02 9.30136227e-02 8.13869199e-02 6.97602171e-02 1.16267028e-01 6.97602171e-02 1.16267028e-01 9.30136227e-02 1.04640326e-01 1.16267028e-01 1.04640326e-01 9.30136227e-02 8.13869199e-02 8.13869199e-02 5.81335142e-02 6.97602171e-02 1.04640326e-01 8.13869199e-02 8.13869199e-02 6.97602171e-02 6.97602171e-02 9.30136227e-02 8.13869199e-02 1.16267028e-01 6.97602171e-02 1.04640326e-01 1.27893731e-01 6.97602171e-02 9.30136227e-02 6.97602171e-02 4.65068114e-02 8.13869199e-02 5.81335142e-02 1.39520434e-01 3.48801085e-02 6.97602171e-02 8.13869199e-02 1.97653948e-01 8.13869199e-02 1.04640326e-01 5.81335142e-02 1.04640326e-01 1.16267028e-01 8.13869199e-02 1.04640326e-01 6.97602171e-02 5.81335142e-02 4.65068114e-02 1.16267028e-01 6.97602171e-02 8.13869199e-02 1.62773840e-01 8.13869199e-02 6.97602171e-02 9.30136227e-02 8.13869199e-02 6.97602171e-02 1.04640326e-01 6.97602171e-02 9.30136227e-02 5.81335142e-02 1.62773840e-01 1.16267028e-01 1.27893731e-01 1.62773840e-01 8.13869199e-02 4.65068114e-02 5.81335142e-02 1.16267028e-01 9.30136227e-02 4.65068114e-02 6.97602171e-02 1.04640326e-01 1.27893731e-01 1.16267028e-01 1.27893731e-01 9.30136227e-02 6.97602171e-02 8.13869199e-02 6.97602171e-02 3.48801085e-02 1.27893731e-01 1.04640326e-01 4.65068114e-02 5.81335142e-02 6.97602171e-02 1.04640326e-01 9.30136227e-02 8.13869199e-02 3.48801085e-02 5.81335142e-02 9.30136227e-02 3.48801085e-02 8.13869199e-02 1.04640326e-01 8.13869199e-02 8.13869199e-02 9.30136227e-02 6.97602171e-02 1.39520434e-01 3.48801085e-02 1.04640326e-01 1.16267028e-01 9.30136227e-02 5.81335142e-02 8.13869199e-02 5.81335142e-02 8.13869199e-02 1.04640326e-01 5.81335142e-02 8.13869199e-02 1.16267028e-01 1.16267028e-01 8.13869199e-02 3.48801085e-02 1.27893731e-01 1.62773840e-01 8.13869199e-02 4.65068114e-02 8.13869199e-02 4.65068114e-02 8.13869199e-02 9.30136227e-02 9.30136227e-02 4.65068114e-02 4.65068114e-02 5.81335142e-02 5.81335142e-02 3.48801085e-02 1.04640326e-01 4.65068114e-02 5.81335142e-02 6.97602171e-02 8.13869199e-02 9.30136227e-02 5.81335142e-02 1.04640326e-01 5.81335142e-02 8.13869199e-02 1.04640326e-01 1.04640326e-01 9.30136227e-02 6.97602171e-02 5.81335142e-02 6.97602171e-02 1.51147137e-01 1.04640326e-01 3.48801085e-02 4.65068114e-02 8.13869199e-02 2.32534057e-02 8.13869199e-02 3.48801085e-02 8.13869199e-02 8.13869199e-02 1.39520434e-01 6.97602171e-02 6.97602171e-02 4.65068114e-02 5.81335142e-02 4.65068114e-02 2.32534057e-02 1.16267028e-01 6.97602171e-02 4.65068114e-02 5.81335142e-02 8.13869199e-02 9.30136227e-02 4.65068114e-02 4.65068114e-02 6.97602171e-02 6.97602171e-02 6.97602171e-02 4.65068114e-02 6.97602171e-02 2.32534057e-02 6.97602171e-02 4.65068114e-02 1.04640326e-01 1.27893731e-01 3.48801085e-02 6.97602171e-02 1.51147137e-01 6.97602171e-02 5.81335142e-02 4.65068114e-02 9.30136227e-02 1.16267028e-01 5.81335142e-02 9.30136227e-02 8.13869199e-02 5.81335142e-02 9.30136227e-02 1.04640326e-01 1.16267028e-02 1.27893731e-01 1.04640326e-01 4.65068114e-02 4.65068114e-02 9.30136227e-02 6.97602171e-02 6.97602171e-02 5.81335142e-02 9.30136227e-02 9.30136227e-02 9.30136227e-02 8.13869199e-02 6.97602171e-02 5.81335142e-02 6.97602171e-02 6.97602171e-02 1.04640326e-01 8.13869199e-02 8.13869199e-02 1.39520434e-01 5.81335142e-02 1.27893731e-01 9.30136227e-02 1.86027245e-01 1.16267028e-01 5.81335142e-02 5.81335142e-02 5.81335142e-02 8.13869199e-02 1.16267028e-01 5.81335142e-02 6.97602171e-02 6.97602171e-02 8.13869199e-02 8.13869199e-02 4.65068114e-02 5.81335142e-02 8.13869199e-02 1.04640326e-01 3.48801085e-02 9.30136227e-02 2.32534057e-02 5.81335142e-02 1.27893731e-01 1.04640326e-01 1.04640326e-01 5.81335142e-02 3.48801085e-02 5.81335142e-02 9.30136227e-02 9.30136227e-02 8.13869199e-02 3.48801085e-02 1.16267028e-01 2.32534057e-02 8.13869199e-02 1.04640326e-01 5.81335142e-02 1.04640326e-01 8.13869199e-02 6.97602171e-02 1.04640326e-01 4.65068114e-02 5.81335142e-02 5.81335142e-02 6.97602171e-02 8.13869199e-02 9.30136227e-02 1.27893731e-01 5.81335142e-02 1.16267028e-01 1.62773840e-01 9.30136227e-02 1.04640326e-01 9.30136227e-02 1.16267028e-02 6.97602171e-02 5.81335142e-02 8.13869199e-02 1.04640326e-01 5.81335142e-02 1.27893731e-01 5.81335142e-02 9.30136227e-02 1.16267028e-01 6.97602171e-02 6.97602171e-02 9.30136227e-02 8.13869199e-02 6.97602171e-02 5.81335142e-02 9.30136227e-02 5.81335142e-02 5.81335142e-02 9.30136227e-02 5.81335142e-02 4.65068114e-02 6.97602171e-02 1.04640326e-01 3.48801085e-02 8.13869199e-02 9.30136227e-02 6.97602171e-02 3.48801085e-02 3.48801085e-02 8.13869199e-02 1.04640326e-01 6.97602171e-02 1.27893731e-01 2.32534057e-02 3.48801085e-02 8.13869199e-02 8.13869199e-02 6.97602171e-02 6.97602171e-02 8.13869199e-02 1.16267028e-01 1.39520434e-01 4.65068114e-02 1.16267028e-01 6.97602171e-02 1.04640326e-01 4.65068114e-02 6.97602171e-02 9.30136227e-02 9.30136227e-02 1.16267028e-02 6.97602171e-02 3.48801085e-02 1.04640326e-01 1.39520434e-01 5.81335142e-02 8.13869199e-02 9.30136227e-02 6.97602171e-02 9.30136227e-02 6.97602171e-02 5.81335142e-02 9.30136227e-02 9.30136227e-02 1.16267028e-01 4.65068114e-02 9.30136227e-02 1.16267028e-01 4.65068114e-02 4.65068114e-02 8.13869199e-02 5.81335142e-02 6.97602171e-02 3.48801085e-02 4.65068114e-02 3.48801085e-02 6.97602171e-02 1.04640326e-01 1.39520434e-01 1.27893731e-01 9.30136227e-02 5.81335142e-02 1.04640326e-01 8.13869199e-02 4.65068114e-02 8.13869199e-02 8.13869199e-02 8.13869199e-02 6.97602171e-02 3.48801085e-02 8.13869199e-02 1.39520434e-01 1.04640326e-01 8.13869199e-02 3.48801085e-02 8.13869199e-02 8.13869199e-02 6.97602171e-02 5.81335142e-02 1.04640326e-01 4.65068114e-02 4.65068114e-02 1.16267028e-01 4.65068114e-02 6.97602171e-02 9.30136227e-02 1.16267028e-01 9.30136227e-02 4.65068114e-02 9.30136227e-02 1.04640326e-01 1.27893731e-01 4.65068114e-02 8.13869199e-02 1.04640326e-01 8.13869199e-02 5.81335142e-02 1.27893731e-01 1.27893731e-01 5.81335142e-02 9.30136227e-02 1.04640326e-01 8.13869199e-02 1.27893731e-01 8.13869199e-02 4.65068114e-02 5.81335142e-02 4.65068114e-02 5.81335142e-02 4.65068114e-02 9.30136227e-02 8.13869199e-02 1.04640326e-01 5.81335142e-02 6.97602171e-02 6.97602171e-02 9.30136227e-02 4.65068114e-02 3.48801085e-02 9.30136227e-02 1.39520434e-01 3.48801085e-02 5.81335142e-02 1.04640326e-01 5.81335142e-02 1.51147137e-01 8.13869199e-02 8.13869199e-02 9.30136227e-02 5.81335142e-02 9.30136227e-02 4.65068114e-02 4.65068114e-02 1.27893731e-01 8.13869199e-02 4.65068114e-02 8.13869199e-02 6.97602171e-02 1.16267028e-01 4.65068114e-02 1.16267028e-01 5.81335142e-02 1.04640326e-01 8.13869199e-02 5.81335142e-02 2.32534057e-02 5.81335142e-02 1.16267028e-01 1.16267028e-01 1.16267028e-02 1.62773840e-01 1.27893731e-01 6.97602171e-02 4.65068114e-02 3.48801085e-02 6.97602171e-02 8.13869199e-02 1.27893731e-01 4.65068114e-02 2.32534057e-02 8.13869199e-02 1.16267028e-01 6.97602171e-02 9.30136227e-02 6.97602171e-02 6.97602171e-02 8.13869199e-02 9.30136227e-02 6.97602171e-02 8.13869199e-02 6.97602171e-02 5.81335142e-02 1.04640326e-01 1.16267028e-01 9.30136227e-02 1.16267028e-01 9.30136227e-02 9.30136227e-02 8.13869199e-02 8.13869199e-02 5.81335142e-02 1.04640326e-01 1.04640326e-01 9.30136227e-02 6.97602171e-02 6.97602171e-02 8.13869199e-02 6.97602171e-02 8.13869199e-02 8.13869199e-02 9.30136227e-02 1.04640326e-01 2.32534057e-02 4.65068114e-02 9.30136227e-02 1.04640326e-01 5.81335142e-02 1.16267028e-01 1.04640326e-01 5.81335142e-02 8.13869199e-02 5.81335142e-02 6.97602171e-02 5.81335142e-02 8.13869199e-02 1.04640326e-01 6.97602171e-02 5.81335142e-02 5.81335142e-02 9.30136227e-02 3.48801085e-02 8.13869199e-02 2.32534057e-02 1.04640326e-01 8.13869199e-02 2.32534057e-02 8.13869199e-02 6.97602171e-02 8.13869199e-02 9.30136227e-02 5.81335142e-02 9.30136227e-02 4.65068114e-02 8.13869199e-02 1.27893731e-01 4.65068114e-02 1.04640326e-01 8.13869199e-02 8.13869199e-02 6.97602171e-02 3.48801085e-02 1.16267028e-02 9.30136227e-02 4.65068114e-02 1.39520434e-01 1.04640326e-01 1.16267028e-01 4.65068114e-02 9.30136227e-02 4.65068114e-02 6.97602171e-02 5.81335142e-02 1.16267028e-01 9.30136227e-02 1.16267028e-02 2.32534057e-02 1.04640326e-01 8.13869199e-02 6.97602171e-02 1.27893731e-01 2.32534057e-02 1.04640326e-01 8.13869199e-02 4.65068114e-02 1.04640326e-01 6.97602171e-02 4.65068114e-02 5.81335142e-02 9.30136227e-02 5.81335142e-02 5.81335142e-02 4.65068114e-02 5.81335142e-02 1.16267028e-01 1.16267028e-01 3.48801085e-02 1.86027245e-01 1.16267028e-01 5.81335142e-02 1.04640326e-01 8.13869199e-02 9.30136227e-02 9.30136227e-02 6.97602171e-02 1.39520434e-01 1.16267028e-01 3.48801085e-02 9.30136227e-02 5.81335142e-02 1.27893731e-01 8.13869199e-02 9.30136227e-02 8.13869199e-02 9.30136227e-02 1.16267028e-01 9.30136227e-02 8.13869199e-02 6.97602171e-02 8.13869199e-02 5.81335142e-02 6.97602171e-02 3.48801085e-02 5.81335142e-02 5.81335142e-02 6.97602171e-02 6.97602171e-02 1.27893731e-01 9.30136227e-02 8.13869199e-02 6.97602171e-02 8.13869199e-02 4.65068114e-02 9.30136227e-02 8.13869199e-02 3.48801085e-02 8.13869199e-02 3.48801085e-02 5.81335142e-02 6.97602171e-02 3.48801085e-02 1.16267028e-01 1.04640326e-01 1.39520434e-01 1.39520434e-01 1.16267028e-01 4.65068114e-02 1.04640326e-01 1.16267028e-01 1.39520434e-01 4.65068114e-02 3.48801085e-02 3.48801085e-02 8.13869199e-02 4.65068114e-02 8.13869199e-02 4.65068114e-02 5.81335142e-02 5.81335142e-02 1.27893731e-01 6.97602171e-02 5.81335142e-02 9.30136227e-02 1.04640326e-01 1.27893731e-01 9.30136227e-02 9.30136227e-02 4.65068114e-02 8.13869199e-02 4.65068114e-02 6.97602171e-02 1.16267028e-01 1.27893731e-01 1.16267028e-01 6.97602171e-02 8.13869199e-02 4.65068114e-02 4.65068114e-02 5.81335142e-02 5.81335142e-02 4.65068114e-02 1.04640326e-01 5.81335142e-02 2.32534057e-02 1.16267028e-01 8.13869199e-02 2.32534057e-02 1.04640326e-01 6.97602171e-02 4.65068114e-02 8.13869199e-02 1.04640326e-01 4.65068114e-02 3.48801085e-02 1.04640326e-01 8.13869199e-02 6.97602171e-02 8.13869199e-02 1.39520434e-01 9.30136227e-02 1.51147137e-01 3.48801085e-02 1.16267028e-02 9.30136227e-02 9.30136227e-02 6.97602171e-02 2.32534057e-02 9.30136227e-02 5.81335142e-02 1.27893731e-01 2.32534057e-02 4.65068114e-02 5.81335142e-02 3.48801085e-02 1.16267028e-01 5.81335142e-02 5.81335142e-02 8.13869199e-02 8.13869199e-02 9.30136227e-02 6.97602171e-02 9.30136227e-02 9.30136227e-02 8.13869199e-02 1.04640326e-01 9.30136227e-02 9.30136227e-02 9.30136227e-02 5.81335142e-02 8.13869199e-02 1.04640326e-01 1.04640326e-01 6.97602171e-02 5.81335142e-02 5.81335142e-02 4.65068114e-02 1.04640326e-01 6.97602171e-02 1.16267028e-01 1.04640326e-01 1.04640326e-01 8.13869199e-02 9.30136227e-02 9.30136227e-02 1.39520434e-01 3.48801085e-02 5.81335142e-02 8.13869199e-02 9.30136227e-02 3.48801085e-02 1.16267028e-01 8.13869199e-02 8.13869199e-02 3.48801085e-02 5.81335142e-02 5.81335142e-02 9.30136227e-02 1.04640326e-01 8.13869199e-02 8.13869199e-02 9.30136227e-02 1.39520434e-01 8.13869199e-02 9.30136227e-02 1.04640326e-01 4.65068114e-02 1.04640326e-01 9.30136227e-02 6.97602171e-02 4.65068114e-02 8.13869199e-02 6.97602171e-02 8.13869199e-02 5.81335142e-02 1.04640326e-01 9.30136227e-02 8.13869199e-02 5.81335142e-02 1.27893731e-01 1.27893731e-01 6.97602171e-02 6.97602171e-02 6.97602171e-02 1.51147137e-01 9.30136227e-02 8.13869199e-02 5.81335142e-02 1.04640326e-01 3.48801085e-02 4.65068114e-02 5.81335142e-02 8.13869199e-02 1.39520434e-01 3.48801085e-02 1.16267028e-01 3.48801085e-02 9.30136227e-02 3.48801085e-02 8.13869199e-02 8.13869199e-02 3.48801085e-02 2.32534057e-02 9.30136227e-02 8.13869199e-02 5.81335142e-02 1.16267028e-01 8.13869199e-02 8.13869199e-02 1.04640326e-01 4.65068114e-02 5.81335142e-02 8.13869199e-02 9.30136227e-02 8.13869199e-02 5.81335142e-02 5.81335142e-02 9.30136227e-02 5.81335142e-02 6.97602171e-02 6.97602171e-02 3.48801085e-02 8.13869199e-02 1.27893731e-01 9.30136227e-02 3.48801085e-02 6.97602171e-02 8.13869199e-02 2.32534057e-02 8.13869199e-02 4.65068114e-02 9.30136227e-02 3.48801085e-02 1.04640326e-01 6.97602171e-02 5.81335142e-02 9.30136227e-02 8.13869199e-02 4.65068114e-02 1.39520434e-01 8.13869199e-02 6.97602171e-02 9.30136227e-02 8.13869199e-02 5.81335142e-02 5.81335142e-02 1.39520434e-01 1.04640326e-01 3.48801085e-02 4.65068114e-02 3.48801085e-02 5.81335142e-02 5.81335142e-02 2.32534057e-02 5.81335142e-02 8.13869199e-02 4.65068114e-02 4.65068114e-02 6.97602171e-02 4.65068114e-02 6.97602171e-02 1.04640326e-01 5.81335142e-02 1.16267028e-01 5.81335142e-02 6.97602171e-02 9.30136227e-02 8.13869199e-02 1.04640326e-01 8.13869199e-02 9.30136227e-02 6.97602171e-02 5.81335142e-02 9.30136227e-02 6.97602171e-02 5.81335142e-02 6.97602171e-02 9.30136227e-02 5.81335142e-02 6.97602171e-02 4.65068114e-02 2.32534057e-02 2.32534057e-02 6.97602171e-02 3.48801085e-02 8.13869199e-02 6.97602171e-02 1.04640326e-01 4.65068114e-02 6.97602171e-02 1.27893731e-01 1.16267028e-02 5.81335142e-02 6.97602171e-02 1.16267028e-01 8.13869199e-02 4.65068114e-02 5.81335142e-02 4.65068114e-02 9.30136227e-02 8.13869199e-02 9.30136227e-02 6.97602171e-02 5.81335142e-02 9.30136227e-02 6.97602171e-02 1.27893731e-01 5.81335142e-02 9.30136227e-02 6.97602171e-02 6.97602171e-02 6.97602171e-02 5.81335142e-02 9.30136227e-02 9.30136227e-02 1.04640326e-01 3.48801085e-02 9.30136227e-02 1.04640326e-01 5.81335142e-02 9.30136227e-02 1.27893731e-01 6.97602171e-02 5.81335142e-02 1.16267028e-01 6.97602171e-02 3.48801085e-02 5.81335142e-02 4.65068114e-02 1.04640326e-01 5.81335142e-02 5.81335142e-02 6.97602171e-02 6.97602171e-02 4.65068114e-02 5.81335142e-02 1.74400543e-01 1.16267028e-01 2.32534057e-02 5.81335142e-02 4.65068114e-02 6.97602171e-02 1.39520434e-01 5.81335142e-02 3.48801085e-02 5.81335142e-02 6.97602171e-02 9.30136227e-02 1.39520434e-01 9.30136227e-02 6.97602171e-02 2.32534057e-02 3.48801085e-02 9.30136227e-02 9.30136227e-02 9.30136227e-02 1.04640326e-01 6.97602171e-02 6.97602171e-02 3.48801085e-02 6.97602171e-02 9.30136227e-02 4.65068114e-02 1.16267028e-01 4.65068114e-02 4.65068114e-02 1.16267028e-01 8.13869199e-02 5.81335142e-02 8.13869199e-02 1.39520434e-01 4.65068114e-02 3.48801085e-02 6.97602171e-02 6.97602171e-02 9.30136227e-02 8.13869199e-02 8.13869199e-02 3.48801085e-02 8.13869199e-02 1.04640326e-01 8.13869199e-02 6.97602171e-02 3.48801085e-02 3.48801085e-02 4.65068114e-02 5.81335142e-02 3.48801085e-02 1.04640326e-01 5.81335142e-02 9.30136227e-02 8.13869199e-02 6.97602171e-02 4.65068114e-02 9.30136227e-02 1.16267028e-01 4.65068114e-02 6.97602171e-02 9.30136227e-02 1.16267028e-01 0.00000000e+00 9.30136227e-02 6.97602171e-02 5.81335142e-02 5.81335142e-02 1.04640326e-01 5.81335142e-02 3.48801085e-02 8.13869199e-02 5.81335142e-02 5.81335142e-02 6.97602171e-02 6.97602171e-02 5.81335142e-02 6.97602171e-02 3.48801085e-02 5.81335142e-02 8.13869199e-02 5.81335142e-02 1.39520434e-01 1.16267028e-01 5.81335142e-02 9.30136227e-02 9.30136227e-02 6.97602171e-02 5.81335142e-02 3.48801085e-02 6.97602171e-02 6.97602171e-02 6.97602171e-02 8.13869199e-02 1.39520434e-01 1.16267028e-01 1.27893731e-01 1.04640326e-01 3.48801085e-02 1.27893731e-01 8.13869199e-02 1.04640326e-01 8.13869199e-02 8.13869199e-02 6.97602171e-02 6.97602171e-02 1.04640326e-01 8.13869199e-02 1.51147137e-01 1.51147137e-01 1.04640326e-01 1.39520434e-01 9.30136227e-02 1.16267028e-01 6.97602171e-02 4.65068114e-02 2.32534057e-02 1.16267028e-01 5.81335142e-02 5.81335142e-02 1.27893731e-01 2.32534057e-02 6.97602171e-02 3.48801085e-02 5.81335142e-02 1.04640326e-01 4.65068114e-02 6.97602171e-02 9.30136227e-02 3.48801085e-02 6.97602171e-02 8.13869199e-02 6.97602171e-02 8.13869199e-02 6.97602171e-02 8.13869199e-02 2.32534057e-02 4.65068114e-02 9.30136227e-02 8.13869199e-02 3.48801085e-02 8.13869199e-02 5.81335142e-02 6.97602171e-02 9.30136227e-02 1.27893731e-01 8.13869199e-02 5.81335142e-02 6.97602171e-02 4.65068114e-02 1.16267028e-02 8.13869199e-02 1.16267028e-01 4.65068114e-02 1.16267028e-01 8.13869199e-02 3.48801085e-02 5.81335142e-02 6.97602171e-02 2.32534057e-02 3.48801085e-02 6.97602171e-02 1.27893731e-01 1.51147137e-01 2.32534057e-02 3.48801085e-02 1.04640326e-01 5.81335142e-02 3.48801085e-02 2.32534057e-02 1.16267028e-01 3.48801085e-02 3.48801085e-02 6.97602171e-02 3.48801085e-02 9.30136227e-02 3.48801085e-02 1.27893731e-01 6.97602171e-02 6.97602171e-02 5.81335142e-02 1.04640326e-01 1.39520434e-01 1.04640326e-01 3.48801085e-02 5.81335142e-02 3.48801085e-02 6.97602171e-02 3.48801085e-02 4.65068114e-02 6.97602171e-02 4.65068114e-02 4.65068114e-02 1.04640326e-01 9.30136227e-02 1.27893731e-01 1.04640326e-01 1.04640326e-01 1.04640326e-01 6.97602171e-02 5.81335142e-02 1.16267028e-01 6.97602171e-02 1.27893731e-01 5.81335142e-02 6.97602171e-02 8.13869199e-02 8.13869199e-02 1.04640326e-01 3.48801085e-02 1.27893731e-01 5.81335142e-02 8.13869199e-02 1.39520434e-01 2.32534057e-02 9.30136227e-02 4.65068114e-02 6.97602171e-02 6.97602171e-02 1.51147137e-01 4.65068114e-02 5.81335142e-02 1.04640326e-01 1.27893731e-01 1.16267028e-01 5.81335142e-02 6.97602171e-02 6.97602171e-02 1.04640326e-01 9.30136227e-02 5.81335142e-02 9.30136227e-02 5.81335142e-02 8.13869199e-02 8.13869199e-02 1.39520434e-01 1.39520434e-01 4.65068114e-02 1.27893731e-01 9.30136227e-02 3.48801085e-02 2.32534057e-02 6.97602171e-02 8.13869199e-02 5.81335142e-02 5.81335142e-02 6.97602171e-02 1.16267028e-01 8.13869199e-02 4.65068114e-02 4.65068114e-02 4.65068114e-02 1.39520434e-01 9.30136227e-02 8.13869199e-02 1.16267028e-01 8.13869199e-02 3.48801085e-02 6.97602171e-02 5.81335142e-02 8.13869199e-02 8.13869199e-02 5.81335142e-02 8.13869199e-02 5.81335142e-02 2.32534057e-02 6.97602171e-02 1.16267028e-01 9.30136227e-02 8.13869199e-02 9.30136227e-02 1.04640326e-01 8.13869199e-02 6.97602171e-02 6.97602171e-02 4.65068114e-02 9.30136227e-02 5.81335142e-02 9.30136227e-02 5.81335142e-02 1.16267028e-01 6.97602171e-02 1.16267028e-01 9.30136227e-02 4.65068114e-02 3.48801085e-02 8.13869199e-02 4.65068114e-02 6.97602171e-02 8.13869199e-02 5.81335142e-02 5.81335142e-02 5.81335142e-02 1.16267028e-01 1.16267028e-01 1.16267028e-02 1.04640326e-01 1.74400543e-01 9.30136227e-02 3.48801085e-02 1.51147137e-01 1.51147137e-01 8.13869199e-02 2.32534057e-02 6.97602171e-02 6.97602171e-02 1.04640326e-01 9.30136227e-02 6.97602171e-02 1.04640326e-01 6.97602171e-02 5.81335142e-02 1.16267028e-01 4.65068114e-02 8.13869199e-02 6.97602171e-02 5.81335142e-02 1.16267028e-01 5.81335142e-02 4.65068114e-02 6.97602171e-02 9.30136227e-02 1.62773840e-01 2.32534057e-02 8.13869199e-02 1.16267028e-01 9.30136227e-02 4.65068114e-02 5.81335142e-02 1.16267028e-01 6.97602171e-02 6.97602171e-02 8.13869199e-02 1.04640326e-01 6.97602171e-02 8.13869199e-02 4.65068114e-02 2.32534057e-02 1.27893731e-01 6.97602171e-02 1.27893731e-01 8.13869199e-02 8.13869199e-02 8.13869199e-02 4.65068114e-02 4.65068114e-02 9.30136227e-02 9.30136227e-02 9.30136227e-02 5.81335142e-02 9.30136227e-02 8.13869199e-02 1.04640326e-01 4.65068114e-02 4.65068114e-02 1.16267028e-01 5.81335142e-02 8.13869199e-02 1.04640326e-01 8.13869199e-02 1.16267028e-01 9.30136227e-02 1.04640326e-01 6.97602171e-02 8.13869199e-02 1.16267028e-01 1.27893731e-01 5.81335142e-02 8.13869199e-02 6.97602171e-02 6.97602171e-02 6.97602171e-02 5.81335142e-02 6.97602171e-02 6.97602171e-02 1.16267028e-01 0.00000000e+00 9.30136227e-02 4.65068114e-02 1.16267028e-01 1.04640326e-01 4.65068114e-02 4.65068114e-02 9.30136227e-02 3.48801085e-02 9.30136227e-02 1.51147137e-01 6.97602171e-02 1.04640326e-01 1.27893731e-01 5.81335142e-02 4.65068114e-02 1.04640326e-01 1.16267028e-02 8.13869199e-02 9.30136227e-02 4.65068114e-02 8.13869199e-02 5.81335142e-02 5.81335142e-02 5.81335142e-02 1.04640326e-01 3.48801085e-02 6.97602171e-02 1.39520434e-01 9.30136227e-02 9.30136227e-02 6.97602171e-02 6.97602171e-02 8.13869199e-02 5.81335142e-02 9.30136227e-02 6.97602171e-02 8.13869199e-02 6.97602171e-02 1.04640326e-01 1.16267028e-01 1.74400543e-01 5.81335142e-02 5.81335142e-02 6.97602171e-02 8.13869199e-02 8.13869199e-02 8.13869199e-02 4.65068114e-02 1.16267028e-01 6.97602171e-02 3.48801085e-02 5.81335142e-02 9.30136227e-02 5.81335142e-02 5.81335142e-02 9.30136227e-02 6.97602171e-02 1.04640326e-01 6.97602171e-02 9.30136227e-02 4.65068114e-02 9.30136227e-02 1.04640326e-01 8.13869199e-02 8.13869199e-02 6.97602171e-02 8.13869199e-02 5.81335142e-02 4.65068114e-02 1.04640326e-01 1.16267028e-01 5.81335142e-02 3.48801085e-02 8.13869199e-02 6.97602171e-02 3.48801085e-02 1.04640326e-01 4.65068114e-02 6.97602171e-02 6.97602171e-02 5.81335142e-02 6.97602171e-02 8.13869199e-02 1.39520434e-01 1.16267028e-01 2.32534057e-02 1.39520434e-01 6.97602171e-02 8.13869199e-02 6.97602171e-02 6.97602171e-02 3.48801085e-02 1.04640326e-01 8.13869199e-02 3.48801085e-02 8.13869199e-02 8.13869199e-02 2.32534057e-02 6.97602171e-02 4.65068114e-02 1.39520434e-01 8.13869199e-02 9.30136227e-02 1.39520434e-01 9.30136227e-02 3.48801085e-02 5.81335142e-02 6.97602171e-02 9.30136227e-02 5.81335142e-02 9.30136227e-02 5.81335142e-02 6.97602171e-02 8.13869199e-02 3.48801085e-02 9.30136227e-02 5.81335142e-02 9.30136227e-02 5.81335142e-02 9.30136227e-02 6.97602171e-02 1.16267028e-01 1.86027245e-01 6.97602171e-02 5.81335142e-02 9.30136227e-02 4.65068114e-02 1.16267028e-02 1.04640326e-01 5.81335142e-02 4.65068114e-02 5.81335142e-02 1.16267028e-02 8.13869199e-02 5.81335142e-02 9.30136227e-02 4.65068114e-02 9.30136227e-02 1.16267028e-01 1.04640326e-01 5.81335142e-02 6.97602171e-02 4.65068114e-02 1.16267028e-01 9.30136227e-02 9.30136227e-02 1.27893731e-01 1.27893731e-01 2.32534057e-02 1.27893731e-01 1.04640326e-01 6.97602171e-02 1.39520434e-01 6.97602171e-02 1.04640326e-01 5.81335142e-02 6.97602171e-02 1.16267028e-01 5.81335142e-02 1.39520434e-01 6.97602171e-02 4.65068114e-02 9.30136227e-02 9.30136227e-02 3.48801085e-02 1.16267028e-01 4.65068114e-02 6.97602171e-02 6.97602171e-02 5.81335142e-02 1.51147137e-01 1.16267028e-01 9.30136227e-02 5.81335142e-02 1.51147137e-01 5.81335142e-02 9.30136227e-02 4.65068114e-02 1.04640326e-01 9.30136227e-02 3.48801085e-02 9.30136227e-02 6.97602171e-02 6.97602171e-02 5.81335142e-02 8.13869199e-02 8.13869199e-02 2.32534057e-02 1.62773840e-01 1.86027245e-01 1.16267028e-01 1.74400543e-01 9.30136227e-02 8.13869199e-02 5.81335142e-02 9.30136227e-02 1.27893731e-01 1.27893731e-01 9.30136227e-02 1.51147137e-01 9.30136227e-02 5.81335142e-02 9.30136227e-02 5.81335142e-02 3.48801085e-02 8.13869199e-02 3.48801085e-02 1.51147137e-01 6.97602171e-02 1.27893731e-01 1.39520434e-01 3.48801085e-02 1.62773840e-01 1.27893731e-01 1.16267028e-02 1.16267028e-01 1.16267028e-01 5.81335142e-02 4.65068114e-02 8.13869199e-02 1.16267028e-01 5.81335142e-02 1.16267028e-01 1.16267028e-01 5.81335142e-02 2.32534057e-02 5.81335142e-02 6.97602171e-02 8.13869199e-02 6.97602171e-02 4.65068114e-02 5.81335142e-02 5.81335142e-02 6.97602171e-02 6.97602171e-02 5.81335142e-02 4.65068114e-02 9.30136227e-02 5.81335142e-02 6.97602171e-02 9.30136227e-02 1.39520434e-01 3.48801085e-02 1.27893731e-01 1.27893731e-01 9.30136227e-02 8.13869199e-02 3.48801085e-02 1.27893731e-01 5.81335142e-02 1.16267028e-01 5.81335142e-02 8.13869199e-02 1.04640326e-01 1.16267028e-01 1.04640326e-01 5.81335142e-02 8.13869199e-02 9.30136227e-02 5.81335142e-02 1.04640326e-01 1.04640326e-01 5.81335142e-02 6.97602171e-02 4.65068114e-02 8.13869199e-02 4.65068114e-02 3.48801085e-02 4.65068114e-02 2.32534057e-02 9.30136227e-02 9.30136227e-02 9.30136227e-02 1.04640326e-01 1.04640326e-01 5.81335142e-02 3.48801085e-02 8.13869199e-02 8.13869199e-02 5.81335142e-02 6.97602171e-02 6.97602171e-02 6.97602171e-02 1.16267028e-01 8.13869199e-02 3.48801085e-02 8.13869199e-02 1.04640326e-01 8.13869199e-02 1.04640326e-01 6.97602171e-02 8.13869199e-02 6.97602171e-02 1.39520434e-01 8.13869199e-02 4.65068114e-02 8.13869199e-02 6.97602171e-02 6.97602171e-02 1.16267028e-01 4.65068114e-02 1.04640326e-01 4.65068114e-02 1.16267028e-01 1.04640326e-01 6.97602171e-02 5.81335142e-02 8.13869199e-02 1.27893731e-01 1.16267028e-01 9.30136227e-02 4.65068114e-02 8.13869199e-02 1.04640326e-01 1.04640326e-01 9.30136227e-02 5.81335142e-02 5.81335142e-02 1.39520434e-01 6.97602171e-02 2.32534057e-02 1.04640326e-01 6.97602171e-02 9.30136227e-02 8.13869199e-02 8.13869199e-02 6.97602171e-02 1.04640326e-01 1.27893731e-01 9.30136227e-02 1.04640326e-01 6.97602171e-02 4.65068114e-02 5.81335142e-02 4.65068114e-02 8.13869199e-02 8.13869199e-02 6.97602171e-02 8.13869199e-02 8.13869199e-02 9.30136227e-02 5.81335142e-02 1.16267028e-01 1.16267028e-01 4.65068114e-02 8.13869199e-02 1.62773840e-01 9.30136227e-02 1.27893731e-01 4.65068114e-02 6.97602171e-02 1.04640326e-01 1.16267028e-01 3.48801085e-02 9.30136227e-02 6.97602171e-02 1.16267028e-01 4.65068114e-02 8.13869199e-02 4.65068114e-02 3.48801085e-02 9.30136227e-02 1.04640326e-01 5.81335142e-02 5.81335142e-02 5.81335142e-02 2.32534057e-02 1.04640326e-01 8.13869199e-02 6.97602171e-02 8.13869199e-02 5.81335142e-02 1.51147137e-01 9.30136227e-02 9.30136227e-02 5.81335142e-02 1.16267028e-01 5.81335142e-02 1.04640326e-01 1.62773840e-01 9.30136227e-02 1.16267028e-01 9.30136227e-02 1.04640326e-01 6.97602171e-02 5.81335142e-02 4.65068114e-02 1.16267028e-01 8.13869199e-02 5.81335142e-02 1.39520434e-01 4.65068114e-02 4.65068114e-02 6.97602171e-02 4.65068114e-02 9.30136227e-02 9.30136227e-02 6.97602171e-02 5.81335142e-02 5.81335142e-02 5.81335142e-02 6.97602171e-02 1.04640326e-01 1.27893731e-01 1.04640326e-01 8.13869199e-02 8.13869199e-02 4.65068114e-02 8.13869199e-02 3.48801085e-02 1.16267028e-01 4.65068114e-02 3.48801085e-02 4.65068114e-02 1.16267028e-01 9.30136227e-02 1.04640326e-01 9.30136227e-02 8.13869199e-02 6.97602171e-02 9.30136227e-02 5.81335142e-02 8.13869199e-02 1.04640326e-01 1.04640326e-01 6.97602171e-02 1.04640326e-01 4.65068114e-02 8.13869199e-02 1.04640326e-01 1.16267028e-01 3.48801085e-02 8.13869199e-02 2.32534057e-02 8.13869199e-02 3.48801085e-02 6.97602171e-02 9.30136227e-02 8.13869199e-02 5.81335142e-02 4.65068114e-02 1.27893731e-01 1.16267028e-01 8.13869199e-02 4.65068114e-02 4.65068114e-02 5.81335142e-02 1.39520434e-01 1.27893731e-01 9.30136227e-02 9.30136227e-02 5.81335142e-02 6.97602171e-02 9.30136227e-02 1.16267028e-01 8.13869199e-02 3.48801085e-02 8.13869199e-02 1.39520434e-01 3.48801085e-02 4.65068114e-02 6.97602171e-02 9.30136227e-02 6.97602171e-02 5.81335142e-02 8.13869199e-02 1.16267028e-01 4.65068114e-02 5.81335142e-02 1.62773840e-01 6.97602171e-02 1.04640326e-01 9.30136227e-02 1.04640326e-01 6.97602171e-02 1.39520434e-01 4.65068114e-02 1.27893731e-01 8.13869199e-02 6.97602171e-02 8.13869199e-02 1.27893731e-01 9.30136227e-02 6.97602171e-02 4.65068114e-02 8.13869199e-02 6.97602171e-02 4.65068114e-02 1.04640326e-01 5.81335142e-02 1.04640326e-01 6.97602171e-02 9.30136227e-02 4.65068114e-02 9.30136227e-02 1.27893731e-01 6.97602171e-02 1.16267028e-01 6.97602171e-02 4.65068114e-02 1.16267028e-01 1.39520434e-01 5.81335142e-02 1.04640326e-01 4.65068114e-02 1.04640326e-01 8.13869199e-02 3.48801085e-02 3.48801085e-02 1.16267028e-01 9.30136227e-02 6.97602171e-02 4.65068114e-02 6.97602171e-02 1.16267028e-01 2.32534057e-02 4.65068114e-02 3.48801085e-02 1.16267028e-01 9.30136227e-02 1.62773840e-01 5.81335142e-02 5.81335142e-02 9.30136227e-02 1.04640326e-01 1.27893731e-01 1.04640326e-01 1.27893731e-01 6.97602171e-02 8.13869199e-02 6.97602171e-02 1.16267028e-01 9.30136227e-02 1.16267028e-01 1.04640326e-01 9.30136227e-02 9.30136227e-02 1.04640326e-01 2.32534057e-02 5.81335142e-02 1.04640326e-01 9.30136227e-02 8.13869199e-02 1.04640326e-01 4.65068114e-02 8.13869199e-02 5.81335142e-02 1.04640326e-01 1.62773840e-01 9.30136227e-02 1.27893731e-01 1.04640326e-01 1.04640326e-01 9.30136227e-02 3.48801085e-02 5.81335142e-02 1.62773840e-01 5.81335142e-02 1.27893731e-01 4.65068114e-02 4.65068114e-02 8.13869199e-02 1.04640326e-01 8.13869199e-02 1.74400543e-01 3.48801085e-02 1.27893731e-01 8.13869199e-02 9.30136227e-02 8.13869199e-02 1.04640326e-01 6.97602171e-02 8.13869199e-02 4.65068114e-02 1.16267028e-02 1.16267028e-01 9.30136227e-02 8.13869199e-02 1.16267028e-01 9.30136227e-02 5.81335142e-02 1.04640326e-01 1.04640326e-01 5.81335142e-02 4.65068114e-02 3.48801085e-02 8.13869199e-02 6.97602171e-02 1.39520434e-01 8.13869199e-02 2.32534057e-02 4.65068114e-02 1.62773840e-01 6.97602171e-02 1.27893731e-01 8.13869199e-02 9.30136227e-02 6.97602171e-02 3.48801085e-02 4.65068114e-02 3.48801085e-02 6.97602171e-02 1.04640326e-01 8.13869199e-02 9.30136227e-02 6.97602171e-02 1.27893731e-01 1.16267028e-01 4.65068114e-02 1.04640326e-01 8.13869199e-02 8.13869199e-02 6.97602171e-02 9.30136227e-02 4.65068114e-02 3.48801085e-02 6.97602171e-02 6.97602171e-02 1.16267028e-01 1.86027245e-01 3.48801085e-02 3.48801085e-02 3.48801085e-02 5.81335142e-02 5.81335142e-02 8.13869199e-02 3.48801085e-02 1.16267028e-01 1.27893731e-01 1.51147137e-01 1.16267028e-01 1.04640326e-01 6.97602171e-02 9.30136227e-02 9.30136227e-02 1.16267028e-01 1.04640326e-01 1.04640326e-01 4.65068114e-02 6.97602171e-02 5.81335142e-02 8.13869199e-02 8.13869199e-02 5.81335142e-02 6.97602171e-02 1.16267028e-01 1.04640326e-01 1.04640326e-01 9.30136227e-02 5.81335142e-02 8.13869199e-02 9.30136227e-02 1.16267028e-01 5.81335142e-02 5.81335142e-02 5.81335142e-02 8.13869199e-02 6.97602171e-02 1.04640326e-01 6.97602171e-02 1.04640326e-01 9.30136227e-02 9.30136227e-02 1.62773840e-01 5.81335142e-02 9.30136227e-02 8.13869199e-02 9.30136227e-02 8.13869199e-02 1.16267028e-01 8.13869199e-02 1.16267028e-01 5.81335142e-02 6.97602171e-02 9.30136227e-02 9.30136227e-02 6.97602171e-02 1.27893731e-01 9.30136227e-02 1.16267028e-01 6.97602171e-02 8.13869199e-02 1.27893731e-01 8.13869199e-02 3.48801085e-02 1.16267028e-01 8.13869199e-02 5.81335142e-02 1.27893731e-01 6.97602171e-02 1.16267028e-01 1.16267028e-01 6.97602171e-02 8.13869199e-02 9.30136227e-02 1.04640326e-01 1.27893731e-01 9.30136227e-02 1.04640326e-01 5.81335142e-02 1.62773840e-01 1.27893731e-01 9.30136227e-02 6.97602171e-02 1.27893731e-01 1.04640326e-01 3.48801085e-02 1.04640326e-01 1.39520434e-01 1.27893731e-01 9.30136227e-02 8.13869199e-02 1.27893731e-01 8.13869199e-02 1.86027245e-01 6.97602171e-02 1.04640326e-01 9.30136227e-02 6.97602171e-02 8.13869199e-02 8.13869199e-02 6.97602171e-02 1.04640326e-01 6.97602171e-02 1.04640326e-01 8.13869199e-02 8.13869199e-02 9.30136227e-02 9.30136227e-02 6.97602171e-02 8.13869199e-02 1.27893731e-01 1.16267028e-01 1.04640326e-01 1.04640326e-01 1.39520434e-01 4.65068114e-02 8.13869199e-02 1.16267028e-01 1.04640326e-01 1.27893731e-01 6.97602171e-02 8.13869199e-02 6.97602171e-02 4.65068114e-02 6.97602171e-02 1.74400543e-01 8.13869199e-02 1.16267028e-01 3.48801085e-02 3.48801085e-02 1.62773840e-01 1.39520434e-01 1.51147137e-01 1.39520434e-01 1.04640326e-01 1.04640326e-01 1.27893731e-01 6.97602171e-02 5.81335142e-02 5.81335142e-02 6.97602171e-02 9.30136227e-02 1.86027245e-01 5.81335142e-02 8.13869199e-02 9.30136227e-02 1.16267028e-01 4.65068114e-02 1.27893731e-01 1.16267028e-01 2.32534057e-02 3.48801085e-02 1.16267028e-01 1.04640326e-01 5.81335142e-02 1.04640326e-01 1.51147137e-01 1.74400543e-01 8.13869199e-02 1.27893731e-01 1.04640326e-01 1.16267028e-01 1.04640326e-01 3.48801085e-02 8.13869199e-02 8.13869199e-02 6.97602171e-02 1.39520434e-01 5.81335142e-02 1.27893731e-01 1.27893731e-01 1.04640326e-01 8.13869199e-02 1.39520434e-01 6.97602171e-02 8.13869199e-02 9.30136227e-02 1.27893731e-01 1.27893731e-01 6.97602171e-02 1.51147137e-01 1.51147137e-01 6.97602171e-02 8.13869199e-02 1.04640326e-01 8.13869199e-02 1.27893731e-01 3.48801085e-02 8.13869199e-02 8.13869199e-02 1.16267028e-01 6.97602171e-02 1.04640326e-01 8.13869199e-02 3.48801085e-02 1.16267028e-01 6.97602171e-02 5.81335142e-02 9.30136227e-02 8.13869199e-02 5.81335142e-02 4.65068114e-02 6.97602171e-02 9.30136227e-02 1.16267028e-01 3.48801085e-02 9.30136227e-02 6.97602171e-02 1.16267028e-01 1.51147137e-01 1.16267028e-01 1.16267028e-01 1.04640326e-01 1.39520434e-01 1.62773840e-01 1.16267028e-01 8.13869199e-02 8.13869199e-02 1.04640326e-01 6.97602171e-02 1.16267028e-01 5.81335142e-02 8.13869199e-02 1.27893731e-01 1.27893731e-01 4.65068114e-02 1.04640326e-01 8.13869199e-02 1.51147137e-01 9.30136227e-02 4.65068114e-02 1.16267028e-01 1.39520434e-01 9.30136227e-02 1.62773840e-01 8.13869199e-02 1.16267028e-01 8.13869199e-02 4.65068114e-02 8.13869199e-02 2.32534057e-02 8.13869199e-02 5.81335142e-02 2.32534057e-02 8.13869199e-02 1.62773840e-01 9.30136227e-02 1.16267028e-01 1.04640326e-01 1.39520434e-01 1.39520434e-01 9.30136227e-02 8.13869199e-02 9.30136227e-02 1.27893731e-01 1.27893731e-01 1.86027245e-01 1.27893731e-01 1.27893731e-01 8.13869199e-02 1.27893731e-01 1.74400543e-01 1.04640326e-01 5.81335142e-02 6.97602171e-02 1.16267028e-01 1.27893731e-01 5.81335142e-02 1.04640326e-01 8.13869199e-02 1.27893731e-01 6.97602171e-02 1.27893731e-01 9.30136227e-02 8.13869199e-02 9.30136227e-02 6.97602171e-02 1.04640326e-01 1.04640326e-01 1.04640326e-01 1.04640326e-01 8.13869199e-02 5.81335142e-02 1.04640326e-01 1.16267028e-01 9.30136227e-02 6.97602171e-02 1.16267028e-01 8.13869199e-02 8.13869199e-02 1.04640326e-01 6.97602171e-02 2.32534057e-02 1.16267028e-01 1.04640326e-01 6.97602171e-02 9.30136227e-02 1.27893731e-01 8.13869199e-02 3.48801085e-02 8.13869199e-02 1.27893731e-01 1.04640326e-01 1.27893731e-01 1.86027245e-01 6.97602171e-02 8.13869199e-02 9.30136227e-02 8.13869199e-02 6.97602171e-02 1.16267028e-01 5.81335142e-02 1.27893731e-01 5.81335142e-02 8.13869199e-02 8.13869199e-02 1.27893731e-01 1.04640326e-01 9.30136227e-02 1.39520434e-01 1.16267028e-01 5.81335142e-02 1.39520434e-01 1.16267028e-01 9.30136227e-02 8.13869199e-02 9.30136227e-02 1.51147137e-01 6.97602171e-02 1.16267028e-01 3.48801085e-02 6.97602171e-02 6.97602171e-02 8.13869199e-02 1.97653948e-01 1.27893731e-01 1.16267028e-01 1.39520434e-01 1.04640326e-01 1.04640326e-01 1.16267028e-01 1.39520434e-01 1.27893731e-01 4.65068114e-02 3.48801085e-02 1.51147137e-01 5.81335142e-02 1.62773840e-01 6.97602171e-02 4.65068114e-02 5.81335142e-02 9.30136227e-02 1.39520434e-01 8.13869199e-02 1.27893731e-01 6.97602171e-02 1.27893731e-01 9.30136227e-02 8.13869199e-02 1.51147137e-01 1.04640326e-01 1.16267028e-01 1.04640326e-01 1.62773840e-01 5.81335142e-02 8.13869199e-02 1.39520434e-01 1.04640326e-01 6.97602171e-02 1.16267028e-01 1.39520434e-01 9.30136227e-02 6.97602171e-02 5.81335142e-02 1.74400543e-01 5.81335142e-02 6.97602171e-02 6.97602171e-02 4.65068114e-02 1.04640326e-01 1.86027245e-01 6.97602171e-02 8.13869199e-02 1.16267028e-01 1.04640326e-01 6.97602171e-02 9.30136227e-02 6.97602171e-02 1.16267028e-01 8.13869199e-02 1.39520434e-01 1.04640326e-01 1.16267028e-01 8.13869199e-02 4.65068114e-02 9.30136227e-02 8.13869199e-02 1.04640326e-01 4.65068114e-02 6.97602171e-02 8.13869199e-02 8.13869199e-02 1.04640326e-01 1.62773840e-01 9.30136227e-02 9.30136227e-02 4.65068114e-02 8.13869199e-02 1.39520434e-01 1.27893731e-01 1.16267028e-01 1.04640326e-01 1.27893731e-01 1.51147137e-01 1.51147137e-01 9.30136227e-02 1.04640326e-01 5.81335142e-02 5.81335142e-02 1.51147137e-01 1.74400543e-01 1.16267028e-01 1.39520434e-01 1.27893731e-01 4.65068114e-02 8.13869199e-02 1.16267028e-01 1.27893731e-01 1.51147137e-01 1.39520434e-01 6.97602171e-02 1.62773840e-01 1.04640326e-01 5.81335142e-02 1.04640326e-01 1.16267028e-01 9.30136227e-02 9.30136227e-02 5.81335142e-02 1.39520434e-01 1.39520434e-01 1.39520434e-01 1.62773840e-01 1.51147137e-01 8.13869199e-02 3.48801085e-02 1.04640326e-01 1.04640326e-01 6.97602171e-02 6.97602171e-02 6.97602171e-02 1.04640326e-01 1.62773840e-01 1.16267028e-01 1.16267028e-01 1.04640326e-01 1.51147137e-01 1.27893731e-01 1.04640326e-01 8.13869199e-02 9.30136227e-02 1.39520434e-01 1.16267028e-01 1.04640326e-01 1.27893731e-01 6.97602171e-02 6.97602171e-02 1.04640326e-01 6.97602171e-02 1.16267028e-01 1.51147137e-01 1.27893731e-01 9.30136227e-02 8.13869199e-02 8.13869199e-02 6.97602171e-02 5.81335142e-02 1.74400543e-01 1.27893731e-01 6.97602171e-02 5.81335142e-02 1.04640326e-01 1.04640326e-01 6.97602171e-02 1.16267028e-01 1.16267028e-01 5.81335142e-02 1.27893731e-01 6.97602171e-02 1.62773840e-01 3.48801085e-02 9.30136227e-02 9.30136227e-02 1.51147137e-01 1.39520434e-01 1.51147137e-01 1.39520434e-01 9.30136227e-02 9.30136227e-02 1.62773840e-01 1.62773840e-01 3.48801085e-02 1.51147137e-01 1.16267028e-01 1.16267028e-01 1.51147137e-01 8.13869199e-02 5.81335142e-02 8.13869199e-02 9.30136227e-02 5.81335142e-02 1.04640326e-01 6.97602171e-02 6.97602171e-02 9.30136227e-02 1.27893731e-01 8.13869199e-02 8.13869199e-02 8.13869199e-02 1.04640326e-01 1.51147137e-01 1.39520434e-01 1.16267028e-01 1.74400543e-01 1.51147137e-01 9.30136227e-02 3.48801085e-02 9.30136227e-02 1.51147137e-01 4.65068114e-02 8.13869199e-02 1.16267028e-01 9.30136227e-02 5.81335142e-02 1.39520434e-01 1.62773840e-01 4.65068114e-02 1.16267028e-01 4.65068114e-02 9.30136227e-02 1.04640326e-01 9.30136227e-02 9.30136227e-02 9.30136227e-02 1.04640326e-01 1.04640326e-01 1.27893731e-01 1.04640326e-01 9.30136227e-02 8.13869199e-02 4.65068114e-02 6.97602171e-02 1.16267028e-01 1.27893731e-01 1.04640326e-01 1.74400543e-01 9.30136227e-02 6.97602171e-02 5.81335142e-02 9.30136227e-02 1.16267028e-01 1.16267028e-01 1.16267028e-01 1.04640326e-01 6.97602171e-02 9.30136227e-02 9.30136227e-02 9.30136227e-02 1.27893731e-01 1.16267028e-01 5.81335142e-02 1.74400543e-01 1.62773840e-01 1.51147137e-01 1.04640326e-01 1.04640326e-01 9.30136227e-02 6.97602171e-02 9.30136227e-02 1.27893731e-01 1.51147137e-01 8.13869199e-02 8.13869199e-02 5.81335142e-02 9.30136227e-02 6.97602171e-02 6.97602171e-02 6.97602171e-02 9.30136227e-02 8.13869199e-02 2.09280651e-01 8.13869199e-02 9.30136227e-02 6.97602171e-02 4.65068114e-02 1.16267028e-01 8.13869199e-02 1.16267028e-01 1.04640326e-01 1.16267028e-01 1.51147137e-01 4.65068114e-02 1.51147137e-01 1.16267028e-01 1.04640326e-01 8.13869199e-02 1.04640326e-01 3.48801085e-02 5.81335142e-02 1.39520434e-01 9.30136227e-02 1.27893731e-01 1.27893731e-01 8.13869199e-02 9.30136227e-02 1.27893731e-01 1.04640326e-01 6.97602171e-02 6.97602171e-02 1.16267028e-01 9.30136227e-02 1.27893731e-01 1.39520434e-01 1.39520434e-01 3.48801085e-02 1.04640326e-01 1.39520434e-01 4.65068114e-02 1.74400543e-01 6.97602171e-02 6.97602171e-02 1.62773840e-01 1.27893731e-01 1.39520434e-01 8.13869199e-02 1.04640326e-01 8.13869199e-02 6.97602171e-02 9.30136227e-02 1.04640326e-01 1.04640326e-01 6.97602171e-02 3.48801085e-02 1.39520434e-01 1.16267028e-01 8.13869199e-02 5.81335142e-02 1.51147137e-01 1.16267028e-01 8.13869199e-02 6.97602171e-02 1.74400543e-01 1.16267028e-01 9.30136227e-02 1.16267028e-01 1.62773840e-01 8.13869199e-02 1.51147137e-01 1.86027245e-01 5.81335142e-02 8.13869199e-02 8.13869199e-02 1.51147137e-01 1.04640326e-01 5.81335142e-02 1.39520434e-01 1.04640326e-01 8.13869199e-02 1.39520434e-01 9.30136227e-02 1.04640326e-01 1.16267028e-01 9.30136227e-02 1.27893731e-01 5.81335142e-02 6.97602171e-02 9.30136227e-02 6.97602171e-02 8.13869199e-02 1.51147137e-01 1.04640326e-01 1.27893731e-01 6.97602171e-02 9.30136227e-02 1.27893731e-01 1.39520434e-01 1.39520434e-01 1.27893731e-01 1.39520434e-01 1.16267028e-01 1.27893731e-01 8.13869199e-02 5.81335142e-02 1.27893731e-01 1.04640326e-01 6.97602171e-02 6.97602171e-02 1.27893731e-01 1.16267028e-01 1.16267028e-01 9.30136227e-02 1.51147137e-01 1.04640326e-01 1.04640326e-01 1.86027245e-01 9.30136227e-02 1.62773840e-01 1.51147137e-01 1.27893731e-01 4.65068114e-02 1.39520434e-01 1.39520434e-01 1.27893731e-01 3.48801085e-02 1.51147137e-01 1.16267028e-01 5.81335142e-02 1.27893731e-01 1.16267028e-01 1.16267028e-01 1.27893731e-01 1.74400543e-01 9.30136227e-02 6.97602171e-02 8.13869199e-02 1.39520434e-01 1.27893731e-01 1.51147137e-01 9.30136227e-02 4.65068114e-02 1.39520434e-01 1.16267028e-01 1.51147137e-01 1.97653948e-01 4.65068114e-02 8.13869199e-02 1.27893731e-01 6.97602171e-02 1.04640326e-01 1.27893731e-01 9.30136227e-02 1.04640326e-01 1.62773840e-01 9.30136227e-02 1.04640326e-01 1.62773840e-01 9.30136227e-02 6.97602171e-02 1.62773840e-01 1.27893731e-01 8.13869199e-02 9.30136227e-02 1.04640326e-01 9.30136227e-02 1.04640326e-01 6.97602171e-02 1.39520434e-01 6.97602171e-02 9.30136227e-02 1.16267028e-01 2.09280651e-01 1.16267028e-01 1.04640326e-01 9.30136227e-02 9.30136227e-02 1.16267028e-01 9.30136227e-02 8.13869199e-02 5.81335142e-02 8.13869199e-02 8.13869199e-02 1.16267028e-01 1.16267028e-01 1.16267028e-01 1.51147137e-01 1.62773840e-01 1.51147137e-01 1.16267028e-01 9.30136227e-02 1.62773840e-01 1.27893731e-01 1.04640326e-01 1.74400543e-01 8.13869199e-02 1.51147137e-01 8.13869199e-02 1.27893731e-01 4.65068114e-02 1.62773840e-01 1.62773840e-01 1.04640326e-01 1.04640326e-01 1.16267028e-01 1.04640326e-01 1.51147137e-01 3.48801085e-02 1.39520434e-01 1.04640326e-01 1.04640326e-01 9.30136227e-02 6.97602171e-02 6.97602171e-02 1.51147137e-01 1.27893731e-01 5.81335142e-02 1.04640326e-01 8.13869199e-02 1.16267028e-01 1.86027245e-01 8.13869199e-02 1.16267028e-01 1.39520434e-01 6.97602171e-02 1.51147137e-01 1.97653948e-01 1.16267028e-01 1.97653948e-01 1.27893731e-01 8.13869199e-02 5.81335142e-02 1.16267028e-01 1.97653948e-01 9.30136227e-02 1.16267028e-01 1.74400543e-01 9.30136227e-02 1.51147137e-01 6.97602171e-02 1.16267028e-01 1.39520434e-01 8.13869199e-02 1.16267028e-01 1.04640326e-01 1.97653948e-01 1.16267028e-01 6.97602171e-02 1.51147137e-01 1.04640326e-01 1.04640326e-01 1.16267028e-01 5.81335142e-02 1.39520434e-01 1.51147137e-01 1.51147137e-01 5.81335142e-02 2.20907354e-01 1.39520434e-01 9.30136227e-02 9.30136227e-02 8.13869199e-02 1.39520434e-01 1.16267028e-01 1.39520434e-01 6.97602171e-02 9.30136227e-02 1.16267028e-01 1.27893731e-01 1.51147137e-01 9.30136227e-02 1.39520434e-01 1.62773840e-01 1.16267028e-01 1.39520434e-01 8.13869199e-02 1.39520434e-01 1.27893731e-01 1.97653948e-01 1.51147137e-01 9.30136227e-02 1.39520434e-01 1.51147137e-01 1.74400543e-01 1.86027245e-01 1.16267028e-01 1.04640326e-01 1.62773840e-01 1.27893731e-01 8.13869199e-02 1.86027245e-01 1.04640326e-01 1.51147137e-01 1.39520434e-01 1.27893731e-01 6.97602171e-02 1.27893731e-01 1.04640326e-01 8.13869199e-02 1.16267028e-01 1.39520434e-01 9.30136227e-02 1.51147137e-01 5.81335142e-02 1.04640326e-01 1.16267028e-01 1.04640326e-01 1.04640326e-01 1.27893731e-01 4.65068114e-02 1.62773840e-01 1.27893731e-01 1.27893731e-01 1.97653948e-01 9.30136227e-02 9.30136227e-02 1.27893731e-01 1.27893731e-01 1.16267028e-01 1.16267028e-01 1.39520434e-01 1.04640326e-01 1.62773840e-01 3.48801085e-02 1.04640326e-01 1.16267028e-01 8.13869199e-02 1.62773840e-01 1.51147137e-01 1.51147137e-01 8.13869199e-02 1.97653948e-01 9.30136227e-02 1.27893731e-01 1.16267028e-01 1.27893731e-01 1.16267028e-01 1.39520434e-01 1.39520434e-01 1.39520434e-01 1.16267028e-01 1.39520434e-01 1.39520434e-01 1.97653948e-01 1.51147137e-01 1.39520434e-01 9.30136227e-02 8.13869199e-02 6.97602171e-02 9.30136227e-02 1.27893731e-01 1.16267028e-01 1.04640326e-01 1.39520434e-01 2.20907354e-01 2.09280651e-01 1.16267028e-01 1.27893731e-01 1.27893731e-01 1.86027245e-01 1.62773840e-01 1.86027245e-01 3.48801085e-02 1.51147137e-01 1.39520434e-01 1.86027245e-01 1.04640326e-01 1.51147137e-01 1.27893731e-01 1.39520434e-01 1.51147137e-01 8.13869199e-02 1.74400543e-01 1.27893731e-01 1.27893731e-01 6.97602171e-02 1.51147137e-01 1.51147137e-01 9.30136227e-02 1.16267028e-01 1.86027245e-01 2.20907354e-01 2.44160760e-01 1.62773840e-01 1.27893731e-01 8.13869199e-02 2.32534057e-01 1.62773840e-01 5.81335142e-02 1.51147137e-01 1.97653948e-01 1.74400543e-01 1.16267028e-01 1.27893731e-01 1.16267028e-01 2.09280651e-01 1.04640326e-01 8.13869199e-02 1.62773840e-01 4.65068114e-02 1.86027245e-01 1.39520434e-01 1.74400543e-01 1.16267028e-01 5.81335142e-02 1.51147137e-01 1.16267028e-01 1.86027245e-01 2.32534057e-02 8.13869199e-02 1.27893731e-01 1.74400543e-01 1.27893731e-01 1.51147137e-01 1.62773840e-01 1.51147137e-01 1.86027245e-01 1.16267028e-01 1.27893731e-01 8.13869199e-02 1.04640326e-01 1.04640326e-01 1.86027245e-01 1.86027245e-01 1.97653948e-01 1.16267028e-01 1.39520434e-01 9.30136227e-02 1.86027245e-01 1.39520434e-01 1.16267028e-01 1.04640326e-01 1.51147137e-01 2.32534057e-01 1.74400543e-01 1.39520434e-01 1.62773840e-01 1.51147137e-01 1.51147137e-01 1.51147137e-01 8.13869199e-02 8.13869199e-02 6.97602171e-02 2.09280651e-01 1.04640326e-01 1.16267028e-01 9.30136227e-02 1.39520434e-01 1.39520434e-01 1.51147137e-01 5.81335142e-02 1.86027245e-01 1.86027245e-01 1.04640326e-01 1.86027245e-01 1.39520434e-01 1.27893731e-01 1.51147137e-01 1.39520434e-01 1.51147137e-01 1.86027245e-01 9.30136227e-02 1.27893731e-01 9.30136227e-02 1.04640326e-01 1.51147137e-01 1.16267028e-01 1.16267028e-01 1.39520434e-01 6.97602171e-02 1.97653948e-01 1.04640326e-01 1.16267028e-01 2.20907354e-01 1.39520434e-01 1.16267028e-01 1.27893731e-01 1.51147137e-01 1.27893731e-01 1.27893731e-01 1.51147137e-01 1.51147137e-01 1.16267028e-01 1.51147137e-01 1.51147137e-01 1.51147137e-01 2.09280651e-01 2.44160760e-01 1.04640326e-01 2.09280651e-01 1.62773840e-01 9.30136227e-02 2.32534057e-01 1.16267028e-01 1.27893731e-01 1.27893731e-01 1.51147137e-01 1.39520434e-01 2.09280651e-01 1.16267028e-01 1.27893731e-01 1.51147137e-01 1.16267028e-01 1.16267028e-01 1.39520434e-01 1.04640326e-01 1.16267028e-01 1.86027245e-01 1.39520434e-01 1.16267028e-01 9.30136227e-02 1.39520434e-01 1.04640326e-01 1.74400543e-01 1.62773840e-01 1.51147137e-01 1.86027245e-01 1.39520434e-01 1.04640326e-01 1.04640326e-01 1.62773840e-01 1.51147137e-01 1.39520434e-01 5.81335142e-02 1.51147137e-01 1.39520434e-01 2.20907354e-01 1.27893731e-01 1.39520434e-01 1.16267028e-01 1.51147137e-01 6.97602171e-02 1.39520434e-01 1.86027245e-01 2.32534057e-01 1.27893731e-01 1.51147137e-01 1.62773840e-01 1.16267028e-01 1.39520434e-01 8.13869199e-02 1.27893731e-01 1.97653948e-01 2.20907354e-01 1.39520434e-01 8.13869199e-02 1.51147137e-01 1.51147137e-01 1.62773840e-01 1.04640326e-01 1.04640326e-01 1.62773840e-01 1.27893731e-01 1.74400543e-01 1.74400543e-01 6.97602171e-02 1.74400543e-01 2.09280651e-01 1.16267028e-01 1.74400543e-01 1.39520434e-01 1.62773840e-01 1.16267028e-01 1.86027245e-01 1.74400543e-01 1.39520434e-01 1.04640326e-01 1.04640326e-01 1.39520434e-01 2.32534057e-01 2.32534057e-01 1.39520434e-01 1.51147137e-01 1.74400543e-01 1.62773840e-01 1.62773840e-01 2.32534057e-01 1.74400543e-01 9.30136227e-02 1.27893731e-01 1.27893731e-01 1.27893731e-01 9.30136227e-02 1.62773840e-01 1.62773840e-01 1.04640326e-01 1.97653948e-01 1.51147137e-01 1.16267028e-01 2.09280651e-01 1.27893731e-01 2.09280651e-01 1.51147137e-01 1.04640326e-01 1.86027245e-01 1.86027245e-01 1.51147137e-01 1.62773840e-01 9.30136227e-02 1.62773840e-01 1.74400543e-01 2.67414165e-01 1.97653948e-01 1.86027245e-01 2.09280651e-01 8.13869199e-02 1.27893731e-01 6.97602171e-02 1.86027245e-01 1.86027245e-01 9.30136227e-02 1.27893731e-01 1.62773840e-01 1.27893731e-01 1.86027245e-01 2.44160760e-01 9.30136227e-02 1.97653948e-01 1.62773840e-01 1.62773840e-01 1.62773840e-01 2.20907354e-01 1.62773840e-01 1.39520434e-01 1.39520434e-01 1.27893731e-01 1.74400543e-01 1.27893731e-01 1.62773840e-01 1.74400543e-01 1.16267028e-01 1.27893731e-01 1.62773840e-01 1.74400543e-01 2.09280651e-01 1.62773840e-01 1.16267028e-01 1.86027245e-01 1.04640326e-01 1.27893731e-01 1.39520434e-01 1.39520434e-01 1.51147137e-01 1.39520434e-01 1.39520434e-01 2.09280651e-01 1.86027245e-01 2.09280651e-01 1.86027245e-01 1.16267028e-01 1.39520434e-01 1.04640326e-01 1.74400543e-01 2.20907354e-01 1.39520434e-01 2.20907354e-01 2.44160760e-01 1.51147137e-01 2.55787463e-01 1.62773840e-01 1.27893731e-01 1.27893731e-01 1.74400543e-01 1.39520434e-01 1.74400543e-01 9.30136227e-02 2.79040868e-01 2.09280651e-01 2.90667571e-01 1.51147137e-01 2.09280651e-01 1.62773840e-01 1.16267028e-01 1.39520434e-01 1.62773840e-01 1.62773840e-01 2.20907354e-01 1.27893731e-01 1.51147137e-01 1.39520434e-01 1.51147137e-01 2.44160760e-01 1.27893731e-01 2.32534057e-01 1.16267028e-01 1.97653948e-01 1.62773840e-01 2.32534057e-01 1.97653948e-01 1.62773840e-01 2.55787463e-01 1.51147137e-01 1.62773840e-01 1.51147137e-01 9.30136227e-02 1.74400543e-01 1.74400543e-01 1.04640326e-01 2.32534057e-01 1.74400543e-01 1.97653948e-01 1.39520434e-01 2.20907354e-01 5.81335142e-02 1.16267028e-01 1.74400543e-01 1.74400543e-01 1.51147137e-01 6.97602171e-02 1.62773840e-01 2.20907354e-01 2.20907354e-01 2.44160760e-01 1.04640326e-01 1.16267028e-01 1.97653948e-01 1.97653948e-01 1.51147137e-01 1.97653948e-01 1.62773840e-01 6.97602171e-02 1.04640326e-01 2.09280651e-01 2.09280651e-01 1.62773840e-01 2.20907354e-01 1.86027245e-01 2.20907354e-01 1.74400543e-01 9.30136227e-02 2.09280651e-01 1.74400543e-01 1.51147137e-01 1.86027245e-01 1.62773840e-01 1.86027245e-01 2.09280651e-01 1.51147137e-01 2.20907354e-01 2.09280651e-01 2.09280651e-01 1.51147137e-01 1.86027245e-01 2.20907354e-01 2.09280651e-01 1.62773840e-01 1.86027245e-01 5.81335142e-02 2.67414165e-01 9.30136227e-02 1.04640326e-01 2.55787463e-01 1.62773840e-01 2.20907354e-01 1.27893731e-01 2.20907354e-01 1.62773840e-01 1.62773840e-01 2.20907354e-01 3.02294274e-01 1.97653948e-01 1.74400543e-01 2.20907354e-01 1.86027245e-01 2.44160760e-01 1.62773840e-01 1.74400543e-01 1.97653948e-01 2.09280651e-01 2.09280651e-01 1.74400543e-01 1.62773840e-01 1.27893731e-01 1.86027245e-01 2.79040868e-01 1.97653948e-01 1.62773840e-01 1.86027245e-01 2.32534057e-01 2.09280651e-01 1.74400543e-01 2.09280651e-01 2.20907354e-01 1.97653948e-01 1.97653948e-01 2.44160760e-01 1.39520434e-01 1.51147137e-01 1.74400543e-01 1.27893731e-01 1.51147137e-01 2.55787463e-01 1.62773840e-01 1.74400543e-01 1.51147137e-01 2.20907354e-01 1.86027245e-01 1.74400543e-01 2.20907354e-01 2.20907354e-01 2.20907354e-01 1.97653948e-01 1.86027245e-01 1.97653948e-01 1.74400543e-01 1.16267028e-01 2.20907354e-01 1.62773840e-01 1.62773840e-01 2.79040868e-01 2.09280651e-01 1.62773840e-01 1.51147137e-01 1.62773840e-01 1.51147137e-01 2.44160760e-01 2.09280651e-01 1.62773840e-01 2.09280651e-01 1.97653948e-01 1.62773840e-01 2.09280651e-01 1.74400543e-01 1.74400543e-01 2.09280651e-01 1.86027245e-01 1.62773840e-01 1.86027245e-01 2.32534057e-01 2.20907354e-01 2.67414165e-01 1.97653948e-01 2.67414165e-01 2.09280651e-01 1.51147137e-01 2.67414165e-01 1.39520434e-01 2.67414165e-01 2.67414165e-01 1.62773840e-01 2.20907354e-01 1.51147137e-01 1.39520434e-01 1.97653948e-01 2.55787463e-01 1.97653948e-01 1.27893731e-01 1.74400543e-01 2.44160760e-01 2.20907354e-01 1.97653948e-01 1.86027245e-01 2.09280651e-01 1.74400543e-01 1.51147137e-01 2.20907354e-01 1.62773840e-01 2.09280651e-01 2.20907354e-01 1.74400543e-01 1.62773840e-01 1.16267028e-01 2.20907354e-01 1.97653948e-01 2.09280651e-01 2.09280651e-01 2.44160760e-01 2.20907354e-01 1.97653948e-01 1.74400543e-01 1.74400543e-01 2.44160760e-01 1.74400543e-01 2.32534057e-01 2.55787463e-01 1.51147137e-01 8.13869199e-02 1.97653948e-01 1.97653948e-01 1.51147137e-01 1.51147137e-01 1.62773840e-01 3.48801085e-01 2.44160760e-01 2.55787463e-01 2.67414165e-01 2.20907354e-01 1.16267028e-01 1.86027245e-01 2.90667571e-01 2.09280651e-01 1.97653948e-01 2.32534057e-01 2.90667571e-01 2.09280651e-01 2.79040868e-01 1.39520434e-01 1.51147137e-01 1.74400543e-01 2.32534057e-01 2.44160760e-01 2.09280651e-01 2.55787463e-01 1.62773840e-01 1.97653948e-01 1.51147137e-01 1.97653948e-01 2.09280651e-01 2.20907354e-01 1.86027245e-01 3.13920977e-01 1.74400543e-01 1.27893731e-01 1.97653948e-01 3.02294274e-01 1.74400543e-01 1.51147137e-01 3.37174382e-01 2.09280651e-01 2.90667571e-01 2.09280651e-01 2.20907354e-01 2.32534057e-01 2.67414165e-01 2.44160760e-01 3.13920977e-01 2.32534057e-01 2.44160760e-01 2.67414165e-01 2.44160760e-01 2.20907354e-01 2.20907354e-01 2.20907354e-01 2.09280651e-01 1.62773840e-01 2.20907354e-01 1.74400543e-01 1.74400543e-01 1.27893731e-01 2.44160760e-01 2.67414165e-01 2.79040868e-01 1.62773840e-01 1.39520434e-01 2.44160760e-01 2.67414165e-01 1.62773840e-01 2.90667571e-01 1.74400543e-01 2.55787463e-01 2.20907354e-01 1.97653948e-01 2.32534057e-01 1.86027245e-01 1.86027245e-01 1.51147137e-01 2.55787463e-01 1.86027245e-01 1.27893731e-01 2.20907354e-01 1.62773840e-01 1.97653948e-01 2.79040868e-01 1.74400543e-01 1.62773840e-01 1.27893731e-01 1.86027245e-01 3.60427788e-01 2.44160760e-01 2.67414165e-01 2.79040868e-01 3.02294274e-01 2.90667571e-01 1.97653948e-01 1.51147137e-01 2.32534057e-01 2.20907354e-01 3.48801085e-01 2.44160760e-01 1.86027245e-01 2.32534057e-01 2.09280651e-01 2.79040868e-01 2.44160760e-01 1.97653948e-01 2.55787463e-01 2.67414165e-01 3.13920977e-01 3.02294274e-01 4.18561302e-01 1.51147137e-01 2.55787463e-01 2.32534057e-01 1.86027245e-01 1.97653948e-01 2.55787463e-01 1.97653948e-01 2.79040868e-01 1.97653948e-01 1.74400543e-01 2.32534057e-01 2.09280651e-01 2.44160760e-01 2.55787463e-01 1.97653948e-01 1.97653948e-01 2.55787463e-01 2.20907354e-01 2.55787463e-01 2.67414165e-01 3.37174382e-01 2.09280651e-01 1.51147137e-01 1.62773840e-01 2.67414165e-01 1.74400543e-01 1.86027245e-01 2.32534057e-01 2.20907354e-01 1.86027245e-01 2.44160760e-01 3.02294274e-01 3.13920977e-01 1.86027245e-01 2.32534057e-01 2.20907354e-01 1.97653948e-01 2.55787463e-01 2.44160760e-01 1.27893731e-01 2.55787463e-01 1.62773840e-01 3.37174382e-01 2.44160760e-01 2.67414165e-01 1.62773840e-01 2.44160760e-01 1.27893731e-01 2.67414165e-01 1.97653948e-01 2.90667571e-01 1.74400543e-01 2.32534057e-01 2.79040868e-01 2.20907354e-01 2.55787463e-01 2.55787463e-01 1.97653948e-01 3.25547680e-01 2.20907354e-01 2.20907354e-01 3.02294274e-01 3.48801085e-01 2.20907354e-01 2.55787463e-01 2.44160760e-01 2.90667571e-01 2.79040868e-01 2.90667571e-01 2.32534057e-01 2.20907354e-01 3.02294274e-01 3.60427788e-01 3.13920977e-01 3.02294274e-01 2.32534057e-01 1.97653948e-01 2.09280651e-01 2.20907354e-01 4.30188005e-01 3.72054491e-01 2.32534057e-01 2.44160760e-01 2.90667571e-01 2.20907354e-01 1.74400543e-01 2.55787463e-01 2.67414165e-01 4.06934600e-01 1.16267028e-01 2.67414165e-01 2.32534057e-01 2.09280651e-01 1.97653948e-01 2.44160760e-01 2.09280651e-01 2.20907354e-01 2.55787463e-01 2.20907354e-01 2.44160760e-01 3.13920977e-01 2.32534057e-01 2.09280651e-01 2.55787463e-01 2.67414165e-01 4.06934600e-01 1.86027245e-01 2.32534057e-01 2.90667571e-01 2.67414165e-01 2.90667571e-01 2.44160760e-01 2.44160760e-01 2.44160760e-01 1.74400543e-01 3.25547680e-01 3.37174382e-01 2.09280651e-01 3.60427788e-01 2.32534057e-01 3.13920977e-01 2.55787463e-01 2.09280651e-01 3.48801085e-01 1.86027245e-01 3.48801085e-01 2.09280651e-01 2.79040868e-01 3.83681194e-01 2.44160760e-01 3.02294274e-01 1.97653948e-01 2.90667571e-01 3.25547680e-01 2.90667571e-01 2.55787463e-01 2.09280651e-01 2.44160760e-01 2.55787463e-01 1.97653948e-01 3.60427788e-01 2.55787463e-01 2.79040868e-01 3.13920977e-01 2.67414165e-01 2.90667571e-01 3.25547680e-01 3.25547680e-01 1.62773840e-01 2.79040868e-01 2.44160760e-01 2.55787463e-01 2.55787463e-01 2.79040868e-01 2.20907354e-01 2.55787463e-01 3.13920977e-01 3.02294274e-01 1.74400543e-01 2.09280651e-01 2.67414165e-01 3.25547680e-01 3.72054491e-01 3.13920977e-01 2.79040868e-01 2.90667571e-01 2.67414165e-01 1.97653948e-01 3.60427788e-01 3.72054491e-01 4.06934600e-01 3.37174382e-01 1.97653948e-01 3.25547680e-01 2.44160760e-01 2.44160760e-01 2.67414165e-01 2.32534057e-01 2.90667571e-01 3.25547680e-01 3.02294274e-01 3.48801085e-01 3.25547680e-01 3.83681194e-01 4.30188005e-01 2.90667571e-01 2.55787463e-01 2.55787463e-01 1.97653948e-01 3.48801085e-01 2.20907354e-01 2.79040868e-01 2.67414165e-01 3.13920977e-01 2.09280651e-01 3.48801085e-01 2.55787463e-01 2.79040868e-01 2.55787463e-01 2.32534057e-01 2.67414165e-01 2.55787463e-01 3.60427788e-01 3.48801085e-01 2.67414165e-01 3.13920977e-01 4.18561302e-01 4.06934600e-01 3.13920977e-01 3.25547680e-01 2.90667571e-01 3.48801085e-01 3.13920977e-01 3.02294274e-01 2.79040868e-01 2.67414165e-01 1.74400543e-01 3.25547680e-01 4.53441411e-01 2.67414165e-01 3.13920977e-01 2.32534057e-01 3.25547680e-01 4.30188005e-01 4.53441411e-01 2.44160760e-01 2.44160760e-01 2.79040868e-01 2.67414165e-01 3.48801085e-01 3.13920977e-01 3.83681194e-01 3.48801085e-01 3.37174382e-01 3.02294274e-01 3.37174382e-01 3.02294274e-01 3.48801085e-01 3.48801085e-01 2.55787463e-01 3.37174382e-01 3.25547680e-01 4.18561302e-01 4.30188005e-01 3.48801085e-01 2.90667571e-01 3.72054491e-01 4.18561302e-01 3.72054491e-01 2.90667571e-01 3.72054491e-01 3.95307897e-01 2.20907354e-01 2.79040868e-01 3.83681194e-01 3.02294274e-01 2.67414165e-01 2.55787463e-01 3.95307897e-01 4.18561302e-01 3.83681194e-01 3.60427788e-01 3.72054491e-01 3.37174382e-01 3.95307897e-01 3.02294274e-01 3.72054491e-01 3.37174382e-01 2.90667571e-01 3.13920977e-01 3.02294274e-01 4.53441411e-01 3.72054491e-01 3.25547680e-01 4.18561302e-01 3.13920977e-01 3.48801085e-01 4.06934600e-01 3.83681194e-01 3.25547680e-01 2.67414165e-01 4.99948222e-01 4.76694817e-01 3.02294274e-01 3.60427788e-01 2.67414165e-01 3.48801085e-01 3.72054491e-01 3.72054491e-01 4.30188005e-01 2.90667571e-01 4.88321519e-01 3.60427788e-01 2.79040868e-01 1.97653948e-01 3.02294274e-01 3.48801085e-01 2.79040868e-01 3.72054491e-01 2.79040868e-01 4.18561302e-01 3.72054491e-01 4.30188005e-01 2.79040868e-01 2.79040868e-01 3.60427788e-01 4.30188005e-01 4.18561302e-01 5.46455034e-01 2.44160760e-01 3.13920977e-01 3.48801085e-01 3.25547680e-01 3.02294274e-01 2.79040868e-01 3.60427788e-01 3.60427788e-01 3.37174382e-01 4.30188005e-01 4.41814708e-01 4.06934600e-01 3.72054491e-01 4.06934600e-01 4.41814708e-01 3.60427788e-01 3.37174382e-01 4.88321519e-01 3.37174382e-01 4.53441411e-01 5.23201628e-01 3.25547680e-01 3.83681194e-01 4.41814708e-01 3.13920977e-01 4.41814708e-01 4.18561302e-01 4.88321519e-01 3.02294274e-01 3.83681194e-01 4.18561302e-01 3.02294274e-01 3.72054491e-01 4.53441411e-01 3.02294274e-01 4.06934600e-01 4.30188005e-01 4.18561302e-01 3.72054491e-01 4.06934600e-01 4.65068114e-01 2.90667571e-01 3.48801085e-01 3.83681194e-01 3.25547680e-01 4.99948222e-01 4.06934600e-01 4.06934600e-01 4.30188005e-01 3.60427788e-01 4.53441411e-01 4.76694817e-01 4.41814708e-01 5.23201628e-01 3.95307897e-01 5.11574925e-01 4.65068114e-01 4.76694817e-01 3.95307897e-01 3.83681194e-01 5.46455034e-01 3.37174382e-01 4.06934600e-01 4.99948222e-01 3.37174382e-01 4.53441411e-01 4.88321519e-01 4.30188005e-01 4.99948222e-01 4.18561302e-01 3.13920977e-01 3.13920977e-01 4.76694817e-01 4.41814708e-01 4.99948222e-01 5.46455034e-01 4.65068114e-01 5.11574925e-01 4.99948222e-01 3.95307897e-01 4.30188005e-01 3.83681194e-01 5.58081736e-01 4.76694817e-01 5.34828331e-01 4.18561302e-01 4.88321519e-01 5.11574925e-01 3.83681194e-01 4.65068114e-01 5.58081736e-01 4.99948222e-01 4.41814708e-01 5.81335142e-01 3.72054491e-01 4.53441411e-01 3.48801085e-01 4.30188005e-01 3.83681194e-01 3.72054491e-01 4.99948222e-01 3.25547680e-01 4.18561302e-01 4.41814708e-01 4.30188005e-01 2.90667571e-01 3.25547680e-01 4.41814708e-01 4.41814708e-01 4.65068114e-01 3.25547680e-01 4.88321519e-01 5.81335142e-01 3.95307897e-01 5.46455034e-01 3.95307897e-01 4.41814708e-01 5.34828331e-01 4.88321519e-01 4.99948222e-01 4.88321519e-01 4.88321519e-01 4.53441411e-01 5.58081736e-01 4.76694817e-01 4.06934600e-01 4.53441411e-01 4.41814708e-01 4.99948222e-01 5.34828331e-01 5.46455034e-01 5.11574925e-01 3.95307897e-01 4.41814708e-01 5.46455034e-01 4.30188005e-01 4.76694817e-01 5.46455034e-01 4.53441411e-01 4.06934600e-01 6.51095359e-01 5.34828331e-01 4.53441411e-01 5.23201628e-01 7.44108982e-01 4.18561302e-01 5.11574925e-01 4.99948222e-01 3.25547680e-01 5.46455034e-01 4.30188005e-01 5.46455034e-01 4.88321519e-01 5.11574925e-01 4.99948222e-01 4.76694817e-01 5.58081736e-01 4.53441411e-01 5.23201628e-01 3.72054491e-01 5.58081736e-01 5.11574925e-01 6.04588548e-01 4.76694817e-01 4.88321519e-01 5.46455034e-01 4.41814708e-01 4.99948222e-01 5.11574925e-01 3.95307897e-01 5.23201628e-01 6.39468656e-01 5.92961845e-01 6.04588548e-01 4.88321519e-01 5.81335142e-01 5.69708439e-01 5.69708439e-01 6.97602171e-01 4.76694817e-01 5.58081736e-01 5.11574925e-01 5.92961845e-01 4.06934600e-01 4.65068114e-01 5.23201628e-01 4.76694817e-01 4.76694817e-01 5.58081736e-01 5.11574925e-01 6.16215251e-01 5.23201628e-01 6.39468656e-01 5.46455034e-01 5.34828331e-01 4.41814708e-01 5.81335142e-01 5.34828331e-01 4.76694817e-01 8.25495902e-01 5.92961845e-01 5.69708439e-01 6.04588548e-01 6.51095359e-01 5.92961845e-01 5.46455034e-01 5.34828331e-01 4.88321519e-01 4.18561302e-01 5.23201628e-01 6.62722062e-01 6.51095359e-01 6.04588548e-01 5.92961845e-01 7.78989091e-01 6.16215251e-01 6.97602171e-01 6.85975468e-01 6.27841954e-01 6.04588548e-01 5.23201628e-01 6.97602171e-01 5.11574925e-01 5.92961845e-01 6.85975468e-01 6.51095359e-01 5.58081736e-01 7.32482279e-01 6.97602171e-01 6.27841954e-01 7.90615793e-01 5.46455034e-01 7.32482279e-01 6.74348765e-01 7.20855576e-01 5.81335142e-01 6.27841954e-01 5.81335142e-01 6.97602171e-01 7.55735685e-01 6.39468656e-01 4.76694817e-01 8.02242496e-01 6.85975468e-01 4.99948222e-01 7.09228873e-01 6.39468656e-01 6.62722062e-01 7.09228873e-01 6.16215251e-01 6.16215251e-01 6.51095359e-01 6.27841954e-01 8.37122605e-01 8.13869199e-01 7.09228873e-01 7.44108982e-01 4.41814708e-01 6.04588548e-01 7.09228873e-01 6.74348765e-01 8.95256119e-01 8.13869199e-01 6.74348765e-01 7.09228873e-01 7.44108982e-01 6.62722062e-01 6.39468656e-01 7.09228873e-01 8.25495902e-01 8.95256119e-01 5.34828331e-01 6.16215251e-01 7.09228873e-01 7.32482279e-01 7.32482279e-01 6.62722062e-01 7.09228873e-01 6.74348765e-01 7.44108982e-01 7.78989091e-01 9.88269742e-01 7.55735685e-01 8.95256119e-01 8.60376010e-01 8.95256119e-01 8.25495902e-01 6.39468656e-01 8.72002713e-01 6.62722062e-01 8.37122605e-01 7.67362388e-01 8.13869199e-01 8.25495902e-01 7.67362388e-01 6.16215251e-01 8.48749308e-01 8.13869199e-01 7.32482279e-01 8.37122605e-01 5.81335142e-01 7.09228873e-01 7.78989091e-01 8.13869199e-01 5.92961845e-01 9.06882822e-01 5.92961845e-01 6.04588548e-01 8.13869199e-01 8.37122605e-01 9.88269742e-01 8.13869199e-01 7.09228873e-01 7.55735685e-01 1.11616347e+00 8.25495902e-01 7.55735685e-01 8.02242496e-01 8.60376010e-01 7.09228873e-01 9.18509525e-01 7.90615793e-01 6.27841954e-01 6.74348765e-01 9.18509525e-01 7.90615793e-01 8.95256119e-01 7.90615793e-01 9.06882822e-01 8.60376010e-01 8.25495902e-01 7.67362388e-01 8.48749308e-01 8.83629416e-01 8.13869199e-01 8.95256119e-01 6.04588548e-01 8.37122605e-01 9.76643039e-01 9.65016336e-01 7.67362388e-01 8.95256119e-01 8.37122605e-01 1.01152315e+00 7.78989091e-01 8.83629416e-01 9.18509525e-01 1.17429699e+00 8.48749308e-01 7.20855576e-01 9.53389633e-01 8.83629416e-01 8.13869199e-01 8.13869199e-01 9.76643039e-01 8.83629416e-01 9.88269742e-01 1.01152315e+00 9.30136227e-01 9.53389633e-01 1.08128336e+00 1.03477655e+00 9.53389633e-01 1.09291007e+00 9.99896445e-01 1.05802996e+00 9.41762930e-01 9.99896445e-01 1.20917710e+00 1.04640326e+00 6.74348765e-01 9.99896445e-01 1.05802996e+00 1.11616347e+00 1.06965666e+00 9.41762930e-01 1.12779018e+00 8.25495902e-01 9.65016336e-01 8.72002713e-01 1.09291007e+00 9.99896445e-01 1.17429699e+00 9.76643039e-01 8.37122605e-01 1.02314985e+00 9.53389633e-01 1.10453677e+00 1.04640326e+00 9.06882822e-01 1.20917710e+00 1.03477655e+00 1.10453677e+00 1.01152315e+00 1.03477655e+00 9.88269742e-01 1.04640326e+00 1.22080380e+00 1.08128336e+00 1.10453677e+00 9.76643039e-01 1.05802996e+00 1.04640326e+00 1.15104358e+00 1.02314985e+00 1.06965666e+00 9.18509525e-01 1.25568391e+00 1.09291007e+00 1.17429699e+00 1.23243050e+00 1.25568391e+00 1.19755039e+00 1.30219072e+00 1.27893731e+00 1.03477655e+00 1.12779018e+00 1.22080380e+00 1.02314985e+00 1.01152315e+00 1.13941688e+00 1.25568391e+00 1.20917710e+00 1.25568391e+00 1.41845775e+00 1.25568391e+00 1.16267028e+00 1.22080380e+00 1.25568391e+00 1.29056402e+00 1.22080380e+00 1.33707083e+00 1.27893731e+00 1.17429699e+00 1.22080380e+00 1.10453677e+00 1.19755039e+00 1.10453677e+00 1.33707083e+00 1.52309807e+00 1.36032423e+00 1.37195094e+00 1.53472478e+00 1.19755039e+00 1.25568391e+00 1.10453677e+00 1.30219072e+00 1.41845775e+00 1.19755039e+00 1.29056402e+00 1.44171115e+00 1.45333786e+00 1.24405720e+00 1.48821796e+00 1.32544412e+00 1.52309807e+00 1.36032423e+00 1.51147137e+00 1.47659126e+00 1.33707083e+00 1.60448499e+00 1.17429699e+00 1.67424521e+00 1.36032423e+00 1.43008445e+00 1.36032423e+00 1.56960488e+00 1.45333786e+00 1.46496456e+00 1.48821796e+00 1.37195094e+00 1.40683104e+00 1.66261851e+00 1.58123159e+00 1.72075202e+00 1.81376564e+00 1.41845775e+00 1.58123159e+00 1.62773840e+00 1.38357764e+00 1.63936510e+00 1.34869753e+00 1.51147137e+00 1.56960488e+00 1.65099180e+00 1.37195094e+00 1.52309807e+00 1.53472478e+00 1.66261851e+00 1.31381742e+00 1.62773840e+00 1.56960488e+00 1.63936510e+00 1.45333786e+00 1.58123159e+00 1.67424521e+00 1.66261851e+00 1.60448499e+00 1.56960488e+00 1.98816619e+00 1.82539235e+00 1.89515256e+00 1.52309807e+00 1.76725883e+00 2.03467300e+00 1.79051224e+00 1.94165937e+00 1.54635148e+00 1.93003267e+00 1.67424521e+00 1.86027245e+00 1.63936510e+00 1.93003267e+00 1.69749862e+00 1.93003267e+00 1.97653948e+00 2.02304629e+00 2.11605992e+00 1.89515256e+00 1.95328608e+00 2.10443321e+00 2.04629970e+00 2.22070024e+00 1.88352586e+00 2.08117981e+00 1.81376564e+00 1.97653948e+00 1.98816619e+00 1.82539235e+00 1.90677927e+00 2.16256673e+00 2.22070024e+00 2.16256673e+00 2.22070024e+00 1.75563213e+00 2.29046046e+00 1.87189916e+00 2.19744684e+00 2.17419343e+00 2.08117981e+00 2.39510079e+00 2.31371387e+00 2.18582013e+00 2.11605992e+00 2.33696727e+00 2.03467300e+00 2.12768662e+00 2.06955311e+00 2.25558035e+00 2.24395365e+00 2.36022068e+00 2.37184738e+00 2.41835419e+00 2.69739506e+00 2.45323430e+00 2.34859397e+00 2.54624792e+00 2.27883376e+00 2.41835419e+00 2.61600814e+00 2.52299452e+00 2.63926155e+00 2.39510079e+00 2.56950133e+00 2.49974111e+00 2.54624792e+00 2.54624792e+00 2.73227517e+00 2.72064847e+00 2.45323430e+00 2.44160760e+00 2.41835419e+00 2.61600814e+00 2.83691549e+00 2.63926155e+00 2.86016890e+00 2.81366209e+00 2.96480923e+00 2.97643593e+00 2.75552857e+00 2.79040868e+00 2.98806263e+00 2.84854220e+00 3.18571658e+00 2.77878198e+00 2.97643593e+00 3.29035690e+00 3.02294274e+00 2.88342231e+00 3.09270296e+00 2.95318252e+00 3.41825064e+00 3.12758306e+00 3.32523701e+00 3.42987734e+00 3.18571658e+00 3.56939777e+00 3.40662393e+00 3.54614437e+00 3.58102448e+00 3.38337053e+00 3.26710350e+00 3.62753129e+00 3.81355853e+00 3.42987734e+00 3.66241140e+00 3.92982556e+00 3.94145226e+00 3.19734328e+00 3.66241140e+00 3.60427788e+00 3.65078469e+00 4.41814708e+00 3.79030513e+00 3.99958578e+00 3.90657216e+00 3.95307897e+00 4.09259940e+00 4.29025335e+00 4.19723973e+00 3.94145226e+00 4.51116070e+00 4.47628059e+00 4.31350676e+00 4.59254762e+00 4.05771929e+00 4.47628059e+00 4.47628059e+00 4.77857487e+00 4.72044135e+00 5.26689639e+00 4.75532146e+00 4.72044135e+00 4.84833509e+00 4.76694817e+00 5.01110893e+00 5.26689639e+00 4.79020157e+00 5.58081736e+00 5.38316342e+00 5.37153671e+00 5.23201628e+00 5.26689639e+00 5.58081736e+00 5.29014979e+00 5.25526969e+00 5.68545769e+00 5.72033780e+00 5.81335142e+00 5.72033780e+00 5.62732418e+00 5.87148494e+00 6.01100537e+00 6.05751218e+00 5.85985823e+00 5.44129693e+00 6.29004624e+00 5.75521791e+00 5.90636504e+00 6.59234051e+00 6.55746040e+00 6.99927511e+00 6.75511435e+00 6.82487457e+00 6.61559392e+00 6.54583370e+00 7.23180917e+00 7.22018247e+00 7.10391544e+00 7.16204895e+00 7.48759663e+00 7.40620971e+00 7.82477101e+00 7.42946312e+00 7.63874377e+00 7.88290453e+00 7.99917156e+00 8.87117427e+00 8.45261297e+00 8.68514702e+00 7.87127783e+00 8.72002713e+00 8.65026692e+00 9.28973557e+00 8.55725329e+00 8.74328054e+00 9.15021514e+00 9.52226963e+00 9.31298898e+00 1.01152315e+01 9.30136227e+00 8.68514702e+00 9.96408434e+00 1.01152315e+01 1.04175257e+01 1.03593922e+01 1.02547519e+01 1.10453677e+01 1.01617383e+01 1.07081933e+01 1.08477138e+01 1.01733650e+01 1.09872342e+01 1.11965148e+01 1.13476620e+01 1.06849399e+01 1.22894249e+01 1.16964631e+01 1.23010516e+01 1.22080380e+01 1.22312914e+01 1.31730543e+01 1.30451606e+01 1.34288418e+01 1.37660162e+01 1.32311878e+01 1.37543895e+01 1.41031905e+01 1.52426074e+01 1.47542859e+01 1.45915121e+01 1.46380189e+01 1.46845257e+01 1.60215965e+01 1.55449017e+01 1.54751415e+01 1.60448499e+01 1.46728990e+01 1.52426074e+01 1.71726401e+01 1.70331197e+01 1.55332750e+01 1.76842150e+01 1.71610134e+01 1.75912014e+01 1.63238908e+01 1.63238908e+01 1.87654984e+01 1.75330679e+01 1.83236837e+01 1.75563213e+01 1.84515774e+01 1.71261333e+01 1.83353104e+01 1.82888036e+01 1.70331197e+01 1.64750379e+01 1.44519916e+01 1.37776429e+01 1.54751415e+01 1.17662233e+01 9.40600260e+00 7.13879555e+00 5.76684461e+00 6.70860754e+00 3.68566480e+00 1.96491278e+00 6.39468656e-01 6.74348765e-01 4.41814708e-01 3.37174382e-01 3.48801085e-01 2.20907354e-01 1.39520434e-01 1.51147137e-01 1.86027245e-01 1.27893731e-01 6.97602171e-02 6.97602171e-02 3.48801085e-02 2.32534057e-02 4.65068114e-02 2.32534057e-02 0.00000000e+00 2.32534057e-02 - - 1.79600368e-01 5.16351057e-01 1.01025207e+00 1.30210267e+00 1.97560404e+00 2.20010450e+00 2.40215492e+00 2.44705501e+00 3.16545648e+00 2.96340607e+00 2.73890561e+00 3.07565630e+00 2.78380570e+00 2.58175529e+00 2.35725483e+00 2.44705501e+00 2.51440515e+00 2.04295418e+00 2.26745464e+00 2.17765446e+00 2.22255455e+00 2.15520441e+00 2.08785427e+00 2.37970487e+00 1.95315400e+00 1.90825391e+00 1.86335381e+00 2.04295418e+00 2.06540423e+00 1.86335381e+00 1.81845372e+00 1.84090377e+00 1.68375345e+00 1.61640331e+00 1.84090377e+00 1.90825391e+00 1.39190285e+00 1.59395326e+00 1.70620349e+00 1.88580386e+00 1.50415308e+00 1.36945280e+00 1.27965262e+00 1.25720257e+00 1.48170303e+00 1.54905317e+00 1.57150322e+00 1.12250230e+00 1.05515216e+00 1.18985244e+00 9.87802022e-01 1.41435290e+00 1.36945280e+00 1.01025207e+00 1.30210267e+00 1.25720257e+00 1.16740239e+00 1.18985244e+00 1.30210267e+00 1.07760221e+00 9.87802022e-01 1.32455271e+00 8.75551792e-01 1.05515216e+00 1.23475253e+00 1.18985244e+00 8.30651701e-01 8.08201655e-01 1.10005225e+00 9.42901930e-01 1.21230248e+00 1.01025207e+00 1.01025207e+00 8.75551792e-01 1.07760221e+00 9.42901930e-01 8.98001838e-01 9.65351976e-01 7.40851517e-01 1.05515216e+00 1.01025207e+00 1.10005225e+00 8.75551792e-01 9.87802022e-01 1.14495234e+00 5.83701195e-01 7.63301563e-01 7.85751609e-01 1.03270211e+00 1.01025207e+00 6.06151241e-01 8.08201655e-01 7.18401471e-01 9.65351976e-01 7.85751609e-01 7.85751609e-01 8.75551792e-01 8.30651701e-01 8.30651701e-01 6.28601287e-01 7.63301563e-01 8.30651701e-01 6.73501379e-01 5.38801103e-01 1.10005225e+00 7.63301563e-01 6.28601287e-01 8.98001838e-01 4.93901011e-01 7.18401471e-01 4.93901011e-01 5.83701195e-01 5.38801103e-01 6.95951425e-01 5.16351057e-01 6.51051333e-01 9.20451884e-01 7.85751609e-01 5.83701195e-01 6.06151241e-01 9.20451884e-01 4.04100827e-01 6.51051333e-01 5.83701195e-01 7.40851517e-01 4.93901011e-01 6.95951425e-01 8.30651701e-01 6.06151241e-01 6.95951425e-01 6.06151241e-01 6.28601287e-01 6.95951425e-01 4.93901011e-01 5.83701195e-01 6.73501379e-01 6.73501379e-01 6.95951425e-01 5.83701195e-01 5.16351057e-01 8.08201655e-01 6.28601287e-01 6.06151241e-01 5.38801103e-01 6.95951425e-01 6.95951425e-01 3.81650781e-01 7.40851517e-01 4.93901011e-01 5.83701195e-01 7.40851517e-01 5.61251149e-01 4.26550873e-01 3.81650781e-01 3.14300643e-01 5.16351057e-01 5.16351057e-01 4.49000919e-01 5.16351057e-01 4.26550873e-01 4.49000919e-01 5.83701195e-01 6.06151241e-01 4.26550873e-01 5.38801103e-01 4.26550873e-01 5.38801103e-01 6.28601287e-01 3.59200735e-01 5.38801103e-01 4.93901011e-01 5.16351057e-01 4.04100827e-01 4.93901011e-01 4.26550873e-01 4.71450965e-01 3.81650781e-01 5.16351057e-01 4.49000919e-01 4.26550873e-01 3.59200735e-01 4.49000919e-01 3.36750689e-01 2.69400552e-01 5.83701195e-01 4.71450965e-01 4.49000919e-01 3.59200735e-01 4.04100827e-01 3.81650781e-01 4.04100827e-01 3.36750689e-01 3.59200735e-01 4.93901011e-01 4.04100827e-01 3.36750689e-01 4.93901011e-01 5.61251149e-01 4.93901011e-01 5.16351057e-01 5.16351057e-01 4.71450965e-01 4.71450965e-01 3.59200735e-01 4.49000919e-01 4.04100827e-01 4.04100827e-01 2.46950506e-01 3.59200735e-01 2.46950506e-01 4.04100827e-01 4.49000919e-01 4.49000919e-01 4.26550873e-01 5.61251149e-01 3.81650781e-01 6.06151241e-01 4.04100827e-01 2.69400552e-01 5.16351057e-01 4.26550873e-01 3.59200735e-01 5.16351057e-01 2.46950506e-01 3.81650781e-01 5.38801103e-01 4.71450965e-01 4.49000919e-01 3.59200735e-01 3.59200735e-01 4.26550873e-01 2.69400552e-01 2.91850597e-01 3.81650781e-01 3.36750689e-01 3.59200735e-01 3.59200735e-01 2.91850597e-01 4.49000919e-01 3.59200735e-01 3.14300643e-01 3.36750689e-01 3.36750689e-01 2.91850597e-01 4.93901011e-01 2.46950506e-01 3.59200735e-01 3.59200735e-01 2.69400552e-01 2.46950506e-01 3.36750689e-01 4.71450965e-01 4.26550873e-01 4.49000919e-01 3.14300643e-01 2.46950506e-01 2.46950506e-01 2.24500460e-01 3.81650781e-01 2.69400552e-01 3.14300643e-01 4.04100827e-01 2.02050414e-01 4.04100827e-01 1.79600368e-01 4.04100827e-01 4.26550873e-01 3.81650781e-01 6.28601287e-01 2.91850597e-01 1.57150322e-01 2.91850597e-01 2.91850597e-01 2.46950506e-01 3.14300643e-01 4.49000919e-01 4.49000919e-01 2.24500460e-01 2.91850597e-01 3.59200735e-01 2.46950506e-01 3.14300643e-01 4.71450965e-01 3.59200735e-01 2.69400552e-01 3.36750689e-01 2.24500460e-01 3.81650781e-01 2.91850597e-01 4.26550873e-01 5.38801103e-01 2.91850597e-01 2.91850597e-01 1.79600368e-01 2.46950506e-01 3.81650781e-01 2.24500460e-01 4.49000919e-01 2.91850597e-01 1.34700276e-01 3.14300643e-01 1.57150322e-01 2.24500460e-01 2.91850597e-01 3.59200735e-01 2.02050414e-01 2.46950506e-01 2.46950506e-01 2.91850597e-01 2.46950506e-01 2.02050414e-01 2.46950506e-01 1.79600368e-01 2.69400552e-01 2.69400552e-01 2.91850597e-01 3.59200735e-01 3.36750689e-01 3.81650781e-01 2.91850597e-01 2.91850597e-01 3.14300643e-01 4.26550873e-01 4.04100827e-01 4.26550873e-01 2.46950506e-01 2.24500460e-01 2.91850597e-01 2.02050414e-01 3.59200735e-01 2.69400552e-01 4.04100827e-01 1.79600368e-01 2.69400552e-01 2.69400552e-01 2.24500460e-01 3.36750689e-01 2.69400552e-01 2.46950506e-01 1.57150322e-01 3.36750689e-01 2.24500460e-01 1.79600368e-01 2.69400552e-01 3.59200735e-01 2.91850597e-01 2.69400552e-01 3.81650781e-01 2.24500460e-01 2.91850597e-01 2.91850597e-01 3.14300643e-01 2.69400552e-01 2.02050414e-01 2.02050414e-01 3.14300643e-01 2.46950506e-01 2.46950506e-01 2.24500460e-01 2.46950506e-01 2.46950506e-01 1.79600368e-01 2.24500460e-01 3.36750689e-01 3.59200735e-01 2.24500460e-01 1.34700276e-01 2.02050414e-01 2.69400552e-01 2.02050414e-01 8.98001838e-02 2.02050414e-01 2.24500460e-01 2.69400552e-01 1.57150322e-01 3.36750689e-01 2.69400552e-01 2.91850597e-01 1.79600368e-01 2.46950506e-01 1.79600368e-01 2.69400552e-01 2.02050414e-01 1.34700276e-01 1.79600368e-01 1.57150322e-01 2.46950506e-01 1.34700276e-01 2.02050414e-01 2.24500460e-01 2.02050414e-01 3.14300643e-01 2.02050414e-01 1.57150322e-01 1.79600368e-01 1.57150322e-01 2.24500460e-01 3.14300643e-01 2.02050414e-01 2.24500460e-01 3.14300643e-01 1.12250230e-01 2.91850597e-01 2.46950506e-01 2.46950506e-01 1.57150322e-01 1.34700276e-01 2.91850597e-01 2.02050414e-01 1.34700276e-01 6.73501379e-02 1.79600368e-01 3.14300643e-01 2.24500460e-01 2.69400552e-01 2.24500460e-01 1.79600368e-01 2.02050414e-01 4.04100827e-01 1.57150322e-01 2.02050414e-01 2.91850597e-01 1.57150322e-01 3.14300643e-01 2.02050414e-01 2.91850597e-01 1.79600368e-01 2.24500460e-01 2.46950506e-01 1.12250230e-01 2.24500460e-01 1.34700276e-01 1.79600368e-01 1.57150322e-01 1.57150322e-01 1.34700276e-01 2.91850597e-01 2.91850597e-01 2.46950506e-01 2.69400552e-01 1.34700276e-01 2.24500460e-01 2.02050414e-01 2.46950506e-01 2.46950506e-01 1.34700276e-01 6.73501379e-02 1.34700276e-01 1.34700276e-01 2.46950506e-01 3.14300643e-01 2.69400552e-01 2.46950506e-01 2.24500460e-01 3.59200735e-01 2.46950506e-01 1.12250230e-01 1.57150322e-01 1.34700276e-01 1.34700276e-01 6.73501379e-02 1.34700276e-01 1.57150322e-01 1.57150322e-01 2.46950506e-01 2.91850597e-01 1.57150322e-01 2.91850597e-01 2.69400552e-01 2.02050414e-01 2.02050414e-01 1.34700276e-01 3.14300643e-01 4.49000919e-02 4.49000919e-02 3.81650781e-01 6.73501379e-02 2.02050414e-01 2.24500460e-01 1.34700276e-01 3.36750689e-01 1.57150322e-01 2.24500460e-01 1.79600368e-01 1.34700276e-01 2.46950506e-01 1.12250230e-01 1.79600368e-01 2.02050414e-01 2.24500460e-01 1.57150322e-01 2.02050414e-01 1.79600368e-01 1.79600368e-01 2.24500460e-01 2.02050414e-01 2.46950506e-01 2.69400552e-01 1.12250230e-01 1.57150322e-01 1.34700276e-01 3.14300643e-01 8.98001838e-02 2.24500460e-01 2.46950506e-01 2.69400552e-01 1.34700276e-01 1.34700276e-01 1.12250230e-01 1.57150322e-01 1.57150322e-01 2.24500460e-01 1.12250230e-01 2.02050414e-01 1.12250230e-01 8.98001838e-02 1.12250230e-01 2.02050414e-01 8.98001838e-02 2.24500460e-01 2.24500460e-01 1.12250230e-01 1.34700276e-01 1.57150322e-01 2.24500460e-01 2.69400552e-01 2.24500460e-01 1.79600368e-01 2.02050414e-01 1.34700276e-01 2.24500460e-01 2.46950506e-01 2.69400552e-01 2.02050414e-01 1.12250230e-01 1.57150322e-01 1.57150322e-01 1.34700276e-01 1.57150322e-01 8.98001838e-02 1.57150322e-01 1.57150322e-01 2.02050414e-01 2.24500460e-01 2.24500460e-01 2.02050414e-01 2.24500460e-01 1.57150322e-01 8.98001838e-02 1.57150322e-01 1.12250230e-01 2.02050414e-01 6.73501379e-02 2.46950506e-01 1.57150322e-01 1.34700276e-01 1.12250230e-01 1.57150322e-01 1.57150322e-01 4.49000919e-02 1.79600368e-01 1.34700276e-01 1.57150322e-01 1.57150322e-01 2.24500460e-01 2.24500460e-01 1.34700276e-01 2.46950506e-01 2.24500460e-01 1.34700276e-01 1.12250230e-01 6.73501379e-02 1.79600368e-01 1.57150322e-01 1.57150322e-01 1.79600368e-01 1.79600368e-01 2.02050414e-01 1.34700276e-01 2.46950506e-01 1.57150322e-01 2.24500460e-01 2.02050414e-01 6.73501379e-02 1.34700276e-01 6.73501379e-02 2.24500460e-01 1.79600368e-01 1.34700276e-01 2.69400552e-01 1.12250230e-01 4.49000919e-02 8.98001838e-02 1.57150322e-01 8.98001838e-02 1.34700276e-01 1.57150322e-01 1.79600368e-01 1.57150322e-01 8.98001838e-02 2.69400552e-01 2.24500460e-01 2.24500460e-01 2.46950506e-01 1.57150322e-01 4.49000919e-02 2.69400552e-01 4.49000919e-02 2.02050414e-01 1.34700276e-01 1.34700276e-01 1.34700276e-01 1.12250230e-01 6.73501379e-02 1.12250230e-01 1.12250230e-01 1.79600368e-01 0.00000000e+00 1.34700276e-01 2.24500460e-01 1.57150322e-01 2.02050414e-01 2.69400552e-01 1.12250230e-01 2.02050414e-01 1.79600368e-01 3.81650781e-01 8.98001838e-02 6.73501379e-02 2.02050414e-01 2.46950506e-01 2.46950506e-01 1.57150322e-01 1.34700276e-01 2.02050414e-01 2.69400552e-01 1.79600368e-01 1.79600368e-01 1.12250230e-01 1.12250230e-01 1.57150322e-01 8.98001838e-02 1.79600368e-01 2.02050414e-01 1.79600368e-01 1.79600368e-01 1.79600368e-01 2.24500460e-01 8.98001838e-02 1.57150322e-01 6.73501379e-02 1.57150322e-01 1.57150322e-01 1.34700276e-01 1.12250230e-01 2.02050414e-01 8.98001838e-02 1.34700276e-01 2.24500460e-01 1.12250230e-01 1.57150322e-01 1.34700276e-01 2.24500460e-01 2.91850597e-01 2.46950506e-01 1.34700276e-01 1.34700276e-01 2.24500460e-01 2.69400552e-01 1.34700276e-01 1.12250230e-01 6.73501379e-02 2.69400552e-01 1.34700276e-01 1.57150322e-01 8.98001838e-02 2.02050414e-01 1.57150322e-01 2.24500460e-01 1.79600368e-01 2.24500460e-01 1.12250230e-01 1.34700276e-01 1.12250230e-01 1.12250230e-01 1.12250230e-01 1.34700276e-01 2.91850597e-01 1.34700276e-01 1.79600368e-01 2.69400552e-01 6.73501379e-02 1.57150322e-01 1.34700276e-01 6.73501379e-02 1.57150322e-01 1.12250230e-01 1.34700276e-01 2.91850597e-01 1.57150322e-01 1.12250230e-01 1.57150322e-01 1.34700276e-01 1.12250230e-01 1.34700276e-01 1.57150322e-01 1.34700276e-01 1.34700276e-01 2.02050414e-01 2.91850597e-01 6.73501379e-02 2.02050414e-01 6.73501379e-02 8.98001838e-02 1.34700276e-01 1.57150322e-01 1.57150322e-01 1.57150322e-01 1.12250230e-01 1.57150322e-01 2.24500460e-01 2.24500460e-01 2.02050414e-01 1.12250230e-01 1.34700276e-01 8.98001838e-02 2.46950506e-01 1.79600368e-01 2.46950506e-01 2.46950506e-01 1.12250230e-01 1.34700276e-01 1.79600368e-01 2.24500460e-02 1.57150322e-01 8.98001838e-02 2.46950506e-01 8.98001838e-02 1.12250230e-01 1.79600368e-01 8.98001838e-02 1.12250230e-01 1.34700276e-01 1.79600368e-01 1.34700276e-01 1.12250230e-01 8.98001838e-02 2.46950506e-01 1.57150322e-01 1.57150322e-01 8.98001838e-02 1.79600368e-01 2.46950506e-01 1.34700276e-01 1.57150322e-01 6.73501379e-02 1.79600368e-01 1.79600368e-01 1.12250230e-01 2.02050414e-01 1.34700276e-01 1.79600368e-01 1.12250230e-01 1.34700276e-01 1.79600368e-01 1.12250230e-01 2.24500460e-01 1.79600368e-01 2.91850597e-01 2.46950506e-01 4.49000919e-02 2.46950506e-01 1.57150322e-01 1.34700276e-01 2.46950506e-01 1.79600368e-01 2.24500460e-01 1.12250230e-01 1.79600368e-01 1.57150322e-01 1.79600368e-01 8.98001838e-02 2.46950506e-01 6.73501379e-02 2.91850597e-01 8.98001838e-02 1.12250230e-01 2.02050414e-01 1.34700276e-01 1.34700276e-01 8.98001838e-02 2.24500460e-01 1.34700276e-01 2.02050414e-01 2.02050414e-01 2.24500460e-01 2.69400552e-01 1.34700276e-01 1.79600368e-01 1.12250230e-01 2.46950506e-01 1.57150322e-01 1.34700276e-01 1.12250230e-01 1.57150322e-01 2.02050414e-01 4.49000919e-02 4.49000919e-02 2.02050414e-01 6.73501379e-02 1.34700276e-01 1.57150322e-01 1.79600368e-01 1.34700276e-01 1.34700276e-01 1.57150322e-01 1.57150322e-01 1.12250230e-01 2.24500460e-01 2.24500460e-01 1.34700276e-01 1.34700276e-01 1.34700276e-01 1.34700276e-01 1.12250230e-01 6.73501379e-02 1.57150322e-01 1.12250230e-01 2.24500460e-01 1.57150322e-01 1.12250230e-01 6.73501379e-02 1.34700276e-01 1.34700276e-01 2.02050414e-01 1.34700276e-01 1.34700276e-01 8.98001838e-02 1.57150322e-01 1.79600368e-01 8.98001838e-02 8.98001838e-02 1.12250230e-01 1.12250230e-01 1.34700276e-01 6.73501379e-02 2.02050414e-01 1.12250230e-01 2.24500460e-01 1.34700276e-01 1.79600368e-01 2.02050414e-01 1.12250230e-01 2.46950506e-01 2.24500460e-01 1.57150322e-01 1.12250230e-01 1.34700276e-01 3.14300643e-01 2.02050414e-01 2.46950506e-01 2.02050414e-01 0.00000000e+00 2.46950506e-01 2.02050414e-01 2.46950506e-01 1.34700276e-01 2.24500460e-01 1.34700276e-01 1.12250230e-01 1.12250230e-01 1.79600368e-01 8.98001838e-02 1.34700276e-01 1.12250230e-01 2.69400552e-01 8.98001838e-02 1.34700276e-01 2.24500460e-01 1.34700276e-01 6.73501379e-02 1.12250230e-01 2.46950506e-01 1.57150322e-01 1.79600368e-01 1.12250230e-01 2.69400552e-01 2.02050414e-01 1.57150322e-01 1.57150322e-01 2.46950506e-01 1.57150322e-01 2.24500460e-01 8.98001838e-02 1.57150322e-01 2.24500460e-02 8.98001838e-02 1.79600368e-01 1.12250230e-01 1.79600368e-01 2.02050414e-01 1.57150322e-01 8.98001838e-02 1.34700276e-01 4.49000919e-02 1.57150322e-01 2.69400552e-01 1.12250230e-01 2.46950506e-01 1.57150322e-01 1.57150322e-01 2.02050414e-01 1.12250230e-01 1.57150322e-01 2.02050414e-01 2.46950506e-01 1.57150322e-01 1.34700276e-01 2.02050414e-01 2.24500460e-01 1.12250230e-01 2.24500460e-01 1.34700276e-01 2.69400552e-01 1.79600368e-01 1.34700276e-01 1.12250230e-01 8.98001838e-02 1.12250230e-01 1.34700276e-01 2.02050414e-01 2.02050414e-01 2.02050414e-01 1.34700276e-01 1.79600368e-01 1.57150322e-01 1.79600368e-01 6.73501379e-02 1.79600368e-01 1.12250230e-01 1.79600368e-01 2.46950506e-01 2.24500460e-01 2.91850597e-01 2.24500460e-01 1.79600368e-01 2.02050414e-01 2.46950506e-01 1.79600368e-01 6.73501379e-02 1.34700276e-01 2.24500460e-01 2.46950506e-01 2.24500460e-01 1.57150322e-01 2.24500460e-01 1.79600368e-01 2.24500460e-01 6.73501379e-02 1.12250230e-01 1.12250230e-01 2.46950506e-01 1.57150322e-01 1.12250230e-01 1.57150322e-01 6.73501379e-02 1.79600368e-01 1.12250230e-01 1.12250230e-01 2.69400552e-01 1.34700276e-01 8.98001838e-02 1.12250230e-01 4.49000919e-02 2.02050414e-01 2.02050414e-01 1.12250230e-01 1.57150322e-01 6.73501379e-02 2.91850597e-01 1.57150322e-01 1.57150322e-01 2.46950506e-01 1.34700276e-01 1.34700276e-01 1.79600368e-01 1.79600368e-01 1.12250230e-01 3.81650781e-01 1.79600368e-01 2.24500460e-01 1.34700276e-01 1.34700276e-01 1.12250230e-01 1.12250230e-01 4.04100827e-01 2.69400552e-01 1.57150322e-01 2.02050414e-01 1.79600368e-01 1.34700276e-01 1.79600368e-01 2.24500460e-01 2.46950506e-01 2.69400552e-01 4.49000919e-02 8.98001838e-02 2.69400552e-01 1.34700276e-01 8.98001838e-02 2.02050414e-01 1.57150322e-01 2.24500460e-01 2.91850597e-01 2.24500460e-01 2.24500460e-01 2.24500460e-01 1.79600368e-01 3.14300643e-01 2.24500460e-01 1.79600368e-01 3.36750689e-01 1.79600368e-01 1.57150322e-01 3.14300643e-01 1.34700276e-01 1.57150322e-01 2.91850597e-01 2.24500460e-01 1.34700276e-01 1.57150322e-01 2.91850597e-01 2.02050414e-01 1.57150322e-01 2.24500460e-01 1.79600368e-01 2.02050414e-01 3.81650781e-01 1.12250230e-01 3.14300643e-01 2.24500460e-01 2.91850597e-01 2.02050414e-01 8.98001838e-02 1.79600368e-01 1.34700276e-01 3.14300643e-01 8.98001838e-02 2.02050414e-01 2.24500460e-01 2.02050414e-01 1.34700276e-01 2.02050414e-01 8.98001838e-02 2.91850597e-01 3.81650781e-01 1.34700276e-01 1.12250230e-01 2.24500460e-01 1.34700276e-01 2.69400552e-01 1.57150322e-01 1.57150322e-01 2.46950506e-01 1.79600368e-01 1.79600368e-01 1.79600368e-01 2.02050414e-01 3.14300643e-01 1.57150322e-01 1.57150322e-01 2.46950506e-01 1.79600368e-01 3.59200735e-01 1.12250230e-01 2.02050414e-01 1.34700276e-01 2.24500460e-01 1.57150322e-01 2.69400552e-01 2.46950506e-01 2.46950506e-01 3.36750689e-01 1.34700276e-01 2.24500460e-01 2.91850597e-01 2.02050414e-01 2.24500460e-01 2.24500460e-01 2.02050414e-01 2.02050414e-01 2.46950506e-01 1.79600368e-01 3.81650781e-01 1.79600368e-01 2.46950506e-01 1.79600368e-01 2.46950506e-01 1.12250230e-01 2.02050414e-01 2.46950506e-01 1.57150322e-01 1.79600368e-01 2.69400552e-01 3.36750689e-01 2.46950506e-01 2.46950506e-01 2.69400552e-01 2.24500460e-01 4.04100827e-01 3.59200735e-01 2.24500460e-01 2.91850597e-01 2.24500460e-01 2.69400552e-01 2.02050414e-01 3.59200735e-01 2.46950506e-01 2.46950506e-01 2.91850597e-01 4.04100827e-01 2.02050414e-01 4.26550873e-01 2.91850597e-01 1.79600368e-01 1.57150322e-01 3.14300643e-01 5.61251149e-01 1.79600368e-01 1.34700276e-01 1.79600368e-01 3.36750689e-01 2.91850597e-01 2.24500460e-01 1.79600368e-01 3.36750689e-01 2.91850597e-01 3.14300643e-01 4.04100827e-01 1.12250230e-01 2.91850597e-01 2.91850597e-01 3.14300643e-01 2.91850597e-01 3.36750689e-01 2.02050414e-01 3.59200735e-01 2.91850597e-01 3.14300643e-01 1.57150322e-01 2.02050414e-01 3.81650781e-01 1.57150322e-01 2.69400552e-01 2.02050414e-01 1.79600368e-01 2.02050414e-01 1.57150322e-01 2.02050414e-01 2.02050414e-01 3.36750689e-01 2.46950506e-01 3.36750689e-01 1.79600368e-01 2.46950506e-01 3.81650781e-01 2.91850597e-01 3.81650781e-01 3.14300643e-01 2.46950506e-01 2.24500460e-01 4.04100827e-01 3.81650781e-01 3.59200735e-01 3.36750689e-01 3.36750689e-01 2.24500460e-01 2.91850597e-01 3.14300643e-01 3.36750689e-01 3.36750689e-01 2.91850597e-01 2.91850597e-01 3.36750689e-01 3.36750689e-01 2.69400552e-01 3.36750689e-01 2.69400552e-01 4.49000919e-01 3.59200735e-01 3.59200735e-01 2.46950506e-01 2.02050414e-01 4.71450965e-01 2.69400552e-01 3.14300643e-01 4.26550873e-01 1.34700276e-01 4.04100827e-01 3.36750689e-01 3.81650781e-01 3.14300643e-01 1.79600368e-01 2.91850597e-01 4.71450965e-01 3.81650781e-01 2.24500460e-01 1.57150322e-01 4.49000919e-01 4.04100827e-01 3.81650781e-01 4.49000919e-01 2.24500460e-01 4.49000919e-01 4.04100827e-01 2.24500460e-01 4.49000919e-01 4.93901011e-01 3.59200735e-01 3.81650781e-01 4.04100827e-01 3.59200735e-01 3.36750689e-01 3.81650781e-01 4.26550873e-01 5.83701195e-01 4.49000919e-01 3.36750689e-01 2.91850597e-01 2.69400552e-01 5.61251149e-01 5.16351057e-01 3.81650781e-01 3.14300643e-01 2.24500460e-01 4.71450965e-01 4.71450965e-01 4.93901011e-01 3.36750689e-01 4.93901011e-01 5.16351057e-01 5.61251149e-01 3.59200735e-01 3.81650781e-01 2.24500460e-01 2.02050414e-01 6.28601287e-01 4.49000919e-01 4.04100827e-01 6.51051333e-01 4.49000919e-01 4.26550873e-01 3.59200735e-01 5.16351057e-01 3.81650781e-01 3.59200735e-01 3.81650781e-01 4.93901011e-01 5.16351057e-01 3.59200735e-01 4.04100827e-01 4.93901011e-01 3.59200735e-01 4.04100827e-01 3.36750689e-01 4.49000919e-01 4.49000919e-01 5.16351057e-01 4.93901011e-01 4.49000919e-01 4.93901011e-01 6.06151241e-01 6.06151241e-01 3.81650781e-01 5.38801103e-01 4.71450965e-01 5.61251149e-01 4.71450965e-01 3.59200735e-01 4.93901011e-01 5.38801103e-01 4.26550873e-01 4.71450965e-01 5.38801103e-01 5.16351057e-01 2.46950506e-01 6.06151241e-01 6.51051333e-01 5.16351057e-01 5.83701195e-01 5.38801103e-01 5.38801103e-01 6.06151241e-01 6.95951425e-01 8.30651701e-01 5.83701195e-01 6.73501379e-01 6.06151241e-01 6.28601287e-01 6.51051333e-01 3.81650781e-01 5.61251149e-01 5.83701195e-01 4.71450965e-01 5.83701195e-01 6.95951425e-01 6.95951425e-01 6.28601287e-01 8.75551792e-01 9.42901930e-01 4.93901011e-01 5.16351057e-01 6.28601287e-01 6.28601287e-01 6.06151241e-01 3.14300643e-01 5.61251149e-01 7.63301563e-01 6.51051333e-01 7.40851517e-01 6.73501379e-01 6.95951425e-01 5.83701195e-01 7.63301563e-01 7.40851517e-01 6.73501379e-01 8.53101746e-01 7.63301563e-01 7.18401471e-01 5.16351057e-01 8.53101746e-01 7.85751609e-01 6.73501379e-01 6.51051333e-01 6.51051333e-01 8.30651701e-01 7.63301563e-01 5.61251149e-01 6.73501379e-01 7.40851517e-01 8.30651701e-01 8.53101746e-01 7.85751609e-01 7.63301563e-01 5.38801103e-01 6.73501379e-01 9.20451884e-01 7.18401471e-01 7.85751609e-01 6.73501379e-01 8.30651701e-01 7.18401471e-01 5.83701195e-01 7.63301563e-01 6.73501379e-01 8.53101746e-01 6.95951425e-01 7.18401471e-01 9.42901930e-01 9.65351976e-01 8.30651701e-01 8.08201655e-01 9.42901930e-01 6.06151241e-01 9.87802022e-01 9.87802022e-01 8.75551792e-01 1.07760221e+00 1.05515216e+00 9.20451884e-01 9.20451884e-01 8.75551792e-01 8.75551792e-01 8.75551792e-01 6.06151241e-01 1.10005225e+00 8.75551792e-01 1.25720257e+00 1.07760221e+00 9.87802022e-01 1.03270211e+00 9.65351976e-01 8.53101746e-01 1.01025207e+00 1.10005225e+00 1.03270211e+00 1.01025207e+00 1.25720257e+00 9.20451884e-01 9.20451884e-01 1.07760221e+00 1.05515216e+00 1.10005225e+00 8.30651701e-01 9.42901930e-01 1.01025207e+00 1.21230248e+00 1.25720257e+00 1.21230248e+00 9.87802022e-01 1.30210267e+00 1.25720257e+00 1.05515216e+00 1.07760221e+00 1.10005225e+00 1.16740239e+00 1.16740239e+00 1.16740239e+00 1.01025207e+00 9.87802022e-01 1.36945280e+00 1.34700276e+00 9.87802022e-01 1.21230248e+00 1.25720257e+00 1.30210267e+00 1.14495234e+00 1.18985244e+00 1.27965262e+00 1.50415308e+00 1.48170303e+00 1.61640331e+00 1.12250230e+00 1.48170303e+00 1.45925299e+00 1.41435290e+00 1.45925299e+00 1.81845372e+00 1.52660313e+00 1.41435290e+00 1.72865354e+00 1.34700276e+00 1.41435290e+00 2.02050414e+00 1.43680294e+00 1.52660313e+00 2.31235473e+00 2.06540423e+00 1.68375345e+00 2.02050414e+00 1.97560404e+00 1.86335381e+00 2.22255455e+00 2.04295418e+00 2.35725483e+00 1.68375345e+00 2.11030432e+00 2.31235473e+00 2.11030432e+00 2.33480478e+00 2.13275437e+00 2.26745464e+00 2.24500460e+00 2.40215492e+00 2.26745464e+00 2.62665538e+00 2.44705501e+00 2.28990469e+00 2.58175529e+00 3.23280662e+00 2.31235473e+00 2.49195510e+00 2.71645556e+00 3.34505685e+00 2.85115584e+00 3.34505685e+00 3.27770671e+00 3.36750689e+00 3.52465722e+00 3.99610818e+00 3.99610818e+00 3.43485703e+00 3.43485703e+00 3.47975712e+00 3.95120809e+00 3.70425758e+00 3.70425758e+00 3.59200735e+00 4.13080846e+00 4.40020901e+00 4.28795878e+00 4.37775896e+00 4.62470947e+00 4.44510910e+00 3.86140791e+00 4.19815859e+00 4.24305869e+00 4.84920993e+00 4.66960956e+00 5.59006144e+00 4.57980938e+00 4.46755915e+00 5.63496154e+00 4.80430984e+00 4.55735933e+00 5.18596062e+00 5.23086071e+00 5.02881030e+00 5.23086071e+00 5.00636025e+00 5.45536117e+00 5.76966181e+00 5.90436209e+00 5.47781121e+00 6.08396246e+00 6.46561324e+00 5.88191204e+00 6.01661232e+00 5.97171223e+00 5.97171223e+00 6.21866273e+00 6.42071314e+00 7.40851517e+00 7.02686439e+00 7.11666457e+00 6.66766365e+00 7.36361507e+00 7.13911462e+00 7.09421452e+00 7.02686439e+00 7.02686439e+00 6.62276356e+00 6.44316319e+00 7.74526586e+00 7.63301563e+00 7.27381489e+00 6.73501379e+00 7.79016595e+00 7.47586530e+00 6.75746383e+00 7.58811553e+00 7.45341526e+00 7.09421452e+00 7.49831535e+00 7.65546567e+00 6.46561324e+00 6.42071314e+00 6.53296337e+00 6.89216411e+00 6.30846291e+00 6.15131259e+00 6.33091296e+00 6.28601287e+00 6.01661232e+00 5.38801103e+00 6.01661232e+00 5.16351057e+00 5.70231167e+00 4.93901011e+00 5.20841066e+00 5.81456190e+00 5.11861048e+00 4.57980938e+00 4.80430984e+00 4.89411002e+00 4.19815859e+00 4.10835841e+00 4.44510910e+00 3.83895786e+00 3.99610818e+00 3.77160772e+00 3.68180754e+00 3.79405777e+00 3.70425758e+00 3.56955731e+00 3.03075620e+00 2.94095602e+00 3.12055639e+00 3.00830616e+00 2.51440515e+00 2.82870579e+00 2.44705501e+00 2.51440515e+00 2.64910542e+00 2.24500460e+00 2.17765446e+00 2.26745464e+00 2.02050414e+00 1.79600368e+00 1.88580386e+00 1.72865354e+00 1.95315400e+00 1.99805409e+00 1.70620349e+00 1.72865354e+00 1.72865354e+00 1.36945280e+00 1.59395326e+00 1.34700276e+00 1.12250230e+00 1.50415308e+00 1.72865354e+00 1.07760221e+00 1.12250230e+00 1.21230248e+00 1.16740239e+00 1.32455271e+00 9.42901930e-01 1.25720257e+00 9.87802022e-01 9.65351976e-01 1.05515216e+00 9.87802022e-01 8.75551792e-01 9.87802022e-01 7.40851517e-01 6.95951425e-01 7.85751609e-01 8.30651701e-01 1.07760221e+00 6.95951425e-01 6.28601287e-01 7.18401471e-01 7.40851517e-01 8.98001838e-01 5.83701195e-01 5.83701195e-01 6.06151241e-01 6.06151241e-01 7.63301563e-01 5.83701195e-01 4.04100827e-01 5.61251149e-01 7.18401471e-01 7.18401471e-01 3.14300643e-01 5.83701195e-01 4.26550873e-01 5.38801103e-01 4.04100827e-01 4.71450965e-01 4.93901011e-01 3.59200735e-01 3.36750689e-01 3.81650781e-01 3.14300643e-01 2.69400552e-01 3.14300643e-01 4.71450965e-01 4.26550873e-01 4.04100827e-01 3.59200735e-01 3.59200735e-01 3.81650781e-01 2.46950506e-01 2.46950506e-01 3.14300643e-01 2.69400552e-01 4.26550873e-01 3.36750689e-01 2.24500460e-01 2.91850597e-01 2.46950506e-01 3.36750689e-01 1.12250230e-01 2.24500460e-01 2.46950506e-01 4.04100827e-01 3.59200735e-01 2.02050414e-01 2.46950506e-01 1.79600368e-01 2.91850597e-01 3.36750689e-01 1.57150322e-01 1.57150322e-01 1.57150322e-01 4.49000919e-02 2.69400552e-01 2.46950506e-01 2.46950506e-01 1.79600368e-01 2.02050414e-01 1.57150322e-01 2.02050414e-01 1.57150322e-01 1.57150322e-01 8.98001838e-02 1.57150322e-01 1.12250230e-01 8.98001838e-02 1.12250230e-01 1.57150322e-01 1.34700276e-01 1.79600368e-01 1.57150322e-01 8.98001838e-02 8.98001838e-02 6.73501379e-02 2.46950506e-01 1.57150322e-01 1.12250230e-01 6.73501379e-02 6.73501379e-02 1.34700276e-01 8.98001838e-02 1.12250230e-01 1.12250230e-01 4.49000919e-02 1.12250230e-01 4.49000919e-02 4.49000919e-02 0.00000000e+00 2.02050414e-01 8.98001838e-02 8.98001838e-02 8.98001838e-02 1.57150322e-01 8.98001838e-02 8.98001838e-02 8.98001838e-02 6.73501379e-02 4.49000919e-02 1.12250230e-01 6.73501379e-02 8.98001838e-02 1.12250230e-01 1.57150322e-01 8.98001838e-02 6.73501379e-02 6.73501379e-02 4.49000919e-02 4.49000919e-02 6.73501379e-02 4.49000919e-02 6.73501379e-02 6.73501379e-02 2.24500460e-02 6.73501379e-02 8.98001838e-02 0.00000000e+00 8.98001838e-02 8.98001838e-02 8.98001838e-02 8.98001838e-02 4.49000919e-02 1.34700276e-01 6.73501379e-02 4.49000919e-02 4.49000919e-02 6.73501379e-02 6.73501379e-02 4.49000919e-02 8.98001838e-02 4.49000919e-02 6.73501379e-02 2.24500460e-02 0.00000000e+00 2.24500460e-02 4.49000919e-02 4.49000919e-02 2.24500460e-02 0.00000000e+00 4.49000919e-02 1.12250230e-01 8.98001838e-02 4.49000919e-02 2.24500460e-02 2.24500460e-02 0.00000000e+00 0.00000000e+00 4.49000919e-02 0.00000000e+00 2.24500460e-02 2.24500460e-02 4.49000919e-02 0.00000000e+00 0.00000000e+00 2.24500460e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.49000919e-02 4.49000919e-02 4.49000919e-02 2.24500460e-02 0.00000000e+00 2.24500460e-02 2.24500460e-02 4.49000919e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24500460e-02 2.24500460e-02 0.00000000e+00 2.24500460e-02 2.24500460e-02 0.00000000e+00 6.73501379e-02 0.00000000e+00 2.24500460e-02 0.00000000e+00 2.24500460e-02 2.24500460e-02 2.24500460e-02 0.00000000e+00 0.00000000e+00 2.24500460e-02 2.24500460e-02 2.24500460e-02 0.00000000e+00 0.00000000e+00 2.24500460e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24500460e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24500460e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24500460e-02 4.49000919e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24500460e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24500460e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24500460e-02 2.24500460e-02 0.00000000e+00 0.00000000e+00 4.49000919e-02 0.00000000e+00 0.00000000e+00 2.24500460e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.49000919e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24500460e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24500460e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 7.34422481e-02 4.40653488e-01 4.40653488e-01 1.32196047e+00 1.76261395e+00 3.08457442e+00 4.03932364e+00 6.46291783e+00 8.88651202e+00 9.03339651e+00 1.11632217e+01 1.29258357e+01 1.27055089e+01 1.27789512e+01 1.52025454e+01 1.40274694e+01 1.46150074e+01 1.41743539e+01 1.49087764e+01 1.43212384e+01 1.79933508e+01 1.51291031e+01 1.43212384e+01 1.39540271e+01 1.35868159e+01 1.52759876e+01 1.46150074e+01 1.57900833e+01 1.38805849e+01 1.29992779e+01 1.47618919e+01 1.48353341e+01 1.43212384e+01 1.54228721e+01 1.40274694e+01 1.48353341e+01 1.32196047e+01 1.42477961e+01 1.21914132e+01 1.28523934e+01 1.18976442e+01 1.39540271e+01 1.28523934e+01 1.31461624e+01 1.25586244e+01 1.09428950e+01 1.29258357e+01 1.31461624e+01 1.15304329e+01 1.12366640e+01 1.18242019e+01 1.36602581e+01 1.14569907e+01 1.02084725e+01 1.05022415e+01 1.09428950e+01 1.07225682e+01 1.24851822e+01 1.05756837e+01 1.01350302e+01 1.09428950e+01 9.10683876e+00 1.11632217e+01 9.47405000e+00 9.25372326e+00 8.59274302e+00 8.37241628e+00 8.51930078e+00 8.51930078e+00 8.66618527e+00 1.00615880e+01 9.25372326e+00 1.05022415e+01 8.37241628e+00 8.88651202e+00 8.66618527e+00 7.41766706e+00 8.29897403e+00 9.32716551e+00 8.29897403e+00 9.76781899e+00 7.85832054e+00 7.85832054e+00 9.03339651e+00 9.03339651e+00 8.29897403e+00 6.38947558e+00 7.56455155e+00 8.22553178e+00 7.41766706e+00 7.85832054e+00 8.07864729e+00 7.12389806e+00 7.63799380e+00 5.65505310e+00 6.09570659e+00 7.41766706e+00 6.09570659e+00 5.58161085e+00 7.71143605e+00 6.16914884e+00 6.53636008e+00 5.50816861e+00 6.83012907e+00 5.21439961e+00 5.58161085e+00 6.38947558e+00 6.97701357e+00 5.28784186e+00 5.43472636e+00 5.72849535e+00 6.16914884e+00 6.53636008e+00 4.77374612e+00 6.09570659e+00 5.72849535e+00 5.14095737e+00 5.14095737e+00 5.21439961e+00 5.21439961e+00 5.28784186e+00 7.05045582e+00 4.55341938e+00 5.36128411e+00 4.77374612e+00 5.28784186e+00 5.21439961e+00 5.43472636e+00 5.72849535e+00 4.77374612e+00 5.28784186e+00 4.84718837e+00 5.58161085e+00 5.06751512e+00 4.47997713e+00 4.55341938e+00 4.40653488e+00 4.25965039e+00 3.81899690e+00 4.77374612e+00 4.33309264e+00 4.25965039e+00 4.11276589e+00 3.81899690e+00 3.81899690e+00 4.03932364e+00 5.14095737e+00 4.18620814e+00 4.99407287e+00 3.81899690e+00 2.93768992e+00 3.01113217e+00 3.52522791e+00 3.96588140e+00 3.23145892e+00 3.45178566e+00 2.93768992e+00 3.74555465e+00 2.93768992e+00 3.52522791e+00 3.23145892e+00 3.52522791e+00 4.25965039e+00 4.11276589e+00 4.03932364e+00 3.01113217e+00 4.33309264e+00 4.03932364e+00 2.86424767e+00 3.52522791e+00 3.74555465e+00 3.45178566e+00 3.08457442e+00 2.86424767e+00 2.86424767e+00 3.52522791e+00 2.86424767e+00 2.79080543e+00 3.45178566e+00 3.08457442e+00 2.57047868e+00 2.49703643e+00 2.57047868e+00 3.08457442e+00 2.79080543e+00 2.57047868e+00 3.89243915e+00 2.64392093e+00 2.93768992e+00 3.01113217e+00 3.08457442e+00 1.68917171e+00 2.64392093e+00 3.30490116e+00 2.64392093e+00 3.15801667e+00 2.93768992e+00 2.49703643e+00 2.86424767e+00 4.18620814e+00 3.15801667e+00 2.86424767e+00 2.71736318e+00 2.05638295e+00 2.64392093e+00 2.79080543e+00 2.27670969e+00 1.76261395e+00 3.15801667e+00 2.64392093e+00 1.90949845e+00 2.49703643e+00 2.57047868e+00 2.49703643e+00 2.57047868e+00 1.98294070e+00 1.76261395e+00 2.57047868e+00 2.49703643e+00 2.49703643e+00 2.27670969e+00 2.49703643e+00 2.35015194e+00 2.93768992e+00 2.71736318e+00 3.37834341e+00 1.90949845e+00 2.12982519e+00 2.20326744e+00 2.64392093e+00 2.35015194e+00 2.57047868e+00 2.12982519e+00 1.83605620e+00 1.54228721e+00 2.35015194e+00 1.98294070e+00 2.57047868e+00 2.35015194e+00 1.98294070e+00 2.12982519e+00 2.49703643e+00 2.49703643e+00 2.12982519e+00 2.35015194e+00 2.27670969e+00 1.83605620e+00 2.20326744e+00 2.79080543e+00 1.90949845e+00 1.76261395e+00 2.42359419e+00 2.12982519e+00 2.05638295e+00 2.05638295e+00 1.61572946e+00 1.68917171e+00 1.90949845e+00 2.49703643e+00 1.39540271e+00 1.02819147e+00 1.76261395e+00 1.90949845e+00 2.57047868e+00 2.27670969e+00 2.12982519e+00 1.61572946e+00 1.39540271e+00 1.76261395e+00 1.54228721e+00 1.98294070e+00 2.57047868e+00 1.76261395e+00 1.68917171e+00 2.05638295e+00 2.71736318e+00 2.35015194e+00 2.05638295e+00 2.27670969e+00 1.83605620e+00 2.27670969e+00 2.20326744e+00 2.05638295e+00 1.76261395e+00 1.32196047e+00 1.54228721e+00 1.54228721e+00 2.20326744e+00 1.68917171e+00 1.83605620e+00 1.61572946e+00 1.83605620e+00 2.05638295e+00 1.17507597e+00 1.32196047e+00 1.76261395e+00 1.24851822e+00 1.76261395e+00 1.17507597e+00 1.17507597e+00 1.61572946e+00 1.54228721e+00 1.61572946e+00 1.83605620e+00 2.57047868e+00 1.24851822e+00 2.27670969e+00 9.54749225e-01 1.39540271e+00 1.46884496e+00 1.61572946e+00 1.10163372e+00 1.68917171e+00 1.02819147e+00 1.24851822e+00 1.76261395e+00 1.24851822e+00 8.07864729e-01 1.39540271e+00 1.90949845e+00 1.90949845e+00 1.10163372e+00 1.17507597e+00 2.05638295e+00 1.46884496e+00 1.54228721e+00 1.76261395e+00 1.46884496e+00 1.46884496e+00 1.54228721e+00 1.54228721e+00 1.24851822e+00 1.24851822e+00 1.68917171e+00 1.10163372e+00 1.90949845e+00 1.10163372e+00 1.10163372e+00 1.32196047e+00 1.24851822e+00 1.83605620e+00 1.17507597e+00 1.32196047e+00 1.17507597e+00 1.83605620e+00 1.17507597e+00 1.54228721e+00 1.32196047e+00 1.10163372e+00 1.32196047e+00 1.46884496e+00 1.32196047e+00 9.54749225e-01 1.02819147e+00 1.10163372e+00 1.02819147e+00 1.17507597e+00 1.24851822e+00 1.54228721e+00 1.32196047e+00 1.24851822e+00 1.02819147e+00 1.24851822e+00 1.02819147e+00 1.02819147e+00 1.10163372e+00 1.24851822e+00 1.02819147e+00 1.02819147e+00 1.32196047e+00 1.02819147e+00 1.24851822e+00 9.54749225e-01 1.68917171e+00 1.17507597e+00 1.17507597e+00 1.10163372e+00 1.02819147e+00 1.32196047e+00 1.02819147e+00 1.32196047e+00 1.68917171e+00 1.46884496e+00 1.32196047e+00 9.54749225e-01 5.87537985e-01 9.54749225e-01 1.39540271e+00 9.54749225e-01 7.34422481e-01 9.54749225e-01 1.02819147e+00 8.07864729e-01 9.54749225e-01 1.46884496e+00 8.81306977e-01 9.54749225e-01 1.10163372e+00 9.54749225e-01 2.05638295e+00 1.90949845e+00 1.32196047e+00 1.32196047e+00 1.83605620e+00 1.32196047e+00 1.24851822e+00 1.02819147e+00 1.10163372e+00 8.81306977e-01 1.46884496e+00 1.17507597e+00 7.34422481e-01 1.39540271e+00 8.07864729e-01 1.02819147e+00 1.10163372e+00 1.10163372e+00 8.81306977e-01 1.17507597e+00 8.07864729e-01 8.07864729e-01 1.10163372e+00 1.17507597e+00 9.54749225e-01 5.14095737e-01 1.39540271e+00 1.17507597e+00 7.34422481e-01 1.76261395e+00 6.60980233e-01 7.34422481e-01 4.40653488e-01 1.39540271e+00 8.07864729e-01 1.61572946e+00 1.10163372e+00 1.17507597e+00 6.60980233e-01 1.46884496e+00 8.81306977e-01 1.10163372e+00 9.54749225e-01 1.17507597e+00 9.54749225e-01 1.10163372e+00 9.54749225e-01 1.24851822e+00 6.60980233e-01 6.60980233e-01 6.60980233e-01 9.54749225e-01 8.07864729e-01 1.46884496e+00 5.87537985e-01 8.07864729e-01 7.34422481e-01 1.02819147e+00 4.40653488e-01 2.93768992e-01 5.14095737e-01 6.60980233e-01 7.34422481e-01 7.34422481e-01 8.07864729e-01 8.07864729e-01 1.10163372e+00 1.10163372e+00 8.81306977e-01 1.10163372e+00 1.54228721e+00 9.54749225e-01 1.02819147e+00 1.39540271e+00 8.81306977e-01 8.07864729e-01 7.34422481e-01 3.67211240e-01 8.81306977e-01 1.24851822e+00 7.34422481e-01 1.17507597e+00 8.81306977e-01 9.54749225e-01 7.34422481e-01 1.10163372e+00 8.81306977e-01 8.07864729e-01 6.60980233e-01 7.34422481e-01 1.10163372e+00 8.07864729e-01 7.34422481e-01 8.07864729e-01 5.14095737e-01 8.07864729e-01 5.14095737e-01 1.02819147e+00 7.34422481e-01 5.14095737e-01 9.54749225e-01 9.54749225e-01 5.87537985e-01 7.34422481e-01 8.81306977e-01 8.07864729e-01 8.07864729e-01 4.40653488e-01 9.54749225e-01 9.54749225e-01 5.87537985e-01 8.07864729e-01 4.40653488e-01 7.34422481e-01 9.54749225e-01 8.07864729e-01 8.07864729e-01 8.07864729e-01 5.14095737e-01 1.02819147e+00 8.07864729e-01 4.40653488e-01 8.07864729e-01 1.02819147e+00 2.20326744e-01 8.81306977e-01 8.81306977e-01 8.07864729e-01 5.87537985e-01 7.34422481e-01 7.34422481e-01 6.60980233e-01 8.81306977e-01 1.46884496e+00 9.54749225e-01 7.34422481e-01 6.60980233e-01 5.87537985e-01 4.40653488e-01 1.02819147e+00 3.67211240e-01 6.60980233e-01 4.40653488e-01 9.54749225e-01 3.67211240e-01 5.87537985e-01 8.81306977e-01 8.07864729e-01 7.34422481e-01 1.46884496e-01 4.40653488e-01 8.07864729e-01 5.87537985e-01 6.60980233e-01 9.54749225e-01 6.60980233e-01 7.34422481e-01 4.40653488e-01 6.60980233e-01 7.34422481e-01 1.02819147e+00 8.81306977e-01 6.60980233e-01 6.60980233e-01 4.40653488e-01 4.40653488e-01 8.81306977e-01 6.60980233e-01 6.60980233e-01 1.10163372e+00 5.87537985e-01 5.14095737e-01 3.67211240e-01 4.40653488e-01 8.81306977e-01 5.87537985e-01 8.07864729e-01 2.20326744e-01 5.87537985e-01 4.40653488e-01 7.34422481e-01 6.60980233e-01 9.54749225e-01 5.87537985e-01 6.60980233e-01 7.34422481e-01 6.60980233e-01 2.93768992e-01 2.93768992e-01 4.40653488e-01 5.14095737e-01 6.60980233e-01 6.60980233e-01 9.54749225e-01 6.60980233e-01 5.87537985e-01 5.14095737e-01 7.34422481e-01 3.67211240e-01 6.60980233e-01 6.60980233e-01 9.54749225e-01 6.60980233e-01 2.93768992e-01 5.14095737e-01 5.87537985e-01 7.34422481e-01 7.34422481e-02 8.07864729e-01 5.87537985e-01 3.67211240e-01 5.14095737e-01 2.93768992e-01 5.87537985e-01 7.34422481e-01 5.14095737e-01 5.14095737e-01 5.14095737e-01 3.67211240e-01 5.87537985e-01 3.67211240e-01 7.34422481e-01 7.34422481e-01 8.07864729e-01 5.14095737e-01 4.40653488e-01 6.60980233e-01 6.60980233e-01 5.14095737e-01 5.87537985e-01 2.93768992e-01 4.40653488e-01 2.93768992e-01 6.60980233e-01 7.34422481e-01 7.34422481e-01 4.40653488e-01 4.40653488e-01 2.20326744e-01 3.67211240e-01 1.02819147e+00 7.34422481e-01 4.40653488e-01 5.14095737e-01 3.67211240e-01 5.87537985e-01 6.60980233e-01 3.67211240e-01 8.07864729e-01 5.87537985e-01 8.81306977e-01 5.87537985e-01 7.34422481e-01 4.40653488e-01 8.07864729e-01 6.60980233e-01 1.46884496e-01 3.67211240e-01 2.20326744e-01 5.87537985e-01 5.87537985e-01 4.40653488e-01 6.60980233e-01 4.40653488e-01 8.07864729e-01 6.60980233e-01 5.14095737e-01 4.40653488e-01 5.87537985e-01 4.40653488e-01 3.67211240e-01 2.93768992e-01 5.87537985e-01 7.34422481e-02 3.67211240e-01 4.40653488e-01 4.40653488e-01 4.40653488e-01 3.67211240e-01 5.14095737e-01 6.60980233e-01 1.46884496e-01 4.40653488e-01 3.67211240e-01 7.34422481e-02 3.67211240e-01 7.34422481e-01 3.67211240e-01 2.20326744e-01 5.87537985e-01 7.34422481e-01 8.07864729e-01 2.93768992e-01 1.46884496e-01 2.20326744e-01 7.34422481e-01 2.93768992e-01 2.93768992e-01 5.14095737e-01 5.14095737e-01 5.87537985e-01 3.67211240e-01 1.46884496e-01 8.81306977e-01 2.93768992e-01 4.40653488e-01 3.67211240e-01 3.67211240e-01 2.93768992e-01 5.87537985e-01 6.60980233e-01 5.87537985e-01 2.93768992e-01 2.93768992e-01 3.67211240e-01 4.40653488e-01 2.20326744e-01 5.14095737e-01 6.60980233e-01 4.40653488e-01 2.93768992e-01 2.93768992e-01 3.67211240e-01 5.87537985e-01 5.14095737e-01 2.20326744e-01 2.93768992e-01 5.87537985e-01 3.67211240e-01 5.87537985e-01 5.87537985e-01 5.87537985e-01 6.60980233e-01 2.93768992e-01 2.93768992e-01 2.20326744e-01 3.67211240e-01 5.14095737e-01 3.67211240e-01 2.20326744e-01 6.60980233e-01 4.40653488e-01 4.40653488e-01 5.14095737e-01 4.40653488e-01 2.93768992e-01 5.14095737e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 3.67211240e-01 2.93768992e-01 3.67211240e-01 6.60980233e-01 3.67211240e-01 5.87537985e-01 3.67211240e-01 7.34422481e-01 4.40653488e-01 4.40653488e-01 4.40653488e-01 2.20326744e-01 2.93768992e-01 5.14095737e-01 5.14095737e-01 2.93768992e-01 3.67211240e-01 7.34422481e-01 5.14095737e-01 4.40653488e-01 5.14095737e-01 5.87537985e-01 4.40653488e-01 1.46884496e-01 2.93768992e-01 2.20326744e-01 3.67211240e-01 7.34422481e-01 4.40653488e-01 3.67211240e-01 5.14095737e-01 3.67211240e-01 2.20326744e-01 3.67211240e-01 2.20326744e-01 4.40653488e-01 4.40653488e-01 5.87537985e-01 1.46884496e-01 3.67211240e-01 2.93768992e-01 5.14095737e-01 2.93768992e-01 3.67211240e-01 4.40653488e-01 5.87537985e-01 4.40653488e-01 4.40653488e-01 3.67211240e-01 5.14095737e-01 7.34422481e-01 5.14095737e-01 3.67211240e-01 5.14095737e-01 3.67211240e-01 2.20326744e-01 2.93768992e-01 2.20326744e-01 8.07864729e-01 2.93768992e-01 5.14095737e-01 4.40653488e-01 7.34422481e-01 5.87537985e-01 8.81306977e-01 2.20326744e-01 4.40653488e-01 2.20326744e-01 5.14095737e-01 3.67211240e-01 3.67211240e-01 2.93768992e-01 3.67211240e-01 1.46884496e-01 4.40653488e-01 1.46884496e-01 5.87537985e-01 1.46884496e-01 2.20326744e-01 2.93768992e-01 1.46884496e-01 4.40653488e-01 3.67211240e-01 1.46884496e-01 3.67211240e-01 1.46884496e-01 2.93768992e-01 3.67211240e-01 2.20326744e-01 1.46884496e-01 3.67211240e-01 5.14095737e-01 5.14095737e-01 2.93768992e-01 3.67211240e-01 2.93768992e-01 3.67211240e-01 2.20326744e-01 2.93768992e-01 7.34422481e-02 1.02819147e+00 3.67211240e-01 4.40653488e-01 5.14095737e-01 2.93768992e-01 5.87537985e-01 2.20326744e-01 5.14095737e-01 8.07864729e-01 2.20326744e-01 2.93768992e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 3.67211240e-01 5.87537985e-01 3.67211240e-01 3.67211240e-01 1.46884496e-01 5.14095737e-01 4.40653488e-01 3.67211240e-01 3.67211240e-01 2.93768992e-01 2.20326744e-01 5.14095737e-01 3.67211240e-01 7.34422481e-02 5.14095737e-01 6.60980233e-01 4.40653488e-01 3.67211240e-01 1.46884496e-01 6.60980233e-01 3.67211240e-01 3.67211240e-01 2.93768992e-01 3.67211240e-01 2.93768992e-01 2.20326744e-01 4.40653488e-01 3.67211240e-01 2.93768992e-01 5.87537985e-01 3.67211240e-01 1.46884496e-01 2.20326744e-01 5.14095737e-01 2.93768992e-01 7.34422481e-02 6.60980233e-01 6.60980233e-01 4.40653488e-01 2.93768992e-01 3.67211240e-01 2.20326744e-01 2.20326744e-01 1.46884496e-01 2.93768992e-01 5.14095737e-01 2.93768992e-01 5.87537985e-01 3.67211240e-01 3.67211240e-01 4.40653488e-01 3.67211240e-01 2.93768992e-01 5.87537985e-01 2.93768992e-01 3.67211240e-01 2.93768992e-01 7.34422481e-02 3.67211240e-01 1.46884496e-01 3.67211240e-01 2.20326744e-01 4.40653488e-01 2.20326744e-01 2.20326744e-01 2.20326744e-01 3.67211240e-01 3.67211240e-01 4.40653488e-01 2.20326744e-01 1.46884496e-01 5.14095737e-01 4.40653488e-01 3.67211240e-01 2.20326744e-01 5.14095737e-01 7.34422481e-02 2.93768992e-01 2.20326744e-01 1.46884496e-01 1.46884496e-01 6.60980233e-01 2.93768992e-01 2.93768992e-01 2.93768992e-01 3.67211240e-01 6.60980233e-01 3.67211240e-01 7.34422481e-02 3.67211240e-01 3.67211240e-01 3.67211240e-01 2.20326744e-01 1.46884496e-01 2.20326744e-01 2.20326744e-01 3.67211240e-01 5.87537985e-01 2.93768992e-01 3.67211240e-01 2.20326744e-01 1.46884496e-01 5.14095737e-01 3.67211240e-01 1.46884496e-01 1.46884496e-01 5.14095737e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 4.40653488e-01 2.93768992e-01 1.46884496e-01 5.87537985e-01 7.34422481e-02 2.20326744e-01 2.93768992e-01 5.87537985e-01 5.87537985e-01 1.46884496e-01 3.67211240e-01 3.67211240e-01 1.46884496e-01 3.67211240e-01 5.14095737e-01 3.67211240e-01 5.87537985e-01 1.46884496e-01 2.93768992e-01 3.67211240e-01 2.93768992e-01 3.67211240e-01 1.46884496e-01 2.20326744e-01 2.20326744e-01 2.93768992e-01 5.14095737e-01 2.20326744e-01 6.60980233e-01 2.93768992e-01 2.93768992e-01 4.40653488e-01 5.14095737e-01 4.40653488e-01 1.46884496e-01 5.14095737e-01 1.46884496e-01 1.46884496e-01 2.93768992e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 2.93768992e-01 4.40653488e-01 7.34422481e-02 2.20326744e-01 2.93768992e-01 2.93768992e-01 4.40653488e-01 3.67211240e-01 2.20326744e-01 2.93768992e-01 2.20326744e-01 1.46884496e-01 3.67211240e-01 5.14095737e-01 1.46884496e-01 2.93768992e-01 3.67211240e-01 1.46884496e-01 2.20326744e-01 4.40653488e-01 1.46884496e-01 1.46884496e-01 3.67211240e-01 1.46884496e-01 4.40653488e-01 1.46884496e-01 7.34422481e-02 3.67211240e-01 3.67211240e-01 2.20326744e-01 2.93768992e-01 6.60980233e-01 1.46884496e-01 2.20326744e-01 2.93768992e-01 7.34422481e-02 3.67211240e-01 2.93768992e-01 3.67211240e-01 3.67211240e-01 7.34422481e-02 1.46884496e-01 4.40653488e-01 3.67211240e-01 2.20326744e-01 2.93768992e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 2.93768992e-01 2.93768992e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 5.14095737e-01 3.67211240e-01 1.46884496e-01 4.40653488e-01 2.93768992e-01 1.46884496e-01 3.67211240e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 3.67211240e-01 7.34422481e-02 2.93768992e-01 5.14095737e-01 4.40653488e-01 7.34422481e-02 3.67211240e-01 2.93768992e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.20326744e-01 0.00000000e+00 2.93768992e-01 2.20326744e-01 4.40653488e-01 4.40653488e-01 3.67211240e-01 2.20326744e-01 2.93768992e-01 2.93768992e-01 2.93768992e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 2.93768992e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 4.40653488e-01 2.93768992e-01 1.46884496e-01 2.20326744e-01 2.93768992e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 2.93768992e-01 5.14095737e-01 2.20326744e-01 2.93768992e-01 3.67211240e-01 2.20326744e-01 3.67211240e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 2.20326744e-01 4.40653488e-01 4.40653488e-01 7.34422481e-02 2.93768992e-01 7.34422481e-02 7.34422481e-02 2.93768992e-01 2.93768992e-01 1.46884496e-01 4.40653488e-01 2.20326744e-01 2.93768992e-01 7.34422481e-02 2.20326744e-01 5.14095737e-01 1.46884496e-01 4.40653488e-01 4.40653488e-01 2.20326744e-01 2.20326744e-01 5.14095737e-01 1.46884496e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 5.14095737e-01 4.40653488e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.93768992e-01 2.93768992e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 2.93768992e-01 2.20326744e-01 7.34422481e-02 2.93768992e-01 2.20326744e-01 2.20326744e-01 2.93768992e-01 5.14095737e-01 2.93768992e-01 1.46884496e-01 5.14095737e-01 4.40653488e-01 2.20326744e-01 1.46884496e-01 3.67211240e-01 2.20326744e-01 1.46884496e-01 1.46884496e-01 3.67211240e-01 7.34422481e-02 2.20326744e-01 5.87537985e-01 1.46884496e-01 2.93768992e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 2.20326744e-01 2.20326744e-01 1.46884496e-01 2.93768992e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 2.93768992e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 2.93768992e-01 3.67211240e-01 7.34422481e-02 4.40653488e-01 2.93768992e-01 2.93768992e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 2.20326744e-01 2.93768992e-01 2.93768992e-01 2.20326744e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 2.20326744e-01 2.93768992e-01 1.46884496e-01 2.93768992e-01 2.93768992e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 3.67211240e-01 2.93768992e-01 1.46884496e-01 2.20326744e-01 2.20326744e-01 4.40653488e-01 1.46884496e-01 1.46884496e-01 2.93768992e-01 2.20326744e-01 2.20326744e-01 2.93768992e-01 1.46884496e-01 1.46884496e-01 2.20326744e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 4.40653488e-01 1.46884496e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.93768992e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 2.93768992e-01 2.20326744e-01 2.20326744e-01 2.20326744e-01 3.67211240e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.93768992e-01 1.46884496e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.93768992e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.93768992e-01 2.93768992e-01 3.67211240e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 2.20326744e-01 1.46884496e-01 2.93768992e-01 5.14095737e-01 4.40653488e-01 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 2.20326744e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 2.93768992e-01 2.93768992e-01 1.46884496e-01 7.34422481e-02 2.93768992e-01 7.34422481e-02 3.67211240e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 4.40653488e-01 2.20326744e-01 2.20326744e-01 2.20326744e-01 2.20326744e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 4.40653488e-01 2.93768992e-01 7.34422481e-02 4.40653488e-01 3.67211240e-01 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.93768992e-01 2.20326744e-01 2.20326744e-01 2.93768992e-01 3.67211240e-01 5.14095737e-01 2.93768992e-01 3.67211240e-01 2.20326744e-01 4.40653488e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.20326744e-01 3.67211240e-01 2.20326744e-01 1.46884496e-01 2.20326744e-01 2.93768992e-01 0.00000000e+00 1.46884496e-01 2.20326744e-01 7.34422481e-02 3.67211240e-01 2.93768992e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 3.67211240e-01 2.20326744e-01 2.93768992e-01 3.67211240e-01 2.20326744e-01 1.46884496e-01 2.20326744e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 3.67211240e-01 2.93768992e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 2.93768992e-01 3.67211240e-01 2.20326744e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 2.93768992e-01 2.93768992e-01 2.20326744e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 3.67211240e-01 3.67211240e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 2.93768992e-01 0.00000000e+00 1.46884496e-01 3.67211240e-01 2.93768992e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 1.46884496e-01 2.93768992e-01 2.20326744e-01 1.46884496e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 4.40653488e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 2.20326744e-01 2.20326744e-01 2.93768992e-01 1.46884496e-01 2.20326744e-01 4.40653488e-01 3.67211240e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 3.67211240e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.93768992e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 2.93768992e-01 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 2.20326744e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 3.67211240e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 3.67211240e-01 2.20326744e-01 1.46884496e-01 3.67211240e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 1.46884496e-01 2.93768992e-01 2.93768992e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 3.67211240e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 2.93768992e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 4.40653488e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.93768992e-01 1.46884496e-01 4.40653488e-01 7.34422481e-02 0.00000000e+00 2.20326744e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 3.67211240e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 3.67211240e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.67211240e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.93768992e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 0.00000000e+00 2.20326744e-01 3.67211240e-01 2.20326744e-01 7.34422481e-02 2.93768992e-01 7.34422481e-02 1.46884496e-01 2.93768992e-01 1.46884496e-01 2.93768992e-01 0.00000000e+00 1.46884496e-01 2.20326744e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 3.67211240e-01 2.93768992e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 1.46884496e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 0.00000000e+00 2.20326744e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 3.67211240e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 2.20326744e-01 2.93768992e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 2.20326744e-01 2.20326744e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 3.67211240e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 2.20326744e-01 4.40653488e-01 2.93768992e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.93768992e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 3.67211240e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 2.93768992e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 2.93768992e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.20326744e-01 1.46884496e-01 0.00000000e+00 2.20326744e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 1.46884496e-01 2.20326744e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 3.67211240e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 2.20326744e-01 2.93768992e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 3.67211240e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.93768992e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 2.20326744e-01 2.20326744e-01 1.46884496e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.93768992e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 2.93768992e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.93768992e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.93768992e-01 0.00000000e+00 2.20326744e-01 1.46884496e-01 2.93768992e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 2.20326744e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 2.93768992e-01 1.46884496e-01 3.67211240e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 3.67211240e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 2.93768992e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93768992e-01 2.20326744e-01 1.46884496e-01 0.00000000e+00 2.93768992e-01 1.46884496e-01 1.46884496e-01 3.67211240e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 2.93768992e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 2.20326744e-01 2.93768992e-01 2.20326744e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 2.20326744e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 2.93768992e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.93768992e-01 0.00000000e+00 2.93768992e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 2.93768992e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 1.46884496e-01 2.93768992e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 3.67211240e-01 2.93768992e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 2.93768992e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 2.20326744e-01 2.20326744e-01 0.00000000e+00 2.20326744e-01 2.93768992e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 2.20326744e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.93768992e-01 0.00000000e+00 1.46884496e-01 2.20326744e-01 1.46884496e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.20326744e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 2.93768992e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.93768992e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 2.93768992e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.93768992e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 2.20326744e-01 1.46884496e-01 7.34422481e-02 2.93768992e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 2.20326744e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 2.20326744e-01 0.00000000e+00 1.46884496e-01 2.20326744e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.93768992e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 2.20326744e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 2.20326744e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 1.46884496e-01 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 3.67211240e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 2.20326744e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 1.46884496e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 2.20326744e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 2.93768992e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 2.93768992e-01 1.46884496e-01 7.34422481e-02 2.93768992e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 2.93768992e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 2.20326744e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.93768992e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 2.93768992e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 2.93768992e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.93768992e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 2.93768992e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 2.20326744e-01 2.20326744e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 2.93768992e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 0.00000000e+00 1.46884496e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.93768992e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93768992e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 3.67211240e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 2.20326744e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 2.20326744e-01 2.20326744e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 2.93768992e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 2.93768992e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 2.93768992e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.93768992e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 2.20326744e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.67211240e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.93768992e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 2.93768992e-01 2.93768992e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.93768992e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 4.40653488e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.93768992e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.93768992e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 2.20326744e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 2.20326744e-01 3.67211240e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 2.20326744e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.93768992e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.93768992e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 2.93768992e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.93768992e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93768992e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 2.20326744e-01 0.00000000e+00 2.93768992e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 2.93768992e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93768992e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 3.67211240e-01 0.00000000e+00 2.20326744e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 2.93768992e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 2.20326744e-01 2.20326744e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 4.40653488e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 2.20326744e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 3.67211240e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93768992e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 2.93768992e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 2.20326744e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.20326744e-01 2.93768992e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 2.20326744e-01 1.46884496e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 3.67211240e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 2.20326744e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.93768992e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 2.20326744e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 2.93768992e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 3.67211240e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 1.46884496e-01 2.93768992e-01 1.46884496e-01 2.93768992e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.93768992e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 2.20326744e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 7.34422481e-02 1.46884496e-01 2.93768992e-01 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 2.20326744e-01 2.93768992e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 1.46884496e-01 3.67211240e-01 2.20326744e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 1.46884496e-01 2.93768992e-01 7.34422481e-02 7.34422481e-02 2.93768992e-01 2.20326744e-01 3.67211240e-01 1.46884496e-01 0.00000000e+00 1.46884496e-01 7.34422481e-02 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 0.00000000e+00 3.67211240e-01 1.46884496e-01 0.00000000e+00 7.34422481e-02 3.67211240e-01 2.20326744e-01 2.93768992e-01 0.00000000e+00 1.46884496e-01 2.20326744e-01 2.93768992e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 7.34422481e-02 2.93768992e-01 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 2.20326744e-01 2.20326744e-01 1.46884496e-01 3.67211240e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 2.20326744e-01 7.34422481e-02 2.93768992e-01 3.67211240e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 4.40653488e-01 0.00000000e+00 2.20326744e-01 7.34422481e-02 1.46884496e-01 3.67211240e-01 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.20326744e-01 2.20326744e-01 7.34422481e-02 1.46884496e-01 2.93768992e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 1.46884496e-01 0.00000000e+00 5.14095737e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 0.00000000e+00 7.34422481e-02 1.46884496e-01 1.46884496e-01 0.00000000e+00 2.93768992e-01 1.46884496e-01 7.34422481e-02 3.67211240e-01 2.20326744e-01 1.46884496e-01 7.34422481e-02 2.93768992e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 2.20326744e-01 3.67211240e-01 1.46884496e-01 7.34422481e-02 7.34422481e-02 2.20326744e-01 2.20326744e-01 2.20326744e-01 2.20326744e-01 2.93768992e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 1.46884496e-01 2.20326744e-01 2.20326744e-01 4.40653488e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 7.34422481e-02 2.20326744e-01 7.34422481e-02 7.34422481e-02 0.00000000e+00 1.46884496e-01 0.00000000e+00 2.93768992e-01 0.00000000e+00 7.34422481e-02 2.20326744e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.20326744e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 2.20326744e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 0.00000000e+00 7.34422481e-02 1.46884496e-01 2.93768992e-01 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 7.34422481e-02 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 1.46884496e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 2.93768992e-01 7.34422481e-02 0.00000000e+00 1.46884496e-01 2.20326744e-01 0.00000000e+00 0.00000000e+00 7.34422481e-02 1.46884496e-01 7.34422481e-02 2.93768992e-01 0.00000000e+00 7.34422481e-02 7.34422481e-02 7.34422481e-02 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.20326744e-01 0.00000000e+00 0.00000000e+00 1.46884496e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.34422481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_fb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_fb_BDTG.weights.xml index fbc0b1f5fe0b..376e3ec97003 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_fb_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_high_fb_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - - - - + + + + - - - - + + + + @@ -73,5969 +73,6014 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.83964938e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 5.22643292e-02 7.83964938e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 7.83964938e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 7.83964938e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 5.22643292e-02 0.00000000e+00 5.22643292e-02 5.22643292e-02 2.61321646e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 7.83964938e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 5.22643292e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 7.83964938e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 5.22643292e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 5.22643292e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 5.22643292e-02 5.22643292e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 2.61321646e-02 7.83964938e-02 0.00000000e+00 5.22643292e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 1.30660823e-01 2.61321646e-02 0.00000000e+00 2.61321646e-02 7.83964938e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 7.83964938e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 5.22643292e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.83964938e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 7.83964938e-02 5.22643292e-02 5.22643292e-02 7.83964938e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 5.22643292e-02 2.61321646e-02 5.22643292e-02 2.61321646e-02 7.83964938e-02 2.61321646e-02 1.04528658e-01 7.83964938e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 7.83964938e-02 7.83964938e-02 0.00000000e+00 2.61321646e-02 7.83964938e-02 0.00000000e+00 7.83964938e-02 2.61321646e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 5.22643292e-02 2.61321646e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 7.83964938e-02 5.22643292e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 7.83964938e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 5.22643292e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 2.61321646e-02 0.00000000e+00 5.22643292e-02 5.22643292e-02 2.61321646e-02 5.22643292e-02 1.04528658e-01 5.22643292e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 7.83964938e-02 2.61321646e-02 2.61321646e-02 5.22643292e-02 0.00000000e+00 5.22643292e-02 7.83964938e-02 7.83964938e-02 2.61321646e-02 7.83964938e-02 0.00000000e+00 5.22643292e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 7.83964938e-02 5.22643292e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 5.22643292e-02 2.61321646e-02 2.61321646e-02 7.83964938e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 1.04528658e-01 1.56792988e-01 1.04528658e-01 2.61321646e-02 5.22643292e-02 2.61321646e-02 7.83964938e-02 7.83964938e-02 5.22643292e-02 5.22643292e-02 1.04528658e-01 5.22643292e-02 5.22643292e-02 7.83964938e-02 5.22643292e-02 2.61321646e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 1.04528658e-01 5.22643292e-02 5.22643292e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 7.83964938e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 7.83964938e-02 7.83964938e-02 2.61321646e-02 2.61321646e-02 5.22643292e-02 2.61321646e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 5.22643292e-02 2.61321646e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 1.04528658e-01 7.83964938e-02 2.61321646e-02 2.61321646e-02 5.22643292e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 1.56792988e-01 0.00000000e+00 5.22643292e-02 5.22643292e-02 1.04528658e-01 5.22643292e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 7.83964938e-02 1.04528658e-01 7.83964938e-02 7.83964938e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 7.83964938e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 5.22643292e-02 0.00000000e+00 5.22643292e-02 1.30660823e-01 1.30660823e-01 5.22643292e-02 2.61321646e-02 5.22643292e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 7.83964938e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 7.83964938e-02 7.83964938e-02 2.61321646e-02 7.83964938e-02 1.30660823e-01 7.83964938e-02 1.82925152e-01 5.22643292e-02 2.61321646e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 7.83964938e-02 5.22643292e-02 5.22643292e-02 2.61321646e-02 2.61321646e-02 5.22643292e-02 7.83964938e-02 7.83964938e-02 1.30660823e-01 7.83964938e-02 0.00000000e+00 5.22643292e-02 5.22643292e-02 2.61321646e-02 1.30660823e-01 2.61321646e-02 0.00000000e+00 1.30660823e-01 5.22643292e-02 7.83964938e-02 7.83964938e-02 5.22643292e-02 0.00000000e+00 1.04528658e-01 7.83964938e-02 7.83964938e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 5.22643292e-02 2.09057317e-01 2.61321646e-02 2.61321646e-02 5.22643292e-02 5.22643292e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 1.56792988e-01 0.00000000e+00 0.00000000e+00 7.83964938e-02 0.00000000e+00 1.30660823e-01 2.61321646e-02 7.83964938e-02 2.61321646e-02 2.61321646e-02 7.83964938e-02 7.83964938e-02 7.83964938e-02 2.61321646e-02 7.83964938e-02 2.61321646e-02 0.00000000e+00 7.83964938e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 1.04528658e-01 7.83964938e-02 7.83964938e-02 7.83964938e-02 2.61321646e-02 7.83964938e-02 7.83964938e-02 2.61321646e-02 2.61321646e-02 1.04528658e-01 1.04528658e-01 5.22643292e-02 5.22643292e-02 7.83964938e-02 5.22643292e-02 7.83964938e-02 0.00000000e+00 1.30660823e-01 7.83964938e-02 7.83964938e-02 2.61321646e-02 5.22643292e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 7.83964938e-02 5.22643292e-02 2.61321646e-02 7.83964938e-02 7.83964938e-02 5.22643292e-02 5.22643292e-02 5.22643292e-02 7.83964938e-02 1.04528658e-01 5.22643292e-02 5.22643292e-02 7.83964938e-02 1.04528658e-01 7.83964938e-02 5.22643292e-02 2.61321646e-02 1.30660823e-01 5.22643292e-02 7.83964938e-02 5.22643292e-02 7.83964938e-02 1.30660823e-01 1.30660823e-01 7.83964938e-02 5.22643292e-02 2.61321646e-02 5.22643292e-02 2.61321646e-02 5.22643292e-02 1.56792988e-01 2.61321646e-02 2.61321646e-02 1.04528658e-01 2.61321646e-02 1.04528658e-01 2.61321646e-02 1.04528658e-01 7.83964938e-02 5.22643292e-02 2.61321646e-02 5.22643292e-02 2.61321646e-02 7.83964938e-02 2.61321646e-02 7.83964938e-02 5.22643292e-02 2.61321646e-02 7.83964938e-02 5.22643292e-02 1.56792988e-01 7.83964938e-02 7.83964938e-02 7.83964938e-02 1.82925152e-01 5.22643292e-02 2.61321646e-02 7.83964938e-02 7.83964938e-02 5.22643292e-02 1.56792988e-01 1.30660823e-01 5.22643292e-02 1.04528658e-01 2.61321646e-02 5.22643292e-02 1.56792988e-01 2.61321646e-02 5.22643292e-02 1.04528658e-01 1.04528658e-01 0.00000000e+00 5.22643292e-02 0.00000000e+00 2.61321646e-02 5.22643292e-02 7.83964938e-02 7.83964938e-02 7.83964938e-02 1.04528658e-01 1.30660823e-01 1.04528658e-01 5.22643292e-02 1.04528658e-01 1.30660823e-01 7.83964938e-02 7.83964938e-02 1.04528658e-01 2.61321646e-02 1.04528658e-01 5.22643292e-02 7.83964938e-02 5.22643292e-02 1.56792988e-01 1.30660823e-01 7.83964938e-02 7.83964938e-02 1.04528658e-01 1.56792988e-01 2.09057317e-01 7.83964938e-02 7.83964938e-02 0.00000000e+00 1.04528658e-01 2.61321646e-02 2.35189481e-01 1.30660823e-01 1.82925152e-01 7.83964938e-02 2.61321646e-02 1.30660823e-01 7.83964938e-02 5.22643292e-02 1.04528658e-01 5.22643292e-02 1.56792988e-01 5.22643292e-02 2.61321646e-02 1.04528658e-01 1.04528658e-01 1.30660823e-01 1.04528658e-01 5.22643292e-02 1.56792988e-01 1.30660823e-01 7.83964938e-02 5.22643292e-02 2.61321646e-02 1.56792988e-01 1.30660823e-01 1.30660823e-01 1.82925152e-01 1.56792988e-01 7.83964938e-02 5.22643292e-02 5.22643292e-02 7.83964938e-02 7.83964938e-02 1.56792988e-01 1.04528658e-01 1.30660823e-01 7.83964938e-02 7.83964938e-02 5.22643292e-02 7.83964938e-02 5.22643292e-02 2.61321646e-02 1.30660823e-01 2.61321646e-02 1.04528658e-01 1.30660823e-01 1.30660823e-01 2.61321646e-02 5.22643292e-02 7.83964938e-02 5.22643292e-02 1.56792988e-01 2.61321646e-02 1.04528658e-01 1.04528658e-01 7.83964938e-02 0.00000000e+00 5.22643292e-02 7.83964938e-02 7.83964938e-02 1.30660823e-01 7.83964938e-02 1.04528658e-01 7.83964938e-02 1.56792988e-01 1.56792988e-01 2.09057317e-01 1.04528658e-01 2.09057317e-01 7.83964938e-02 2.61321646e-02 5.22643292e-02 1.04528658e-01 1.56792988e-01 1.82925152e-01 2.61321646e-01 7.83964938e-02 1.82925152e-01 5.22643292e-02 1.30660823e-01 1.30660823e-01 1.04528658e-01 1.04528658e-01 5.22643292e-02 0.00000000e+00 1.04528658e-01 2.09057317e-01 7.83964938e-02 1.56792988e-01 1.30660823e-01 7.83964938e-02 5.22643292e-02 1.04528658e-01 1.56792988e-01 1.04528658e-01 1.82925152e-01 1.04528658e-01 1.56792988e-01 2.61321646e-02 1.04528658e-01 5.22643292e-02 5.22643292e-02 5.22643292e-02 7.83964938e-02 1.82925152e-01 1.56792988e-01 5.22643292e-02 7.83964938e-02 1.04528658e-01 1.82925152e-01 1.56792988e-01 1.04528658e-01 1.30660823e-01 5.22643292e-02 7.83964938e-02 1.82925152e-01 7.83964938e-02 5.22643292e-02 1.30660823e-01 1.56792988e-01 1.30660823e-01 2.09057317e-01 7.83964938e-02 7.83964938e-02 1.30660823e-01 7.83964938e-02 1.04528658e-01 1.82925152e-01 7.83964938e-02 2.09057317e-01 5.22643292e-02 1.56792988e-01 1.56792988e-01 7.83964938e-02 7.83964938e-02 1.04528658e-01 1.56792988e-01 1.04528658e-01 1.30660823e-01 1.82925152e-01 1.04528658e-01 1.56792988e-01 1.30660823e-01 5.22643292e-02 7.83964938e-02 7.83964938e-02 2.35189481e-01 1.04528658e-01 1.04528658e-01 2.09057317e-01 1.04528658e-01 3.39718140e-01 1.30660823e-01 1.30660823e-01 1.04528658e-01 7.83964938e-02 7.83964938e-02 5.22643292e-02 1.56792988e-01 3.13585975e-01 7.83964938e-02 1.56792988e-01 1.82925152e-01 7.83964938e-02 7.83964938e-02 2.09057317e-01 1.04528658e-01 2.35189481e-01 5.22643292e-02 1.04528658e-01 1.30660823e-01 7.83964938e-02 1.04528658e-01 1.56792988e-01 2.87453811e-01 1.56792988e-01 1.04528658e-01 1.82925152e-01 2.87453811e-01 7.83964938e-02 1.82925152e-01 2.61321646e-01 1.04528658e-01 2.09057317e-01 1.04528658e-01 7.83964938e-02 1.04528658e-01 1.56792988e-01 2.09057317e-01 2.61321646e-01 1.30660823e-01 1.30660823e-01 7.83964938e-02 2.87453811e-01 0.00000000e+00 5.22643292e-02 1.04528658e-01 1.30660823e-01 1.04528658e-01 7.83964938e-02 1.04528658e-01 2.09057317e-01 1.04528658e-01 1.82925152e-01 1.30660823e-01 1.56792988e-01 1.04528658e-01 1.56792988e-01 1.82925152e-01 1.30660823e-01 1.04528658e-01 2.35189481e-01 7.83964938e-02 1.82925152e-01 2.09057317e-01 1.56792988e-01 7.83964938e-02 7.83964938e-02 0.00000000e+00 1.82925152e-01 1.82925152e-01 3.91982469e-01 2.09057317e-01 2.09057317e-01 2.61321646e-02 1.30660823e-01 2.87453811e-01 1.30660823e-01 1.56792988e-01 1.04528658e-01 1.30660823e-01 5.22643292e-02 1.56792988e-01 2.09057317e-01 2.35189481e-01 2.35189481e-01 1.56792988e-01 1.82925152e-01 1.56792988e-01 1.82925152e-01 1.56792988e-01 2.09057317e-01 1.30660823e-01 3.13585975e-01 2.61321646e-01 2.09057317e-01 1.30660823e-01 1.30660823e-01 1.82925152e-01 1.04528658e-01 3.39718140e-01 2.09057317e-01 1.30660823e-01 1.82925152e-01 1.82925152e-01 2.09057317e-01 1.30660823e-01 2.09057317e-01 1.56792988e-01 1.56792988e-01 1.04528658e-01 7.83964938e-02 2.35189481e-01 2.09057317e-01 2.61321646e-01 2.35189481e-01 1.56792988e-01 2.35189481e-01 1.30660823e-01 2.09057317e-01 3.65850304e-01 7.83964938e-02 1.30660823e-01 2.09057317e-01 1.56792988e-01 2.35189481e-01 2.35189481e-01 2.09057317e-01 2.09057317e-01 1.04528658e-01 3.65850304e-01 2.35189481e-01 2.61321646e-01 2.87453811e-01 5.22643292e-02 3.13585975e-01 1.82925152e-01 1.56792988e-01 1.82925152e-01 2.87453811e-01 1.56792988e-01 1.04528658e-01 2.87453811e-01 1.82925152e-01 3.91982469e-01 2.09057317e-01 1.30660823e-01 2.35189481e-01 1.30660823e-01 1.56792988e-01 1.04528658e-01 2.09057317e-01 2.61321646e-01 7.83964938e-02 2.61321646e-01 2.61321646e-01 2.35189481e-01 1.56792988e-01 3.39718140e-01 1.82925152e-01 1.56792988e-01 2.09057317e-01 2.87453811e-01 2.87453811e-01 2.35189481e-01 2.35189481e-01 2.35189481e-01 1.56792988e-01 1.82925152e-01 3.13585975e-01 1.82925152e-01 2.09057317e-01 1.56792988e-01 2.61321646e-01 2.61321646e-01 1.30660823e-01 1.30660823e-01 1.56792988e-01 2.87453811e-01 2.87453811e-01 2.35189481e-01 1.30660823e-01 2.09057317e-01 2.09057317e-01 3.91982469e-01 3.91982469e-01 1.30660823e-01 4.18114633e-01 2.35189481e-01 3.39718140e-01 3.13585975e-01 2.09057317e-01 2.35189481e-01 2.61321646e-01 4.18114633e-01 3.39718140e-01 2.87453811e-01 2.61321646e-01 3.65850304e-01 1.30660823e-01 3.39718140e-01 3.13585975e-01 3.39718140e-01 3.13585975e-01 3.65850304e-01 2.87453811e-01 2.61321646e-01 2.35189481e-01 4.44246798e-01 2.61321646e-01 3.39718140e-01 2.35189481e-01 2.35189481e-01 2.35189481e-01 2.87453811e-01 3.13585975e-01 1.56792988e-01 1.04528658e-01 2.35189481e-01 3.13585975e-01 2.61321646e-01 2.35189481e-01 4.18114633e-01 2.87453811e-01 2.35189481e-01 3.39718140e-01 1.82925152e-01 2.61321646e-01 1.82925152e-01 3.13585975e-01 2.09057317e-01 2.09057317e-01 2.35189481e-01 2.87453811e-01 3.39718140e-01 1.04528658e-01 2.61321646e-01 2.35189481e-01 3.13585975e-01 4.18114633e-01 1.30660823e-01 2.61321646e-01 4.70378963e-01 4.70378963e-01 5.22643292e-01 2.09057317e-01 3.13585975e-01 1.04528658e-01 3.39718140e-01 3.13585975e-01 4.70378963e-01 3.65850304e-01 2.61321646e-01 4.70378963e-01 3.65850304e-01 3.91982469e-01 2.87453811e-01 2.61321646e-01 2.87453811e-01 3.65850304e-01 4.96511127e-01 3.13585975e-01 3.13585975e-01 5.22643292e-01 1.56792988e-01 2.61321646e-01 1.82925152e-01 2.61321646e-01 4.18114633e-01 4.18114633e-01 5.22643292e-01 3.65850304e-01 4.18114633e-01 1.04528658e-01 2.87453811e-01 4.96511127e-01 5.48775456e-01 4.18114633e-01 4.70378963e-01 1.82925152e-01 4.70378963e-01 3.91982469e-01 4.44246798e-01 5.48775456e-01 4.44246798e-01 2.61321646e-01 3.65850304e-01 4.96511127e-01 4.44246798e-01 5.22643292e-01 3.91982469e-01 4.44246798e-01 4.18114633e-01 3.65850304e-01 5.22643292e-01 2.87453811e-01 2.35189481e-01 4.18114633e-01 3.65850304e-01 3.39718140e-01 4.70378963e-01 2.61321646e-01 4.70378963e-01 6.01039786e-01 4.96511127e-01 3.91982469e-01 3.91982469e-01 1.82925152e-01 3.65850304e-01 4.70378963e-01 3.91982469e-01 3.91982469e-01 5.22643292e-01 5.74907621e-01 4.96511127e-01 4.44246798e-01 4.70378963e-01 4.18114633e-01 7.57832773e-01 7.57832773e-01 5.22643292e-01 3.91982469e-01 5.74907621e-01 5.74907621e-01 7.83964938e-01 6.01039786e-01 7.05568444e-01 6.79436279e-01 7.83964938e-01 6.53304115e-01 4.96511127e-01 6.01039786e-01 7.31700609e-01 4.44246798e-01 6.53304115e-01 4.96511127e-01 5.22643292e-01 6.27171950e-01 5.74907621e-01 5.74907621e-01 5.48775456e-01 4.96511127e-01 6.27171950e-01 6.79436279e-01 6.27171950e-01 8.10097102e-01 8.88493596e-01 8.62361432e-01 7.83964938e-01 1.09755091e+00 6.27171950e-01 8.10097102e-01 8.62361432e-01 6.79436279e-01 6.27171950e-01 1.04528658e+00 4.18114633e-01 7.31700609e-01 8.36229267e-01 6.79436279e-01 6.79436279e-01 6.53304115e-01 5.74907621e-01 9.14625761e-01 8.10097102e-01 5.74907621e-01 7.57832773e-01 8.10097102e-01 6.79436279e-01 1.04528658e+00 9.66890090e-01 8.36229267e-01 7.57832773e-01 1.04528658e+00 5.74907621e-01 8.88493596e-01 1.12368308e+00 5.74907621e-01 9.40757925e-01 5.48775456e-01 1.01915442e+00 1.01915442e+00 8.88493596e-01 9.66890090e-01 8.10097102e-01 8.10097102e-01 8.88493596e-01 9.93022255e-01 1.04528658e+00 8.10097102e-01 6.79436279e-01 7.31700609e-01 1.12368308e+00 9.66890090e-01 1.17594741e+00 1.14981524e+00 1.20207957e+00 9.66890090e-01 8.88493596e-01 1.01915442e+00 1.28047607e+00 1.14981524e+00 1.20207957e+00 1.20207957e+00 1.14981524e+00 1.35887256e+00 1.20207957e+00 1.46340122e+00 1.35887256e+00 1.30660823e+00 1.01915442e+00 1.22821174e+00 1.25434390e+00 1.09755091e+00 1.46340122e+00 1.38500472e+00 1.48953338e+00 1.41113689e+00 1.38500472e+00 1.38500472e+00 1.93378018e+00 1.48953338e+00 1.54179771e+00 1.30660823e+00 1.54179771e+00 1.64632637e+00 1.59406204e+00 1.77698719e+00 1.59406204e+00 1.62019420e+00 1.46340122e+00 1.75085503e+00 1.48953338e+00 1.75085503e+00 2.03830884e+00 1.93378018e+00 1.59406204e+00 1.90764802e+00 1.90764802e+00 2.11670533e+00 2.35189481e+00 2.22123399e+00 2.43029131e+00 2.37802698e+00 2.27349832e+00 2.22123399e+00 2.29963048e+00 2.45642347e+00 1.85538369e+00 2.69161295e+00 2.95293460e+00 2.77000945e+00 3.21425624e+00 3.55397438e+00 3.76303170e+00 3.42331356e+00 3.42331356e+00 3.60623871e+00 3.55397438e+00 3.91982469e+00 3.97208902e+00 4.20727850e+00 4.18114633e+00 3.52784222e+00 4.59926097e+00 4.57312880e+00 4.78218612e+00 4.70378963e+00 5.12190426e+00 5.72294405e+00 5.67067972e+00 5.51388673e+00 5.22643292e+00 5.61841539e+00 5.46162240e+00 6.16719084e+00 6.84662712e+00 6.45464465e+00 6.92502362e+00 6.92502362e+00 6.63756981e+00 6.68983414e+00 8.49295349e+00 7.83964938e+00 7.99644237e+00 8.85880380e+00 8.44068916e+00 8.64974648e+00 8.36229267e+00 8.62361432e+00 9.35531492e+00 9.09399328e+00 9.85182605e+00 9.09399328e+00 1.02960728e+01 1.13674916e+01 1.07141875e+01 1.05835267e+01 1.01131477e+01 1.10800378e+01 1.13674916e+01 1.17856062e+01 1.17856062e+01 1.26218355e+01 1.15504167e+01 1.30399501e+01 1.28831571e+01 1.37716507e+01 1.16549454e+01 1.27786285e+01 1.29615536e+01 1.31967431e+01 1.29876858e+01 1.33274039e+01 1.32228753e+01 1.34841969e+01 1.39023116e+01 1.30660823e+01 1.34319326e+01 1.33274039e+01 1.38761794e+01 1.32490074e+01 1.41897654e+01 1.27524963e+01 1.41636332e+01 1.39023116e+01 1.37716507e+01 1.42158975e+01 1.40329724e+01 1.35625934e+01 1.39545759e+01 1.26479677e+01 1.42681619e+01 1.36932542e+01 1.27002320e+01 1.36148578e+01 1.33012718e+01 1.31444788e+01 1.17856062e+01 1.31183466e+01 1.22298530e+01 1.22037209e+01 1.29354215e+01 1.24389103e+01 1.19162671e+01 1.15504167e+01 1.11061700e+01 1.04528658e+01 1.13152273e+01 1.12368308e+01 1.02960728e+01 1.03483372e+01 1.00608834e+01 1.01131477e+01 9.64276873e+00 9.87795822e+00 9.66890090e+00 9.98248687e+00 9.40757925e+00 8.51908566e+00 8.23163185e+00 8.36229267e+00 7.29087392e+00 7.34313825e+00 7.89191371e+00 8.02257453e+00 6.76823063e+00 6.50690898e+00 6.97728795e+00 6.35011600e+00 6.68983414e+00 6.32398383e+00 6.89889145e+00 5.46162240e+00 6.11492651e+00 5.74907621e+00 5.06963993e+00 5.09577210e+00 4.70378963e+00 4.59926097e+00 5.95813353e+00 4.07661768e+00 4.20727850e+00 4.15501417e+00 4.57312880e+00 4.20727850e+00 4.20727850e+00 3.42331356e+00 3.58010655e+00 3.44944573e+00 4.05048551e+00 4.41633582e+00 3.18812408e+00 3.78916387e+00 3.89369252e+00 3.05746326e+00 3.16199192e+00 2.58708429e+00 2.61321646e+00 2.74387728e+00 3.16199192e+00 3.24038841e+00 2.90067027e+00 2.90067027e+00 2.53481997e+00 3.00519893e+00 2.11670533e+00 2.63934862e+00 2.82227378e+00 2.56095213e+00 2.48255564e+00 2.16896966e+00 2.16896966e+00 1.48953338e+00 1.98604451e+00 1.98604451e+00 2.29963048e+00 2.56095213e+00 2.29963048e+00 2.03830884e+00 1.95991234e+00 1.98604451e+00 1.67245853e+00 1.90764802e+00 1.82925152e+00 1.51566555e+00 1.43726905e+00 1.38500472e+00 1.43726905e+00 1.56792988e+00 1.69859070e+00 1.85538369e+00 1.62019420e+00 1.75085503e+00 1.20207957e+00 1.67245853e+00 1.69859070e+00 1.20207957e+00 1.30660823e+00 1.35887256e+00 1.30660823e+00 1.56792988e+00 1.41113689e+00 1.51566555e+00 8.88493596e-01 1.28047607e+00 1.20207957e+00 9.93022255e-01 1.12368308e+00 1.09755091e+00 7.57832773e-01 9.93022255e-01 1.09755091e+00 9.14625761e-01 1.09755091e+00 1.01915442e+00 7.83964938e-01 9.93022255e-01 7.05568444e-01 6.79436279e-01 6.01039786e-01 8.62361432e-01 7.57832773e-01 7.57832773e-01 8.36229267e-01 5.74907621e-01 6.01039786e-01 8.62361432e-01 5.22643292e-01 7.83964938e-01 8.36229267e-01 7.31700609e-01 7.31700609e-01 6.27171950e-01 7.05568444e-01 7.31700609e-01 8.36229267e-01 5.48775456e-01 7.05568444e-01 6.79436279e-01 7.05568444e-01 6.79436279e-01 4.96511127e-01 6.01039786e-01 8.10097102e-01 7.05568444e-01 4.44246798e-01 7.57832773e-01 6.53304115e-01 6.79436279e-01 6.01039786e-01 4.18114633e-01 4.18114633e-01 3.91982469e-01 6.01039786e-01 4.18114633e-01 6.53304115e-01 4.96511127e-01 4.96511127e-01 4.96511127e-01 2.35189481e-01 7.31700609e-01 4.18114633e-01 4.96511127e-01 3.39718140e-01 3.39718140e-01 3.65850304e-01 4.44246798e-01 4.96511127e-01 3.91982469e-01 1.82925152e-01 2.87453811e-01 3.39718140e-01 6.01039786e-01 4.18114633e-01 3.65850304e-01 5.74907621e-01 2.35189481e-01 3.65850304e-01 3.91982469e-01 1.82925152e-01 3.13585975e-01 3.13585975e-01 3.65850304e-01 3.13585975e-01 1.56792988e-01 2.09057317e-01 4.70378963e-01 2.61321646e-01 1.82925152e-01 1.82925152e-01 2.09057317e-01 1.82925152e-01 2.61321646e-01 4.18114633e-01 2.35189481e-01 1.30660823e-01 2.35189481e-01 7.83964938e-02 2.87453811e-01 3.13585975e-01 2.61321646e-01 2.61321646e-01 2.09057317e-01 1.56792988e-01 2.09057317e-01 2.09057317e-01 1.30660823e-01 2.87453811e-01 2.09057317e-01 1.30660823e-01 1.82925152e-01 3.39718140e-01 2.35189481e-01 2.61321646e-01 7.83964938e-02 2.87453811e-01 2.09057317e-01 2.09057317e-01 1.04528658e-01 2.87453811e-01 1.82925152e-01 1.82925152e-01 2.61321646e-01 1.30660823e-01 1.82925152e-01 3.13585975e-01 1.30660823e-01 2.35189481e-01 1.30660823e-01 1.82925152e-01 1.30660823e-01 1.56792988e-01 7.83964938e-02 5.22643292e-02 1.04528658e-01 2.09057317e-01 1.04528658e-01 0.00000000e+00 7.83964938e-02 7.83964938e-02 1.04528658e-01 1.82925152e-01 2.61321646e-02 7.83964938e-02 2.61321646e-02 5.22643292e-02 1.56792988e-01 1.04528658e-01 1.56792988e-01 2.61321646e-02 5.22643292e-02 1.04528658e-01 5.22643292e-02 1.04528658e-01 7.83964938e-02 7.83964938e-02 5.22643292e-02 1.04528658e-01 1.04528658e-01 1.56792988e-01 2.61321646e-02 5.22643292e-02 1.56792988e-01 5.22643292e-02 1.04528658e-01 5.22643292e-02 5.22643292e-02 1.04528658e-01 5.22643292e-02 5.22643292e-02 5.22643292e-02 2.61321646e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 7.83964938e-02 1.30660823e-01 1.04528658e-01 0.00000000e+00 1.04528658e-01 5.22643292e-02 2.61321646e-02 2.61321646e-02 1.30660823e-01 2.61321646e-02 2.61321646e-02 7.83964938e-02 7.83964938e-02 2.61321646e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 5.22643292e-02 5.22643292e-02 5.22643292e-02 7.83964938e-02 0.00000000e+00 2.61321646e-02 1.04528658e-01 1.04528658e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 5.22643292e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 7.83964938e-02 1.30660823e-01 1.04528658e-01 0.00000000e+00 2.61321646e-02 1.04528658e-01 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.04528658e-01 0.00000000e+00 5.22643292e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 1.04528658e-01 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 5.22643292e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 5.22643292e-02 5.22643292e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 2.61321646e-02 7.83964938e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 5.22643292e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 5.22643292e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 5.22643292e-02 2.61321646e-02 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.22643292e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 2.61321646e-02 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.61321646e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.08670306e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.08670306e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.08670306e-02 0.00000000e+00 0.00000000e+00 1.08670306e-02 1.08670306e-02 0.00000000e+00 1.08670306e-02 4.34681224e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.08670306e-02 0.00000000e+00 1.08670306e-02 2.17340612e-02 1.08670306e-02 1.08670306e-02 0.00000000e+00 1.08670306e-02 1.08670306e-02 1.08670306e-02 1.08670306e-02 1.08670306e-02 2.17340612e-02 2.17340612e-02 0.00000000e+00 2.17340612e-02 3.26010918e-02 2.17340612e-02 1.08670306e-02 2.17340612e-02 1.08670306e-02 2.17340612e-02 2.17340612e-02 1.08670306e-02 3.26010918e-02 2.17340612e-02 2.17340612e-02 0.00000000e+00 2.17340612e-02 5.43351530e-02 1.08670306e-02 4.34681224e-02 1.08670306e-02 2.17340612e-02 1.08670306e-02 2.17340612e-02 1.08670306e-02 3.26010918e-02 5.43351530e-02 0.00000000e+00 5.43351530e-02 4.34681224e-02 2.17340612e-02 1.08670306e-02 1.08670306e-02 1.08670306e-02 1.08670306e-02 5.43351530e-02 3.26010918e-02 2.17340612e-02 2.17340612e-02 1.08670306e-02 4.34681224e-02 2.17340612e-02 3.26010918e-02 5.43351530e-02 1.08670306e-02 3.26010918e-02 4.34681224e-02 4.34681224e-02 4.34681224e-02 2.17340612e-02 2.17340612e-02 1.08670306e-02 1.08670306e-02 4.34681224e-02 5.43351530e-02 1.08670306e-02 1.08670306e-02 1.08670306e-02 3.26010918e-02 0.00000000e+00 2.17340612e-02 2.17340612e-02 5.43351530e-02 4.34681224e-02 2.17340612e-02 6.52021836e-02 5.43351530e-02 3.26010918e-02 5.43351530e-02 7.60692142e-02 2.17340612e-02 2.17340612e-02 4.34681224e-02 4.34681224e-02 1.08670306e-02 1.08670306e-02 3.26010918e-02 5.43351530e-02 0.00000000e+00 2.17340612e-02 1.08670306e-02 2.17340612e-02 2.17340612e-02 1.08670306e-02 3.26010918e-02 2.17340612e-02 5.43351530e-02 2.17340612e-02 2.17340612e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 1.08670306e-02 4.34681224e-02 0.00000000e+00 2.17340612e-02 9.78032754e-02 2.17340612e-02 2.17340612e-02 4.34681224e-02 4.34681224e-02 3.26010918e-02 4.34681224e-02 1.08670306e-02 4.34681224e-02 2.17340612e-02 3.26010918e-02 2.17340612e-02 4.34681224e-02 2.17340612e-02 5.43351530e-02 2.17340612e-02 3.26010918e-02 1.08670306e-02 4.34681224e-02 4.34681224e-02 4.34681224e-02 6.52021836e-02 8.69362448e-02 2.17340612e-02 2.17340612e-02 2.17340612e-02 4.34681224e-02 2.17340612e-02 3.26010918e-02 4.34681224e-02 2.17340612e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 4.34681224e-02 4.34681224e-02 2.17340612e-02 5.43351530e-02 5.43351530e-02 4.34681224e-02 5.43351530e-02 3.26010918e-02 5.43351530e-02 4.34681224e-02 1.08670306e-02 3.26010918e-02 3.26010918e-02 4.34681224e-02 4.34681224e-02 2.17340612e-02 3.26010918e-02 3.26010918e-02 5.43351530e-02 4.34681224e-02 3.26010918e-02 6.52021836e-02 3.26010918e-02 5.43351530e-02 4.34681224e-02 3.26010918e-02 3.26010918e-02 3.26010918e-02 5.43351530e-02 4.34681224e-02 5.43351530e-02 3.26010918e-02 6.52021836e-02 5.43351530e-02 2.17340612e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 2.17340612e-02 3.26010918e-02 3.26010918e-02 5.43351530e-02 8.69362448e-02 7.60692142e-02 8.69362448e-02 4.34681224e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 4.34681224e-02 1.08670306e-02 5.43351530e-02 6.52021836e-02 2.17340612e-02 9.78032754e-02 8.69362448e-02 3.26010918e-02 1.19537337e-01 7.60692142e-02 3.26010918e-02 5.43351530e-02 4.34681224e-02 4.34681224e-02 9.78032754e-02 4.34681224e-02 5.43351530e-02 5.43351530e-02 6.52021836e-02 3.26010918e-02 3.26010918e-02 7.60692142e-02 4.34681224e-02 8.69362448e-02 2.17340612e-02 8.69362448e-02 2.17340612e-02 5.43351530e-02 8.69362448e-02 6.52021836e-02 2.17340612e-02 4.34681224e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 3.26010918e-02 6.52021836e-02 0.00000000e+00 5.43351530e-02 9.78032754e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 4.34681224e-02 3.26010918e-02 4.34681224e-02 1.08670306e-02 3.26010918e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 8.69362448e-02 3.26010918e-02 6.52021836e-02 3.26010918e-02 3.26010918e-02 5.43351530e-02 5.43351530e-02 3.26010918e-02 2.17340612e-02 4.34681224e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 3.26010918e-02 3.26010918e-02 8.69362448e-02 4.34681224e-02 8.69362448e-02 5.43351530e-02 8.69362448e-02 5.43351530e-02 3.26010918e-02 9.78032754e-02 5.43351530e-02 5.43351530e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 5.43351530e-02 5.43351530e-02 5.43351530e-02 6.52021836e-02 4.34681224e-02 8.69362448e-02 2.17340612e-02 3.26010918e-02 2.17340612e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 6.52021836e-02 6.52021836e-02 9.78032754e-02 3.26010918e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 2.17340612e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 1.08670306e-01 1.08670306e-02 4.34681224e-02 1.19537337e-01 1.30404367e-01 4.34681224e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 7.60692142e-02 3.26010918e-02 4.34681224e-02 5.43351530e-02 4.34681224e-02 5.43351530e-02 8.69362448e-02 7.60692142e-02 5.43351530e-02 3.26010918e-02 5.43351530e-02 1.08670306e-01 5.43351530e-02 5.43351530e-02 1.30404367e-01 4.34681224e-02 9.78032754e-02 5.43351530e-02 5.43351530e-02 4.34681224e-02 9.78032754e-02 7.60692142e-02 4.34681224e-02 8.69362448e-02 5.43351530e-02 3.26010918e-02 5.43351530e-02 3.26010918e-02 0.00000000e+00 3.26010918e-02 4.34681224e-02 4.34681224e-02 3.26010918e-02 4.34681224e-02 8.69362448e-02 4.34681224e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 7.60692142e-02 1.08670306e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 9.78032754e-02 7.60692142e-02 5.43351530e-02 1.19537337e-01 9.78032754e-02 5.43351530e-02 8.69362448e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 7.60692142e-02 4.34681224e-02 3.26010918e-02 0.00000000e+00 2.17340612e-02 5.43351530e-02 6.52021836e-02 8.69362448e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 4.34681224e-02 4.34681224e-02 4.34681224e-02 9.78032754e-02 5.43351530e-02 5.43351530e-02 3.26010918e-02 6.52021836e-02 3.26010918e-02 5.43351530e-02 2.17340612e-02 2.17340612e-02 7.60692142e-02 3.26010918e-02 8.69362448e-02 6.52021836e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 4.34681224e-02 3.26010918e-02 7.60692142e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 4.34681224e-02 9.78032754e-02 4.34681224e-02 4.34681224e-02 4.34681224e-02 4.34681224e-02 5.43351530e-02 2.17340612e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 1.30404367e-01 4.34681224e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 6.52021836e-02 8.69362448e-02 6.52021836e-02 2.17340612e-02 5.43351530e-02 4.34681224e-02 8.69362448e-02 7.60692142e-02 8.69362448e-02 4.34681224e-02 6.52021836e-02 3.26010918e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 1.08670306e-02 3.26010918e-02 4.34681224e-02 7.60692142e-02 9.78032754e-02 5.43351530e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 2.17340612e-02 8.69362448e-02 5.43351530e-02 5.43351530e-02 9.78032754e-02 6.52021836e-02 2.17340612e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 1.08670306e-02 6.52021836e-02 3.26010918e-02 6.52021836e-02 3.26010918e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 4.34681224e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 7.60692142e-02 2.17340612e-02 6.52021836e-02 5.43351530e-02 4.34681224e-02 1.30404367e-01 6.52021836e-02 9.78032754e-02 1.19537337e-01 4.34681224e-02 1.52138428e-01 4.34681224e-02 8.69362448e-02 4.34681224e-02 5.43351530e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 4.34681224e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 3.26010918e-02 1.52138428e-01 5.43351530e-02 7.60692142e-02 1.08670306e-02 5.43351530e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 1.08670306e-01 7.60692142e-02 3.26010918e-02 8.69362448e-02 2.17340612e-02 3.26010918e-02 8.69362448e-02 4.34681224e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 5.43351530e-02 6.52021836e-02 1.19537337e-01 4.34681224e-02 3.26010918e-02 1.08670306e-01 6.52021836e-02 1.08670306e-01 3.26010918e-02 2.17340612e-02 5.43351530e-02 6.52021836e-02 3.26010918e-02 6.52021836e-02 2.17340612e-02 8.69362448e-02 7.60692142e-02 3.26010918e-02 7.60692142e-02 1.08670306e-01 7.60692142e-02 9.78032754e-02 9.78032754e-02 8.69362448e-02 3.26010918e-02 4.34681224e-02 1.30404367e-01 5.43351530e-02 4.34681224e-02 4.34681224e-02 5.43351530e-02 4.34681224e-02 2.17340612e-02 1.08670306e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 7.60692142e-02 1.08670306e-01 2.17340612e-02 1.41271398e-01 8.69362448e-02 1.41271398e-01 9.78032754e-02 6.52021836e-02 5.43351530e-02 8.69362448e-02 1.08670306e-01 8.69362448e-02 8.69362448e-02 5.43351530e-02 8.69362448e-02 1.30404367e-01 7.60692142e-02 6.52021836e-02 1.08670306e-01 6.52021836e-02 6.52021836e-02 6.52021836e-02 9.78032754e-02 7.60692142e-02 6.52021836e-02 1.30404367e-01 5.43351530e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 3.26010918e-02 6.52021836e-02 1.08670306e-01 9.78032754e-02 5.43351530e-02 2.17340612e-02 2.17340612e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 9.78032754e-02 7.60692142e-02 7.60692142e-02 8.69362448e-02 3.26010918e-02 1.08670306e-01 9.78032754e-02 6.52021836e-02 8.69362448e-02 6.52021836e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 9.78032754e-02 1.08670306e-02 1.08670306e-01 8.69362448e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 5.43351530e-02 8.69362448e-02 8.69362448e-02 2.17340612e-02 6.52021836e-02 8.69362448e-02 7.60692142e-02 4.34681224e-02 1.08670306e-02 9.78032754e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 3.26010918e-02 9.78032754e-02 3.26010918e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 3.26010918e-02 5.43351530e-02 8.69362448e-02 5.43351530e-02 3.26010918e-02 1.41271398e-01 8.69362448e-02 8.69362448e-02 6.52021836e-02 4.34681224e-02 8.69362448e-02 3.26010918e-02 7.60692142e-02 4.34681224e-02 4.34681224e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 8.69362448e-02 9.78032754e-02 2.17340612e-02 8.69362448e-02 4.34681224e-02 4.34681224e-02 8.69362448e-02 4.34681224e-02 1.08670306e-02 4.34681224e-02 3.26010918e-02 5.43351530e-02 5.43351530e-02 6.52021836e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 3.26010918e-02 7.60692142e-02 9.78032754e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 1.41271398e-01 7.60692142e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 3.26010918e-02 9.78032754e-02 5.43351530e-02 6.52021836e-02 6.52021836e-02 6.52021836e-02 1.08670306e-01 5.43351530e-02 4.34681224e-02 6.52021836e-02 7.60692142e-02 4.34681224e-02 8.69362448e-02 7.60692142e-02 3.26010918e-02 7.60692142e-02 7.60692142e-02 1.08670306e-01 6.52021836e-02 5.43351530e-02 4.34681224e-02 9.78032754e-02 3.26010918e-02 6.52021836e-02 4.34681224e-02 8.69362448e-02 3.26010918e-02 6.52021836e-02 1.19537337e-01 9.78032754e-02 9.78032754e-02 7.60692142e-02 4.34681224e-02 3.26010918e-02 1.08670306e-01 2.17340612e-02 7.60692142e-02 1.19537337e-01 8.69362448e-02 3.26010918e-02 5.43351530e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 1.08670306e-01 3.26010918e-02 3.26010918e-02 6.52021836e-02 6.52021836e-02 6.52021836e-02 1.19537337e-01 9.78032754e-02 8.69362448e-02 9.78032754e-02 4.34681224e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 8.69362448e-02 1.08670306e-01 5.43351530e-02 1.30404367e-01 5.43351530e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 6.52021836e-02 4.34681224e-02 9.78032754e-02 9.78032754e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 1.19537337e-01 1.08670306e-01 7.60692142e-02 1.08670306e-02 5.43351530e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 7.60692142e-02 3.26010918e-02 7.60692142e-02 1.30404367e-01 4.34681224e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 5.43351530e-02 3.26010918e-02 3.26010918e-02 7.60692142e-02 4.34681224e-02 1.08670306e-01 1.30404367e-01 3.26010918e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 7.60692142e-02 2.17340612e-02 1.63005459e-01 5.43351530e-02 1.08670306e-01 6.52021836e-02 4.34681224e-02 4.34681224e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 6.52021836e-02 3.26010918e-02 1.08670306e-01 7.60692142e-02 1.19537337e-01 6.52021836e-02 1.08670306e-01 5.43351530e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 4.34681224e-02 8.69362448e-02 5.43351530e-02 1.19537337e-01 5.43351530e-02 5.43351530e-02 6.52021836e-02 8.69362448e-02 7.60692142e-02 3.26010918e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 2.17340612e-02 5.43351530e-02 5.43351530e-02 9.78032754e-02 7.60692142e-02 3.26010918e-02 1.08670306e-01 4.34681224e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 4.34681224e-02 1.08670306e-02 1.08670306e-01 7.60692142e-02 2.17340612e-02 9.78032754e-02 6.52021836e-02 7.60692142e-02 1.08670306e-01 7.60692142e-02 6.52021836e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 3.26010918e-02 3.26010918e-02 1.30404367e-01 1.52138428e-01 4.34681224e-02 1.08670306e-01 3.26010918e-02 9.78032754e-02 8.69362448e-02 5.43351530e-02 5.43351530e-02 8.69362448e-02 7.60692142e-02 1.08670306e-01 2.17340612e-02 5.43351530e-02 9.78032754e-02 9.78032754e-02 6.52021836e-02 1.19537337e-01 1.19537337e-01 8.69362448e-02 8.69362448e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 5.43351530e-02 2.17340612e-02 6.52021836e-02 1.30404367e-01 1.52138428e-01 8.69362448e-02 4.34681224e-02 2.17340612e-02 5.43351530e-02 1.08670306e-01 6.52021836e-02 9.78032754e-02 6.52021836e-02 3.26010918e-02 6.52021836e-02 0.00000000e+00 7.60692142e-02 1.08670306e-01 8.69362448e-02 4.34681224e-02 9.78032754e-02 8.69362448e-02 3.26010918e-02 3.26010918e-02 8.69362448e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 8.69362448e-02 3.26010918e-02 4.34681224e-02 7.60692142e-02 1.08670306e-01 5.43351530e-02 6.52021836e-02 1.08670306e-01 0.00000000e+00 3.26010918e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 3.26010918e-02 6.52021836e-02 1.08670306e-01 1.19537337e-01 6.52021836e-02 6.52021836e-02 5.43351530e-02 9.78032754e-02 1.08670306e-01 1.19537337e-01 5.43351530e-02 9.78032754e-02 7.60692142e-02 6.52021836e-02 1.19537337e-01 8.69362448e-02 4.34681224e-02 5.43351530e-02 5.43351530e-02 3.26010918e-02 6.52021836e-02 7.60692142e-02 6.52021836e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 3.26010918e-02 2.17340612e-02 5.43351530e-02 2.17340612e-02 6.52021836e-02 8.69362448e-02 1.19537337e-01 4.34681224e-02 6.52021836e-02 5.43351530e-02 4.34681224e-02 1.08670306e-01 6.52021836e-02 9.78032754e-02 5.43351530e-02 9.78032754e-02 7.60692142e-02 0.00000000e+00 7.60692142e-02 7.60692142e-02 3.26010918e-02 4.34681224e-02 1.30404367e-01 5.43351530e-02 3.26010918e-02 3.26010918e-02 5.43351530e-02 2.17340612e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 9.78032754e-02 7.60692142e-02 7.60692142e-02 2.17340612e-02 8.69362448e-02 7.60692142e-02 8.69362448e-02 3.26010918e-02 1.19537337e-01 3.26010918e-02 3.26010918e-02 4.34681224e-02 1.52138428e-01 7.60692142e-02 3.26010918e-02 4.34681224e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 3.26010918e-02 7.60692142e-02 5.43351530e-02 2.17340612e-02 8.69362448e-02 6.52021836e-02 6.52021836e-02 1.19537337e-01 6.52021836e-02 7.60692142e-02 5.43351530e-02 6.52021836e-02 2.17340612e-02 6.52021836e-02 8.69362448e-02 7.60692142e-02 5.43351530e-02 3.26010918e-02 6.52021836e-02 6.52021836e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 4.34681224e-02 6.52021836e-02 2.17340612e-02 4.34681224e-02 5.43351530e-02 9.78032754e-02 2.17340612e-02 1.30404367e-01 9.78032754e-02 8.69362448e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 1.08670306e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 6.52021836e-02 4.34681224e-02 6.52021836e-02 3.26010918e-02 5.43351530e-02 7.60692142e-02 7.60692142e-02 1.41271398e-01 8.69362448e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 9.78032754e-02 7.60692142e-02 1.52138428e-01 7.60692142e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 3.26010918e-02 4.34681224e-02 8.69362448e-02 5.43351530e-02 3.26010918e-02 5.43351530e-02 7.60692142e-02 1.41271398e-01 5.43351530e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 4.34681224e-02 6.52021836e-02 7.60692142e-02 7.60692142e-02 8.69362448e-02 9.78032754e-02 2.17340612e-02 1.41271398e-01 7.60692142e-02 6.52021836e-02 2.17340612e-02 5.43351530e-02 8.69362448e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 1.41271398e-01 7.60692142e-02 1.41271398e-01 7.60692142e-02 9.78032754e-02 6.52021836e-02 8.69362448e-02 5.43351530e-02 5.43351530e-02 8.69362448e-02 1.08670306e-01 8.69362448e-02 9.78032754e-02 9.78032754e-02 7.60692142e-02 4.34681224e-02 9.78032754e-02 1.08670306e-01 1.08670306e-02 9.78032754e-02 9.78032754e-02 8.69362448e-02 9.78032754e-02 8.69362448e-02 5.43351530e-02 1.19537337e-01 6.52021836e-02 1.08670306e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 1.30404367e-01 7.60692142e-02 1.30404367e-01 5.43351530e-02 8.69362448e-02 4.34681224e-02 4.34681224e-02 1.08670306e-02 6.52021836e-02 3.26010918e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 7.60692142e-02 4.34681224e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 8.69362448e-02 4.34681224e-02 9.78032754e-02 8.69362448e-02 1.19537337e-01 7.60692142e-02 9.78032754e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 4.34681224e-02 1.08670306e-01 6.52021836e-02 8.69362448e-02 7.60692142e-02 4.34681224e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 2.17340612e-02 1.41271398e-01 6.52021836e-02 3.26010918e-02 4.34681224e-02 3.26010918e-02 6.52021836e-02 8.69362448e-02 3.26010918e-02 8.69362448e-02 5.43351530e-02 9.78032754e-02 8.69362448e-02 5.43351530e-02 3.26010918e-02 4.34681224e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 1.08670306e-01 1.19537337e-01 4.34681224e-02 9.78032754e-02 3.26010918e-02 7.60692142e-02 3.26010918e-02 3.26010918e-02 4.34681224e-02 3.26010918e-02 3.26010918e-02 8.69362448e-02 5.43351530e-02 1.08670306e-01 6.52021836e-02 1.08670306e-01 8.69362448e-02 1.30404367e-01 1.19537337e-01 5.43351530e-02 9.78032754e-02 9.78032754e-02 3.26010918e-02 9.78032754e-02 4.34681224e-02 5.43351530e-02 1.19537337e-01 7.60692142e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 9.78032754e-02 4.34681224e-02 5.43351530e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 9.78032754e-02 1.19537337e-01 7.60692142e-02 5.43351530e-02 8.69362448e-02 6.52021836e-02 6.52021836e-02 6.52021836e-02 1.08670306e-01 9.78032754e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 9.78032754e-02 8.69362448e-02 4.34681224e-02 5.43351530e-02 1.08670306e-01 5.43351530e-02 5.43351530e-02 6.52021836e-02 8.69362448e-02 6.52021836e-02 3.26010918e-02 3.26010918e-02 5.43351530e-02 3.26010918e-02 9.78032754e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 7.60692142e-02 5.43351530e-02 7.60692142e-02 3.26010918e-02 4.34681224e-02 4.34681224e-02 4.34681224e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 4.34681224e-02 6.52021836e-02 2.17340612e-02 8.69362448e-02 7.60692142e-02 4.34681224e-02 8.69362448e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 4.34681224e-02 8.69362448e-02 2.17340612e-02 4.34681224e-02 9.78032754e-02 5.43351530e-02 6.52021836e-02 1.08670306e-01 1.19537337e-01 8.69362448e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 3.26010918e-02 8.69362448e-02 1.08670306e-02 4.34681224e-02 2.17340612e-02 6.52021836e-02 2.17340612e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 0.00000000e+00 8.69362448e-02 9.78032754e-02 8.69362448e-02 3.26010918e-02 3.26010918e-02 1.19537337e-01 5.43351530e-02 9.78032754e-02 1.30404367e-01 9.78032754e-02 1.30404367e-01 1.08670306e-01 4.34681224e-02 8.69362448e-02 6.52021836e-02 4.34681224e-02 1.19537337e-01 8.69362448e-02 7.60692142e-02 9.78032754e-02 6.52021836e-02 5.43351530e-02 9.78032754e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 2.17340612e-02 1.30404367e-01 5.43351530e-02 9.78032754e-02 7.60692142e-02 6.52021836e-02 3.26010918e-02 9.78032754e-02 7.60692142e-02 3.26010918e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 3.26010918e-02 1.30404367e-01 5.43351530e-02 6.52021836e-02 5.43351530e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 1.19537337e-01 7.60692142e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 5.43351530e-02 8.69362448e-02 1.19537337e-01 8.69362448e-02 7.60692142e-02 6.52021836e-02 4.34681224e-02 8.69362448e-02 1.19537337e-01 8.69362448e-02 9.78032754e-02 5.43351530e-02 4.34681224e-02 1.08670306e-01 5.43351530e-02 1.41271398e-01 1.19537337e-01 4.34681224e-02 8.69362448e-02 4.34681224e-02 2.17340612e-02 9.78032754e-02 3.26010918e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 5.43351530e-02 4.34681224e-02 9.78032754e-02 1.30404367e-01 8.69362448e-02 5.43351530e-02 5.43351530e-02 8.69362448e-02 7.60692142e-02 6.52021836e-02 5.43351530e-02 1.08670306e-02 6.52021836e-02 8.69362448e-02 8.69362448e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 3.26010918e-02 6.52021836e-02 3.26010918e-02 3.26010918e-02 7.60692142e-02 5.43351530e-02 8.69362448e-02 3.26010918e-02 1.08670306e-02 6.52021836e-02 8.69362448e-02 5.43351530e-02 9.78032754e-02 4.34681224e-02 5.43351530e-02 7.60692142e-02 1.08670306e-02 3.26010918e-02 3.26010918e-02 6.52021836e-02 7.60692142e-02 1.30404367e-01 5.43351530e-02 6.52021836e-02 1.30404367e-01 0.00000000e+00 4.34681224e-02 6.52021836e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 4.34681224e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 1.30404367e-01 7.60692142e-02 6.52021836e-02 1.08670306e-01 4.34681224e-02 7.60692142e-02 5.43351530e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 4.34681224e-02 7.60692142e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 5.43351530e-02 4.34681224e-02 1.19537337e-01 3.26010918e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 2.17340612e-02 1.19537337e-01 5.43351530e-02 6.52021836e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 4.34681224e-02 1.08670306e-01 1.41271398e-01 5.43351530e-02 5.43351530e-02 7.60692142e-02 1.08670306e-01 5.43351530e-02 9.78032754e-02 9.78032754e-02 8.69362448e-02 4.34681224e-02 1.19537337e-01 1.19537337e-01 7.60692142e-02 8.69362448e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 4.34681224e-02 3.26010918e-02 8.69362448e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 1.08670306e-01 3.26010918e-02 2.17340612e-02 3.26010918e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 5.43351530e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 1.08670306e-01 6.52021836e-02 3.26010918e-02 1.30404367e-01 9.78032754e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 5.43351530e-02 9.78032754e-02 7.60692142e-02 6.52021836e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 1.19537337e-01 4.34681224e-02 7.60692142e-02 9.78032754e-02 4.34681224e-02 9.78032754e-02 9.78032754e-02 7.60692142e-02 8.69362448e-02 1.19537337e-01 8.69362448e-02 9.78032754e-02 1.52138428e-01 7.60692142e-02 7.60692142e-02 8.69362448e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 4.34681224e-02 7.60692142e-02 3.26010918e-02 4.34681224e-02 6.52021836e-02 6.52021836e-02 5.43351530e-02 1.08670306e-01 7.60692142e-02 9.78032754e-02 4.34681224e-02 1.08670306e-01 3.26010918e-02 3.26010918e-02 1.08670306e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 3.26010918e-02 1.08670306e-01 7.60692142e-02 6.52021836e-02 9.78032754e-02 4.34681224e-02 9.78032754e-02 9.78032754e-02 2.17340612e-02 4.34681224e-02 6.52021836e-02 8.69362448e-02 8.69362448e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 8.69362448e-02 7.60692142e-02 5.43351530e-02 7.60692142e-02 1.19537337e-01 6.52021836e-02 6.52021836e-02 6.52021836e-02 8.69362448e-02 5.43351530e-02 1.19537337e-01 4.34681224e-02 5.43351530e-02 8.69362448e-02 7.60692142e-02 6.52021836e-02 4.34681224e-02 6.52021836e-02 5.43351530e-02 8.69362448e-02 8.69362448e-02 3.26010918e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 2.17340612e-02 6.52021836e-02 3.26010918e-02 1.08670306e-02 1.08670306e-01 8.69362448e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 5.43351530e-02 3.26010918e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 3.26010918e-02 5.43351530e-02 3.26010918e-02 1.19537337e-01 4.34681224e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 6.52021836e-02 1.30404367e-01 7.60692142e-02 5.43351530e-02 3.26010918e-02 4.34681224e-02 6.52021836e-02 3.26010918e-02 4.34681224e-02 1.30404367e-01 6.52021836e-02 1.30404367e-01 5.43351530e-02 4.34681224e-02 5.43351530e-02 2.17340612e-02 4.34681224e-02 9.78032754e-02 7.60692142e-02 9.78032754e-02 8.69362448e-02 1.08670306e-01 9.78032754e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 1.41271398e-01 9.78032754e-02 9.78032754e-02 1.08670306e-01 7.60692142e-02 5.43351530e-02 1.08670306e-01 6.52021836e-02 5.43351530e-02 1.08670306e-01 1.19537337e-01 1.08670306e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 4.34681224e-02 8.69362448e-02 1.63005459e-01 5.43351530e-02 1.08670306e-02 9.78032754e-02 1.08670306e-01 6.52021836e-02 2.17340612e-02 7.60692142e-02 1.08670306e-01 3.26010918e-02 5.43351530e-02 8.69362448e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 9.78032754e-02 7.60692142e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 2.17340612e-02 8.69362448e-02 1.08670306e-01 4.34681224e-02 4.34681224e-02 6.52021836e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 1.08670306e-01 5.43351530e-02 7.60692142e-02 9.78032754e-02 2.17340612e-02 6.52021836e-02 1.08670306e-01 4.34681224e-02 5.43351530e-02 9.78032754e-02 6.52021836e-02 6.52021836e-02 4.34681224e-02 1.08670306e-01 9.78032754e-02 5.43351530e-02 9.78032754e-02 7.60692142e-02 6.52021836e-02 6.52021836e-02 8.69362448e-02 3.26010918e-02 5.43351530e-02 2.17340612e-02 4.34681224e-02 4.34681224e-02 6.52021836e-02 1.08670306e-02 6.52021836e-02 4.34681224e-02 2.17340612e-02 8.69362448e-02 4.34681224e-02 1.30404367e-01 1.41271398e-01 9.78032754e-02 1.41271398e-01 5.43351530e-02 7.60692142e-02 1.19537337e-01 6.52021836e-02 1.08670306e-01 3.26010918e-02 7.60692142e-02 1.08670306e-01 6.52021836e-02 6.52021836e-02 6.52021836e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 3.26010918e-02 7.60692142e-02 3.26010918e-02 4.34681224e-02 5.43351530e-02 8.69362448e-02 5.43351530e-02 3.26010918e-02 9.78032754e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 8.69362448e-02 4.34681224e-02 5.43351530e-02 1.41271398e-01 5.43351530e-02 6.52021836e-02 1.08670306e-01 1.08670306e-01 8.69362448e-02 1.08670306e-01 3.26010918e-02 8.69362448e-02 1.08670306e-01 2.17340612e-02 7.60692142e-02 5.43351530e-02 9.78032754e-02 1.52138428e-01 8.69362448e-02 9.78032754e-02 7.60692142e-02 1.30404367e-01 5.43351530e-02 8.69362448e-02 1.19537337e-01 8.69362448e-02 8.69362448e-02 8.69362448e-02 4.34681224e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 5.43351530e-02 2.17340612e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 1.08670306e-01 6.52021836e-02 8.69362448e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 1.41271398e-01 9.78032754e-02 4.34681224e-02 3.26010918e-02 8.69362448e-02 5.43351530e-02 7.60692142e-02 1.30404367e-01 2.17340612e-02 7.60692142e-02 9.78032754e-02 6.52021836e-02 7.60692142e-02 7.60692142e-02 9.78032754e-02 6.52021836e-02 5.43351530e-02 9.78032754e-02 9.78032754e-02 5.43351530e-02 1.08670306e-01 6.52021836e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 6.52021836e-02 1.08670306e-01 5.43351530e-02 1.19537337e-01 9.78032754e-02 7.60692142e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 1.08670306e-01 1.19537337e-01 8.69362448e-02 9.78032754e-02 6.52021836e-02 6.52021836e-02 1.52138428e-01 6.52021836e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 9.78032754e-02 5.43351530e-02 2.17340612e-02 4.34681224e-02 4.34681224e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 9.78032754e-02 5.43351530e-02 5.43351530e-02 8.69362448e-02 1.08670306e-01 7.60692142e-02 4.34681224e-02 9.78032754e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 7.60692142e-02 3.26010918e-02 5.43351530e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 1.41271398e-01 2.17340612e-02 8.69362448e-02 4.34681224e-02 3.26010918e-02 7.60692142e-02 5.43351530e-02 3.26010918e-02 1.08670306e-01 7.60692142e-02 4.34681224e-02 7.60692142e-02 8.69362448e-02 4.34681224e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 6.52021836e-02 5.43351530e-02 3.26010918e-02 2.17340612e-02 7.60692142e-02 3.26010918e-02 1.08670306e-02 6.52021836e-02 2.17340612e-02 1.30404367e-01 1.30404367e-01 8.69362448e-02 8.69362448e-02 6.52021836e-02 6.52021836e-02 3.26010918e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 7.60692142e-02 7.60692142e-02 3.26010918e-02 4.34681224e-02 3.26010918e-02 4.34681224e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 5.43351530e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 7.60692142e-02 1.08670306e-01 4.34681224e-02 7.60692142e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 1.30404367e-01 4.34681224e-02 7.60692142e-02 1.08670306e-01 5.43351530e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 5.43351530e-02 9.78032754e-02 1.30404367e-01 8.69362448e-02 7.60692142e-02 5.43351530e-02 3.26010918e-02 3.26010918e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 1.08670306e-01 1.08670306e-02 7.60692142e-02 7.60692142e-02 4.34681224e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 4.34681224e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 5.43351530e-02 0.00000000e+00 9.78032754e-02 2.17340612e-02 5.43351530e-02 1.19537337e-01 8.69362448e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 5.43351530e-02 4.34681224e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 1.52138428e-01 8.69362448e-02 1.08670306e-01 5.43351530e-02 7.60692142e-02 7.60692142e-02 8.69362448e-02 7.60692142e-02 5.43351530e-02 1.30404367e-01 2.17340612e-02 1.08670306e-01 3.26010918e-02 1.08670306e-01 1.41271398e-01 1.52138428e-01 1.08670306e-01 9.78032754e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 3.26010918e-02 9.78032754e-02 4.34681224e-02 6.52021836e-02 4.34681224e-02 8.69362448e-02 1.30404367e-01 4.34681224e-02 9.78032754e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 2.17340612e-02 5.43351530e-02 9.78032754e-02 6.52021836e-02 3.26010918e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 8.69362448e-02 5.43351530e-02 7.60692142e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 8.69362448e-02 3.26010918e-02 7.60692142e-02 6.52021836e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 2.17340612e-02 2.17340612e-02 6.52021836e-02 4.34681224e-02 1.08670306e-01 8.69362448e-02 9.78032754e-02 4.34681224e-02 5.43351530e-02 1.08670306e-01 1.08670306e-01 5.43351530e-02 1.08670306e-01 8.69362448e-02 1.30404367e-01 1.08670306e-01 7.60692142e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 9.78032754e-02 9.78032754e-02 9.78032754e-02 6.52021836e-02 8.69362448e-02 4.34681224e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 1.08670306e-01 7.60692142e-02 3.26010918e-02 6.52021836e-02 4.34681224e-02 4.34681224e-02 1.19537337e-01 6.52021836e-02 5.43351530e-02 5.43351530e-02 9.78032754e-02 6.52021836e-02 5.43351530e-02 8.69362448e-02 7.60692142e-02 6.52021836e-02 8.69362448e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 6.52021836e-02 5.43351530e-02 9.78032754e-02 1.30404367e-01 7.60692142e-02 8.69362448e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 1.19537337e-01 9.78032754e-02 9.78032754e-02 5.43351530e-02 1.19537337e-01 5.43351530e-02 9.78032754e-02 5.43351530e-02 3.26010918e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 1.19537337e-01 6.52021836e-02 9.78032754e-02 6.52021836e-02 4.34681224e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 8.69362448e-02 8.69362448e-02 2.17340612e-02 2.17340612e-02 6.52021836e-02 6.52021836e-02 5.43351530e-02 8.69362448e-02 9.78032754e-02 3.26010918e-02 9.78032754e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 3.26010918e-02 4.34681224e-02 5.43351530e-02 8.69362448e-02 5.43351530e-02 2.17340612e-02 1.19537337e-01 6.52021836e-02 1.19537337e-01 4.34681224e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 8.69362448e-02 2.17340612e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 9.78032754e-02 4.34681224e-02 5.43351530e-02 7.60692142e-02 5.43351530e-02 1.19537337e-01 3.26010918e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 4.34681224e-02 1.08670306e-01 5.43351530e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 3.26010918e-02 9.78032754e-02 7.60692142e-02 4.34681224e-02 7.60692142e-02 3.26010918e-02 6.52021836e-02 8.69362448e-02 8.69362448e-02 4.34681224e-02 4.34681224e-02 1.19537337e-01 5.43351530e-02 8.69362448e-02 5.43351530e-02 9.78032754e-02 7.60692142e-02 1.41271398e-01 5.43351530e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 1.19537337e-01 9.78032754e-02 8.69362448e-02 3.26010918e-02 1.08670306e-01 5.43351530e-02 5.43351530e-02 8.69362448e-02 6.52021836e-02 1.41271398e-01 1.08670306e-01 8.69362448e-02 9.78032754e-02 9.78032754e-02 8.69362448e-02 5.43351530e-02 1.19537337e-01 7.60692142e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 8.69362448e-02 5.43351530e-02 4.34681224e-02 8.69362448e-02 4.34681224e-02 9.78032754e-02 1.08670306e-01 7.60692142e-02 8.69362448e-02 5.43351530e-02 4.34681224e-02 9.78032754e-02 1.30404367e-01 9.78032754e-02 1.19537337e-01 5.43351530e-02 7.60692142e-02 4.34681224e-02 1.08670306e-01 5.43351530e-02 8.69362448e-02 9.78032754e-02 5.43351530e-02 5.43351530e-02 8.69362448e-02 5.43351530e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 1.08670306e-01 5.43351530e-02 1.19537337e-01 7.60692142e-02 1.19537337e-01 4.34681224e-02 3.26010918e-02 3.26010918e-02 9.78032754e-02 1.19537337e-01 3.26010918e-02 7.60692142e-02 4.34681224e-02 1.19537337e-01 7.60692142e-02 9.78032754e-02 9.78032754e-02 5.43351530e-02 1.19537337e-01 7.60692142e-02 1.08670306e-01 3.26010918e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 2.17340612e-02 1.08670306e-01 1.19537337e-01 3.26010918e-02 6.52021836e-02 1.30404367e-01 8.69362448e-02 1.30404367e-01 7.60692142e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 3.26010918e-02 7.60692142e-02 5.43351530e-02 9.78032754e-02 6.52021836e-02 6.52021836e-02 4.34681224e-02 1.08670306e-01 1.08670306e-01 4.34681224e-02 5.43351530e-02 1.08670306e-02 1.08670306e-01 1.19537337e-01 5.43351530e-02 7.60692142e-02 8.69362448e-02 3.26010918e-02 4.34681224e-02 5.43351530e-02 6.52021836e-02 6.52021836e-02 4.34681224e-02 7.60692142e-02 1.08670306e-01 4.34681224e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 4.34681224e-02 1.41271398e-01 9.78032754e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 4.34681224e-02 9.78032754e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 6.52021836e-02 6.52021836e-02 4.34681224e-02 1.19537337e-01 1.08670306e-01 7.60692142e-02 7.60692142e-02 5.43351530e-02 1.08670306e-01 9.78032754e-02 1.19537337e-01 1.08670306e-01 7.60692142e-02 6.52021836e-02 6.52021836e-02 1.08670306e-01 8.69362448e-02 1.19537337e-01 4.34681224e-02 8.69362448e-02 9.78032754e-02 4.34681224e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 9.78032754e-02 1.19537337e-01 3.26010918e-02 6.52021836e-02 1.19537337e-01 9.78032754e-02 7.60692142e-02 5.43351530e-02 8.69362448e-02 1.08670306e-01 5.43351530e-02 1.08670306e-01 6.52021836e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 1.19537337e-01 4.34681224e-02 8.69362448e-02 5.43351530e-02 3.26010918e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 7.60692142e-02 8.69362448e-02 1.63005459e-01 1.52138428e-01 5.43351530e-02 8.69362448e-02 9.78032754e-02 5.43351530e-02 3.26010918e-02 6.52021836e-02 9.78032754e-02 5.43351530e-02 4.34681224e-02 1.08670306e-01 7.60692142e-02 8.69362448e-02 8.69362448e-02 5.43351530e-02 8.69362448e-02 8.69362448e-02 1.08670306e-01 7.60692142e-02 3.26010918e-02 9.78032754e-02 5.43351530e-02 1.08670306e-01 5.43351530e-02 5.43351530e-02 1.08670306e-01 1.52138428e-01 4.34681224e-02 8.69362448e-02 5.43351530e-02 5.43351530e-02 8.69362448e-02 3.26010918e-02 8.69362448e-02 1.08670306e-01 7.60692142e-02 5.43351530e-02 1.08670306e-01 7.60692142e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 9.78032754e-02 9.78032754e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 3.26010918e-02 1.08670306e-01 5.43351530e-02 9.78032754e-02 1.08670306e-01 1.41271398e-01 3.26010918e-02 8.69362448e-02 8.69362448e-02 9.78032754e-02 7.60692142e-02 1.19537337e-01 1.52138428e-01 5.43351530e-02 8.69362448e-02 1.08670306e-01 3.26010918e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 1.08670306e-01 8.69362448e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 1.19537337e-01 3.26010918e-02 6.52021836e-02 4.34681224e-02 9.78032754e-02 4.34681224e-02 9.78032754e-02 5.43351530e-02 3.26010918e-02 7.60692142e-02 1.41271398e-01 7.60692142e-02 7.60692142e-02 5.43351530e-02 9.78032754e-02 7.60692142e-02 4.34681224e-02 9.78032754e-02 1.08670306e-02 3.26010918e-02 9.78032754e-02 7.60692142e-02 4.34681224e-02 4.34681224e-02 9.78032754e-02 1.30404367e-01 1.19537337e-01 7.60692142e-02 3.26010918e-02 9.78032754e-02 8.69362448e-02 3.26010918e-02 4.34681224e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 9.78032754e-02 8.69362448e-02 1.30404367e-01 5.43351530e-02 1.08670306e-01 4.34681224e-02 8.69362448e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 1.19537337e-01 1.30404367e-01 4.34681224e-02 1.30404367e-01 7.60692142e-02 5.43351530e-02 4.34681224e-02 6.52021836e-02 8.69362448e-02 5.43351530e-02 4.34681224e-02 7.60692142e-02 5.43351530e-02 1.08670306e-01 7.60692142e-02 4.34681224e-02 8.69362448e-02 9.78032754e-02 7.60692142e-02 8.69362448e-02 7.60692142e-02 7.60692142e-02 1.19537337e-01 1.30404367e-01 7.60692142e-02 8.69362448e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 1.08670306e-01 3.26010918e-02 8.69362448e-02 6.52021836e-02 3.26010918e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 1.19537337e-01 3.26010918e-02 7.60692142e-02 2.17340612e-02 1.08670306e-01 7.60692142e-02 1.08670306e-02 5.43351530e-02 4.34681224e-02 1.08670306e-01 1.08670306e-01 7.60692142e-02 7.60692142e-02 8.69362448e-02 4.34681224e-02 1.19537337e-01 8.69362448e-02 5.43351530e-02 1.30404367e-01 1.19537337e-01 6.52021836e-02 6.52021836e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 7.60692142e-02 1.41271398e-01 9.78032754e-02 3.26010918e-02 4.34681224e-02 7.60692142e-02 1.19537337e-01 1.52138428e-01 5.43351530e-02 1.08670306e-01 1.08670306e-01 8.69362448e-02 9.78032754e-02 5.43351530e-02 3.26010918e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 3.26010918e-02 8.69362448e-02 5.43351530e-02 4.34681224e-02 3.26010918e-02 7.60692142e-02 1.08670306e-01 8.69362448e-02 6.52021836e-02 6.52021836e-02 9.78032754e-02 1.08670306e-01 6.52021836e-02 8.69362448e-02 6.52021836e-02 1.19537337e-01 1.08670306e-01 9.78032754e-02 1.19537337e-01 4.34681224e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 1.19537337e-01 4.34681224e-02 4.34681224e-02 1.08670306e-01 4.34681224e-02 1.30404367e-01 9.78032754e-02 1.08670306e-01 1.30404367e-01 1.08670306e-01 9.78032754e-02 8.69362448e-02 4.34681224e-02 5.43351530e-02 1.08670306e-01 1.08670306e-01 1.08670306e-01 1.08670306e-01 5.43351530e-02 1.30404367e-01 1.08670306e-01 4.34681224e-02 4.34681224e-02 9.78032754e-02 3.26010918e-02 1.19537337e-01 6.52021836e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 9.78032754e-02 1.08670306e-01 9.78032754e-02 1.19537337e-01 3.26010918e-02 7.60692142e-02 1.08670306e-01 6.52021836e-02 5.43351530e-02 1.19537337e-01 7.60692142e-02 8.69362448e-02 1.19537337e-01 7.60692142e-02 1.41271398e-01 5.43351530e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 5.43351530e-02 1.63005459e-01 1.19537337e-01 7.60692142e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 9.78032754e-02 7.60692142e-02 9.78032754e-02 5.43351530e-02 4.34681224e-02 5.43351530e-02 4.34681224e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 5.43351530e-02 4.34681224e-02 5.43351530e-02 1.30404367e-01 9.78032754e-02 6.52021836e-02 4.34681224e-02 3.26010918e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 6.52021836e-02 6.52021836e-02 1.08670306e-01 5.43351530e-02 9.78032754e-02 7.60692142e-02 4.34681224e-02 2.17340612e-02 8.69362448e-02 5.43351530e-02 8.69362448e-02 1.30404367e-01 1.08670306e-01 4.34681224e-02 7.60692142e-02 5.43351530e-02 2.17340612e-02 1.19537337e-01 7.60692142e-02 1.19537337e-01 8.69362448e-02 8.69362448e-02 1.52138428e-01 1.41271398e-01 7.60692142e-02 7.60692142e-02 1.19537337e-01 5.43351530e-02 3.26010918e-02 1.08670306e-01 2.82542796e-01 5.43351530e-02 1.08670306e-01 9.78032754e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 1.08670306e-01 5.43351530e-02 6.52021836e-02 4.34681224e-02 6.52021836e-02 6.52021836e-02 3.26010918e-02 8.69362448e-02 3.26010918e-02 1.08670306e-01 5.43351530e-02 6.52021836e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 3.26010918e-02 5.43351530e-02 4.34681224e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 1.19537337e-01 4.34681224e-02 9.78032754e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 1.08670306e-01 8.69362448e-02 9.78032754e-02 6.52021836e-02 8.69362448e-02 4.34681224e-02 3.26010918e-02 1.19537337e-01 5.43351530e-02 8.69362448e-02 1.30404367e-01 5.43351530e-02 1.08670306e-01 3.26010918e-02 1.30404367e-01 5.43351530e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 3.26010918e-02 5.43351530e-02 9.78032754e-02 1.30404367e-01 6.52021836e-02 4.34681224e-02 6.52021836e-02 4.34681224e-02 2.17340612e-02 6.52021836e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 1.08670306e-01 8.69362448e-02 8.69362448e-02 6.52021836e-02 6.52021836e-02 3.26010918e-02 2.17340612e-02 4.34681224e-02 7.60692142e-02 1.08670306e-01 1.30404367e-01 7.60692142e-02 1.52138428e-01 8.69362448e-02 6.52021836e-02 1.41271398e-01 3.26010918e-02 1.52138428e-01 1.63005459e-01 3.26010918e-02 1.08670306e-01 2.17340612e-02 7.60692142e-02 7.60692142e-02 1.08670306e-01 5.43351530e-02 6.52021836e-02 1.08670306e-01 8.69362448e-02 4.34681224e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 7.60692142e-02 1.08670306e-01 6.52021836e-02 7.60692142e-02 1.95606551e-01 5.43351530e-02 1.19537337e-01 6.52021836e-02 7.60692142e-02 1.08670306e-01 5.43351530e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 1.19537337e-01 1.19537337e-01 5.43351530e-02 4.34681224e-02 8.69362448e-02 2.17340612e-02 7.60692142e-02 6.52021836e-02 4.34681224e-02 3.26010918e-02 1.41271398e-01 7.60692142e-02 7.60692142e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 4.34681224e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 3.26010918e-02 8.69362448e-02 1.08670306e-01 4.34681224e-02 1.08670306e-01 9.78032754e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 8.69362448e-02 7.60692142e-02 7.60692142e-02 4.34681224e-02 7.60692142e-02 5.43351530e-02 9.78032754e-02 5.43351530e-02 4.34681224e-02 7.60692142e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 6.52021836e-02 8.69362448e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 6.52021836e-02 8.69362448e-02 4.34681224e-02 8.69362448e-02 6.52021836e-02 5.43351530e-02 1.08670306e-01 8.69362448e-02 6.52021836e-02 9.78032754e-02 3.26010918e-02 6.52021836e-02 5.43351530e-02 3.26010918e-02 3.26010918e-02 4.34681224e-02 6.52021836e-02 5.43351530e-02 5.43351530e-02 9.78032754e-02 5.43351530e-02 4.34681224e-02 1.08670306e-01 7.60692142e-02 5.43351530e-02 5.43351530e-02 9.78032754e-02 9.78032754e-02 6.52021836e-02 8.69362448e-02 4.34681224e-02 5.43351530e-02 8.69362448e-02 3.26010918e-02 5.43351530e-02 1.08670306e-01 7.60692142e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 5.43351530e-02 1.08670306e-01 6.52021836e-02 8.69362448e-02 9.78032754e-02 5.43351530e-02 9.78032754e-02 6.52021836e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 4.34681224e-02 1.08670306e-01 5.43351530e-02 1.08670306e-01 5.43351530e-02 5.43351530e-02 1.08670306e-01 8.69362448e-02 3.26010918e-02 5.43351530e-02 1.19537337e-01 5.43351530e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 3.26010918e-02 5.43351530e-02 8.69362448e-02 1.19537337e-01 4.34681224e-02 8.69362448e-02 8.69362448e-02 1.08670306e-01 1.08670306e-01 7.60692142e-02 9.78032754e-02 5.43351530e-02 4.34681224e-02 8.69362448e-02 6.52021836e-02 1.08670306e-01 5.43351530e-02 5.43351530e-02 8.69362448e-02 5.43351530e-02 1.52138428e-01 6.52021836e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 1.19537337e-01 1.41271398e-01 8.69362448e-02 4.34681224e-02 7.60692142e-02 9.78032754e-02 9.78032754e-02 3.26010918e-02 6.52021836e-02 1.19537337e-01 1.30404367e-01 6.52021836e-02 1.08670306e-01 9.78032754e-02 4.34681224e-02 8.69362448e-02 1.08670306e-01 9.78032754e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 4.34681224e-02 8.69362448e-02 9.78032754e-02 4.34681224e-02 1.08670306e-01 3.26010918e-02 7.60692142e-02 7.60692142e-02 1.41271398e-01 6.52021836e-02 5.43351530e-02 6.52021836e-02 4.34681224e-02 5.43351530e-02 7.60692142e-02 4.34681224e-02 5.43351530e-02 7.60692142e-02 7.60692142e-02 6.52021836e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 5.43351530e-02 1.19537337e-01 6.52021836e-02 4.34681224e-02 6.52021836e-02 5.43351530e-02 9.78032754e-02 4.34681224e-02 1.08670306e-01 3.26010918e-02 7.60692142e-02 6.52021836e-02 4.34681224e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 9.78032754e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 9.78032754e-02 7.60692142e-02 1.41271398e-01 9.78032754e-02 9.78032754e-02 3.26010918e-02 1.08670306e-01 6.52021836e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 1.08670306e-01 6.52021836e-02 3.26010918e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 2.17340612e-02 7.60692142e-02 3.26010918e-02 4.34681224e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 1.08670306e-01 1.19537337e-01 5.43351530e-02 5.43351530e-02 4.34681224e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 8.69362448e-02 7.60692142e-02 6.52021836e-02 4.34681224e-02 3.26010918e-02 9.78032754e-02 8.69362448e-02 5.43351530e-02 5.43351530e-02 8.69362448e-02 2.17340612e-02 5.43351530e-02 8.69362448e-02 1.08670306e-01 5.43351530e-02 1.63005459e-01 9.78032754e-02 8.69362448e-02 9.78032754e-02 8.69362448e-02 8.69362448e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 8.69362448e-02 1.08670306e-01 3.26010918e-02 9.78032754e-02 3.26010918e-02 8.69362448e-02 4.34681224e-02 9.78032754e-02 6.52021836e-02 7.60692142e-02 8.69362448e-02 1.19537337e-01 2.17340612e-02 8.69362448e-02 1.19537337e-01 1.08670306e-01 2.17340612e-02 9.78032754e-02 3.26010918e-02 8.69362448e-02 8.69362448e-02 3.26010918e-02 7.60692142e-02 1.19537337e-01 2.17340612e-02 9.78032754e-02 6.52021836e-02 1.08670306e-01 3.26010918e-02 5.43351530e-02 8.69362448e-02 1.30404367e-01 1.19537337e-01 1.19537337e-01 4.34681224e-02 6.52021836e-02 8.69362448e-02 7.60692142e-02 3.26010918e-02 1.19537337e-01 5.43351530e-02 9.78032754e-02 2.17340612e-02 8.69362448e-02 1.08670306e-01 8.69362448e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 1.08670306e-02 1.19537337e-01 7.60692142e-02 1.19537337e-01 7.60692142e-02 7.60692142e-02 1.08670306e-01 5.43351530e-02 3.26010918e-02 7.60692142e-02 1.19537337e-01 6.52021836e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 4.34681224e-02 5.43351530e-02 5.43351530e-02 6.52021836e-02 4.34681224e-02 4.34681224e-02 3.26010918e-02 1.19537337e-01 1.73872490e-01 1.08670306e-01 6.52021836e-02 3.26010918e-02 5.43351530e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 8.69362448e-02 1.19537337e-01 8.69362448e-02 4.34681224e-02 5.43351530e-02 4.34681224e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 5.43351530e-02 3.26010918e-02 8.69362448e-02 9.78032754e-02 1.08670306e-01 8.69362448e-02 9.78032754e-02 3.26010918e-02 5.43351530e-02 4.34681224e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 8.69362448e-02 7.60692142e-02 7.60692142e-02 4.34681224e-02 8.69362448e-02 7.60692142e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 3.26010918e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 1.08670306e-01 3.26010918e-02 1.08670306e-01 1.30404367e-01 4.34681224e-02 8.69362448e-02 1.30404367e-01 8.69362448e-02 8.69362448e-02 8.69362448e-02 5.43351530e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 7.60692142e-02 4.34681224e-02 6.52021836e-02 7.60692142e-02 6.52021836e-02 9.78032754e-02 1.30404367e-01 7.60692142e-02 1.41271398e-01 3.26010918e-02 5.43351530e-02 6.52021836e-02 8.69362448e-02 1.30404367e-01 7.60692142e-02 1.08670306e-01 6.52021836e-02 6.52021836e-02 7.60692142e-02 1.41271398e-01 6.52021836e-02 4.34681224e-02 1.30404367e-01 1.41271398e-01 5.43351530e-02 7.60692142e-02 1.08670306e-01 9.78032754e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 6.52021836e-02 8.69362448e-02 9.78032754e-02 6.52021836e-02 8.69362448e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 3.26010918e-02 9.78032754e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 3.26010918e-02 1.08670306e-01 7.60692142e-02 1.52138428e-01 7.60692142e-02 4.34681224e-02 9.78032754e-02 1.08670306e-01 3.26010918e-02 8.69362448e-02 9.78032754e-02 7.60692142e-02 9.78032754e-02 4.34681224e-02 1.63005459e-01 2.17340612e-02 5.43351530e-02 1.08670306e-01 9.78032754e-02 4.34681224e-02 1.19537337e-01 7.60692142e-02 1.41271398e-01 5.43351530e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 9.78032754e-02 1.41271398e-01 2.06473581e-01 7.60692142e-02 9.78032754e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 3.26010918e-02 1.08670306e-01 4.34681224e-02 7.60692142e-02 9.78032754e-02 8.69362448e-02 1.08670306e-02 7.60692142e-02 6.52021836e-02 1.30404367e-01 9.78032754e-02 9.78032754e-02 7.60692142e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 6.52021836e-02 1.08670306e-01 1.19537337e-01 8.69362448e-02 4.34681224e-02 6.52021836e-02 7.60692142e-02 1.19537337e-01 6.52021836e-02 9.78032754e-02 8.69362448e-02 7.60692142e-02 1.19537337e-01 5.43351530e-02 9.78032754e-02 5.43351530e-02 1.08670306e-01 8.69362448e-02 9.78032754e-02 1.52138428e-01 7.60692142e-02 1.08670306e-01 5.43351530e-02 5.43351530e-02 1.19537337e-01 9.78032754e-02 6.52021836e-02 1.19537337e-01 7.60692142e-02 5.43351530e-02 1.19537337e-01 7.60692142e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 9.78032754e-02 5.43351530e-02 8.69362448e-02 8.69362448e-02 5.43351530e-02 1.19537337e-01 8.69362448e-02 5.43351530e-02 1.19537337e-01 4.34681224e-02 3.26010918e-02 8.69362448e-02 8.69362448e-02 7.60692142e-02 1.19537337e-01 6.52021836e-02 5.43351530e-02 6.52021836e-02 3.26010918e-02 8.69362448e-02 7.60692142e-02 1.08670306e-01 1.08670306e-01 5.43351530e-02 5.43351530e-02 1.08670306e-01 9.78032754e-02 3.26010918e-02 7.60692142e-02 1.19537337e-01 7.60692142e-02 1.19537337e-01 5.43351530e-02 6.52021836e-02 1.19537337e-01 8.69362448e-02 6.52021836e-02 4.34681224e-02 8.69362448e-02 5.43351530e-02 1.19537337e-01 7.60692142e-02 5.43351530e-02 1.30404367e-01 8.69362448e-02 5.43351530e-02 4.34681224e-02 1.19537337e-01 6.52021836e-02 9.78032754e-02 1.41271398e-01 7.60692142e-02 8.69362448e-02 9.78032754e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 5.43351530e-02 9.78032754e-02 1.19537337e-01 6.52021836e-02 6.52021836e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 1.41271398e-01 3.26010918e-02 7.60692142e-02 7.60692142e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 1.08670306e-01 9.78032754e-02 7.60692142e-02 6.52021836e-02 6.52021836e-02 5.43351530e-02 9.78032754e-02 8.69362448e-02 1.19537337e-01 9.78032754e-02 5.43351530e-02 4.34681224e-02 1.73872490e-01 8.69362448e-02 5.43351530e-02 9.78032754e-02 1.08670306e-01 5.43351530e-02 8.69362448e-02 9.78032754e-02 1.30404367e-01 7.60692142e-02 5.43351530e-02 8.69362448e-02 1.08670306e-01 6.52021836e-02 8.69362448e-02 9.78032754e-02 1.08670306e-01 5.43351530e-02 2.17340612e-02 9.78032754e-02 2.17340612e-02 1.08670306e-01 1.08670306e-01 7.60692142e-02 1.41271398e-01 8.69362448e-02 6.52021836e-02 1.19537337e-01 4.34681224e-02 6.52021836e-02 8.69362448e-02 1.30404367e-01 7.60692142e-02 5.43351530e-02 8.69362448e-02 7.60692142e-02 5.43351530e-02 9.78032754e-02 7.60692142e-02 7.60692142e-02 1.41271398e-01 1.08670306e-01 8.69362448e-02 1.41271398e-01 6.52021836e-02 7.60692142e-02 1.08670306e-01 5.43351530e-02 1.08670306e-01 1.30404367e-01 8.69362448e-02 2.17340612e-02 9.78032754e-02 4.34681224e-02 7.60692142e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 9.78032754e-02 9.78032754e-02 7.60692142e-02 3.26010918e-02 4.34681224e-02 9.78032754e-02 8.69362448e-02 1.08670306e-01 4.34681224e-02 8.69362448e-02 6.52021836e-02 5.43351530e-02 7.60692142e-02 5.43351530e-02 1.41271398e-01 9.78032754e-02 9.78032754e-02 5.43351530e-02 1.30404367e-01 5.43351530e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 5.43351530e-02 6.52021836e-02 1.08670306e-01 7.60692142e-02 4.34681224e-02 5.43351530e-02 1.73872490e-01 1.19537337e-01 9.78032754e-02 1.19537337e-01 1.08670306e-01 1.19537337e-01 5.43351530e-02 6.52021836e-02 3.26010918e-02 5.43351530e-02 8.69362448e-02 1.41271398e-01 6.52021836e-02 7.60692142e-02 8.69362448e-02 9.78032754e-02 7.60692142e-02 3.26010918e-02 9.78032754e-02 5.43351530e-02 1.19537337e-01 8.69362448e-02 7.60692142e-02 9.78032754e-02 3.26010918e-02 5.43351530e-02 6.52021836e-02 4.34681224e-02 1.08670306e-01 7.60692142e-02 1.19537337e-01 6.52021836e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 9.78032754e-02 9.78032754e-02 1.19537337e-01 1.08670306e-01 1.52138428e-01 5.43351530e-02 3.26010918e-02 6.52021836e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 1.19537337e-01 1.08670306e-01 8.69362448e-02 6.52021836e-02 7.60692142e-02 7.60692142e-02 1.30404367e-01 3.26010918e-02 1.08670306e-01 5.43351530e-02 3.26010918e-02 6.52021836e-02 7.60692142e-02 6.52021836e-02 3.26010918e-02 1.30404367e-01 9.78032754e-02 5.43351530e-02 1.41271398e-01 6.52021836e-02 4.34681224e-02 1.08670306e-01 1.30404367e-01 9.78032754e-02 1.19537337e-01 8.69362448e-02 1.08670306e-01 3.26010918e-02 2.17340612e-02 1.30404367e-01 1.08670306e-01 8.69362448e-02 3.26010918e-02 1.41271398e-01 1.19537337e-01 1.63005459e-01 1.08670306e-01 5.43351530e-02 7.60692142e-02 8.69362448e-02 1.08670306e-01 1.41271398e-01 9.78032754e-02 1.08670306e-01 8.69362448e-02 2.17340612e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 1.52138428e-01 9.78032754e-02 9.78032754e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 9.78032754e-02 4.34681224e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 1.30404367e-01 4.34681224e-02 1.08670306e-01 9.78032754e-02 3.26010918e-02 1.19537337e-01 1.19537337e-01 4.34681224e-02 1.19537337e-01 6.52021836e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 5.43351530e-02 6.52021836e-02 1.63005459e-01 4.34681224e-02 1.30404367e-01 1.08670306e-01 6.52021836e-02 9.78032754e-02 1.52138428e-01 5.43351530e-02 9.78032754e-02 5.43351530e-02 9.78032754e-02 6.52021836e-02 7.60692142e-02 5.43351530e-02 3.26010918e-02 1.08670306e-01 8.69362448e-02 5.43351530e-02 3.26010918e-02 8.69362448e-02 1.19537337e-01 8.69362448e-02 5.43351530e-02 9.78032754e-02 1.30404367e-01 1.08670306e-01 1.08670306e-01 1.08670306e-01 8.69362448e-02 9.78032754e-02 7.60692142e-02 1.19537337e-01 8.69362448e-02 1.08670306e-01 4.34681224e-02 4.34681224e-02 5.43351530e-02 1.30404367e-01 9.78032754e-02 1.19537337e-01 9.78032754e-02 7.60692142e-02 5.43351530e-02 9.78032754e-02 1.19537337e-01 5.43351530e-02 6.52021836e-02 8.69362448e-02 4.34681224e-02 7.60692142e-02 7.60692142e-02 1.30404367e-01 1.19537337e-01 9.78032754e-02 7.60692142e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 1.41271398e-01 8.69362448e-02 8.69362448e-02 4.34681224e-02 5.43351530e-02 6.52021836e-02 1.19537337e-01 3.26010918e-02 6.52021836e-02 6.52021836e-02 9.78032754e-02 7.60692142e-02 1.08670306e-01 1.08670306e-01 9.78032754e-02 9.78032754e-02 7.60692142e-02 1.52138428e-01 4.34681224e-02 1.30404367e-01 9.78032754e-02 5.43351530e-02 2.17340612e-02 9.78032754e-02 6.52021836e-02 1.08670306e-01 1.08670306e-01 7.60692142e-02 7.60692142e-02 8.69362448e-02 9.78032754e-02 5.43351530e-02 1.30404367e-01 8.69362448e-02 7.60692142e-02 4.34681224e-02 7.60692142e-02 1.52138428e-01 7.60692142e-02 7.60692142e-02 6.52021836e-02 9.78032754e-02 9.78032754e-02 1.63005459e-01 8.69362448e-02 8.69362448e-02 7.60692142e-02 3.26010918e-02 8.69362448e-02 9.78032754e-02 5.43351530e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 1.41271398e-01 6.52021836e-02 2.17340612e-02 6.52021836e-02 1.30404367e-01 1.08670306e-01 1.08670306e-01 6.52021836e-02 3.26010918e-02 8.69362448e-02 6.52021836e-02 4.34681224e-02 1.41271398e-01 8.69362448e-02 7.60692142e-02 6.52021836e-02 6.52021836e-02 8.69362448e-02 9.78032754e-02 6.52021836e-02 9.78032754e-02 9.78032754e-02 5.43351530e-02 9.78032754e-02 6.52021836e-02 2.17340612e-02 9.78032754e-02 8.69362448e-02 9.78032754e-02 1.30404367e-01 6.52021836e-02 8.69362448e-02 9.78032754e-02 1.63005459e-01 9.78032754e-02 5.43351530e-02 9.78032754e-02 1.30404367e-01 1.19537337e-01 8.69362448e-02 9.78032754e-02 7.60692142e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 9.78032754e-02 9.78032754e-02 6.52021836e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 1.30404367e-01 6.52021836e-02 6.52021836e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 4.34681224e-02 8.69362448e-02 6.52021836e-02 1.19537337e-01 1.30404367e-01 9.78032754e-02 1.08670306e-01 6.52021836e-02 1.30404367e-01 6.52021836e-02 1.30404367e-01 7.60692142e-02 8.69362448e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 9.78032754e-02 1.41271398e-01 2.17340612e-01 7.60692142e-02 1.19537337e-01 6.52021836e-02 1.41271398e-01 6.52021836e-02 9.78032754e-02 6.52021836e-02 8.69362448e-02 7.60692142e-02 7.60692142e-02 9.78032754e-02 5.43351530e-02 7.60692142e-02 7.60692142e-02 9.78032754e-02 9.78032754e-02 1.08670306e-01 7.60692142e-02 1.19537337e-01 6.52021836e-02 9.78032754e-02 1.19537337e-01 1.30404367e-01 7.60692142e-02 1.19537337e-01 9.78032754e-02 9.78032754e-02 6.52021836e-02 1.73872490e-01 1.08670306e-01 1.19537337e-01 5.43351530e-02 1.08670306e-01 6.52021836e-02 9.78032754e-02 1.08670306e-01 7.60692142e-02 9.78032754e-02 5.43351530e-02 8.69362448e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 9.78032754e-02 1.41271398e-01 7.60692142e-02 1.08670306e-01 8.69362448e-02 7.60692142e-02 5.43351530e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 4.34681224e-02 9.78032754e-02 1.63005459e-01 4.34681224e-02 1.08670306e-01 1.19537337e-01 1.19537337e-01 9.78032754e-02 1.08670306e-01 1.08670306e-01 8.69362448e-02 1.08670306e-01 8.69362448e-02 5.43351530e-02 1.73872490e-01 1.08670306e-01 7.60692142e-02 5.43351530e-02 9.78032754e-02 8.69362448e-02 1.08670306e-01 1.08670306e-01 9.78032754e-02 6.52021836e-02 6.52021836e-02 1.19537337e-01 5.43351530e-02 7.60692142e-02 8.69362448e-02 7.60692142e-02 6.52021836e-02 1.30404367e-01 7.60692142e-02 4.34681224e-02 5.43351530e-02 4.34681224e-02 1.08670306e-01 7.60692142e-02 9.78032754e-02 6.52021836e-02 1.41271398e-01 7.60692142e-02 9.78032754e-02 4.34681224e-02 7.60692142e-02 1.19537337e-01 8.69362448e-02 5.43351530e-02 1.19537337e-01 1.19537337e-01 9.78032754e-02 8.69362448e-02 5.43351530e-02 1.19537337e-01 9.78032754e-02 1.30404367e-01 1.30404367e-01 1.08670306e-01 4.34681224e-02 6.52021836e-02 7.60692142e-02 1.19537337e-01 8.69362448e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 1.08670306e-01 6.52021836e-02 8.69362448e-02 8.69362448e-02 1.19537337e-01 7.60692142e-02 7.60692142e-02 1.08670306e-01 1.30404367e-01 5.43351530e-02 6.52021836e-02 6.52021836e-02 1.19537337e-01 8.69362448e-02 7.60692142e-02 9.78032754e-02 1.41271398e-01 5.43351530e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 1.30404367e-01 1.30404367e-01 1.08670306e-01 4.34681224e-02 1.52138428e-01 1.30404367e-01 6.52021836e-02 9.78032754e-02 1.19537337e-01 1.19537337e-01 1.30404367e-01 1.30404367e-01 1.30404367e-01 8.69362448e-02 5.43351530e-02 5.43351530e-02 7.60692142e-02 9.78032754e-02 1.19537337e-01 1.08670306e-01 1.08670306e-01 7.60692142e-02 5.43351530e-02 7.60692142e-02 1.08670306e-01 7.60692142e-02 5.43351530e-02 6.52021836e-02 1.08670306e-01 8.69362448e-02 1.52138428e-01 1.19537337e-01 1.19537337e-01 1.08670306e-01 9.78032754e-02 6.52021836e-02 1.08670306e-01 7.60692142e-02 5.43351530e-02 7.60692142e-02 5.43351530e-02 6.52021836e-02 7.60692142e-02 1.63005459e-01 1.63005459e-01 6.52021836e-02 1.30404367e-01 5.43351530e-02 1.08670306e-01 1.19537337e-01 9.78032754e-02 1.19537337e-01 1.08670306e-01 9.78032754e-02 7.60692142e-02 9.78032754e-02 1.08670306e-01 5.43351530e-02 1.30404367e-01 8.69362448e-02 1.08670306e-01 9.78032754e-02 8.69362448e-02 9.78032754e-02 8.69362448e-02 5.43351530e-02 1.19537337e-01 6.52021836e-02 1.19537337e-01 1.30404367e-01 1.30404367e-01 9.78032754e-02 1.30404367e-01 6.52021836e-02 7.60692142e-02 9.78032754e-02 1.08670306e-01 9.78032754e-02 5.43351530e-02 7.60692142e-02 1.30404367e-01 9.78032754e-02 1.19537337e-01 1.19537337e-01 7.60692142e-02 3.26010918e-02 7.60692142e-02 1.84739520e-01 1.08670306e-01 4.34681224e-02 9.78032754e-02 6.52021836e-02 1.30404367e-01 9.78032754e-02 1.63005459e-01 9.78032754e-02 7.60692142e-02 1.30404367e-01 1.52138428e-01 9.78032754e-02 8.69362448e-02 9.78032754e-02 1.41271398e-01 1.19537337e-01 8.69362448e-02 9.78032754e-02 8.69362448e-02 9.78032754e-02 6.52021836e-02 1.84739520e-01 9.78032754e-02 9.78032754e-02 1.08670306e-01 6.52021836e-02 6.52021836e-02 8.69362448e-02 1.30404367e-01 5.43351530e-02 5.43351530e-02 7.60692142e-02 1.19537337e-01 1.08670306e-01 3.26010918e-02 5.43351530e-02 8.69362448e-02 5.43351530e-02 8.69362448e-02 6.52021836e-02 9.78032754e-02 5.43351530e-02 1.63005459e-01 9.78032754e-02 1.63005459e-01 1.08670306e-01 7.60692142e-02 7.60692142e-02 8.69362448e-02 1.08670306e-01 1.63005459e-01 8.69362448e-02 1.41271398e-01 7.60692142e-02 5.43351530e-02 8.69362448e-02 6.52021836e-02 6.52021836e-02 7.60692142e-02 1.52138428e-01 6.52021836e-02 1.41271398e-01 1.30404367e-01 7.60692142e-02 1.19537337e-01 8.69362448e-02 9.78032754e-02 7.60692142e-02 1.41271398e-01 6.52021836e-02 1.19537337e-01 7.60692142e-02 7.60692142e-02 1.30404367e-01 9.78032754e-02 7.60692142e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 8.69362448e-02 1.41271398e-01 1.08670306e-01 5.43351530e-02 4.34681224e-02 1.19537337e-01 1.08670306e-01 6.52021836e-02 8.69362448e-02 1.63005459e-01 1.41271398e-01 6.52021836e-02 5.43351530e-02 1.19537337e-01 1.52138428e-01 8.69362448e-02 6.52021836e-02 1.52138428e-01 1.41271398e-01 5.43351530e-02 8.69362448e-02 6.52021836e-02 7.60692142e-02 6.52021836e-02 1.41271398e-01 1.08670306e-01 8.69362448e-02 8.69362448e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 3.26010918e-02 9.78032754e-02 1.19537337e-01 6.52021836e-02 9.78032754e-02 9.78032754e-02 1.08670306e-01 8.69362448e-02 1.19537337e-01 1.08670306e-01 7.60692142e-02 1.63005459e-01 7.60692142e-02 6.52021836e-02 6.52021836e-02 1.19537337e-01 1.19537337e-01 7.60692142e-02 8.69362448e-02 8.69362448e-02 1.19537337e-01 1.08670306e-01 1.08670306e-01 7.60692142e-02 1.19537337e-01 4.34681224e-02 1.08670306e-01 8.69362448e-02 1.08670306e-01 1.52138428e-01 1.19537337e-01 4.34681224e-02 9.78032754e-02 1.30404367e-01 1.41271398e-01 9.78032754e-02 7.60692142e-02 8.69362448e-02 7.60692142e-02 1.41271398e-01 1.19537337e-01 7.60692142e-02 1.19537337e-01 8.69362448e-02 8.69362448e-02 1.52138428e-01 5.43351530e-02 7.60692142e-02 1.19537337e-01 8.69362448e-02 1.19537337e-01 7.60692142e-02 1.08670306e-01 1.08670306e-01 8.69362448e-02 9.78032754e-02 1.08670306e-01 9.78032754e-02 5.43351530e-02 6.52021836e-02 9.78032754e-02 1.41271398e-01 8.69362448e-02 1.08670306e-01 5.43351530e-02 1.41271398e-01 7.60692142e-02 1.30404367e-01 1.52138428e-01 6.52021836e-02 9.78032754e-02 7.60692142e-02 1.19537337e-01 1.08670306e-01 9.78032754e-02 6.52021836e-02 7.60692142e-02 7.60692142e-02 9.78032754e-02 1.08670306e-01 6.52021836e-02 1.19537337e-01 1.08670306e-01 1.41271398e-01 1.52138428e-01 8.69362448e-02 1.52138428e-01 1.19537337e-01 3.26010918e-02 8.69362448e-02 9.78032754e-02 1.73872490e-01 1.19537337e-01 1.08670306e-01 1.19537337e-01 8.69362448e-02 6.52021836e-02 8.69362448e-02 7.60692142e-02 4.34681224e-02 1.19537337e-01 9.78032754e-02 1.19537337e-01 1.08670306e-01 9.78032754e-02 9.78032754e-02 8.69362448e-02 1.19537337e-01 1.19537337e-01 9.78032754e-02 6.52021836e-02 6.52021836e-02 1.63005459e-01 8.69362448e-02 9.78032754e-02 1.08670306e-01 8.69362448e-02 6.52021836e-02 1.41271398e-01 8.69362448e-02 7.60692142e-02 7.60692142e-02 7.60692142e-02 3.26010918e-02 6.52021836e-02 1.52138428e-01 7.60692142e-02 7.60692142e-02 1.08670306e-01 1.30404367e-01 9.78032754e-02 1.30404367e-01 7.60692142e-02 1.08670306e-01 6.52021836e-02 4.34681224e-02 1.08670306e-01 9.78032754e-02 5.43351530e-02 7.60692142e-02 8.69362448e-02 1.19537337e-01 8.69362448e-02 7.60692142e-02 1.19537337e-01 1.52138428e-01 1.08670306e-01 8.69362448e-02 5.43351530e-02 7.60692142e-02 9.78032754e-02 7.60692142e-02 1.08670306e-01 3.26010918e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 1.08670306e-01 6.52021836e-02 2.06473581e-01 7.60692142e-02 6.52021836e-02 1.19537337e-01 9.78032754e-02 7.60692142e-02 1.19537337e-01 7.60692142e-02 1.19537337e-01 1.08670306e-01 6.52021836e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 1.08670306e-01 9.78032754e-02 1.19537337e-01 1.30404367e-01 3.26010918e-02 8.69362448e-02 6.52021836e-02 1.19537337e-01 9.78032754e-02 6.52021836e-02 1.08670306e-01 9.78032754e-02 1.63005459e-01 1.19537337e-01 7.60692142e-02 1.52138428e-01 1.19537337e-01 5.43351530e-02 1.19537337e-01 1.08670306e-01 8.69362448e-02 1.19537337e-01 1.08670306e-01 8.69362448e-02 9.78032754e-02 1.63005459e-01 1.95606551e-01 1.41271398e-01 9.78032754e-02 1.08670306e-01 5.43351530e-02 1.63005459e-01 5.43351530e-02 8.69362448e-02 7.60692142e-02 1.08670306e-01 1.41271398e-01 8.69362448e-02 6.52021836e-02 7.60692142e-02 9.78032754e-02 1.41271398e-01 1.30404367e-01 1.63005459e-01 7.60692142e-02 1.52138428e-01 8.69362448e-02 1.08670306e-02 5.43351530e-02 1.19537337e-01 6.52021836e-02 7.60692142e-02 6.52021836e-02 1.08670306e-01 1.30404367e-01 1.19537337e-01 1.19537337e-01 1.19537337e-01 7.60692142e-02 8.69362448e-02 9.78032754e-02 6.52021836e-02 8.69362448e-02 1.41271398e-01 1.84739520e-01 8.69362448e-02 1.41271398e-01 9.78032754e-02 1.30404367e-01 8.69362448e-02 9.78032754e-02 8.69362448e-02 1.30404367e-01 1.41271398e-01 9.78032754e-02 6.52021836e-02 5.43351530e-02 1.52138428e-01 1.95606551e-01 1.19537337e-01 1.52138428e-01 1.30404367e-01 1.19537337e-01 9.78032754e-02 9.78032754e-02 1.19537337e-01 5.43351530e-02 8.69362448e-02 8.69362448e-02 7.60692142e-02 3.26010918e-02 1.08670306e-01 6.52021836e-02 1.19537337e-01 9.78032754e-02 7.60692142e-02 1.30404367e-01 1.30404367e-01 8.69362448e-02 4.34681224e-02 8.69362448e-02 7.60692142e-02 9.78032754e-02 1.30404367e-01 1.08670306e-01 1.19537337e-01 6.52021836e-02 7.60692142e-02 7.60692142e-02 8.69362448e-02 7.60692142e-02 1.52138428e-01 6.52021836e-02 1.30404367e-01 1.30404367e-01 1.19537337e-01 7.60692142e-02 1.08670306e-01 1.19537337e-01 6.52021836e-02 1.19537337e-01 6.52021836e-02 1.63005459e-01 1.52138428e-01 5.43351530e-02 7.60692142e-02 8.69362448e-02 6.52021836e-02 1.08670306e-01 8.69362448e-02 6.52021836e-02 1.30404367e-01 1.19537337e-01 7.60692142e-02 4.34681224e-02 6.52021836e-02 6.52021836e-02 8.69362448e-02 1.08670306e-01 1.63005459e-01 1.52138428e-01 9.78032754e-02 8.69362448e-02 1.41271398e-01 9.78032754e-02 1.08670306e-01 6.52021836e-02 1.30404367e-01 1.08670306e-01 1.63005459e-01 1.30404367e-01 9.78032754e-02 6.52021836e-02 1.30404367e-01 1.08670306e-01 1.52138428e-01 8.69362448e-02 1.08670306e-01 1.19537337e-01 1.41271398e-01 6.52021836e-02 9.78032754e-02 1.52138428e-01 5.43351530e-02 6.52021836e-02 1.52138428e-01 1.08670306e-01 1.08670306e-01 7.60692142e-02 1.08670306e-01 1.84739520e-01 1.08670306e-01 1.63005459e-01 8.69362448e-02 4.34681224e-02 1.41271398e-01 9.78032754e-02 1.63005459e-01 1.52138428e-01 1.30404367e-01 8.69362448e-02 1.52138428e-01 8.69362448e-02 9.78032754e-02 1.19537337e-01 8.69362448e-02 6.52021836e-02 6.52021836e-02 9.78032754e-02 6.52021836e-02 1.30404367e-01 1.08670306e-01 7.60692142e-02 1.08670306e-01 9.78032754e-02 1.19537337e-01 7.60692142e-02 1.08670306e-01 7.60692142e-02 7.60692142e-02 8.69362448e-02 8.69362448e-02 8.69362448e-02 1.84739520e-01 9.78032754e-02 1.52138428e-01 1.63005459e-01 1.30404367e-01 5.43351530e-02 1.41271398e-01 7.60692142e-02 8.69362448e-02 9.78032754e-02 5.43351530e-02 1.52138428e-01 8.69362448e-02 9.78032754e-02 1.19537337e-01 1.08670306e-01 1.08670306e-01 9.78032754e-02 7.60692142e-02 1.30404367e-01 1.08670306e-01 7.60692142e-02 8.69362448e-02 1.30404367e-01 1.19537337e-01 6.52021836e-02 1.95606551e-01 1.08670306e-01 9.78032754e-02 1.30404367e-01 1.19537337e-01 1.41271398e-01 1.08670306e-01 8.69362448e-02 1.95606551e-01 1.73872490e-01 8.69362448e-02 1.19537337e-01 9.78032754e-02 1.19537337e-01 8.69362448e-02 1.52138428e-01 1.63005459e-01 1.41271398e-01 4.34681224e-02 1.08670306e-01 8.69362448e-02 1.63005459e-01 1.63005459e-01 1.63005459e-01 7.60692142e-02 1.30404367e-01 1.30404367e-01 1.63005459e-01 1.08670306e-01 8.69362448e-02 7.60692142e-02 1.30404367e-01 8.69362448e-02 8.69362448e-02 9.78032754e-02 1.52138428e-01 1.73872490e-01 1.30404367e-01 1.30404367e-01 8.69362448e-02 1.30404367e-01 1.30404367e-01 1.08670306e-01 1.73872490e-01 1.63005459e-01 9.78032754e-02 7.60692142e-02 1.63005459e-01 1.19537337e-01 5.43351530e-02 1.73872490e-01 8.69362448e-02 9.78032754e-02 7.60692142e-02 1.41271398e-01 1.73872490e-01 6.52021836e-02 5.43351530e-02 1.63005459e-01 1.08670306e-01 1.73872490e-01 1.08670306e-01 1.19537337e-01 1.19537337e-01 9.78032754e-02 8.69362448e-02 1.30404367e-01 1.84739520e-01 1.52138428e-01 1.63005459e-01 9.78032754e-02 1.41271398e-01 1.30404367e-01 1.52138428e-01 8.69362448e-02 8.69362448e-02 1.84739520e-01 1.41271398e-01 8.69362448e-02 1.41271398e-01 7.60692142e-02 8.69362448e-02 7.60692142e-02 4.34681224e-02 1.52138428e-01 7.60692142e-02 1.30404367e-01 1.30404367e-01 7.60692142e-02 1.41271398e-01 7.60692142e-02 9.78032754e-02 1.41271398e-01 5.43351530e-02 9.78032754e-02 7.60692142e-02 9.78032754e-02 1.19537337e-01 1.08670306e-01 6.52021836e-02 1.41271398e-01 8.69362448e-02 1.73872490e-01 8.69362448e-02 9.78032754e-02 1.30404367e-01 6.52021836e-02 8.69362448e-02 1.63005459e-01 9.78032754e-02 1.30404367e-01 1.08670306e-01 1.95606551e-01 1.73872490e-01 1.19537337e-01 1.08670306e-01 1.19537337e-01 1.63005459e-01 1.30404367e-01 1.84739520e-01 1.73872490e-01 1.19537337e-01 1.19537337e-01 1.08670306e-01 1.19537337e-01 1.52138428e-01 9.78032754e-02 1.52138428e-01 1.63005459e-01 1.30404367e-01 9.78032754e-02 1.95606551e-01 1.52138428e-01 9.78032754e-02 1.41271398e-01 1.19537337e-01 8.69362448e-02 1.19537337e-01 1.84739520e-01 1.63005459e-01 9.78032754e-02 1.19537337e-01 4.34681224e-02 1.19537337e-01 1.19537337e-01 8.69362448e-02 9.78032754e-02 8.69362448e-02 1.73872490e-01 1.41271398e-01 1.30404367e-01 1.73872490e-01 9.78032754e-02 1.19537337e-01 1.63005459e-01 1.19537337e-01 1.95606551e-01 1.63005459e-01 1.30404367e-01 7.60692142e-02 1.73872490e-01 9.78032754e-02 1.95606551e-01 1.08670306e-01 8.69362448e-02 1.19537337e-01 9.78032754e-02 1.30404367e-01 1.73872490e-01 1.08670306e-01 1.30404367e-01 8.69362448e-02 1.08670306e-01 5.43351530e-02 7.60692142e-02 1.08670306e-01 9.78032754e-02 5.43351530e-02 7.60692142e-02 6.52021836e-02 1.41271398e-01 1.08670306e-01 1.08670306e-01 1.08670306e-01 1.30404367e-01 7.60692142e-02 1.41271398e-01 1.08670306e-01 1.19537337e-01 9.78032754e-02 1.41271398e-01 1.08670306e-01 8.69362448e-02 1.30404367e-01 1.63005459e-01 1.19537337e-01 8.69362448e-02 1.19537337e-01 1.30404367e-01 1.08670306e-01 6.52021836e-02 1.08670306e-01 1.30404367e-01 8.69362448e-02 6.52021836e-02 7.60692142e-02 1.41271398e-01 1.30404367e-01 6.52021836e-02 1.73872490e-01 8.69362448e-02 1.08670306e-01 1.19537337e-01 7.60692142e-02 1.30404367e-01 1.52138428e-01 1.52138428e-01 1.41271398e-01 1.52138428e-01 8.69362448e-02 7.60692142e-02 6.52021836e-02 1.30404367e-01 1.52138428e-01 1.52138428e-01 6.52021836e-02 8.69362448e-02 1.41271398e-01 9.78032754e-02 1.19537337e-01 7.60692142e-02 1.08670306e-01 1.41271398e-01 2.06473581e-01 1.63005459e-01 1.19537337e-01 1.08670306e-01 1.63005459e-01 1.41271398e-01 1.84739520e-01 1.63005459e-01 8.69362448e-02 9.78032754e-02 1.30404367e-01 8.69362448e-02 1.41271398e-01 1.41271398e-01 1.08670306e-01 1.41271398e-01 8.69362448e-02 1.19537337e-01 8.69362448e-02 1.63005459e-01 1.19537337e-01 1.19537337e-01 1.41271398e-01 1.41271398e-01 1.30404367e-01 1.41271398e-01 1.30404367e-01 4.34681224e-02 1.19537337e-01 1.52138428e-01 9.78032754e-02 1.08670306e-01 1.41271398e-01 1.19537337e-01 1.84739520e-01 1.08670306e-01 8.69362448e-02 1.52138428e-01 1.52138428e-01 1.08670306e-01 1.52138428e-01 8.69362448e-02 5.43351530e-02 1.19537337e-01 1.41271398e-01 4.34681224e-02 1.84739520e-01 9.78032754e-02 1.30404367e-01 9.78032754e-02 8.69362448e-02 8.69362448e-02 1.73872490e-01 1.19537337e-01 1.30404367e-01 1.41271398e-01 8.69362448e-02 1.63005459e-01 1.08670306e-01 1.19537337e-01 1.73872490e-01 1.52138428e-01 1.30404367e-01 1.63005459e-01 9.78032754e-02 1.19537337e-01 1.30404367e-01 1.73872490e-01 1.52138428e-01 1.30404367e-01 1.41271398e-01 8.69362448e-02 9.78032754e-02 1.08670306e-01 1.08670306e-01 7.60692142e-02 1.30404367e-01 6.52021836e-02 1.52138428e-01 1.30404367e-01 1.52138428e-01 1.30404367e-01 8.69362448e-02 1.63005459e-01 1.63005459e-01 8.69362448e-02 1.84739520e-01 1.08670306e-01 1.41271398e-01 8.69362448e-02 1.19537337e-01 6.52021836e-02 1.73872490e-01 9.78032754e-02 1.63005459e-01 1.41271398e-01 1.52138428e-01 7.60692142e-02 8.69362448e-02 1.52138428e-01 1.52138428e-01 8.69362448e-02 1.08670306e-01 8.69362448e-02 1.19537337e-01 7.60692142e-02 1.52138428e-01 1.30404367e-01 1.30404367e-01 1.19537337e-01 7.60692142e-02 1.52138428e-01 1.52138428e-01 8.69362448e-02 1.73872490e-01 1.41271398e-01 1.08670306e-01 9.78032754e-02 1.19537337e-01 1.19537337e-01 1.08670306e-01 1.08670306e-01 1.19537337e-01 1.19537337e-01 1.08670306e-01 1.73872490e-01 1.19537337e-01 5.43351530e-02 1.63005459e-01 1.41271398e-01 1.41271398e-01 1.30404367e-01 1.08670306e-01 1.19537337e-01 1.08670306e-01 1.19537337e-01 7.60692142e-02 1.30404367e-01 1.41271398e-01 2.06473581e-01 7.60692142e-02 1.73872490e-01 2.49941704e-01 1.08670306e-01 1.41271398e-01 1.95606551e-01 1.30404367e-01 1.52138428e-01 8.69362448e-02 1.52138428e-01 1.19537337e-01 1.30404367e-01 1.19537337e-01 8.69362448e-02 2.06473581e-01 1.52138428e-01 1.73872490e-01 2.17340612e-02 1.41271398e-01 7.60692142e-02 1.63005459e-01 1.19537337e-01 1.41271398e-01 1.30404367e-01 1.84739520e-01 2.06473581e-01 1.73872490e-01 9.78032754e-02 1.19537337e-01 1.19537337e-01 1.52138428e-01 1.52138428e-01 1.08670306e-01 2.06473581e-01 1.52138428e-01 9.78032754e-02 9.78032754e-02 1.19537337e-01 1.19537337e-01 1.73872490e-01 2.06473581e-01 1.08670306e-01 1.19537337e-01 1.08670306e-01 1.08670306e-01 1.41271398e-01 1.41271398e-01 1.95606551e-01 9.78032754e-02 1.30404367e-01 1.08670306e-01 1.63005459e-01 1.30404367e-01 7.60692142e-02 1.95606551e-01 1.73872490e-01 1.84739520e-01 1.30404367e-01 1.73872490e-01 1.08670306e-01 9.78032754e-02 1.08670306e-01 1.08670306e-01 1.52138428e-01 2.06473581e-01 1.30404367e-01 1.30404367e-01 1.63005459e-01 1.95606551e-01 1.08670306e-01 1.73872490e-01 1.19537337e-01 1.41271398e-01 1.19537337e-01 2.06473581e-01 1.08670306e-01 1.41271398e-01 1.41271398e-01 1.63005459e-01 9.78032754e-02 1.30404367e-01 1.84739520e-01 1.19537337e-01 1.30404367e-01 1.73872490e-01 1.41271398e-01 1.08670306e-01 1.84739520e-01 1.41271398e-01 1.08670306e-01 1.41271398e-01 2.17340612e-01 7.60692142e-02 1.19537337e-01 1.84739520e-01 1.19537337e-01 1.30404367e-01 1.52138428e-01 1.95606551e-01 1.63005459e-01 5.43351530e-02 1.30404367e-01 1.30404367e-01 1.19537337e-01 7.60692142e-02 1.19537337e-01 8.69362448e-02 1.84739520e-01 1.84739520e-01 1.19537337e-01 1.52138428e-01 7.60692142e-02 2.17340612e-01 1.52138428e-01 1.52138428e-01 1.84739520e-01 1.63005459e-01 2.17340612e-01 1.73872490e-01 1.52138428e-01 8.69362448e-02 2.17340612e-01 1.19537337e-01 1.30404367e-01 1.19537337e-01 1.30404367e-01 1.08670306e-01 1.52138428e-01 9.78032754e-02 1.95606551e-01 1.63005459e-01 1.19537337e-01 1.19537337e-01 1.52138428e-01 1.63005459e-01 8.69362448e-02 1.08670306e-01 1.30404367e-01 1.41271398e-01 1.95606551e-01 1.73872490e-01 1.63005459e-01 1.41271398e-01 6.52021836e-02 3.04276857e-01 1.08670306e-01 8.69362448e-02 1.19537337e-01 8.69362448e-02 1.08670306e-01 1.41271398e-01 1.30404367e-01 1.95606551e-01 1.73872490e-01 2.39074673e-01 1.73872490e-01 1.08670306e-01 7.60692142e-02 1.41271398e-01 1.08670306e-01 2.06473581e-01 3.36877949e-01 8.69362448e-02 1.95606551e-01 1.95606551e-01 1.63005459e-01 1.08670306e-01 1.30404367e-01 1.08670306e-01 1.19537337e-01 1.41271398e-01 1.63005459e-01 1.19537337e-01 2.06473581e-01 1.08670306e-01 1.30404367e-01 1.08670306e-01 1.73872490e-01 1.19537337e-01 1.30404367e-01 1.41271398e-01 1.52138428e-01 1.30404367e-01 1.73872490e-01 1.73872490e-01 8.69362448e-02 1.73872490e-01 1.63005459e-01 1.08670306e-01 1.30404367e-01 1.30404367e-01 8.69362448e-02 1.52138428e-01 1.63005459e-01 2.82542796e-01 1.41271398e-01 1.73872490e-01 1.19537337e-01 1.52138428e-01 1.19537337e-01 1.08670306e-01 1.41271398e-01 1.41271398e-01 8.69362448e-02 1.41271398e-01 1.84739520e-01 1.41271398e-01 1.41271398e-01 1.30404367e-01 1.63005459e-01 1.41271398e-01 1.41271398e-01 1.19537337e-01 1.19537337e-01 1.73872490e-01 9.78032754e-02 1.84739520e-01 1.08670306e-01 9.78032754e-02 1.19537337e-01 9.78032754e-02 1.63005459e-01 1.63005459e-01 9.78032754e-02 1.41271398e-01 1.30404367e-01 1.08670306e-01 1.08670306e-01 1.41271398e-01 1.52138428e-01 1.30404367e-01 1.84739520e-01 1.30404367e-01 1.41271398e-01 6.52021836e-02 8.69362448e-02 1.30404367e-01 1.30404367e-01 1.19537337e-01 1.73872490e-01 1.84739520e-01 1.73872490e-01 9.78032754e-02 1.63005459e-01 1.41271398e-01 7.60692142e-02 1.19537337e-01 7.60692142e-02 1.08670306e-01 1.84739520e-01 1.30404367e-01 1.63005459e-01 1.30404367e-01 1.19537337e-01 9.78032754e-02 1.30404367e-01 1.08670306e-01 1.52138428e-01 9.78032754e-02 1.30404367e-01 1.41271398e-01 1.52138428e-01 2.17340612e-01 7.60692142e-02 1.30404367e-01 9.78032754e-02 1.84739520e-01 1.30404367e-01 1.73872490e-01 1.95606551e-01 1.30404367e-01 7.60692142e-02 1.08670306e-01 1.19537337e-01 1.08670306e-01 2.06473581e-01 7.60692142e-02 1.63005459e-01 2.17340612e-01 1.84739520e-01 2.49941704e-01 1.30404367e-01 8.69362448e-02 5.43351530e-02 1.84739520e-01 2.06473581e-01 1.08670306e-01 7.60692142e-02 1.63005459e-01 1.19537337e-01 1.08670306e-01 1.73872490e-01 1.63005459e-01 1.73872490e-01 1.30404367e-01 1.73872490e-01 1.95606551e-01 1.63005459e-01 9.78032754e-02 8.69362448e-02 9.78032754e-02 2.06473581e-01 2.06473581e-01 2.49941704e-01 1.30404367e-01 9.78032754e-02 9.78032754e-02 7.60692142e-02 8.69362448e-02 1.84739520e-01 1.73872490e-01 1.19537337e-01 1.30404367e-01 1.08670306e-01 1.84739520e-01 1.41271398e-01 1.19537337e-01 1.19537337e-01 1.84739520e-01 2.06473581e-01 1.19537337e-01 1.52138428e-01 1.08670306e-01 1.52138428e-01 2.17340612e-01 2.39074673e-01 2.60808734e-01 1.41271398e-01 2.28207643e-01 1.84739520e-01 1.63005459e-01 1.08670306e-01 1.63005459e-01 1.30404367e-01 9.78032754e-02 1.41271398e-01 1.08670306e-01 1.30404367e-01 1.63005459e-01 1.41271398e-01 2.06473581e-01 1.19537337e-01 1.73872490e-01 9.78032754e-02 1.95606551e-01 1.52138428e-01 1.30404367e-01 2.93409826e-01 9.78032754e-02 1.30404367e-01 1.73872490e-01 1.41271398e-01 2.28207643e-01 8.69362448e-02 1.52138428e-01 1.30404367e-01 1.08670306e-01 1.63005459e-01 1.63005459e-01 1.73872490e-01 1.52138428e-01 1.19537337e-01 1.41271398e-01 8.69362448e-02 1.52138428e-01 1.30404367e-01 1.84739520e-01 1.08670306e-01 1.08670306e-01 1.52138428e-01 2.28207643e-01 1.19537337e-01 1.95606551e-01 1.84739520e-01 7.60692142e-02 1.73872490e-01 1.95606551e-01 1.41271398e-01 1.08670306e-01 1.73872490e-01 2.06473581e-01 1.63005459e-01 1.41271398e-01 1.08670306e-01 1.84739520e-01 1.52138428e-01 1.73872490e-01 1.73872490e-01 1.73872490e-01 1.19537337e-01 1.41271398e-01 1.30404367e-01 1.30404367e-01 2.17340612e-01 1.19537337e-01 2.06473581e-01 1.08670306e-01 1.63005459e-01 1.30404367e-01 1.41271398e-01 1.84739520e-01 1.41271398e-01 1.30404367e-01 1.41271398e-01 1.73872490e-01 1.52138428e-01 1.30404367e-01 1.30404367e-01 1.63005459e-01 1.30404367e-01 1.52138428e-01 1.19537337e-01 1.52138428e-01 1.73872490e-01 1.95606551e-01 1.19537337e-01 7.60692142e-02 1.63005459e-01 9.78032754e-02 1.73872490e-01 1.52138428e-01 1.73872490e-01 1.63005459e-01 1.63005459e-01 6.52021836e-02 1.30404367e-01 1.41271398e-01 1.08670306e-01 1.52138428e-01 2.28207643e-01 1.52138428e-01 1.63005459e-01 1.19537337e-01 1.52138428e-01 1.41271398e-01 1.52138428e-01 9.78032754e-02 7.60692142e-02 2.17340612e-01 1.52138428e-01 1.19537337e-01 1.52138428e-01 1.63005459e-01 1.73872490e-01 1.63005459e-01 1.52138428e-01 1.63005459e-01 1.08670306e-01 7.60692142e-02 1.73872490e-01 1.52138428e-01 2.06473581e-01 1.19537337e-01 7.60692142e-02 1.73872490e-01 7.60692142e-02 1.52138428e-01 1.95606551e-01 1.41271398e-01 8.69362448e-02 1.84739520e-01 1.52138428e-01 1.19537337e-01 1.84739520e-01 1.30404367e-01 1.84739520e-01 7.60692142e-02 1.30404367e-01 1.19537337e-01 1.30404367e-01 1.08670306e-01 2.06473581e-01 1.95606551e-01 1.63005459e-01 1.95606551e-01 1.63005459e-01 2.17340612e-01 1.19537337e-01 2.17340612e-01 1.41271398e-01 1.95606551e-01 2.39074673e-01 1.30404367e-01 2.17340612e-01 1.84739520e-01 2.28207643e-01 2.17340612e-01 2.39074673e-01 1.19537337e-01 1.95606551e-01 1.30404367e-01 2.39074673e-01 1.95606551e-01 1.52138428e-01 1.84739520e-01 1.08670306e-01 1.73872490e-01 1.95606551e-01 1.95606551e-01 1.63005459e-01 1.84739520e-01 1.19537337e-01 1.52138428e-01 8.69362448e-02 7.60692142e-02 1.30404367e-01 1.41271398e-01 1.63005459e-01 1.73872490e-01 1.95606551e-01 2.49941704e-01 9.78032754e-02 1.95606551e-01 1.19537337e-01 1.84739520e-01 2.06473581e-01 1.63005459e-01 1.52138428e-01 1.63005459e-01 1.30404367e-01 2.28207643e-01 1.84739520e-01 1.73872490e-01 1.19537337e-01 1.52138428e-01 1.30404367e-01 1.19537337e-01 2.06473581e-01 1.73872490e-01 1.84739520e-01 1.30404367e-01 1.41271398e-01 1.30404367e-01 1.84739520e-01 2.06473581e-01 1.52138428e-01 1.41271398e-01 1.08670306e-01 1.73872490e-01 1.63005459e-01 1.19537337e-01 2.28207643e-01 1.52138428e-01 1.95606551e-01 1.73872490e-01 1.52138428e-01 1.08670306e-01 1.30404367e-01 1.08670306e-01 1.41271398e-01 1.52138428e-01 1.08670306e-01 1.19537337e-01 8.69362448e-02 1.84739520e-01 2.28207643e-01 1.84739520e-01 1.95606551e-01 1.30404367e-01 1.41271398e-01 1.41271398e-01 2.17340612e-01 1.30404367e-01 2.60808734e-01 2.82542796e-01 1.52138428e-01 1.95606551e-01 1.52138428e-01 1.73872490e-01 1.73872490e-01 2.28207643e-01 1.73872490e-01 7.60692142e-02 1.52138428e-01 2.60808734e-01 1.30404367e-01 2.28207643e-01 1.30404367e-01 1.84739520e-01 9.78032754e-02 1.30404367e-01 1.52138428e-01 1.19537337e-01 2.06473581e-01 1.41271398e-01 1.41271398e-01 1.84739520e-01 2.49941704e-01 1.41271398e-01 2.06473581e-01 1.52138428e-01 2.60808734e-01 2.06473581e-01 1.84739520e-01 1.41271398e-01 2.17340612e-01 1.95606551e-01 2.17340612e-01 1.84739520e-01 6.52021836e-02 1.30404367e-01 1.41271398e-01 1.41271398e-01 1.30404367e-01 2.06473581e-01 1.41271398e-01 1.41271398e-01 2.60808734e-01 1.63005459e-01 1.08670306e-01 1.73872490e-01 1.30404367e-01 1.73872490e-01 1.84739520e-01 1.52138428e-01 1.30404367e-01 1.63005459e-01 1.19537337e-01 1.63005459e-01 2.17340612e-01 1.52138428e-01 2.06473581e-01 1.52138428e-01 1.95606551e-01 1.19537337e-01 1.73872490e-01 2.39074673e-01 2.06473581e-01 2.06473581e-01 1.95606551e-01 2.28207643e-01 1.52138428e-01 2.06473581e-01 1.41271398e-01 1.73872490e-01 1.41271398e-01 1.84739520e-01 1.84739520e-01 2.06473581e-01 1.08670306e-01 1.95606551e-01 2.93409826e-01 1.63005459e-01 1.95606551e-01 1.19537337e-01 1.08670306e-01 2.28207643e-01 2.93409826e-01 1.19537337e-01 1.84739520e-01 1.84739520e-01 2.17340612e-01 1.63005459e-01 2.06473581e-01 1.95606551e-01 1.41271398e-01 2.49941704e-01 2.17340612e-01 1.95606551e-01 1.41271398e-01 2.39074673e-01 1.95606551e-01 2.93409826e-01 1.52138428e-01 1.30404367e-01 8.69362448e-02 1.95606551e-01 1.95606551e-01 2.28207643e-01 1.52138428e-01 1.95606551e-01 2.28207643e-01 1.30404367e-01 1.52138428e-01 1.95606551e-01 1.52138428e-01 1.95606551e-01 2.28207643e-01 1.95606551e-01 2.06473581e-01 2.28207643e-01 1.73872490e-01 2.17340612e-01 2.60808734e-01 1.73872490e-01 1.63005459e-01 2.39074673e-01 1.73872490e-01 1.84739520e-01 2.39074673e-01 1.63005459e-01 1.73872490e-01 1.08670306e-01 1.95606551e-01 3.15143887e-01 1.52138428e-01 2.39074673e-01 1.84739520e-01 1.19537337e-01 2.28207643e-01 2.60808734e-01 2.06473581e-01 1.19537337e-01 1.52138428e-01 1.84739520e-01 1.73872490e-01 1.52138428e-01 2.39074673e-01 2.17340612e-01 1.84739520e-01 1.08670306e-01 1.95606551e-01 1.95606551e-01 1.52138428e-01 2.06473581e-01 1.84739520e-01 1.19537337e-01 1.73872490e-01 2.60808734e-01 2.17340612e-01 1.95606551e-01 1.63005459e-01 1.30404367e-01 1.73872490e-01 2.49941704e-01 1.95606551e-01 2.17340612e-01 2.49941704e-01 2.17340612e-01 2.60808734e-01 2.06473581e-01 2.06473581e-01 2.28207643e-01 1.84739520e-01 1.19537337e-01 1.63005459e-01 2.06473581e-01 2.28207643e-01 2.49941704e-01 2.06473581e-01 1.19537337e-01 1.08670306e-01 2.49941704e-01 2.06473581e-01 2.06473581e-01 1.95606551e-01 2.17340612e-01 1.73872490e-01 1.84739520e-01 1.84739520e-01 7.60692142e-02 1.52138428e-01 2.17340612e-01 1.84739520e-01 2.06473581e-01 2.28207643e-01 1.95606551e-01 1.63005459e-01 2.28207643e-01 1.41271398e-01 2.28207643e-01 1.63005459e-01 1.84739520e-01 1.95606551e-01 2.93409826e-01 2.39074673e-01 1.52138428e-01 3.47744979e-01 1.30404367e-01 2.17340612e-01 1.63005459e-01 1.30404367e-01 2.93409826e-01 1.30404367e-01 2.60808734e-01 1.73872490e-01 1.19537337e-01 1.30404367e-01 2.17340612e-01 7.60692142e-02 1.41271398e-01 1.41271398e-01 2.39074673e-01 2.06473581e-01 1.63005459e-01 2.17340612e-01 1.73872490e-01 2.49941704e-01 1.84739520e-01 2.28207643e-01 2.06473581e-01 1.41271398e-01 1.52138428e-01 2.71675765e-01 1.95606551e-01 1.73872490e-01 2.39074673e-01 1.84739520e-01 2.28207643e-01 2.93409826e-01 2.49941704e-01 2.28207643e-01 1.63005459e-01 2.39074673e-01 1.95606551e-01 2.39074673e-01 1.30404367e-01 3.04276857e-01 2.06473581e-01 2.17340612e-01 2.39074673e-01 2.49941704e-01 3.15143887e-01 3.36877949e-01 1.95606551e-01 2.49941704e-01 1.84739520e-01 1.41271398e-01 1.84739520e-01 1.73872490e-01 2.06473581e-01 2.17340612e-01 2.71675765e-01 2.06473581e-01 1.84739520e-01 1.73872490e-01 3.04276857e-01 1.63005459e-01 1.52138428e-01 2.60808734e-01 2.06473581e-01 1.63005459e-01 2.28207643e-01 2.82542796e-01 1.95606551e-01 2.82542796e-01 2.06473581e-01 2.39074673e-01 2.82542796e-01 2.49941704e-01 1.73872490e-01 2.17340612e-01 1.52138428e-01 2.49941704e-01 1.73872490e-01 2.49941704e-01 2.71675765e-01 2.39074673e-01 1.73872490e-01 2.28207643e-01 1.63005459e-01 2.28207643e-01 1.84739520e-01 1.95606551e-01 1.30404367e-01 2.71675765e-01 1.73872490e-01 2.39074673e-01 2.17340612e-01 8.69362448e-02 1.95606551e-01 1.73872490e-01 1.73872490e-01 2.49941704e-01 2.06473581e-01 2.28207643e-01 2.06473581e-01 2.39074673e-01 1.41271398e-01 2.06473581e-01 1.63005459e-01 2.17340612e-01 1.19537337e-01 1.52138428e-01 1.63005459e-01 2.06473581e-01 1.73872490e-01 3.04276857e-01 2.60808734e-01 1.84739520e-01 1.84739520e-01 2.06473581e-01 1.41271398e-01 2.39074673e-01 1.30404367e-01 2.49941704e-01 2.49941704e-01 2.17340612e-01 2.49941704e-01 1.73872490e-01 1.52138428e-01 2.06473581e-01 2.06473581e-01 1.84739520e-01 2.82542796e-01 1.52138428e-01 2.49941704e-01 2.17340612e-01 1.52138428e-01 1.95606551e-01 3.15143887e-01 1.73872490e-01 1.63005459e-01 2.93409826e-01 1.73872490e-01 2.17340612e-01 1.52138428e-01 1.84739520e-01 2.28207643e-01 3.47744979e-01 1.63005459e-01 1.52138428e-01 3.36877949e-01 2.39074673e-01 1.73872490e-01 2.60808734e-01 2.60808734e-01 2.28207643e-01 1.63005459e-01 3.15143887e-01 1.73872490e-01 1.95606551e-01 2.71675765e-01 1.52138428e-01 1.84739520e-01 1.63005459e-01 1.63005459e-01 1.08670306e-01 1.95606551e-01 2.82542796e-01 2.71675765e-01 2.06473581e-01 2.71675765e-01 2.71675765e-01 1.95606551e-01 1.84739520e-01 2.06473581e-01 3.04276857e-01 2.17340612e-01 2.49941704e-01 2.93409826e-01 2.82542796e-01 1.95606551e-01 2.17340612e-01 2.60808734e-01 1.95606551e-01 2.28207643e-01 1.95606551e-01 1.73872490e-01 1.63005459e-01 6.19420744e-01 2.17340612e-01 2.06473581e-01 2.60808734e-01 2.17340612e-01 1.52138428e-01 1.84739520e-01 2.60808734e-01 3.47744979e-01 2.06473581e-01 2.06473581e-01 2.17340612e-01 2.39074673e-01 2.60808734e-01 1.84739520e-01 2.28207643e-01 2.49941704e-01 2.49941704e-01 1.08670306e-01 1.95606551e-01 3.15143887e-01 1.84739520e-01 2.06473581e-01 1.84739520e-01 2.60808734e-01 3.15143887e-01 2.39074673e-01 1.73872490e-01 2.39074673e-01 2.39074673e-01 1.52138428e-01 1.84739520e-01 2.49941704e-01 2.71675765e-01 3.36877949e-01 1.52138428e-01 1.63005459e-01 2.49941704e-01 2.28207643e-01 2.06473581e-01 2.82542796e-01 2.82542796e-01 2.49941704e-01 4.02080132e-01 2.06473581e-01 1.95606551e-01 2.17340612e-01 2.82542796e-01 2.06473581e-01 2.39074673e-01 2.60808734e-01 2.17340612e-01 2.39074673e-01 2.60808734e-01 2.28207643e-01 1.95606551e-01 2.17340612e-01 2.49941704e-01 2.17340612e-01 2.17340612e-01 1.63005459e-01 1.84739520e-01 2.60808734e-01 3.36877949e-01 2.93409826e-01 3.04276857e-01 1.63005459e-01 3.47744979e-01 2.28207643e-01 1.73872490e-01 3.15143887e-01 2.82542796e-01 3.47744979e-01 2.06473581e-01 2.71675765e-01 2.71675765e-01 2.39074673e-01 1.63005459e-01 2.82542796e-01 2.49941704e-01 2.49941704e-01 2.49941704e-01 1.73872490e-01 1.73872490e-01 1.95606551e-01 2.28207643e-01 2.28207643e-01 2.49941704e-01 2.06473581e-01 2.60808734e-01 1.30404367e-01 2.39074673e-01 2.39074673e-01 2.39074673e-01 2.49941704e-01 1.84739520e-01 2.82542796e-01 1.95606551e-01 2.17340612e-01 2.49941704e-01 2.71675765e-01 2.60808734e-01 2.06473581e-01 1.52138428e-01 2.17340612e-01 2.17340612e-01 2.39074673e-01 2.60808734e-01 1.95606551e-01 1.95606551e-01 2.71675765e-01 2.06473581e-01 1.95606551e-01 1.84739520e-01 2.82542796e-01 2.71675765e-01 1.95606551e-01 1.73872490e-01 2.49941704e-01 3.47744979e-01 2.93409826e-01 3.15143887e-01 2.06473581e-01 2.39074673e-01 3.15143887e-01 2.17340612e-01 2.06473581e-01 2.39074673e-01 2.17340612e-01 2.28207643e-01 2.60808734e-01 2.60808734e-01 3.36877949e-01 3.04276857e-01 1.19537337e-01 1.95606551e-01 1.63005459e-01 2.93409826e-01 2.39074673e-01 2.93409826e-01 2.06473581e-01 3.69479040e-01 1.95606551e-01 2.82542796e-01 2.82542796e-01 1.63005459e-01 2.28207643e-01 3.04276857e-01 2.39074673e-01 2.71675765e-01 2.39074673e-01 1.52138428e-01 2.60808734e-01 1.95606551e-01 2.71675765e-01 3.26010918e-01 2.39074673e-01 3.26010918e-01 1.73872490e-01 2.49941704e-01 3.69479040e-01 1.73872490e-01 2.28207643e-01 2.17340612e-01 2.28207643e-01 2.93409826e-01 2.71675765e-01 1.84739520e-01 2.71675765e-01 2.39074673e-01 2.49941704e-01 2.17340612e-01 3.69479040e-01 2.71675765e-01 2.28207643e-01 2.49941704e-01 3.15143887e-01 3.04276857e-01 2.71675765e-01 3.04276857e-01 2.17340612e-01 2.71675765e-01 2.60808734e-01 1.52138428e-01 2.93409826e-01 3.15143887e-01 2.39074673e-01 2.17340612e-01 3.26010918e-01 3.04276857e-01 2.06473581e-01 2.28207643e-01 3.26010918e-01 3.15143887e-01 2.71675765e-01 3.04276857e-01 2.71675765e-01 1.52138428e-01 2.60808734e-01 2.60808734e-01 2.49941704e-01 3.15143887e-01 2.39074673e-01 2.17340612e-01 2.71675765e-01 3.15143887e-01 1.73872490e-01 3.15143887e-01 2.71675765e-01 2.39074673e-01 3.04276857e-01 2.93409826e-01 2.28207643e-01 2.82542796e-01 2.49941704e-01 3.58612010e-01 2.93409826e-01 2.06473581e-01 2.60808734e-01 2.49941704e-01 2.71675765e-01 3.04276857e-01 2.06473581e-01 2.39074673e-01 2.71675765e-01 3.15143887e-01 3.15143887e-01 1.84739520e-01 3.26010918e-01 1.95606551e-01 3.26010918e-01 2.28207643e-01 3.04276857e-01 2.06473581e-01 2.49941704e-01 3.36877949e-01 2.93409826e-01 2.39074673e-01 2.93409826e-01 3.91213102e-01 1.63005459e-01 2.93409826e-01 2.28207643e-01 3.15143887e-01 2.17340612e-01 2.71675765e-01 1.95606551e-01 2.71675765e-01 2.82542796e-01 1.95606551e-01 2.93409826e-01 2.17340612e-01 3.47744979e-01 2.39074673e-01 2.60808734e-01 4.12947163e-01 2.28207643e-01 3.69479040e-01 2.60808734e-01 3.36877949e-01 2.28207643e-01 3.26010918e-01 2.71675765e-01 2.39074673e-01 3.91213102e-01 2.28207643e-01 3.36877949e-01 2.60808734e-01 3.15143887e-01 2.28207643e-01 2.39074673e-01 2.49941704e-01 3.47744979e-01 2.17340612e-01 3.04276857e-01 2.82542796e-01 2.60808734e-01 1.95606551e-01 1.84739520e-01 3.36877949e-01 2.17340612e-01 3.47744979e-01 3.36877949e-01 3.47744979e-01 3.58612010e-01 2.06473581e-01 2.71675765e-01 3.26010918e-01 2.93409826e-01 2.93409826e-01 3.04276857e-01 2.49941704e-01 4.78149346e-01 3.36877949e-01 3.04276857e-01 3.47744979e-01 3.15143887e-01 2.82542796e-01 2.28207643e-01 3.04276857e-01 2.82542796e-01 2.93409826e-01 2.28207643e-01 3.47744979e-01 2.82542796e-01 3.80346071e-01 2.93409826e-01 3.80346071e-01 2.71675765e-01 3.47744979e-01 3.15143887e-01 2.82542796e-01 2.93409826e-01 2.49941704e-01 2.71675765e-01 2.39074673e-01 2.49941704e-01 2.60808734e-01 2.39074673e-01 3.15143887e-01 2.17340612e-01 2.28207643e-01 2.49941704e-01 2.49941704e-01 2.06473581e-01 3.15143887e-01 3.47744979e-01 3.36877949e-01 2.49941704e-01 4.12947163e-01 1.84739520e-01 1.52138428e-01 2.82542796e-01 2.49941704e-01 2.39074673e-01 3.47744979e-01 2.49941704e-01 3.15143887e-01 3.04276857e-01 4.23814193e-01 4.45548255e-01 2.71675765e-01 3.04276857e-01 2.49941704e-01 2.06473581e-01 2.28207643e-01 3.04276857e-01 3.15143887e-01 3.91213102e-01 2.82542796e-01 4.12947163e-01 3.15143887e-01 3.26010918e-01 4.02080132e-01 2.71675765e-01 2.93409826e-01 3.47744979e-01 4.12947163e-01 4.34681224e-01 3.04276857e-01 2.82542796e-01 2.28207643e-01 3.58612010e-01 3.15143887e-01 2.82542796e-01 2.60808734e-01 2.06473581e-01 3.04276857e-01 4.45548255e-01 4.02080132e-01 2.93409826e-01 3.26010918e-01 3.47744979e-01 7.28091050e-01 4.12947163e-01 1.95606551e-01 3.36877949e-01 2.17340612e-01 2.49941704e-01 3.36877949e-01 3.47744979e-01 3.26010918e-01 2.60808734e-01 3.26010918e-01 3.58612010e-01 4.23814193e-01 3.15143887e-01 3.36877949e-01 2.93409826e-01 2.39074673e-01 3.47744979e-01 3.47744979e-01 3.26010918e-01 4.34681224e-01 3.47744979e-01 2.93409826e-01 3.80346071e-01 3.69479040e-01 3.04276857e-01 4.02080132e-01 3.80346071e-01 2.39074673e-01 4.56415285e-01 3.80346071e-01 3.47744979e-01 2.93409826e-01 3.36877949e-01 3.69479040e-01 2.93409826e-01 2.71675765e-01 2.39074673e-01 3.15143887e-01 2.82542796e-01 3.69479040e-01 3.04276857e-01 3.58612010e-01 3.04276857e-01 2.39074673e-01 3.58612010e-01 2.93409826e-01 3.26010918e-01 3.36877949e-01 2.49941704e-01 2.06473581e-01 2.82542796e-01 3.58612010e-01 4.02080132e-01 3.91213102e-01 3.80346071e-01 3.69479040e-01 3.69479040e-01 3.58612010e-01 4.02080132e-01 3.26010918e-01 2.39074673e-01 2.82542796e-01 3.04276857e-01 4.45548255e-01 3.36877949e-01 3.91213102e-01 3.91213102e-01 3.91213102e-01 2.49941704e-01 3.47744979e-01 3.04276857e-01 3.58612010e-01 3.26010918e-01 2.28207643e-01 3.80346071e-01 3.58612010e-01 2.39074673e-01 3.15143887e-01 3.69479040e-01 2.82542796e-01 3.15143887e-01 2.82542796e-01 4.34681224e-01 3.15143887e-01 2.71675765e-01 4.02080132e-01 2.93409826e-01 3.04276857e-01 3.80346071e-01 2.93409826e-01 3.04276857e-01 3.69479040e-01 3.58612010e-01 4.02080132e-01 2.71675765e-01 2.93409826e-01 3.91213102e-01 3.36877949e-01 4.23814193e-01 4.12947163e-01 3.69479040e-01 3.47744979e-01 3.58612010e-01 4.67282316e-01 3.36877949e-01 3.69479040e-01 3.15143887e-01 2.71675765e-01 2.82542796e-01 5.65085591e-01 3.36877949e-01 3.91213102e-01 2.82542796e-01 6.84622928e-01 3.36877949e-01 3.47744979e-01 4.12947163e-01 3.36877949e-01 3.80346071e-01 3.36877949e-01 3.15143887e-01 4.56415285e-01 3.26010918e-01 3.91213102e-01 3.58612010e-01 4.02080132e-01 4.02080132e-01 3.80346071e-01 3.58612010e-01 2.82542796e-01 3.04276857e-01 3.69479040e-01 3.58612010e-01 3.91213102e-01 2.82542796e-01 3.36877949e-01 4.02080132e-01 3.36877949e-01 4.56415285e-01 3.91213102e-01 2.93409826e-01 3.04276857e-01 3.26010918e-01 4.12947163e-01 3.58612010e-01 2.82542796e-01 3.04276857e-01 4.34681224e-01 4.12947163e-01 3.69479040e-01 4.02080132e-01 4.99883408e-01 2.49941704e-01 2.71675765e-01 3.15143887e-01 3.15143887e-01 3.91213102e-01 4.12947163e-01 3.47744979e-01 3.15143887e-01 4.56415285e-01 4.23814193e-01 4.12947163e-01 3.91213102e-01 4.45548255e-01 3.04276857e-01 4.67282316e-01 4.34681224e-01 3.91213102e-01 4.02080132e-01 4.34681224e-01 3.69479040e-01 4.34681224e-01 4.23814193e-01 3.80346071e-01 3.47744979e-01 3.58612010e-01 4.34681224e-01 2.39074673e-01 5.43351530e-01 3.26010918e-01 2.93409826e-01 4.56415285e-01 3.69479040e-01 3.04276857e-01 3.47744979e-01 4.12947163e-01 3.15143887e-01 3.58612010e-01 4.34681224e-01 3.15143887e-01 4.34681224e-01 4.02080132e-01 4.56415285e-01 3.91213102e-01 3.91213102e-01 3.69479040e-01 2.60808734e-01 3.04276857e-01 3.91213102e-01 5.10750438e-01 3.91213102e-01 5.32484499e-01 4.34681224e-01 3.36877949e-01 3.91213102e-01 4.23814193e-01 4.12947163e-01 3.58612010e-01 3.36877949e-01 4.78149346e-01 4.02080132e-01 2.82542796e-01 3.69479040e-01 3.69479040e-01 4.34681224e-01 2.93409826e-01 4.23814193e-01 4.34681224e-01 4.23814193e-01 4.12947163e-01 2.71675765e-01 4.78149346e-01 2.39074673e-01 3.58612010e-01 4.23814193e-01 4.78149346e-01 3.47744979e-01 3.47744979e-01 4.34681224e-01 4.67282316e-01 4.12947163e-01 5.21617469e-01 4.02080132e-01 4.56415285e-01 3.47744979e-01 4.23814193e-01 4.02080132e-01 3.91213102e-01 4.78149346e-01 4.34681224e-01 4.89016377e-01 3.80346071e-01 3.26010918e-01 5.10750438e-01 3.91213102e-01 3.36877949e-01 3.69479040e-01 4.99883408e-01 4.78149346e-01 5.10750438e-01 3.69479040e-01 4.67282316e-01 4.02080132e-01 3.80346071e-01 4.56415285e-01 4.12947163e-01 4.23814193e-01 4.23814193e-01 4.56415285e-01 5.21617469e-01 3.47744979e-01 3.36877949e-01 3.47744979e-01 3.47744979e-01 3.91213102e-01 5.10750438e-01 4.23814193e-01 4.12947163e-01 2.60808734e-01 5.10750438e-01 5.21617469e-01 4.34681224e-01 4.89016377e-01 3.36877949e-01 4.56415285e-01 4.67282316e-01 4.99883408e-01 4.12947163e-01 4.34681224e-01 5.21617469e-01 5.43351530e-01 4.12947163e-01 4.23814193e-01 4.78149346e-01 4.02080132e-01 4.45548255e-01 4.99883408e-01 5.54218561e-01 4.45548255e-01 4.89016377e-01 5.65085591e-01 3.26010918e-01 5.43351530e-01 4.89016377e-01 4.56415285e-01 4.12947163e-01 5.32484499e-01 3.91213102e-01 5.10750438e-01 5.32484499e-01 5.21617469e-01 4.99883408e-01 4.12947163e-01 3.58612010e-01 3.15143887e-01 4.34681224e-01 5.86819652e-01 4.99883408e-01 4.67282316e-01 4.12947163e-01 4.78149346e-01 6.19420744e-01 4.89016377e-01 4.99883408e-01 4.45548255e-01 4.67282316e-01 5.43351530e-01 4.89016377e-01 5.10750438e-01 4.45548255e-01 4.99883408e-01 5.65085591e-01 5.65085591e-01 5.21617469e-01 4.67282316e-01 5.65085591e-01 4.56415285e-01 6.30287775e-01 4.78149346e-01 4.99883408e-01 3.91213102e-01 5.10750438e-01 4.78149346e-01 4.67282316e-01 4.23814193e-01 4.89016377e-01 5.97686683e-01 4.89016377e-01 5.10750438e-01 3.80346071e-01 3.91213102e-01 5.32484499e-01 5.75952622e-01 4.89016377e-01 5.10750438e-01 5.75952622e-01 4.99883408e-01 5.65085591e-01 5.21617469e-01 5.10750438e-01 4.99883408e-01 4.02080132e-01 4.23814193e-01 5.65085591e-01 4.89016377e-01 6.30287775e-01 5.86819652e-01 5.54218561e-01 6.19420744e-01 4.99883408e-01 6.95489958e-01 4.89016377e-01 5.75952622e-01 7.60692142e-01 5.10750438e-01 4.34681224e-01 4.78149346e-01 4.99883408e-01 4.67282316e-01 4.99883408e-01 5.65085591e-01 5.32484499e-01 4.56415285e-01 6.08553714e-01 5.32484499e-01 6.08553714e-01 6.52021836e-01 4.89016377e-01 5.65085591e-01 4.89016377e-01 4.34681224e-01 4.67282316e-01 4.78149346e-01 6.52021836e-01 5.75952622e-01 6.30287775e-01 4.89016377e-01 5.75952622e-01 5.75952622e-01 6.08553714e-01 5.97686683e-01 4.67282316e-01 3.80346071e-01 5.54218561e-01 5.10750438e-01 5.65085591e-01 5.43351530e-01 6.19420744e-01 5.32484499e-01 4.99883408e-01 5.75952622e-01 7.17224020e-01 5.54218561e-01 5.75952622e-01 6.95489958e-01 5.97686683e-01 5.65085591e-01 8.15027295e-01 4.45548255e-01 5.21617469e-01 4.23814193e-01 5.75952622e-01 6.62888867e-01 4.99883408e-01 6.08553714e-01 7.06356989e-01 6.08553714e-01 6.08553714e-01 7.38958081e-01 5.75952622e-01 5.97686683e-01 6.08553714e-01 5.32484499e-01 6.41154805e-01 5.86819652e-01 7.17224020e-01 7.17224020e-01 5.43351530e-01 5.65085591e-01 6.30287775e-01 6.41154805e-01 5.43351530e-01 4.78149346e-01 5.97686683e-01 4.89016377e-01 5.97686683e-01 5.75952622e-01 5.75952622e-01 6.08553714e-01 7.38958081e-01 7.60692142e-01 5.32484499e-01 7.06356989e-01 4.99883408e-01 4.67282316e-01 5.86819652e-01 6.41154805e-01 5.75952622e-01 6.30287775e-01 6.19420744e-01 5.75952622e-01 6.52021836e-01 6.73755897e-01 4.99883408e-01 4.89016377e-01 6.19420744e-01 6.30287775e-01 5.32484499e-01 6.84622928e-01 6.95489958e-01 8.04160264e-01 7.28091050e-01 6.73755897e-01 6.30287775e-01 5.10750438e-01 5.75952622e-01 7.17224020e-01 5.32484499e-01 4.99883408e-01 5.43351530e-01 6.62888867e-01 5.32484499e-01 6.52021836e-01 5.54218561e-01 5.43351530e-01 5.65085591e-01 6.62888867e-01 5.97686683e-01 4.67282316e-01 5.65085591e-01 6.52021836e-01 7.93293234e-01 5.97686683e-01 6.19420744e-01 4.89016377e-01 5.97686683e-01 4.89016377e-01 6.62888867e-01 8.04160264e-01 6.30287775e-01 7.06356989e-01 7.06356989e-01 5.97686683e-01 6.19420744e-01 5.10750438e-01 6.41154805e-01 6.62888867e-01 7.28091050e-01 5.10750438e-01 5.43351530e-01 6.19420744e-01 6.08553714e-01 7.17224020e-01 7.06356989e-01 6.52021836e-01 7.17224020e-01 8.25894326e-01 7.17224020e-01 6.95489958e-01 6.95489958e-01 6.08553714e-01 7.60692142e-01 7.38958081e-01 5.65085591e-01 5.97686683e-01 6.62888867e-01 6.95489958e-01 7.82426203e-01 7.49825111e-01 6.30287775e-01 7.82426203e-01 7.06356989e-01 7.06356989e-01 7.71559173e-01 7.49825111e-01 7.38958081e-01 7.06356989e-01 7.82426203e-01 7.38958081e-01 7.71559173e-01 8.04160264e-01 5.97686683e-01 7.17224020e-01 7.38958081e-01 4.78149346e-01 7.82426203e-01 6.84622928e-01 7.28091050e-01 7.49825111e-01 6.62888867e-01 7.49825111e-01 5.97686683e-01 6.73755897e-01 8.04160264e-01 7.28091050e-01 6.84622928e-01 7.17224020e-01 8.58495417e-01 6.52021836e-01 8.69362448e-01 8.47628387e-01 7.71559173e-01 7.17224020e-01 6.73755897e-01 8.15027295e-01 9.34564632e-01 9.23697601e-01 4.99883408e-01 7.82426203e-01 7.28091050e-01 7.28091050e-01 6.84622928e-01 6.73755897e-01 5.43351530e-01 8.04160264e-01 6.62888867e-01 6.19420744e-01 8.15027295e-01 8.91096509e-01 7.28091050e-01 7.38958081e-01 8.69362448e-01 8.15027295e-01 6.95489958e-01 8.25894326e-01 8.47628387e-01 7.60692142e-01 9.99766815e-01 5.65085591e-01 8.04160264e-01 6.84622928e-01 9.67165723e-01 5.97686683e-01 8.69362448e-01 7.28091050e-01 8.80229479e-01 7.17224020e-01 7.17224020e-01 7.82426203e-01 8.36761356e-01 8.58495417e-01 9.78032754e-01 7.82426203e-01 9.67165723e-01 1.11930415e+00 9.01963540e-01 7.60692142e-01 6.19420744e-01 7.49825111e-01 7.38958081e-01 7.38958081e-01 8.47628387e-01 7.06356989e-01 8.04160264e-01 8.36761356e-01 8.58495417e-01 8.04160264e-01 7.82426203e-01 7.82426203e-01 9.88899785e-01 8.91096509e-01 8.91096509e-01 9.23697601e-01 8.25894326e-01 9.34564632e-01 8.47628387e-01 1.03236791e+00 1.05410197e+00 9.45431662e-01 9.99766815e-01 8.47628387e-01 7.60692142e-01 9.23697601e-01 7.60692142e-01 9.01963540e-01 9.34564632e-01 1.03236791e+00 9.67165723e-01 9.88899785e-01 8.15027295e-01 1.39097992e+00 8.69362448e-01 1.19537337e+00 9.45431662e-01 9.23697601e-01 1.14103821e+00 1.06496900e+00 1.09757009e+00 9.01963540e-01 9.34564632e-01 9.23697601e-01 1.15190524e+00 9.01963540e-01 9.56298693e-01 8.69362448e-01 9.67165723e-01 9.88899785e-01 9.67165723e-01 9.12830570e-01 1.26057555e+00 1.14103821e+00 9.45431662e-01 1.16277227e+00 1.01063385e+00 8.47628387e-01 1.02150088e+00 1.04323494e+00 9.12830570e-01 8.58495417e-01 1.16277227e+00 9.23697601e-01 9.56298693e-01 9.78032754e-01 8.36761356e-01 9.34564632e-01 1.04323494e+00 1.02150088e+00 1.06496900e+00 8.58495417e-01 9.67165723e-01 9.56298693e-01 8.58495417e-01 1.07583603e+00 1.10843712e+00 1.06496900e+00 1.09757009e+00 9.12830570e-01 9.34564632e-01 1.20624040e+00 9.56298693e-01 8.91096509e-01 8.58495417e-01 1.08670306e+00 1.09757009e+00 8.80229479e-01 1.10843712e+00 1.16277227e+00 1.17363930e+00 9.99766815e-01 1.14103821e+00 1.11930415e+00 1.10843712e+00 1.13017118e+00 8.91096509e-01 1.03236791e+00 1.20624040e+00 9.45431662e-01 1.31491070e+00 8.04160264e-01 8.91096509e-01 1.07583603e+00 1.10843712e+00 1.07583603e+00 1.09757009e+00 1.31491070e+00 1.23884149e+00 1.09757009e+00 1.28230961e+00 1.09757009e+00 1.18450634e+00 1.20624040e+00 1.15190524e+00 1.11930415e+00 9.78032754e-01 1.42358101e+00 9.67165723e-01 1.19537337e+00 1.22797446e+00 1.05410197e+00 1.15190524e+00 1.16277227e+00 1.21710743e+00 1.22797446e+00 1.13017118e+00 1.19537337e+00 1.14103821e+00 1.33664476e+00 1.18450634e+00 1.04323494e+00 1.08670306e+00 1.29317664e+00 1.29317664e+00 1.19537337e+00 1.23884149e+00 1.20624040e+00 1.39097992e+00 1.20624040e+00 1.05410197e+00 1.26057555e+00 1.16277227e+00 1.06496900e+00 1.31491070e+00 1.24970852e+00 1.22797446e+00 1.41271398e+00 1.18450634e+00 1.40184695e+00 1.35837882e+00 1.35837882e+00 1.27144258e+00 1.58658647e+00 1.30404367e+00 1.22797446e+00 1.39097992e+00 1.24970852e+00 1.54311835e+00 1.29317664e+00 1.35837882e+00 1.30404367e+00 1.48878319e+00 1.54311835e+00 1.30404367e+00 1.32577773e+00 1.40184695e+00 1.59745350e+00 1.56485241e+00 1.24970852e+00 1.32577773e+00 1.64092162e+00 1.48878319e+00 1.56485241e+00 1.26057555e+00 1.45618210e+00 1.84739520e+00 1.60832053e+00 1.39097992e+00 1.73872490e+00 1.41271398e+00 1.27144258e+00 1.45618210e+00 1.32577773e+00 2.05386878e+00 1.52138428e+00 1.68438974e+00 2.04300175e+00 1.56485241e+00 2.31467752e+00 1.33664476e+00 1.32577773e+00 1.63005459e+00 1.57571944e+00 1.57571944e+00 1.55398538e+00 1.54311835e+00 1.52138428e+00 1.63005459e+00 1.40184695e+00 1.64092162e+00 1.39097992e+00 1.52138428e+00 1.46704913e+00 1.79306005e+00 1.72785787e+00 1.66265568e+00 1.49965022e+00 1.56485241e+00 1.77132599e+00 1.46704913e+00 1.79306005e+00 1.61918756e+00 1.57571944e+00 1.55398538e+00 1.49965022e+00 1.42358101e+00 1.45618210e+00 1.85826223e+00 1.82566114e+00 1.44531507e+00 1.47791616e+00 1.86912926e+00 2.16253909e+00 1.79306005e+00 1.80392708e+00 1.47791616e+00 1.76045896e+00 1.95606551e+00 1.67352271e+00 1.78219302e+00 1.79306005e+00 1.84739520e+00 1.65178865e+00 1.49965022e+00 1.73872490e+00 1.69525677e+00 2.16253909e+00 1.97779957e+00 1.63005459e+00 2.14080503e+00 1.81479411e+00 1.85826223e+00 1.76045896e+00 2.06473581e+00 1.77132599e+00 1.77132599e+00 1.71699083e+00 2.09733691e+00 1.56485241e+00 2.12993800e+00 1.95606551e+00 1.82566114e+00 1.98866660e+00 2.06473581e+00 2.15167206e+00 2.19514018e+00 1.93433145e+00 1.95606551e+00 2.08646988e+00 1.67352271e+00 2.28207643e+00 2.08646988e+00 1.92346442e+00 1.94519848e+00 1.86912926e+00 1.86912926e+00 2.14080503e+00 2.15167206e+00 2.20600721e+00 1.94519848e+00 2.24947533e+00 2.03213472e+00 1.99953363e+00 2.10820394e+00 1.87999629e+00 2.16253909e+00 2.16253909e+00 2.28207643e+00 2.35814564e+00 2.44508188e+00 2.33641158e+00 2.19514018e+00 2.41248079e+00 1.93433145e+00 2.26034236e+00 2.21687424e+00 2.19514018e+00 2.22774127e+00 2.33641158e+00 2.53201813e+00 2.36901267e+00 2.29294346e+00 2.74935874e+00 2.39074673e+00 2.57548625e+00 2.55375219e+00 2.68415656e+00 2.26034236e+00 2.51028407e+00 2.49941704e+00 2.62982141e+00 2.80369389e+00 2.58635328e+00 2.45594892e+00 2.67328953e+00 2.36901267e+00 2.55375219e+00 2.70589062e+00 2.97756638e+00 3.05363560e+00 2.91236420e+00 2.41248079e+00 2.51028407e+00 2.92323123e+00 2.99930045e+00 3.06450263e+00 2.47768298e+00 2.85802905e+00 2.66242250e+00 2.87976311e+00 2.71675765e+00 3.01016748e+00 2.60808734e+00 2.97756638e+00 2.92323123e+00 2.73849171e+00 2.85802905e+00 3.34704542e+00 2.81456093e+00 3.11883778e+00 2.72762468e+00 3.10797075e+00 2.76022577e+00 3.85779586e+00 3.24924215e+00 3.52091791e+00 4.06426944e+00 3.10797075e+00 3.05363560e+00 3.20577403e+00 3.21664106e+00 3.09710372e+00 2.93409826e+00 3.24924215e+00 3.08623669e+00 3.12970481e+00 3.43398167e+00 3.35791246e+00 3.41224761e+00 3.17317294e+00 3.12970481e+00 3.56438604e+00 3.21664106e+00 3.64045525e+00 3.79259368e+00 3.94473211e+00 3.32531136e+00 3.59698713e+00 3.33617839e+00 3.78172665e+00 3.43398167e+00 3.48831682e+00 3.79259368e+00 3.55351901e+00 3.31444433e+00 3.96646617e+00 4.78149346e+00 4.11860460e+00 4.18380678e+00 3.73825853e+00 4.18380678e+00 3.56438604e+00 4.16207272e+00 4.07513647e+00 3.80346071e+00 4.41201442e+00 4.23814193e+00 4.06426944e+00 3.67305634e+00 4.87929674e+00 4.21640787e+00 4.18380678e+00 4.37941333e+00 4.62935504e+00 4.48808364e+00 4.78149346e+00 3.70565743e+00 4.32507818e+00 5.02056814e+00 4.57501988e+00 4.35767927e+00 4.98796705e+00 4.43374848e+00 4.41201442e+00 4.30334412e+00 4.90103080e+00 4.23814193e+00 4.06426944e+00 4.28161006e+00 4.68369019e+00 5.40091421e+00 5.28137687e+00 5.12923844e+00 5.08577032e+00 5.19444063e+00 5.39004718e+00 4.83582862e+00 5.60738779e+00 5.50958451e+00 5.08577032e+00 5.67258997e+00 5.60738779e+00 5.72692513e+00 5.83559543e+00 6.13987229e+00 5.75952622e+00 5.71605810e+00 6.19420744e+00 5.91166465e+00 5.95513277e+00 6.04206901e+00 6.35721290e+00 6.13987229e+00 6.37894696e+00 6.28114369e+00 7.11790504e+00 7.85686312e+00 7.10703801e+00 7.32437862e+00 7.57432033e+00 7.29177753e+00 7.28091050e+00 7.85686312e+00 7.09617098e+00 6.80276116e+00 7.66125657e+00 7.23744238e+00 6.93316552e+00 7.49825111e+00 8.33501247e+00 7.73732579e+00 8.20460810e+00 8.32414544e+00 9.45431662e+00 7.91119828e+00 8.97616728e+00 8.67189042e+00 8.58495417e+00 9.71512536e+00 9.50865177e+00 9.25871007e+00 8.67189042e+00 9.46518365e+00 9.32391225e+00 9.23697601e+00 9.05223649e+00 9.91073191e+00 9.53038584e+00 9.29131116e+00 9.93246597e+00 1.08344295e+01 1.26383566e+01 1.07909614e+01 1.17255260e+01 1.08018284e+01 1.28339631e+01 1.15625206e+01 1.33664476e+01 1.06496900e+01 1.17689941e+01 1.32903784e+01 1.24101489e+01 1.24427500e+01 1.34751179e+01 1.56485241e+01 1.37033256e+01 1.64309503e+01 1.67786952e+01 1.56593911e+01 1.19537337e+01 1.25948885e+01 1.55181197e+01 1.57137262e+01 1.72459776e+01 1.51160396e+01 1.51812417e+01 1.79740686e+01 1.69417007e+01 1.77241269e+01 1.88977662e+01 1.52899121e+01 1.91368409e+01 1.87456278e+01 1.45400869e+01 1.76915258e+01 1.88651651e+01 2.15710557e+01 2.49941704e+01 2.51680429e+01 2.41139409e+01 2.05495549e+01 2.16797260e+01 2.07994966e+01 2.11581086e+01 1.91259739e+01 1.56267900e+01 1.89412343e+01 2.01800758e+01 3.10471064e+01 3.53178494e+01 4.84995576e+01 3.53504505e+01 5.03686868e+01 1.99518682e+01 1.56593911e+01 1.62679448e+01 1.83435477e+01 2.48311649e+01 2.19731359e+01 3.03624835e+01 2.99821374e+01 5.98012694e+01 6.51587155e+01 2.43095475e+01 2.02778791e+01 1.49639011e+01 1.04866845e+01 1.68764985e+01 3.12861811e+01 1.43444804e+01 2.54288516e+01 7.35806642e+01 7.25917644e+01 4.12947163e+00 3.54265198e+00 4.35767927e+00 4.56415285e+00 4.14033866e+00 3.59698713e+00 3.93386508e+00 3.40138058e+00 4.62935504e+00 3.66218931e+00 3.29271027e+00 5.49871748e+00 2.48855001e+00 2.49941704e+00 3.09710372e+00 2.02126769e+00 1.94519848e+00 1.97779957e+00 1.18450634e+00 1.44531507e+00 1.56485241e+00 1.16277227e+00 1.15190524e+00 1.26057555e+00 1.57571944e+00 1.41271398e+00 1.27144258e+00 1.14103821e+00 9.12830570e-01 1.21710743e+00 1.34751179e+00 1.21710743e+00 7.71559173e-01 8.80229479e-01 8.36761356e-01 8.36761356e-01 8.04160264e-01 7.82426203e-01 7.93293234e-01 5.75952622e-01 8.04160264e-01 5.10750438e-01 8.69362448e-01 8.80229479e-01 8.36761356e-01 5.10750438e-01 4.56415285e-01 4.45548255e-01 4.67282316e-01 4.67282316e-01 3.58612010e-01 1.84739520e-01 3.36877949e-01 2.60808734e-01 3.80346071e-01 2.49941704e-01 2.28207643e-01 1.52138428e-01 2.17340612e-01 2.49941704e-01 2.49941704e-01 1.30404367e-01 1.73872490e-01 1.63005459e-01 1.19537337e-01 1.30404367e-01 5.43351530e-02 9.78032754e-02 7.60692142e-02 2.17340612e-02 4.34681224e-02 2.17340612e-02 1.08670306e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - 2.24472315e-02 4.48944630e-02 1.34683389e-01 2.02025083e-01 4.71391861e-01 3.81602935e-01 5.61180787e-01 5.16286324e-01 4.71391861e-01 5.61180787e-01 7.18311408e-01 5.61180787e-01 8.75442028e-01 7.63205871e-01 6.50969713e-01 7.40758639e-01 6.06075250e-01 8.08100334e-01 5.38733556e-01 4.48944630e-01 9.87678186e-01 8.08100334e-01 6.95864176e-01 6.73416945e-01 6.95864176e-01 1.09991434e+00 7.18311408e-01 6.28522482e-01 7.40758639e-01 7.63205871e-01 6.50969713e-01 8.97889260e-01 5.61180787e-01 6.95864176e-01 6.06075250e-01 7.18311408e-01 9.87678186e-01 7.63205871e-01 8.97889260e-01 7.40758639e-01 5.83628019e-01 5.16286324e-01 6.50969713e-01 7.18311408e-01 6.50969713e-01 6.50969713e-01 8.75442028e-01 4.93839093e-01 5.83628019e-01 6.73416945e-01 5.83628019e-01 4.93839093e-01 5.16286324e-01 3.81602935e-01 2.91814009e-01 6.50969713e-01 6.50969713e-01 4.48944630e-01 7.40758639e-01 5.61180787e-01 4.48944630e-01 4.04050167e-01 6.28522482e-01 4.26497398e-01 5.38733556e-01 6.95864176e-01 5.38733556e-01 4.48944630e-01 5.61180787e-01 5.16286324e-01 5.16286324e-01 4.26497398e-01 4.48944630e-01 3.14261241e-01 3.59155704e-01 4.71391861e-01 6.50969713e-01 5.61180787e-01 4.26497398e-01 4.93839093e-01 4.04050167e-01 4.71391861e-01 3.81602935e-01 3.81602935e-01 6.28522482e-01 5.38733556e-01 5.61180787e-01 5.16286324e-01 4.26497398e-01 2.69366778e-01 4.04050167e-01 5.83628019e-01 3.59155704e-01 6.06075250e-01 4.48944630e-01 5.83628019e-01 4.93839093e-01 5.16286324e-01 4.04050167e-01 4.71391861e-01 4.71391861e-01 5.38733556e-01 3.81602935e-01 4.04050167e-01 4.71391861e-01 2.69366778e-01 5.61180787e-01 3.14261241e-01 4.71391861e-01 3.81602935e-01 3.81602935e-01 3.59155704e-01 3.81602935e-01 4.48944630e-01 5.38733556e-01 3.36708472e-01 3.36708472e-01 5.16286324e-01 5.38733556e-01 2.91814009e-01 4.26497398e-01 4.48944630e-01 3.14261241e-01 2.24472315e-01 2.91814009e-01 5.16286324e-01 3.36708472e-01 3.59155704e-01 5.16286324e-01 4.26497398e-01 3.14261241e-01 3.59155704e-01 3.14261241e-01 4.26497398e-01 2.24472315e-01 3.81602935e-01 4.04050167e-01 2.24472315e-01 4.26497398e-01 4.26497398e-01 2.91814009e-01 2.69366778e-01 3.14261241e-01 3.59155704e-01 3.14261241e-01 4.48944630e-01 3.36708472e-01 3.36708472e-01 3.36708472e-01 2.02025083e-01 4.04050167e-01 3.81602935e-01 3.36708472e-01 3.59155704e-01 2.24472315e-01 3.36708472e-01 2.02025083e-01 2.46919546e-01 3.81602935e-01 3.14261241e-01 4.04050167e-01 1.34683389e-01 3.59155704e-01 1.79577852e-01 3.14261241e-01 3.14261241e-01 2.24472315e-01 3.36708472e-01 2.02025083e-01 3.59155704e-01 2.02025083e-01 2.46919546e-01 2.46919546e-01 3.59155704e-01 3.81602935e-01 3.14261241e-01 3.59155704e-01 1.57130620e-01 2.46919546e-01 3.59155704e-01 2.24472315e-01 2.02025083e-01 3.81602935e-01 3.14261241e-01 2.91814009e-01 3.36708472e-01 1.57130620e-01 4.26497398e-01 2.46919546e-01 2.24472315e-01 2.91814009e-01 4.26497398e-01 2.46919546e-01 2.69366778e-01 4.26497398e-01 2.69366778e-01 2.91814009e-01 2.24472315e-01 2.91814009e-01 2.69366778e-01 3.81602935e-01 2.24472315e-01 2.46919546e-01 4.26497398e-01 2.46919546e-01 2.02025083e-01 2.69366778e-01 1.79577852e-01 3.36708472e-01 1.79577852e-01 4.48944630e-01 2.46919546e-01 2.46919546e-01 2.69366778e-01 6.73416945e-02 2.91814009e-01 2.02025083e-01 2.24472315e-01 2.24472315e-01 2.02025083e-01 2.24472315e-01 3.14261241e-01 1.79577852e-01 2.46919546e-01 3.59155704e-01 3.59155704e-01 3.59155704e-01 2.02025083e-01 2.02025083e-01 2.46919546e-01 3.81602935e-01 2.46919546e-01 2.24472315e-01 2.69366778e-01 1.12236157e-01 2.91814009e-01 4.26497398e-01 1.79577852e-01 1.34683389e-01 2.24472315e-01 2.02025083e-01 2.46919546e-01 2.02025083e-01 2.91814009e-01 2.24472315e-01 2.02025083e-01 2.02025083e-01 2.46919546e-01 2.69366778e-01 1.34683389e-01 1.79577852e-01 2.91814009e-01 1.34683389e-01 3.36708472e-01 2.69366778e-01 3.36708472e-01 1.79577852e-01 2.69366778e-01 1.79577852e-01 2.69366778e-01 2.46919546e-01 2.91814009e-01 2.02025083e-01 1.79577852e-01 1.79577852e-01 3.36708472e-01 2.46919546e-01 2.46919546e-01 2.69366778e-01 1.57130620e-01 2.46919546e-01 2.02025083e-01 1.57130620e-01 1.79577852e-01 2.46919546e-01 1.79577852e-01 1.34683389e-01 2.91814009e-01 2.69366778e-01 1.79577852e-01 1.12236157e-01 1.79577852e-01 6.73416945e-02 2.91814009e-01 1.57130620e-01 2.46919546e-01 1.79577852e-01 2.46919546e-01 2.24472315e-01 2.69366778e-01 2.69366778e-01 1.79577852e-01 1.57130620e-01 2.91814009e-01 2.91814009e-01 1.34683389e-01 2.69366778e-01 2.02025083e-01 2.91814009e-01 1.57130620e-01 1.57130620e-01 2.02025083e-01 1.57130620e-01 3.14261241e-01 1.12236157e-01 1.57130620e-01 2.46919546e-01 2.24472315e-01 1.79577852e-01 2.91814009e-01 1.57130620e-01 2.02025083e-01 1.79577852e-01 1.57130620e-01 2.69366778e-01 1.12236157e-01 1.57130620e-01 2.91814009e-01 2.24472315e-01 2.46919546e-01 2.02025083e-01 2.24472315e-01 2.69366778e-01 1.12236157e-01 6.73416945e-02 2.24472315e-01 1.57130620e-01 1.57130620e-01 2.46919546e-01 1.12236157e-01 1.79577852e-01 1.79577852e-01 1.79577852e-01 2.24472315e-01 2.24472315e-01 2.69366778e-01 1.79577852e-01 2.24472315e-01 1.57130620e-01 2.02025083e-01 1.79577852e-01 2.46919546e-01 2.24472315e-01 1.79577852e-01 1.12236157e-01 1.79577852e-01 8.97889260e-02 1.34683389e-01 2.02025083e-01 2.02025083e-01 6.73416945e-02 2.91814009e-01 3.14261241e-01 1.57130620e-01 2.02025083e-01 1.79577852e-01 2.24472315e-01 2.91814009e-01 2.46919546e-01 1.12236157e-01 3.14261241e-01 2.02025083e-01 3.14261241e-01 1.79577852e-01 2.46919546e-01 2.24472315e-01 2.46919546e-01 2.91814009e-01 2.02025083e-01 2.91814009e-01 8.97889260e-02 2.02025083e-01 3.14261241e-01 2.02025083e-01 6.73416945e-02 2.46919546e-01 8.97889260e-02 1.57130620e-01 2.02025083e-01 2.46919546e-01 3.59155704e-01 2.02025083e-01 1.12236157e-01 1.34683389e-01 6.73416945e-02 1.34683389e-01 8.97889260e-02 1.34683389e-01 2.69366778e-01 1.12236157e-01 1.34683389e-01 8.97889260e-02 1.34683389e-01 1.34683389e-01 1.79577852e-01 2.24472315e-01 1.34683389e-01 1.57130620e-01 1.34683389e-01 1.79577852e-01 2.69366778e-01 2.02025083e-01 2.46919546e-01 1.12236157e-01 1.34683389e-01 1.12236157e-01 2.69366778e-01 1.57130620e-01 1.79577852e-01 2.24472315e-01 1.12236157e-01 1.34683389e-01 1.34683389e-01 8.97889260e-02 1.57130620e-01 1.79577852e-01 2.69366778e-01 2.91814009e-01 2.02025083e-01 1.34683389e-01 1.57130620e-01 2.24472315e-01 1.57130620e-01 2.02025083e-01 1.57130620e-01 2.02025083e-01 4.48944630e-02 1.79577852e-01 2.02025083e-01 1.57130620e-01 1.12236157e-01 3.59155704e-01 1.34683389e-01 2.02025083e-01 2.02025083e-01 6.73416945e-02 2.02025083e-01 8.97889260e-02 1.12236157e-01 1.34683389e-01 1.79577852e-01 8.97889260e-02 2.46919546e-01 8.97889260e-02 2.24472315e-01 1.34683389e-01 2.02025083e-01 4.48944630e-02 2.24472315e-02 1.57130620e-01 1.34683389e-01 2.69366778e-01 1.79577852e-01 1.57130620e-01 1.12236157e-01 2.02025083e-01 1.34683389e-01 2.02025083e-01 2.24472315e-01 8.97889260e-02 1.57130620e-01 1.57130620e-01 2.24472315e-01 2.24472315e-01 6.73416945e-02 8.97889260e-02 2.91814009e-01 2.46919546e-01 1.34683389e-01 1.12236157e-01 1.12236157e-01 1.12236157e-01 1.12236157e-01 1.12236157e-01 1.57130620e-01 1.12236157e-01 1.57130620e-01 8.97889260e-02 4.48944630e-02 1.57130620e-01 2.02025083e-01 1.57130620e-01 2.46919546e-01 8.97889260e-02 8.97889260e-02 8.97889260e-02 1.34683389e-01 1.57130620e-01 8.97889260e-02 8.97889260e-02 1.57130620e-01 3.14261241e-01 1.34683389e-01 2.69366778e-01 2.02025083e-01 2.02025083e-01 1.57130620e-01 1.12236157e-01 1.34683389e-01 2.91814009e-01 2.02025083e-01 1.57130620e-01 1.34683389e-01 1.57130620e-01 1.12236157e-01 4.48944630e-02 8.97889260e-02 1.79577852e-01 1.12236157e-01 1.12236157e-01 8.97889260e-02 2.46919546e-01 4.48944630e-02 4.48944630e-02 1.57130620e-01 1.57130620e-01 2.24472315e-01 1.57130620e-01 2.02025083e-01 8.97889260e-02 1.12236157e-01 1.12236157e-01 8.97889260e-02 1.12236157e-01 1.57130620e-01 1.57130620e-01 1.79577852e-01 6.73416945e-02 1.34683389e-01 1.79577852e-01 1.57130620e-01 1.79577852e-01 2.24472315e-01 1.79577852e-01 1.34683389e-01 1.12236157e-01 1.79577852e-01 1.57130620e-01 1.79577852e-01 1.57130620e-01 8.97889260e-02 8.97889260e-02 2.91814009e-01 2.46919546e-01 1.79577852e-01 8.97889260e-02 1.12236157e-01 1.34683389e-01 1.57130620e-01 2.02025083e-01 1.79577852e-01 2.24472315e-01 1.79577852e-01 1.34683389e-01 8.97889260e-02 1.79577852e-01 8.97889260e-02 1.12236157e-01 1.12236157e-01 2.24472315e-01 1.79577852e-01 1.57130620e-01 1.12236157e-01 8.97889260e-02 6.73416945e-02 8.97889260e-02 1.12236157e-01 8.97889260e-02 2.24472315e-02 4.48944630e-02 1.34683389e-01 8.97889260e-02 1.57130620e-01 1.57130620e-01 1.57130620e-01 8.97889260e-02 1.34683389e-01 8.97889260e-02 6.73416945e-02 1.34683389e-01 1.34683389e-01 6.73416945e-02 1.12236157e-01 8.97889260e-02 1.57130620e-01 4.48944630e-02 1.57130620e-01 8.97889260e-02 1.79577852e-01 2.46919546e-01 1.34683389e-01 1.34683389e-01 2.24472315e-02 2.24472315e-01 2.02025083e-01 1.57130620e-01 8.97889260e-02 1.79577852e-01 6.73416945e-02 1.12236157e-01 1.79577852e-01 1.57130620e-01 1.34683389e-01 2.02025083e-01 1.57130620e-01 2.02025083e-01 8.97889260e-02 6.73416945e-02 1.12236157e-01 6.73416945e-02 2.24472315e-02 6.73416945e-02 6.73416945e-02 1.34683389e-01 1.34683389e-01 1.57130620e-01 8.97889260e-02 2.02025083e-01 1.57130620e-01 1.57130620e-01 8.97889260e-02 1.12236157e-01 1.57130620e-01 1.34683389e-01 1.57130620e-01 8.97889260e-02 1.79577852e-01 1.57130620e-01 6.73416945e-02 2.02025083e-01 1.34683389e-01 8.97889260e-02 8.97889260e-02 1.12236157e-01 8.97889260e-02 6.73416945e-02 8.97889260e-02 1.12236157e-01 1.57130620e-01 2.02025083e-01 1.12236157e-01 1.12236157e-01 6.73416945e-02 8.97889260e-02 1.57130620e-01 8.97889260e-02 1.34683389e-01 8.97889260e-02 1.57130620e-01 1.34683389e-01 6.73416945e-02 6.73416945e-02 6.73416945e-02 1.12236157e-01 8.97889260e-02 6.73416945e-02 1.57130620e-01 2.02025083e-01 1.57130620e-01 8.97889260e-02 1.34683389e-01 1.79577852e-01 1.34683389e-01 8.97889260e-02 1.57130620e-01 1.57130620e-01 8.97889260e-02 1.34683389e-01 2.02025083e-01 1.57130620e-01 6.73416945e-02 8.97889260e-02 1.57130620e-01 8.97889260e-02 1.79577852e-01 1.12236157e-01 4.48944630e-02 2.02025083e-01 1.34683389e-01 2.02025083e-01 1.34683389e-01 6.73416945e-02 1.12236157e-01 1.12236157e-01 6.73416945e-02 1.12236157e-01 1.34683389e-01 1.12236157e-01 1.57130620e-01 2.46919546e-01 1.34683389e-01 1.57130620e-01 4.48944630e-02 2.46919546e-01 2.24472315e-02 8.97889260e-02 1.12236157e-01 8.97889260e-02 2.02025083e-01 1.12236157e-01 1.79577852e-01 1.57130620e-01 4.48944630e-02 2.24472315e-01 8.97889260e-02 2.46919546e-01 6.73416945e-02 8.97889260e-02 6.73416945e-02 1.57130620e-01 1.12236157e-01 8.97889260e-02 1.34683389e-01 1.12236157e-01 6.73416945e-02 8.97889260e-02 2.24472315e-02 4.48944630e-02 1.34683389e-01 1.57130620e-01 2.24472315e-02 2.02025083e-01 1.79577852e-01 1.57130620e-01 1.12236157e-01 1.12236157e-01 1.12236157e-01 8.97889260e-02 1.34683389e-01 6.73416945e-02 1.34683389e-01 6.73416945e-02 1.57130620e-01 1.57130620e-01 1.34683389e-01 6.73416945e-02 1.12236157e-01 1.57130620e-01 1.12236157e-01 1.34683389e-01 6.73416945e-02 1.34683389e-01 1.79577852e-01 1.79577852e-01 1.79577852e-01 6.73416945e-02 2.46919546e-01 6.73416945e-02 8.97889260e-02 4.48944630e-02 2.24472315e-02 1.57130620e-01 1.34683389e-01 2.24472315e-02 1.34683389e-01 1.34683389e-01 1.34683389e-01 1.79577852e-01 6.73416945e-02 2.02025083e-01 1.57130620e-01 6.73416945e-02 8.97889260e-02 6.73416945e-02 2.02025083e-01 6.73416945e-02 4.48944630e-02 1.57130620e-01 6.73416945e-02 1.12236157e-01 8.97889260e-02 1.34683389e-01 1.12236157e-01 1.34683389e-01 6.73416945e-02 1.57130620e-01 8.97889260e-02 1.34683389e-01 1.12236157e-01 8.97889260e-02 1.12236157e-01 6.73416945e-02 6.73416945e-02 8.97889260e-02 2.24472315e-01 6.73416945e-02 2.02025083e-01 1.34683389e-01 1.57130620e-01 2.24472315e-01 1.34683389e-01 8.97889260e-02 1.34683389e-01 4.48944630e-02 1.34683389e-01 4.48944630e-02 1.57130620e-01 6.73416945e-02 8.97889260e-02 1.34683389e-01 8.97889260e-02 1.12236157e-01 1.79577852e-01 1.34683389e-01 1.79577852e-01 1.34683389e-01 2.02025083e-01 1.79577852e-01 1.79577852e-01 1.57130620e-01 1.57130620e-01 8.97889260e-02 1.57130620e-01 2.24472315e-02 8.97889260e-02 6.73416945e-02 1.57130620e-01 2.02025083e-01 8.97889260e-02 8.97889260e-02 6.73416945e-02 1.34683389e-01 1.57130620e-01 1.12236157e-01 4.48944630e-02 2.02025083e-01 6.73416945e-02 2.02025083e-01 8.97889260e-02 1.34683389e-01 2.24472315e-01 6.73416945e-02 1.12236157e-01 1.12236157e-01 1.12236157e-01 2.24472315e-01 1.34683389e-01 1.12236157e-01 1.34683389e-01 8.97889260e-02 1.12236157e-01 8.97889260e-02 1.12236157e-01 1.57130620e-01 1.12236157e-01 1.57130620e-01 1.79577852e-01 1.12236157e-01 8.97889260e-02 1.79577852e-01 2.02025083e-01 2.02025083e-01 2.02025083e-01 1.79577852e-01 1.12236157e-01 1.79577852e-01 1.79577852e-01 6.73416945e-02 1.12236157e-01 2.24472315e-02 1.12236157e-01 1.34683389e-01 1.12236157e-01 1.12236157e-01 8.97889260e-02 1.57130620e-01 4.48944630e-02 1.12236157e-01 1.12236157e-01 2.91814009e-01 6.73416945e-02 1.34683389e-01 8.97889260e-02 1.79577852e-01 1.34683389e-01 1.79577852e-01 8.97889260e-02 1.57130620e-01 8.97889260e-02 1.12236157e-01 4.48944630e-02 6.73416945e-02 1.34683389e-01 8.97889260e-02 1.57130620e-01 1.57130620e-01 2.02025083e-01 1.79577852e-01 4.48944630e-02 1.57130620e-01 6.73416945e-02 6.73416945e-02 8.97889260e-02 4.48944630e-02 4.48944630e-02 1.12236157e-01 1.57130620e-01 1.79577852e-01 6.73416945e-02 1.79577852e-01 1.34683389e-01 1.34683389e-01 2.02025083e-01 4.48944630e-02 2.02025083e-01 1.12236157e-01 1.12236157e-01 1.79577852e-01 1.34683389e-01 1.34683389e-01 8.97889260e-02 8.97889260e-02 6.73416945e-02 8.97889260e-02 6.73416945e-02 1.12236157e-01 1.34683389e-01 1.34683389e-01 1.34683389e-01 8.97889260e-02 1.12236157e-01 1.12236157e-01 1.79577852e-01 6.73416945e-02 8.97889260e-02 1.34683389e-01 4.48944630e-02 1.12236157e-01 4.48944630e-02 1.12236157e-01 8.97889260e-02 8.97889260e-02 8.97889260e-02 2.02025083e-01 1.12236157e-01 1.12236157e-01 2.24472315e-02 1.57130620e-01 1.12236157e-01 2.24472315e-02 2.02025083e-01 4.48944630e-02 1.12236157e-01 1.12236157e-01 1.34683389e-01 8.97889260e-02 2.02025083e-01 8.97889260e-02 8.97889260e-02 1.34683389e-01 1.12236157e-01 1.12236157e-01 6.73416945e-02 1.12236157e-01 4.48944630e-02 6.73416945e-02 1.57130620e-01 1.12236157e-01 1.57130620e-01 0.00000000e+00 1.12236157e-01 1.79577852e-01 1.57130620e-01 8.97889260e-02 1.12236157e-01 1.79577852e-01 1.34683389e-01 8.97889260e-02 4.48944630e-02 1.34683389e-01 4.48944630e-02 1.57130620e-01 1.57130620e-01 8.97889260e-02 2.02025083e-01 8.97889260e-02 1.57130620e-01 1.57130620e-01 1.34683389e-01 1.34683389e-01 1.57130620e-01 6.73416945e-02 2.02025083e-01 1.34683389e-01 1.57130620e-01 1.34683389e-01 1.12236157e-01 8.97889260e-02 1.12236157e-01 8.97889260e-02 8.97889260e-02 1.57130620e-01 2.02025083e-01 1.34683389e-01 6.73416945e-02 2.24472315e-01 2.24472315e-02 1.34683389e-01 1.79577852e-01 8.97889260e-02 1.79577852e-01 8.97889260e-02 1.79577852e-01 1.34683389e-01 8.97889260e-02 1.12236157e-01 1.34683389e-01 1.57130620e-01 1.34683389e-01 1.57130620e-01 1.34683389e-01 1.57130620e-01 2.02025083e-01 1.57130620e-01 4.48944630e-02 8.97889260e-02 1.34683389e-01 8.97889260e-02 8.97889260e-02 1.57130620e-01 1.34683389e-01 1.34683389e-01 1.79577852e-01 1.34683389e-01 4.48944630e-02 8.97889260e-02 1.79577852e-01 6.73416945e-02 2.24472315e-01 1.12236157e-01 8.97889260e-02 2.24472315e-01 2.24472315e-01 2.69366778e-01 1.57130620e-01 1.57130620e-01 1.12236157e-01 2.02025083e-01 6.73416945e-02 6.73416945e-02 1.12236157e-01 1.79577852e-01 8.97889260e-02 1.57130620e-01 6.73416945e-02 1.34683389e-01 1.34683389e-01 1.34683389e-01 1.79577852e-01 4.48944630e-02 1.34683389e-01 2.02025083e-01 1.57130620e-01 1.57130620e-01 1.57130620e-01 1.79577852e-01 2.02025083e-01 1.12236157e-01 1.57130620e-01 1.12236157e-01 3.14261241e-01 1.12236157e-01 2.02025083e-01 8.97889260e-02 1.12236157e-01 1.79577852e-01 1.34683389e-01 8.97889260e-02 1.79577852e-01 8.97889260e-02 1.57130620e-01 8.97889260e-02 1.57130620e-01 4.48944630e-02 1.57130620e-01 1.12236157e-01 6.73416945e-02 1.12236157e-01 1.34683389e-01 1.12236157e-01 1.57130620e-01 1.12236157e-01 1.57130620e-01 6.73416945e-02 8.97889260e-02 2.46919546e-01 1.57130620e-01 4.48944630e-02 1.57130620e-01 1.12236157e-01 2.24472315e-02 6.73416945e-02 2.24472315e-02 1.12236157e-01 2.24472315e-01 1.12236157e-01 1.34683389e-01 1.34683389e-01 2.69366778e-01 6.73416945e-02 8.97889260e-02 1.57130620e-01 1.12236157e-01 1.12236157e-01 1.12236157e-01 1.79577852e-01 8.97889260e-02 1.57130620e-01 1.12236157e-01 1.12236157e-01 6.73416945e-02 8.97889260e-02 6.73416945e-02 6.73416945e-02 8.97889260e-02 1.57130620e-01 2.24472315e-01 2.46919546e-01 1.34683389e-01 2.02025083e-01 1.12236157e-01 1.34683389e-01 1.34683389e-01 1.12236157e-01 1.57130620e-01 2.46919546e-01 1.79577852e-01 2.24472315e-01 1.34683389e-01 6.73416945e-02 8.97889260e-02 1.12236157e-01 8.97889260e-02 4.48944630e-02 6.73416945e-02 2.02025083e-01 2.02025083e-01 2.69366778e-01 1.12236157e-01 8.97889260e-02 2.02025083e-01 8.97889260e-02 1.57130620e-01 1.57130620e-01 1.34683389e-01 1.34683389e-01 8.97889260e-02 1.79577852e-01 1.34683389e-01 1.12236157e-01 2.24472315e-01 1.12236157e-01 1.34683389e-01 1.57130620e-01 1.34683389e-01 6.73416945e-02 8.97889260e-02 8.97889260e-02 6.73416945e-02 1.57130620e-01 1.79577852e-01 8.97889260e-02 1.57130620e-01 2.24472315e-01 1.57130620e-01 2.02025083e-01 1.34683389e-01 1.57130620e-01 1.57130620e-01 1.57130620e-01 1.57130620e-01 4.48944630e-02 8.97889260e-02 1.79577852e-01 1.57130620e-01 1.12236157e-01 1.12236157e-01 4.48944630e-02 1.57130620e-01 8.97889260e-02 1.79577852e-01 1.12236157e-01 2.02025083e-01 1.34683389e-01 2.24472315e-02 2.02025083e-01 1.57130620e-01 1.57130620e-01 2.24472315e-01 1.12236157e-01 1.12236157e-01 2.24472315e-01 1.79577852e-01 1.79577852e-01 1.34683389e-01 1.79577852e-01 1.34683389e-01 8.97889260e-02 2.24472315e-01 1.34683389e-01 2.69366778e-01 2.02025083e-01 1.34683389e-01 1.12236157e-01 1.12236157e-01 1.57130620e-01 1.79577852e-01 1.34683389e-01 2.02025083e-01 1.57130620e-01 8.97889260e-02 1.34683389e-01 1.12236157e-01 1.57130620e-01 1.79577852e-01 1.79577852e-01 2.02025083e-01 2.02025083e-01 6.73416945e-02 8.97889260e-02 1.34683389e-01 1.79577852e-01 2.02025083e-01 1.57130620e-01 1.79577852e-01 1.34683389e-01 1.57130620e-01 1.57130620e-01 1.57130620e-01 6.73416945e-02 1.79577852e-01 1.57130620e-01 1.57130620e-01 6.73416945e-02 1.79577852e-01 1.12236157e-01 8.97889260e-02 1.57130620e-01 8.97889260e-02 1.57130620e-01 1.34683389e-01 1.34683389e-01 1.79577852e-01 1.34683389e-01 1.57130620e-01 2.02025083e-01 1.12236157e-01 1.12236157e-01 1.57130620e-01 2.02025083e-01 1.57130620e-01 1.34683389e-01 2.02025083e-01 1.12236157e-01 1.12236157e-01 8.97889260e-02 6.73416945e-02 1.57130620e-01 2.46919546e-01 8.97889260e-02 4.48944630e-02 8.97889260e-02 2.46919546e-01 3.59155704e-01 1.34683389e-01 8.97889260e-02 1.12236157e-01 2.24472315e-01 2.02025083e-01 8.97889260e-02 1.79577852e-01 1.12236157e-01 1.79577852e-01 2.02025083e-01 1.57130620e-01 1.12236157e-01 2.46919546e-01 1.34683389e-01 6.73416945e-02 1.57130620e-01 2.24472315e-01 1.57130620e-01 2.24472315e-01 2.46919546e-01 1.79577852e-01 2.24472315e-01 1.57130620e-01 1.79577852e-01 8.97889260e-02 1.57130620e-01 2.24472315e-01 1.79577852e-01 2.69366778e-01 1.57130620e-01 1.12236157e-01 1.12236157e-01 2.24472315e-01 1.79577852e-01 6.73416945e-02 2.02025083e-01 2.69366778e-01 2.24472315e-01 3.36708472e-01 1.12236157e-01 2.69366778e-01 1.34683389e-01 1.12236157e-01 1.57130620e-01 1.79577852e-01 2.02025083e-01 2.24472315e-01 2.24472315e-01 1.57130620e-01 2.91814009e-01 1.34683389e-01 8.97889260e-02 2.02025083e-01 2.02025083e-01 3.14261241e-01 1.79577852e-01 2.69366778e-01 1.57130620e-01 1.34683389e-01 2.46919546e-01 2.02025083e-01 1.57130620e-01 1.12236157e-01 2.02025083e-01 2.02025083e-01 2.24472315e-01 1.79577852e-01 2.02025083e-01 3.59155704e-01 1.12236157e-01 1.79577852e-01 8.97889260e-02 1.79577852e-01 2.69366778e-01 2.46919546e-01 1.34683389e-01 1.57130620e-01 1.79577852e-01 6.73416945e-02 4.48944630e-01 2.02025083e-01 2.24472315e-01 2.24472315e-01 2.02025083e-01 2.02025083e-01 8.97889260e-02 3.14261241e-01 2.46919546e-01 2.69366778e-01 2.02025083e-01 1.79577852e-01 2.24472315e-01 2.02025083e-01 1.79577852e-01 2.02025083e-01 1.57130620e-01 1.34683389e-01 2.24472315e-01 1.57130620e-01 1.79577852e-01 2.02025083e-01 2.24472315e-01 2.24472315e-01 1.57130620e-01 2.46919546e-01 2.46919546e-01 3.14261241e-01 1.79577852e-01 1.57130620e-01 1.79577852e-01 2.69366778e-01 3.14261241e-01 1.12236157e-01 2.02025083e-01 2.91814009e-01 2.91814009e-01 2.91814009e-01 2.69366778e-01 1.12236157e-01 2.24472315e-01 2.24472315e-01 1.12236157e-01 1.79577852e-01 2.02025083e-01 2.46919546e-01 2.24472315e-01 1.79577852e-01 1.79577852e-01 1.79577852e-01 2.24472315e-01 2.46919546e-01 8.97889260e-02 2.46919546e-01 2.46919546e-01 2.24472315e-01 2.69366778e-01 1.34683389e-01 2.46919546e-01 2.02025083e-01 2.69366778e-01 2.02025083e-01 1.79577852e-01 1.79577852e-01 2.02025083e-01 1.79577852e-01 2.91814009e-01 4.48944630e-01 2.24472315e-01 2.02025083e-01 1.57130620e-01 2.91814009e-01 2.46919546e-01 2.02025083e-01 2.91814009e-01 4.26497398e-01 2.02025083e-01 2.02025083e-01 3.81602935e-01 2.46919546e-01 2.24472315e-01 3.14261241e-01 2.46919546e-01 2.24472315e-01 2.46919546e-01 2.69366778e-01 2.69366778e-01 2.02025083e-01 2.91814009e-01 2.02025083e-01 3.81602935e-01 2.69366778e-01 3.14261241e-01 2.69366778e-01 2.46919546e-01 2.91814009e-01 1.79577852e-01 3.14261241e-01 3.14261241e-01 2.69366778e-01 2.24472315e-01 2.24472315e-01 3.59155704e-01 8.97889260e-02 2.69366778e-01 3.14261241e-01 3.36708472e-01 8.97889260e-02 3.59155704e-01 3.36708472e-01 2.91814009e-01 2.02025083e-01 3.14261241e-01 2.24472315e-01 2.02025083e-01 2.02025083e-01 2.24472315e-01 2.91814009e-01 2.69366778e-01 3.36708472e-01 3.59155704e-01 2.91814009e-01 3.36708472e-01 1.79577852e-01 2.02025083e-01 1.34683389e-01 2.69366778e-01 4.48944630e-01 3.14261241e-01 3.14261241e-01 2.91814009e-01 2.24472315e-01 2.69366778e-01 2.02025083e-01 2.46919546e-01 3.36708472e-01 3.36708472e-01 4.04050167e-01 2.24472315e-01 1.79577852e-01 2.69366778e-01 2.69366778e-01 2.69366778e-01 2.91814009e-01 3.14261241e-01 2.24472315e-01 3.14261241e-01 2.91814009e-01 3.36708472e-01 3.59155704e-01 2.46919546e-01 4.04050167e-01 3.36708472e-01 3.14261241e-01 3.36708472e-01 4.48944630e-01 2.91814009e-01 2.69366778e-01 2.46919546e-01 2.02025083e-01 2.69366778e-01 2.46919546e-01 3.59155704e-01 3.14261241e-01 3.81602935e-01 3.14261241e-01 4.26497398e-01 3.36708472e-01 3.81602935e-01 2.24472315e-01 3.81602935e-01 3.14261241e-01 2.46919546e-01 5.83628019e-01 4.48944630e-01 4.04050167e-01 3.59155704e-01 4.48944630e-01 3.14261241e-01 3.59155704e-01 4.48944630e-01 3.14261241e-01 2.91814009e-01 2.91814009e-01 4.04050167e-01 3.36708472e-01 4.48944630e-01 4.71391861e-01 2.91814009e-01 5.16286324e-01 4.48944630e-01 3.36708472e-01 2.46919546e-01 2.91814009e-01 2.46919546e-01 3.59155704e-01 3.36708472e-01 4.71391861e-01 3.36708472e-01 3.59155704e-01 3.59155704e-01 5.16286324e-01 5.38733556e-01 2.24472315e-01 2.69366778e-01 2.91814009e-01 3.36708472e-01 5.16286324e-01 2.69366778e-01 4.26497398e-01 3.36708472e-01 3.59155704e-01 4.26497398e-01 2.91814009e-01 5.16286324e-01 4.04050167e-01 3.36708472e-01 5.38733556e-01 4.26497398e-01 4.04050167e-01 4.71391861e-01 4.48944630e-01 2.46919546e-01 5.61180787e-01 3.14261241e-01 3.59155704e-01 4.71391861e-01 2.91814009e-01 4.71391861e-01 5.38733556e-01 4.93839093e-01 3.81602935e-01 6.06075250e-01 3.59155704e-01 5.16286324e-01 4.04050167e-01 3.14261241e-01 3.59155704e-01 4.26497398e-01 3.81602935e-01 6.06075250e-01 4.04050167e-01 3.81602935e-01 4.48944630e-01 3.36708472e-01 2.02025083e-01 4.93839093e-01 4.93839093e-01 3.36708472e-01 3.81602935e-01 4.26497398e-01 4.48944630e-01 5.83628019e-01 3.36708472e-01 6.06075250e-01 2.91814009e-01 5.61180787e-01 5.61180787e-01 4.93839093e-01 4.04050167e-01 4.26497398e-01 6.06075250e-01 4.71391861e-01 5.38733556e-01 2.91814009e-01 5.83628019e-01 5.16286324e-01 3.59155704e-01 4.48944630e-01 6.95864176e-01 6.06075250e-01 3.81602935e-01 5.61180787e-01 5.38733556e-01 8.75442028e-01 5.16286324e-01 4.71391861e-01 6.28522482e-01 8.08100334e-01 5.61180787e-01 9.42783723e-01 6.06075250e-01 5.61180787e-01 3.81602935e-01 5.61180787e-01 5.83628019e-01 6.95864176e-01 6.73416945e-01 5.61180787e-01 5.16286324e-01 5.83628019e-01 7.40758639e-01 8.97889260e-01 6.50969713e-01 8.08100334e-01 6.28522482e-01 6.95864176e-01 7.85653102e-01 5.61180787e-01 6.73416945e-01 8.52994797e-01 7.63205871e-01 6.50969713e-01 7.85653102e-01 6.50969713e-01 6.50969713e-01 8.75442028e-01 6.28522482e-01 7.63205871e-01 8.75442028e-01 9.65230954e-01 6.28522482e-01 9.87678186e-01 7.63205871e-01 4.71391861e-01 7.40758639e-01 7.40758639e-01 7.18311408e-01 7.85653102e-01 6.28522482e-01 9.20336491e-01 7.85653102e-01 7.40758639e-01 8.52994797e-01 9.20336491e-01 7.40758639e-01 1.14480881e+00 8.52994797e-01 8.75442028e-01 7.40758639e-01 7.85653102e-01 7.40758639e-01 1.05501988e+00 7.40758639e-01 9.65230954e-01 9.42783723e-01 8.97889260e-01 9.65230954e-01 8.75442028e-01 1.05501988e+00 7.85653102e-01 9.87678186e-01 8.97889260e-01 8.97889260e-01 7.40758639e-01 9.65230954e-01 8.30547565e-01 9.87678186e-01 1.09991434e+00 1.03257265e+00 1.03257265e+00 1.14480881e+00 9.65230954e-01 1.30193943e+00 1.12236157e+00 1.12236157e+00 9.42783723e-01 1.14480881e+00 1.48151728e+00 9.42783723e-01 1.43662282e+00 1.39172835e+00 1.41417558e+00 1.23459773e+00 1.03257265e+00 1.39172835e+00 1.12236157e+00 1.03257265e+00 1.07746711e+00 1.43662282e+00 1.01012542e+00 1.43662282e+00 1.39172835e+00 1.30193943e+00 1.21215050e+00 1.57130620e+00 1.34683389e+00 1.72843683e+00 1.52641174e+00 1.30193943e+00 1.45907005e+00 1.93046191e+00 1.75088406e+00 1.25704496e+00 1.84067298e+00 1.88556745e+00 1.36928112e+00 1.52641174e+00 2.02025083e+00 1.93046191e+00 1.54885897e+00 1.99780360e+00 1.68354236e+00 1.88556745e+00 1.93046191e+00 1.81822575e+00 1.72843683e+00 2.24472315e+00 2.11003976e+00 2.40185377e+00 1.99780360e+00 2.06514530e+00 1.97535637e+00 1.99780360e+00 2.31206484e+00 2.60387885e+00 3.03037625e+00 2.67122055e+00 3.20995410e+00 3.23240134e+00 3.00792902e+00 2.91814009e+00 2.87324563e+00 2.98548179e+00 3.09771795e+00 3.54666258e+00 2.82835117e+00 3.92826551e+00 3.92826551e+00 4.13029059e+00 4.15273783e+00 4.28742122e+00 4.24252675e+00 3.90581828e+00 4.75881308e+00 4.19763229e+00 3.99560721e+00 5.31999386e+00 4.84860200e+00 4.53434076e+00 5.45467725e+00 5.02817985e+00 5.79138573e+00 5.38733556e+00 6.41990821e+00 6.28522482e+00 6.17298866e+00 6.03830527e+00 7.27290300e+00 6.55459160e+00 7.81163656e+00 6.66682775e+00 7.40758639e+00 7.85653102e+00 7.38513916e+00 7.78918933e+00 7.67695317e+00 8.39526458e+00 8.10345057e+00 9.60741508e+00 8.19323950e+00 8.86665644e+00 9.49517892e+00 9.49517892e+00 9.51762615e+00 9.20336491e+00 9.96657078e+00 9.92167632e+00 9.09112876e+00 1.01012542e+01 9.83188739e+00 1.04379626e+01 1.05501988e+01 1.03032793e+01 1.04604099e+01 1.04379626e+01 1.14705353e+01 1.13582991e+01 1.08420128e+01 1.17847965e+01 1.07297767e+01 1.18072438e+01 1.14480881e+01 1.16725604e+01 1.18521382e+01 1.25704496e+01 1.20541633e+01 1.12011685e+01 1.10440379e+01 1.11338268e+01 1.14031936e+01 1.21215050e+01 1.14480881e+01 1.14031936e+01 1.14705353e+01 1.14031936e+01 1.22786356e+01 1.12236157e+01 1.19194799e+01 1.12460630e+01 1.28622636e+01 1.14705353e+01 1.18296910e+01 1.08644600e+01 1.14480881e+01 1.19194799e+01 1.09093545e+01 9.98901801e+00 1.07746711e+01 1.00339125e+01 1.09542490e+01 1.04379626e+01 9.85433463e+00 9.36049553e+00 1.01461486e+01 9.09112876e+00 8.77686751e+00 9.31560107e+00 8.57484243e+00 8.03610887e+00 8.12589780e+00 7.99121441e+00 8.55239520e+00 8.19323950e+00 7.45248086e+00 7.83408379e+00 7.47492809e+00 6.64438052e+00 6.73416945e+00 6.59948606e+00 5.29754663e+00 6.44235544e+00 6.33011928e+00 5.74649126e+00 5.94851635e+00 5.20775771e+00 5.36488833e+00 5.56691341e+00 5.47712448e+00 4.57923522e+00 4.35476291e+00 4.89349647e+00 4.44455184e+00 4.30986845e+00 4.28742122e+00 3.95071274e+00 3.92826551e+00 3.81602935e+00 3.86092382e+00 3.65889873e+00 3.16505964e+00 3.25484857e+00 4.01805444e+00 2.85079840e+00 3.05282348e+00 3.41197919e+00 3.34463749e+00 2.85079840e+00 3.00792902e+00 2.62632608e+00 3.29974303e+00 2.67122055e+00 2.98548179e+00 2.67122055e+00 2.49164270e+00 2.31206484e+00 2.42430100e+00 2.35695931e+00 2.64877332e+00 2.33451208e+00 2.19982869e+00 1.75088406e+00 1.88556745e+00 2.13248699e+00 1.90801468e+00 1.88556745e+00 1.66109513e+00 2.06514530e+00 1.63864790e+00 2.17738145e+00 1.88556745e+00 1.84067298e+00 1.61620067e+00 1.34683389e+00 1.07746711e+00 1.75088406e+00 1.43662282e+00 1.50396451e+00 1.39172835e+00 1.43662282e+00 1.68354236e+00 1.25704496e+00 9.65230954e-01 1.30193943e+00 1.30193943e+00 1.36928112e+00 9.87678186e-01 1.30193943e+00 1.05501988e+00 1.16725604e+00 1.14480881e+00 9.65230954e-01 1.07746711e+00 9.87678186e-01 1.36928112e+00 9.42783723e-01 1.34683389e+00 9.65230954e-01 1.27949220e+00 8.75442028e-01 1.05501988e+00 9.20336491e-01 5.83628019e-01 8.97889260e-01 9.65230954e-01 8.52994797e-01 7.85653102e-01 7.63205871e-01 7.85653102e-01 6.95864176e-01 7.85653102e-01 7.63205871e-01 6.95864176e-01 7.40758639e-01 5.61180787e-01 6.95864176e-01 6.28522482e-01 6.95864176e-01 7.18311408e-01 6.06075250e-01 5.16286324e-01 4.48944630e-01 4.26497398e-01 7.18311408e-01 3.81602935e-01 3.81602935e-01 3.81602935e-01 4.93839093e-01 5.83628019e-01 4.71391861e-01 5.61180787e-01 4.26497398e-01 3.36708472e-01 4.04050167e-01 3.81602935e-01 4.93839093e-01 5.38733556e-01 4.26497398e-01 4.93839093e-01 3.14261241e-01 4.26497398e-01 4.26497398e-01 4.93839093e-01 4.04050167e-01 4.71391861e-01 2.46919546e-01 2.24472315e-01 2.69366778e-01 2.46919546e-01 3.59155704e-01 4.26497398e-01 2.46919546e-01 4.04050167e-01 3.36708472e-01 3.36708472e-01 2.69366778e-01 3.36708472e-01 3.36708472e-01 2.46919546e-01 3.59155704e-01 2.91814009e-01 3.59155704e-01 6.73416945e-02 1.57130620e-01 3.59155704e-01 2.91814009e-01 3.59155704e-01 2.91814009e-01 2.24472315e-01 2.46919546e-01 1.34683389e-01 2.46919546e-01 3.59155704e-01 1.12236157e-01 1.57130620e-01 2.02025083e-01 1.12236157e-01 2.02025083e-01 3.36708472e-01 1.34683389e-01 1.34683389e-01 1.34683389e-01 1.12236157e-01 2.02025083e-01 1.79577852e-01 3.59155704e-01 1.12236157e-01 1.34683389e-01 1.34683389e-01 2.02025083e-01 1.79577852e-01 1.12236157e-01 2.24472315e-01 1.79577852e-01 1.34683389e-01 4.48944630e-02 1.79577852e-01 1.12236157e-01 1.79577852e-01 8.97889260e-02 1.57130620e-01 8.97889260e-02 1.57130620e-01 1.34683389e-01 4.48944630e-02 2.02025083e-01 6.73416945e-02 1.12236157e-01 1.79577852e-01 1.12236157e-01 6.73416945e-02 4.48944630e-02 6.73416945e-02 1.57130620e-01 6.73416945e-02 2.46919546e-01 8.97889260e-02 1.34683389e-01 8.97889260e-02 1.34683389e-01 1.57130620e-01 6.73416945e-02 8.97889260e-02 1.34683389e-01 2.02025083e-01 6.73416945e-02 4.48944630e-02 4.48944630e-02 6.73416945e-02 4.48944630e-02 2.24472315e-02 8.97889260e-02 1.57130620e-01 8.97889260e-02 2.24472315e-02 8.97889260e-02 8.97889260e-02 4.48944630e-02 4.48944630e-02 4.48944630e-02 2.24472315e-02 4.48944630e-02 6.73416945e-02 6.73416945e-02 8.97889260e-02 4.48944630e-02 0.00000000e+00 8.97889260e-02 0.00000000e+00 4.48944630e-02 1.12236157e-01 0.00000000e+00 2.24472315e-02 4.48944630e-02 2.24472315e-02 2.24472315e-02 0.00000000e+00 6.73416945e-02 8.97889260e-02 6.73416945e-02 6.73416945e-02 4.48944630e-02 4.48944630e-02 0.00000000e+00 2.24472315e-02 0.00000000e+00 2.24472315e-02 6.73416945e-02 0.00000000e+00 0.00000000e+00 4.48944630e-02 4.48944630e-02 2.24472315e-02 2.24472315e-02 2.24472315e-02 4.48944630e-02 2.24472315e-02 0.00000000e+00 0.00000000e+00 2.24472315e-02 2.24472315e-02 4.48944630e-02 4.48944630e-02 0.00000000e+00 2.24472315e-02 2.24472315e-02 2.24472315e-02 2.24472315e-02 2.24472315e-02 0.00000000e+00 0.00000000e+00 1.12236157e-01 0.00000000e+00 2.24472315e-02 2.24472315e-02 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 4.48944630e-02 4.48944630e-02 2.24472315e-02 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 2.24472315e-02 0.00000000e+00 2.24472315e-02 4.48944630e-02 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 6.73416945e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 2.24472315e-02 2.24472315e-02 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 2.24472315e-02 0.00000000e+00 2.24472315e-02 0.00000000e+00 4.48944630e-02 4.48944630e-02 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.48944630e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.48944630e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 2.24472315e-02 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.48944630e-02 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 4.48944630e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.24472315e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 5.26647966e-01 6.58309957e-01 1.97492987e+00 2.76490182e+00 3.81819775e+00 6.45143758e+00 7.37307152e+00 6.97808555e+00 9.61132538e+00 1.06646213e+01 1.47461430e+01 1.47461430e+01 1.65894109e+01 1.50094670e+01 1.83010168e+01 1.57994390e+01 1.61944250e+01 1.68527349e+01 1.85643408e+01 1.77743689e+01 2.14609046e+01 1.77743689e+01 1.76427069e+01 1.85643408e+01 1.84326788e+01 1.86960028e+01 1.68527349e+01 2.18558906e+01 1.88276648e+01 1.73793829e+01 1.81693548e+01 1.97492987e+01 1.86960028e+01 1.75110449e+01 1.83010168e+01 1.79060308e+01 1.60627630e+01 2.17242286e+01 1.69843969e+01 1.67210729e+01 1.71160589e+01 1.65894109e+01 1.80376928e+01 1.52727910e+01 1.72477209e+01 1.29028752e+01 1.42194951e+01 1.30345372e+01 1.38245091e+01 1.61944250e+01 1.36928471e+01 1.40878331e+01 1.23762272e+01 1.61944250e+01 1.46144811e+01 1.32978611e+01 1.36928471e+01 1.15862553e+01 1.57994390e+01 1.48778050e+01 1.44828191e+01 1.26395512e+01 1.39561711e+01 1.36928471e+01 1.36928471e+01 1.14545933e+01 1.47461430e+01 1.23762272e+01 1.14545933e+01 1.09279453e+01 1.18495792e+01 1.35611851e+01 1.17179172e+01 1.04012973e+01 9.61132538e+00 1.29028752e+01 1.18495792e+01 8.95301542e+00 8.55802945e+00 1.01379733e+01 9.74298737e+00 1.09279453e+01 1.22445652e+01 1.10596073e+01 1.04012973e+01 1.00063114e+01 1.02696353e+01 1.01379733e+01 9.34800140e+00 9.08467741e+00 1.02696353e+01 9.34800140e+00 1.07962833e+01 8.16304347e+00 9.08467741e+00 9.34800140e+00 9.61132538e+00 8.55802945e+00 1.00063114e+01 8.55802945e+00 8.29470546e+00 7.76805750e+00 7.76805750e+00 6.84642356e+00 9.47966339e+00 8.68969144e+00 8.95301542e+00 9.08467741e+00 7.24140953e+00 9.34800140e+00 7.89971949e+00 7.10974754e+00 6.45143758e+00 7.76805750e+00 1.00063114e+01 5.92478962e+00 9.21633940e+00 7.10974754e+00 7.50473351e+00 7.10974754e+00 6.31977559e+00 7.50473351e+00 7.24140953e+00 7.10974754e+00 6.71476157e+00 7.76805750e+00 6.58309957e+00 6.97808555e+00 6.05645161e+00 6.58309957e+00 7.50473351e+00 7.89971949e+00 8.03138148e+00 5.92478962e+00 6.71476157e+00 6.84642356e+00 6.97808555e+00 6.58309957e+00 5.92478962e+00 5.66146563e+00 7.37307152e+00 6.45143758e+00 7.24140953e+00 6.18811360e+00 5.39814165e+00 5.52980364e+00 7.24140953e+00 6.71476157e+00 6.58309957e+00 5.52980364e+00 5.13481767e+00 6.05645161e+00 4.47650771e+00 6.58309957e+00 5.00315568e+00 6.84642356e+00 4.87149368e+00 6.18811360e+00 7.10974754e+00 6.97808555e+00 5.92478962e+00 4.60816970e+00 4.47650771e+00 6.18811360e+00 6.71476157e+00 7.50473351e+00 4.34484572e+00 6.05645161e+00 5.39814165e+00 5.00315568e+00 3.81819775e+00 5.79312763e+00 5.13481767e+00 4.60816970e+00 5.39814165e+00 4.34484572e+00 5.92478962e+00 3.29154979e+00 5.79312763e+00 6.05645161e+00 5.52980364e+00 4.08152174e+00 4.73983169e+00 4.60816970e+00 4.87149368e+00 4.47650771e+00 5.00315568e+00 5.66146563e+00 4.73983169e+00 4.21318373e+00 4.08152174e+00 4.08152174e+00 4.34484572e+00 4.60816970e+00 5.00315568e+00 5.13481767e+00 5.26647966e+00 4.73983169e+00 4.73983169e+00 4.08152174e+00 4.08152174e+00 3.94985974e+00 4.47650771e+00 5.00315568e+00 5.26647966e+00 3.55487377e+00 5.39814165e+00 4.34484572e+00 4.73983169e+00 3.68653576e+00 4.73983169e+00 4.08152174e+00 3.94985974e+00 4.34484572e+00 4.08152174e+00 3.15988780e+00 3.68653576e+00 5.00315568e+00 5.00315568e+00 3.68653576e+00 2.89656381e+00 3.29154979e+00 2.36991585e+00 4.34484572e+00 3.42321178e+00 3.29154979e+00 4.60816970e+00 3.94985974e+00 4.34484572e+00 3.68653576e+00 4.34484572e+00 3.81819775e+00 3.15988780e+00 3.42321178e+00 3.68653576e+00 2.50157784e+00 4.08152174e+00 4.34484572e+00 3.68653576e+00 3.81819775e+00 2.50157784e+00 4.21318373e+00 2.76490182e+00 3.29154979e+00 3.02822580e+00 2.76490182e+00 3.29154979e+00 4.60816970e+00 3.81819775e+00 3.94985974e+00 3.29154979e+00 4.73983169e+00 3.02822580e+00 3.94985974e+00 2.89656381e+00 2.89656381e+00 3.42321178e+00 3.42321178e+00 3.68653576e+00 2.89656381e+00 2.50157784e+00 3.94985974e+00 3.94985974e+00 3.29154979e+00 3.29154979e+00 3.02822580e+00 2.63323983e+00 2.76490182e+00 3.68653576e+00 2.63323983e+00 3.15988780e+00 1.97492987e+00 3.42321178e+00 3.15988780e+00 2.36991585e+00 3.29154979e+00 2.63323983e+00 3.02822580e+00 1.84326788e+00 3.02822580e+00 2.63323983e+00 2.76490182e+00 3.15988780e+00 2.50157784e+00 2.50157784e+00 2.63323983e+00 2.50157784e+00 3.55487377e+00 2.50157784e+00 3.81819775e+00 2.23825386e+00 3.42321178e+00 3.29154979e+00 3.29154979e+00 2.23825386e+00 2.63323983e+00 2.36991585e+00 3.15988780e+00 2.63323983e+00 2.50157784e+00 3.29154979e+00 2.23825386e+00 1.97492987e+00 2.36991585e+00 2.89656381e+00 2.63323983e+00 2.36991585e+00 3.81819775e+00 3.02822580e+00 2.36991585e+00 2.23825386e+00 2.63323983e+00 3.42321178e+00 1.71160589e+00 3.15988780e+00 2.36991585e+00 1.44828191e+00 2.23825386e+00 4.08152174e+00 2.50157784e+00 1.05329593e+00 3.15988780e+00 1.84326788e+00 2.23825386e+00 3.29154979e+00 1.57994390e+00 3.55487377e+00 2.36991585e+00 3.42321178e+00 3.15988780e+00 2.63323983e+00 2.36991585e+00 2.50157784e+00 2.36991585e+00 3.68653576e+00 2.10659186e+00 2.63323983e+00 1.97492987e+00 2.36991585e+00 2.10659186e+00 1.97492987e+00 3.94985974e+00 2.76490182e+00 1.71160589e+00 1.84326788e+00 2.89656381e+00 2.10659186e+00 1.57994390e+00 1.84326788e+00 1.97492987e+00 1.44828191e+00 2.63323983e+00 2.76490182e+00 1.84326788e+00 1.18495792e+00 1.84326788e+00 2.50157784e+00 1.84326788e+00 1.44828191e+00 1.71160589e+00 2.23825386e+00 2.10659186e+00 2.50157784e+00 2.89656381e+00 1.31661991e+00 1.57994390e+00 2.10659186e+00 2.50157784e+00 1.84326788e+00 1.84326788e+00 1.44828191e+00 7.89971949e-01 2.36991585e+00 2.89656381e+00 1.97492987e+00 2.76490182e+00 1.44828191e+00 2.50157784e+00 2.10659186e+00 2.10659186e+00 2.23825386e+00 1.97492987e+00 1.57994390e+00 1.71160589e+00 1.71160589e+00 1.31661991e+00 1.71160589e+00 2.36991585e+00 2.50157784e+00 9.21633940e-01 1.18495792e+00 1.84326788e+00 2.36991585e+00 1.97492987e+00 1.31661991e+00 1.05329593e+00 2.10659186e+00 2.23825386e+00 1.57994390e+00 2.10659186e+00 2.23825386e+00 2.23825386e+00 2.63323983e+00 2.36991585e+00 1.97492987e+00 1.31661991e+00 1.71160589e+00 3.15988780e+00 2.50157784e+00 1.57994390e+00 1.44828191e+00 1.18495792e+00 1.84326788e+00 2.10659186e+00 1.84326788e+00 1.18495792e+00 1.44828191e+00 1.71160589e+00 2.89656381e+00 1.71160589e+00 6.58309957e-01 1.57994390e+00 1.18495792e+00 9.21633940e-01 9.21633940e-01 1.84326788e+00 1.57994390e+00 1.84326788e+00 1.05329593e+00 1.97492987e+00 1.31661991e+00 1.18495792e+00 1.57994390e+00 9.21633940e-01 2.10659186e+00 1.31661991e+00 2.10659186e+00 6.58309957e-01 1.18495792e+00 1.44828191e+00 1.44828191e+00 2.23825386e+00 1.05329593e+00 1.57994390e+00 1.44828191e+00 1.71160589e+00 1.44828191e+00 1.18495792e+00 1.84326788e+00 1.84326788e+00 1.57994390e+00 1.18495792e+00 1.31661991e+00 1.57994390e+00 9.21633940e-01 1.71160589e+00 2.50157784e+00 2.23825386e+00 1.18495792e+00 1.44828191e+00 2.23825386e+00 1.31661991e+00 1.18495792e+00 1.31661991e+00 6.58309957e-01 1.97492987e+00 1.18495792e+00 1.84326788e+00 1.44828191e+00 1.57994390e+00 1.18495792e+00 1.57994390e+00 2.36991585e+00 1.71160589e+00 1.84326788e+00 1.84326788e+00 1.18495792e+00 1.18495792e+00 1.05329593e+00 1.97492987e+00 1.05329593e+00 6.58309957e-01 5.26647966e-01 9.21633940e-01 1.44828191e+00 1.05329593e+00 1.05329593e+00 1.31661991e+00 1.97492987e+00 1.84326788e+00 1.05329593e+00 9.21633940e-01 9.21633940e-01 7.89971949e-01 1.31661991e+00 1.71160589e+00 1.44828191e+00 2.10659186e+00 2.10659186e+00 1.44828191e+00 6.58309957e-01 7.89971949e-01 1.57994390e+00 1.44828191e+00 1.31661991e+00 1.57994390e+00 1.31661991e+00 1.97492987e+00 1.57994390e+00 9.21633940e-01 1.18495792e+00 7.89971949e-01 1.97492987e+00 9.21633940e-01 9.21633940e-01 1.18495792e+00 1.31661991e+00 1.71160589e+00 1.05329593e+00 1.57994390e+00 1.05329593e+00 1.05329593e+00 6.58309957e-01 6.58309957e-01 1.05329593e+00 1.57994390e+00 1.31661991e+00 1.57994390e+00 1.71160589e+00 1.97492987e+00 1.57994390e+00 9.21633940e-01 5.26647966e-01 1.97492987e+00 1.57994390e+00 1.97492987e+00 6.58309957e-01 2.76490182e+00 1.18495792e+00 1.18495792e+00 7.89971949e-01 1.71160589e+00 1.05329593e+00 5.26647966e-01 1.57994390e+00 1.44828191e+00 1.05329593e+00 1.44828191e+00 1.31661991e+00 1.31661991e+00 1.97492987e+00 1.57994390e+00 1.57994390e+00 7.89971949e-01 1.44828191e+00 1.31661991e+00 1.18495792e+00 1.57994390e+00 7.89971949e-01 1.18495792e+00 1.31661991e+00 1.05329593e+00 9.21633940e-01 9.21633940e-01 2.10659186e+00 1.57994390e+00 1.84326788e+00 1.57994390e+00 1.05329593e+00 1.18495792e+00 7.89971949e-01 1.97492987e+00 1.44828191e+00 1.57994390e+00 1.31661991e+00 1.31661991e+00 1.31661991e+00 1.44828191e+00 1.44828191e+00 7.89971949e-01 1.18495792e+00 1.18495792e+00 1.44828191e+00 9.21633940e-01 1.57994390e+00 7.89971949e-01 1.57994390e+00 1.18495792e+00 1.31661991e+00 3.94985974e-01 1.44828191e+00 1.44828191e+00 7.89971949e-01 6.58309957e-01 7.89971949e-01 7.89971949e-01 1.71160589e+00 1.18495792e+00 9.21633940e-01 1.44828191e+00 1.57994390e+00 7.89971949e-01 2.63323983e-01 1.05329593e+00 1.05329593e+00 5.26647966e-01 1.18495792e+00 1.31661991e+00 1.84326788e+00 1.05329593e+00 1.05329593e+00 9.21633940e-01 7.89971949e-01 1.31661991e+00 7.89971949e-01 7.89971949e-01 1.18495792e+00 1.18495792e+00 1.05329593e+00 7.89971949e-01 1.57994390e+00 1.05329593e+00 9.21633940e-01 1.44828191e+00 6.58309957e-01 6.58309957e-01 1.57994390e+00 1.71160589e+00 1.05329593e+00 3.94985974e-01 1.31661991e+00 1.05329593e+00 5.26647966e-01 5.26647966e-01 9.21633940e-01 1.05329593e+00 1.05329593e+00 6.58309957e-01 1.18495792e+00 1.57994390e+00 2.63323983e-01 9.21633940e-01 7.89971949e-01 9.21633940e-01 1.84326788e+00 1.18495792e+00 1.31661991e+00 2.63323983e-01 7.89971949e-01 7.89971949e-01 1.18495792e+00 1.05329593e+00 1.05329593e+00 5.26647966e-01 5.26647966e-01 1.18495792e+00 1.84326788e+00 1.44828191e+00 9.21633940e-01 5.26647966e-01 5.26647966e-01 1.31661991e+00 5.26647966e-01 6.58309957e-01 9.21633940e-01 6.58309957e-01 9.21633940e-01 5.26647966e-01 1.31661991e+00 3.94985974e-01 7.89971949e-01 6.58309957e-01 1.84326788e+00 1.18495792e+00 1.44828191e+00 1.31661991e+00 1.05329593e+00 1.18495792e+00 6.58309957e-01 1.31661991e+00 6.58309957e-01 1.71160589e+00 1.05329593e+00 1.18495792e+00 1.71160589e+00 1.05329593e+00 9.21633940e-01 9.21633940e-01 9.21633940e-01 1.05329593e+00 1.18495792e+00 5.26647966e-01 6.58309957e-01 9.21633940e-01 3.94985974e-01 3.94985974e-01 7.89971949e-01 6.58309957e-01 6.58309957e-01 7.89971949e-01 5.26647966e-01 7.89971949e-01 1.18495792e+00 2.63323983e-01 7.89971949e-01 5.26647966e-01 3.94985974e-01 1.05329593e+00 1.31661991e+00 7.89971949e-01 6.58309957e-01 7.89971949e-01 1.05329593e+00 1.18495792e+00 7.89971949e-01 1.31661991e+00 9.21633940e-01 1.31661991e+00 3.94985974e-01 1.44828191e+00 1.05329593e+00 6.58309957e-01 7.89971949e-01 5.26647966e-01 7.89971949e-01 1.05329593e+00 3.94985974e-01 1.44828191e+00 5.26647966e-01 1.18495792e+00 7.89971949e-01 1.05329593e+00 5.26647966e-01 7.89971949e-01 5.26647966e-01 1.05329593e+00 7.89971949e-01 1.18495792e+00 1.18495792e+00 1.18495792e+00 7.89971949e-01 6.58309957e-01 3.94985974e-01 1.31661991e-01 7.89971949e-01 7.89971949e-01 3.94985974e-01 1.05329593e+00 7.89971949e-01 9.21633940e-01 7.89971949e-01 1.31661991e+00 3.94985974e-01 7.89971949e-01 6.58309957e-01 5.26647966e-01 6.58309957e-01 7.89971949e-01 7.89971949e-01 9.21633940e-01 5.26647966e-01 7.89971949e-01 1.18495792e+00 9.21633940e-01 3.94985974e-01 1.31661991e+00 1.44828191e+00 9.21633940e-01 9.21633940e-01 1.05329593e+00 1.31661991e+00 5.26647966e-01 9.21633940e-01 1.31661991e+00 7.89971949e-01 6.58309957e-01 2.63323983e-01 1.05329593e+00 7.89971949e-01 7.89971949e-01 1.18495792e+00 1.31661991e-01 9.21633940e-01 6.58309957e-01 1.18495792e+00 6.58309957e-01 7.89971949e-01 1.31661991e-01 1.18495792e+00 5.26647966e-01 9.21633940e-01 1.05329593e+00 5.26647966e-01 9.21633940e-01 1.05329593e+00 7.89971949e-01 1.31661991e-01 1.05329593e+00 6.58309957e-01 1.31661991e+00 7.89971949e-01 9.21633940e-01 3.94985974e-01 6.58309957e-01 1.05329593e+00 7.89971949e-01 1.44828191e+00 3.94985974e-01 9.21633940e-01 6.58309957e-01 7.89971949e-01 5.26647966e-01 7.89971949e-01 5.26647966e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 1.18495792e+00 3.94985974e-01 6.58309957e-01 3.94985974e-01 6.58309957e-01 6.58309957e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 9.21633940e-01 2.63323983e-01 1.18495792e+00 5.26647966e-01 7.89971949e-01 7.89971949e-01 7.89971949e-01 3.94985974e-01 9.21633940e-01 3.94985974e-01 5.26647966e-01 6.58309957e-01 1.31661991e-01 9.21633940e-01 2.63323983e-01 2.63323983e-01 7.89971949e-01 3.94985974e-01 5.26647966e-01 1.05329593e+00 5.26647966e-01 1.05329593e+00 6.58309957e-01 9.21633940e-01 3.94985974e-01 9.21633940e-01 1.18495792e+00 5.26647966e-01 6.58309957e-01 1.18495792e+00 2.63323983e-01 2.63323983e-01 6.58309957e-01 7.89971949e-01 7.89971949e-01 2.63323983e-01 6.58309957e-01 1.31661991e+00 5.26647966e-01 5.26647966e-01 5.26647966e-01 6.58309957e-01 2.63323983e-01 5.26647966e-01 7.89971949e-01 9.21633940e-01 6.58309957e-01 1.18495792e+00 6.58309957e-01 5.26647966e-01 5.26647966e-01 1.18495792e+00 6.58309957e-01 9.21633940e-01 1.18495792e+00 1.05329593e+00 5.26647966e-01 7.89971949e-01 3.94985974e-01 2.63323983e-01 7.89971949e-01 5.26647966e-01 6.58309957e-01 6.58309957e-01 7.89971949e-01 3.94985974e-01 9.21633940e-01 1.18495792e+00 5.26647966e-01 5.26647966e-01 5.26647966e-01 7.89971949e-01 6.58309957e-01 5.26647966e-01 6.58309957e-01 6.58309957e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 1.44828191e+00 1.31661991e-01 3.94985974e-01 2.63323983e-01 1.05329593e+00 5.26647966e-01 1.31661991e+00 9.21633940e-01 9.21633940e-01 5.26647966e-01 1.31661991e-01 7.89971949e-01 5.26647966e-01 5.26647966e-01 3.94985974e-01 1.18495792e+00 5.26647966e-01 5.26647966e-01 1.18495792e+00 5.26647966e-01 2.63323983e-01 0.00000000e+00 7.89971949e-01 7.89971949e-01 6.58309957e-01 5.26647966e-01 1.18495792e+00 5.26647966e-01 3.94985974e-01 5.26647966e-01 7.89971949e-01 6.58309957e-01 2.63323983e-01 2.63323983e-01 5.26647966e-01 6.58309957e-01 3.94985974e-01 6.58309957e-01 5.26647966e-01 1.05329593e+00 1.31661991e-01 1.05329593e+00 2.63323983e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 6.58309957e-01 3.94985974e-01 6.58309957e-01 1.18495792e+00 3.94985974e-01 6.58309957e-01 5.26647966e-01 2.63323983e-01 3.94985974e-01 2.63323983e-01 7.89971949e-01 3.94985974e-01 2.63323983e-01 5.26647966e-01 7.89971949e-01 6.58309957e-01 6.58309957e-01 1.31661991e-01 1.31661991e-01 6.58309957e-01 5.26647966e-01 2.63323983e-01 1.31661991e+00 6.58309957e-01 2.63323983e-01 1.31661991e-01 6.58309957e-01 2.63323983e-01 6.58309957e-01 5.26647966e-01 5.26647966e-01 6.58309957e-01 1.31661991e-01 3.94985974e-01 9.21633940e-01 3.94985974e-01 7.89971949e-01 3.94985974e-01 6.58309957e-01 1.44828191e+00 3.94985974e-01 5.26647966e-01 3.94985974e-01 9.21633940e-01 3.94985974e-01 1.05329593e+00 2.63323983e-01 6.58309957e-01 7.89971949e-01 6.58309957e-01 9.21633940e-01 5.26647966e-01 1.31661991e-01 1.31661991e-01 7.89971949e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 5.26647966e-01 7.89971949e-01 6.58309957e-01 5.26647966e-01 5.26647966e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 9.21633940e-01 7.89971949e-01 7.89971949e-01 5.26647966e-01 5.26647966e-01 7.89971949e-01 3.94985974e-01 5.26647966e-01 5.26647966e-01 6.58309957e-01 2.63323983e-01 3.94985974e-01 3.94985974e-01 3.94985974e-01 1.18495792e+00 5.26647966e-01 5.26647966e-01 5.26647966e-01 1.31661991e-01 2.63323983e-01 5.26647966e-01 1.31661991e-01 7.89971949e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 6.58309957e-01 9.21633940e-01 7.89971949e-01 6.58309957e-01 3.94985974e-01 5.26647966e-01 2.63323983e-01 6.58309957e-01 0.00000000e+00 2.63323983e-01 7.89971949e-01 1.31661991e-01 6.58309957e-01 2.63323983e-01 5.26647966e-01 9.21633940e-01 5.26647966e-01 2.63323983e-01 7.89971949e-01 3.94985974e-01 3.94985974e-01 2.63323983e-01 7.89971949e-01 3.94985974e-01 5.26647966e-01 3.94985974e-01 5.26647966e-01 5.26647966e-01 3.94985974e-01 3.94985974e-01 5.26647966e-01 2.63323983e-01 6.58309957e-01 3.94985974e-01 2.63323983e-01 7.89971949e-01 5.26647966e-01 6.58309957e-01 3.94985974e-01 6.58309957e-01 1.31661991e-01 5.26647966e-01 5.26647966e-01 7.89971949e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 5.26647966e-01 5.26647966e-01 7.89971949e-01 2.63323983e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 5.26647966e-01 5.26647966e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 5.26647966e-01 9.21633940e-01 9.21633940e-01 3.94985974e-01 3.94985974e-01 3.94985974e-01 2.63323983e-01 1.05329593e+00 2.63323983e-01 3.94985974e-01 5.26647966e-01 7.89971949e-01 7.89971949e-01 1.31661991e-01 5.26647966e-01 1.31661991e-01 1.31661991e-01 6.58309957e-01 1.31661991e-01 1.31661991e-01 1.18495792e+00 5.26647966e-01 5.26647966e-01 5.26647966e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 6.58309957e-01 3.94985974e-01 3.94985974e-01 5.26647966e-01 3.94985974e-01 6.58309957e-01 0.00000000e+00 6.58309957e-01 3.94985974e-01 9.21633940e-01 1.31661991e-01 2.63323983e-01 6.58309957e-01 2.63323983e-01 9.21633940e-01 3.94985974e-01 5.26647966e-01 3.94985974e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 7.89971949e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 2.63323983e-01 5.26647966e-01 3.94985974e-01 2.63323983e-01 3.94985974e-01 6.58309957e-01 0.00000000e+00 2.63323983e-01 5.26647966e-01 1.31661991e-01 7.89971949e-01 3.94985974e-01 3.94985974e-01 5.26647966e-01 3.94985974e-01 1.05329593e+00 6.58309957e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 2.63323983e-01 3.94985974e-01 3.94985974e-01 6.58309957e-01 2.63323983e-01 3.94985974e-01 2.63323983e-01 5.26647966e-01 5.26647966e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 6.58309957e-01 9.21633940e-01 3.94985974e-01 6.58309957e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 3.94985974e-01 5.26647966e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 7.89971949e-01 3.94985974e-01 3.94985974e-01 2.63323983e-01 6.58309957e-01 5.26647966e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 2.63323983e-01 3.94985974e-01 3.94985974e-01 1.31661991e-01 5.26647966e-01 5.26647966e-01 5.26647966e-01 0.00000000e+00 5.26647966e-01 2.63323983e-01 2.63323983e-01 3.94985974e-01 7.89971949e-01 6.58309957e-01 5.26647966e-01 6.58309957e-01 3.94985974e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 6.58309957e-01 2.63323983e-01 5.26647966e-01 3.94985974e-01 5.26647966e-01 6.58309957e-01 5.26647966e-01 6.58309957e-01 7.89971949e-01 5.26647966e-01 2.63323983e-01 1.31661991e-01 5.26647966e-01 5.26647966e-01 2.63323983e-01 5.26647966e-01 7.89971949e-01 1.31661991e-01 1.31661991e-01 1.05329593e+00 6.58309957e-01 5.26647966e-01 2.63323983e-01 5.26647966e-01 5.26647966e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 9.21633940e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 5.26647966e-01 3.94985974e-01 6.58309957e-01 5.26647966e-01 5.26647966e-01 1.31661991e-01 3.94985974e-01 3.94985974e-01 2.63323983e-01 5.26647966e-01 3.94985974e-01 5.26647966e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 5.26647966e-01 1.31661991e-01 1.18495792e+00 0.00000000e+00 3.94985974e-01 2.63323983e-01 2.63323983e-01 7.89971949e-01 0.00000000e+00 1.05329593e+00 2.63323983e-01 5.26647966e-01 1.31661991e-01 1.31661991e-01 6.58309957e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 5.26647966e-01 5.26647966e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 6.58309957e-01 3.94985974e-01 2.63323983e-01 6.58309957e-01 1.31661991e-01 3.94985974e-01 3.94985974e-01 6.58309957e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 5.26647966e-01 5.26647966e-01 2.63323983e-01 6.58309957e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 5.26647966e-01 3.94985974e-01 3.94985974e-01 3.94985974e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 5.26647966e-01 1.31661991e-01 1.31661991e-01 5.26647966e-01 5.26647966e-01 5.26647966e-01 2.63323983e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 3.94985974e-01 5.26647966e-01 1.31661991e-01 5.26647966e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 3.94985974e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 5.26647966e-01 5.26647966e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 3.94985974e-01 2.63323983e-01 5.26647966e-01 1.31661991e-01 3.94985974e-01 6.58309957e-01 3.94985974e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 5.26647966e-01 3.94985974e-01 3.94985974e-01 9.21633940e-01 6.58309957e-01 6.58309957e-01 5.26647966e-01 3.94985974e-01 2.63323983e-01 5.26647966e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 5.26647966e-01 2.63323983e-01 1.31661991e-01 5.26647966e-01 6.58309957e-01 2.63323983e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 3.94985974e-01 7.89971949e-01 2.63323983e-01 1.31661991e-01 6.58309957e-01 6.58309957e-01 2.63323983e-01 2.63323983e-01 6.58309957e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 5.26647966e-01 3.94985974e-01 0.00000000e+00 3.94985974e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 6.58309957e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 5.26647966e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 2.63323983e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 5.26647966e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 5.26647966e-01 3.94985974e-01 5.26647966e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 5.26647966e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 5.26647966e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 5.26647966e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 5.26647966e-01 0.00000000e+00 3.94985974e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.05329593e+00 1.31661991e-01 3.94985974e-01 3.94985974e-01 1.31661991e-01 3.94985974e-01 5.26647966e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 6.58309957e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 5.26647966e-01 1.31661991e-01 2.63323983e-01 6.58309957e-01 2.63323983e-01 1.31661991e-01 6.58309957e-01 3.94985974e-01 3.94985974e-01 3.94985974e-01 5.26647966e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 6.58309957e-01 1.31661991e-01 5.26647966e-01 2.63323983e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 5.26647966e-01 3.94985974e-01 1.31661991e-01 7.89971949e-01 3.94985974e-01 1.31661991e-01 6.58309957e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 3.94985974e-01 3.94985974e-01 6.58309957e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 6.58309957e-01 3.94985974e-01 6.58309957e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 3.94985974e-01 1.31661991e-01 5.26647966e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 3.94985974e-01 5.26647966e-01 2.63323983e-01 2.63323983e-01 3.94985974e-01 2.63323983e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 5.26647966e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 5.26647966e-01 0.00000000e+00 0.00000000e+00 6.58309957e-01 5.26647966e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 3.94985974e-01 1.31661991e-01 5.26647966e-01 1.31661991e-01 0.00000000e+00 7.89971949e-01 1.31661991e-01 1.31661991e-01 5.26647966e-01 2.63323983e-01 0.00000000e+00 5.26647966e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 3.94985974e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 5.26647966e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 0.00000000e+00 3.94985974e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 5.26647966e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 5.26647966e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 1.31661991e-01 5.26647966e-01 3.94985974e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 6.58309957e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 0.00000000e+00 3.94985974e-01 1.31661991e-01 7.89971949e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 5.26647966e-01 3.94985974e-01 2.63323983e-01 7.89971949e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 3.94985974e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 5.26647966e-01 3.94985974e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 6.58309957e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 5.26647966e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 5.26647966e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 5.26647966e-01 0.00000000e+00 3.94985974e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 5.26647966e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 5.26647966e-01 1.31661991e-01 5.26647966e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 5.26647966e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 6.58309957e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 5.26647966e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 5.26647966e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 5.26647966e-01 3.94985974e-01 6.58309957e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 5.26647966e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 5.26647966e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 1.31661991e-01 5.26647966e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 3.94985974e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 5.26647966e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 6.58309957e-01 5.26647966e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 6.58309957e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 3.94985974e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 5.26647966e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 6.58309957e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 6.58309957e-01 3.94985974e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 3.94985974e-01 1.31661991e-01 3.94985974e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 3.94985974e-01 6.58309957e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 5.26647966e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 5.26647966e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 5.26647966e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 5.26647966e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 5.26647966e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 3.94985974e-01 2.63323983e-01 5.26647966e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 3.94985974e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 6.58309957e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 3.94985974e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 3.94985974e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 5.26647966e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 5.26647966e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 6.58309957e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 5.26647966e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 0.00000000e+00 3.94985974e-01 3.94985974e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 7.89971949e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 5.26647966e-01 3.94985974e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.94985974e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 2.63323983e-01 3.94985974e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 2.63323983e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 1.31661991e-01 5.26647966e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 0.00000000e+00 1.31661991e-01 1.31661991e-01 1.31661991e-01 1.31661991e-01 2.63323983e-01 0.00000000e+00 6.58309957e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 2.63323983e-01 3.94985974e-01 3.94985974e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 6.58309957e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 2.63323983e-01 3.94985974e-01 3.94985974e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 3.94985974e-01 1.31661991e-01 3.94985974e-01 5.26647966e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 5.26647966e-01 1.31661991e-01 2.63323983e-01 2.63323983e-01 1.31661991e-01 2.63323983e-01 5.26647966e-01 0.00000000e+00 1.31661991e-01 2.63323983e-01 5.26647966e-01 5.26647966e-01 0.00000000e+00 1.31661991e-01 3.94985974e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 1.31661991e-01 3.94985974e-01 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63323983e-01 1.31661991e-01 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.31661991e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_low_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_low_BDTG.weights.xml index 450c65f60f92..cf9021bcc449 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_low_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_low_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - - - - - - - - - + + + + + + + + + @@ -73,5876 +73,5930 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.46489216e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.46489216e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.46489216e-02 0.00000000e+00 4.46489216e-02 4.46489216e-02 4.46489216e-02 8.92978433e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.46489216e-02 0.00000000e+00 4.46489216e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.46489216e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.92978433e-02 0.00000000e+00 0.00000000e+00 8.92978433e-02 0.00000000e+00 4.46489216e-02 8.92978433e-02 4.46489216e-02 0.00000000e+00 8.92978433e-02 1.78595687e-01 8.92978433e-02 4.46489216e-02 8.92978433e-02 4.46489216e-02 0.00000000e+00 4.46489216e-02 0.00000000e+00 0.00000000e+00 4.46489216e-02 4.46489216e-02 4.46489216e-02 4.46489216e-02 0.00000000e+00 8.92978433e-02 1.78595687e-01 1.78595687e-01 8.92978433e-02 1.33946765e-01 1.33946765e-01 8.92978433e-02 8.92978433e-02 1.33946765e-01 8.92978433e-02 8.92978433e-02 4.46489216e-02 1.33946765e-01 8.92978433e-02 1.33946765e-01 1.78595687e-01 1.33946765e-01 1.33946765e-01 2.23244608e-01 1.78595687e-01 1.78595687e-01 4.46489216e-02 2.23244608e-01 8.92978433e-02 2.23244608e-01 1.33946765e-01 2.67893530e-01 2.23244608e-01 1.78595687e-01 1.33946765e-01 2.23244608e-01 1.78595687e-01 1.78595687e-01 1.33946765e-01 1.33946765e-01 3.57191373e-01 1.33946765e-01 1.78595687e-01 2.67893530e-01 0.00000000e+00 8.92978433e-02 1.33946765e-01 4.46489216e-02 4.46489216e-02 2.23244608e-01 8.92978433e-02 2.67893530e-01 3.12542451e-01 2.23244608e-01 2.67893530e-01 1.78595687e-01 2.67893530e-01 2.67893530e-01 2.23244608e-01 2.67893530e-01 1.33946765e-01 4.01840295e-01 8.92978433e-02 2.23244608e-01 2.23244608e-01 4.01840295e-01 2.23244608e-01 1.78595687e-01 8.92978433e-02 3.57191373e-01 1.33946765e-01 4.46489216e-01 8.92978433e-02 3.12542451e-01 4.01840295e-01 2.23244608e-01 3.57191373e-01 3.57191373e-01 3.12542451e-01 4.01840295e-01 6.25084903e-01 3.57191373e-01 4.01840295e-01 4.01840295e-01 5.35787060e-01 5.35787060e-01 5.35787060e-01 3.57191373e-01 2.23244608e-01 4.01840295e-01 2.23244608e-01 3.57191373e-01 4.91138138e-01 7.14382746e-01 4.91138138e-01 4.91138138e-01 3.57191373e-01 6.69733825e-01 3.57191373e-01 3.57191373e-01 5.35787060e-01 6.25084903e-01 6.69733825e-01 3.57191373e-01 5.35787060e-01 3.57191373e-01 4.46489216e-01 4.46489216e-01 5.80435981e-01 1.11622304e+00 6.69733825e-01 4.91138138e-01 4.46489216e-01 8.48329511e-01 5.80435981e-01 4.01840295e-01 5.35787060e-01 9.82276276e-01 5.35787060e-01 8.48329511e-01 5.80435981e-01 8.48329511e-01 7.14382746e-01 1.02692520e+00 1.25016981e+00 4.91138138e-01 7.59031668e-01 6.25084903e-01 9.37627354e-01 5.80435981e-01 6.69733825e-01 1.20552088e+00 7.14382746e-01 6.69733825e-01 9.37627354e-01 1.20552088e+00 8.92978433e-01 1.07157412e+00 9.82276276e-01 8.03680590e-01 1.60736118e+00 1.16087196e+00 1.11622304e+00 1.56271226e+00 1.25016981e+00 1.42876549e+00 9.82276276e-01 1.29481873e+00 1.38411657e+00 1.51806334e+00 1.38411657e+00 1.33946765e+00 1.65201010e+00 1.69665902e+00 1.96455255e+00 1.42876549e+00 1.96455255e+00 1.47341441e+00 1.51806334e+00 1.29481873e+00 2.00920147e+00 1.96455255e+00 1.87525471e+00 2.45569069e+00 2.32174393e+00 2.14314824e+00 2.09849932e+00 2.14314824e+00 2.09849932e+00 2.54498853e+00 2.41104177e+00 3.39331804e+00 1.91990363e+00 2.09849932e+00 2.67893530e+00 2.54498853e+00 2.18779716e+00 2.41104177e+00 3.08077559e+00 2.36639285e+00 2.32174393e+00 2.54498853e+00 1.83060579e+00 1.96455255e+00 2.27709500e+00 1.83060579e+00 1.74130794e+00 1.29481873e+00 1.83060579e+00 1.25016981e+00 1.74130794e+00 1.33946765e+00 1.07157412e+00 1.11622304e+00 1.20552088e+00 8.48329511e-01 6.69733825e-01 5.35787060e-01 5.35787060e-01 6.25084903e-01 5.80435981e-01 1.33946765e-01 3.12542451e-01 2.23244608e-01 1.33946765e-01 2.23244608e-01 2.67893530e-01 8.92978433e-02 2.23244608e-01 8.92978433e-02 4.46489216e-02 1.33946765e-01 0.00000000e+00 4.46489216e-02 0.00000000e+00 4.46489216e-02 0.00000000e+00 4.46489216e-02 4.46489216e-02 0.00000000e+00 4.46489216e-02 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.41028202e-02 1.80342734e-02 1.80342734e-02 0.00000000e+00 1.80342734e-02 0.00000000e+00 1.80342734e-02 0.00000000e+00 1.80342734e-02 3.60685468e-02 3.60685468e-02 1.80342734e-02 1.80342734e-02 1.80342734e-02 1.80342734e-02 1.80342734e-02 1.80342734e-02 3.60685468e-02 1.80342734e-02 3.60685468e-02 5.41028202e-02 7.21370936e-02 5.41028202e-02 3.60685468e-02 5.41028202e-02 5.41028202e-02 3.60685468e-02 1.80342734e-02 1.80342734e-02 1.26239914e-01 7.21370936e-02 1.08205640e-01 5.41028202e-02 3.60685468e-02 5.41028202e-02 7.21370936e-02 9.01713670e-02 5.41028202e-02 7.21370936e-02 1.80342734e-02 5.41028202e-02 7.21370936e-02 3.60685468e-02 5.41028202e-02 1.80342734e-02 7.21370936e-02 1.80342734e-02 1.44274187e-01 5.41028202e-02 7.21370936e-02 3.60685468e-02 1.44274187e-01 3.60685468e-02 1.80342734e-02 7.21370936e-02 1.80342734e-02 5.41028202e-02 9.01713670e-02 9.01713670e-02 9.01713670e-02 5.41028202e-02 1.08205640e-01 1.08205640e-01 9.01713670e-02 9.01713670e-02 9.01713670e-02 5.41028202e-02 1.08205640e-01 9.01713670e-02 1.26239914e-01 1.08205640e-01 5.41028202e-02 3.60685468e-02 7.21370936e-02 1.44274187e-01 7.21370936e-02 1.08205640e-01 9.01713670e-02 1.44274187e-01 7.21370936e-02 1.98377007e-01 7.21370936e-02 1.62308461e-01 7.21370936e-02 1.26239914e-01 1.08205640e-01 9.01713670e-02 1.62308461e-01 7.21370936e-02 5.41028202e-02 1.62308461e-01 9.01713670e-02 5.41028202e-02 9.01713670e-02 1.08205640e-01 9.01713670e-02 1.44274187e-01 7.21370936e-02 9.01713670e-02 1.08205640e-01 9.01713670e-02 3.60685468e-02 1.26239914e-01 3.60685468e-02 1.08205640e-01 1.26239914e-01 7.21370936e-02 9.01713670e-02 1.26239914e-01 1.44274187e-01 9.01713670e-02 1.08205640e-01 7.21370936e-02 1.62308461e-01 7.21370936e-02 1.62308461e-01 1.62308461e-01 1.62308461e-01 1.26239914e-01 5.41028202e-02 9.01713670e-02 1.62308461e-01 1.08205640e-01 5.41028202e-02 9.01713670e-02 9.01713670e-02 1.08205640e-01 1.08205640e-01 1.62308461e-01 1.26239914e-01 2.16411281e-01 1.44274187e-01 2.16411281e-01 1.08205640e-01 7.21370936e-02 9.01713670e-02 1.62308461e-01 1.44274187e-01 7.21370936e-02 1.62308461e-01 1.26239914e-01 1.44274187e-01 1.26239914e-01 1.62308461e-01 7.21370936e-02 9.01713670e-02 1.26239914e-01 1.44274187e-01 2.34445554e-01 1.26239914e-01 1.26239914e-01 7.21370936e-02 1.62308461e-01 3.06582648e-01 1.08205640e-01 1.08205640e-01 1.08205640e-01 1.08205640e-01 1.80342734e-01 1.62308461e-01 1.62308461e-01 5.41028202e-02 5.41028202e-02 1.80342734e-01 3.60685468e-02 2.34445554e-01 1.08205640e-01 1.44274187e-01 1.08205640e-01 1.98377007e-01 1.80342734e-01 1.62308461e-01 1.98377007e-01 1.08205640e-01 7.21370936e-02 1.80342734e-01 1.44274187e-01 2.16411281e-01 1.98377007e-01 1.08205640e-01 1.98377007e-01 1.80342734e-01 1.26239914e-01 1.62308461e-01 1.62308461e-01 7.21370936e-02 1.44274187e-01 1.98377007e-01 1.98377007e-01 2.34445554e-01 1.44274187e-01 1.80342734e-01 1.80342734e-01 1.62308461e-01 1.80342734e-01 9.01713670e-02 1.98377007e-01 1.44274187e-01 1.08205640e-01 1.26239914e-01 2.34445554e-01 1.98377007e-01 1.62308461e-01 1.08205640e-01 1.08205640e-01 1.26239914e-01 1.26239914e-01 2.70514101e-01 2.34445554e-01 2.34445554e-01 2.16411281e-01 2.16411281e-01 3.60685468e-02 7.21370936e-02 1.44274187e-01 1.44274187e-01 1.44274187e-01 1.62308461e-01 2.16411281e-01 9.01713670e-02 1.26239914e-01 1.98377007e-01 1.26239914e-01 1.98377007e-01 1.80342734e-01 1.98377007e-01 1.08205640e-01 2.16411281e-01 9.01713670e-02 2.70514101e-01 2.16411281e-01 2.88548374e-01 1.62308461e-01 9.01713670e-02 1.44274187e-01 1.80342734e-01 2.70514101e-01 1.08205640e-01 1.44274187e-01 1.62308461e-01 2.16411281e-01 7.21370936e-02 2.34445554e-01 2.70514101e-01 3.42651194e-01 9.01713670e-02 2.52479828e-01 2.16411281e-01 1.44274187e-01 2.16411281e-01 1.44274187e-01 1.98377007e-01 2.34445554e-01 1.44274187e-01 2.88548374e-01 1.98377007e-01 3.24616921e-01 2.16411281e-01 2.52479828e-01 1.08205640e-01 1.62308461e-01 2.16411281e-01 2.88548374e-01 2.70514101e-01 1.98377007e-01 3.60685468e-01 2.52479828e-01 1.26239914e-01 1.98377007e-01 1.80342734e-01 1.98377007e-01 2.34445554e-01 1.26239914e-01 1.26239914e-01 2.16411281e-01 3.06582648e-01 1.80342734e-01 3.06582648e-01 1.44274187e-01 1.98377007e-01 2.34445554e-01 1.80342734e-01 1.44274187e-01 1.62308461e-01 1.80342734e-01 2.34445554e-01 2.88548374e-01 2.34445554e-01 3.24616921e-01 2.70514101e-01 1.98377007e-01 1.98377007e-01 2.16411281e-01 3.06582648e-01 2.88548374e-01 2.52479828e-01 1.98377007e-01 1.62308461e-01 2.34445554e-01 1.44274187e-01 2.70514101e-01 2.16411281e-01 1.98377007e-01 1.08205640e-01 1.98377007e-01 1.80342734e-01 3.06582648e-01 1.98377007e-01 3.24616921e-01 1.62308461e-01 1.44274187e-01 2.88548374e-01 2.52479828e-01 3.06582648e-01 2.16411281e-01 2.16411281e-01 3.06582648e-01 2.34445554e-01 3.06582648e-01 2.52479828e-01 2.52479828e-01 2.16411281e-01 1.80342734e-01 1.98377007e-01 2.70514101e-01 1.08205640e-01 2.16411281e-01 3.06582648e-01 2.52479828e-01 3.24616921e-01 1.98377007e-01 3.24616921e-01 2.16411281e-01 2.34445554e-01 1.98377007e-01 5.22993928e-01 2.52479828e-01 2.70514101e-01 1.08205640e-01 1.98377007e-01 3.96754015e-01 1.62308461e-01 2.88548374e-01 3.06582648e-01 2.70514101e-01 1.62308461e-01 2.16411281e-01 2.34445554e-01 1.44274187e-01 1.80342734e-01 1.80342734e-01 2.16411281e-01 1.98377007e-01 3.06582648e-01 1.62308461e-01 2.52479828e-01 2.34445554e-01 3.24616921e-01 3.96754015e-01 2.34445554e-01 2.34445554e-01 3.06582648e-01 3.42651194e-01 3.60685468e-01 3.06582648e-01 2.34445554e-01 3.24616921e-01 2.16411281e-01 3.24616921e-01 3.06582648e-01 9.01713670e-02 2.88548374e-01 1.44274187e-01 1.62308461e-01 1.44274187e-01 1.98377007e-01 1.62308461e-01 1.08205640e-01 3.06582648e-01 2.34445554e-01 1.98377007e-01 1.62308461e-01 3.42651194e-01 3.42651194e-01 1.80342734e-01 2.70514101e-01 2.52479828e-01 2.16411281e-01 2.16411281e-01 2.52479828e-01 3.06582648e-01 2.70514101e-01 3.60685468e-01 1.62308461e-01 2.70514101e-01 3.24616921e-01 3.06582648e-01 3.78719741e-01 4.68891108e-01 2.88548374e-01 1.98377007e-01 1.98377007e-01 2.88548374e-01 1.98377007e-01 4.50856835e-01 1.62308461e-01 2.34445554e-01 2.34445554e-01 1.80342734e-01 3.60685468e-01 2.88548374e-01 3.78719741e-01 2.34445554e-01 1.80342734e-01 3.60685468e-01 3.24616921e-01 3.42651194e-01 3.42651194e-01 3.60685468e-01 2.16411281e-01 2.88548374e-01 2.16411281e-01 1.98377007e-01 2.88548374e-01 3.60685468e-01 3.42651194e-01 2.16411281e-01 1.80342734e-01 2.70514101e-01 3.06582648e-01 3.60685468e-01 3.24616921e-01 2.52479828e-01 2.34445554e-01 2.70514101e-01 2.88548374e-01 3.06582648e-01 2.16411281e-01 1.08205640e-01 2.70514101e-01 2.34445554e-01 5.41028202e-01 2.34445554e-01 3.06582648e-01 4.14788288e-01 3.24616921e-01 3.78719741e-01 4.32822561e-01 2.88548374e-01 3.06582648e-01 3.24616921e-01 2.34445554e-01 2.70514101e-01 2.70514101e-01 2.70514101e-01 4.32822561e-01 3.06582648e-01 4.86925382e-01 3.24616921e-01 2.70514101e-01 3.78719741e-01 3.06582648e-01 4.32822561e-01 3.06582648e-01 2.88548374e-01 3.24616921e-01 4.50856835e-01 3.78719741e-01 2.70514101e-01 4.68891108e-01 2.88548374e-01 3.24616921e-01 3.24616921e-01 2.34445554e-01 2.88548374e-01 2.88548374e-01 3.96754015e-01 3.78719741e-01 3.78719741e-01 3.78719741e-01 3.06582648e-01 3.78719741e-01 3.78719741e-01 3.96754015e-01 3.42651194e-01 1.62308461e-01 3.60685468e-01 4.14788288e-01 3.24616921e-01 3.06582648e-01 2.34445554e-01 3.24616921e-01 2.34445554e-01 2.70514101e-01 4.32822561e-01 4.86925382e-01 4.14788288e-01 1.80342734e-01 2.52479828e-01 2.52479828e-01 2.88548374e-01 3.60685468e-01 2.88548374e-01 4.50856835e-01 3.24616921e-01 3.78719741e-01 3.06582648e-01 1.62308461e-01 3.24616921e-01 3.42651194e-01 3.60685468e-01 2.34445554e-01 3.24616921e-01 2.34445554e-01 3.60685468e-01 4.14788288e-01 3.42651194e-01 3.78719741e-01 5.04959655e-01 2.88548374e-01 5.77096749e-01 1.80342734e-01 4.32822561e-01 4.32822561e-01 4.14788288e-01 5.04959655e-01 3.78719741e-01 3.42651194e-01 2.88548374e-01 3.42651194e-01 2.70514101e-01 3.60685468e-01 3.24616921e-01 4.32822561e-01 3.06582648e-01 3.96754015e-01 3.78719741e-01 3.96754015e-01 4.68891108e-01 3.78719741e-01 4.86925382e-01 4.14788288e-01 4.68891108e-01 4.32822561e-01 2.88548374e-01 5.04959655e-01 4.32822561e-01 3.96754015e-01 4.14788288e-01 2.88548374e-01 4.86925382e-01 4.14788288e-01 4.14788288e-01 3.60685468e-01 4.14788288e-01 3.78719741e-01 4.50856835e-01 2.88548374e-01 4.86925382e-01 2.70514101e-01 3.42651194e-01 6.13165295e-01 3.60685468e-01 4.32822561e-01 2.52479828e-01 2.88548374e-01 3.60685468e-01 5.22993928e-01 5.04959655e-01 5.77096749e-01 1.80342734e-01 4.86925382e-01 3.42651194e-01 3.60685468e-01 3.96754015e-01 4.32822561e-01 4.50856835e-01 4.50856835e-01 3.60685468e-01 2.88548374e-01 4.50856835e-01 3.60685468e-01 5.04959655e-01 3.24616921e-01 5.77096749e-01 3.96754015e-01 4.32822561e-01 5.22993928e-01 3.78719741e-01 3.60685468e-01 3.96754015e-01 4.68891108e-01 3.24616921e-01 3.42651194e-01 4.50856835e-01 3.24616921e-01 5.95131022e-01 5.22993928e-01 5.77096749e-01 6.13165295e-01 6.31199569e-01 5.04959655e-01 2.70514101e-01 4.32822561e-01 4.32822561e-01 6.13165295e-01 5.41028202e-01 4.32822561e-01 4.14788288e-01 6.49233842e-01 5.04959655e-01 4.32822561e-01 6.13165295e-01 4.50856835e-01 3.78719741e-01 4.86925382e-01 5.22993928e-01 3.96754015e-01 5.22993928e-01 3.96754015e-01 5.41028202e-01 3.96754015e-01 5.41028202e-01 7.21370936e-01 4.32822561e-01 3.78719741e-01 3.24616921e-01 4.32822561e-01 4.68891108e-01 4.14788288e-01 4.50856835e-01 5.95131022e-01 3.60685468e-01 5.77096749e-01 5.95131022e-01 3.96754015e-01 4.32822561e-01 4.14788288e-01 5.22993928e-01 7.21370936e-01 5.59062475e-01 4.14788288e-01 7.39405209e-01 6.31199569e-01 3.96754015e-01 4.68891108e-01 5.04959655e-01 6.31199569e-01 3.78719741e-01 4.68891108e-01 5.59062475e-01 4.68891108e-01 4.32822561e-01 5.77096749e-01 5.41028202e-01 5.59062475e-01 5.22993928e-01 5.41028202e-01 5.41028202e-01 4.68891108e-01 6.85302389e-01 7.57439483e-01 5.22993928e-01 5.59062475e-01 5.59062475e-01 4.68891108e-01 6.31199569e-01 5.59062475e-01 5.41028202e-01 3.42651194e-01 7.03336662e-01 4.32822561e-01 6.31199569e-01 7.75473756e-01 3.42651194e-01 4.86925382e-01 7.93508029e-01 3.96754015e-01 6.49233842e-01 5.77096749e-01 6.49233842e-01 6.13165295e-01 6.13165295e-01 7.39405209e-01 5.77096749e-01 5.77096749e-01 3.96754015e-01 6.13165295e-01 4.50856835e-01 7.39405209e-01 6.49233842e-01 5.41028202e-01 4.50856835e-01 6.85302389e-01 7.57439483e-01 7.75473756e-01 6.31199569e-01 6.85302389e-01 6.67268116e-01 6.31199569e-01 7.39405209e-01 6.67268116e-01 5.59062475e-01 7.21370936e-01 8.11542303e-01 6.13165295e-01 6.49233842e-01 6.85302389e-01 7.39405209e-01 6.13165295e-01 7.03336662e-01 6.31199569e-01 7.39405209e-01 6.85302389e-01 6.31199569e-01 5.22993928e-01 6.13165295e-01 7.39405209e-01 7.21370936e-01 3.78719741e-01 5.95131022e-01 5.95131022e-01 7.93508029e-01 8.29576576e-01 5.59062475e-01 5.95131022e-01 6.67268116e-01 7.93508029e-01 7.39405209e-01 8.11542303e-01 8.83679396e-01 7.75473756e-01 8.29576576e-01 7.39405209e-01 9.37782216e-01 1.02795358e+00 9.19747943e-01 7.03336662e-01 6.85302389e-01 5.59062475e-01 5.22993928e-01 8.47610850e-01 8.83679396e-01 7.21370936e-01 6.49233842e-01 7.21370936e-01 7.75473756e-01 9.01713670e-01 6.85302389e-01 7.21370936e-01 7.75473756e-01 8.11542303e-01 7.03336662e-01 7.21370936e-01 7.39405209e-01 9.01713670e-01 8.47610850e-01 7.93508029e-01 7.21370936e-01 8.83679396e-01 7.93508029e-01 6.49233842e-01 7.93508029e-01 1.04598786e+00 1.00991931e+00 8.47610850e-01 9.01713670e-01 8.65645123e-01 9.73850763e-01 9.19747943e-01 9.01713670e-01 9.91885037e-01 1.00991931e+00 9.37782216e-01 1.10009068e+00 7.75473756e-01 9.01713670e-01 1.26239914e+00 1.02795358e+00 8.47610850e-01 7.75473756e-01 9.91885037e-01 8.47610850e-01 6.85302389e-01 7.93508029e-01 8.29576576e-01 9.55816490e-01 9.37782216e-01 9.01713670e-01 9.01713670e-01 1.04598786e+00 1.08205640e+00 9.19747943e-01 1.02795358e+00 1.00991931e+00 1.00991931e+00 9.37782216e-01 9.73850763e-01 1.00991931e+00 1.13615922e+00 7.39405209e-01 9.37782216e-01 8.29576576e-01 1.00991931e+00 9.91885037e-01 1.04598786e+00 9.73850763e-01 1.29846768e+00 1.26239914e+00 1.08205640e+00 9.55816490e-01 1.08205640e+00 1.15419350e+00 1.22633059e+00 1.10009068e+00 1.08205640e+00 1.13615922e+00 1.11812495e+00 1.22633059e+00 9.91885037e-01 1.02795358e+00 8.47610850e-01 1.22633059e+00 9.55816490e-01 1.00991931e+00 1.17222777e+00 1.13615922e+00 1.15419350e+00 1.19026204e+00 1.10009068e+00 1.24436486e+00 1.35257050e+00 1.10009068e+00 1.02795358e+00 1.02795358e+00 1.42470760e+00 1.56898179e+00 9.73850763e-01 1.13615922e+00 1.22633059e+00 1.40667332e+00 1.40667332e+00 1.42470760e+00 1.35257050e+00 1.24436486e+00 1.47881042e+00 1.19026204e+00 1.06402213e+00 1.26239914e+00 1.35257050e+00 1.37060478e+00 1.46077614e+00 1.31650196e+00 1.67718743e+00 1.58701606e+00 1.20829632e+00 1.22633059e+00 1.33453623e+00 1.35257050e+00 1.56898179e+00 1.62308461e+00 1.51487897e+00 1.44274187e+00 1.22633059e+00 1.22633059e+00 1.65915315e+00 1.46077614e+00 1.58701606e+00 1.56898179e+00 1.82146161e+00 1.51487897e+00 1.35257050e+00 1.42470760e+00 1.51487897e+00 1.98377007e+00 1.74932452e+00 1.96573580e+00 1.87556443e+00 2.05590717e+00 1.80342734e+00 1.98377007e+00 1.62308461e+00 1.87556443e+00 1.98377007e+00 1.82146161e+00 1.85753016e+00 1.87556443e+00 2.01983862e+00 2.14607853e+00 2.18214708e+00 2.12804426e+00 2.27231845e+00 2.12804426e+00 1.85753016e+00 2.30838699e+00 2.16411281e+00 2.11000999e+00 2.54283255e+00 2.52479828e+00 2.12804426e+00 2.23624990e+00 2.16411281e+00 2.63300392e+00 2.43462691e+00 2.20018135e+00 2.45266118e+00 2.14607853e+00 2.48872973e+00 2.20018135e+00 2.48872973e+00 2.25428417e+00 2.34445554e+00 2.21821563e+00 2.32642127e+00 2.11000999e+00 2.07394144e+00 2.12804426e+00 2.47069545e+00 1.87556443e+00 2.65103819e+00 2.43462691e+00 2.34445554e+00 2.25428417e+00 2.74120956e+00 1.82146161e+00 2.18214708e+00 2.03787289e+00 1.85753016e+00 2.36248981e+00 1.60505033e+00 1.42470760e+00 1.53291324e+00 1.53291324e+00 9.73850763e-01 1.02795358e+00 1.00991931e+00 9.55816490e-01 1.00991931e+00 5.59062475e-01 4.68891108e-01 3.78719741e-01 3.60685468e-01 3.60685468e-01 3.60685468e-01 3.78719741e-01 2.70514101e-01 1.62308461e-01 1.26239914e-01 1.08205640e-01 1.08205640e-01 9.01713670e-02 0.00000000e+00 5.41028202e-02 5.41028202e-02 3.60685468e-02 1.80342734e-02 7.21370936e-02 1.80342734e-02 7.21370936e-02 - - 5.41818490e-01 1.60997494e+00 2.67813139e+00 2.70909245e+00 2.32207924e+00 1.99698815e+00 1.73381917e+00 1.84218287e+00 1.22296173e+00 1.31584490e+00 1.33132543e+00 1.19200068e+00 1.17652015e+00 1.22296173e+00 9.90753811e-01 7.43065358e-01 7.89506943e-01 8.82390113e-01 8.51429056e-01 7.27584830e-01 7.27584830e-01 7.89506943e-01 5.41818490e-01 6.03740603e-01 6.50182188e-01 6.65662717e-01 5.26337962e-01 6.50182188e-01 6.34701660e-01 6.03740603e-01 6.65662717e-01 4.95376905e-01 5.26337962e-01 6.03740603e-01 4.79896377e-01 8.66909584e-01 7.12104301e-01 4.64415849e-01 4.79896377e-01 7.12104301e-01 5.26337962e-01 5.41818490e-01 6.81143245e-01 6.34701660e-01 5.10857434e-01 6.03740603e-01 5.57299018e-01 5.41818490e-01 4.79896377e-01 4.79896377e-01 4.48935320e-01 5.88260075e-01 5.41818490e-01 5.26337962e-01 6.81143245e-01 5.26337962e-01 4.17974264e-01 4.95376905e-01 4.33454792e-01 4.48935320e-01 3.87013207e-01 3.87013207e-01 5.26337962e-01 4.33454792e-01 4.33454792e-01 6.19221132e-01 4.48935320e-01 4.64415849e-01 3.25091094e-01 5.72779547e-01 3.09610566e-01 4.17974264e-01 3.40571622e-01 4.48935320e-01 4.64415849e-01 4.79896377e-01 4.02493736e-01 6.19221132e-01 4.95376905e-01 5.10857434e-01 5.41818490e-01 4.95376905e-01 4.17974264e-01 4.33454792e-01 4.79896377e-01 4.64415849e-01 4.79896377e-01 4.33454792e-01 5.57299018e-01 4.17974264e-01 3.56052151e-01 4.79896377e-01 4.48935320e-01 5.57299018e-01 4.95376905e-01 5.72779547e-01 3.56052151e-01 6.03740603e-01 3.71532679e-01 5.10857434e-01 5.57299018e-01 3.71532679e-01 3.87013207e-01 6.81143245e-01 5.72779547e-01 5.41818490e-01 3.09610566e-01 4.33454792e-01 4.02493736e-01 2.78649509e-01 4.95376905e-01 3.87013207e-01 5.26337962e-01 4.02493736e-01 4.33454792e-01 5.41818490e-01 3.56052151e-01 4.33454792e-01 4.02493736e-01 5.26337962e-01 5.57299018e-01 4.33454792e-01 4.17974264e-01 4.95376905e-01 4.33454792e-01 5.57299018e-01 4.17974264e-01 4.33454792e-01 4.48935320e-01 5.26337962e-01 3.09610566e-01 4.02493736e-01 3.56052151e-01 5.26337962e-01 3.25091094e-01 4.95376905e-01 4.02493736e-01 5.26337962e-01 5.26337962e-01 5.72779547e-01 6.19221132e-01 5.26337962e-01 6.19221132e-01 4.17974264e-01 4.95376905e-01 5.26337962e-01 5.57299018e-01 6.03740603e-01 4.48935320e-01 2.78649509e-01 6.65662717e-01 5.41818490e-01 6.50182188e-01 5.41818490e-01 3.56052151e-01 3.87013207e-01 6.19221132e-01 3.71532679e-01 4.95376905e-01 4.95376905e-01 3.56052151e-01 6.03740603e-01 3.71532679e-01 4.79896377e-01 4.33454792e-01 4.33454792e-01 6.03740603e-01 4.48935320e-01 5.26337962e-01 5.57299018e-01 4.95376905e-01 6.19221132e-01 6.19221132e-01 4.33454792e-01 4.79896377e-01 6.50182188e-01 5.88260075e-01 5.41818490e-01 6.03740603e-01 5.57299018e-01 6.03740603e-01 6.96623773e-01 8.97870641e-01 5.10857434e-01 6.96623773e-01 6.96623773e-01 6.96623773e-01 7.43065358e-01 6.50182188e-01 5.57299018e-01 5.10857434e-01 6.65662717e-01 7.74026415e-01 6.96623773e-01 5.57299018e-01 7.74026415e-01 8.97870641e-01 8.66909584e-01 7.12104301e-01 4.79896377e-01 6.19221132e-01 7.12104301e-01 9.28831697e-01 8.82390113e-01 7.74026415e-01 8.20467999e-01 7.89506943e-01 9.90753811e-01 8.66909584e-01 8.20467999e-01 9.90753811e-01 6.96623773e-01 8.35948528e-01 9.44312226e-01 8.20467999e-01 7.89506943e-01 9.44312226e-01 1.09911751e+00 9.75273282e-01 1.09911751e+00 9.28831697e-01 8.66909584e-01 9.13351169e-01 1.02171487e+00 9.75273282e-01 9.44312226e-01 1.08363698e+00 1.20748121e+00 9.28831697e-01 6.50182188e-01 9.44312226e-01 8.20467999e-01 7.43065358e-01 7.43065358e-01 7.74026415e-01 8.04987471e-01 6.50182188e-01 7.12104301e-01 5.26337962e-01 7.12104301e-01 5.26337962e-01 4.02493736e-01 4.17974264e-01 3.87013207e-01 2.78649509e-01 3.25091094e-01 2.47688453e-01 1.39324755e-01 2.47688453e-01 2.32207924e-01 9.28831697e-02 2.16727396e-01 9.28831697e-02 9.28831697e-02 7.74026415e-02 9.28831697e-02 1.23844226e-01 9.28831697e-02 3.09610566e-02 4.64415849e-02 9.28831697e-02 1.54805283e-02 3.09610566e-02 3.09610566e-02 1.54805283e-02 3.09610566e-02 1.54805283e-02 0.00000000e+00 1.54805283e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 1.43285413e-01 2.38809021e-01 9.07474280e-01 2.34032841e+00 3.46273081e+00 3.55825441e+00 3.82094434e+00 3.34332630e+00 3.22392179e+00 3.77318253e+00 2.77018464e+00 3.00899367e+00 2.88958916e+00 3.00899367e+00 2.67466104e+00 2.55525653e+00 2.67466104e+00 2.22092390e+00 1.88659127e+00 2.00599578e+00 2.55525653e+00 2.14928119e+00 2.05375758e+00 2.05375758e+00 2.05375758e+00 2.05375758e+00 1.91047217e+00 1.40897322e+00 1.38509232e+00 1.79106766e+00 2.10151939e+00 1.83882946e+00 1.67166315e+00 1.86271036e+00 1.64778225e+00 1.50449683e+00 1.62390134e+00 1.52837774e+00 1.55225864e+00 1.50449683e+00 1.60002044e+00 1.48061593e+00 1.57613954e+00 1.62390134e+00 1.26568781e+00 1.57613954e+00 1.52837774e+00 1.50449683e+00 1.45673503e+00 1.48061593e+00 1.19404511e+00 1.55225864e+00 1.33733052e+00 1.36121142e+00 1.40897322e+00 1.24180691e+00 1.52837774e+00 1.48061593e+00 1.24180691e+00 1.48061593e+00 1.33733052e+00 1.43285413e+00 1.36121142e+00 1.14628330e+00 1.31344962e+00 1.28956871e+00 1.40897322e+00 1.45673503e+00 1.09852150e+00 1.19404511e+00 1.00299789e+00 1.64778225e+00 1.17016420e+00 8.35831574e-01 1.14628330e+00 9.07474280e-01 1.26568781e+00 1.52837774e+00 1.48061593e+00 1.09852150e+00 1.21792601e+00 1.14628330e+00 1.26568781e+00 9.79116987e-01 1.07464060e+00 8.59712476e-01 1.19404511e+00 1.31344962e+00 9.79116987e-01 1.02687879e+00 1.05075969e+00 1.14628330e+00 1.19404511e+00 9.79116987e-01 1.24180691e+00 1.05075969e+00 1.05075969e+00 1.19404511e+00 1.26568781e+00 1.07464060e+00 1.17016420e+00 1.12240240e+00 8.59712476e-01 1.17016420e+00 1.24180691e+00 1.21792601e+00 1.28956871e+00 1.00299789e+00 9.31355182e-01 8.35831574e-01 7.64188868e-01 5.49260749e-01 9.07474280e-01 1.07464060e+00 1.00299789e+00 9.07474280e-01 7.40307965e-01 9.79116987e-01 1.26568781e+00 1.09852150e+00 1.19404511e+00 7.40307965e-01 9.79116987e-01 9.07474280e-01 7.88069770e-01 1.14628330e+00 9.31355182e-01 7.40307965e-01 9.79116987e-01 1.09852150e+00 7.16427063e-01 9.07474280e-01 1.17016420e+00 6.44784357e-01 8.83593378e-01 8.59712476e-01 9.55236084e-01 1.05075969e+00 9.79116987e-01 1.05075969e+00 8.59712476e-01 6.44784357e-01 5.97022553e-01 8.59712476e-01 8.35831574e-01 6.68665259e-01 9.07474280e-01 9.79116987e-01 7.64188868e-01 6.44784357e-01 8.11950672e-01 8.11950672e-01 7.64188868e-01 6.92546161e-01 8.83593378e-01 7.16427063e-01 7.88069770e-01 7.40307965e-01 9.07474280e-01 8.35831574e-01 7.64188868e-01 8.11950672e-01 6.20903455e-01 8.35831574e-01 6.92546161e-01 7.40307965e-01 7.16427063e-01 1.07464060e+00 7.88069770e-01 6.44784357e-01 7.64188868e-01 8.11950672e-01 5.73141651e-01 7.88069770e-01 6.92546161e-01 4.53737140e-01 6.44784357e-01 7.40307965e-01 7.64188868e-01 5.49260749e-01 8.35831574e-01 7.64188868e-01 8.83593378e-01 5.49260749e-01 7.16427063e-01 6.92546161e-01 6.20903455e-01 7.40307965e-01 7.40307965e-01 1.05075969e+00 6.68665259e-01 6.44784357e-01 5.25379846e-01 9.55236084e-01 8.59712476e-01 8.59712476e-01 8.35831574e-01 6.92546161e-01 6.68665259e-01 5.73141651e-01 7.88069770e-01 5.97022553e-01 5.49260749e-01 7.16427063e-01 5.73141651e-01 6.68665259e-01 5.49260749e-01 6.20903455e-01 7.64188868e-01 7.64188868e-01 5.25379846e-01 5.97022553e-01 5.73141651e-01 6.20903455e-01 7.88069770e-01 6.20903455e-01 7.88069770e-01 6.20903455e-01 6.20903455e-01 6.68665259e-01 4.53737140e-01 8.11950672e-01 4.77618042e-01 5.49260749e-01 6.68665259e-01 6.92546161e-01 6.68665259e-01 6.20903455e-01 6.44784357e-01 6.20903455e-01 7.64188868e-01 6.20903455e-01 7.88069770e-01 6.44784357e-01 5.01498944e-01 5.49260749e-01 4.77618042e-01 6.44784357e-01 6.44784357e-01 5.73141651e-01 6.68665259e-01 4.53737140e-01 5.49260749e-01 6.68665259e-01 5.25379846e-01 5.01498944e-01 5.25379846e-01 7.40307965e-01 8.83593378e-01 6.44784357e-01 4.53737140e-01 6.44784357e-01 3.10451727e-01 7.16427063e-01 3.82094434e-01 4.53737140e-01 5.49260749e-01 6.44784357e-01 6.44784357e-01 4.29856238e-01 5.25379846e-01 5.01498944e-01 5.73141651e-01 5.25379846e-01 6.68665259e-01 4.29856238e-01 5.49260749e-01 3.58213532e-01 5.97022553e-01 4.77618042e-01 6.68665259e-01 4.53737140e-01 8.11950672e-01 5.73141651e-01 4.29856238e-01 4.29856238e-01 4.05975336e-01 5.49260749e-01 3.58213532e-01 6.68665259e-01 4.77618042e-01 6.68665259e-01 6.68665259e-01 4.29856238e-01 3.34332630e-01 6.68665259e-01 4.53737140e-01 3.82094434e-01 5.01498944e-01 6.68665259e-01 5.49260749e-01 4.77618042e-01 4.05975336e-01 5.25379846e-01 4.53737140e-01 5.73141651e-01 7.16427063e-01 5.49260749e-01 6.44784357e-01 4.53737140e-01 3.58213532e-01 4.77618042e-01 4.53737140e-01 5.97022553e-01 4.77618042e-01 4.77618042e-01 4.53737140e-01 5.73141651e-01 3.82094434e-01 5.73141651e-01 4.77618042e-01 5.25379846e-01 4.29856238e-01 5.01498944e-01 6.68665259e-01 5.49260749e-01 4.53737140e-01 5.49260749e-01 5.01498944e-01 4.77618042e-01 4.77618042e-01 4.29856238e-01 4.77618042e-01 5.49260749e-01 4.05975336e-01 3.34332630e-01 5.01498944e-01 6.92546161e-01 6.20903455e-01 2.86570825e-01 5.97022553e-01 4.77618042e-01 6.44784357e-01 5.73141651e-01 4.29856238e-01 3.58213532e-01 4.77618042e-01 4.05975336e-01 5.25379846e-01 5.97022553e-01 4.53737140e-01 4.29856238e-01 3.34332630e-01 4.53737140e-01 5.01498944e-01 5.73141651e-01 5.25379846e-01 2.62689923e-01 4.77618042e-01 3.34332630e-01 4.29856238e-01 3.82094434e-01 3.10451727e-01 5.49260749e-01 3.58213532e-01 1.91047217e-01 3.82094434e-01 4.29856238e-01 5.25379846e-01 4.05975336e-01 2.62689923e-01 4.53737140e-01 3.10451727e-01 5.73141651e-01 3.58213532e-01 4.77618042e-01 4.29856238e-01 5.01498944e-01 3.34332630e-01 4.29856238e-01 3.82094434e-01 3.34332630e-01 3.82094434e-01 3.82094434e-01 5.73141651e-01 5.01498944e-01 1.43285413e-01 5.25379846e-01 4.05975336e-01 2.62689923e-01 3.82094434e-01 7.40307965e-01 5.97022553e-01 3.82094434e-01 3.58213532e-01 4.29856238e-01 3.10451727e-01 4.29856238e-01 4.77618042e-01 3.58213532e-01 3.82094434e-01 5.97022553e-01 2.62689923e-01 3.34332630e-01 4.53737140e-01 3.10451727e-01 4.53737140e-01 4.29856238e-01 4.29856238e-01 3.82094434e-01 5.01498944e-01 2.86570825e-01 4.77618042e-01 4.77618042e-01 3.10451727e-01 3.34332630e-01 2.14928119e-01 3.10451727e-01 2.62689923e-01 5.25379846e-01 4.53737140e-01 5.49260749e-01 4.29856238e-01 4.29856238e-01 4.53737140e-01 5.01498944e-01 3.82094434e-01 4.29856238e-01 4.05975336e-01 3.10451727e-01 4.05975336e-01 3.34332630e-01 4.77618042e-01 3.82094434e-01 3.58213532e-01 2.14928119e-01 3.10451727e-01 2.86570825e-01 3.82094434e-01 2.62689923e-01 2.86570825e-01 6.20903455e-01 2.14928119e-01 2.38809021e-01 3.10451727e-01 2.86570825e-01 3.34332630e-01 5.25379846e-01 3.34332630e-01 4.05975336e-01 3.34332630e-01 5.01498944e-01 2.62689923e-01 4.53737140e-01 4.29856238e-01 5.97022553e-01 1.91047217e-01 3.10451727e-01 4.53737140e-01 4.29856238e-01 4.05975336e-01 4.53737140e-01 3.10451727e-01 3.82094434e-01 4.29856238e-01 2.38809021e-01 3.82094434e-01 4.05975336e-01 3.10451727e-01 4.77618042e-01 2.62689923e-01 4.77618042e-01 5.01498944e-01 1.43285413e-01 2.14928119e-01 2.14928119e-01 3.82094434e-01 4.53737140e-01 2.62689923e-01 3.34332630e-01 2.62689923e-01 2.14928119e-01 5.49260749e-01 3.34332630e-01 3.82094434e-01 2.38809021e-01 6.20903455e-01 6.68665259e-01 2.38809021e-01 2.62689923e-01 4.29856238e-01 4.53737140e-01 4.77618042e-01 3.58213532e-01 2.86570825e-01 3.82094434e-01 1.43285413e-01 2.62689923e-01 2.38809021e-01 3.58213532e-01 3.10451727e-01 3.34332630e-01 4.05975336e-01 3.58213532e-01 1.91047217e-01 3.10451727e-01 3.82094434e-01 3.10451727e-01 2.14928119e-01 1.67166315e-01 5.01498944e-01 3.82094434e-01 2.14928119e-01 2.38809021e-01 4.29856238e-01 2.86570825e-01 3.58213532e-01 2.62689923e-01 2.62689923e-01 6.20903455e-01 4.29856238e-01 2.62689923e-01 4.05975336e-01 5.49260749e-01 2.62689923e-01 4.29856238e-01 4.29856238e-01 3.34332630e-01 3.58213532e-01 4.29856238e-01 2.14928119e-01 3.58213532e-01 1.91047217e-01 3.34332630e-01 4.05975336e-01 2.14928119e-01 1.67166315e-01 4.05975336e-01 2.62689923e-01 3.58213532e-01 3.34332630e-01 1.91047217e-01 2.14928119e-01 1.67166315e-01 3.82094434e-01 5.25379846e-01 2.86570825e-01 2.86570825e-01 2.86570825e-01 2.38809021e-01 3.82094434e-01 3.10451727e-01 4.29856238e-01 2.14928119e-01 1.43285413e-01 2.38809021e-01 2.62689923e-01 3.34332630e-01 2.38809021e-01 2.62689923e-01 2.14928119e-01 3.34332630e-01 3.10451727e-01 4.29856238e-01 1.43285413e-01 2.86570825e-01 2.86570825e-01 2.38809021e-01 3.10451727e-01 4.53737140e-01 2.86570825e-01 3.58213532e-01 1.91047217e-01 3.82094434e-01 2.86570825e-01 3.82094434e-01 2.86570825e-01 4.29856238e-01 1.91047217e-01 3.82094434e-01 3.82094434e-01 1.91047217e-01 2.86570825e-01 1.67166315e-01 2.38809021e-01 3.58213532e-01 2.14928119e-01 3.34332630e-01 2.62689923e-01 2.14928119e-01 3.58213532e-01 2.14928119e-01 3.58213532e-01 2.62689923e-01 5.01498944e-01 3.10451727e-01 1.91047217e-01 3.82094434e-01 2.38809021e-01 3.82094434e-01 2.62689923e-01 2.86570825e-01 1.43285413e-01 3.82094434e-01 2.86570825e-01 3.58213532e-01 1.67166315e-01 3.82094434e-01 3.58213532e-01 3.82094434e-01 1.91047217e-01 3.10451727e-01 2.86570825e-01 2.62689923e-01 1.91047217e-01 2.62689923e-01 3.34332630e-01 2.62689923e-01 3.58213532e-01 2.38809021e-01 2.62689923e-01 3.58213532e-01 3.82094434e-01 3.34332630e-01 4.29856238e-01 3.10451727e-01 3.34332630e-01 2.86570825e-01 5.25379846e-01 2.38809021e-01 2.14928119e-01 2.14928119e-01 1.91047217e-01 3.34332630e-01 2.62689923e-01 3.34332630e-01 1.43285413e-01 5.01498944e-01 4.53737140e-01 2.38809021e-01 3.34332630e-01 3.82094434e-01 3.10451727e-01 1.43285413e-01 1.67166315e-01 2.86570825e-01 3.34332630e-01 2.38809021e-01 3.34332630e-01 2.62689923e-01 2.62689923e-01 3.34332630e-01 1.67166315e-01 3.82094434e-01 3.82094434e-01 1.19404511e-01 2.38809021e-01 3.10451727e-01 2.62689923e-01 9.55236084e-02 3.34332630e-01 3.10451727e-01 3.58213532e-01 3.10451727e-01 2.38809021e-01 1.91047217e-01 2.86570825e-01 2.62689923e-01 2.62689923e-01 2.14928119e-01 4.77618042e-01 3.10451727e-01 4.05975336e-01 2.86570825e-01 3.82094434e-01 7.16427063e-02 9.55236084e-02 2.38809021e-01 4.05975336e-01 2.14928119e-01 3.34332630e-01 3.10451727e-01 3.10451727e-01 2.38809021e-01 3.34332630e-01 1.19404511e-01 2.38809021e-01 2.62689923e-01 3.58213532e-01 2.62689923e-01 2.86570825e-01 4.53737140e-01 2.14928119e-01 3.58213532e-01 3.58213532e-01 2.62689923e-01 3.10451727e-01 2.14928119e-01 3.34332630e-01 1.43285413e-01 1.19404511e-01 3.82094434e-01 2.62689923e-01 2.86570825e-01 2.14928119e-01 2.38809021e-01 2.38809021e-01 3.58213532e-01 2.38809021e-01 1.43285413e-01 3.34332630e-01 2.86570825e-01 1.43285413e-01 3.10451727e-01 3.58213532e-01 2.62689923e-01 1.91047217e-01 3.82094434e-01 2.14928119e-01 4.05975336e-01 1.19404511e-01 1.19404511e-01 1.91047217e-01 2.14928119e-01 2.14928119e-01 2.14928119e-01 2.38809021e-01 2.14928119e-01 1.67166315e-01 3.10451727e-01 3.58213532e-01 1.91047217e-01 2.14928119e-01 3.58213532e-01 3.58213532e-01 3.58213532e-01 1.67166315e-01 3.34332630e-01 3.58213532e-01 1.67166315e-01 2.86570825e-01 1.43285413e-01 3.10451727e-01 1.91047217e-01 1.91047217e-01 2.14928119e-01 1.91047217e-01 1.19404511e-01 2.38809021e-01 3.82094434e-01 1.91047217e-01 2.14928119e-01 2.14928119e-01 4.05975336e-01 4.05975336e-01 4.29856238e-01 3.82094434e-01 1.91047217e-01 1.43285413e-01 2.86570825e-01 1.19404511e-01 2.86570825e-01 1.19404511e-01 3.82094434e-01 2.62689923e-01 1.91047217e-01 7.16427063e-02 1.67166315e-01 1.43285413e-01 2.62689923e-01 1.67166315e-01 1.43285413e-01 1.43285413e-01 1.19404511e-01 1.19404511e-01 9.55236084e-02 1.19404511e-01 3.10451727e-01 1.91047217e-01 2.14928119e-01 2.38809021e-01 1.43285413e-01 3.82094434e-01 4.53737140e-01 1.19404511e-01 1.67166315e-01 2.86570825e-01 2.38809021e-01 3.34332630e-01 2.38809021e-01 2.62689923e-01 2.86570825e-01 1.67166315e-01 1.91047217e-01 3.10451727e-01 9.55236084e-02 3.34332630e-01 2.38809021e-01 1.43285413e-01 2.86570825e-01 2.62689923e-01 1.43285413e-01 2.14928119e-01 1.67166315e-01 1.43285413e-01 1.91047217e-01 2.38809021e-01 1.91047217e-01 2.62689923e-01 1.91047217e-01 1.91047217e-01 3.34332630e-01 2.38809021e-01 1.67166315e-01 2.14928119e-01 1.19404511e-01 1.91047217e-01 2.62689923e-01 2.62689923e-01 3.10451727e-01 1.91047217e-01 4.29856238e-01 1.19404511e-01 1.43285413e-01 2.38809021e-01 2.62689923e-01 1.91047217e-01 2.62689923e-01 1.43285413e-01 2.38809021e-01 2.62689923e-01 1.43285413e-01 2.38809021e-01 1.67166315e-01 4.77618042e-01 1.43285413e-01 3.34332630e-01 1.43285413e-01 2.62689923e-01 1.91047217e-01 1.67166315e-01 2.62689923e-01 2.62689923e-01 1.43285413e-01 2.14928119e-01 2.62689923e-01 1.91047217e-01 2.14928119e-01 1.67166315e-01 2.86570825e-01 2.14928119e-01 2.14928119e-01 1.91047217e-01 2.14928119e-01 1.91047217e-01 1.67166315e-01 2.86570825e-01 1.67166315e-01 2.62689923e-01 1.43285413e-01 2.62689923e-01 1.91047217e-01 3.34332630e-01 1.43285413e-01 1.91047217e-01 1.67166315e-01 2.14928119e-01 1.43285413e-01 1.43285413e-01 1.91047217e-01 2.38809021e-01 1.91047217e-01 2.38809021e-01 2.86570825e-01 2.14928119e-01 2.14928119e-01 2.14928119e-01 1.91047217e-01 1.43285413e-01 3.10451727e-01 1.43285413e-01 1.67166315e-01 1.19404511e-01 1.91047217e-01 1.91047217e-01 1.19404511e-01 3.10451727e-01 2.14928119e-01 2.14928119e-01 2.38809021e-01 1.43285413e-01 3.10451727e-01 1.67166315e-01 2.14928119e-01 1.67166315e-01 2.14928119e-01 2.38809021e-01 1.19404511e-01 3.34332630e-01 1.19404511e-01 1.67166315e-01 2.62689923e-01 1.43285413e-01 2.62689923e-01 1.91047217e-01 2.14928119e-01 3.34332630e-01 2.38809021e-01 1.43285413e-01 1.43285413e-01 2.38809021e-01 2.14928119e-01 1.91047217e-01 1.67166315e-01 2.62689923e-01 1.19404511e-01 1.67166315e-01 1.67166315e-01 1.19404511e-01 3.58213532e-01 2.86570825e-01 1.43285413e-01 2.14928119e-01 1.91047217e-01 1.91047217e-01 1.91047217e-01 1.19404511e-01 7.16427063e-02 1.67166315e-01 1.67166315e-01 4.77618042e-02 1.19404511e-01 4.77618042e-02 1.43285413e-01 1.19404511e-01 9.55236084e-02 7.16427063e-02 1.67166315e-01 4.77618042e-02 4.77618042e-02 9.55236084e-02 7.16427063e-02 1.43285413e-01 9.55236084e-02 7.16427063e-02 9.55236084e-02 4.77618042e-02 9.55236084e-02 0.00000000e+00 2.38809021e-02 7.16427063e-02 2.38809021e-02 2.38809021e-02 2.38809021e-02 2.38809021e-02 2.38809021e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.38809021e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - - - - - + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - - - - - + + + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - - - - + + + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_cb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_cb_BDTG.weights.xml index 4cdf79b7379e..a14b1d8adfe0 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_cb_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_cb_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - - - - + + + + - - - - + + + + @@ -73,5867 +73,6014 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.84835380e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 2.92417690e-02 0.00000000e+00 2.92417690e-02 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 5.84835380e-02 2.92417690e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 5.84835380e-02 0.00000000e+00 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.84835380e-02 5.84835380e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 2.92417690e-02 2.92417690e-02 5.84835380e-02 0.00000000e+00 5.84835380e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 2.92417690e-02 5.84835380e-02 5.84835380e-02 8.77253071e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 5.84835380e-02 8.77253071e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 5.84835380e-02 5.84835380e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 5.84835380e-02 2.92417690e-02 0.00000000e+00 8.77253071e-02 0.00000000e+00 5.84835380e-02 2.92417690e-02 0.00000000e+00 2.92417690e-02 2.92417690e-02 0.00000000e+00 2.92417690e-02 8.77253071e-02 5.84835380e-02 0.00000000e+00 5.84835380e-02 8.77253071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 5.84835380e-02 0.00000000e+00 2.92417690e-02 2.92417690e-02 0.00000000e+00 5.84835380e-02 8.77253071e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 5.84835380e-02 0.00000000e+00 8.77253071e-02 0.00000000e+00 0.00000000e+00 5.84835380e-02 5.84835380e-02 5.84835380e-02 8.77253071e-02 2.92417690e-02 2.92417690e-02 8.77253071e-02 5.84835380e-02 1.46208845e-01 2.92417690e-02 2.92417690e-02 2.92417690e-02 8.77253071e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 5.84835380e-02 5.84835380e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 5.84835380e-02 5.84835380e-02 0.00000000e+00 2.92417690e-02 1.46208845e-01 2.92417690e-02 5.84835380e-02 1.16967076e-01 5.84835380e-02 5.84835380e-02 2.92417690e-02 8.77253071e-02 5.84835380e-02 2.92417690e-02 2.92417690e-02 5.84835380e-02 2.92417690e-02 2.92417690e-02 2.92417690e-02 2.92417690e-02 5.84835380e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 2.92417690e-02 5.84835380e-02 2.92417690e-02 2.92417690e-02 8.77253071e-02 1.16967076e-01 0.00000000e+00 5.84835380e-02 8.77253071e-02 0.00000000e+00 1.46208845e-01 5.84835380e-02 1.46208845e-01 2.92417690e-02 0.00000000e+00 5.84835380e-02 8.77253071e-02 8.77253071e-02 1.16967076e-01 5.84835380e-02 8.77253071e-02 1.16967076e-01 8.77253071e-02 0.00000000e+00 1.16967076e-01 1.16967076e-01 2.92417690e-02 2.92417690e-02 8.77253071e-02 2.92417690e-02 2.92417690e-02 5.84835380e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 5.84835380e-02 8.77253071e-02 2.92417690e-02 0.00000000e+00 2.92417690e-02 8.77253071e-02 2.92417690e-02 0.00000000e+00 2.92417690e-02 5.84835380e-02 0.00000000e+00 2.92417690e-02 2.92417690e-02 0.00000000e+00 2.92417690e-02 5.84835380e-02 8.77253071e-02 1.16967076e-01 0.00000000e+00 1.16967076e-01 0.00000000e+00 0.00000000e+00 2.92417690e-02 2.92417690e-02 2.92417690e-02 5.84835380e-02 2.92417690e-02 5.84835380e-02 0.00000000e+00 0.00000000e+00 1.16967076e-01 1.46208845e-01 2.92417690e-02 2.92417690e-02 8.77253071e-02 1.46208845e-01 1.46208845e-01 1.46208845e-01 8.77253071e-02 5.84835380e-02 5.84835380e-02 2.92417690e-02 2.92417690e-02 2.92417690e-02 1.16967076e-01 5.84835380e-02 5.84835380e-02 5.84835380e-02 2.04692383e-01 8.77253071e-02 0.00000000e+00 2.92417690e-02 2.92417690e-02 5.84835380e-02 8.77253071e-02 2.92417690e-02 2.92417690e-02 1.16967076e-01 8.77253071e-02 8.77253071e-02 8.77253071e-02 5.84835380e-02 2.92417690e-02 1.46208845e-01 5.84835380e-02 1.16967076e-01 5.84835380e-02 8.77253071e-02 1.75450614e-01 1.16967076e-01 8.77253071e-02 1.46208845e-01 5.84835380e-02 5.84835380e-02 0.00000000e+00 8.77253071e-02 2.92417690e-02 1.46208845e-01 2.92417690e-02 1.75450614e-01 2.92417690e-02 1.16967076e-01 1.16967076e-01 5.84835380e-02 0.00000000e+00 5.84835380e-02 1.46208845e-01 8.77253071e-02 0.00000000e+00 5.84835380e-02 8.77253071e-02 1.16967076e-01 1.75450614e-01 5.84835380e-02 0.00000000e+00 2.92417690e-02 8.77253071e-02 1.75450614e-01 1.16967076e-01 8.77253071e-02 2.92417690e-02 8.77253071e-02 5.84835380e-02 1.16967076e-01 1.16967076e-01 8.77253071e-02 1.75450614e-01 1.16967076e-01 5.84835380e-02 8.77253071e-02 1.16967076e-01 5.84835380e-02 8.77253071e-02 2.92417690e-02 8.77253071e-02 5.84835380e-02 1.46208845e-01 2.04692383e-01 5.84835380e-02 8.77253071e-02 1.75450614e-01 5.84835380e-02 8.77253071e-02 1.16967076e-01 1.46208845e-01 5.84835380e-02 1.16967076e-01 8.77253071e-02 2.04692383e-01 1.16967076e-01 5.84835380e-02 2.92417690e-02 1.46208845e-01 8.77253071e-02 1.16967076e-01 2.92417690e-02 1.46208845e-01 2.04692383e-01 1.16967076e-01 2.33934152e-01 1.16967076e-01 5.84835380e-02 2.33934152e-01 8.77253071e-02 5.84835380e-02 1.16967076e-01 8.77253071e-02 8.77253071e-02 2.92417690e-02 1.16967076e-01 3.50901228e-01 1.16967076e-01 8.77253071e-02 8.77253071e-02 1.16967076e-01 8.77253071e-02 8.77253071e-02 1.16967076e-01 1.16967076e-01 2.92417690e-02 1.16967076e-01 2.04692383e-01 1.75450614e-01 8.77253071e-02 2.63175921e-01 1.16967076e-01 2.04692383e-01 1.75450614e-01 8.77253071e-02 1.16967076e-01 2.92417690e-02 2.04692383e-01 8.77253071e-02 2.92417690e-02 1.16967076e-01 1.16967076e-01 8.77253071e-02 1.75450614e-01 5.84835380e-02 1.16967076e-01 5.84835380e-02 3.21659459e-01 8.77253071e-02 1.16967076e-01 5.84835380e-02 1.75450614e-01 2.04692383e-01 1.75450614e-01 1.75450614e-01 8.77253071e-02 2.04692383e-01 2.33934152e-01 1.75450614e-01 5.84835380e-02 8.77253071e-02 8.77253071e-02 8.77253071e-02 1.46208845e-01 1.16967076e-01 2.04692383e-01 1.46208845e-01 1.46208845e-01 1.46208845e-01 8.77253071e-02 1.75450614e-01 1.46208845e-01 2.04692383e-01 1.46208845e-01 1.46208845e-01 5.84835380e-02 1.46208845e-01 1.46208845e-01 1.75450614e-01 1.46208845e-01 2.04692383e-01 1.16967076e-01 8.77253071e-02 1.16967076e-01 2.33934152e-01 1.75450614e-01 5.84835380e-02 5.84835380e-02 1.46208845e-01 1.46208845e-01 1.46208845e-01 1.75450614e-01 1.75450614e-01 1.16967076e-01 2.04692383e-01 2.92417690e-02 1.46208845e-01 2.92417690e-02 4.09384766e-01 1.46208845e-01 1.16967076e-01 8.77253071e-02 1.16967076e-01 2.33934152e-01 2.04692383e-01 3.21659459e-01 1.46208845e-01 1.75450614e-01 8.77253071e-02 5.84835380e-02 8.77253071e-02 2.63175921e-01 1.75450614e-01 8.77253071e-02 2.63175921e-01 1.46208845e-01 3.80142997e-01 2.63175921e-01 8.77253071e-02 1.46208845e-01 1.16967076e-01 2.92417690e-01 1.46208845e-01 2.63175921e-01 2.04692383e-01 2.63175921e-01 1.16967076e-01 2.33934152e-01 1.46208845e-01 1.16967076e-01 2.63175921e-01 1.46208845e-01 2.04692383e-01 1.75450614e-01 2.04692383e-01 2.04692383e-01 3.21659459e-01 1.75450614e-01 2.63175921e-01 8.77253071e-02 2.33934152e-01 2.63175921e-01 3.21659459e-01 2.92417690e-01 2.04692383e-01 2.33934152e-01 1.75450614e-01 3.50901228e-01 2.33934152e-01 1.75450614e-01 1.75450614e-01 1.75450614e-01 1.46208845e-01 2.04692383e-01 2.04692383e-01 1.75450614e-01 1.75450614e-01 8.77253071e-02 1.16967076e-01 2.33934152e-01 1.16967076e-01 4.38626535e-01 4.09384766e-01 8.77253071e-02 1.46208845e-01 2.04692383e-01 1.46208845e-01 2.33934152e-01 2.04692383e-01 1.75450614e-01 3.21659459e-01 2.33934152e-01 1.75450614e-01 3.21659459e-01 2.33934152e-01 2.92417690e-01 2.33934152e-01 1.46208845e-01 2.63175921e-01 8.77253071e-02 3.50901228e-01 1.46208845e-01 2.04692383e-01 2.63175921e-01 3.50901228e-01 2.33934152e-01 2.63175921e-01 2.04692383e-01 3.21659459e-01 3.21659459e-01 2.92417690e-01 3.80142997e-01 1.46208845e-01 2.63175921e-01 1.75450614e-01 3.21659459e-01 3.21659459e-01 4.67868304e-01 3.21659459e-01 2.33934152e-01 2.92417690e-01 2.92417690e-01 3.21659459e-01 2.33934152e-01 4.38626535e-01 1.46208845e-01 2.04692383e-01 2.92417690e-01 2.92417690e-01 2.63175921e-01 2.92417690e-01 3.50901228e-01 3.80142997e-01 3.50901228e-01 2.92417690e-01 4.09384766e-01 5.84835380e-01 3.21659459e-01 2.92417690e-01 2.63175921e-01 3.50901228e-01 1.46208845e-01 2.92417690e-01 3.50901228e-01 3.50901228e-01 4.09384766e-01 3.50901228e-01 4.38626535e-01 2.92417690e-01 2.92417690e-01 3.50901228e-01 3.80142997e-01 2.63175921e-01 2.92417690e-01 1.75450614e-01 3.80142997e-01 2.92417690e-01 2.33934152e-01 4.09384766e-01 2.04692383e-01 3.50901228e-01 2.33934152e-01 2.63175921e-01 4.67868304e-01 4.09384766e-01 3.80142997e-01 1.75450614e-01 3.80142997e-01 4.38626535e-01 3.21659459e-01 4.09384766e-01 2.92417690e-01 5.26351842e-01 4.09384766e-01 3.80142997e-01 1.75450614e-01 2.92417690e-01 3.21659459e-01 4.09384766e-01 3.21659459e-01 2.92417690e-01 3.50901228e-01 8.18769533e-01 2.33934152e-01 4.97110073e-01 7.01802457e-01 5.26351842e-01 4.38626535e-01 4.97110073e-01 3.80142997e-01 4.09384766e-01 3.50901228e-01 3.80142997e-01 2.92417690e-01 4.38626535e-01 4.67868304e-01 4.09384766e-01 4.09384766e-01 4.38626535e-01 4.09384766e-01 4.67868304e-01 3.80142997e-01 5.55593611e-01 4.09384766e-01 7.31044226e-01 3.21659459e-01 4.67868304e-01 3.50901228e-01 5.84835380e-01 5.55593611e-01 3.50901228e-01 4.38626535e-01 4.09384766e-01 3.80142997e-01 6.14077149e-01 5.84835380e-01 7.01802457e-01 6.43318918e-01 5.26351842e-01 4.38626535e-01 3.80142997e-01 5.55593611e-01 8.18769533e-01 5.84835380e-01 5.55593611e-01 6.14077149e-01 3.80142997e-01 8.18769533e-01 4.97110073e-01 7.89527764e-01 4.97110073e-01 8.48011302e-01 5.84835380e-01 6.43318918e-01 9.64978378e-01 8.48011302e-01 7.89527764e-01 6.14077149e-01 7.01802457e-01 7.60285995e-01 4.97110073e-01 9.35736609e-01 9.06494840e-01 9.35736609e-01 7.60285995e-01 9.06494840e-01 9.64978378e-01 7.60285995e-01 9.64978378e-01 8.48011302e-01 7.01802457e-01 7.31044226e-01 9.94220147e-01 4.67868304e-01 1.05270368e+00 8.48011302e-01 1.05270368e+00 9.06494840e-01 8.48011302e-01 9.94220147e-01 9.64978378e-01 1.37436314e+00 9.35736609e-01 1.14042899e+00 1.02346192e+00 1.31587961e+00 1.08194545e+00 9.35736609e-01 1.52057199e+00 9.64978378e-01 1.16967076e+00 1.16967076e+00 1.14042899e+00 1.14042899e+00 1.34512137e+00 1.19891253e+00 1.25739607e+00 1.37436314e+00 1.43284668e+00 1.57905553e+00 1.11118722e+00 1.34512137e+00 1.37436314e+00 1.72526437e+00 1.43284668e+00 1.69602260e+00 1.22815430e+00 1.63753907e+00 1.34512137e+00 1.40360491e+00 2.04692383e+00 1.87147322e+00 1.81298968e+00 1.49133022e+00 1.98844029e+00 1.92995676e+00 1.52057199e+00 1.66678083e+00 2.19313268e+00 2.10540737e+00 1.92995676e+00 2.19313268e+00 2.22237445e+00 1.72526437e+00 2.31009975e+00 2.31009975e+00 2.66100098e+00 2.48555037e+00 2.60251744e+00 2.39782506e+00 2.95341867e+00 2.69024275e+00 2.31009975e+00 2.95341867e+00 3.27507813e+00 3.07038575e+00 3.42128698e+00 3.30431990e+00 3.07038575e+00 3.30431990e+00 3.59673759e+00 2.92417690e+00 3.62597936e+00 4.21081474e+00 3.47977051e+00 3.45052874e+00 4.12308943e+00 3.91839705e+00 4.18157297e+00 3.83067174e+00 4.62019951e+00 4.82489189e+00 4.44474889e+00 4.97110073e+00 4.50323243e+00 4.94185896e+00 5.73138673e+00 5.64366142e+00 5.00034250e+00 5.43896904e+00 5.73138673e+00 4.85413366e+00 6.31622211e+00 5.58517788e+00 5.99456265e+00 5.90683734e+00 6.63788157e+00 6.57939803e+00 6.66712334e+00 5.81911204e+00 6.11152973e+00 6.31622211e+00 6.78409041e+00 7.63210171e+00 6.75484864e+00 6.28698034e+00 6.60863980e+00 7.04726633e+00 6.49167272e+00 6.55015626e+00 7.16423341e+00 7.04726633e+00 7.01802457e+00 6.98878280e+00 6.28698034e+00 6.22849680e+00 6.22849680e+00 6.40394742e+00 6.72560687e+00 6.11152973e+00 6.11152973e+00 6.08228796e+00 6.57939803e+00 6.17001326e+00 5.90683734e+00 5.55593611e+00 4.91261720e+00 5.46821081e+00 5.08806781e+00 4.44474889e+00 4.88337543e+00 5.08806781e+00 4.91261720e+00 4.29854005e+00 4.50323243e+00 4.53247420e+00 4.18157297e+00 4.12308943e+00 4.12308943e+00 3.33356167e+00 3.74294643e+00 3.12886929e+00 3.15811105e+00 2.89493513e+00 3.04114398e+00 3.45052874e+00 2.89493513e+00 2.48555037e+00 2.16389091e+00 2.28085798e+00 2.19313268e+00 2.57327567e+00 2.10540737e+00 1.78374791e+00 1.98844029e+00 1.72526437e+00 1.60829730e+00 1.22815430e+00 1.75450614e+00 1.16967076e+00 9.35736609e-01 1.34512137e+00 1.22815430e+00 1.05270368e+00 9.64978378e-01 8.77253071e-01 6.72560687e-01 9.64978378e-01 8.18769533e-01 7.60285995e-01 1.31587961e+00 5.84835380e-01 6.14077149e-01 6.72560687e-01 5.26351842e-01 4.67868304e-01 4.97110073e-01 5.26351842e-01 4.38626535e-01 4.97110073e-01 3.21659459e-01 3.50901228e-01 4.97110073e-01 4.09384766e-01 3.80142997e-01 3.80142997e-01 3.80142997e-01 2.33934152e-01 2.33934152e-01 2.92417690e-01 2.33934152e-01 2.04692383e-01 2.33934152e-01 2.33934152e-01 2.04692383e-01 4.09384766e-01 2.92417690e-01 2.63175921e-01 3.50901228e-01 2.04692383e-01 1.16967076e-01 2.63175921e-01 1.16967076e-01 2.33934152e-01 8.77253071e-02 2.04692383e-01 2.63175921e-01 1.16967076e-01 2.04692383e-01 2.04692383e-01 1.75450614e-01 2.33934152e-01 8.77253071e-02 1.46208845e-01 2.92417690e-02 8.77253071e-02 5.84835380e-02 2.92417690e-01 2.92417690e-02 5.84835380e-02 2.04692383e-01 2.92417690e-02 1.75450614e-01 1.16967076e-01 1.16967076e-01 5.84835380e-02 5.84835380e-02 2.92417690e-02 1.46208845e-01 1.16967076e-01 1.46208845e-01 2.04692383e-01 2.92417690e-02 1.16967076e-01 5.84835380e-02 5.84835380e-02 8.77253071e-02 5.84835380e-02 1.75450614e-01 5.84835380e-02 2.92417690e-02 2.92417690e-02 5.84835380e-02 2.92417690e-02 2.92417690e-02 2.92417690e-02 8.77253071e-02 1.16967076e-01 1.16967076e-01 8.77253071e-02 0.00000000e+00 2.92417690e-02 8.77253071e-02 5.84835380e-02 2.92417690e-02 5.84835380e-02 2.92417690e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 2.92417690e-02 0.00000000e+00 2.92417690e-02 1.16967076e-01 0.00000000e+00 2.92417690e-02 5.84835380e-02 8.77253071e-02 0.00000000e+00 2.92417690e-02 2.92417690e-02 2.92417690e-02 5.84835380e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.77253071e-02 8.77253071e-02 8.77253071e-02 5.84835380e-02 2.92417690e-02 0.00000000e+00 2.92417690e-02 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 2.92417690e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 8.77253071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 5.84835380e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 2.92417690e-02 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.92417690e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.21801023e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.21801023e-02 0.00000000e+00 0.00000000e+00 1.21801023e-02 3.65403068e-02 1.21801023e-02 1.21801023e-02 2.43602045e-02 2.43602045e-02 2.43602045e-02 1.21801023e-02 1.21801023e-02 1.21801023e-02 7.30806135e-02 1.21801023e-02 1.21801023e-02 3.65403068e-02 2.43602045e-02 2.43602045e-02 1.21801023e-02 4.87204090e-02 2.43602045e-02 7.30806135e-02 4.87204090e-02 4.87204090e-02 2.43602045e-02 4.87204090e-02 6.09005113e-02 1.21801023e-02 3.65403068e-02 2.43602045e-02 3.65403068e-02 4.87204090e-02 2.43602045e-02 3.65403068e-02 2.43602045e-02 2.43602045e-02 6.09005113e-02 3.65403068e-02 3.65403068e-02 3.65403068e-02 3.65403068e-02 3.65403068e-02 1.21801023e-02 3.65403068e-02 3.65403068e-02 1.21801023e-02 2.43602045e-02 4.87204090e-02 2.43602045e-02 4.87204090e-02 4.87204090e-02 8.52607158e-02 6.09005113e-02 2.43602045e-02 1.21801023e-02 2.43602045e-02 9.74408181e-02 8.52607158e-02 4.87204090e-02 4.87204090e-02 4.87204090e-02 3.65403068e-02 2.43602045e-02 4.87204090e-02 2.43602045e-02 2.43602045e-02 4.87204090e-02 3.65403068e-02 4.87204090e-02 2.43602045e-02 6.09005113e-02 3.65403068e-02 4.87204090e-02 4.87204090e-02 3.65403068e-02 6.09005113e-02 4.87204090e-02 9.74408181e-02 2.43602045e-02 6.09005113e-02 6.09005113e-02 3.65403068e-02 1.21801023e-02 7.30806135e-02 4.87204090e-02 1.09620920e-01 8.52607158e-02 7.30806135e-02 4.87204090e-02 3.65403068e-02 9.74408181e-02 1.09620920e-01 9.74408181e-02 2.43602045e-02 9.74408181e-02 7.30806135e-02 1.21801023e-01 1.09620920e-01 6.09005113e-02 1.09620920e-01 1.21801023e-01 3.65403068e-02 1.09620920e-01 9.74408181e-02 3.65403068e-02 7.30806135e-02 8.52607158e-02 6.09005113e-02 9.74408181e-02 2.43602045e-02 4.87204090e-02 1.21801023e-01 6.09005113e-02 7.30806135e-02 1.33981125e-01 3.65403068e-02 3.65403068e-02 8.52607158e-02 8.52607158e-02 1.21801023e-01 6.09005113e-02 1.46161227e-01 7.30806135e-02 4.87204090e-02 1.33981125e-01 8.52607158e-02 1.70521432e-01 6.09005113e-02 7.30806135e-02 9.74408181e-02 8.52607158e-02 4.87204090e-02 9.74408181e-02 1.09620920e-01 7.30806135e-02 9.74408181e-02 7.30806135e-02 7.30806135e-02 7.30806135e-02 4.87204090e-02 1.33981125e-01 1.09620920e-01 8.52607158e-02 6.09005113e-02 1.33981125e-01 8.52607158e-02 6.09005113e-02 7.30806135e-02 6.09005113e-02 9.74408181e-02 6.09005113e-02 1.21801023e-02 7.30806135e-02 1.70521432e-01 1.21801023e-01 7.30806135e-02 7.30806135e-02 6.09005113e-02 8.52607158e-02 8.52607158e-02 9.74408181e-02 8.52607158e-02 9.74408181e-02 3.65403068e-02 9.74408181e-02 7.30806135e-02 6.09005113e-02 7.30806135e-02 8.52607158e-02 9.74408181e-02 6.09005113e-02 2.43602045e-02 1.09620920e-01 8.52607158e-02 4.87204090e-02 3.65403068e-02 9.74408181e-02 3.65403068e-02 7.30806135e-02 7.30806135e-02 3.65403068e-02 3.65403068e-02 1.21801023e-02 1.33981125e-01 1.33981125e-01 4.87204090e-02 8.52607158e-02 9.74408181e-02 1.33981125e-01 8.52607158e-02 8.52607158e-02 4.87204090e-02 9.74408181e-02 9.74408181e-02 4.87204090e-02 6.09005113e-02 7.30806135e-02 8.52607158e-02 1.70521432e-01 1.46161227e-01 7.30806135e-02 1.09620920e-01 1.46161227e-01 1.94881636e-01 1.21801023e-01 4.87204090e-02 7.30806135e-02 7.30806135e-02 8.52607158e-02 7.30806135e-02 1.09620920e-01 1.09620920e-01 1.21801023e-01 9.74408181e-02 1.09620920e-01 6.09005113e-02 8.52607158e-02 9.74408181e-02 1.58341329e-01 1.46161227e-01 8.52607158e-02 1.33981125e-01 1.09620920e-01 1.58341329e-01 7.30806135e-02 9.74408181e-02 8.52607158e-02 1.33981125e-01 7.30806135e-02 1.94881636e-01 4.87204090e-02 3.65403068e-02 1.58341329e-01 1.46161227e-01 4.87204090e-02 1.09620920e-01 4.87204090e-02 1.21801023e-01 8.52607158e-02 1.33981125e-01 1.09620920e-01 6.09005113e-02 3.65403068e-02 8.52607158e-02 8.52607158e-02 6.09005113e-02 9.74408181e-02 6.09005113e-02 1.09620920e-01 9.74408181e-02 1.09620920e-01 6.09005113e-02 1.82701534e-01 1.09620920e-01 6.09005113e-02 1.09620920e-01 4.87204090e-02 6.09005113e-02 8.52607158e-02 7.30806135e-02 6.09005113e-02 1.09620920e-01 1.70521432e-01 1.09620920e-01 1.58341329e-01 9.74408181e-02 8.52607158e-02 7.30806135e-02 6.09005113e-02 1.46161227e-01 1.09620920e-01 7.30806135e-02 1.09620920e-01 3.65403068e-02 3.65403068e-02 9.74408181e-02 8.52607158e-02 8.52607158e-02 1.09620920e-01 1.46161227e-01 1.46161227e-01 1.09620920e-01 6.09005113e-02 1.33981125e-01 1.21801023e-01 8.52607158e-02 1.82701534e-01 2.43602045e-02 6.09005113e-02 1.09620920e-01 1.09620920e-01 6.09005113e-02 3.65403068e-02 7.30806135e-02 1.21801023e-01 1.21801023e-01 8.52607158e-02 6.09005113e-02 1.09620920e-01 9.74408181e-02 1.09620920e-01 6.09005113e-02 7.30806135e-02 1.21801023e-01 9.74408181e-02 8.52607158e-02 1.70521432e-01 1.09620920e-01 6.09005113e-02 9.74408181e-02 1.70521432e-01 8.52607158e-02 3.65403068e-02 9.74408181e-02 6.09005113e-02 1.09620920e-01 1.94881636e-01 1.46161227e-01 1.21801023e-01 1.21801023e-01 7.30806135e-02 1.58341329e-01 1.21801023e-01 8.52607158e-02 1.33981125e-01 1.21801023e-01 1.21801023e-01 1.21801023e-01 1.09620920e-01 1.21801023e-01 6.09005113e-02 9.74408181e-02 1.21801023e-01 1.21801023e-01 8.52607158e-02 4.87204090e-02 9.74408181e-02 8.52607158e-02 8.52607158e-02 8.52607158e-02 8.52607158e-02 9.74408181e-02 9.74408181e-02 1.09620920e-01 1.09620920e-01 1.09620920e-01 8.52607158e-02 1.46161227e-01 1.58341329e-01 1.33981125e-01 7.30806135e-02 9.74408181e-02 9.74408181e-02 6.09005113e-02 9.74408181e-02 8.52607158e-02 3.65403068e-02 1.09620920e-01 8.52607158e-02 1.21801023e-01 8.52607158e-02 1.33981125e-01 9.74408181e-02 7.30806135e-02 1.09620920e-01 1.46161227e-01 8.52607158e-02 7.30806135e-02 1.33981125e-01 8.52607158e-02 6.09005113e-02 8.52607158e-02 1.33981125e-01 1.09620920e-01 7.30806135e-02 9.74408181e-02 6.09005113e-02 3.65403068e-02 7.30806135e-02 6.09005113e-02 1.46161227e-01 1.09620920e-01 7.30806135e-02 1.46161227e-01 7.30806135e-02 7.30806135e-02 8.52607158e-02 8.52607158e-02 6.09005113e-02 6.09005113e-02 1.46161227e-01 7.30806135e-02 7.30806135e-02 4.87204090e-02 8.52607158e-02 1.21801023e-01 1.33981125e-01 1.09620920e-01 8.52607158e-02 1.46161227e-01 8.52607158e-02 3.65403068e-02 6.09005113e-02 1.58341329e-01 1.09620920e-01 1.46161227e-01 1.21801023e-01 7.30806135e-02 6.09005113e-02 1.21801023e-01 7.30806135e-02 8.52607158e-02 7.30806135e-02 9.74408181e-02 8.52607158e-02 8.52607158e-02 1.09620920e-01 1.46161227e-01 4.87204090e-02 6.09005113e-02 1.09620920e-01 8.52607158e-02 1.09620920e-01 9.74408181e-02 6.09005113e-02 1.21801023e-01 1.58341329e-01 1.09620920e-01 6.09005113e-02 9.74408181e-02 1.21801023e-01 8.52607158e-02 1.58341329e-01 1.09620920e-01 6.09005113e-02 1.46161227e-01 7.30806135e-02 4.87204090e-02 1.09620920e-01 1.09620920e-01 1.33981125e-01 1.46161227e-01 1.09620920e-01 7.30806135e-02 1.33981125e-01 1.33981125e-01 1.33981125e-01 1.21801023e-01 1.70521432e-01 1.21801023e-01 1.21801023e-01 1.09620920e-01 7.30806135e-02 1.21801023e-01 9.74408181e-02 7.30806135e-02 1.82701534e-01 1.09620920e-01 4.87204090e-02 2.07061738e-01 1.46161227e-01 1.21801023e-01 8.52607158e-02 9.74408181e-02 8.52607158e-02 8.52607158e-02 1.33981125e-01 8.52607158e-02 1.21801023e-01 7.30806135e-02 9.74408181e-02 1.33981125e-01 1.46161227e-01 8.52607158e-02 1.21801023e-01 1.82701534e-01 9.74408181e-02 1.09620920e-01 1.21801023e-01 1.46161227e-01 8.52607158e-02 1.33981125e-01 1.09620920e-01 7.30806135e-02 9.74408181e-02 8.52607158e-02 8.52607158e-02 8.52607158e-02 6.09005113e-02 8.52607158e-02 9.74408181e-02 9.74408181e-02 1.46161227e-01 1.21801023e-01 7.30806135e-02 8.52607158e-02 1.21801023e-01 9.74408181e-02 7.30806135e-02 1.94881636e-01 9.74408181e-02 1.09620920e-01 1.09620920e-01 1.09620920e-01 8.52607158e-02 8.52607158e-02 7.30806135e-02 8.52607158e-02 2.43602045e-02 1.46161227e-01 1.58341329e-01 1.46161227e-01 1.33981125e-01 1.33981125e-01 1.21801023e-01 1.09620920e-01 9.74408181e-02 3.65403068e-02 1.33981125e-01 1.46161227e-01 1.09620920e-01 1.58341329e-01 1.46161227e-01 1.21801023e-01 1.21801023e-01 2.07061738e-01 7.30806135e-02 8.52607158e-02 7.30806135e-02 7.30806135e-02 4.87204090e-02 4.87204090e-02 1.33981125e-01 1.33981125e-01 1.09620920e-01 1.21801023e-01 1.46161227e-01 1.70521432e-01 8.52607158e-02 1.09620920e-01 8.52607158e-02 1.09620920e-01 4.87204090e-02 8.52607158e-02 1.21801023e-01 1.09620920e-01 7.30806135e-02 4.87204090e-02 1.33981125e-01 1.21801023e-01 8.52607158e-02 7.30806135e-02 9.74408181e-02 1.09620920e-01 1.21801023e-01 3.65403068e-02 1.09620920e-01 1.70521432e-01 9.74408181e-02 1.21801023e-01 1.94881636e-01 1.21801023e-01 8.52607158e-02 1.09620920e-01 8.52607158e-02 6.09005113e-02 1.82701534e-01 1.82701534e-01 7.30806135e-02 1.82701534e-01 1.94881636e-01 1.09620920e-01 1.46161227e-01 3.65403068e-02 9.74408181e-02 8.52607158e-02 9.74408181e-02 1.82701534e-01 1.21801023e-01 6.09005113e-02 1.09620920e-01 1.21801023e-01 1.46161227e-01 1.09620920e-01 8.52607158e-02 1.09620920e-01 8.52607158e-02 9.74408181e-02 8.52607158e-02 1.09620920e-01 1.09620920e-01 7.30806135e-02 7.30806135e-02 9.74408181e-02 1.21801023e-01 1.21801023e-01 1.46161227e-01 9.74408181e-02 1.21801023e-01 7.30806135e-02 9.74408181e-02 1.09620920e-01 7.30806135e-02 1.21801023e-01 2.43602045e-02 1.21801023e-01 8.52607158e-02 3.65403068e-02 1.46161227e-01 7.30806135e-02 1.33981125e-01 1.58341329e-01 8.52607158e-02 1.21801023e-01 1.09620920e-01 7.30806135e-02 3.65403068e-02 1.70521432e-01 1.21801023e-01 9.74408181e-02 1.46161227e-01 6.09005113e-02 8.52607158e-02 1.21801023e-01 1.09620920e-01 9.74408181e-02 9.74408181e-02 6.09005113e-02 4.87204090e-02 9.74408181e-02 8.52607158e-02 1.09620920e-01 1.33981125e-01 7.30806135e-02 1.58341329e-01 7.30806135e-02 9.74408181e-02 1.33981125e-01 1.21801023e-01 1.58341329e-01 9.74408181e-02 8.52607158e-02 1.58341329e-01 4.87204090e-02 1.09620920e-01 1.21801023e-01 1.33981125e-01 1.46161227e-01 9.74408181e-02 1.21801023e-01 8.52607158e-02 1.82701534e-01 2.19241841e-01 9.74408181e-02 1.46161227e-01 8.52607158e-02 8.52607158e-02 7.30806135e-02 7.30806135e-02 9.74408181e-02 8.52607158e-02 8.52607158e-02 1.21801023e-01 1.33981125e-01 6.09005113e-02 1.33981125e-01 1.33981125e-01 1.09620920e-01 1.09620920e-01 9.74408181e-02 7.30806135e-02 6.09005113e-02 4.87204090e-02 2.43602045e-02 1.21801023e-01 9.74408181e-02 1.21801023e-01 9.74408181e-02 8.52607158e-02 1.46161227e-01 1.09620920e-01 9.74408181e-02 1.09620920e-01 1.33981125e-01 9.74408181e-02 1.09620920e-01 1.09620920e-01 8.52607158e-02 1.09620920e-01 8.52607158e-02 4.87204090e-02 6.09005113e-02 8.52607158e-02 9.74408181e-02 1.70521432e-01 8.52607158e-02 1.46161227e-01 1.46161227e-01 9.74408181e-02 1.21801023e-01 8.52607158e-02 1.21801023e-01 7.30806135e-02 8.52607158e-02 1.09620920e-01 9.74408181e-02 1.46161227e-01 1.21801023e-01 1.33981125e-01 9.74408181e-02 1.09620920e-01 6.09005113e-02 1.21801023e-01 9.74408181e-02 1.09620920e-01 1.70521432e-01 7.30806135e-02 1.33981125e-01 7.30806135e-02 9.74408181e-02 1.33981125e-01 7.30806135e-02 1.46161227e-01 1.33981125e-01 9.74408181e-02 1.46161227e-01 1.09620920e-01 1.09620920e-01 6.09005113e-02 9.74408181e-02 8.52607158e-02 9.74408181e-02 1.21801023e-01 4.87204090e-02 1.58341329e-01 9.74408181e-02 8.52607158e-02 1.21801023e-01 1.21801023e-01 1.46161227e-01 8.52607158e-02 1.82701534e-01 1.46161227e-01 9.74408181e-02 1.21801023e-01 1.09620920e-01 1.46161227e-01 1.70521432e-01 7.30806135e-02 1.09620920e-01 2.07061738e-01 1.82701534e-01 1.21801023e-01 9.74408181e-02 8.52607158e-02 1.09620920e-01 3.65403068e-02 1.09620920e-01 8.52607158e-02 1.21801023e-01 7.30806135e-02 6.09005113e-02 3.65403068e-02 8.52607158e-02 1.21801023e-01 1.21801023e-01 7.30806135e-02 8.52607158e-02 7.30806135e-02 1.58341329e-01 1.70521432e-01 1.09620920e-01 9.74408181e-02 3.65403068e-02 1.58341329e-01 7.30806135e-02 6.09005113e-02 1.33981125e-01 8.52607158e-02 8.52607158e-02 1.82701534e-01 1.09620920e-01 1.58341329e-01 1.33981125e-01 1.82701534e-01 7.30806135e-02 7.30806135e-02 1.46161227e-01 1.21801023e-01 6.09005113e-02 1.33981125e-01 1.70521432e-01 1.21801023e-01 7.30806135e-02 3.65403068e-02 1.09620920e-01 9.74408181e-02 1.46161227e-01 1.33981125e-01 1.58341329e-01 1.09620920e-01 1.21801023e-01 1.21801023e-01 1.46161227e-01 8.52607158e-02 8.52607158e-02 1.58341329e-01 9.74408181e-02 8.52607158e-02 9.74408181e-02 1.33981125e-01 9.74408181e-02 1.58341329e-01 9.74408181e-02 8.52607158e-02 1.21801023e-01 1.46161227e-01 1.58341329e-01 8.52607158e-02 4.87204090e-02 8.52607158e-02 1.33981125e-01 9.74408181e-02 9.74408181e-02 4.87204090e-02 6.09005113e-02 1.21801023e-01 1.70521432e-01 8.52607158e-02 1.58341329e-01 1.09620920e-01 1.46161227e-01 6.09005113e-02 9.74408181e-02 8.52607158e-02 1.33981125e-01 8.52607158e-02 6.09005113e-02 4.87204090e-02 8.52607158e-02 1.46161227e-01 8.52607158e-02 1.46161227e-01 1.33981125e-01 8.52607158e-02 6.09005113e-02 1.09620920e-01 1.33981125e-01 1.33981125e-01 8.52607158e-02 1.09620920e-01 8.52607158e-02 8.52607158e-02 1.58341329e-01 9.74408181e-02 1.21801023e-01 1.33981125e-01 7.30806135e-02 1.21801023e-01 1.46161227e-01 9.74408181e-02 9.74408181e-02 4.87204090e-02 4.87204090e-02 9.74408181e-02 7.30806135e-02 1.46161227e-01 1.09620920e-01 1.82701534e-01 1.21801023e-01 6.09005113e-02 8.52607158e-02 1.21801023e-01 1.70521432e-01 1.33981125e-01 1.33981125e-01 8.52607158e-02 1.09620920e-01 7.30806135e-02 1.58341329e-01 7.30806135e-02 7.30806135e-02 7.30806135e-02 9.74408181e-02 9.74408181e-02 9.74408181e-02 1.21801023e-01 3.65403068e-02 9.74408181e-02 1.09620920e-01 1.46161227e-01 6.09005113e-02 1.09620920e-01 7.30806135e-02 1.33981125e-01 1.33981125e-01 1.46161227e-01 1.58341329e-01 6.09005113e-02 1.21801023e-01 6.09005113e-02 9.74408181e-02 1.21801023e-01 8.52607158e-02 1.58341329e-01 9.74408181e-02 1.70521432e-01 8.52607158e-02 8.52607158e-02 7.30806135e-02 1.21801023e-01 1.21801023e-01 9.74408181e-02 1.46161227e-01 9.74408181e-02 1.70521432e-01 3.65403068e-02 2.07061738e-01 6.09005113e-02 1.09620920e-01 1.94881636e-01 9.74408181e-02 1.09620920e-01 1.82701534e-01 9.74408181e-02 1.33981125e-01 8.52607158e-02 9.74408181e-02 1.09620920e-01 1.94881636e-01 1.09620920e-01 8.52607158e-02 8.52607158e-02 1.58341329e-01 1.09620920e-01 3.65403068e-02 6.09005113e-02 1.46161227e-01 1.09620920e-01 1.46161227e-01 9.74408181e-02 1.58341329e-01 7.30806135e-02 9.74408181e-02 1.33981125e-01 1.33981125e-01 2.43602045e-01 1.70521432e-01 6.09005113e-02 6.09005113e-02 1.33981125e-01 1.33981125e-01 9.74408181e-02 1.70521432e-01 9.74408181e-02 1.46161227e-01 1.46161227e-01 1.09620920e-01 8.52607158e-02 1.09620920e-01 1.33981125e-01 8.52607158e-02 1.21801023e-01 1.09620920e-01 1.33981125e-01 1.46161227e-01 1.09620920e-01 1.21801023e-01 1.21801023e-01 1.58341329e-01 9.74408181e-02 1.46161227e-01 1.33981125e-01 7.30806135e-02 1.46161227e-01 1.21801023e-01 1.58341329e-01 2.43602045e-02 1.58341329e-01 1.09620920e-01 9.74408181e-02 1.09620920e-01 7.30806135e-02 6.09005113e-02 1.33981125e-01 1.21801023e-01 1.58341329e-01 1.58341329e-01 6.09005113e-02 8.52607158e-02 6.09005113e-02 8.52607158e-02 9.74408181e-02 1.46161227e-01 2.43602045e-02 1.21801023e-01 1.21801023e-01 8.52607158e-02 7.30806135e-02 1.70521432e-01 1.46161227e-01 1.58341329e-01 8.52607158e-02 8.52607158e-02 2.07061738e-01 1.09620920e-01 1.21801023e-01 1.09620920e-01 1.82701534e-01 9.74408181e-02 1.21801023e-01 1.82701534e-01 1.21801023e-01 9.74408181e-02 7.30806135e-02 1.46161227e-01 1.21801023e-01 8.52607158e-02 1.58341329e-01 1.82701534e-01 1.21801023e-01 7.30806135e-02 1.94881636e-01 1.70521432e-01 1.70521432e-01 1.33981125e-01 1.46161227e-01 8.52607158e-02 1.70521432e-01 8.52607158e-02 4.87204090e-02 1.58341329e-01 4.87204090e-02 1.09620920e-01 1.46161227e-01 7.30806135e-02 1.70521432e-01 1.46161227e-01 1.33981125e-01 1.09620920e-01 9.74408181e-02 9.74408181e-02 1.33981125e-01 1.21801023e-01 6.09005113e-02 7.30806135e-02 1.09620920e-01 3.65403068e-02 7.30806135e-02 1.09620920e-01 1.94881636e-01 9.74408181e-02 7.30806135e-02 1.09620920e-01 1.21801023e-01 1.09620920e-01 9.74408181e-02 1.09620920e-01 1.70521432e-01 1.70521432e-01 1.70521432e-01 6.09005113e-02 1.33981125e-01 9.74408181e-02 7.30806135e-02 1.33981125e-01 1.33981125e-01 1.21801023e-01 8.52607158e-02 1.33981125e-01 1.21801023e-01 9.74408181e-02 8.52607158e-02 1.46161227e-01 1.70521432e-01 1.58341329e-01 9.74408181e-02 7.30806135e-02 1.09620920e-01 7.30806135e-02 1.09620920e-01 9.74408181e-02 9.74408181e-02 7.30806135e-02 1.70521432e-01 1.09620920e-01 1.09620920e-01 8.52607158e-02 4.87204090e-02 8.52607158e-02 9.74408181e-02 1.09620920e-01 1.09620920e-01 1.09620920e-01 1.21801023e-01 1.33981125e-01 1.33981125e-01 1.58341329e-01 8.52607158e-02 1.21801023e-01 9.74408181e-02 7.30806135e-02 1.46161227e-01 7.30806135e-02 1.46161227e-01 7.30806135e-02 8.52607158e-02 2.07061738e-01 1.70521432e-01 1.33981125e-01 1.09620920e-01 1.46161227e-01 8.52607158e-02 9.74408181e-02 1.21801023e-01 1.09620920e-01 1.09620920e-01 1.09620920e-01 9.74408181e-02 1.21801023e-01 1.46161227e-01 7.30806135e-02 1.09620920e-01 1.70521432e-01 1.21801023e-01 8.52607158e-02 1.09620920e-01 1.58341329e-01 1.58341329e-01 1.70521432e-01 9.74408181e-02 7.30806135e-02 2.07061738e-01 1.09620920e-01 1.33981125e-01 7.30806135e-02 1.09620920e-01 1.09620920e-01 1.33981125e-01 9.74408181e-02 1.21801023e-01 1.33981125e-01 1.33981125e-01 9.74408181e-02 1.33981125e-01 1.09620920e-01 1.09620920e-01 1.82701534e-01 7.30806135e-02 2.19241841e-01 9.74408181e-02 8.52607158e-02 1.46161227e-01 1.46161227e-01 9.74408181e-02 1.70521432e-01 7.30806135e-02 1.46161227e-01 1.46161227e-01 1.09620920e-01 8.52607158e-02 1.70521432e-01 1.94881636e-01 1.46161227e-01 1.58341329e-01 1.09620920e-01 1.09620920e-01 7.30806135e-02 1.46161227e-01 4.87204090e-02 1.21801023e-01 1.82701534e-01 1.21801023e-01 1.33981125e-01 9.74408181e-02 1.70521432e-01 1.21801023e-01 1.09620920e-01 1.21801023e-01 1.46161227e-01 1.94881636e-01 1.21801023e-01 1.21801023e-01 1.46161227e-01 1.09620920e-01 9.74408181e-02 7.30806135e-02 1.09620920e-01 8.52607158e-02 9.74408181e-02 1.09620920e-01 1.09620920e-01 4.87204090e-02 1.09620920e-01 7.30806135e-02 1.46161227e-01 1.21801023e-01 1.70521432e-01 1.33981125e-01 8.52607158e-02 1.46161227e-01 8.52607158e-02 8.52607158e-02 1.21801023e-01 1.70521432e-01 1.33981125e-01 1.21801023e-01 1.09620920e-01 8.52607158e-02 1.82701534e-01 1.46161227e-01 1.46161227e-01 1.82701534e-01 1.58341329e-01 9.74408181e-02 1.21801023e-01 1.09620920e-01 6.09005113e-02 1.21801023e-01 9.74408181e-02 1.09620920e-01 9.74408181e-02 1.70521432e-01 1.21801023e-01 9.74408181e-02 7.30806135e-02 1.58341329e-01 4.87204090e-02 1.46161227e-01 6.09005113e-02 1.21801023e-01 1.58341329e-01 1.09620920e-01 1.09620920e-01 1.09620920e-01 9.74408181e-02 1.21801023e-01 9.74408181e-02 1.46161227e-01 1.46161227e-01 1.09620920e-01 1.94881636e-01 9.74408181e-02 1.46161227e-01 9.74408181e-02 1.21801023e-01 1.21801023e-01 1.58341329e-01 8.52607158e-02 1.09620920e-01 1.09620920e-01 1.70521432e-01 4.87204090e-02 1.09620920e-01 1.33981125e-01 1.09620920e-01 1.82701534e-01 1.21801023e-01 9.74408181e-02 1.33981125e-01 1.21801023e-01 1.33981125e-01 1.82701534e-01 7.30806135e-02 1.82701534e-01 1.46161227e-01 8.52607158e-02 1.58341329e-01 1.33981125e-01 1.82701534e-01 1.09620920e-01 8.52607158e-02 7.30806135e-02 2.07061738e-01 1.21801023e-01 1.21801023e-01 1.33981125e-01 1.94881636e-01 1.21801023e-01 1.70521432e-01 1.58341329e-01 1.70521432e-01 8.52607158e-02 7.30806135e-02 1.58341329e-01 2.07061738e-01 9.74408181e-02 8.52607158e-02 1.09620920e-01 8.52607158e-02 3.65403068e-02 3.65403068e-02 8.52607158e-02 9.74408181e-02 1.58341329e-01 8.52607158e-02 9.74408181e-02 1.33981125e-01 8.52607158e-02 1.82701534e-01 1.46161227e-01 1.58341329e-01 2.07061738e-01 9.74408181e-02 6.09005113e-02 1.09620920e-01 1.70521432e-01 1.21801023e-01 1.33981125e-01 1.46161227e-01 4.87204090e-02 1.33981125e-01 1.21801023e-01 1.58341329e-01 1.82701534e-01 9.74408181e-02 1.70521432e-01 1.33981125e-01 1.46161227e-01 1.09620920e-01 1.46161227e-01 1.58341329e-01 1.46161227e-01 1.33981125e-01 1.94881636e-01 1.33981125e-01 9.74408181e-02 9.74408181e-02 1.82701534e-01 1.21801023e-01 9.74408181e-02 7.30806135e-02 2.07061738e-01 1.58341329e-01 1.21801023e-01 4.87204090e-02 8.52607158e-02 1.21801023e-01 1.09620920e-01 1.46161227e-01 1.33981125e-01 9.74408181e-02 1.09620920e-01 1.09620920e-01 1.46161227e-01 6.09005113e-02 6.09005113e-02 1.33981125e-01 1.33981125e-01 4.87204090e-02 1.09620920e-01 2.43602045e-02 1.58341329e-01 1.09620920e-01 1.82701534e-01 1.09620920e-01 1.21801023e-01 1.09620920e-01 1.46161227e-01 9.74408181e-02 1.46161227e-01 6.09005113e-02 1.58341329e-01 1.70521432e-01 1.33981125e-01 8.52607158e-02 1.70521432e-01 2.31421943e-01 8.52607158e-02 1.82701534e-01 1.21801023e-01 9.74408181e-02 2.19241841e-01 1.33981125e-01 1.33981125e-01 1.33981125e-01 8.52607158e-02 1.46161227e-01 1.70521432e-01 1.70521432e-01 1.70521432e-01 1.33981125e-01 1.82701534e-01 8.52607158e-02 8.52607158e-02 1.21801023e-01 1.33981125e-01 1.21801023e-01 2.07061738e-01 1.46161227e-01 8.52607158e-02 9.74408181e-02 6.09005113e-02 1.46161227e-01 1.94881636e-01 9.74408181e-02 1.70521432e-01 9.74408181e-02 4.87204090e-02 1.94881636e-01 1.21801023e-01 1.09620920e-01 2.07061738e-01 8.52607158e-02 1.70521432e-01 1.46161227e-01 1.82701534e-01 1.82701534e-01 1.46161227e-01 1.58341329e-01 6.09005113e-02 1.21801023e-01 1.09620920e-01 1.21801023e-01 1.58341329e-01 9.74408181e-02 1.21801023e-01 2.31421943e-01 1.33981125e-01 1.70521432e-01 4.87204090e-02 1.21801023e-01 1.94881636e-01 1.21801023e-01 1.21801023e-01 1.33981125e-01 8.52607158e-02 1.33981125e-01 1.70521432e-01 1.09620920e-01 1.09620920e-01 2.07061738e-01 1.21801023e-01 8.52607158e-02 9.74408181e-02 1.33981125e-01 1.58341329e-01 7.30806135e-02 1.46161227e-01 1.09620920e-01 1.33981125e-01 1.46161227e-01 1.21801023e-01 1.33981125e-01 1.82701534e-01 7.30806135e-02 7.30806135e-02 1.09620920e-01 1.46161227e-01 1.33981125e-01 1.21801023e-01 1.21801023e-01 1.46161227e-01 1.33981125e-01 7.30806135e-02 1.33981125e-01 8.52607158e-02 2.19241841e-01 1.21801023e-01 9.74408181e-02 2.07061738e-01 2.19241841e-01 1.09620920e-01 1.33981125e-01 1.46161227e-01 2.31421943e-01 1.46161227e-01 1.21801023e-01 9.74408181e-02 1.70521432e-01 7.30806135e-02 7.30806135e-02 1.21801023e-01 1.21801023e-01 1.70521432e-01 1.09620920e-01 1.46161227e-01 1.58341329e-01 1.33981125e-01 1.82701534e-01 9.74408181e-02 2.43602045e-01 9.74408181e-02 1.21801023e-01 1.21801023e-01 1.09620920e-01 1.09620920e-01 7.30806135e-02 1.21801023e-01 1.33981125e-01 1.58341329e-01 7.30806135e-02 1.58341329e-01 9.74408181e-02 1.09620920e-01 8.52607158e-02 2.19241841e-01 1.46161227e-01 1.82701534e-01 8.52607158e-02 1.82701534e-01 2.31421943e-01 1.46161227e-01 1.70521432e-01 1.21801023e-01 1.09620920e-01 9.74408181e-02 1.33981125e-01 1.46161227e-01 1.70521432e-01 9.74408181e-02 8.52607158e-02 1.58341329e-01 1.33981125e-01 9.74408181e-02 1.58341329e-01 1.33981125e-01 1.21801023e-01 1.46161227e-01 7.30806135e-02 1.94881636e-01 1.09620920e-01 9.74408181e-02 1.70521432e-01 1.58341329e-01 2.07061738e-01 1.58341329e-01 1.09620920e-01 1.82701534e-01 2.55782147e-01 1.82701534e-01 1.46161227e-01 1.21801023e-01 1.70521432e-01 1.33981125e-01 9.74408181e-02 1.70521432e-01 1.33981125e-01 1.21801023e-01 1.21801023e-01 8.52607158e-02 1.82701534e-01 1.46161227e-01 8.52607158e-02 1.33981125e-01 1.33981125e-01 2.43602045e-01 8.52607158e-02 1.21801023e-01 8.52607158e-02 1.21801023e-01 1.70521432e-01 9.74408181e-02 1.09620920e-01 1.33981125e-01 1.58341329e-01 7.30806135e-02 8.52607158e-02 1.58341329e-01 1.33981125e-01 1.33981125e-01 8.52607158e-02 1.33981125e-01 2.07061738e-01 7.30806135e-02 1.21801023e-01 1.58341329e-01 1.58341329e-01 1.58341329e-01 1.09620920e-01 8.52607158e-02 2.07061738e-01 1.94881636e-01 1.33981125e-01 1.46161227e-01 1.09620920e-01 1.58341329e-01 1.46161227e-01 1.21801023e-01 1.46161227e-01 1.94881636e-01 1.82701534e-01 1.33981125e-01 1.21801023e-01 1.46161227e-01 1.09620920e-01 2.19241841e-01 1.94881636e-01 7.30806135e-02 1.09620920e-01 2.07061738e-01 9.74408181e-02 1.94881636e-01 1.46161227e-01 1.46161227e-01 8.52607158e-02 1.58341329e-01 1.09620920e-01 9.74408181e-02 1.33981125e-01 1.09620920e-01 1.09620920e-01 1.33981125e-01 1.58341329e-01 1.58341329e-01 2.67962250e-01 1.82701534e-01 1.46161227e-01 2.07061738e-01 6.09005113e-02 1.46161227e-01 1.94881636e-01 2.31421943e-01 1.46161227e-01 9.74408181e-02 8.52607158e-02 1.46161227e-01 1.21801023e-01 1.70521432e-01 1.58341329e-01 1.70521432e-01 1.21801023e-01 1.70521432e-01 1.46161227e-01 9.74408181e-02 1.33981125e-01 1.33981125e-01 1.70521432e-01 1.09620920e-01 1.70521432e-01 9.74408181e-02 1.58341329e-01 4.87204090e-02 1.09620920e-01 1.46161227e-01 1.70521432e-01 1.46161227e-01 1.46161227e-01 1.21801023e-01 1.46161227e-01 9.74408181e-02 1.94881636e-01 1.33981125e-01 1.21801023e-01 2.07061738e-01 1.21801023e-01 1.58341329e-01 1.33981125e-01 1.09620920e-01 1.21801023e-01 1.46161227e-01 1.70521432e-01 8.52607158e-02 1.33981125e-01 1.58341329e-01 1.46161227e-01 1.33981125e-01 1.82701534e-01 1.33981125e-01 4.87204090e-02 1.46161227e-01 1.82701534e-01 1.21801023e-01 1.58341329e-01 1.94881636e-01 1.58341329e-01 1.70521432e-01 1.09620920e-01 1.33981125e-01 1.46161227e-01 1.70521432e-01 1.70521432e-01 2.07061738e-01 1.21801023e-01 1.58341329e-01 1.94881636e-01 1.46161227e-01 1.21801023e-01 1.21801023e-01 1.21801023e-01 1.33981125e-01 1.58341329e-01 1.09620920e-01 1.21801023e-01 9.74408181e-02 1.21801023e-01 1.46161227e-01 1.94881636e-01 1.09620920e-01 1.94881636e-01 1.21801023e-01 1.94881636e-01 1.70521432e-01 7.30806135e-02 1.33981125e-01 1.09620920e-01 1.21801023e-01 1.94881636e-01 1.70521432e-01 1.46161227e-01 1.09620920e-01 1.33981125e-01 1.70521432e-01 1.94881636e-01 1.46161227e-01 1.33981125e-01 9.74408181e-02 1.33981125e-01 1.94881636e-01 1.09620920e-01 1.70521432e-01 1.09620920e-01 1.33981125e-01 1.82701534e-01 8.52607158e-02 1.46161227e-01 1.33981125e-01 1.94881636e-01 1.33981125e-01 1.94881636e-01 1.82701534e-01 1.21801023e-01 1.94881636e-01 1.46161227e-01 1.70521432e-01 8.52607158e-02 8.52607158e-02 1.82701534e-01 1.09620920e-01 1.70521432e-01 8.52607158e-02 1.58341329e-01 1.21801023e-01 2.07061738e-01 1.70521432e-01 1.82701534e-01 1.70521432e-01 1.58341329e-01 1.21801023e-01 9.74408181e-02 1.70521432e-01 2.19241841e-01 2.19241841e-01 1.21801023e-01 2.31421943e-01 1.82701534e-01 1.09620920e-01 9.74408181e-02 1.33981125e-01 1.09620920e-01 1.82701534e-01 1.70521432e-01 1.33981125e-01 1.70521432e-01 1.33981125e-01 1.46161227e-01 1.33981125e-01 1.21801023e-01 1.21801023e-01 1.21801023e-01 1.33981125e-01 1.58341329e-01 1.70521432e-01 2.07061738e-01 1.46161227e-01 1.58341329e-01 2.07061738e-01 1.58341329e-01 9.74408181e-02 1.21801023e-01 1.09620920e-01 7.30806135e-02 1.70521432e-01 1.94881636e-01 2.07061738e-01 1.94881636e-01 1.70521432e-01 1.46161227e-01 8.52607158e-02 9.74408181e-02 1.46161227e-01 1.70521432e-01 1.46161227e-01 1.70521432e-01 1.94881636e-01 1.82701534e-01 1.82701534e-01 1.21801023e-01 1.70521432e-01 2.07061738e-01 1.33981125e-01 1.70521432e-01 1.46161227e-01 9.74408181e-02 1.46161227e-01 1.09620920e-01 1.58341329e-01 1.09620920e-01 2.07061738e-01 1.82701534e-01 1.09620920e-01 1.82701534e-01 1.21801023e-01 1.33981125e-01 1.70521432e-01 1.09620920e-01 9.74408181e-02 1.33981125e-01 1.21801023e-01 1.58341329e-01 1.70521432e-01 1.46161227e-01 1.58341329e-01 1.21801023e-01 1.33981125e-01 1.94881636e-01 2.07061738e-01 1.09620920e-01 1.21801023e-01 1.94881636e-01 1.33981125e-01 1.82701534e-01 1.94881636e-01 1.58341329e-01 1.70521432e-01 1.33981125e-01 1.58341329e-01 1.70521432e-01 9.74408181e-02 2.43602045e-01 1.09620920e-01 2.80142352e-01 1.33981125e-01 1.21801023e-01 1.46161227e-01 1.94881636e-01 1.94881636e-01 1.58341329e-01 1.46161227e-01 1.94881636e-01 1.46161227e-01 2.07061738e-01 1.70521432e-01 3.65403068e-02 1.46161227e-01 1.46161227e-01 1.58341329e-01 1.21801023e-01 1.58341329e-01 6.09005113e-02 1.58341329e-01 7.30806135e-02 2.31421943e-01 8.52607158e-02 1.46161227e-01 2.07061738e-01 1.09620920e-01 1.70521432e-01 1.58341329e-01 1.21801023e-01 1.58341329e-01 1.46161227e-01 1.94881636e-01 2.07061738e-01 9.74408181e-02 1.94881636e-01 1.33981125e-01 1.94881636e-01 1.94881636e-01 1.70521432e-01 1.46161227e-01 1.70521432e-01 2.07061738e-01 1.82701534e-01 1.21801023e-01 8.52607158e-02 2.31421943e-01 1.58341329e-01 1.46161227e-01 1.58341329e-01 1.33981125e-01 1.33981125e-01 1.82701534e-01 1.58341329e-01 1.33981125e-01 2.07061738e-01 1.70521432e-01 2.43602045e-01 9.74408181e-02 1.70521432e-01 2.19241841e-01 9.74408181e-02 1.58341329e-01 1.09620920e-01 1.58341329e-01 2.07061738e-01 1.82701534e-01 1.46161227e-01 1.33981125e-01 1.33981125e-01 2.07061738e-01 2.55782147e-01 2.07061738e-01 1.70521432e-01 1.82701534e-01 1.21801023e-01 2.80142352e-01 1.33981125e-01 1.70521432e-01 1.46161227e-01 2.19241841e-01 1.09620920e-01 1.58341329e-01 2.07061738e-01 1.58341329e-01 2.07061738e-01 2.19241841e-01 2.55782147e-01 1.33981125e-01 2.31421943e-01 1.21801023e-01 1.33981125e-01 1.70521432e-01 1.58341329e-01 1.58341329e-01 2.43602045e-01 1.82701534e-01 1.58341329e-01 1.70521432e-01 2.19241841e-01 1.09620920e-01 9.74408181e-02 1.70521432e-01 2.55782147e-01 1.70521432e-01 2.43602045e-01 1.58341329e-01 2.19241841e-01 1.09620920e-01 2.07061738e-01 2.67962250e-01 1.33981125e-01 1.58341329e-01 9.74408181e-02 8.52607158e-02 1.21801023e-01 2.31421943e-01 1.58341329e-01 2.43602045e-01 2.43602045e-01 1.82701534e-01 1.82701534e-01 1.94881636e-01 2.07061738e-01 2.67962250e-01 2.07061738e-01 1.82701534e-01 2.31421943e-01 1.70521432e-01 1.94881636e-01 2.80142352e-01 1.70521432e-01 2.07061738e-01 1.46161227e-01 1.33981125e-01 2.31421943e-01 1.46161227e-01 1.58341329e-01 1.82701534e-01 9.74408181e-02 1.70521432e-01 1.21801023e-01 1.58341329e-01 8.52607158e-02 2.07061738e-01 2.43602045e-01 1.58341329e-01 1.58341329e-01 1.70521432e-01 1.94881636e-01 2.55782147e-01 1.33981125e-01 1.94881636e-01 1.21801023e-01 2.31421943e-01 1.94881636e-01 1.82701534e-01 1.70521432e-01 1.46161227e-01 1.58341329e-01 9.74408181e-02 2.31421943e-01 2.19241841e-01 1.21801023e-01 1.82701534e-01 1.46161227e-01 1.58341329e-01 1.46161227e-01 1.70521432e-01 1.58341329e-01 2.07061738e-01 1.94881636e-01 1.46161227e-01 2.19241841e-01 2.07061738e-01 1.58341329e-01 1.46161227e-01 1.58341329e-01 2.67962250e-01 1.46161227e-01 1.58341329e-01 2.31421943e-01 2.80142352e-01 1.21801023e-01 1.94881636e-01 2.55782147e-01 1.82701534e-01 1.33981125e-01 9.74408181e-02 1.46161227e-01 2.31421943e-01 1.82701534e-01 2.31421943e-01 1.82701534e-01 1.70521432e-01 1.46161227e-01 2.31421943e-01 1.94881636e-01 1.94881636e-01 2.55782147e-01 2.07061738e-01 6.09005113e-02 1.82701534e-01 1.46161227e-01 1.70521432e-01 1.82701534e-01 1.82701534e-01 1.21801023e-01 1.33981125e-01 2.43602045e-01 2.55782147e-01 2.31421943e-01 2.19241841e-01 1.21801023e-01 2.55782147e-01 1.94881636e-01 1.09620920e-01 1.94881636e-01 2.19241841e-01 1.94881636e-01 1.70521432e-01 1.09620920e-01 2.07061738e-01 2.67962250e-01 2.19241841e-01 1.70521432e-01 1.09620920e-01 1.21801023e-01 2.43602045e-01 1.33981125e-01 2.07061738e-01 2.07061738e-01 1.94881636e-01 2.43602045e-01 2.07061738e-01 1.70521432e-01 1.33981125e-01 1.82701534e-01 1.82701534e-01 1.94881636e-01 1.09620920e-01 2.19241841e-01 1.33981125e-01 1.82701534e-01 2.19241841e-01 1.70521432e-01 1.82701534e-01 1.82701534e-01 1.94881636e-01 2.55782147e-01 2.07061738e-01 1.46161227e-01 2.43602045e-01 1.58341329e-01 1.82701534e-01 2.07061738e-01 2.55782147e-01 2.55782147e-01 1.70521432e-01 1.33981125e-01 2.07061738e-01 2.07061738e-01 2.07061738e-01 1.33981125e-01 2.19241841e-01 2.80142352e-01 1.82701534e-01 1.58341329e-01 2.19241841e-01 1.70521432e-01 2.19241841e-01 2.31421943e-01 2.31421943e-01 2.31421943e-01 2.07061738e-01 1.82701534e-01 2.31421943e-01 1.94881636e-01 1.46161227e-01 1.70521432e-01 2.07061738e-01 9.74408181e-02 2.31421943e-01 2.43602045e-01 1.82701534e-01 1.58341329e-01 1.82701534e-01 2.55782147e-01 3.04502556e-01 2.19241841e-01 1.82701534e-01 2.19241841e-01 2.67962250e-01 2.19241841e-01 2.19241841e-01 1.82701534e-01 2.19241841e-01 2.67962250e-01 2.55782147e-01 1.94881636e-01 1.58341329e-01 2.19241841e-01 1.94881636e-01 1.58341329e-01 3.28862761e-01 2.80142352e-01 2.19241841e-01 1.70521432e-01 2.92322454e-01 1.82701534e-01 2.19241841e-01 1.94881636e-01 1.70521432e-01 2.55782147e-01 2.07061738e-01 1.82701534e-01 2.43602045e-01 1.46161227e-01 1.70521432e-01 1.58341329e-01 3.04502556e-01 2.92322454e-01 2.31421943e-01 1.21801023e-01 2.92322454e-01 1.21801023e-01 3.04502556e-01 1.70521432e-01 1.58341329e-01 1.70521432e-01 1.70521432e-01 2.19241841e-01 2.43602045e-01 3.04502556e-01 1.82701534e-01 2.07061738e-01 1.46161227e-01 2.19241841e-01 2.07061738e-01 1.94881636e-01 2.31421943e-01 3.41042863e-01 2.19241841e-01 1.94881636e-01 2.19241841e-01 2.92322454e-01 1.94881636e-01 2.07061738e-01 2.43602045e-01 2.07061738e-01 1.94881636e-01 1.46161227e-01 2.19241841e-01 2.19241841e-01 2.67962250e-01 2.19241841e-01 2.55782147e-01 1.82701534e-01 2.31421943e-01 3.16682659e-01 1.82701534e-01 2.07061738e-01 1.09620920e-01 2.43602045e-01 1.94881636e-01 1.46161227e-01 2.19241841e-01 2.80142352e-01 2.31421943e-01 2.80142352e-01 3.28862761e-01 1.21801023e-01 2.19241841e-01 2.55782147e-01 2.92322454e-01 2.19241841e-01 2.67962250e-01 1.33981125e-01 1.58341329e-01 2.07061738e-01 2.19241841e-01 3.16682659e-01 1.70521432e-01 2.43602045e-01 1.94881636e-01 1.70521432e-01 2.07061738e-01 2.43602045e-01 2.92322454e-01 2.31421943e-01 2.19241841e-01 2.31421943e-01 2.19241841e-01 2.07061738e-01 1.94881636e-01 2.31421943e-01 2.31421943e-01 2.19241841e-01 2.55782147e-01 2.43602045e-01 2.67962250e-01 2.55782147e-01 2.19241841e-01 2.55782147e-01 2.55782147e-01 2.80142352e-01 2.31421943e-01 2.07061738e-01 2.92322454e-01 2.31421943e-01 2.07061738e-01 2.31421943e-01 1.21801023e-01 2.43602045e-01 2.43602045e-01 2.31421943e-01 1.94881636e-01 2.43602045e-01 2.07061738e-01 2.31421943e-01 2.92322454e-01 1.94881636e-01 2.43602045e-01 1.82701534e-01 1.46161227e-01 2.43602045e-01 2.19241841e-01 2.43602045e-01 2.43602045e-01 2.31421943e-01 2.80142352e-01 1.70521432e-01 2.07061738e-01 2.07061738e-01 2.07061738e-01 2.19241841e-01 2.80142352e-01 2.55782147e-01 2.55782147e-01 2.19241841e-01 3.41042863e-01 3.16682659e-01 1.94881636e-01 2.67962250e-01 2.07061738e-01 3.28862761e-01 1.70521432e-01 2.92322454e-01 2.92322454e-01 2.19241841e-01 2.43602045e-01 3.28862761e-01 3.04502556e-01 2.31421943e-01 2.07061738e-01 1.82701534e-01 2.43602045e-01 2.43602045e-01 2.19241841e-01 2.19241841e-01 1.82701534e-01 2.92322454e-01 2.67962250e-01 1.94881636e-01 2.07061738e-01 2.67962250e-01 2.43602045e-01 2.80142352e-01 2.19241841e-01 2.07061738e-01 2.80142352e-01 2.92322454e-01 2.67962250e-01 2.80142352e-01 2.43602045e-01 2.43602045e-01 1.70521432e-01 1.70521432e-01 2.55782147e-01 3.53222965e-01 3.77583170e-01 1.82701534e-01 1.82701534e-01 2.55782147e-01 1.70521432e-01 2.80142352e-01 2.67962250e-01 2.92322454e-01 1.21801023e-01 2.92322454e-01 2.67962250e-01 2.43602045e-01 2.07061738e-01 1.94881636e-01 3.28862761e-01 2.55782147e-01 2.80142352e-01 3.41042863e-01 2.07061738e-01 3.53222965e-01 3.16682659e-01 2.80142352e-01 2.55782147e-01 2.80142352e-01 1.33981125e-01 3.41042863e-01 2.07061738e-01 3.41042863e-01 2.19241841e-01 3.28862761e-01 2.67962250e-01 3.16682659e-01 2.92322454e-01 3.28862761e-01 2.67962250e-01 2.55782147e-01 2.31421943e-01 2.43602045e-01 2.31421943e-01 3.28862761e-01 2.67962250e-01 2.07061738e-01 3.16682659e-01 1.46161227e-01 2.80142352e-01 3.04502556e-01 2.31421943e-01 2.92322454e-01 1.33981125e-01 2.43602045e-01 2.67962250e-01 2.92322454e-01 2.19241841e-01 2.19241841e-01 2.31421943e-01 2.67962250e-01 4.38483681e-01 1.94881636e-01 3.16682659e-01 2.55782147e-01 3.16682659e-01 2.55782147e-01 2.55782147e-01 2.67962250e-01 3.77583170e-01 3.53222965e-01 3.16682659e-01 2.07061738e-01 2.31421943e-01 1.58341329e-01 2.43602045e-01 1.82701534e-01 1.94881636e-01 2.67962250e-01 2.07061738e-01 2.19241841e-01 2.55782147e-01 1.94881636e-01 3.04502556e-01 3.28862761e-01 2.67962250e-01 3.16682659e-01 2.43602045e-01 2.67962250e-01 3.53222965e-01 2.43602045e-01 2.80142352e-01 2.19241841e-01 2.55782147e-01 2.55782147e-01 1.94881636e-01 2.19241841e-01 2.55782147e-01 1.70521432e-01 2.43602045e-01 1.94881636e-01 2.80142352e-01 2.55782147e-01 2.07061738e-01 2.67962250e-01 2.80142352e-01 2.31421943e-01 3.65403068e-01 4.01943375e-01 1.94881636e-01 2.43602045e-01 1.82701534e-01 2.92322454e-01 2.31421943e-01 4.87204090e-01 2.07061738e-01 2.43602045e-01 1.82701534e-01 3.28862761e-01 3.16682659e-01 2.07061738e-01 1.94881636e-01 3.28862761e-01 1.94881636e-01 3.53222965e-01 3.04502556e-01 2.55782147e-01 2.07061738e-01 3.28862761e-01 2.92322454e-01 3.41042863e-01 2.80142352e-01 3.16682659e-01 2.67962250e-01 4.14123477e-01 3.41042863e-01 3.04502556e-01 2.92322454e-01 2.67962250e-01 3.53222965e-01 2.67962250e-01 3.16682659e-01 1.94881636e-01 3.28862761e-01 1.94881636e-01 1.82701534e-01 3.28862761e-01 3.16682659e-01 2.80142352e-01 2.55782147e-01 4.01943375e-01 2.43602045e-01 3.16682659e-01 3.16682659e-01 3.65403068e-01 2.67962250e-01 4.38483681e-01 3.53222965e-01 3.53222965e-01 2.55782147e-01 2.67962250e-01 2.67962250e-01 4.62843886e-01 2.80142352e-01 2.92322454e-01 2.92322454e-01 2.55782147e-01 2.55782147e-01 3.16682659e-01 4.26303579e-01 3.04502556e-01 3.65403068e-01 2.19241841e-01 2.55782147e-01 4.26303579e-01 3.89763272e-01 3.04502556e-01 4.50663784e-01 2.80142352e-01 3.04502556e-01 2.43602045e-01 3.28862761e-01 3.04502556e-01 2.55782147e-01 4.14123477e-01 3.04502556e-01 3.77583170e-01 3.53222965e-01 3.65403068e-01 2.92322454e-01 3.53222965e-01 2.43602045e-01 3.89763272e-01 3.16682659e-01 2.92322454e-01 3.65403068e-01 2.92322454e-01 3.04502556e-01 3.41042863e-01 3.41042863e-01 2.31421943e-01 3.28862761e-01 2.43602045e-01 3.89763272e-01 3.04502556e-01 3.53222965e-01 3.77583170e-01 3.28862761e-01 3.65403068e-01 3.53222965e-01 3.16682659e-01 4.01943375e-01 4.01943375e-01 4.14123477e-01 2.92322454e-01 3.65403068e-01 3.16682659e-01 2.67962250e-01 3.41042863e-01 2.67962250e-01 2.92322454e-01 3.41042863e-01 3.04502556e-01 4.01943375e-01 3.04502556e-01 2.31421943e-01 3.65403068e-01 3.53222965e-01 2.19241841e-01 3.41042863e-01 3.77583170e-01 2.07061738e-01 2.80142352e-01 3.89763272e-01 2.92322454e-01 1.70521432e-01 3.28862761e-01 3.41042863e-01 4.01943375e-01 2.43602045e-01 3.04502556e-01 2.92322454e-01 3.77583170e-01 4.14123477e-01 3.65403068e-01 2.55782147e-01 2.07061738e-01 4.38483681e-01 3.53222965e-01 3.77583170e-01 3.53222965e-01 4.99384193e-01 2.67962250e-01 3.16682659e-01 3.65403068e-01 2.80142352e-01 2.67962250e-01 3.89763272e-01 3.77583170e-01 3.28862761e-01 4.26303579e-01 2.55782147e-01 2.92322454e-01 4.01943375e-01 3.28862761e-01 2.80142352e-01 2.07061738e-01 3.16682659e-01 2.31421943e-01 3.89763272e-01 3.04502556e-01 3.77583170e-01 4.01943375e-01 2.80142352e-01 3.53222965e-01 3.28862761e-01 3.77583170e-01 3.65403068e-01 3.28862761e-01 3.16682659e-01 4.14123477e-01 2.67962250e-01 2.80142352e-01 3.04502556e-01 3.28862761e-01 3.53222965e-01 4.01943375e-01 3.77583170e-01 2.43602045e-01 5.23744397e-01 3.77583170e-01 3.16682659e-01 4.14123477e-01 3.28862761e-01 3.04502556e-01 3.53222965e-01 2.92322454e-01 2.80142352e-01 3.53222965e-01 3.41042863e-01 3.16682659e-01 3.41042863e-01 2.43602045e-01 3.04502556e-01 2.67962250e-01 4.99384193e-01 2.92322454e-01 3.16682659e-01 4.01943375e-01 3.04502556e-01 3.41042863e-01 4.01943375e-01 2.55782147e-01 4.50663784e-01 3.53222965e-01 3.41042863e-01 4.01943375e-01 3.53222965e-01 3.16682659e-01 4.75023988e-01 2.92322454e-01 3.28862761e-01 3.77583170e-01 3.65403068e-01 2.80142352e-01 5.11564295e-01 3.53222965e-01 4.26303579e-01 3.89763272e-01 3.53222965e-01 3.65403068e-01 3.89763272e-01 4.62843886e-01 3.41042863e-01 4.50663784e-01 3.89763272e-01 4.14123477e-01 3.53222965e-01 3.65403068e-01 2.67962250e-01 3.16682659e-01 4.14123477e-01 4.14123477e-01 3.41042863e-01 3.77583170e-01 4.50663784e-01 4.38483681e-01 2.92322454e-01 3.89763272e-01 3.89763272e-01 3.53222965e-01 3.28862761e-01 2.80142352e-01 3.65403068e-01 3.65403068e-01 3.04502556e-01 2.92322454e-01 2.92322454e-01 3.41042863e-01 3.41042863e-01 3.65403068e-01 3.28862761e-01 3.41042863e-01 4.38483681e-01 3.41042863e-01 4.99384193e-01 2.43602045e-01 3.77583170e-01 4.01943375e-01 4.26303579e-01 4.87204090e-01 4.75023988e-01 4.38483681e-01 3.04502556e-01 3.77583170e-01 4.87204090e-01 2.67962250e-01 2.92322454e-01 3.16682659e-01 3.16682659e-01 3.65403068e-01 4.38483681e-01 4.14123477e-01 4.14123477e-01 2.55782147e-01 3.28862761e-01 4.50663784e-01 4.26303579e-01 4.99384193e-01 4.99384193e-01 2.43602045e-01 4.75023988e-01 4.38483681e-01 4.50663784e-01 3.89763272e-01 4.26303579e-01 3.16682659e-01 3.77583170e-01 3.89763272e-01 4.38483681e-01 3.65403068e-01 4.01943375e-01 4.01943375e-01 3.65403068e-01 4.62843886e-01 3.65403068e-01 4.38483681e-01 3.65403068e-01 3.89763272e-01 4.75023988e-01 4.38483681e-01 4.01943375e-01 4.26303579e-01 3.41042863e-01 4.14123477e-01 3.28862761e-01 4.38483681e-01 3.65403068e-01 3.65403068e-01 5.11564295e-01 3.65403068e-01 4.62843886e-01 2.31421943e-01 5.35924499e-01 3.77583170e-01 3.65403068e-01 3.89763272e-01 5.11564295e-01 4.38483681e-01 4.26303579e-01 5.23744397e-01 4.01943375e-01 3.65403068e-01 3.89763272e-01 4.26303579e-01 3.41042863e-01 5.35924499e-01 4.50663784e-01 5.84644908e-01 3.53222965e-01 5.84644908e-01 3.16682659e-01 5.48104602e-01 3.89763272e-01 4.87204090e-01 4.87204090e-01 3.65403068e-01 4.87204090e-01 4.38483681e-01 5.84644908e-01 3.41042863e-01 3.53222965e-01 4.14123477e-01 4.26303579e-01 4.75023988e-01 5.84644908e-01 5.35924499e-01 4.38483681e-01 2.55782147e-01 5.11564295e-01 4.99384193e-01 3.28862761e-01 5.11564295e-01 4.99384193e-01 4.14123477e-01 5.72464806e-01 4.14123477e-01 4.38483681e-01 5.48104602e-01 4.62843886e-01 4.99384193e-01 4.26303579e-01 3.04502556e-01 3.89763272e-01 4.14123477e-01 4.62843886e-01 4.01943375e-01 3.65403068e-01 4.62843886e-01 5.48104602e-01 3.77583170e-01 5.11564295e-01 3.77583170e-01 4.75023988e-01 5.48104602e-01 4.38483681e-01 4.38483681e-01 6.09005113e-01 4.26303579e-01 3.77583170e-01 4.87204090e-01 4.75023988e-01 4.87204090e-01 4.38483681e-01 4.14123477e-01 5.11564295e-01 4.62843886e-01 6.09005113e-01 4.38483681e-01 4.38483681e-01 4.99384193e-01 3.77583170e-01 4.14123477e-01 5.72464806e-01 5.72464806e-01 5.23744397e-01 4.87204090e-01 4.38483681e-01 4.62843886e-01 4.75023988e-01 3.89763272e-01 5.11564295e-01 4.50663784e-01 4.50663784e-01 5.48104602e-01 4.62843886e-01 5.23744397e-01 4.75023988e-01 5.11564295e-01 3.53222965e-01 5.48104602e-01 4.01943375e-01 5.23744397e-01 4.01943375e-01 5.11564295e-01 5.96825011e-01 5.35924499e-01 4.38483681e-01 5.11564295e-01 5.72464806e-01 4.50663784e-01 4.50663784e-01 5.48104602e-01 4.62843886e-01 6.09005113e-01 6.33365317e-01 6.45545420e-01 4.62843886e-01 4.99384193e-01 4.50663784e-01 4.01943375e-01 4.50663784e-01 5.23744397e-01 5.48104602e-01 4.01943375e-01 7.18626033e-01 4.75023988e-01 5.23744397e-01 6.21185215e-01 3.77583170e-01 6.45545420e-01 4.75023988e-01 6.69905624e-01 4.99384193e-01 7.18626033e-01 5.84644908e-01 4.50663784e-01 6.45545420e-01 3.77583170e-01 3.77583170e-01 5.11564295e-01 5.60284704e-01 5.11564295e-01 5.35924499e-01 5.23744397e-01 5.48104602e-01 5.11564295e-01 5.72464806e-01 5.84644908e-01 5.72464806e-01 6.57725522e-01 5.60284704e-01 5.48104602e-01 4.38483681e-01 4.38483681e-01 4.62843886e-01 4.75023988e-01 5.84644908e-01 5.23744397e-01 4.75023988e-01 4.01943375e-01 6.21185215e-01 5.11564295e-01 5.72464806e-01 4.87204090e-01 6.33365317e-01 5.23744397e-01 4.01943375e-01 6.33365317e-01 7.06445931e-01 5.11564295e-01 5.96825011e-01 5.48104602e-01 4.87204090e-01 6.09005113e-01 5.72464806e-01 6.45545420e-01 5.72464806e-01 6.09005113e-01 5.96825011e-01 5.23744397e-01 7.42986238e-01 4.99384193e-01 6.09005113e-01 5.35924499e-01 4.62843886e-01 6.57725522e-01 7.06445931e-01 6.33365317e-01 7.06445931e-01 6.45545420e-01 6.69905624e-01 5.35924499e-01 5.96825011e-01 5.84644908e-01 7.06445931e-01 6.94265829e-01 5.96825011e-01 4.99384193e-01 5.48104602e-01 6.09005113e-01 7.42986238e-01 5.96825011e-01 6.82085726e-01 4.99384193e-01 6.82085726e-01 7.30806135e-01 6.69905624e-01 5.72464806e-01 6.33365317e-01 5.96825011e-01 6.09005113e-01 5.72464806e-01 6.82085726e-01 6.57725522e-01 7.18626033e-01 7.06445931e-01 6.45545420e-01 6.21185215e-01 6.09005113e-01 5.72464806e-01 6.09005113e-01 7.67346442e-01 6.94265829e-01 7.06445931e-01 5.72464806e-01 6.21185215e-01 6.57725522e-01 6.09005113e-01 7.91706647e-01 5.48104602e-01 6.94265829e-01 6.33365317e-01 6.09005113e-01 6.82085726e-01 6.33365317e-01 5.84644908e-01 7.91706647e-01 5.60284704e-01 7.18626033e-01 6.82085726e-01 5.60284704e-01 6.82085726e-01 6.69905624e-01 7.67346442e-01 6.57725522e-01 8.28246954e-01 8.40427056e-01 4.99384193e-01 6.33365317e-01 7.67346442e-01 9.25687772e-01 6.57725522e-01 9.01327567e-01 5.35924499e-01 5.96825011e-01 8.28246954e-01 5.84644908e-01 7.30806135e-01 8.28246954e-01 5.96825011e-01 7.91706647e-01 6.33365317e-01 7.55166340e-01 8.16066851e-01 5.23744397e-01 6.09005113e-01 7.42986238e-01 8.64787260e-01 8.76967363e-01 7.30806135e-01 7.55166340e-01 9.13507669e-01 7.91706647e-01 7.06445931e-01 7.91706647e-01 6.09005113e-01 7.30806135e-01 7.91706647e-01 8.89147465e-01 8.40427056e-01 8.76967363e-01 6.94265829e-01 7.18626033e-01 7.91706647e-01 8.16066851e-01 8.76967363e-01 8.40427056e-01 1.04748879e+00 7.18626033e-01 9.74408181e-01 8.03886749e-01 8.52607158e-01 7.91706647e-01 8.16066851e-01 8.40427056e-01 7.91706647e-01 7.42986238e-01 5.60284704e-01 8.16066851e-01 8.89147465e-01 8.16066851e-01 7.79526545e-01 4.87204090e-01 7.79526545e-01 7.79526545e-01 1.01094849e+00 9.50047976e-01 9.98768385e-01 5.72464806e-01 9.13507669e-01 7.67346442e-01 9.50047976e-01 7.91706647e-01 8.40427056e-01 8.64787260e-01 8.28246954e-01 1.05966890e+00 1.01094849e+00 8.52607158e-01 8.03886749e-01 8.64787260e-01 8.03886749e-01 8.16066851e-01 6.33365317e-01 7.55166340e-01 9.25687772e-01 7.91706647e-01 8.28246954e-01 8.03886749e-01 8.89147465e-01 9.01327567e-01 7.91706647e-01 1.05966890e+00 1.02312859e+00 1.01094849e+00 8.89147465e-01 1.03530869e+00 8.64787260e-01 1.18146992e+00 7.79526545e-01 8.16066851e-01 7.55166340e-01 8.89147465e-01 1.08402910e+00 1.05966890e+00 7.30806135e-01 9.50047976e-01 1.01094849e+00 9.86588283e-01 8.40427056e-01 1.03530869e+00 9.01327567e-01 9.25687772e-01 8.28246954e-01 9.74408181e-01 7.55166340e-01 1.07184900e+00 1.09620920e+00 8.89147465e-01 1.16928982e+00 1.08402910e+00 1.07184900e+00 9.98768385e-01 1.14492961e+00 8.52607158e-01 9.74408181e-01 9.01327567e-01 9.50047976e-01 9.62228078e-01 1.09620920e+00 1.04748879e+00 1.14492961e+00 1.09620920e+00 1.09620920e+00 9.74408181e-01 1.14492961e+00 8.89147465e-01 8.52607158e-01 9.98768385e-01 1.02312859e+00 1.03530869e+00 9.25687772e-01 1.18146992e+00 1.20583012e+00 9.25687772e-01 1.12056941e+00 1.21801023e+00 1.19365002e+00 1.05966890e+00 1.40071176e+00 1.08402910e+00 1.07184900e+00 1.13274951e+00 9.25687772e-01 1.49815258e+00 1.21801023e+00 1.27891074e+00 1.24237043e+00 9.98768385e-01 1.08402910e+00 1.07184900e+00 1.08402910e+00 1.21801023e+00 1.16928982e+00 1.32763115e+00 1.36417145e+00 1.25455053e+00 1.21801023e+00 1.40071176e+00 1.18146992e+00 1.27891074e+00 1.38853166e+00 1.20583012e+00 1.38853166e+00 1.20583012e+00 1.18146992e+00 1.37635156e+00 1.46161227e+00 1.20583012e+00 1.30327094e+00 1.44943217e+00 1.35199135e+00 1.12056941e+00 1.43725207e+00 1.47379237e+00 1.35199135e+00 1.24237043e+00 1.38853166e+00 1.27891074e+00 1.29109084e+00 1.19365002e+00 1.52251278e+00 1.58341329e+00 1.51033268e+00 1.48597248e+00 1.03530869e+00 1.30327094e+00 1.27891074e+00 1.27891074e+00 1.46161227e+00 1.47379237e+00 1.46161227e+00 1.35199135e+00 1.42507196e+00 1.76611483e+00 1.54687299e+00 1.43725207e+00 1.57123319e+00 1.38853166e+00 1.24237043e+00 1.52251278e+00 1.47379237e+00 1.52251278e+00 1.51033268e+00 1.43725207e+00 1.54687299e+00 1.57123319e+00 1.51033268e+00 1.35199135e+00 1.35199135e+00 1.69303421e+00 1.43725207e+00 1.55905309e+00 1.61995360e+00 1.72957452e+00 1.58341329e+00 1.61995360e+00 1.63213370e+00 1.55905309e+00 1.47379237e+00 1.38853166e+00 1.53469288e+00 1.55905309e+00 1.88791585e+00 1.71739442e+00 1.61995360e+00 1.77829493e+00 1.59559340e+00 1.90009595e+00 1.68085411e+00 1.53469288e+00 1.54687299e+00 1.57123319e+00 1.99753677e+00 1.83919544e+00 1.85137554e+00 1.82701534e+00 1.97317657e+00 1.79047503e+00 1.92445616e+00 1.79047503e+00 1.97317657e+00 2.19241841e+00 2.11933779e+00 1.88791585e+00 1.74175462e+00 1.96099646e+00 1.75393473e+00 1.74175462e+00 1.86355565e+00 1.92445616e+00 2.00971687e+00 1.93663626e+00 1.93663626e+00 1.79047503e+00 2.03407708e+00 1.69303421e+00 1.82701534e+00 1.79047503e+00 2.09497759e+00 1.71739442e+00 2.15587810e+00 2.25331892e+00 2.18023830e+00 2.16805820e+00 1.93663626e+00 1.98535667e+00 2.05843728e+00 2.00971687e+00 2.14369800e+00 2.44820055e+00 2.30203933e+00 2.03407708e+00 2.42384035e+00 2.11933779e+00 2.67962250e+00 2.58218168e+00 2.14369800e+00 2.38730004e+00 2.19241841e+00 2.47256076e+00 2.18023830e+00 2.11933779e+00 2.65526229e+00 2.30203933e+00 2.43602045e+00 2.36293984e+00 2.27767912e+00 2.77706331e+00 2.58218168e+00 2.31421943e+00 2.36293984e+00 2.61872199e+00 2.64308219e+00 2.64308219e+00 2.81360362e+00 2.87450413e+00 2.64308219e+00 2.86232403e+00 2.77706331e+00 3.30080771e+00 3.11810618e+00 2.94758475e+00 2.92322454e+00 3.00848526e+00 3.26426741e+00 3.08156587e+00 3.23990720e+00 3.23990720e+00 3.89763272e+00 3.10592608e+00 3.58095006e+00 3.03284546e+00 3.32516792e+00 3.52004955e+00 3.62967047e+00 3.75147150e+00 3.52004955e+00 3.60531027e+00 3.86109242e+00 3.44696894e+00 4.14123477e+00 3.60531027e+00 4.25085569e+00 3.83673221e+00 4.10469446e+00 4.28739599e+00 4.18995518e+00 4.61625876e+00 4.81114039e+00 4.20213528e+00 4.48227763e+00 4.26303579e+00 4.66497916e+00 4.85986080e+00 4.68933937e+00 4.71369957e+00 4.48227763e+00 4.66497916e+00 4.99384193e+00 5.15218326e+00 5.63938735e+00 5.65156745e+00 5.22526387e+00 5.26180418e+00 5.26180418e+00 5.24962407e+00 5.91952970e+00 5.80990878e+00 5.77336847e+00 5.88298939e+00 6.17531184e+00 6.80867716e+00 6.83303737e+00 6.93047818e+00 6.86957767e+00 6.75995675e+00 7.40550217e+00 7.24716084e+00 7.33242156e+00 7.77090524e+00 7.00355880e+00 6.72341645e+00 7.08881951e+00 7.33242156e+00 7.22280064e+00 7.63692412e+00 8.06322769e+00 8.27028943e+00 9.14725680e+00 9.82934252e+00 9.13507669e+00 9.13507669e+00 1.08524711e+01 9.76844201e+00 9.00109557e+00 9.54920017e+00 9.41521905e+00 8.81839403e+00 9.03763588e+00 9.00109557e+00 9.39085884e+00 8.58697209e+00 1.00120441e+01 1.04139874e+01 1.22288227e+01 1.16319977e+01 1.03409068e+01 1.36173543e+01 1.11447936e+01 1.16685380e+01 1.05236084e+01 9.00109557e+00 8.83057414e+00 8.09976800e+00 9.11071649e+00 9.18379710e+00 9.67100119e+00 1.48719049e+01 1.27282069e+01 1.17172584e+01 7.79526545e+00 8.17284862e+00 6.54071491e+00 7.02791900e+00 6.26057256e+00 5.10346285e+00 5.18872356e+00 5.07910264e+00 3.87327252e+00 4.81114039e+00 5.16436336e+00 4.84768070e+00 3.62967047e+00 4.29957610e+00 4.09251436e+00 2.54564137e+00 6.57725522e-01 3.77583170e-01 1.94881636e-01 2.07061738e-01 4.87204090e-02 4.87204090e-02 1.21801023e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - 1.35565910e-01 5.03530522e-01 7.55295783e-01 1.00706104e+00 1.10389384e+00 1.45249189e+00 1.54932468e+00 1.62679092e+00 2.26588735e+00 2.09158832e+00 2.36272014e+00 2.16905456e+00 2.20778767e+00 2.03348865e+00 1.91728930e+00 2.22715423e+00 2.20778767e+00 1.74299027e+00 1.56869124e+00 1.89792274e+00 1.47185845e+00 1.29755942e+00 1.43312533e+00 1.45249189e+00 1.25882630e+00 1.08452728e+00 1.33629254e+00 1.16199351e+00 1.23945975e+00 1.04579416e+00 7.94028900e-01 9.29594810e-01 1.00706104e+00 9.10228251e-01 1.00706104e+00 9.87694485e-01 8.71495134e-01 9.10228251e-01 1.20072663e+00 1.08452728e+00 6.19729873e-01 7.55295783e-01 1.04579416e+00 7.55295783e-01 8.71495134e-01 8.13395459e-01 8.32762017e-01 7.16562666e-01 6.77829549e-01 5.80996756e-01 7.74662341e-01 6.58462990e-01 6.19729873e-01 5.42263639e-01 5.80996756e-01 8.32762017e-01 8.71495134e-01 6.97196107e-01 8.32762017e-01 6.19729873e-01 6.58462990e-01 6.19729873e-01 5.42263639e-01 6.00363315e-01 6.19729873e-01 6.00363315e-01 7.55295783e-01 5.42263639e-01 4.84163963e-01 5.03530522e-01 6.58462990e-01 6.58462990e-01 6.58462990e-01 6.58462990e-01 8.52128576e-01 3.87331171e-01 6.97196107e-01 4.06697729e-01 4.64797405e-01 6.77829549e-01 3.87331171e-01 3.67964612e-01 5.42263639e-01 6.77829549e-01 5.03530522e-01 6.39096432e-01 5.61630198e-01 5.42263639e-01 3.48598054e-01 5.03530522e-01 3.87331171e-01 5.80996756e-01 3.48598054e-01 4.45430846e-01 4.45430846e-01 3.29231495e-01 2.32398702e-01 3.87331171e-01 4.64797405e-01 4.06697729e-01 5.22897080e-01 5.03530522e-01 4.84163963e-01 5.03530522e-01 2.90498378e-01 4.45430846e-01 3.67964612e-01 4.45430846e-01 4.06697729e-01 3.67964612e-01 4.26064288e-01 5.61630198e-01 4.26064288e-01 4.45430846e-01 4.06697729e-01 4.26064288e-01 2.90498378e-01 5.42263639e-01 3.48598054e-01 4.26064288e-01 4.06697729e-01 4.84163963e-01 4.45430846e-01 3.29231495e-01 4.64797405e-01 3.48598054e-01 4.45430846e-01 3.87331171e-01 5.03530522e-01 4.06697729e-01 4.64797405e-01 3.67964612e-01 3.67964612e-01 4.26064288e-01 5.61630198e-01 2.90498378e-01 5.03530522e-01 4.45430846e-01 3.09864937e-01 2.71131820e-01 2.32398702e-01 3.87331171e-01 3.29231495e-01 3.67964612e-01 3.48598054e-01 3.48598054e-01 3.67964612e-01 4.45430846e-01 2.13032144e-01 3.87331171e-01 3.09864937e-01 4.26064288e-01 2.71131820e-01 2.90498378e-01 4.26064288e-01 2.71131820e-01 3.87331171e-01 1.93665585e-01 3.29231495e-01 2.32398702e-01 2.51765261e-01 2.90498378e-01 4.26064288e-01 3.48598054e-01 1.54932468e-01 2.71131820e-01 1.54932468e-01 3.29231495e-01 3.09864937e-01 1.54932468e-01 2.13032144e-01 2.90498378e-01 3.67964612e-01 3.29231495e-01 3.48598054e-01 2.71131820e-01 2.32398702e-01 3.67964612e-01 3.48598054e-01 2.13032144e-01 3.67964612e-01 2.71131820e-01 2.13032144e-01 3.87331171e-01 2.71131820e-01 4.45430846e-01 3.29231495e-01 2.32398702e-01 3.48598054e-01 4.45430846e-01 2.13032144e-01 3.09864937e-01 2.51765261e-01 3.09864937e-01 2.90498378e-01 3.29231495e-01 2.90498378e-01 2.51765261e-01 3.48598054e-01 3.48598054e-01 5.03530522e-01 2.90498378e-01 5.22897080e-01 4.06697729e-01 2.90498378e-01 4.45430846e-01 2.90498378e-01 2.71131820e-01 2.51765261e-01 3.09864937e-01 1.74299027e-01 2.32398702e-01 3.29231495e-01 3.09864937e-01 4.26064288e-01 3.09864937e-01 2.90498378e-01 2.51765261e-01 2.51765261e-01 2.32398702e-01 2.71131820e-01 4.06697729e-01 2.51765261e-01 2.32398702e-01 3.87331171e-01 2.51765261e-01 2.32398702e-01 3.09864937e-01 3.87331171e-01 2.13032144e-01 2.90498378e-01 2.32398702e-01 2.71131820e-01 2.13032144e-01 4.26064288e-01 2.51765261e-01 2.32398702e-01 3.09864937e-01 2.90498378e-01 2.90498378e-01 3.29231495e-01 3.09864937e-01 3.09864937e-01 2.32398702e-01 4.06697729e-01 2.71131820e-01 3.29231495e-01 1.74299027e-01 3.29231495e-01 3.48598054e-01 2.51765261e-01 4.26064288e-01 2.32398702e-01 2.90498378e-01 3.29231495e-01 3.29231495e-01 2.71131820e-01 2.51765261e-01 3.09864937e-01 3.29231495e-01 3.29231495e-01 2.90498378e-01 1.74299027e-01 2.90498378e-01 2.71131820e-01 1.93665585e-01 3.87331171e-01 2.71131820e-01 2.71131820e-01 2.13032144e-01 2.90498378e-01 2.13032144e-01 3.09864937e-01 1.54932468e-01 3.29231495e-01 2.13032144e-01 4.64797405e-01 2.71131820e-01 2.90498378e-01 3.87331171e-01 2.51765261e-01 2.51765261e-01 3.29231495e-01 3.67964612e-01 1.35565910e-01 2.32398702e-01 3.48598054e-01 1.74299027e-01 2.51765261e-01 3.09864937e-01 3.29231495e-01 2.32398702e-01 2.90498378e-01 2.90498378e-01 3.29231495e-01 2.71131820e-01 2.13032144e-01 2.71131820e-01 2.90498378e-01 3.09864937e-01 1.93665585e-01 1.74299027e-01 4.06697729e-01 2.32398702e-01 2.90498378e-01 3.67964612e-01 3.67964612e-01 3.87331171e-01 4.45430846e-01 3.09864937e-01 2.90498378e-01 2.71131820e-01 4.84163963e-01 2.90498378e-01 1.35565910e-01 1.54932468e-01 2.13032144e-01 1.93665585e-01 2.13032144e-01 2.51765261e-01 2.90498378e-01 1.35565910e-01 2.90498378e-01 1.54932468e-01 3.48598054e-01 3.67964612e-01 4.06697729e-01 3.87331171e-01 2.51765261e-01 2.13032144e-01 3.48598054e-01 3.48598054e-01 3.09864937e-01 1.16199351e-01 2.51765261e-01 2.13032144e-01 2.51765261e-01 3.48598054e-01 1.16199351e-01 2.71131820e-01 2.90498378e-01 3.09864937e-01 2.90498378e-01 3.48598054e-01 2.51765261e-01 3.09864937e-01 3.29231495e-01 2.51765261e-01 4.06697729e-01 2.51765261e-01 1.74299027e-01 2.13032144e-01 2.71131820e-01 2.13032144e-01 1.74299027e-01 2.32398702e-01 4.26064288e-01 2.90498378e-01 2.90498378e-01 1.74299027e-01 1.74299027e-01 2.32398702e-01 1.54932468e-01 2.90498378e-01 2.32398702e-01 2.13032144e-01 1.74299027e-01 3.09864937e-01 2.13032144e-01 2.32398702e-01 2.71131820e-01 2.71131820e-01 2.71131820e-01 3.09864937e-01 3.09864937e-01 3.09864937e-01 3.09864937e-01 3.87331171e-01 2.51765261e-01 3.48598054e-01 1.93665585e-01 1.93665585e-01 2.32398702e-01 3.09864937e-01 1.74299027e-01 3.09864937e-01 2.13032144e-01 2.71131820e-01 1.74299027e-01 2.51765261e-01 2.13032144e-01 1.93665585e-01 2.51765261e-01 2.51765261e-01 2.51765261e-01 1.74299027e-01 2.51765261e-01 1.93665585e-01 1.93665585e-01 2.13032144e-01 2.90498378e-01 3.09864937e-01 2.90498378e-01 2.90498378e-01 1.93665585e-01 1.74299027e-01 3.29231495e-01 2.13032144e-01 2.13032144e-01 3.48598054e-01 1.93665585e-01 2.51765261e-01 2.90498378e-01 2.71131820e-01 1.93665585e-01 1.35565910e-01 3.29231495e-01 2.13032144e-01 2.13032144e-01 2.13032144e-01 3.09864937e-01 2.51765261e-01 1.93665585e-01 2.51765261e-01 2.51765261e-01 1.93665585e-01 2.51765261e-01 3.48598054e-01 2.51765261e-01 2.51765261e-01 2.90498378e-01 2.32398702e-01 2.32398702e-01 3.29231495e-01 1.74299027e-01 4.06697729e-01 3.29231495e-01 1.93665585e-01 3.29231495e-01 3.29231495e-01 3.67964612e-01 2.90498378e-01 1.35565910e-01 1.93665585e-01 4.26064288e-01 2.32398702e-01 4.26064288e-01 1.93665585e-01 2.71131820e-01 1.93665585e-01 2.71131820e-01 2.51765261e-01 2.71131820e-01 3.09864937e-01 3.09864937e-01 4.06697729e-01 2.90498378e-01 3.09864937e-01 3.29231495e-01 1.74299027e-01 2.13032144e-01 2.13032144e-01 2.32398702e-01 3.29231495e-01 2.32398702e-01 3.48598054e-01 2.13032144e-01 3.29231495e-01 2.90498378e-01 3.67964612e-01 4.26064288e-01 3.29231495e-01 2.51765261e-01 2.32398702e-01 4.06697729e-01 2.90498378e-01 1.54932468e-01 3.67964612e-01 1.93665585e-01 2.90498378e-01 3.48598054e-01 1.93665585e-01 3.67964612e-01 2.51765261e-01 1.16199351e-01 1.93665585e-01 2.32398702e-01 2.51765261e-01 2.71131820e-01 1.35565910e-01 2.71131820e-01 1.74299027e-01 2.32398702e-01 4.84163963e-01 1.74299027e-01 2.90498378e-01 2.32398702e-01 2.71131820e-01 3.29231495e-01 2.32398702e-01 1.74299027e-01 1.93665585e-01 3.87331171e-01 3.29231495e-01 2.51765261e-01 3.09864937e-01 2.71131820e-01 2.71131820e-01 1.54932468e-01 2.51765261e-01 2.90498378e-01 2.32398702e-01 3.09864937e-01 3.87331171e-01 2.71131820e-01 3.29231495e-01 3.09864937e-01 2.51765261e-01 2.90498378e-01 4.26064288e-01 2.90498378e-01 1.35565910e-01 2.71131820e-01 2.51765261e-01 3.67964612e-01 2.90498378e-01 3.48598054e-01 3.48598054e-01 1.93665585e-01 3.87331171e-01 2.90498378e-01 3.29231495e-01 3.67964612e-01 3.09864937e-01 2.90498378e-01 1.93665585e-01 3.87331171e-01 3.48598054e-01 3.09864937e-01 3.87331171e-01 2.32398702e-01 2.51765261e-01 3.09864937e-01 1.74299027e-01 3.09864937e-01 4.06697729e-01 3.48598054e-01 3.87331171e-01 2.13032144e-01 4.84163963e-01 3.29231495e-01 3.09864937e-01 2.32398702e-01 3.09864937e-01 4.06697729e-01 3.48598054e-01 4.45430846e-01 3.09864937e-01 2.13032144e-01 2.90498378e-01 1.74299027e-01 3.48598054e-01 3.48598054e-01 3.29231495e-01 2.90498378e-01 3.67964612e-01 3.67964612e-01 3.48598054e-01 3.87331171e-01 4.06697729e-01 3.67964612e-01 3.67964612e-01 2.90498378e-01 2.13032144e-01 2.71131820e-01 1.74299027e-01 3.67964612e-01 3.87331171e-01 3.87331171e-01 3.29231495e-01 3.09864937e-01 3.67964612e-01 2.90498378e-01 3.87331171e-01 2.32398702e-01 4.06697729e-01 4.84163963e-01 3.67964612e-01 6.19729873e-01 4.26064288e-01 2.51765261e-01 5.03530522e-01 3.09864937e-01 3.67964612e-01 4.06697729e-01 3.09864937e-01 3.48598054e-01 2.90498378e-01 2.32398702e-01 3.48598054e-01 3.48598054e-01 2.71131820e-01 4.26064288e-01 3.09864937e-01 2.71131820e-01 4.06697729e-01 3.67964612e-01 3.48598054e-01 3.87331171e-01 5.61630198e-01 3.87331171e-01 3.48598054e-01 3.29231495e-01 4.45430846e-01 4.64797405e-01 3.09864937e-01 2.90498378e-01 3.67964612e-01 4.45430846e-01 4.84163963e-01 3.48598054e-01 3.09864937e-01 3.48598054e-01 2.13032144e-01 3.48598054e-01 4.06697729e-01 4.06697729e-01 3.09864937e-01 5.22897080e-01 2.71131820e-01 2.90498378e-01 4.45430846e-01 3.67964612e-01 4.26064288e-01 6.39096432e-01 4.26064288e-01 4.64797405e-01 4.84163963e-01 3.29231495e-01 3.48598054e-01 4.64797405e-01 4.64797405e-01 5.03530522e-01 3.87331171e-01 5.42263639e-01 4.84163963e-01 4.06697729e-01 6.00363315e-01 4.06697729e-01 4.45430846e-01 3.09864937e-01 3.87331171e-01 2.51765261e-01 3.48598054e-01 3.87331171e-01 2.90498378e-01 6.00363315e-01 4.64797405e-01 5.03530522e-01 6.39096432e-01 4.26064288e-01 3.87331171e-01 3.67964612e-01 3.87331171e-01 3.48598054e-01 5.80996756e-01 5.42263639e-01 4.45430846e-01 3.48598054e-01 4.06697729e-01 7.16562666e-01 7.16562666e-01 3.29231495e-01 4.64797405e-01 4.84163963e-01 5.22897080e-01 5.42263639e-01 4.45430846e-01 4.64797405e-01 2.13032144e-01 4.26064288e-01 3.48598054e-01 4.45430846e-01 4.64797405e-01 5.42263639e-01 4.64797405e-01 3.87331171e-01 4.06697729e-01 6.39096432e-01 4.84163963e-01 6.19729873e-01 6.00363315e-01 3.87331171e-01 6.00363315e-01 6.00363315e-01 6.19729873e-01 4.64797405e-01 4.64797405e-01 7.16562666e-01 4.45430846e-01 8.52128576e-01 6.00363315e-01 5.80996756e-01 5.22897080e-01 6.77829549e-01 8.90861693e-01 4.84163963e-01 8.71495134e-01 6.58462990e-01 5.22897080e-01 4.84163963e-01 7.55295783e-01 7.55295783e-01 7.16562666e-01 8.32762017e-01 7.74662341e-01 7.35929224e-01 8.13395459e-01 6.39096432e-01 7.55295783e-01 7.55295783e-01 6.97196107e-01 7.94028900e-01 6.39096432e-01 9.10228251e-01 1.00706104e+00 9.29594810e-01 7.35929224e-01 7.35929224e-01 8.71495134e-01 9.48961368e-01 8.13395459e-01 7.35929224e-01 8.32762017e-01 1.08452728e+00 6.77829549e-01 1.02642760e+00 9.87694485e-01 1.06516072e+00 1.02642760e+00 1.10389384e+00 1.14262695e+00 1.16199351e+00 1.22009319e+00 1.29755942e+00 1.04579416e+00 1.16199351e+00 1.22009319e+00 9.87694485e-01 1.60742436e+00 1.23945975e+00 1.25882630e+00 1.12326040e+00 1.14262695e+00 1.25882630e+00 1.23945975e+00 1.41375877e+00 1.49122501e+00 1.22009319e+00 1.70425715e+00 1.54932468e+00 1.85918962e+00 1.47185845e+00 1.39439221e+00 1.58805780e+00 1.80108994e+00 1.76235683e+00 1.68489059e+00 1.74299027e+00 1.85918962e+00 1.80108994e+00 1.72362371e+00 2.03348865e+00 1.78172339e+00 1.99475553e+00 2.09158832e+00 1.95602241e+00 2.11095488e+00 2.07222176e+00 2.26588735e+00 2.09158832e+00 1.93665585e+00 2.59511884e+00 2.42081982e+00 2.22715423e+00 2.45955293e+00 2.78878443e+00 2.44018638e+00 2.51765261e+00 2.61448540e+00 1.99475553e+00 2.63385196e+00 2.49828605e+00 2.63385196e+00 2.75005131e+00 2.82751755e+00 3.19548216e+00 3.42788086e+00 3.31168151e+00 3.42788086e+00 3.17611560e+00 3.56344677e+00 3.19548216e+00 3.17611560e+00 3.66027956e+00 3.79584547e+00 4.04761073e+00 3.67964612e+00 3.67964612e+00 3.97014450e+00 4.20254320e+00 3.64091300e+00 3.69901268e+00 3.73774580e+00 4.00887762e+00 3.64091300e+00 4.78353996e+00 4.18317664e+00 4.14444353e+00 4.60924093e+00 4.41557535e+00 4.49304158e+00 4.76417340e+00 4.08634385e+00 4.97720554e+00 4.31874255e+00 4.45430846e+00 3.87331171e+00 3.85394515e+00 4.49304158e+00 4.04761073e+00 4.55114126e+00 4.20254320e+00 4.08634385e+00 4.24127632e+00 4.35747567e+00 4.06697729e+00 3.81521203e+00 4.16381009e+00 4.16381009e+00 3.56344677e+00 3.42788086e+00 3.50534709e+00 3.13738248e+00 3.31168151e+00 3.13738248e+00 3.50534709e+00 3.04054969e+00 2.88561722e+00 2.55638573e+00 3.02118313e+00 2.63385196e+00 2.76941787e+00 2.78878443e+00 2.67258508e+00 2.63385196e+00 2.45955293e+00 2.38208670e+00 1.97538897e+00 2.07222176e+00 2.20778767e+00 1.51059157e+00 2.09158832e+00 1.64615748e+00 1.62679092e+00 1.45249189e+00 1.47185845e+00 1.43312533e+00 1.45249189e+00 1.47185845e+00 1.06516072e+00 1.14262695e+00 1.02642760e+00 1.08452728e+00 1.10389384e+00 1.02642760e+00 9.10228251e-01 7.74662341e-01 8.32762017e-01 7.94028900e-01 5.03530522e-01 7.55295783e-01 6.77829549e-01 4.26064288e-01 4.26064288e-01 5.22897080e-01 5.80996756e-01 4.06697729e-01 2.90498378e-01 2.13032144e-01 4.45430846e-01 4.06697729e-01 5.42263639e-01 2.13032144e-01 4.45430846e-01 4.06697729e-01 3.29231495e-01 1.35565910e-01 1.74299027e-01 2.51765261e-01 2.32398702e-01 2.13032144e-01 2.32398702e-01 2.51765261e-01 1.93665585e-01 1.93665585e-01 1.35565910e-01 1.74299027e-01 1.54932468e-01 1.16199351e-01 1.74299027e-01 9.68327927e-02 9.68327927e-02 7.74662341e-02 1.93665585e-02 5.80996756e-02 9.68327927e-02 5.80996756e-02 7.74662341e-02 9.68327927e-02 9.68327927e-02 3.87331171e-02 7.74662341e-02 5.80996756e-02 5.80996756e-02 1.35565910e-01 7.74662341e-02 9.68327927e-02 3.87331171e-02 3.87331171e-02 3.87331171e-02 9.68327927e-02 9.68327927e-02 9.68327927e-02 3.87331171e-02 1.93665585e-02 1.93665585e-02 9.68327927e-02 3.87331171e-02 1.93665585e-02 5.80996756e-02 7.74662341e-02 5.80996756e-02 3.87331171e-02 3.87331171e-02 7.74662341e-02 7.74662341e-02 7.74662341e-02 1.93665585e-02 0.00000000e+00 5.80996756e-02 0.00000000e+00 1.93665585e-02 1.93665585e-02 1.93665585e-02 1.93665585e-02 3.87331171e-02 1.93665585e-02 1.93665585e-02 0.00000000e+00 0.00000000e+00 3.87331171e-02 0.00000000e+00 1.93665585e-02 0.00000000e+00 1.93665585e-02 0.00000000e+00 5.80996756e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.93665585e-02 3.87331171e-02 5.80996756e-02 0.00000000e+00 0.00000000e+00 1.93665585e-02 1.93665585e-02 0.00000000e+00 0.00000000e+00 1.93665585e-02 0.00000000e+00 1.93665585e-02 1.93665585e-02 0.00000000e+00 1.93665585e-02 0.00000000e+00 0.00000000e+00 1.93665585e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.93665585e-02 1.93665585e-02 0.00000000e+00 0.00000000e+00 1.93665585e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.93665585e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.93665585e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.93665585e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.93665585e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 7.61424519e-01 3.51426701e+00 7.37996073e+00 9.66423429e+00 1.38813547e+01 1.54627749e+01 1.95627530e+01 1.76884773e+01 1.71613372e+01 1.85670441e+01 1.75127639e+01 1.61656283e+01 1.80984751e+01 1.71613372e+01 1.77470484e+01 1.66927683e+01 1.46427792e+01 1.39399258e+01 1.30027879e+01 1.21242212e+01 1.15385100e+01 1.18899367e+01 1.17142234e+01 1.07185144e+01 1.01913743e+01 1.03085166e+01 9.83994764e+00 8.84423865e+00 7.96567190e+00 7.67281631e+00 8.60995418e+00 6.91139179e+00 8.25852748e+00 7.43853184e+00 7.43853184e+00 7.78995855e+00 5.73996945e+00 6.03282504e+00 6.50139397e+00 7.26281849e+00 5.09568717e+00 6.32568062e+00 5.21282940e+00 4.62711823e+00 4.86140270e+00 5.27140052e+00 5.03711605e+00 5.44711387e+00 4.91997382e+00 4.86140270e+00 4.80283158e+00 4.50997600e+00 5.44711387e+00 4.97854493e+00 5.97425392e+00 4.50997600e+00 3.51426701e+00 4.15854930e+00 4.33426265e+00 3.86569371e+00 4.45140488e+00 5.56425610e+00 4.74426047e+00 4.45140488e+00 4.50997600e+00 3.80712260e+00 4.09997818e+00 4.39283377e+00 3.86569371e+00 3.51426701e+00 2.57712914e+00 3.86569371e+00 3.68998036e+00 4.09997818e+00 3.86569371e+00 3.27998255e+00 3.57283813e+00 2.98712696e+00 3.80712260e+00 4.04140706e+00 2.98712696e+00 2.98712696e+00 3.22141143e+00 2.98712696e+00 2.86998473e+00 3.27998255e+00 3.92426483e+00 2.81141361e+00 3.45569590e+00 3.63140925e+00 2.98712696e+00 3.22141143e+00 2.45998691e+00 1.93284686e+00 2.63570026e+00 2.75284249e+00 3.45569590e+00 2.63570026e+00 2.63570026e+00 2.75284249e+00 1.93284686e+00 3.45569590e+00 2.34284468e+00 3.22141143e+00 2.51855803e+00 2.16713132e+00 2.28427356e+00 3.16284031e+00 2.28427356e+00 2.75284249e+00 2.51855803e+00 2.86998473e+00 1.93284686e+00 2.69427138e+00 2.45998691e+00 2.92855584e+00 2.69427138e+00 2.28427356e+00 2.40141579e+00 3.10426919e+00 3.04569808e+00 2.04998909e+00 2.40141579e+00 3.10426919e+00 1.87427574e+00 2.86998473e+00 2.40141579e+00 2.34284468e+00 1.99141797e+00 2.51855803e+00 3.22141143e+00 2.69427138e+00 1.75713351e+00 3.10426919e+00 2.34284468e+00 2.86998473e+00 2.16713132e+00 2.16713132e+00 1.58142016e+00 1.75713351e+00 1.93284686e+00 1.81570462e+00 1.40570681e+00 2.45998691e+00 1.69856239e+00 1.93284686e+00 1.63999127e+00 1.87427574e+00 2.22570244e+00 2.51855803e+00 1.52284904e+00 2.16713132e+00 1.93284686e+00 2.04998909e+00 2.28427356e+00 2.04998909e+00 2.04998909e+00 1.75713351e+00 1.99141797e+00 1.63999127e+00 1.81570462e+00 1.75713351e+00 1.81570462e+00 1.63999127e+00 2.40141579e+00 1.58142016e+00 1.93284686e+00 1.75713351e+00 2.51855803e+00 2.10856021e+00 1.58142016e+00 1.58142016e+00 2.10856021e+00 1.81570462e+00 1.22999345e+00 2.51855803e+00 1.17142234e+00 1.46427792e+00 1.69856239e+00 1.40570681e+00 1.93284686e+00 1.69856239e+00 1.87427574e+00 1.69856239e+00 1.58142016e+00 1.93284686e+00 1.40570681e+00 1.46427792e+00 2.16713132e+00 1.58142016e+00 1.58142016e+00 1.40570681e+00 1.40570681e+00 1.17142234e+00 1.34713569e+00 1.17142234e+00 1.81570462e+00 1.34713569e+00 1.69856239e+00 8.78566753e-01 1.40570681e+00 1.22999345e+00 1.81570462e+00 1.52284904e+00 1.46427792e+00 1.46427792e+00 1.63999127e+00 1.40570681e+00 1.28856457e+00 1.58142016e+00 1.52284904e+00 1.58142016e+00 1.58142016e+00 7.61424519e-01 1.93284686e+00 1.87427574e+00 1.75713351e+00 1.40570681e+00 1.17142234e+00 1.75713351e+00 8.19995636e-01 1.63999127e+00 1.87427574e+00 1.40570681e+00 6.44282286e-01 1.34713569e+00 1.46427792e+00 5.85711169e-01 1.40570681e+00 1.46427792e+00 1.34713569e+00 1.28856457e+00 1.17142234e+00 1.46427792e+00 1.11285122e+00 1.11285122e+00 1.05428010e+00 1.28856457e+00 1.93284686e+00 1.22999345e+00 8.19995636e-01 1.05428010e+00 8.78566753e-01 1.40570681e+00 1.46427792e+00 1.11285122e+00 1.34713569e+00 1.22999345e+00 9.95708987e-01 1.05428010e+00 1.17142234e+00 1.17142234e+00 7.61424519e-01 1.17142234e+00 9.95708987e-01 5.85711169e-01 1.11285122e+00 1.11285122e+00 8.19995636e-01 7.02853403e-01 6.44282286e-01 1.05428010e+00 1.46427792e+00 7.61424519e-01 1.22999345e+00 1.17142234e+00 1.17142234e+00 1.11285122e+00 1.11285122e+00 1.11285122e+00 1.11285122e+00 8.78566753e-01 1.34713569e+00 9.37137870e-01 1.22999345e+00 7.02853403e-01 9.95708987e-01 7.61424519e-01 1.34713569e+00 8.19995636e-01 9.95708987e-01 1.11285122e+00 1.11285122e+00 1.11285122e+00 1.28856457e+00 1.40570681e+00 1.28856457e+00 1.11285122e+00 9.37137870e-01 8.78566753e-01 1.17142234e+00 1.28856457e+00 7.02853403e-01 9.37137870e-01 7.61424519e-01 7.02853403e-01 1.28856457e+00 9.37137870e-01 8.19995636e-01 8.19995636e-01 6.44282286e-01 1.17142234e+00 7.61424519e-01 7.61424519e-01 1.05428010e+00 1.34713569e+00 5.85711169e-01 1.40570681e+00 8.19995636e-01 1.11285122e+00 1.11285122e+00 1.22999345e+00 8.19995636e-01 1.34713569e+00 7.02853403e-01 8.78566753e-01 1.11285122e+00 9.95708987e-01 5.85711169e-01 1.28856457e+00 1.17142234e+00 1.63999127e+00 5.27140052e-01 1.28856457e+00 7.61424519e-01 9.37137870e-01 8.78566753e-01 4.68568935e-01 8.19995636e-01 9.37137870e-01 6.44282286e-01 1.11285122e+00 9.95708987e-01 7.61424519e-01 1.34713569e+00 1.11285122e+00 8.19995636e-01 6.44282286e-01 7.61424519e-01 1.11285122e+00 9.95708987e-01 1.11285122e+00 1.28856457e+00 9.95708987e-01 9.95708987e-01 9.95708987e-01 1.22999345e+00 9.95708987e-01 7.02853403e-01 1.22999345e+00 1.34713569e+00 7.61424519e-01 8.78566753e-01 8.19995636e-01 8.19995636e-01 9.95708987e-01 6.44282286e-01 1.22999345e+00 8.78566753e-01 1.17142234e+00 9.37137870e-01 8.78566753e-01 7.02853403e-01 7.61424519e-01 7.02853403e-01 7.61424519e-01 7.02853403e-01 8.78566753e-01 9.95708987e-01 6.44282286e-01 6.44282286e-01 7.61424519e-01 9.95708987e-01 8.78566753e-01 8.78566753e-01 1.22999345e+00 7.02853403e-01 7.61424519e-01 7.02853403e-01 9.37137870e-01 9.95708987e-01 9.95708987e-01 4.68568935e-01 7.02853403e-01 4.68568935e-01 4.68568935e-01 9.95708987e-01 7.61424519e-01 5.85711169e-01 1.22999345e+00 7.61424519e-01 9.37137870e-01 9.37137870e-01 6.44282286e-01 8.19995636e-01 8.19995636e-01 7.61424519e-01 1.28856457e+00 1.05428010e+00 9.37137870e-01 8.19995636e-01 4.09997818e-01 7.61424519e-01 5.85711169e-01 4.68568935e-01 6.44282286e-01 7.02853403e-01 7.02853403e-01 8.19995636e-01 1.17142234e+00 8.78566753e-01 4.68568935e-01 5.85711169e-01 5.27140052e-01 7.02853403e-01 9.95708987e-01 7.02853403e-01 4.68568935e-01 8.19995636e-01 7.02853403e-01 7.02853403e-01 5.85711169e-01 9.37137870e-01 6.44282286e-01 9.37137870e-01 6.44282286e-01 1.17142234e+00 5.85711169e-01 5.85711169e-01 9.37137870e-01 5.27140052e-01 8.78566753e-01 7.02853403e-01 2.92855584e-01 2.34284468e-01 5.85711169e-01 8.19995636e-01 4.68568935e-01 8.78566753e-01 5.27140052e-01 9.95708987e-01 9.95708987e-01 9.37137870e-01 4.09997818e-01 7.02853403e-01 7.02853403e-01 1.11285122e+00 6.44282286e-01 4.09997818e-01 6.44282286e-01 4.68568935e-01 7.02853403e-01 3.51426701e-01 5.27140052e-01 9.95708987e-01 8.78566753e-01 6.44282286e-01 4.68568935e-01 7.02853403e-01 4.09997818e-01 6.44282286e-01 6.44282286e-01 8.78566753e-01 7.02853403e-01 8.19995636e-01 6.44282286e-01 4.68568935e-01 8.19995636e-01 8.19995636e-01 9.37137870e-01 2.92855584e-01 2.34284468e-01 2.92855584e-01 4.68568935e-01 5.85711169e-01 5.85711169e-01 6.44282286e-01 7.61424519e-01 6.44282286e-01 4.09997818e-01 9.95708987e-01 8.78566753e-01 4.09997818e-01 2.92855584e-01 8.78566753e-01 6.44282286e-01 5.85711169e-01 8.19995636e-01 8.19995636e-01 7.02853403e-01 6.44282286e-01 4.09997818e-01 9.37137870e-01 7.61424519e-01 5.27140052e-01 5.85711169e-01 7.61424519e-01 4.68568935e-01 5.27140052e-01 5.27140052e-01 6.44282286e-01 6.44282286e-01 5.85711169e-01 8.78566753e-01 6.44282286e-01 7.02853403e-01 6.44282286e-01 5.85711169e-01 6.44282286e-01 5.85711169e-01 8.78566753e-01 6.44282286e-01 6.44282286e-01 4.68568935e-01 6.44282286e-01 5.85711169e-01 4.68568935e-01 4.09997818e-01 4.09997818e-01 4.09997818e-01 6.44282286e-01 2.34284468e-01 2.92855584e-01 3.51426701e-01 7.61424519e-01 9.37137870e-01 2.92855584e-01 3.51426701e-01 5.85711169e-01 4.09997818e-01 5.85711169e-01 5.27140052e-01 5.85711169e-01 4.68568935e-01 4.09997818e-01 4.09997818e-01 2.34284468e-01 4.68568935e-01 4.09997818e-01 9.37137870e-01 5.85711169e-01 7.02853403e-01 5.27140052e-01 3.51426701e-01 4.09997818e-01 5.27140052e-01 3.51426701e-01 5.85711169e-01 5.27140052e-01 7.61424519e-01 8.19995636e-01 6.44282286e-01 5.27140052e-01 7.61424519e-01 4.09997818e-01 2.34284468e-01 7.61424519e-01 3.51426701e-01 2.92855584e-01 2.92855584e-01 6.44282286e-01 7.61424519e-01 6.44282286e-01 4.09997818e-01 8.19995636e-01 4.09997818e-01 5.27140052e-01 7.02853403e-01 1.17142234e-01 4.09997818e-01 4.09997818e-01 5.27140052e-01 4.68568935e-01 4.68568935e-01 5.85711169e-01 9.37137870e-01 5.85711169e-01 4.09997818e-01 5.85711169e-01 5.85711169e-01 1.75713351e-01 3.51426701e-01 1.75713351e-01 5.27140052e-01 7.02853403e-01 7.61424519e-01 6.44282286e-01 2.34284468e-01 5.85711169e-01 4.68568935e-01 7.61424519e-01 5.27140052e-01 1.75713351e-01 5.85711169e-01 2.34284468e-01 2.34284468e-01 2.92855584e-01 7.61424519e-01 4.09997818e-01 5.85711169e-01 6.44282286e-01 4.68568935e-01 3.51426701e-01 4.68568935e-01 4.68568935e-01 7.02853403e-01 5.27140052e-01 3.51426701e-01 2.92855584e-01 5.85711169e-01 5.85711169e-01 3.51426701e-01 8.78566753e-01 6.44282286e-01 5.27140052e-01 1.75713351e-01 4.09997818e-01 4.68568935e-01 9.37137870e-01 2.34284468e-01 4.09997818e-01 3.51426701e-01 7.02853403e-01 8.19995636e-01 5.85711169e-01 9.37137870e-01 7.61424519e-01 6.44282286e-01 2.34284468e-01 6.44282286e-01 5.27140052e-01 3.51426701e-01 8.78566753e-01 2.92855584e-01 2.92855584e-01 4.09997818e-01 3.51426701e-01 2.34284468e-01 5.85711169e-01 3.51426701e-01 5.27140052e-01 8.19995636e-01 4.68568935e-01 3.51426701e-01 5.85711169e-01 4.09997818e-01 6.44282286e-01 5.85711169e-01 3.51426701e-01 3.51426701e-01 5.27140052e-01 5.27140052e-01 3.51426701e-01 3.51426701e-01 5.85711169e-01 4.68568935e-01 6.44282286e-01 5.27140052e-01 7.02853403e-01 8.78566753e-01 3.51426701e-01 1.17142234e-01 5.27140052e-01 4.68568935e-01 4.09997818e-01 6.44282286e-01 4.09997818e-01 5.85711169e-01 2.92855584e-01 3.51426701e-01 7.02853403e-01 6.44282286e-01 6.44282286e-01 3.51426701e-01 2.34284468e-01 8.19995636e-01 2.92855584e-01 3.51426701e-01 4.09997818e-01 2.92855584e-01 6.44282286e-01 5.27140052e-01 5.85711169e-01 3.51426701e-01 2.92855584e-01 4.09997818e-01 5.27140052e-01 6.44282286e-01 2.92855584e-01 3.51426701e-01 1.75713351e-01 1.75713351e-01 7.02853403e-01 4.68568935e-01 4.09997818e-01 5.85711169e-01 2.34284468e-01 5.27140052e-01 4.09997818e-01 3.51426701e-01 3.51426701e-01 4.09997818e-01 5.85711169e-01 4.09997818e-01 2.92855584e-01 4.09997818e-01 3.51426701e-01 2.34284468e-01 4.09997818e-01 4.09997818e-01 4.68568935e-01 4.09997818e-01 3.51426701e-01 2.92855584e-01 3.51426701e-01 2.92855584e-01 2.92855584e-01 4.68568935e-01 2.92855584e-01 4.09997818e-01 2.92855584e-01 8.19995636e-01 2.92855584e-01 3.51426701e-01 1.75713351e-01 2.92855584e-01 4.68568935e-01 4.68568935e-01 1.17142234e-01 5.27140052e-01 3.51426701e-01 5.85711169e-01 4.09997818e-01 3.51426701e-01 4.68568935e-01 3.51426701e-01 2.92855584e-01 5.27140052e-01 4.68568935e-01 5.85711169e-01 4.09997818e-01 2.34284468e-01 3.51426701e-01 4.09997818e-01 5.27140052e-01 5.27140052e-01 2.92855584e-01 5.85711169e-01 4.09997818e-01 2.92855584e-01 2.92855584e-01 8.19995636e-01 4.68568935e-01 2.34284468e-01 4.68568935e-01 3.51426701e-01 5.85711169e-01 2.34284468e-01 5.27140052e-01 2.34284468e-01 3.51426701e-01 1.17142234e-01 2.34284468e-01 5.85711169e-01 4.09997818e-01 5.27140052e-01 1.75713351e-01 3.51426701e-01 5.85711169e-01 2.34284468e-01 4.68568935e-01 2.34284468e-01 3.51426701e-01 2.92855584e-01 2.92855584e-01 4.68568935e-01 2.92855584e-01 1.75713351e-01 4.09997818e-01 3.51426701e-01 2.34284468e-01 5.27140052e-01 1.75713351e-01 3.51426701e-01 4.68568935e-01 2.92855584e-01 3.51426701e-01 0.00000000e+00 2.92855584e-01 4.68568935e-01 2.92855584e-01 4.09997818e-01 2.92855584e-01 3.51426701e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 4.68568935e-01 2.34284468e-01 2.92855584e-01 2.92855584e-01 2.92855584e-01 6.44282286e-01 4.09997818e-01 5.27140052e-01 4.09997818e-01 1.17142234e-01 4.09997818e-01 5.27140052e-01 4.68568935e-01 2.34284468e-01 5.27140052e-01 3.51426701e-01 4.68568935e-01 4.09997818e-01 3.51426701e-01 4.68568935e-01 4.09997818e-01 2.92855584e-01 3.51426701e-01 2.34284468e-01 1.75713351e-01 3.51426701e-01 5.27140052e-01 4.68568935e-01 3.51426701e-01 2.92855584e-01 2.92855584e-01 3.51426701e-01 3.51426701e-01 1.75713351e-01 1.75713351e-01 2.92855584e-01 4.68568935e-01 2.92855584e-01 2.92855584e-01 2.34284468e-01 2.92855584e-01 3.51426701e-01 7.61424519e-01 5.27140052e-01 3.51426701e-01 4.68568935e-01 5.85711169e-01 5.27140052e-01 2.34284468e-01 2.92855584e-01 2.92855584e-01 2.34284468e-01 7.61424519e-01 5.85711169e-01 4.09997818e-01 4.09997818e-01 2.92855584e-01 2.34284468e-01 2.92855584e-01 4.68568935e-01 1.17142234e-01 1.75713351e-01 4.68568935e-01 5.27140052e-01 1.17142234e-01 2.34284468e-01 4.09997818e-01 3.51426701e-01 2.34284468e-01 3.51426701e-01 1.75713351e-01 1.75713351e-01 5.85711169e-01 1.75713351e-01 4.09997818e-01 7.61424519e-01 4.68568935e-01 3.51426701e-01 2.92855584e-01 2.34284468e-01 3.51426701e-01 2.92855584e-01 2.34284468e-01 3.51426701e-01 3.51426701e-01 1.75713351e-01 1.17142234e-01 4.68568935e-01 2.34284468e-01 4.68568935e-01 3.51426701e-01 1.17142234e-01 4.09997818e-01 1.17142234e-01 4.68568935e-01 2.34284468e-01 2.92855584e-01 3.51426701e-01 2.92855584e-01 2.34284468e-01 3.51426701e-01 3.51426701e-01 2.92855584e-01 2.92855584e-01 4.09997818e-01 5.85711169e-01 1.75713351e-01 1.75713351e-01 1.75713351e-01 1.75713351e-01 2.34284468e-01 2.92855584e-01 4.09997818e-01 2.92855584e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 2.92855584e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 2.92855584e-01 2.92855584e-01 2.34284468e-01 2.34284468e-01 2.34284468e-01 2.92855584e-01 3.51426701e-01 2.34284468e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 2.92855584e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 2.92855584e-01 1.75713351e-01 1.17142234e-01 4.68568935e-01 4.09997818e-01 3.51426701e-01 2.92855584e-01 4.68568935e-01 1.17142234e-01 1.75713351e-01 4.68568935e-01 3.51426701e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 4.09997818e-01 1.17142234e-01 5.27140052e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 2.92855584e-01 2.92855584e-01 3.51426701e-01 4.68568935e-01 4.09997818e-01 1.75713351e-01 2.34284468e-01 6.44282286e-01 1.17142234e-01 5.27140052e-01 3.51426701e-01 1.17142234e-01 5.27140052e-01 4.68568935e-01 3.51426701e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 4.09997818e-01 4.09997818e-01 1.17142234e-01 2.34284468e-01 2.92855584e-01 1.75713351e-01 2.34284468e-01 5.85711169e-02 6.44282286e-01 1.17142234e-01 5.85711169e-02 2.92855584e-01 3.51426701e-01 2.34284468e-01 3.51426701e-01 2.92855584e-01 1.75713351e-01 2.92855584e-01 2.34284468e-01 3.51426701e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 3.51426701e-01 2.92855584e-01 2.34284468e-01 5.27140052e-01 2.34284468e-01 4.09997818e-01 3.51426701e-01 5.27140052e-01 4.68568935e-01 2.92855584e-01 2.34284468e-01 3.51426701e-01 1.75713351e-01 2.34284468e-01 2.34284468e-01 4.09997818e-01 2.34284468e-01 4.09997818e-01 1.75713351e-01 2.34284468e-01 4.09997818e-01 1.75713351e-01 2.92855584e-01 4.09997818e-01 2.92855584e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 5.85711169e-01 1.17142234e-01 1.75713351e-01 2.92855584e-01 5.85711169e-02 3.51426701e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 1.75713351e-01 1.17142234e-01 3.51426701e-01 5.85711169e-01 2.92855584e-01 2.34284468e-01 2.92855584e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 3.51426701e-01 3.51426701e-01 3.51426701e-01 1.75713351e-01 2.92855584e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 2.92855584e-01 4.09997818e-01 1.75713351e-01 4.68568935e-01 3.51426701e-01 2.92855584e-01 1.17142234e-01 4.09997818e-01 4.09997818e-01 1.75713351e-01 4.68568935e-01 2.34284468e-01 1.75713351e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 1.75713351e-01 2.92855584e-01 2.92855584e-01 2.92855584e-01 2.92855584e-01 4.68568935e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 3.51426701e-01 5.27140052e-01 1.75713351e-01 2.34284468e-01 5.27140052e-01 2.34284468e-01 2.92855584e-01 2.34284468e-01 2.92855584e-01 1.75713351e-01 2.34284468e-01 2.92855584e-01 5.27140052e-01 5.85711169e-02 2.92855584e-01 2.34284468e-01 2.92855584e-01 2.92855584e-01 5.85711169e-02 1.75713351e-01 2.92855584e-01 2.92855584e-01 2.92855584e-01 1.75713351e-01 5.85711169e-02 2.34284468e-01 2.92855584e-01 2.92855584e-01 1.75713351e-01 4.09997818e-01 4.68568935e-01 3.51426701e-01 2.34284468e-01 1.75713351e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 4.09997818e-01 2.92855584e-01 2.92855584e-01 5.27140052e-01 1.17142234e-01 5.27140052e-01 1.75713351e-01 1.75713351e-01 2.34284468e-01 2.34284468e-01 1.75713351e-01 3.51426701e-01 1.75713351e-01 3.51426701e-01 2.92855584e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 3.51426701e-01 1.17142234e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 3.51426701e-01 6.44282286e-01 2.92855584e-01 5.27140052e-01 2.92855584e-01 2.34284468e-01 2.34284468e-01 2.34284468e-01 2.92855584e-01 1.75713351e-01 5.85711169e-02 4.09997818e-01 1.17142234e-01 4.68568935e-01 1.75713351e-01 1.75713351e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 2.92855584e-01 2.92855584e-01 2.34284468e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 3.51426701e-01 2.92855584e-01 4.68568935e-01 1.17142234e-01 3.51426701e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 3.51426701e-01 2.92855584e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.75713351e-01 2.92855584e-01 4.09997818e-01 4.09997818e-01 1.17142234e-01 1.75713351e-01 0.00000000e+00 2.34284468e-01 2.92855584e-01 4.09997818e-01 1.17142234e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 3.51426701e-01 2.34284468e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 2.34284468e-01 2.34284468e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 4.68568935e-01 3.51426701e-01 3.51426701e-01 2.92855584e-01 1.75713351e-01 4.68568935e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 2.92855584e-01 2.34284468e-01 2.92855584e-01 5.85711169e-02 2.92855584e-01 2.92855584e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 3.51426701e-01 2.34284468e-01 1.75713351e-01 2.92855584e-01 4.09997818e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 2.92855584e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 3.51426701e-01 2.92855584e-01 2.92855584e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 2.92855584e-01 1.75713351e-01 1.17142234e-01 2.92855584e-01 5.85711169e-02 1.75713351e-01 2.92855584e-01 3.51426701e-01 2.34284468e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 2.92855584e-01 3.51426701e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 4.09997818e-01 4.68568935e-01 2.92855584e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 0.00000000e+00 1.17142234e-01 2.92855584e-01 3.51426701e-01 3.51426701e-01 2.92855584e-01 1.17142234e-01 1.75713351e-01 3.51426701e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 2.92855584e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 2.92855584e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 2.92855584e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 4.09997818e-01 5.85711169e-02 2.92855584e-01 5.85711169e-02 3.51426701e-01 1.17142234e-01 2.92855584e-01 1.75713351e-01 5.85711169e-02 2.92855584e-01 1.17142234e-01 4.09997818e-01 1.75713351e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 2.92855584e-01 4.09997818e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.17142234e-01 2.92855584e-01 3.51426701e-01 4.09997818e-01 0.00000000e+00 2.92855584e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 2.92855584e-01 1.75713351e-01 2.34284468e-01 5.85711169e-02 2.34284468e-01 4.68568935e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 4.09997818e-01 0.00000000e+00 3.51426701e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 5.27140052e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 4.09997818e-01 2.34284468e-01 5.85711169e-02 2.34284468e-01 2.34284468e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 2.92855584e-01 2.92855584e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 3.51426701e-01 2.92855584e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 4.09997818e-01 1.75713351e-01 1.17142234e-01 0.00000000e+00 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 2.92855584e-01 2.92855584e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 2.34284468e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 0.00000000e+00 2.34284468e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.17142234e-01 5.27140052e-01 1.75713351e-01 2.92855584e-01 1.17142234e-01 0.00000000e+00 2.34284468e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 4.68568935e-01 1.75713351e-01 3.51426701e-01 2.34284468e-01 1.17142234e-01 3.51426701e-01 1.75713351e-01 5.85711169e-02 2.92855584e-01 1.75713351e-01 2.34284468e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 4.09997818e-01 2.92855584e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 4.09997818e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 2.92855584e-01 2.34284468e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 2.92855584e-01 3.51426701e-01 2.34284468e-01 2.92855584e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 5.85711169e-02 2.34284468e-01 1.75713351e-01 2.92855584e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 1.17142234e-01 2.34284468e-01 2.34284468e-01 2.34284468e-01 4.68568935e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 2.34284468e-01 5.85711169e-02 0.00000000e+00 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 0.00000000e+00 2.92855584e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 2.34284468e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 0.00000000e+00 2.92855584e-01 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 2.92855584e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 5.85711169e-02 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 2.92855584e-01 0.00000000e+00 2.92855584e-01 1.75713351e-01 2.92855584e-01 5.85711169e-02 0.00000000e+00 1.75713351e-01 5.85711169e-02 2.34284468e-01 5.85711169e-02 4.09997818e-01 2.34284468e-01 2.34284468e-01 3.51426701e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 2.92855584e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 2.92855584e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 1.75713351e-01 5.85711169e-02 2.34284468e-01 0.00000000e+00 2.34284468e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 2.92855584e-01 2.92855584e-01 1.17142234e-01 1.75713351e-01 1.75713351e-01 2.92855584e-01 1.17142234e-01 1.17142234e-01 4.09997818e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 3.51426701e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 2.92855584e-01 1.75713351e-01 3.51426701e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 2.92855584e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 2.34284468e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 2.92855584e-01 0.00000000e+00 2.34284468e-01 5.85711169e-02 1.17142234e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 2.34284468e-01 0.00000000e+00 2.34284468e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 0.00000000e+00 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 2.34284468e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 0.00000000e+00 0.00000000e+00 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.92855584e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 2.92855584e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 0.00000000e+00 1.75713351e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 1.17142234e-01 1.75713351e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 4.09997818e-01 1.75713351e-01 1.75713351e-01 5.85711169e-02 0.00000000e+00 2.92855584e-01 1.17142234e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 3.51426701e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 3.51426701e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 2.34284468e-01 1.75713351e-01 1.75713351e-01 0.00000000e+00 5.85711169e-02 2.34284468e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 1.75713351e-01 0.00000000e+00 2.34284468e-01 5.85711169e-02 2.92855584e-01 2.34284468e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.75713351e-01 0.00000000e+00 1.17142234e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 5.85711169e-02 1.75713351e-01 2.34284468e-01 5.85711169e-02 2.34284468e-01 0.00000000e+00 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 5.85711169e-02 0.00000000e+00 5.85711169e-02 1.75713351e-01 2.34284468e-01 2.92855584e-01 2.34284468e-01 2.34284468e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 0.00000000e+00 2.34284468e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 0.00000000e+00 2.92855584e-01 1.75713351e-01 2.92855584e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 3.51426701e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 0.00000000e+00 5.85711169e-02 3.51426701e-01 2.34284468e-01 1.17142234e-01 4.09997818e-01 1.17142234e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 2.92855584e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 3.51426701e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 0.00000000e+00 1.17142234e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 2.34284468e-01 5.85711169e-02 0.00000000e+00 0.00000000e+00 1.17142234e-01 5.85711169e-02 2.34284468e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.17142234e-01 2.92855584e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 0.00000000e+00 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 0.00000000e+00 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 5.85711169e-02 5.85711169e-02 2.34284468e-01 1.75713351e-01 0.00000000e+00 2.92855584e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 0.00000000e+00 2.92855584e-01 1.75713351e-01 2.92855584e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 2.34284468e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 1.75713351e-01 1.75713351e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.75713351e-01 3.51426701e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.75713351e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 1.75713351e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 1.17142234e-01 0.00000000e+00 1.75713351e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 1.17142234e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 2.34284468e-01 2.34284468e-01 5.85711169e-02 2.34284468e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 3.51426701e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 2.34284468e-01 0.00000000e+00 2.34284468e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 3.51426701e-01 5.85711169e-02 0.00000000e+00 2.34284468e-01 1.75713351e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.92855584e-01 5.85711169e-02 0.00000000e+00 1.75713351e-01 1.75713351e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 0.00000000e+00 1.75713351e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 1.75713351e-01 0.00000000e+00 1.17142234e-01 0.00000000e+00 5.85711169e-02 0.00000000e+00 0.00000000e+00 1.75713351e-01 0.00000000e+00 1.17142234e-01 0.00000000e+00 2.34284468e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 0.00000000e+00 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 2.92855584e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 0.00000000e+00 0.00000000e+00 5.85711169e-02 5.85711169e-02 1.75713351e-01 5.85711169e-02 0.00000000e+00 2.92855584e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 2.34284468e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 2.34284468e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 2.92855584e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 0.00000000e+00 2.34284468e-01 5.85711169e-02 0.00000000e+00 5.85711169e-02 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 2.92855584e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 0.00000000e+00 1.75713351e-01 2.92855584e-01 5.85711169e-02 2.92855584e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.17142234e-01 2.92855584e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 0.00000000e+00 0.00000000e+00 1.75713351e-01 1.17142234e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 0.00000000e+00 1.75713351e-01 3.51426701e-01 1.75713351e-01 4.09997818e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 0.00000000e+00 0.00000000e+00 1.75713351e-01 1.17142234e-01 2.92855584e-01 2.34284468e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.92855584e-01 1.75713351e-01 1.17142234e-01 4.09997818e-01 1.17142234e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.75713351e-01 0.00000000e+00 1.17142234e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 2.92855584e-01 0.00000000e+00 1.75713351e-01 0.00000000e+00 5.85711169e-02 2.34284468e-01 2.34284468e-01 2.92855584e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.75713351e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 1.75713351e-01 0.00000000e+00 2.34284468e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.75713351e-01 2.34284468e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 2.34284468e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.75713351e-01 0.00000000e+00 1.17142234e-01 2.34284468e-01 1.75713351e-01 2.34284468e-01 3.51426701e-01 1.75713351e-01 5.85711169e-02 3.51426701e-01 2.92855584e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 1.17142234e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.85711169e-02 1.75713351e-01 1.75713351e-01 5.85711169e-02 0.00000000e+00 5.85711169e-02 1.75713351e-01 1.17142234e-01 2.92855584e-01 2.92855584e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 2.92855584e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 2.92855584e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 2.92855584e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 0.00000000e+00 1.17142234e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.75713351e-01 0.00000000e+00 1.75713351e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 0.00000000e+00 1.17142234e-01 1.17142234e-01 2.92855584e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 0.00000000e+00 1.17142234e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.17142234e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 1.75713351e-01 5.85711169e-02 2.34284468e-01 0.00000000e+00 2.34284468e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 3.51426701e-01 0.00000000e+00 0.00000000e+00 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 1.75713351e-01 2.34284468e-01 2.34284468e-01 5.85711169e-02 0.00000000e+00 1.17142234e-01 1.17142234e-01 0.00000000e+00 0.00000000e+00 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 2.92855584e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 0.00000000e+00 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 0.00000000e+00 2.34284468e-01 1.17142234e-01 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 2.34284468e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 0.00000000e+00 5.85711169e-02 1.17142234e-01 3.51426701e-01 1.17142234e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 2.34284468e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 1.75713351e-01 2.92855584e-01 1.17142234e-01 1.17142234e-01 0.00000000e+00 2.34284468e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 0.00000000e+00 1.75713351e-01 5.85711169e-02 5.85711169e-02 1.75713351e-01 0.00000000e+00 1.75713351e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 0.00000000e+00 1.75713351e-01 0.00000000e+00 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.17142234e-01 0.00000000e+00 0.00000000e+00 5.85711169e-02 5.85711169e-02 0.00000000e+00 1.17142234e-01 1.75713351e-01 0.00000000e+00 0.00000000e+00 5.85711169e-02 5.85711169e-02 1.17142234e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 0.00000000e+00 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 2.34284468e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.17142234e-01 3.51426701e-01 5.85711169e-02 1.75713351e-01 0.00000000e+00 1.17142234e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 0.00000000e+00 1.75713351e-01 2.34284468e-01 1.75713351e-01 2.34284468e-01 0.00000000e+00 2.34284468e-01 1.75713351e-01 0.00000000e+00 5.85711169e-02 0.00000000e+00 5.85711169e-02 1.75713351e-01 2.92855584e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 1.17142234e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 5.85711169e-02 2.34284468e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 5.85711169e-02 0.00000000e+00 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.17142234e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 0.00000000e+00 1.17142234e-01 5.85711169e-02 1.75713351e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 0.00000000e+00 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.92855584e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 1.75713351e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.17142234e-01 0.00000000e+00 1.75713351e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 2.34284468e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 2.34284468e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 2.92855584e-01 2.34284468e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 0.00000000e+00 5.85711169e-02 0.00000000e+00 1.75713351e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 0.00000000e+00 2.34284468e-01 1.75713351e-01 1.75713351e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.17142234e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 1.75713351e-01 2.34284468e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 1.75713351e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 2.92855584e-01 1.17142234e-01 1.75713351e-01 0.00000000e+00 5.85711169e-02 2.34284468e-01 0.00000000e+00 1.75713351e-01 5.85711169e-02 5.85711169e-02 0.00000000e+00 1.17142234e-01 5.85711169e-02 1.75713351e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.75713351e-01 3.51426701e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 3.51426701e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 2.34284468e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 2.92855584e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 0.00000000e+00 1.17142234e-01 0.00000000e+00 1.17142234e-01 0.00000000e+00 1.17142234e-01 2.92855584e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.17142234e-01 0.00000000e+00 0.00000000e+00 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 0.00000000e+00 0.00000000e+00 1.75713351e-01 0.00000000e+00 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.75713351e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 1.75713351e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 5.85711169e-02 5.85711169e-02 0.00000000e+00 1.17142234e-01 5.85711169e-02 5.85711169e-02 2.34284468e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 2.92855584e-01 2.92855584e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 5.85711169e-02 1.17142234e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 0.00000000e+00 1.75713351e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 3.51426701e-01 0.00000000e+00 0.00000000e+00 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 2.34284468e-01 3.51426701e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 0.00000000e+00 5.85711169e-02 2.92855584e-01 5.85711169e-02 1.75713351e-01 5.85711169e-02 1.75713351e-01 0.00000000e+00 1.17142234e-01 0.00000000e+00 2.92855584e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 2.34284468e-01 0.00000000e+00 2.34284468e-01 0.00000000e+00 1.17142234e-01 1.17142234e-01 2.34284468e-01 3.51426701e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 3.51426701e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 2.34284468e-01 1.17142234e-01 1.17142234e-01 2.92855584e-01 5.85711169e-02 2.34284468e-01 2.34284468e-01 3.51426701e-01 1.17142234e-01 1.17142234e-01 2.92855584e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.75713351e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 0.00000000e+00 5.85711169e-02 5.85711169e-02 5.85711169e-02 1.17142234e-01 1.17142234e-01 5.85711169e-02 0.00000000e+00 5.85711169e-02 1.75713351e-01 2.34284468e-01 0.00000000e+00 1.17142234e-01 2.34284468e-01 1.17142234e-01 0.00000000e+00 1.75713351e-01 1.17142234e-01 0.00000000e+00 2.34284468e-01 2.34284468e-01 2.34284468e-01 1.17142234e-01 0.00000000e+00 2.92855584e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 0.00000000e+00 5.85711169e-02 1.75713351e-01 2.34284468e-01 1.75713351e-01 5.85711169e-02 2.34284468e-01 1.17142234e-01 1.75713351e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 2.92855584e-01 1.17142234e-01 1.75713351e-01 2.92855584e-01 1.75713351e-01 1.17142234e-01 0.00000000e+00 1.75713351e-01 0.00000000e+00 5.85711169e-02 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 2.92855584e-01 5.85711169e-02 1.17142234e-01 1.17142234e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 5.85711169e-02 3.51426701e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 1.17142234e-01 2.34284468e-01 1.17142234e-01 0.00000000e+00 1.17142234e-01 2.34284468e-01 1.17142234e-01 2.34284468e-01 2.34284468e-01 1.75713351e-01 5.85711169e-02 1.17142234e-01 1.75713351e-01 2.34284468e-01 5.85711169e-02 1.75713351e-01 2.34284468e-01 1.17142234e-01 1.75713351e-01 4.09997818e-01 1.17142234e-01 0.00000000e+00 1.75713351e-01 2.34284468e-01 2.92855584e-01 1.75713351e-01 2.92855584e-01 1.17142234e-01 5.85711169e-02 5.85711169e-02 2.34284468e-01 1.17142234e-01 4.09997818e-01 1.75713351e-01 1.75713351e-01 1.17142234e-01 3.51426701e-01 2.34284468e-01 2.34284468e-01 1.75713351e-01 2.34284468e-01 2.34284468e-01 0.00000000e+00 5.85711169e-02 2.34284468e-01 1.75713351e-01 1.75713351e-01 1.75713351e-01 2.34284468e-01 5.27140052e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 2.92855584e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 2.34284468e-01 5.85711169e-02 2.92855584e-01 0.00000000e+00 1.75713351e-01 1.17142234e-01 1.75713351e-01 2.34284468e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 1.17142234e-01 2.92855584e-01 1.75713351e-01 1.17142234e-01 2.92855584e-01 5.85711169e-02 1.75713351e-01 1.17142234e-01 5.85711169e-02 2.34284468e-01 1.75713351e-01 2.34284468e-01 0.00000000e+00 2.34284468e-01 5.85711169e-02 1.17142234e-01 2.34284468e-01 2.92855584e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.85711169e-02 1.75713351e-01 1.75713351e-01 1.17142234e-01 1.17142234e-01 1.75713351e-01 5.85711169e-02 5.85711169e-02 5.85711169e-02 0.00000000e+00 0.00000000e+00 5.85711169e-02 1.17142234e-01 5.85711169e-02 0.00000000e+00 5.85711169e-02 5.85711169e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.85711169e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_ec_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_ec_BDTG.weights.xml index 44c62247504c..847a54af1a27 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_ec_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_ec_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - - - - - - - - - + + + + + + + + + @@ -73,5801 +73,5972 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.39309389e-02 0.00000000e+00 0.00000000e+00 3.39309389e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.39309389e-02 0.00000000e+00 3.39309389e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.78618777e-02 0.00000000e+00 3.39309389e-02 3.39309389e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.01792817e-01 3.39309389e-02 0.00000000e+00 3.39309389e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.39309389e-02 0.00000000e+00 3.39309389e-02 0.00000000e+00 3.39309389e-02 3.39309389e-02 6.78618777e-02 1.01792817e-01 3.39309389e-02 6.78618777e-02 6.78618777e-02 0.00000000e+00 0.00000000e+00 3.39309389e-02 3.39309389e-02 6.78618777e-02 3.39309389e-02 0.00000000e+00 0.00000000e+00 3.39309389e-02 3.39309389e-02 0.00000000e+00 3.39309389e-02 3.39309389e-02 3.39309389e-02 0.00000000e+00 3.39309389e-02 1.01792817e-01 0.00000000e+00 3.39309389e-02 3.39309389e-02 3.39309389e-02 0.00000000e+00 3.39309389e-02 3.39309389e-02 0.00000000e+00 1.01792817e-01 0.00000000e+00 3.39309389e-02 1.01792817e-01 0.00000000e+00 0.00000000e+00 3.39309389e-02 3.39309389e-02 3.39309389e-02 3.39309389e-02 6.78618777e-02 3.39309389e-02 6.78618777e-02 3.39309389e-02 1.01792817e-01 3.39309389e-02 3.39309389e-02 6.78618777e-02 0.00000000e+00 3.39309389e-02 1.35723755e-01 0.00000000e+00 3.39309389e-02 3.39309389e-02 6.78618777e-02 6.78618777e-02 0.00000000e+00 0.00000000e+00 3.39309389e-02 1.35723755e-01 3.39309389e-02 6.78618777e-02 1.01792817e-01 1.35723755e-01 0.00000000e+00 3.39309389e-02 3.39309389e-02 3.39309389e-02 6.78618777e-02 0.00000000e+00 6.78618777e-02 1.01792817e-01 1.01792817e-01 3.39309389e-02 1.69654694e-01 1.35723755e-01 6.78618777e-02 6.78618777e-02 0.00000000e+00 3.39309389e-02 1.01792817e-01 3.39309389e-02 1.01792817e-01 1.01792817e-01 6.78618777e-02 0.00000000e+00 3.39309389e-02 3.39309389e-02 0.00000000e+00 3.39309389e-02 6.78618777e-02 0.00000000e+00 1.01792817e-01 1.01792817e-01 3.39309389e-02 0.00000000e+00 0.00000000e+00 3.39309389e-02 3.39309389e-02 3.39309389e-02 6.78618777e-02 3.39309389e-02 6.78618777e-02 3.39309389e-02 1.35723755e-01 1.35723755e-01 3.39309389e-02 1.01792817e-01 3.39309389e-02 6.78618777e-02 3.39309389e-02 0.00000000e+00 0.00000000e+00 6.78618777e-02 6.78618777e-02 0.00000000e+00 6.78618777e-02 2.03585633e-01 1.35723755e-01 1.01792817e-01 1.01792817e-01 1.35723755e-01 3.39309389e-02 0.00000000e+00 1.01792817e-01 3.39309389e-02 0.00000000e+00 0.00000000e+00 1.35723755e-01 3.39309389e-02 6.78618777e-02 1.35723755e-01 3.39309389e-02 6.78618777e-02 6.78618777e-02 6.78618777e-02 1.01792817e-01 3.39309389e-02 6.78618777e-02 6.78618777e-02 3.39309389e-02 1.35723755e-01 3.39309389e-02 1.35723755e-01 1.35723755e-01 1.01792817e-01 6.78618777e-02 6.78618777e-02 1.69654694e-01 1.69654694e-01 1.35723755e-01 1.01792817e-01 1.01792817e-01 1.01792817e-01 1.01792817e-01 6.78618777e-02 2.71447511e-01 1.69654694e-01 1.01792817e-01 2.03585633e-01 6.78618777e-02 6.78618777e-02 6.78618777e-02 3.39309389e-02 1.01792817e-01 3.39309389e-02 1.69654694e-01 2.03585633e-01 6.78618777e-02 1.01792817e-01 1.01792817e-01 2.03585633e-01 1.01792817e-01 1.01792817e-01 3.39309389e-02 3.39309389e-02 1.35723755e-01 1.35723755e-01 3.39309389e-02 3.39309389e-02 3.39309389e-02 1.01792817e-01 1.69654694e-01 6.78618777e-02 3.39309389e-02 6.78618777e-02 6.78618777e-02 1.01792817e-01 6.78618777e-02 2.37516572e-01 6.78618777e-02 1.35723755e-01 1.69654694e-01 3.39309389e-02 2.03585633e-01 6.78618777e-02 3.39309389e-02 1.35723755e-01 1.69654694e-01 2.37516572e-01 1.35723755e-01 1.01792817e-01 6.78618777e-02 1.69654694e-01 3.39309389e-01 1.69654694e-01 1.35723755e-01 1.01792817e-01 2.71447511e-01 3.39309389e-02 1.35723755e-01 2.03585633e-01 3.39309389e-02 1.69654694e-01 1.35723755e-01 3.39309389e-02 1.35723755e-01 1.35723755e-01 6.78618777e-02 1.01792817e-01 6.78618777e-02 4.07171266e-01 6.78618777e-02 0.00000000e+00 2.03585633e-01 1.01792817e-01 1.35723755e-01 1.01792817e-01 2.37516572e-01 1.35723755e-01 1.69654694e-01 1.35723755e-01 1.69654694e-01 2.37516572e-01 1.01792817e-01 0.00000000e+00 2.37516572e-01 1.35723755e-01 1.35723755e-01 6.78618777e-02 2.03585633e-01 1.01792817e-01 2.37516572e-01 1.01792817e-01 2.37516572e-01 2.03585633e-01 1.35723755e-01 3.05378450e-01 1.01792817e-01 1.69654694e-01 3.39309389e-02 6.78618777e-02 2.37516572e-01 2.37516572e-01 1.35723755e-01 1.01792817e-01 1.35723755e-01 2.37516572e-01 1.01792817e-01 2.37516572e-01 1.69654694e-01 2.71447511e-01 1.35723755e-01 1.01792817e-01 2.71447511e-01 2.37516572e-01 2.03585633e-01 1.69654694e-01 1.69654694e-01 1.35723755e-01 2.37516572e-01 1.69654694e-01 6.78618777e-02 1.69654694e-01 1.35723755e-01 1.69654694e-01 2.03585633e-01 2.03585633e-01 2.71447511e-01 2.37516572e-01 1.01792817e-01 1.01792817e-01 1.35723755e-01 1.01792817e-01 1.01792817e-01 2.03585633e-01 2.03585633e-01 1.69654694e-01 1.69654694e-01 2.37516572e-01 2.03585633e-01 2.03585633e-01 2.37516572e-01 1.35723755e-01 2.71447511e-01 1.69654694e-01 2.71447511e-01 2.71447511e-01 1.69654694e-01 3.39309389e-01 2.03585633e-01 2.71447511e-01 2.37516572e-01 2.37516572e-01 3.05378450e-01 3.05378450e-01 2.03585633e-01 3.05378450e-01 4.07171266e-01 1.69654694e-01 2.03585633e-01 3.05378450e-01 1.35723755e-01 3.39309389e-01 3.39309389e-01 3.39309389e-02 2.03585633e-01 2.37516572e-01 1.35723755e-01 1.01792817e-01 3.39309389e-01 2.37516572e-01 2.37516572e-01 3.39309389e-01 3.05378450e-01 2.37516572e-01 1.35723755e-01 2.37516572e-01 4.41102205e-01 2.37516572e-01 2.03585633e-01 2.37516572e-01 1.69654694e-01 4.07171266e-01 4.41102205e-01 3.39309389e-01 5.08964083e-01 2.37516572e-01 3.73240328e-01 3.05378450e-01 1.69654694e-01 3.05378450e-01 5.76825961e-01 4.75033144e-01 2.03585633e-01 3.73240328e-01 4.07171266e-01 4.41102205e-01 2.71447511e-01 5.42895022e-01 4.75033144e-01 3.05378450e-01 3.73240328e-01 5.76825961e-01 5.42895022e-01 3.73240328e-01 4.07171266e-01 4.07171266e-01 4.07171266e-01 3.39309389e-01 3.05378450e-01 4.41102205e-01 3.05378450e-01 4.41102205e-01 4.75033144e-01 3.39309389e-01 3.39309389e-01 5.42895022e-01 2.71447511e-01 5.76825961e-01 6.44687838e-01 4.41102205e-01 5.76825961e-01 4.41102205e-01 3.39309389e-01 4.07171266e-01 3.05378450e-01 5.42895022e-01 4.41102205e-01 3.05378450e-01 3.05378450e-01 5.08964083e-01 6.10756900e-01 5.42895022e-01 6.78618777e-01 5.08964083e-01 6.78618777e-01 4.41102205e-01 5.42895022e-01 5.08964083e-01 5.76825961e-01 4.41102205e-01 7.12549716e-01 5.08964083e-01 9.16135349e-01 5.42895022e-01 7.46480655e-01 7.12549716e-01 6.78618777e-01 8.14342533e-01 6.10756900e-01 6.78618777e-01 5.08964083e-01 6.78618777e-01 5.42895022e-01 9.83997227e-01 6.10756900e-01 6.10756900e-01 1.08579004e+00 5.76825961e-01 1.08579004e+00 6.44687838e-01 6.78618777e-01 5.76825961e-01 9.83997227e-01 1.11972098e+00 7.46480655e-01 7.80411594e-01 1.08579004e+00 8.14342533e-01 7.12549716e-01 5.76825961e-01 1.01792817e+00 1.05185910e+00 1.32330662e+00 7.46480655e-01 1.05185910e+00 6.78618777e-01 7.80411594e-01 1.01792817e+00 1.52689225e+00 9.50066288e-01 8.82204410e-01 1.32330662e+00 1.11972098e+00 1.45903037e+00 1.18758286e+00 1.52689225e+00 1.66261600e+00 1.15365192e+00 1.15365192e+00 1.45903037e+00 1.66261600e+00 1.62868507e+00 1.22151380e+00 1.42509943e+00 2.00192539e+00 1.96799445e+00 1.69654694e+00 1.49296131e+00 1.59475413e+00 1.69654694e+00 2.17158009e+00 1.62868507e+00 2.27337290e+00 1.90013258e+00 1.83227070e+00 2.03585633e+00 2.27337290e+00 2.47695854e+00 2.06978727e+00 2.51088948e+00 2.81626793e+00 2.68054417e+00 2.23944197e+00 2.91806074e+00 2.61268229e+00 2.51088948e+00 3.46095576e+00 3.49488670e+00 3.32523201e+00 3.32523201e+00 3.29130107e+00 3.59667952e+00 4.27529830e+00 4.27529830e+00 4.44495299e+00 4.58067675e+00 5.08964083e+00 4.41102205e+00 5.12357177e+00 5.12357177e+00 5.08964083e+00 5.56467397e+00 5.53074304e+00 5.12357177e+00 5.25929552e+00 6.07363806e+00 5.08964083e+00 5.22536459e+00 5.15750271e+00 5.59860491e+00 5.32715740e+00 5.25929552e+00 5.46288116e+00 5.36108834e+00 5.02177895e+00 6.07363806e+00 4.07171266e+00 4.91998614e+00 4.58067675e+00 4.54674581e+00 4.54674581e+00 4.44495299e+00 3.35916295e+00 3.80026515e+00 3.73240328e+00 3.56274858e+00 4.00385079e+00 3.05378450e+00 3.12164638e+00 2.85019886e+00 3.29130107e+00 2.54482041e+00 2.85019886e+00 2.57875135e+00 2.40909666e+00 2.44302760e+00 2.61268229e+00 2.00192539e+00 2.27337290e+00 2.03585633e+00 1.35723755e+00 1.73047788e+00 1.96799445e+00 1.83227070e+00 1.25544474e+00 1.39116849e+00 1.52689225e+00 1.01792817e+00 1.05185910e+00 9.50066288e-01 9.16135349e-01 9.83997227e-01 6.78618777e-01 8.48273472e-01 7.12549716e-01 5.42895022e-01 1.08579004e+00 6.44687838e-01 6.78618777e-01 9.16135349e-01 5.08964083e-01 3.39309389e-01 6.10756900e-01 5.08964083e-01 2.71447511e-01 4.75033144e-01 4.41102205e-01 2.71447511e-01 4.75033144e-01 3.39309389e-01 1.35723755e-01 2.03585633e-01 2.71447511e-01 2.37516572e-01 1.69654694e-01 1.35723755e-01 2.37516572e-01 2.71447511e-01 2.03585633e-01 1.69654694e-01 1.69654694e-01 1.69654694e-01 2.03585633e-01 3.05378450e-01 1.35723755e-01 1.01792817e-01 1.01792817e-01 1.01792817e-01 1.01792817e-01 3.39309389e-02 2.03585633e-01 0.00000000e+00 1.35723755e-01 6.78618777e-02 1.01792817e-01 1.35723755e-01 3.39309389e-02 1.01792817e-01 1.69654694e-01 3.39309389e-02 6.78618777e-02 6.78618777e-02 1.01792817e-01 0.00000000e+00 3.39309389e-02 3.39309389e-02 6.78618777e-02 3.39309389e-02 6.78618777e-02 6.78618777e-02 0.00000000e+00 6.78618777e-02 0.00000000e+00 3.39309389e-02 3.39309389e-02 6.78618777e-02 6.78618777e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.01792817e-01 0.00000000e+00 6.78618777e-02 3.39309389e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.39309389e-02 0.00000000e+00 3.39309389e-02 3.39309389e-02 0.00000000e+00 6.78618777e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.39309389e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.39309389e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.72960400e-02 0.00000000e+00 0.00000000e+00 1.36480200e-02 2.72960400e-02 5.45920801e-02 2.72960400e-02 2.72960400e-02 1.36480200e-02 1.36480200e-02 2.72960400e-02 4.09440601e-02 0.00000000e+00 2.72960400e-02 0.00000000e+00 1.36480200e-02 4.09440601e-02 5.45920801e-02 1.36480200e-02 2.72960400e-02 2.72960400e-02 5.45920801e-02 2.72960400e-02 1.36480200e-02 5.45920801e-02 6.82401001e-02 1.36480200e-02 5.45920801e-02 6.82401001e-02 5.45920801e-02 2.72960400e-02 9.55361402e-02 2.72960400e-02 1.09184160e-01 6.82401001e-02 1.36480200e-02 2.72960400e-02 5.45920801e-02 2.72960400e-02 5.45920801e-02 6.82401001e-02 1.09184160e-01 8.18881201e-02 8.18881201e-02 9.55361402e-02 1.22832180e-01 6.82401001e-02 9.55361402e-02 8.18881201e-02 6.82401001e-02 5.45920801e-02 0.00000000e+00 5.45920801e-02 4.09440601e-02 4.09440601e-02 6.82401001e-02 2.72960400e-02 9.55361402e-02 1.50128220e-01 8.18881201e-02 5.45920801e-02 6.82401001e-02 8.18881201e-02 6.82401001e-02 8.18881201e-02 6.82401001e-02 1.36480200e-01 6.82401001e-02 4.09440601e-02 4.09440601e-02 8.18881201e-02 5.45920801e-02 8.18881201e-02 1.09184160e-01 9.55361402e-02 8.18881201e-02 1.50128220e-01 8.18881201e-02 9.55361402e-02 9.55361402e-02 9.55361402e-02 2.72960400e-02 1.09184160e-01 4.09440601e-02 8.18881201e-02 9.55361402e-02 5.45920801e-02 1.50128220e-01 1.63776240e-01 1.22832180e-01 1.63776240e-01 4.09440601e-02 8.18881201e-02 9.55361402e-02 8.18881201e-02 8.18881201e-02 8.18881201e-02 9.55361402e-02 6.82401001e-02 5.45920801e-02 1.36480200e-01 1.63776240e-01 9.55361402e-02 1.09184160e-01 4.09440601e-02 8.18881201e-02 1.36480200e-01 1.22832180e-01 9.55361402e-02 8.18881201e-02 9.55361402e-02 6.82401001e-02 1.36480200e-02 1.22832180e-01 1.09184160e-01 9.55361402e-02 4.09440601e-02 1.22832180e-01 1.09184160e-01 9.55361402e-02 1.09184160e-01 8.18881201e-02 4.09440601e-02 8.18881201e-02 9.55361402e-02 8.18881201e-02 6.82401001e-02 1.22832180e-01 8.18881201e-02 5.45920801e-02 1.36480200e-01 4.09440601e-02 8.18881201e-02 5.45920801e-02 8.18881201e-02 6.82401001e-02 1.22832180e-01 4.09440601e-02 8.18881201e-02 1.77424260e-01 8.18881201e-02 6.82401001e-02 9.55361402e-02 6.82401001e-02 1.22832180e-01 1.77424260e-01 5.45920801e-02 4.09440601e-02 1.22832180e-01 1.22832180e-01 1.50128220e-01 1.77424260e-01 2.04720300e-01 1.22832180e-01 6.82401001e-02 1.50128220e-01 1.22832180e-01 4.09440601e-02 1.77424260e-01 1.50128220e-01 1.50128220e-01 1.22832180e-01 1.22832180e-01 1.63776240e-01 6.82401001e-02 1.36480200e-01 6.82401001e-02 1.50128220e-01 5.45920801e-02 1.22832180e-01 1.09184160e-01 1.50128220e-01 1.09184160e-01 8.18881201e-02 8.18881201e-02 4.09440601e-02 1.91072280e-01 1.09184160e-01 1.77424260e-01 1.91072280e-01 1.22832180e-01 1.91072280e-01 8.18881201e-02 6.82401001e-02 9.55361402e-02 1.36480200e-01 1.22832180e-01 8.18881201e-02 1.22832180e-01 1.22832180e-01 1.50128220e-01 1.77424260e-01 4.09440601e-02 2.18368320e-01 8.18881201e-02 8.18881201e-02 1.22832180e-01 6.82401001e-02 1.77424260e-01 1.22832180e-01 8.18881201e-02 8.18881201e-02 8.18881201e-02 1.36480200e-01 1.91072280e-01 5.45920801e-02 1.22832180e-01 8.18881201e-02 9.55361402e-02 8.18881201e-02 1.50128220e-01 1.91072280e-01 9.55361402e-02 1.36480200e-01 1.77424260e-01 8.18881201e-02 8.18881201e-02 1.22832180e-01 1.77424260e-01 1.36480200e-01 1.36480200e-01 9.55361402e-02 1.22832180e-01 1.36480200e-01 5.45920801e-02 1.09184160e-01 1.36480200e-01 1.09184160e-01 1.22832180e-01 1.36480200e-01 1.50128220e-01 9.55361402e-02 9.55361402e-02 1.09184160e-01 1.50128220e-01 1.22832180e-01 6.82401001e-02 1.77424260e-01 1.50128220e-01 1.50128220e-01 2.04720300e-01 1.09184160e-01 1.09184160e-01 5.45920801e-02 1.50128220e-01 1.63776240e-01 8.18881201e-02 2.04720300e-01 6.82401001e-02 1.63776240e-01 5.45920801e-02 8.18881201e-02 1.22832180e-01 1.77424260e-01 1.36480200e-01 1.09184160e-01 9.55361402e-02 5.45920801e-02 1.09184160e-01 8.18881201e-02 9.55361402e-02 4.09440601e-02 8.18881201e-02 1.09184160e-01 1.50128220e-01 9.55361402e-02 1.09184160e-01 1.91072280e-01 8.18881201e-02 8.18881201e-02 1.22832180e-01 9.55361402e-02 1.09184160e-01 1.36480200e-01 4.09440601e-02 8.18881201e-02 1.09184160e-01 1.09184160e-01 1.36480200e-01 1.63776240e-01 1.22832180e-01 9.55361402e-02 1.50128220e-01 6.82401001e-02 6.82401001e-02 8.18881201e-02 8.18881201e-02 1.09184160e-01 1.77424260e-01 1.50128220e-01 1.22832180e-01 1.36480200e-01 4.09440601e-02 8.18881201e-02 1.50128220e-01 1.09184160e-01 1.09184160e-01 2.72960400e-02 1.91072280e-01 1.36480200e-01 1.77424260e-01 8.18881201e-02 1.09184160e-01 1.22832180e-01 1.36480200e-01 1.22832180e-01 2.04720300e-01 1.91072280e-01 1.09184160e-01 1.63776240e-01 6.82401001e-02 1.22832180e-01 1.36480200e-01 5.45920801e-02 1.63776240e-01 5.45920801e-02 9.55361402e-02 1.36480200e-01 1.36480200e-01 6.82401001e-02 1.09184160e-01 1.77424260e-01 8.18881201e-02 8.18881201e-02 1.36480200e-01 1.22832180e-01 8.18881201e-02 5.45920801e-02 1.91072280e-01 6.82401001e-02 1.91072280e-01 1.63776240e-01 8.18881201e-02 1.50128220e-01 1.50128220e-01 8.18881201e-02 1.50128220e-01 2.18368320e-01 6.82401001e-02 1.77424260e-01 6.82401001e-02 1.36480200e-01 2.72960400e-02 1.36480200e-01 1.22832180e-01 1.63776240e-01 1.36480200e-01 1.22832180e-01 1.22832180e-01 9.55361402e-02 1.22832180e-01 1.77424260e-01 1.36480200e-01 9.55361402e-02 1.09184160e-01 1.77424260e-01 1.36480200e-01 8.18881201e-02 1.77424260e-01 1.09184160e-01 1.77424260e-01 1.22832180e-01 1.36480200e-01 1.63776240e-01 1.63776240e-01 1.36480200e-01 4.09440601e-02 1.22832180e-01 9.55361402e-02 1.36480200e-01 2.32016340e-01 1.09184160e-01 1.22832180e-01 1.50128220e-01 1.22832180e-01 1.63776240e-01 5.45920801e-02 9.55361402e-02 9.55361402e-02 2.45664360e-01 1.91072280e-01 1.77424260e-01 1.77424260e-01 1.63776240e-01 9.55361402e-02 1.36480200e-01 1.77424260e-01 6.82401001e-02 1.63776240e-01 1.36480200e-01 1.36480200e-01 1.09184160e-01 1.36480200e-01 1.36480200e-01 1.36480200e-01 1.22832180e-01 1.50128220e-01 1.36480200e-01 1.36480200e-01 1.63776240e-01 1.50128220e-01 8.18881201e-02 1.09184160e-01 1.50128220e-01 1.91072280e-01 8.18881201e-02 1.50128220e-01 9.55361402e-02 1.09184160e-01 1.63776240e-01 2.32016340e-01 1.50128220e-01 1.09184160e-01 9.55361402e-02 1.36480200e-01 1.63776240e-01 1.77424260e-01 1.77424260e-01 9.55361402e-02 1.36480200e-01 2.32016340e-01 1.63776240e-01 1.22832180e-01 1.36480200e-01 1.36480200e-01 1.09184160e-01 1.09184160e-01 1.36480200e-01 9.55361402e-02 1.09184160e-01 9.55361402e-02 1.36480200e-01 5.45920801e-02 9.55361402e-02 1.36480200e-01 1.50128220e-01 1.63776240e-01 1.91072280e-01 1.36480200e-01 1.22832180e-01 8.18881201e-02 2.04720300e-01 1.36480200e-01 1.77424260e-01 1.09184160e-01 1.22832180e-01 1.63776240e-01 2.18368320e-01 1.91072280e-01 1.91072280e-01 1.36480200e-01 1.91072280e-01 2.04720300e-01 2.32016340e-01 1.50128220e-01 1.09184160e-01 9.55361402e-02 1.36480200e-01 1.50128220e-01 1.77424260e-01 1.50128220e-01 1.77424260e-01 1.22832180e-01 1.09184160e-01 1.22832180e-01 2.18368320e-01 1.77424260e-01 1.09184160e-01 2.04720300e-01 8.18881201e-02 1.22832180e-01 1.63776240e-01 1.63776240e-01 1.91072280e-01 1.36480200e-01 1.63776240e-01 2.72960400e-01 1.77424260e-01 1.09184160e-01 2.32016340e-01 5.45920801e-02 1.09184160e-01 1.09184160e-01 8.18881201e-02 6.82401001e-02 2.04720300e-01 2.72960400e-02 9.55361402e-02 1.09184160e-01 9.55361402e-02 1.22832180e-01 9.55361402e-02 1.63776240e-01 2.32016340e-01 1.36480200e-01 1.22832180e-01 1.36480200e-01 2.04720300e-01 9.55361402e-02 5.45920801e-02 1.50128220e-01 8.18881201e-02 1.22832180e-01 2.72960400e-02 1.63776240e-01 9.55361402e-02 1.09184160e-01 1.36480200e-01 8.18881201e-02 1.77424260e-01 1.22832180e-01 9.55361402e-02 5.45920801e-02 1.36480200e-01 9.55361402e-02 1.36480200e-01 9.55361402e-02 1.91072280e-01 6.82401001e-02 8.18881201e-02 1.22832180e-01 1.22832180e-01 2.32016340e-01 1.50128220e-01 1.63776240e-01 1.36480200e-01 6.82401001e-02 2.32016340e-01 1.91072280e-01 1.50128220e-01 1.09184160e-01 9.55361402e-02 6.82401001e-02 1.36480200e-01 9.55361402e-02 8.18881201e-02 8.18881201e-02 8.18881201e-02 1.22832180e-01 1.36480200e-01 1.91072280e-01 1.50128220e-01 2.04720300e-01 9.55361402e-02 1.09184160e-01 8.18881201e-02 8.18881201e-02 1.22832180e-01 8.18881201e-02 1.36480200e-01 1.09184160e-01 1.91072280e-01 2.18368320e-01 1.22832180e-01 1.91072280e-01 1.22832180e-01 9.55361402e-02 1.22832180e-01 1.09184160e-01 1.77424260e-01 1.22832180e-01 1.22832180e-01 1.63776240e-01 8.18881201e-02 1.50128220e-01 4.09440601e-02 1.91072280e-01 2.04720300e-01 1.63776240e-01 1.91072280e-01 8.18881201e-02 1.22832180e-01 1.22832180e-01 1.09184160e-01 9.55361402e-02 1.22832180e-01 1.77424260e-01 1.63776240e-01 1.22832180e-01 2.04720300e-01 9.55361402e-02 1.36480200e-01 1.22832180e-01 9.55361402e-02 1.22832180e-01 1.63776240e-01 9.55361402e-02 1.50128220e-01 1.63776240e-01 1.77424260e-01 1.63776240e-01 1.63776240e-01 1.36480200e-01 1.22832180e-01 2.18368320e-01 1.77424260e-01 1.91072280e-01 1.63776240e-01 1.63776240e-01 1.63776240e-01 1.50128220e-01 3.13904460e-01 9.55361402e-02 1.09184160e-01 1.91072280e-01 1.50128220e-01 1.77424260e-01 1.36480200e-01 2.72960400e-02 1.09184160e-01 1.50128220e-01 1.36480200e-01 1.50128220e-01 1.63776240e-01 1.22832180e-01 1.63776240e-01 1.22832180e-01 8.18881201e-02 1.22832180e-01 1.50128220e-01 1.22832180e-01 1.36480200e-01 9.55361402e-02 1.22832180e-01 2.04720300e-01 1.91072280e-01 1.50128220e-01 9.55361402e-02 1.91072280e-01 9.55361402e-02 1.91072280e-01 1.50128220e-01 1.22832180e-01 1.22832180e-01 1.77424260e-01 9.55361402e-02 2.04720300e-01 1.63776240e-01 1.36480200e-01 1.22832180e-01 6.82401001e-02 1.91072280e-01 1.22832180e-01 9.55361402e-02 2.18368320e-01 1.36480200e-01 8.18881201e-02 1.91072280e-01 1.09184160e-01 1.77424260e-01 9.55361402e-02 1.09184160e-01 2.32016340e-01 1.50128220e-01 2.04720300e-01 1.09184160e-01 1.63776240e-01 1.09184160e-01 1.77424260e-01 8.18881201e-02 6.82401001e-02 1.22832180e-01 1.77424260e-01 1.22832180e-01 1.77424260e-01 1.36480200e-01 1.50128220e-01 1.36480200e-01 1.22832180e-01 6.82401001e-02 1.50128220e-01 8.18881201e-02 1.77424260e-01 9.55361402e-02 1.63776240e-01 1.36480200e-01 1.77424260e-01 1.50128220e-01 2.45664360e-01 1.22832180e-01 1.77424260e-01 1.36480200e-01 1.09184160e-01 1.36480200e-01 1.77424260e-01 1.50128220e-01 2.04720300e-01 1.77424260e-01 1.36480200e-01 1.63776240e-01 1.91072280e-01 1.50128220e-01 9.55361402e-02 1.77424260e-01 1.63776240e-01 1.77424260e-01 1.91072280e-01 1.36480200e-01 1.22832180e-01 1.77424260e-01 2.86608420e-01 1.09184160e-01 9.55361402e-02 1.63776240e-01 1.91072280e-01 1.09184160e-01 5.45920801e-02 1.22832180e-01 1.50128220e-01 1.36480200e-01 1.50128220e-01 1.91072280e-01 1.91072280e-01 1.36480200e-01 1.91072280e-01 2.04720300e-01 1.36480200e-01 1.22832180e-01 1.77424260e-01 1.77424260e-01 1.77424260e-01 1.50128220e-01 1.50128220e-01 1.22832180e-01 1.36480200e-01 1.50128220e-01 1.22832180e-01 1.63776240e-01 9.55361402e-02 1.91072280e-01 1.77424260e-01 1.77424260e-01 1.36480200e-01 1.50128220e-01 1.77424260e-01 1.22832180e-01 1.63776240e-01 1.50128220e-01 1.22832180e-01 1.77424260e-01 2.59312380e-01 1.36480200e-01 1.36480200e-01 1.50128220e-01 1.77424260e-01 1.36480200e-01 2.72960400e-01 1.63776240e-01 2.18368320e-01 2.32016340e-01 2.18368320e-01 2.45664360e-01 1.50128220e-01 1.50128220e-01 9.55361402e-02 1.63776240e-01 1.63776240e-01 1.50128220e-01 5.45920801e-02 1.77424260e-01 5.45920801e-02 1.36480200e-01 1.50128220e-01 1.36480200e-01 2.04720300e-01 1.63776240e-01 1.77424260e-01 1.63776240e-01 1.50128220e-01 1.50128220e-01 2.32016340e-01 1.22832180e-01 1.22832180e-01 1.50128220e-01 2.18368320e-01 1.09184160e-01 1.91072280e-01 1.36480200e-01 1.36480200e-01 9.55361402e-02 1.22832180e-01 8.18881201e-02 1.77424260e-01 1.50128220e-01 1.09184160e-01 1.50128220e-01 1.77424260e-01 2.04720300e-01 1.63776240e-01 2.04720300e-01 1.09184160e-01 1.91072280e-01 1.91072280e-01 2.59312380e-01 9.55361402e-02 9.55361402e-02 1.77424260e-01 1.91072280e-01 1.77424260e-01 1.63776240e-01 1.77424260e-01 1.77424260e-01 1.36480200e-01 2.32016340e-01 1.77424260e-01 1.36480200e-01 1.63776240e-01 1.50128220e-01 2.18368320e-01 2.18368320e-01 1.77424260e-01 1.22832180e-01 1.63776240e-01 1.63776240e-01 2.18368320e-01 1.22832180e-01 1.36480200e-01 1.36480200e-01 1.91072280e-01 1.50128220e-01 1.50128220e-01 1.63776240e-01 1.50128220e-01 1.36480200e-01 1.63776240e-01 2.59312380e-01 2.04720300e-01 2.18368320e-01 2.72960400e-01 1.22832180e-01 2.32016340e-01 2.72960400e-01 1.77424260e-01 9.55361402e-02 1.36480200e-01 1.77424260e-01 2.45664360e-01 2.59312380e-01 1.50128220e-01 8.18881201e-02 1.22832180e-01 1.91072280e-01 1.91072280e-01 1.09184160e-01 1.50128220e-01 1.63776240e-01 1.36480200e-01 1.91072280e-01 1.22832180e-01 1.77424260e-01 1.63776240e-01 1.77424260e-01 3.13904460e-01 1.50128220e-01 1.63776240e-01 2.18368320e-01 1.22832180e-01 2.18368320e-01 1.91072280e-01 3.13904460e-01 1.63776240e-01 2.72960400e-01 1.77424260e-01 1.50128220e-01 1.50128220e-01 1.22832180e-01 1.63776240e-01 1.36480200e-01 2.45664360e-01 2.04720300e-01 1.50128220e-01 2.04720300e-01 1.91072280e-01 1.91072280e-01 1.22832180e-01 2.45664360e-01 2.04720300e-01 2.32016340e-01 2.59312380e-01 1.77424260e-01 1.36480200e-01 1.22832180e-01 2.86608420e-01 1.36480200e-01 2.04720300e-01 1.91072280e-01 1.09184160e-01 9.55361402e-02 2.04720300e-01 1.91072280e-01 2.32016340e-01 1.50128220e-01 1.50128220e-01 1.09184160e-01 9.55361402e-02 1.22832180e-01 1.77424260e-01 1.50128220e-01 1.91072280e-01 1.50128220e-01 1.36480200e-01 2.04720300e-01 1.77424260e-01 1.91072280e-01 1.91072280e-01 2.45664360e-01 1.50128220e-01 1.50128220e-01 2.04720300e-01 1.36480200e-01 1.91072280e-01 2.18368320e-01 9.55361402e-02 2.45664360e-01 1.22832180e-01 1.36480200e-01 2.18368320e-01 1.77424260e-01 1.36480200e-01 1.63776240e-01 2.18368320e-01 1.22832180e-01 1.50128220e-01 1.63776240e-01 2.45664360e-01 1.50128220e-01 2.18368320e-01 2.04720300e-01 2.04720300e-01 1.77424260e-01 1.77424260e-01 1.50128220e-01 1.77424260e-01 2.59312380e-01 1.22832180e-01 2.04720300e-01 1.09184160e-01 1.09184160e-01 1.63776240e-01 2.04720300e-01 1.36480200e-01 1.50128220e-01 2.86608420e-01 1.50128220e-01 2.45664360e-01 3.13904460e-01 1.91072280e-01 2.18368320e-01 2.32016340e-01 1.77424260e-01 1.77424260e-01 2.18368320e-01 2.32016340e-01 2.18368320e-01 3.13904460e-01 2.32016340e-01 1.50128220e-01 1.50128220e-01 1.36480200e-01 1.91072280e-01 2.18368320e-01 6.82401001e-02 2.04720300e-01 2.18368320e-01 2.32016340e-01 2.72960400e-01 2.18368320e-01 1.91072280e-01 2.32016340e-01 1.63776240e-01 1.91072280e-01 1.91072280e-01 2.59312380e-01 1.09184160e-01 1.50128220e-01 1.77424260e-01 1.50128220e-01 1.63776240e-01 2.18368320e-01 2.04720300e-01 1.91072280e-01 2.72960400e-01 1.22832180e-01 2.18368320e-01 2.18368320e-01 2.59312380e-01 1.63776240e-01 2.59312380e-01 1.36480200e-01 1.63776240e-01 1.09184160e-01 2.32016340e-01 1.50128220e-01 1.91072280e-01 2.32016340e-01 1.36480200e-01 1.77424260e-01 2.18368320e-01 1.36480200e-01 1.50128220e-01 2.32016340e-01 2.32016340e-01 2.32016340e-01 2.59312380e-01 1.09184160e-01 1.50128220e-01 1.50128220e-01 2.59312380e-01 8.18881201e-02 2.72960400e-01 1.36480200e-01 1.36480200e-01 1.63776240e-01 1.77424260e-01 2.18368320e-01 1.91072280e-01 3.00256440e-01 1.22832180e-01 1.50128220e-01 1.50128220e-01 1.91072280e-01 2.18368320e-01 1.63776240e-01 1.09184160e-01 2.04720300e-01 1.22832180e-01 2.18368320e-01 2.04720300e-01 3.13904460e-01 2.32016340e-01 2.32016340e-01 1.50128220e-01 2.04720300e-01 2.32016340e-01 2.86608420e-01 2.04720300e-01 2.04720300e-01 1.50128220e-01 1.91072280e-01 2.59312380e-01 2.04720300e-01 2.18368320e-01 2.04720300e-01 1.22832180e-01 2.59312380e-01 3.00256440e-01 2.72960400e-01 1.50128220e-01 1.91072280e-01 2.45664360e-01 2.04720300e-01 2.18368320e-01 1.91072280e-01 1.77424260e-01 1.77424260e-01 2.04720300e-01 1.77424260e-01 1.77424260e-01 2.45664360e-01 8.18881201e-02 1.77424260e-01 2.45664360e-01 3.00256440e-01 2.59312380e-01 1.91072280e-01 2.04720300e-01 2.59312380e-01 2.72960400e-01 1.77424260e-01 3.95792581e-01 2.32016340e-01 1.91072280e-01 2.45664360e-01 2.04720300e-01 2.04720300e-01 1.50128220e-01 2.04720300e-01 2.18368320e-01 2.04720300e-01 1.63776240e-01 1.91072280e-01 3.00256440e-01 3.27552481e-01 2.18368320e-01 1.36480200e-01 1.91072280e-01 3.82144561e-01 2.45664360e-01 2.32016340e-01 3.00256440e-01 2.18368320e-01 2.04720300e-01 3.82144561e-01 1.50128220e-01 9.55361402e-02 1.77424260e-01 2.86608420e-01 1.50128220e-01 1.77424260e-01 2.45664360e-01 1.77424260e-01 1.77424260e-01 1.77424260e-01 1.77424260e-01 1.91072280e-01 2.59312380e-01 1.63776240e-01 1.63776240e-01 1.77424260e-01 1.50128220e-01 1.63776240e-01 1.91072280e-01 2.45664360e-01 2.32016340e-01 3.00256440e-01 2.04720300e-01 1.91072280e-01 2.04720300e-01 2.32016340e-01 9.55361402e-02 1.50128220e-01 2.04720300e-01 2.32016340e-01 1.77424260e-01 2.18368320e-01 1.91072280e-01 3.54848521e-01 1.63776240e-01 2.04720300e-01 1.77424260e-01 2.72960400e-01 8.18881201e-02 2.32016340e-01 1.09184160e-01 2.04720300e-01 3.27552481e-01 2.59312380e-01 9.55361402e-02 1.91072280e-01 3.13904460e-01 1.63776240e-01 2.32016340e-01 1.36480200e-01 3.54848521e-01 2.72960400e-01 1.91072280e-01 3.13904460e-01 2.72960400e-01 2.45664360e-01 2.18368320e-01 1.77424260e-01 1.77424260e-01 2.86608420e-01 2.18368320e-01 2.04720300e-01 2.04720300e-01 1.50128220e-01 2.72960400e-01 2.72960400e-01 3.00256440e-01 2.04720300e-01 2.72960400e-01 2.45664360e-01 2.72960400e-01 3.13904460e-01 3.00256440e-01 3.13904460e-01 1.77424260e-01 2.04720300e-01 1.91072280e-01 1.91072280e-01 2.18368320e-01 2.18368320e-01 1.91072280e-01 1.36480200e-01 2.86608420e-01 2.59312380e-01 3.54848521e-01 1.63776240e-01 2.32016340e-01 2.72960400e-01 1.77424260e-01 1.63776240e-01 1.50128220e-01 3.00256440e-01 4.23088621e-01 2.72960400e-01 2.45664360e-01 3.27552481e-01 2.32016340e-01 2.04720300e-01 3.13904460e-01 2.86608420e-01 1.77424260e-01 2.04720300e-01 3.13904460e-01 2.32016340e-01 2.04720300e-01 3.00256440e-01 3.54848521e-01 2.32016340e-01 1.22832180e-01 2.04720300e-01 1.63776240e-01 3.00256440e-01 2.18368320e-01 1.77424260e-01 2.04720300e-01 2.18368320e-01 3.27552481e-01 2.45664360e-01 2.32016340e-01 2.04720300e-01 3.68496541e-01 1.77424260e-01 2.18368320e-01 2.32016340e-01 2.32016340e-01 3.68496541e-01 2.18368320e-01 2.59312380e-01 9.55361402e-02 2.18368320e-01 1.63776240e-01 2.72960400e-01 3.82144561e-01 2.59312380e-01 2.72960400e-01 2.86608420e-01 2.59312380e-01 2.18368320e-01 2.45664360e-01 2.45664360e-01 2.86608420e-01 1.91072280e-01 1.91072280e-01 1.91072280e-01 2.32016340e-01 3.41200501e-01 2.72960400e-01 2.72960400e-01 1.50128220e-01 1.77424260e-01 2.72960400e-01 1.91072280e-01 2.04720300e-01 1.91072280e-01 2.86608420e-01 2.18368320e-01 2.32016340e-01 2.45664360e-01 3.68496541e-01 3.27552481e-01 3.00256440e-01 2.45664360e-01 2.32016340e-01 1.63776240e-01 2.72960400e-01 2.32016340e-01 3.13904460e-01 1.63776240e-01 1.91072280e-01 2.32016340e-01 1.91072280e-01 1.77424260e-01 1.91072280e-01 2.32016340e-01 2.86608420e-01 2.45664360e-01 2.18368320e-01 2.32016340e-01 2.86608420e-01 2.45664360e-01 2.18368320e-01 2.72960400e-01 2.45664360e-01 2.32016340e-01 2.45664360e-01 2.59312380e-01 2.86608420e-01 2.45664360e-01 3.68496541e-01 3.41200501e-01 2.86608420e-01 2.72960400e-01 1.91072280e-01 1.91072280e-01 2.32016340e-01 2.32016340e-01 2.72960400e-01 3.00256440e-01 3.54848521e-01 2.86608420e-01 3.82144561e-01 2.45664360e-01 2.59312380e-01 2.72960400e-01 2.72960400e-01 2.32016340e-01 3.54848521e-01 3.54848521e-01 3.27552481e-01 2.32016340e-01 3.13904460e-01 3.27552481e-01 2.04720300e-01 2.59312380e-01 3.41200501e-01 2.45664360e-01 3.82144561e-01 1.77424260e-01 2.04720300e-01 3.27552481e-01 4.23088621e-01 3.54848521e-01 3.68496541e-01 3.13904460e-01 3.54848521e-01 2.86608420e-01 3.82144561e-01 3.41200501e-01 2.18368320e-01 1.91072280e-01 3.13904460e-01 3.82144561e-01 3.68496541e-01 2.59312380e-01 2.59312380e-01 2.32016340e-01 2.86608420e-01 2.04720300e-01 4.09440601e-01 2.04720300e-01 3.00256440e-01 3.27552481e-01 3.13904460e-01 2.45664360e-01 3.00256440e-01 3.41200501e-01 1.77424260e-01 3.41200501e-01 2.04720300e-01 3.00256440e-01 4.09440601e-01 1.77424260e-01 2.59312380e-01 3.41200501e-01 1.77424260e-01 2.32016340e-01 3.13904460e-01 3.41200501e-01 2.04720300e-01 3.41200501e-01 4.23088621e-01 2.32016340e-01 2.59312380e-01 2.59312380e-01 2.45664360e-01 3.54848521e-01 2.18368320e-01 3.27552481e-01 3.54848521e-01 2.32016340e-01 2.45664360e-01 2.18368320e-01 1.77424260e-01 2.45664360e-01 3.13904460e-01 3.00256440e-01 2.86608420e-01 2.72960400e-01 2.18368320e-01 3.27552481e-01 3.13904460e-01 3.54848521e-01 3.13904460e-01 2.72960400e-01 2.59312380e-01 2.72960400e-01 2.72960400e-01 3.95792581e-01 2.18368320e-01 2.45664360e-01 2.59312380e-01 3.41200501e-01 3.13904460e-01 3.68496541e-01 2.59312380e-01 2.86608420e-01 3.27552481e-01 3.54848521e-01 2.59312380e-01 2.86608420e-01 4.09440601e-01 2.72960400e-01 3.00256440e-01 1.91072280e-01 2.72960400e-01 3.95792581e-01 2.72960400e-01 3.54848521e-01 3.27552481e-01 3.82144561e-01 3.00256440e-01 3.27552481e-01 2.86608420e-01 3.13904460e-01 3.54848521e-01 1.50128220e-01 2.72960400e-01 3.13904460e-01 3.27552481e-01 2.45664360e-01 2.59312380e-01 3.68496541e-01 3.68496541e-01 3.00256440e-01 3.13904460e-01 4.64032681e-01 3.41200501e-01 3.27552481e-01 2.86608420e-01 3.82144561e-01 3.54848521e-01 3.27552481e-01 2.45664360e-01 2.86608420e-01 3.41200501e-01 3.95792581e-01 3.95792581e-01 3.13904460e-01 3.27552481e-01 3.13904460e-01 2.32016340e-01 3.00256440e-01 4.36736641e-01 3.00256440e-01 3.54848521e-01 4.36736641e-01 4.23088621e-01 4.36736641e-01 1.77424260e-01 2.86608420e-01 3.54848521e-01 3.13904460e-01 3.00256440e-01 2.04720300e-01 3.68496541e-01 3.27552481e-01 3.68496541e-01 3.00256440e-01 2.32016340e-01 3.00256440e-01 3.13904460e-01 2.72960400e-01 2.59312380e-01 3.41200501e-01 3.68496541e-01 3.82144561e-01 3.54848521e-01 3.82144561e-01 3.95792581e-01 3.13904460e-01 3.95792581e-01 3.82144561e-01 3.95792581e-01 3.95792581e-01 3.54848521e-01 3.68496541e-01 2.45664360e-01 3.00256440e-01 3.13904460e-01 4.77680701e-01 3.27552481e-01 3.41200501e-01 3.82144561e-01 2.72960400e-01 3.00256440e-01 3.54848521e-01 3.00256440e-01 4.23088621e-01 3.54848521e-01 3.68496541e-01 3.00256440e-01 4.50384661e-01 3.54848521e-01 4.64032681e-01 4.77680701e-01 1.50128220e-01 4.36736641e-01 4.77680701e-01 4.64032681e-01 2.86608420e-01 2.86608420e-01 3.13904460e-01 4.36736641e-01 2.45664360e-01 4.36736641e-01 3.41200501e-01 3.82144561e-01 3.00256440e-01 3.54848521e-01 4.23088621e-01 3.13904460e-01 4.64032681e-01 4.23088621e-01 5.45920801e-01 4.50384661e-01 4.50384661e-01 4.91328721e-01 3.68496541e-01 3.54848521e-01 4.91328721e-01 3.82144561e-01 4.64032681e-01 4.77680701e-01 3.13904460e-01 3.68496541e-01 3.68496541e-01 3.54848521e-01 4.36736641e-01 4.91328721e-01 3.00256440e-01 6.41456941e-01 3.41200501e-01 3.54848521e-01 3.82144561e-01 2.59312380e-01 4.09440601e-01 3.82144561e-01 4.91328721e-01 3.95792581e-01 3.95792581e-01 4.50384661e-01 3.82144561e-01 5.32272781e-01 3.27552481e-01 5.04976741e-01 3.00256440e-01 5.18624761e-01 4.09440601e-01 4.64032681e-01 4.91328721e-01 3.68496541e-01 4.36736641e-01 4.23088621e-01 4.09440601e-01 4.36736641e-01 5.86864861e-01 4.91328721e-01 4.91328721e-01 3.82144561e-01 5.04976741e-01 3.41200501e-01 3.68496541e-01 5.04976741e-01 4.64032681e-01 4.64032681e-01 4.64032681e-01 5.04976741e-01 3.82144561e-01 4.23088621e-01 4.91328721e-01 4.50384661e-01 4.91328721e-01 4.36736641e-01 3.41200501e-01 3.41200501e-01 3.95792581e-01 4.50384661e-01 4.09440601e-01 5.32272781e-01 5.18624761e-01 4.23088621e-01 6.00512881e-01 5.18624761e-01 3.27552481e-01 3.95792581e-01 4.50384661e-01 4.91328721e-01 4.77680701e-01 4.77680701e-01 4.64032681e-01 4.23088621e-01 4.23088621e-01 5.86864861e-01 4.23088621e-01 4.23088621e-01 5.45920801e-01 3.82144561e-01 5.32272781e-01 4.23088621e-01 5.04976741e-01 4.23088621e-01 6.00512881e-01 4.23088621e-01 5.04976741e-01 6.00512881e-01 5.18624761e-01 5.04976741e-01 4.77680701e-01 3.82144561e-01 4.64032681e-01 5.32272781e-01 6.96049021e-01 5.18624761e-01 5.04976741e-01 4.09440601e-01 3.95792581e-01 3.95792581e-01 6.55104961e-01 6.14160901e-01 4.50384661e-01 5.04976741e-01 3.82144561e-01 4.91328721e-01 4.36736641e-01 4.91328721e-01 4.50384661e-01 6.41456941e-01 4.23088621e-01 5.18624761e-01 6.14160901e-01 5.86864861e-01 6.14160901e-01 4.36736641e-01 4.50384661e-01 6.96049021e-01 5.86864861e-01 4.50384661e-01 4.50384661e-01 5.32272781e-01 4.91328721e-01 4.50384661e-01 5.18624761e-01 5.45920801e-01 5.73216841e-01 5.32272781e-01 5.59568821e-01 5.59568821e-01 4.91328721e-01 4.36736641e-01 5.04976741e-01 5.32272781e-01 5.86864861e-01 5.04976741e-01 4.23088621e-01 5.04976741e-01 6.68752981e-01 5.86864861e-01 6.41456941e-01 6.68752981e-01 4.64032681e-01 5.59568821e-01 6.55104961e-01 4.36736641e-01 6.00512881e-01 5.73216841e-01 5.86864861e-01 4.77680701e-01 5.18624761e-01 7.64289121e-01 4.77680701e-01 7.77937141e-01 6.96049021e-01 6.96049021e-01 6.41456941e-01 4.36736641e-01 6.41456941e-01 6.14160901e-01 6.41456941e-01 6.27808921e-01 6.82401001e-01 6.55104961e-01 7.36993081e-01 5.18624761e-01 6.55104961e-01 7.36993081e-01 6.82401001e-01 6.82401001e-01 6.14160901e-01 6.27808921e-01 6.14160901e-01 6.82401001e-01 6.00512881e-01 5.59568821e-01 6.96049021e-01 6.82401001e-01 6.82401001e-01 7.77937141e-01 5.86864861e-01 6.14160901e-01 6.27808921e-01 6.14160901e-01 5.86864861e-01 5.59568821e-01 5.59568821e-01 5.59568821e-01 6.41456941e-01 7.64289121e-01 7.50641101e-01 7.77937141e-01 6.00512881e-01 6.96049021e-01 6.82401001e-01 6.41456941e-01 5.59568821e-01 6.96049021e-01 6.41456941e-01 5.59568821e-01 5.86864861e-01 7.91585161e-01 6.41456941e-01 6.55104961e-01 7.77937141e-01 6.55104961e-01 8.32529221e-01 6.96049021e-01 7.50641101e-01 6.96049021e-01 7.64289121e-01 5.32272781e-01 6.96049021e-01 8.87121301e-01 7.36993081e-01 6.55104961e-01 7.09697041e-01 6.82401001e-01 6.41456941e-01 6.41456941e-01 8.46177241e-01 9.55361402e-01 7.09697041e-01 6.96049021e-01 6.96049021e-01 8.05233181e-01 6.14160901e-01 7.91585161e-01 8.05233181e-01 8.59825261e-01 7.50641101e-01 7.36993081e-01 8.05233181e-01 9.28065361e-01 8.59825261e-01 7.23345061e-01 6.55104961e-01 6.96049021e-01 8.05233181e-01 7.36993081e-01 8.18881201e-01 6.96049021e-01 8.18881201e-01 7.50641101e-01 8.87121301e-01 8.73473281e-01 9.14417341e-01 9.69009422e-01 8.46177241e-01 6.96049021e-01 1.11913764e+00 9.00769321e-01 8.59825261e-01 8.32529221e-01 1.03724952e+00 9.55361402e-01 6.55104961e-01 6.82401001e-01 8.87121301e-01 7.36993081e-01 8.59825261e-01 9.82657442e-01 9.82657442e-01 7.64289121e-01 7.50641101e-01 1.09184160e+00 9.69009422e-01 8.05233181e-01 1.07819358e+00 1.13278566e+00 9.55361402e-01 9.28065361e-01 8.73473281e-01 1.07819358e+00 1.05089754e+00 9.69009422e-01 1.00995348e+00 1.09184160e+00 1.02360150e+00 8.59825261e-01 1.00995348e+00 1.00995348e+00 1.18737774e+00 9.69009422e-01 1.05089754e+00 1.07819358e+00 1.10548962e+00 9.55361402e-01 9.69009422e-01 1.11913764e+00 1.03724952e+00 9.41713381e-01 1.14643368e+00 1.11913764e+00 9.55361402e-01 1.07819358e+00 9.96305462e-01 1.18737774e+00 1.11913764e+00 9.96305462e-01 1.29656190e+00 1.48763418e+00 1.00995348e+00 1.17372972e+00 1.37845002e+00 1.18737774e+00 9.69009422e-01 1.17372972e+00 1.06454556e+00 1.13278566e+00 1.09184160e+00 1.21467378e+00 1.35115398e+00 1.05089754e+00 1.20102576e+00 1.16008170e+00 1.06454556e+00 1.20102576e+00 1.25561784e+00 1.59681834e+00 1.35115398e+00 1.14643368e+00 1.11913764e+00 1.31020992e+00 1.24196982e+00 1.51493022e+00 1.21467378e+00 1.17372972e+00 1.37845002e+00 1.29656190e+00 1.37845002e+00 1.40574606e+00 1.66505844e+00 1.43304210e+00 1.44669012e+00 1.35115398e+00 1.37845002e+00 1.37845002e+00 1.44669012e+00 1.21467378e+00 1.43304210e+00 1.46033814e+00 1.20102576e+00 1.37845002e+00 1.55587428e+00 1.40574606e+00 1.67870646e+00 1.52857824e+00 1.50128220e+00 1.52857824e+00 1.63776240e+00 1.46033814e+00 1.37845002e+00 1.48763418e+00 1.62411438e+00 1.44669012e+00 1.77424260e+00 1.59681834e+00 1.56952230e+00 1.47398616e+00 1.56952230e+00 1.43304210e+00 1.89707478e+00 1.50128220e+00 1.82883468e+00 1.66505844e+00 1.99261092e+00 1.95166686e+00 1.78789062e+00 1.82883468e+00 2.04720300e+00 1.74694656e+00 1.84248270e+00 1.76059458e+00 1.73329854e+00 1.96531488e+00 2.01990696e+00 1.96531488e+00 1.81518666e+00 1.99261092e+00 2.04720300e+00 2.04720300e+00 2.14273914e+00 2.29286736e+00 2.00625894e+00 2.06085102e+00 1.91072280e+00 2.33381142e+00 2.14273914e+00 2.49758766e+00 2.38840350e+00 2.17003518e+00 2.25192330e+00 2.21097924e+00 2.04720300e+00 2.26557132e+00 1.95166686e+00 2.36110746e+00 2.36110746e+00 2.70230796e+00 3.02986044e+00 2.60677182e+00 2.63406786e+00 2.53853172e+00 2.67501192e+00 2.56582776e+00 2.60677182e+00 2.63406786e+00 3.04350846e+00 2.98891638e+00 2.56582776e+00 2.90702826e+00 2.56582776e+00 3.20728471e+00 2.60677182e+00 3.23458075e+00 2.75690004e+00 2.83878816e+00 2.75690004e+00 2.87973222e+00 3.02986044e+00 3.11174856e+00 3.16634064e+00 2.87973222e+00 3.19363669e+00 3.17998866e+00 3.54848521e+00 3.28917283e+00 3.49389313e+00 3.46659709e+00 3.31646887e+00 3.69861343e+00 3.37106095e+00 3.72590947e+00 3.41200501e+00 3.97157383e+00 3.84874165e+00 3.76685353e+00 3.88968571e+00 3.43930105e+00 3.63037333e+00 3.99886987e+00 3.93062977e+00 3.82144561e+00 3.68496541e+00 4.49019859e+00 4.08075799e+00 4.38101443e+00 4.49019859e+00 4.29912631e+00 4.21723819e+00 3.95792581e+00 4.35371839e+00 4.14899809e+00 4.34007037e+00 4.65397483e+00 4.42195849e+00 4.95423127e+00 5.24083969e+00 4.76315899e+00 4.98152731e+00 5.45920801e+00 5.07706345e+00 5.22719167e+00 5.04976741e+00 5.40461593e+00 4.94058325e+00 5.37731989e+00 5.86864861e+00 5.03611939e+00 6.19620109e+00 5.22719167e+00 6.07336891e+00 5.54109613e+00 5.69122435e+00 5.92324069e+00 5.93688871e+00 6.26444119e+00 5.90959267e+00 5.36367187e+00 5.62298425e+00 5.51380009e+00 5.35002385e+00 5.59568821e+00 4.85869513e+00 4.94058325e+00 5.02247137e+00 4.77680701e+00 4.55843869e+00 3.97157383e+00 4.09440601e+00 3.22093273e+00 3.87603769e+00 3.26187679e+00 2.60677182e+00 2.72960400e+00 2.26557132e+00 1.55587428e+00 1.25561784e+00 9.14417341e-01 4.77680701e-01 4.36736641e-01 6.82401001e-02 1.36480200e-02 5.45920801e-02 1.36480200e-02 - - 7.27697700e-01 1.21282950e+00 1.97784503e+00 2.36968225e+00 2.08979852e+00 2.23906985e+00 1.90320937e+00 2.03382178e+00 2.18309310e+00 2.01516286e+00 1.86589154e+00 1.64198455e+00 1.66064347e+00 1.60466672e+00 1.71662022e+00 1.45539540e+00 1.62332564e+00 1.53003106e+00 1.51137215e+00 1.53003106e+00 1.34344191e+00 1.30612408e+00 1.41807757e+00 1.25014733e+00 1.13819384e+00 1.02624035e+00 1.32478299e+00 9.88922515e-01 1.28746516e+00 1.04489926e+00 9.14286854e-01 6.53062038e-01 7.83674446e-01 8.20992277e-01 1.11953492e+00 7.65015531e-01 9.32945769e-01 1.10087601e+00 1.19417058e+00 8.58310108e-01 6.90379869e-01 9.51604684e-01 9.88922515e-01 9.70263600e-01 9.70263600e-01 7.27697700e-01 7.09038784e-01 9.51604684e-01 6.71720954e-01 8.76969023e-01 6.71720954e-01 7.09038784e-01 1.10087601e+00 7.65015531e-01 8.76969023e-01 7.09038784e-01 8.02333361e-01 7.27697700e-01 5.97085292e-01 5.78426377e-01 5.97085292e-01 4.66472885e-01 8.20992277e-01 5.41108546e-01 6.53062038e-01 7.46356615e-01 6.53062038e-01 7.65015531e-01 6.90379869e-01 5.41108546e-01 5.41108546e-01 3.91837223e-01 7.09038784e-01 6.71720954e-01 5.97085292e-01 5.97085292e-01 6.34403123e-01 5.59767461e-01 4.47813969e-01 3.73178308e-01 5.41108546e-01 5.41108546e-01 2.98542646e-01 4.29155054e-01 4.47813969e-01 5.22449631e-01 5.59767461e-01 4.66472885e-01 6.53062038e-01 5.41108546e-01 4.10496138e-01 5.78426377e-01 4.66472885e-01 6.34403123e-01 5.59767461e-01 4.66472885e-01 4.85131800e-01 4.47813969e-01 5.22449631e-01 4.29155054e-01 5.41108546e-01 5.59767461e-01 4.66472885e-01 4.85131800e-01 5.03790715e-01 5.78426377e-01 4.47813969e-01 5.78426377e-01 2.79883731e-01 4.47813969e-01 2.61224815e-01 4.47813969e-01 5.03790715e-01 5.03790715e-01 3.91837223e-01 4.66472885e-01 3.35860477e-01 6.15744208e-01 3.73178308e-01 4.47813969e-01 4.29155054e-01 4.29155054e-01 2.98542646e-01 5.78426377e-01 4.66472885e-01 4.10496138e-01 5.22449631e-01 3.91837223e-01 5.03790715e-01 3.73178308e-01 4.47813969e-01 5.78426377e-01 4.66472885e-01 4.29155054e-01 3.91837223e-01 2.61224815e-01 2.61224815e-01 4.47813969e-01 2.61224815e-01 2.61224815e-01 3.91837223e-01 3.54519392e-01 3.91837223e-01 4.85131800e-01 5.41108546e-01 2.98542646e-01 5.59767461e-01 2.98542646e-01 3.91837223e-01 3.73178308e-01 3.73178308e-01 2.79883731e-01 3.54519392e-01 2.79883731e-01 2.79883731e-01 2.98542646e-01 6.34403123e-01 4.47813969e-01 4.66472885e-01 4.29155054e-01 3.54519392e-01 3.54519392e-01 2.23906985e-01 2.23906985e-01 3.17201561e-01 3.54519392e-01 3.54519392e-01 2.61224815e-01 2.79883731e-01 2.98542646e-01 3.17201561e-01 4.10496138e-01 3.91837223e-01 3.91837223e-01 3.17201561e-01 2.42565900e-01 1.86589154e-01 3.17201561e-01 3.54519392e-01 4.10496138e-01 3.17201561e-01 4.85131800e-01 4.47813969e-01 3.73178308e-01 2.05248069e-01 3.91837223e-01 3.73178308e-01 3.17201561e-01 4.85131800e-01 3.35860477e-01 4.66472885e-01 2.61224815e-01 3.73178308e-01 3.17201561e-01 3.17201561e-01 2.79883731e-01 3.54519392e-01 2.79883731e-01 4.10496138e-01 2.79883731e-01 3.54519392e-01 2.98542646e-01 3.17201561e-01 4.10496138e-01 4.10496138e-01 4.10496138e-01 4.29155054e-01 2.98542646e-01 3.17201561e-01 2.98542646e-01 4.47813969e-01 4.10496138e-01 3.91837223e-01 2.79883731e-01 2.98542646e-01 2.42565900e-01 4.66472885e-01 3.54519392e-01 4.66472885e-01 2.98542646e-01 4.47813969e-01 2.61224815e-01 2.79883731e-01 3.54519392e-01 2.05248069e-01 2.23906985e-01 2.42565900e-01 3.35860477e-01 2.42565900e-01 4.10496138e-01 2.98542646e-01 3.17201561e-01 3.17201561e-01 2.79883731e-01 3.54519392e-01 2.05248069e-01 4.29155054e-01 2.05248069e-01 3.73178308e-01 2.42565900e-01 3.17201561e-01 2.42565900e-01 3.35860477e-01 2.61224815e-01 2.79883731e-01 2.98542646e-01 4.66472885e-01 3.73178308e-01 5.03790715e-01 2.61224815e-01 1.86589154e-01 2.23906985e-01 2.61224815e-01 2.79883731e-01 2.61224815e-01 3.54519392e-01 2.61224815e-01 2.61224815e-01 4.29155054e-01 3.73178308e-01 2.61224815e-01 3.35860477e-01 2.61224815e-01 2.42565900e-01 2.98542646e-01 4.29155054e-01 3.54519392e-01 1.86589154e-01 2.42565900e-01 3.73178308e-01 2.23906985e-01 1.86589154e-01 3.17201561e-01 4.66472885e-01 3.91837223e-01 2.79883731e-01 2.61224815e-01 2.05248069e-01 2.05248069e-01 2.79883731e-01 2.79883731e-01 2.05248069e-01 3.73178308e-01 3.35860477e-01 1.49271323e-01 4.10496138e-01 2.42565900e-01 3.17201561e-01 2.23906985e-01 3.17201561e-01 2.79883731e-01 2.42565900e-01 2.23906985e-01 4.10496138e-01 4.29155054e-01 2.23906985e-01 3.54519392e-01 2.05248069e-01 1.86589154e-01 2.79883731e-01 2.98542646e-01 3.73178308e-01 2.61224815e-01 2.79883731e-01 2.61224815e-01 3.35860477e-01 2.98542646e-01 2.61224815e-01 2.61224815e-01 2.61224815e-01 1.67930238e-01 1.67930238e-01 1.86589154e-01 2.79883731e-01 2.98542646e-01 3.35860477e-01 1.67930238e-01 3.35860477e-01 2.23906985e-01 4.85131800e-01 1.67930238e-01 3.54519392e-01 2.98542646e-01 3.17201561e-01 4.10496138e-01 3.17201561e-01 2.05248069e-01 3.17201561e-01 2.05248069e-01 2.79883731e-01 1.49271323e-01 3.35860477e-01 3.91837223e-01 2.42565900e-01 3.91837223e-01 3.73178308e-01 2.79883731e-01 2.05248069e-01 2.98542646e-01 2.42565900e-01 1.67930238e-01 2.98542646e-01 2.42565900e-01 2.61224815e-01 2.23906985e-01 3.54519392e-01 1.86589154e-01 2.98542646e-01 2.05248069e-01 3.35860477e-01 2.61224815e-01 2.42565900e-01 3.17201561e-01 3.54519392e-01 3.54519392e-01 2.79883731e-01 3.73178308e-01 3.91837223e-01 2.61224815e-01 2.79883731e-01 2.42565900e-01 2.98542646e-01 3.91837223e-01 3.54519392e-01 3.73178308e-01 2.79883731e-01 2.79883731e-01 3.73178308e-01 3.54519392e-01 3.54519392e-01 2.61224815e-01 2.98542646e-01 4.10496138e-01 2.23906985e-01 3.17201561e-01 4.29155054e-01 3.35860477e-01 3.35860477e-01 2.61224815e-01 1.67930238e-01 1.67930238e-01 2.79883731e-01 5.03790715e-01 3.17201561e-01 2.98542646e-01 3.73178308e-01 5.59767461e-01 3.73178308e-01 3.91837223e-01 4.29155054e-01 2.79883731e-01 3.91837223e-01 3.35860477e-01 3.54519392e-01 4.10496138e-01 5.97085292e-01 4.47813969e-01 4.85131800e-01 2.98542646e-01 4.66472885e-01 3.73178308e-01 4.10496138e-01 2.61224815e-01 3.91837223e-01 4.47813969e-01 2.05248069e-01 5.78426377e-01 3.54519392e-01 2.98542646e-01 4.29155054e-01 2.98542646e-01 4.47813969e-01 4.10496138e-01 3.35860477e-01 4.29155054e-01 4.85131800e-01 5.78426377e-01 3.54519392e-01 5.78426377e-01 5.03790715e-01 4.10496138e-01 3.91837223e-01 5.22449631e-01 3.91837223e-01 4.47813969e-01 2.98542646e-01 2.98542646e-01 5.22449631e-01 4.85131800e-01 3.91837223e-01 5.22449631e-01 4.66472885e-01 5.03790715e-01 3.73178308e-01 5.41108546e-01 4.66472885e-01 5.59767461e-01 4.47813969e-01 4.10496138e-01 6.53062038e-01 5.41108546e-01 6.15744208e-01 6.53062038e-01 5.78426377e-01 6.71720954e-01 5.41108546e-01 6.34403123e-01 5.78426377e-01 4.66472885e-01 7.83674446e-01 7.83674446e-01 8.39651192e-01 6.53062038e-01 6.15744208e-01 8.58310108e-01 6.34403123e-01 3.73178308e-01 6.15744208e-01 6.15744208e-01 8.76969023e-01 4.85131800e-01 7.46356615e-01 6.71720954e-01 9.14286854e-01 8.20992277e-01 6.15744208e-01 5.41108546e-01 7.09038784e-01 8.76969023e-01 8.95627938e-01 8.20992277e-01 8.39651192e-01 9.14286854e-01 7.27697700e-01 8.20992277e-01 5.78426377e-01 9.14286854e-01 9.14286854e-01 7.46356615e-01 1.02624035e+00 9.32945769e-01 9.14286854e-01 1.00758143e+00 9.51604684e-01 8.76969023e-01 1.02624035e+00 1.26880625e+00 1.13819384e+00 1.19417058e+00 1.04489926e+00 1.23148842e+00 1.41807757e+00 1.28746516e+00 1.21282950e+00 1.45539540e+00 1.06355818e+00 1.66064347e+00 1.30612408e+00 1.38075974e+00 1.30612408e+00 1.38075974e+00 1.84723262e+00 1.64198455e+00 1.67930238e+00 1.56734889e+00 1.60466672e+00 1.71662022e+00 1.88455045e+00 1.67930238e+00 1.86589154e+00 2.14577527e+00 1.86589154e+00 2.18309310e+00 2.12711635e+00 2.35102334e+00 2.07113961e+00 2.40700008e+00 2.18309310e+00 2.29504659e+00 2.72420165e+00 2.46297683e+00 2.66822490e+00 2.89213188e+00 2.64956598e+00 2.55627141e+00 2.72420165e+00 2.64956598e+00 2.89213188e+00 3.37726368e+00 3.11603887e+00 3.04140321e+00 3.04140321e+00 2.96676755e+00 2.72420165e+00 3.26531019e+00 3.19067453e+00 3.45189935e+00 2.59358924e+00 3.30262802e+00 2.55627141e+00 2.48163575e+00 2.57493032e+00 2.72420165e+00 2.79883731e+00 2.68688381e+00 2.50029466e+00 2.50029466e+00 2.03382178e+00 1.75393805e+00 2.25772876e+00 2.01516286e+00 1.84723262e+00 1.77259696e+00 1.56734889e+00 1.71662022e+00 1.64198455e+00 1.49271323e+00 1.26880625e+00 1.17551167e+00 1.04489926e+00 1.19417058e+00 8.20992277e-01 9.32945769e-01 8.39651192e-01 6.53062038e-01 6.34403123e-01 6.15744208e-01 6.53062038e-01 6.90379869e-01 8.39651192e-01 4.10496138e-01 6.90379869e-01 4.29155054e-01 6.53062038e-01 4.85131800e-01 4.85131800e-01 4.85131800e-01 4.10496138e-01 4.47813969e-01 1.30612408e-01 2.23906985e-01 2.98542646e-01 1.30612408e-01 3.17201561e-01 2.05248069e-01 2.05248069e-01 1.49271323e-01 7.46356615e-02 3.17201561e-01 7.46356615e-02 1.86589154e-01 1.30612408e-01 7.46356615e-02 1.11953492e-01 9.32945769e-02 9.32945769e-02 9.32945769e-02 1.67930238e-01 9.32945769e-02 1.86589154e-02 5.59767461e-02 7.46356615e-02 1.86589154e-02 3.73178308e-02 1.67930238e-01 5.59767461e-02 7.46356615e-02 5.59767461e-02 1.86589154e-02 1.86589154e-02 1.86589154e-02 1.86589154e-02 0.00000000e+00 3.73178308e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.73178308e-02 7.46356615e-02 3.73178308e-02 1.86589154e-02 3.73178308e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.73178308e-02 3.73178308e-02 0.00000000e+00 1.86589154e-02 1.86589154e-02 0.00000000e+00 1.86589154e-02 0.00000000e+00 5.59767461e-02 1.86589154e-02 0.00000000e+00 0.00000000e+00 1.86589154e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86589154e-02 0.00000000e+00 1.86589154e-02 1.86589154e-02 0.00000000e+00 1.86589154e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86589154e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86589154e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86589154e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 3.50451595e-01 1.01241572e+00 2.37528303e+00 3.07618622e+00 4.01072381e+00 4.90632233e+00 6.15237244e+00 5.87979898e+00 6.15237244e+00 6.65858030e+00 6.50282404e+00 6.50282404e+00 6.23025057e+00 7.67099602e+00 5.72404272e+00 6.34706777e+00 6.65858030e+00 6.89221470e+00 5.33465205e+00 5.95767711e+00 5.37359112e+00 5.64616458e+00 5.76298178e+00 5.49040832e+00 5.41253019e+00 4.78950513e+00 6.42494590e+00 5.45146925e+00 5.17889579e+00 5.49040832e+00 5.29571299e+00 4.63374886e+00 4.43905353e+00 5.60722552e+00 4.47799260e+00 4.94526139e+00 4.98420046e+00 4.86738326e+00 4.78950513e+00 4.90632233e+00 3.73815034e+00 4.75056606e+00 4.28329727e+00 4.04966287e+00 4.47799260e+00 4.12754101e+00 4.04966287e+00 4.08860194e+00 4.20541914e+00 4.04966287e+00 4.28329727e+00 3.50451595e+00 4.04966287e+00 3.97178474e+00 3.54345501e+00 3.58239408e+00 3.50451595e+00 3.03724716e+00 3.62133315e+00 2.92042996e+00 2.80361276e+00 3.27088155e+00 2.95936902e+00 2.95936902e+00 2.99830809e+00 2.99830809e+00 3.07618622e+00 3.34875968e+00 2.56997836e+00 3.34875968e+00 2.88149089e+00 3.23194249e+00 3.07618622e+00 2.60891743e+00 2.18058770e+00 3.62133315e+00 2.80361276e+00 2.60891743e+00 2.06377050e+00 2.72573463e+00 2.41422210e+00 3.23194249e+00 2.02483144e+00 2.45316116e+00 2.06377050e+00 2.21952677e+00 2.10270957e+00 2.14164863e+00 2.41422210e+00 2.06377050e+00 2.10270957e+00 2.29740490e+00 2.10270957e+00 1.98589237e+00 2.21952677e+00 2.25846583e+00 2.45316116e+00 1.94695330e+00 2.41422210e+00 1.83013611e+00 1.83013611e+00 1.86907517e+00 1.98589237e+00 2.14164863e+00 1.83013611e+00 1.67437984e+00 2.41422210e+00 2.21952677e+00 2.18058770e+00 2.18058770e+00 1.94695330e+00 1.90801424e+00 1.63544078e+00 1.71331891e+00 1.24605011e+00 2.14164863e+00 2.25846583e+00 1.47968451e+00 2.10270957e+00 1.71331891e+00 1.79119704e+00 1.86907517e+00 1.67437984e+00 1.71331891e+00 1.44074545e+00 1.55756264e+00 1.63544078e+00 1.98589237e+00 1.71331891e+00 2.21952677e+00 1.59650171e+00 1.32392825e+00 1.20711105e+00 1.20711105e+00 1.40180638e+00 1.83013611e+00 2.18058770e+00 1.47968451e+00 1.55756264e+00 1.79119704e+00 1.75225797e+00 1.16817198e+00 1.44074545e+00 1.40180638e+00 1.67437984e+00 1.32392825e+00 1.90801424e+00 1.51862358e+00 1.24605011e+00 1.36286731e+00 2.10270957e+00 1.83013611e+00 1.71331891e+00 1.51862358e+00 1.55756264e+00 1.40180638e+00 1.47968451e+00 1.79119704e+00 1.47968451e+00 1.67437984e+00 1.20711105e+00 1.55756264e+00 1.55756264e+00 1.40180638e+00 1.24605011e+00 1.01241572e+00 1.01241572e+00 1.40180638e+00 1.16817198e+00 1.20711105e+00 1.44074545e+00 1.40180638e+00 1.24605011e+00 1.16817198e+00 1.28498918e+00 1.12923292e+00 1.40180638e+00 1.20711105e+00 7.78781322e-01 1.09029385e+00 1.20711105e+00 1.05135478e+00 1.55756264e+00 1.20711105e+00 1.09029385e+00 9.34537586e-01 1.05135478e+00 7.39842256e-01 1.05135478e+00 1.36286731e+00 1.59650171e+00 1.20711105e+00 1.36286731e+00 1.05135478e+00 1.40180638e+00 1.24605011e+00 1.16817198e+00 8.56659454e-01 1.36286731e+00 1.01241572e+00 1.12923292e+00 1.20711105e+00 1.12923292e+00 1.01241572e+00 1.09029385e+00 9.73476652e-01 9.73476652e-01 1.09029385e+00 7.39842256e-01 1.05135478e+00 1.16817198e+00 1.32392825e+00 1.16817198e+00 9.73476652e-01 8.95598520e-01 7.39842256e-01 8.17720388e-01 1.12923292e+00 9.73476652e-01 8.17720388e-01 8.17720388e-01 1.40180638e+00 9.73476652e-01 1.20711105e+00 5.45146925e-01 8.95598520e-01 1.12923292e+00 1.09029385e+00 1.36286731e+00 8.17720388e-01 1.09029385e+00 7.00903190e-01 7.39842256e-01 1.01241572e+00 9.34537586e-01 6.61964124e-01 1.01241572e+00 9.73476652e-01 9.73476652e-01 1.28498918e+00 9.34537586e-01 8.56659454e-01 7.78781322e-01 5.45146925e-01 1.05135478e+00 8.95598520e-01 6.61964124e-01 5.84085991e-01 7.39842256e-01 1.01241572e+00 8.56659454e-01 8.17720388e-01 8.17720388e-01 6.61964124e-01 7.00903190e-01 8.17720388e-01 6.61964124e-01 9.34537586e-01 7.78781322e-01 8.17720388e-01 8.56659454e-01 9.34537586e-01 9.73476652e-01 7.00903190e-01 6.23025057e-01 7.39842256e-01 8.95598520e-01 8.95598520e-01 6.23025057e-01 7.78781322e-01 8.17720388e-01 6.61964124e-01 7.39842256e-01 7.39842256e-01 8.17720388e-01 7.00903190e-01 7.39842256e-01 7.78781322e-01 9.34537586e-01 8.17720388e-01 7.00903190e-01 7.00903190e-01 1.16817198e+00 7.00903190e-01 9.34537586e-01 7.78781322e-01 6.23025057e-01 7.00903190e-01 8.17720388e-01 1.05135478e+00 4.28329727e-01 4.28329727e-01 7.78781322e-01 1.01241572e+00 6.23025057e-01 8.17720388e-01 5.06207859e-01 6.61964124e-01 6.61964124e-01 7.00903190e-01 5.84085991e-01 4.67268793e-01 5.45146925e-01 7.78781322e-01 8.56659454e-01 4.28329727e-01 6.23025057e-01 6.61964124e-01 6.61964124e-01 8.56659454e-01 5.45146925e-01 8.95598520e-01 5.84085991e-01 8.17720388e-01 7.78781322e-01 5.06207859e-01 5.84085991e-01 8.17720388e-01 6.61964124e-01 5.45146925e-01 5.45146925e-01 6.23025057e-01 8.17720388e-01 5.06207859e-01 8.56659454e-01 6.23025057e-01 3.89390661e-01 5.45146925e-01 6.61964124e-01 7.39842256e-01 3.89390661e-01 7.00903190e-01 7.39842256e-01 5.45146925e-01 6.23025057e-01 6.23025057e-01 5.84085991e-01 4.28329727e-01 9.34537586e-01 7.39842256e-01 8.17720388e-01 7.00903190e-01 5.84085991e-01 6.23025057e-01 8.17720388e-01 5.45146925e-01 3.50451595e-01 5.84085991e-01 5.45146925e-01 3.89390661e-01 3.89390661e-01 4.67268793e-01 3.89390661e-01 5.06207859e-01 5.84085991e-01 5.06207859e-01 5.06207859e-01 8.17720388e-01 7.39842256e-01 6.23025057e-01 4.67268793e-01 7.00903190e-01 5.45146925e-01 3.50451595e-01 5.06207859e-01 5.45146925e-01 5.84085991e-01 5.06207859e-01 5.06207859e-01 3.11512529e-01 4.67268793e-01 4.67268793e-01 7.39842256e-01 3.50451595e-01 5.06207859e-01 2.72573463e-01 3.89390661e-01 5.45146925e-01 6.61964124e-01 7.78781322e-01 5.45146925e-01 5.84085991e-01 5.84085991e-01 5.84085991e-01 5.45146925e-01 4.28329727e-01 7.00903190e-01 6.23025057e-01 5.45146925e-01 4.67268793e-01 3.89390661e-01 5.84085991e-01 8.17720388e-01 6.23025057e-01 5.84085991e-01 8.56659454e-01 4.67268793e-01 4.28329727e-01 6.23025057e-01 3.89390661e-01 3.50451595e-01 4.67268793e-01 6.61964124e-01 3.89390661e-01 4.28329727e-01 5.84085991e-01 6.61964124e-01 6.23025057e-01 7.00903190e-01 7.00903190e-01 1.94695330e-01 4.28329727e-01 3.89390661e-01 5.45146925e-01 6.61964124e-01 5.06207859e-01 5.45146925e-01 3.89390661e-01 6.61964124e-01 5.45146925e-01 3.89390661e-01 3.50451595e-01 3.50451595e-01 3.89390661e-01 7.39842256e-01 5.84085991e-01 3.89390661e-01 6.61964124e-01 3.11512529e-01 5.84085991e-01 7.00903190e-01 3.89390661e-01 4.28329727e-01 3.11512529e-01 5.45146925e-01 4.28329727e-01 5.06207859e-01 5.84085991e-01 3.89390661e-01 4.67268793e-01 6.23025057e-01 4.28329727e-01 6.23025057e-01 5.45146925e-01 6.23025057e-01 5.06207859e-01 4.67268793e-01 5.06207859e-01 5.84085991e-01 5.84085991e-01 3.89390661e-01 5.06207859e-01 5.45146925e-01 2.72573463e-01 4.28329727e-01 2.33634397e-01 5.06207859e-01 3.89390661e-01 4.28329727e-01 3.89390661e-01 3.11512529e-01 7.00903190e-01 3.89390661e-01 2.33634397e-01 4.67268793e-01 4.67268793e-01 5.06207859e-01 5.84085991e-01 3.89390661e-01 3.89390661e-01 3.89390661e-01 5.84085991e-01 3.11512529e-01 5.45146925e-01 4.28329727e-01 3.11512529e-01 4.67268793e-01 5.45146925e-01 3.11512529e-01 5.84085991e-01 4.28329727e-01 3.50451595e-01 3.89390661e-01 5.06207859e-01 3.11512529e-01 3.89390661e-01 1.55756264e-01 4.28329727e-01 5.06207859e-01 5.06207859e-01 3.11512529e-01 4.28329727e-01 2.72573463e-01 4.28329727e-01 5.84085991e-01 2.72573463e-01 2.33634397e-01 4.67268793e-01 4.28329727e-01 3.89390661e-01 5.84085991e-01 4.67268793e-01 3.89390661e-01 5.06207859e-01 2.72573463e-01 3.11512529e-01 5.84085991e-01 3.11512529e-01 4.28329727e-01 3.11512529e-01 1.94695330e-01 2.72573463e-01 5.06207859e-01 3.50451595e-01 3.11512529e-01 3.11512529e-01 5.06207859e-01 3.89390661e-01 3.11512529e-01 5.06207859e-01 4.28329727e-01 2.33634397e-01 2.72573463e-01 2.72573463e-01 3.89390661e-01 3.50451595e-01 3.50451595e-01 4.28329727e-01 3.11512529e-01 4.67268793e-01 1.94695330e-01 3.89390661e-01 3.89390661e-01 4.67268793e-01 4.28329727e-01 5.06207859e-01 3.11512529e-01 5.06207859e-01 5.45146925e-01 8.56659454e-01 3.89390661e-01 3.50451595e-01 7.00903190e-01 2.72573463e-01 3.11512529e-01 2.33634397e-01 3.11512529e-01 5.06207859e-01 2.72573463e-01 3.11512529e-01 5.45146925e-01 5.06207859e-01 4.28329727e-01 2.72573463e-01 5.06207859e-01 4.67268793e-01 5.45146925e-01 4.28329727e-01 4.67268793e-01 2.33634397e-01 4.28329727e-01 2.33634397e-01 3.11512529e-01 1.55756264e-01 5.45146925e-01 3.89390661e-01 2.72573463e-01 3.11512529e-01 5.06207859e-01 3.11512529e-01 5.45146925e-01 2.33634397e-01 1.94695330e-01 2.72573463e-01 3.50451595e-01 6.61964124e-01 3.50451595e-01 3.11512529e-01 2.33634397e-01 1.94695330e-01 3.11512529e-01 5.06207859e-01 3.11512529e-01 3.50451595e-01 1.94695330e-01 3.89390661e-01 2.33634397e-01 1.16817198e-01 5.45146925e-01 6.23025057e-01 3.89390661e-01 1.94695330e-01 2.33634397e-01 1.55756264e-01 3.50451595e-01 3.89390661e-01 3.11512529e-01 5.06207859e-01 2.72573463e-01 3.11512529e-01 4.67268793e-01 3.89390661e-01 3.50451595e-01 4.67268793e-01 3.11512529e-01 3.11512529e-01 4.67268793e-01 2.72573463e-01 6.23025057e-01 3.50451595e-01 4.28329727e-01 2.33634397e-01 3.89390661e-01 2.72573463e-01 1.94695330e-01 4.67268793e-01 3.50451595e-01 1.94695330e-01 3.89390661e-01 3.50451595e-01 2.72573463e-01 1.94695330e-01 4.28329727e-01 5.06207859e-01 3.50451595e-01 3.11512529e-01 3.11512529e-01 2.72573463e-01 3.11512529e-01 3.89390661e-01 4.28329727e-01 2.33634397e-01 2.72573463e-01 6.23025057e-01 1.94695330e-01 2.33634397e-01 1.94695330e-01 2.33634397e-01 3.50451595e-01 2.33634397e-01 3.50451595e-01 2.33634397e-01 5.45146925e-01 3.50451595e-01 2.72573463e-01 3.89390661e-01 2.72573463e-01 7.78781322e-02 3.11512529e-01 1.55756264e-01 3.11512529e-01 4.67268793e-01 1.55756264e-01 3.89390661e-01 1.55756264e-01 2.33634397e-01 1.94695330e-01 3.89390661e-01 4.28329727e-01 3.50451595e-01 2.33634397e-01 3.89390661e-01 1.94695330e-01 2.72573463e-01 2.72573463e-01 4.28329727e-01 3.11512529e-01 4.67268793e-01 3.50451595e-01 2.72573463e-01 3.50451595e-01 4.28329727e-01 2.72573463e-01 3.50451595e-01 2.72573463e-01 2.33634397e-01 1.16817198e-01 1.55756264e-01 3.50451595e-01 3.89390661e-02 2.33634397e-01 2.33634397e-01 2.33634397e-01 3.11512529e-01 2.72573463e-01 2.72573463e-01 4.28329727e-01 1.94695330e-01 2.33634397e-01 1.94695330e-01 3.50451595e-01 3.11512529e-01 1.94695330e-01 1.94695330e-01 2.33634397e-01 3.11512529e-01 3.11512529e-01 2.33634397e-01 3.50451595e-01 2.72573463e-01 3.50451595e-01 1.94695330e-01 3.11512529e-01 6.23025057e-01 1.55756264e-01 1.55756264e-01 5.06207859e-01 5.06207859e-01 1.94695330e-01 2.72573463e-01 3.89390661e-01 7.78781322e-02 3.11512529e-01 2.33634397e-01 3.50451595e-01 2.72573463e-01 1.16817198e-01 3.11512529e-01 5.45146925e-01 1.55756264e-01 4.28329727e-01 3.89390661e-01 4.28329727e-01 1.94695330e-01 4.67268793e-01 2.72573463e-01 2.72573463e-01 3.50451595e-01 2.72573463e-01 2.72573463e-01 2.72573463e-01 1.94695330e-01 2.33634397e-01 2.33634397e-01 1.55756264e-01 3.50451595e-01 7.78781322e-02 5.06207859e-01 1.94695330e-01 3.11512529e-01 3.89390661e-02 3.11512529e-01 1.16817198e-01 3.89390661e-01 1.94695330e-01 3.50451595e-01 3.11512529e-01 1.16817198e-01 3.11512529e-01 3.50451595e-01 4.67268793e-01 1.94695330e-01 3.11512529e-01 3.11512529e-01 1.16817198e-01 1.55756264e-01 1.16817198e-01 3.89390661e-01 7.78781322e-02 3.11512529e-01 3.11512529e-01 2.72573463e-01 3.11512529e-01 2.33634397e-01 3.89390661e-01 1.55756264e-01 2.72573463e-01 2.72573463e-01 4.28329727e-01 1.16817198e-01 4.28329727e-01 1.55756264e-01 2.33634397e-01 2.33634397e-01 1.55756264e-01 2.33634397e-01 1.94695330e-01 4.28329727e-01 2.33634397e-01 2.33634397e-01 1.55756264e-01 3.11512529e-01 3.11512529e-01 2.33634397e-01 1.16817198e-01 1.55756264e-01 2.72573463e-01 2.33634397e-01 1.94695330e-01 1.16817198e-01 2.72573463e-01 7.78781322e-02 3.89390661e-01 2.72573463e-01 1.55756264e-01 2.33634397e-01 1.94695330e-01 1.16817198e-01 7.78781322e-02 1.16817198e-01 2.72573463e-01 2.33634397e-01 1.55756264e-01 3.50451595e-01 3.50451595e-01 3.11512529e-01 1.55756264e-01 1.94695330e-01 7.78781322e-02 3.50451595e-01 3.11512529e-01 1.55756264e-01 3.11512529e-01 3.11512529e-01 1.94695330e-01 2.72573463e-01 2.33634397e-01 3.89390661e-02 1.55756264e-01 3.50451595e-01 2.72573463e-01 2.33634397e-01 3.89390661e-01 1.55756264e-01 5.45146925e-01 1.55756264e-01 3.89390661e-02 1.94695330e-01 1.94695330e-01 1.55756264e-01 4.28329727e-01 2.72573463e-01 1.16817198e-01 3.89390661e-02 1.55756264e-01 3.89390661e-02 1.55756264e-01 3.11512529e-01 3.11512529e-01 7.78781322e-02 3.11512529e-01 5.06207859e-01 2.72573463e-01 1.94695330e-01 3.89390661e-01 2.72573463e-01 3.89390661e-01 1.16817198e-01 2.72573463e-01 2.72573463e-01 2.33634397e-01 2.33634397e-01 2.33634397e-01 1.94695330e-01 1.16817198e-01 1.55756264e-01 2.33634397e-01 2.33634397e-01 3.50451595e-01 1.94695330e-01 3.50451595e-01 3.50451595e-01 2.72573463e-01 1.94695330e-01 3.50451595e-01 1.16817198e-01 1.55756264e-01 1.94695330e-01 2.72573463e-01 7.78781322e-02 2.72573463e-01 1.94695330e-01 2.72573463e-01 2.33634397e-01 2.33634397e-01 2.72573463e-01 2.33634397e-01 1.16817198e-01 1.16817198e-01 2.72573463e-01 1.55756264e-01 3.11512529e-01 2.72573463e-01 3.11512529e-01 1.94695330e-01 3.89390661e-02 1.55756264e-01 1.94695330e-01 2.33634397e-01 3.11512529e-01 2.72573463e-01 3.11512529e-01 7.78781322e-02 2.33634397e-01 2.33634397e-01 4.67268793e-01 7.78781322e-02 1.94695330e-01 1.94695330e-01 1.16817198e-01 2.72573463e-01 2.72573463e-01 2.33634397e-01 2.33634397e-01 3.11512529e-01 7.78781322e-02 2.72573463e-01 2.33634397e-01 3.89390661e-01 1.16817198e-01 2.72573463e-01 3.89390661e-02 3.11512529e-01 2.33634397e-01 3.50451595e-01 3.11512529e-01 2.72573463e-01 2.72573463e-01 2.33634397e-01 2.72573463e-01 1.55756264e-01 1.94695330e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 7.78781322e-02 1.94695330e-01 3.11512529e-01 1.55756264e-01 1.16817198e-01 1.94695330e-01 1.16817198e-01 7.78781322e-02 2.33634397e-01 3.89390661e-02 7.78781322e-02 1.94695330e-01 1.55756264e-01 7.78781322e-02 3.11512529e-01 1.55756264e-01 1.94695330e-01 2.33634397e-01 3.50451595e-01 1.94695330e-01 7.78781322e-02 1.16817198e-01 7.78781322e-02 3.50451595e-01 1.94695330e-01 2.72573463e-01 1.55756264e-01 1.94695330e-01 1.94695330e-01 7.78781322e-02 1.55756264e-01 1.55756264e-01 1.55756264e-01 1.94695330e-01 2.72573463e-01 1.94695330e-01 1.94695330e-01 7.78781322e-02 2.33634397e-01 3.11512529e-01 1.94695330e-01 2.33634397e-01 1.16817198e-01 1.16817198e-01 2.72573463e-01 1.16817198e-01 3.50451595e-01 1.16817198e-01 1.55756264e-01 1.16817198e-01 1.55756264e-01 3.50451595e-01 3.11512529e-01 1.16817198e-01 1.94695330e-01 1.16817198e-01 1.55756264e-01 1.94695330e-01 1.16817198e-01 2.33634397e-01 4.28329727e-01 7.78781322e-02 1.55756264e-01 1.55756264e-01 2.33634397e-01 2.72573463e-01 7.78781322e-02 7.78781322e-02 1.55756264e-01 3.11512529e-01 3.50451595e-01 1.16817198e-01 2.33634397e-01 1.16817198e-01 2.72573463e-01 1.94695330e-01 1.16817198e-01 2.33634397e-01 1.94695330e-01 2.72573463e-01 3.11512529e-01 3.11512529e-01 3.89390661e-02 3.89390661e-01 3.11512529e-01 1.94695330e-01 1.55756264e-01 3.11512529e-01 3.89390661e-02 2.72573463e-01 1.94695330e-01 2.33634397e-01 2.72573463e-01 2.33634397e-01 3.89390661e-01 2.33634397e-01 3.50451595e-01 1.55756264e-01 3.11512529e-01 3.89390661e-01 3.89390661e-01 1.94695330e-01 1.55756264e-01 2.33634397e-01 1.16817198e-01 1.94695330e-01 7.78781322e-02 1.55756264e-01 7.78781322e-02 1.16817198e-01 1.94695330e-01 1.55756264e-01 1.55756264e-01 7.78781322e-02 1.94695330e-01 2.33634397e-01 1.55756264e-01 1.55756264e-01 1.55756264e-01 2.33634397e-01 7.78781322e-02 2.33634397e-01 3.11512529e-01 1.55756264e-01 7.78781322e-02 1.55756264e-01 1.16817198e-01 3.89390661e-02 1.94695330e-01 1.55756264e-01 2.72573463e-01 2.72573463e-01 4.28329727e-01 1.94695330e-01 1.55756264e-01 2.33634397e-01 7.78781322e-02 1.16817198e-01 1.94695330e-01 1.94695330e-01 2.72573463e-01 2.72573463e-01 1.16817198e-01 1.16817198e-01 1.94695330e-01 2.72573463e-01 1.94695330e-01 2.33634397e-01 1.16817198e-01 1.94695330e-01 1.16817198e-01 1.94695330e-01 2.72573463e-01 2.33634397e-01 1.16817198e-01 2.72573463e-01 1.94695330e-01 2.72573463e-01 1.55756264e-01 1.55756264e-01 1.55756264e-01 3.89390661e-01 1.16817198e-01 1.16817198e-01 2.33634397e-01 1.55756264e-01 1.16817198e-01 1.16817198e-01 1.94695330e-01 2.33634397e-01 3.89390661e-02 1.94695330e-01 1.55756264e-01 1.55756264e-01 1.55756264e-01 3.50451595e-01 2.72573463e-01 7.78781322e-02 1.55756264e-01 1.94695330e-01 7.78781322e-02 1.16817198e-01 7.78781322e-02 1.55756264e-01 1.94695330e-01 2.33634397e-01 1.55756264e-01 3.89390661e-02 7.78781322e-02 2.33634397e-01 2.33634397e-01 1.16817198e-01 2.72573463e-01 1.16817198e-01 3.89390661e-02 1.94695330e-01 1.94695330e-01 1.16817198e-01 1.94695330e-01 1.55756264e-01 0.00000000e+00 3.89390661e-02 1.94695330e-01 1.55756264e-01 1.94695330e-01 3.11512529e-01 1.55756264e-01 2.33634397e-01 1.94695330e-01 2.33634397e-01 1.55756264e-01 1.55756264e-01 1.55756264e-01 3.11512529e-01 1.55756264e-01 1.94695330e-01 7.78781322e-02 3.89390661e-02 1.16817198e-01 1.16817198e-01 1.94695330e-01 2.33634397e-01 2.72573463e-01 2.33634397e-01 7.78781322e-02 2.33634397e-01 2.33634397e-01 1.16817198e-01 1.16817198e-01 2.33634397e-01 2.72573463e-01 1.55756264e-01 1.16817198e-01 7.78781322e-02 1.55756264e-01 1.94695330e-01 1.94695330e-01 2.33634397e-01 1.16817198e-01 7.78781322e-02 1.55756264e-01 1.94695330e-01 1.94695330e-01 7.78781322e-02 2.72573463e-01 1.16817198e-01 2.72573463e-01 3.50451595e-01 1.16817198e-01 1.94695330e-01 3.89390661e-02 1.16817198e-01 3.89390661e-02 1.94695330e-01 3.11512529e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 3.50451595e-01 4.28329727e-01 1.55756264e-01 1.16817198e-01 3.11512529e-01 1.94695330e-01 1.16817198e-01 1.55756264e-01 7.78781322e-02 3.89390661e-02 1.94695330e-01 1.16817198e-01 2.33634397e-01 1.16817198e-01 2.72573463e-01 1.55756264e-01 1.55756264e-01 1.16817198e-01 4.28329727e-01 2.33634397e-01 1.16817198e-01 1.55756264e-01 7.78781322e-02 1.16817198e-01 1.55756264e-01 1.55756264e-01 1.16817198e-01 7.78781322e-02 1.94695330e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 1.94695330e-01 7.78781322e-02 1.94695330e-01 7.78781322e-02 3.89390661e-01 3.89390661e-02 1.55756264e-01 1.94695330e-01 2.33634397e-01 2.72573463e-01 2.33634397e-01 0.00000000e+00 7.78781322e-02 2.72573463e-01 7.78781322e-02 7.78781322e-02 1.16817198e-01 7.78781322e-02 7.78781322e-02 1.94695330e-01 2.33634397e-01 7.78781322e-02 2.33634397e-01 2.33634397e-01 1.55756264e-01 1.16817198e-01 1.16817198e-01 3.11512529e-01 1.55756264e-01 1.16817198e-01 2.33634397e-01 1.16817198e-01 1.16817198e-01 7.78781322e-02 2.33634397e-01 2.72573463e-01 1.94695330e-01 1.55756264e-01 7.78781322e-02 3.89390661e-02 7.78781322e-02 3.50451595e-01 1.55756264e-01 1.16817198e-01 1.16817198e-01 1.94695330e-01 1.94695330e-01 7.78781322e-02 1.94695330e-01 2.33634397e-01 1.94695330e-01 2.33634397e-01 1.16817198e-01 2.33634397e-01 1.55756264e-01 1.55756264e-01 3.89390661e-02 1.55756264e-01 1.55756264e-01 1.55756264e-01 7.78781322e-02 7.78781322e-02 7.78781322e-02 2.33634397e-01 1.55756264e-01 1.16817198e-01 1.16817198e-01 1.16817198e-01 1.55756264e-01 1.16817198e-01 7.78781322e-02 1.16817198e-01 3.89390661e-02 2.33634397e-01 1.16817198e-01 2.72573463e-01 1.16817198e-01 1.55756264e-01 7.78781322e-02 1.94695330e-01 7.78781322e-02 2.33634397e-01 7.78781322e-02 1.94695330e-01 1.55756264e-01 1.55756264e-01 7.78781322e-02 2.33634397e-01 1.16817198e-01 1.94695330e-01 2.33634397e-01 1.94695330e-01 1.55756264e-01 7.78781322e-02 7.78781322e-02 1.94695330e-01 3.11512529e-01 2.33634397e-01 1.16817198e-01 3.11512529e-01 2.72573463e-01 3.89390661e-02 2.72573463e-01 3.89390661e-02 1.16817198e-01 3.89390661e-02 1.94695330e-01 1.55756264e-01 1.55756264e-01 1.55756264e-01 7.78781322e-02 1.16817198e-01 1.94695330e-01 1.55756264e-01 7.78781322e-02 2.72573463e-01 3.89390661e-02 7.78781322e-02 2.33634397e-01 1.94695330e-01 1.55756264e-01 2.33634397e-01 3.11512529e-01 7.78781322e-02 7.78781322e-02 1.55756264e-01 1.16817198e-01 7.78781322e-02 7.78781322e-02 3.11512529e-01 1.16817198e-01 1.94695330e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 1.55756264e-01 2.33634397e-01 1.55756264e-01 3.50451595e-01 7.78781322e-02 3.89390661e-02 3.89390661e-01 1.55756264e-01 2.33634397e-01 7.78781322e-02 1.55756264e-01 1.94695330e-01 0.00000000e+00 1.55756264e-01 1.16817198e-01 1.55756264e-01 7.78781322e-02 1.16817198e-01 2.33634397e-01 1.94695330e-01 1.16817198e-01 7.78781322e-02 1.94695330e-01 2.33634397e-01 7.78781322e-02 2.72573463e-01 1.55756264e-01 7.78781322e-02 1.94695330e-01 1.55756264e-01 1.16817198e-01 2.33634397e-01 1.94695330e-01 2.33634397e-01 3.11512529e-01 1.55756264e-01 7.78781322e-02 7.78781322e-02 1.94695330e-01 1.55756264e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 1.16817198e-01 7.78781322e-02 1.16817198e-01 2.33634397e-01 1.94695330e-01 1.94695330e-01 1.55756264e-01 3.89390661e-02 7.78781322e-02 1.55756264e-01 1.55756264e-01 1.16817198e-01 1.16817198e-01 1.16817198e-01 1.55756264e-01 2.33634397e-01 7.78781322e-02 7.78781322e-02 1.16817198e-01 7.78781322e-02 7.78781322e-02 1.55756264e-01 1.16817198e-01 1.55756264e-01 1.16817198e-01 1.94695330e-01 1.55756264e-01 1.55756264e-01 1.55756264e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 7.78781322e-02 1.55756264e-01 1.55756264e-01 7.78781322e-02 2.33634397e-01 2.33634397e-01 1.94695330e-01 3.89390661e-02 1.55756264e-01 7.78781322e-02 1.16817198e-01 1.16817198e-01 1.16817198e-01 1.94695330e-01 1.55756264e-01 1.16817198e-01 1.94695330e-01 7.78781322e-02 3.89390661e-02 1.16817198e-01 1.16817198e-01 1.55756264e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 1.16817198e-01 1.94695330e-01 1.16817198e-01 3.89390661e-02 3.50451595e-01 1.16817198e-01 1.16817198e-01 1.16817198e-01 1.94695330e-01 7.78781322e-02 1.55756264e-01 2.33634397e-01 7.78781322e-02 1.16817198e-01 1.16817198e-01 7.78781322e-02 7.78781322e-02 1.16817198e-01 1.55756264e-01 2.33634397e-01 1.16817198e-01 7.78781322e-02 3.89390661e-02 1.16817198e-01 7.78781322e-02 7.78781322e-02 2.33634397e-01 1.16817198e-01 7.78781322e-02 1.55756264e-01 7.78781322e-02 1.16817198e-01 1.16817198e-01 1.16817198e-01 1.55756264e-01 7.78781322e-02 1.94695330e-01 0.00000000e+00 1.94695330e-01 1.16817198e-01 1.16817198e-01 1.16817198e-01 1.16817198e-01 7.78781322e-02 3.11512529e-01 1.16817198e-01 3.11512529e-01 3.89390661e-02 1.16817198e-01 1.55756264e-01 7.78781322e-02 2.72573463e-01 1.55756264e-01 2.33634397e-01 7.78781322e-02 7.78781322e-02 2.33634397e-01 1.55756264e-01 7.78781322e-02 3.89390661e-02 3.89390661e-02 1.94695330e-01 2.33634397e-01 1.94695330e-01 1.94695330e-01 1.94695330e-01 0.00000000e+00 1.55756264e-01 2.72573463e-01 3.89390661e-02 3.89390661e-02 2.72573463e-01 7.78781322e-02 1.55756264e-01 2.33634397e-01 1.94695330e-01 1.55756264e-01 1.55756264e-01 1.16817198e-01 1.55756264e-01 3.89390661e-01 1.55756264e-01 3.89390661e-02 1.55756264e-01 1.94695330e-01 7.78781322e-02 1.16817198e-01 2.33634397e-01 1.55756264e-01 1.16817198e-01 1.94695330e-01 1.94695330e-01 1.55756264e-01 7.78781322e-02 7.78781322e-02 1.55756264e-01 1.94695330e-01 1.16817198e-01 1.16817198e-01 7.78781322e-02 1.16817198e-01 1.16817198e-01 7.78781322e-02 1.16817198e-01 1.94695330e-01 1.16817198e-01 2.33634397e-01 1.55756264e-01 1.94695330e-01 1.55756264e-01 3.89390661e-02 3.89390661e-02 1.16817198e-01 1.16817198e-01 1.55756264e-01 1.16817198e-01 1.55756264e-01 2.72573463e-01 1.94695330e-01 3.89390661e-02 1.16817198e-01 1.55756264e-01 1.16817198e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 2.33634397e-01 3.89390661e-02 7.78781322e-02 7.78781322e-02 3.89390661e-02 7.78781322e-02 3.89390661e-02 2.72573463e-01 1.55756264e-01 1.94695330e-01 1.16817198e-01 1.94695330e-01 1.16817198e-01 1.55756264e-01 2.72573463e-01 1.16817198e-01 1.16817198e-01 2.72573463e-01 1.94695330e-01 1.94695330e-01 1.16817198e-01 1.16817198e-01 7.78781322e-02 2.33634397e-01 2.33634397e-01 1.16817198e-01 7.78781322e-02 7.78781322e-02 1.55756264e-01 1.55756264e-01 2.72573463e-01 7.78781322e-02 2.72573463e-01 7.78781322e-02 1.55756264e-01 1.16817198e-01 3.89390661e-02 7.78781322e-02 1.55756264e-01 3.89390661e-02 1.55756264e-01 1.94695330e-01 7.78781322e-02 1.16817198e-01 2.33634397e-01 3.89390661e-02 1.16817198e-01 2.33634397e-01 1.16817198e-01 7.78781322e-02 1.16817198e-01 7.78781322e-02 7.78781322e-02 1.16817198e-01 3.89390661e-02 1.55756264e-01 7.78781322e-02 1.16817198e-01 1.55756264e-01 1.55756264e-01 1.16817198e-01 1.94695330e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 1.94695330e-01 7.78781322e-02 3.89390661e-02 7.78781322e-02 1.55756264e-01 1.16817198e-01 2.33634397e-01 0.00000000e+00 1.55756264e-01 1.94695330e-01 1.94695330e-01 1.94695330e-01 3.11512529e-01 0.00000000e+00 3.89390661e-02 7.78781322e-02 1.55756264e-01 7.78781322e-02 0.00000000e+00 0.00000000e+00 3.89390661e-02 1.55756264e-01 0.00000000e+00 1.55756264e-01 3.89390661e-02 2.33634397e-01 1.55756264e-01 7.78781322e-02 1.55756264e-01 3.89390661e-02 1.16817198e-01 1.16817198e-01 7.78781322e-02 1.55756264e-01 1.16817198e-01 1.16817198e-01 1.94695330e-01 3.89390661e-02 1.94695330e-01 3.11512529e-01 2.33634397e-01 7.78781322e-02 1.16817198e-01 3.11512529e-01 3.89390661e-02 7.78781322e-02 7.78781322e-02 1.55756264e-01 0.00000000e+00 1.16817198e-01 3.89390661e-02 1.94695330e-01 7.78781322e-02 7.78781322e-02 7.78781322e-02 1.16817198e-01 1.55756264e-01 1.94695330e-01 1.94695330e-01 1.55756264e-01 7.78781322e-02 1.16817198e-01 3.89390661e-02 1.55756264e-01 2.72573463e-01 1.94695330e-01 3.89390661e-02 3.11512529e-01 1.55756264e-01 1.94695330e-01 1.55756264e-01 3.11512529e-01 1.55756264e-01 1.16817198e-01 1.16817198e-01 0.00000000e+00 1.94695330e-01 3.89390661e-02 1.16817198e-01 1.55756264e-01 7.78781322e-02 1.94695330e-01 1.55756264e-01 1.16817198e-01 2.33634397e-01 7.78781322e-02 1.55756264e-01 2.72573463e-01 1.55756264e-01 2.33634397e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 7.78781322e-02 1.55756264e-01 0.00000000e+00 2.33634397e-01 7.78781322e-02 1.55756264e-01 1.16817198e-01 1.55756264e-01 3.89390661e-02 1.16817198e-01 3.89390661e-02 1.55756264e-01 3.89390661e-02 2.33634397e-01 1.55756264e-01 3.89390661e-02 3.89390661e-02 1.55756264e-01 7.78781322e-02 7.78781322e-02 2.33634397e-01 3.89390661e-02 7.78781322e-02 1.16817198e-01 1.94695330e-01 0.00000000e+00 2.72573463e-01 3.89390661e-01 7.78781322e-02 1.16817198e-01 1.16817198e-01 7.78781322e-02 1.16817198e-01 1.55756264e-01 7.78781322e-02 3.89390661e-02 1.16817198e-01 1.55756264e-01 1.16817198e-01 1.55756264e-01 1.16817198e-01 1.94695330e-01 3.89390661e-02 1.94695330e-01 2.72573463e-01 7.78781322e-02 1.16817198e-01 3.89390661e-02 1.55756264e-01 7.78781322e-02 1.16817198e-01 7.78781322e-02 1.55756264e-01 1.55756264e-01 1.16817198e-01 7.78781322e-02 1.55756264e-01 3.89390661e-02 7.78781322e-02 1.94695330e-01 1.16817198e-01 3.89390661e-02 7.78781322e-02 2.33634397e-01 7.78781322e-02 2.33634397e-01 1.94695330e-01 3.89390661e-02 1.16817198e-01 1.55756264e-01 2.33634397e-01 1.55756264e-01 7.78781322e-02 7.78781322e-02 1.55756264e-01 1.94695330e-01 7.78781322e-02 1.16817198e-01 1.94695330e-01 1.55756264e-01 1.94695330e-01 1.94695330e-01 1.16817198e-01 7.78781322e-02 1.55756264e-01 1.55756264e-01 2.72573463e-01 1.16817198e-01 1.55756264e-01 1.16817198e-01 1.16817198e-01 3.89390661e-02 2.72573463e-01 1.55756264e-01 3.11512529e-01 3.89390661e-01 1.55756264e-01 1.94695330e-01 1.16817198e-01 2.33634397e-01 3.50451595e-01 7.78781322e-02 2.33634397e-01 2.33634397e-01 2.33634397e-01 7.78781322e-02 7.78781322e-02 1.55756264e-01 1.16817198e-01 2.72573463e-01 3.11512529e-01 1.16817198e-01 1.55756264e-01 1.16817198e-01 1.94695330e-01 1.55756264e-01 2.72573463e-01 1.94695330e-01 7.78781322e-02 2.33634397e-01 1.55756264e-01 2.33634397e-01 1.94695330e-01 2.72573463e-01 1.55756264e-01 3.89390661e-02 3.89390661e-02 3.89390661e-02 1.94695330e-01 1.94695330e-01 1.16817198e-01 7.78781322e-02 2.33634397e-01 3.89390661e-02 2.72573463e-01 3.89390661e-02 1.94695330e-01 1.16817198e-01 1.55756264e-01 0.00000000e+00 1.94695330e-01 2.72573463e-01 7.78781322e-02 1.94695330e-01 1.16817198e-01 7.78781322e-02 1.16817198e-01 2.33634397e-01 4.28329727e-01 1.94695330e-01 2.33634397e-01 2.33634397e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 1.94695330e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 7.78781322e-02 1.94695330e-01 1.55756264e-01 1.16817198e-01 2.33634397e-01 1.16817198e-01 1.55756264e-01 7.78781322e-02 1.55756264e-01 1.55756264e-01 7.78781322e-02 1.94695330e-01 1.55756264e-01 1.55756264e-01 1.16817198e-01 1.55756264e-01 2.72573463e-01 4.28329727e-01 0.00000000e+00 1.94695330e-01 1.55756264e-01 1.55756264e-01 3.11512529e-01 1.94695330e-01 1.94695330e-01 1.16817198e-01 2.72573463e-01 7.78781322e-02 7.78781322e-02 2.33634397e-01 1.94695330e-01 1.16817198e-01 7.78781322e-02 2.33634397e-01 3.89390661e-02 3.50451595e-01 7.78781322e-02 1.55756264e-01 3.89390661e-02 2.33634397e-01 1.16817198e-01 1.55756264e-01 3.89390661e-02 1.16817198e-01 1.94695330e-01 2.33634397e-01 1.94695330e-01 1.16817198e-01 0.00000000e+00 1.16817198e-01 3.89390661e-02 1.94695330e-01 1.55756264e-01 1.16817198e-01 1.16817198e-01 1.55756264e-01 1.55756264e-01 1.55756264e-01 1.16817198e-01 1.94695330e-01 1.94695330e-01 1.55756264e-01 1.16817198e-01 2.33634397e-01 7.78781322e-02 0.00000000e+00 1.55756264e-01 1.55756264e-01 1.16817198e-01 1.55756264e-01 2.72573463e-01 1.16817198e-01 3.89390661e-02 1.55756264e-01 7.78781322e-02 1.55756264e-01 2.72573463e-01 3.89390661e-02 1.55756264e-01 7.78781322e-02 3.89390661e-02 7.78781322e-02 1.16817198e-01 3.89390661e-02 1.16817198e-01 1.94695330e-01 7.78781322e-02 1.16817198e-01 7.78781322e-02 7.78781322e-02 7.78781322e-02 1.16817198e-01 0.00000000e+00 7.78781322e-02 3.89390661e-02 1.94695330e-01 1.94695330e-01 3.89390661e-02 7.78781322e-02 1.16817198e-01 3.89390661e-02 3.89390661e-02 3.89390661e-02 0.00000000e+00 3.89390661e-02 7.78781322e-02 3.89390661e-02 0.00000000e+00 7.78781322e-02 3.89390661e-02 0.00000000e+00 7.78781322e-02 0.00000000e+00 0.00000000e+00 3.89390661e-02 0.00000000e+00 0.00000000e+00 3.89390661e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_fb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_fb_BDTG.weights.xml index 6889258b3b34..7c967c64abba 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_fb_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/el_pteta_medium_fb_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - - - - + + + + - - - - + + + + @@ -73,5924 +73,5969 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.11377337e-02 3.11377337e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.22754673e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 3.11377337e-02 3.11377337e-02 0.00000000e+00 3.11377337e-02 3.11377337e-02 0.00000000e+00 6.22754673e-02 0.00000000e+00 3.11377337e-02 6.22754673e-02 0.00000000e+00 3.11377337e-02 0.00000000e+00 3.11377337e-02 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.11377337e-02 3.11377337e-02 9.34132010e-02 0.00000000e+00 6.22754673e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.22754673e-02 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.11377337e-02 3.11377337e-02 3.11377337e-02 6.22754673e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 3.11377337e-02 1.24550935e-01 0.00000000e+00 3.11377337e-02 3.11377337e-02 3.11377337e-02 3.11377337e-02 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.22754673e-02 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 3.11377337e-02 6.22754673e-02 0.00000000e+00 6.22754673e-02 3.11377337e-02 6.22754673e-02 0.00000000e+00 3.11377337e-02 3.11377337e-02 0.00000000e+00 6.22754673e-02 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 6.22754673e-02 0.00000000e+00 6.22754673e-02 0.00000000e+00 6.22754673e-02 3.11377337e-02 0.00000000e+00 3.11377337e-02 0.00000000e+00 3.11377337e-02 3.11377337e-02 6.22754673e-02 3.11377337e-02 0.00000000e+00 3.11377337e-02 3.11377337e-02 3.11377337e-02 6.22754673e-02 0.00000000e+00 3.11377337e-02 3.11377337e-02 6.22754673e-02 0.00000000e+00 6.22754673e-02 9.34132010e-02 3.11377337e-02 9.34132010e-02 6.22754673e-02 3.11377337e-02 0.00000000e+00 1.24550935e-01 0.00000000e+00 1.24550935e-01 0.00000000e+00 3.11377337e-02 6.22754673e-02 3.11377337e-02 0.00000000e+00 3.11377337e-02 3.11377337e-02 3.11377337e-02 6.22754673e-02 6.22754673e-02 6.22754673e-02 3.11377337e-02 3.11377337e-02 3.11377337e-02 3.11377337e-02 6.22754673e-02 3.11377337e-02 3.11377337e-02 6.22754673e-02 6.22754673e-02 3.11377337e-02 6.22754673e-02 3.11377337e-02 0.00000000e+00 6.22754673e-02 6.22754673e-02 1.24550935e-01 3.11377337e-02 3.11377337e-02 0.00000000e+00 9.34132010e-02 6.22754673e-02 9.34132010e-02 3.11377337e-02 1.55688668e-01 9.34132010e-02 0.00000000e+00 6.22754673e-02 0.00000000e+00 6.22754673e-02 1.55688668e-01 1.24550935e-01 6.22754673e-02 1.55688668e-01 6.22754673e-02 3.11377337e-02 9.34132010e-02 6.22754673e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 3.11377337e-02 9.34132010e-02 9.34132010e-02 1.55688668e-01 9.34132010e-02 3.11377337e-02 1.86826402e-01 1.86826402e-01 2.49101869e-01 1.24550935e-01 3.11377337e-02 6.22754673e-02 1.24550935e-01 3.11377337e-02 9.34132010e-02 2.17964136e-01 1.55688668e-01 1.86826402e-01 1.55688668e-01 6.22754673e-02 1.24550935e-01 1.55688668e-01 0.00000000e+00 0.00000000e+00 3.11377337e-02 6.22754673e-02 1.24550935e-01 1.86826402e-01 9.34132010e-02 6.22754673e-02 6.22754673e-02 6.22754673e-02 6.22754673e-02 2.80239603e-01 9.34132010e-02 6.22754673e-02 1.24550935e-01 6.22754673e-02 9.34132010e-02 3.11377337e-02 6.22754673e-02 9.34132010e-02 1.24550935e-01 1.55688668e-01 0.00000000e+00 1.24550935e-01 3.11377337e-02 6.22754673e-02 1.86826402e-01 2.80239603e-01 1.55688668e-01 1.24550935e-01 1.24550935e-01 9.34132010e-02 1.24550935e-01 1.24550935e-01 1.86826402e-01 9.34132010e-02 1.24550935e-01 6.22754673e-02 1.86826402e-01 1.55688668e-01 1.24550935e-01 2.49101869e-01 9.34132010e-02 9.34132010e-02 1.55688668e-01 1.24550935e-01 1.86826402e-01 1.55688668e-01 2.49101869e-01 9.34132010e-02 9.34132010e-02 6.22754673e-02 6.22754673e-02 9.34132010e-02 2.17964136e-01 9.34132010e-02 2.17964136e-01 1.55688668e-01 1.86826402e-01 1.24550935e-01 1.86826402e-01 9.34132010e-02 6.22754673e-02 9.34132010e-02 1.55688668e-01 1.55688668e-01 1.55688668e-01 2.49101869e-01 3.11377337e-02 9.34132010e-02 9.34132010e-02 9.34132010e-02 1.55688668e-01 2.80239603e-01 2.17964136e-01 1.55688668e-01 3.11377337e-02 1.86826402e-01 3.42515070e-01 2.17964136e-01 1.55688668e-01 2.17964136e-01 1.86826402e-01 1.55688668e-01 1.86826402e-01 3.11377337e-01 1.24550935e-01 9.34132010e-02 3.11377337e-01 9.34132010e-02 2.80239603e-01 6.22754673e-02 3.11377337e-01 2.49101869e-01 1.55688668e-01 1.86826402e-01 2.80239603e-01 2.17964136e-01 1.24550935e-01 1.55688668e-01 1.55688668e-01 1.24550935e-01 9.34132010e-02 3.11377337e-01 2.17964136e-01 1.55688668e-01 3.11377337e-01 1.55688668e-01 3.11377337e-01 9.34132010e-02 2.49101869e-01 2.80239603e-01 1.55688668e-01 2.80239603e-01 2.80239603e-01 1.24550935e-01 1.86826402e-01 2.49101869e-01 3.11377337e-01 3.42515070e-01 3.42515070e-01 1.24550935e-01 6.22754673e-02 3.11377337e-01 2.49101869e-01 1.24550935e-01 2.17964136e-01 1.55688668e-01 2.80239603e-01 1.55688668e-01 1.24550935e-01 4.04790537e-01 3.11377337e-01 2.80239603e-01 3.11377337e-01 3.42515070e-01 2.49101869e-01 3.11377337e-01 3.73652804e-01 3.42515070e-01 2.49101869e-01 2.17964136e-01 2.17964136e-01 1.55688668e-01 2.17964136e-01 2.17964136e-01 2.17964136e-01 6.22754673e-02 2.49101869e-01 3.11377337e-01 1.86826402e-01 3.11377337e-01 3.11377337e-01 3.73652804e-01 4.67066005e-01 4.04790537e-01 2.17964136e-01 3.42515070e-01 3.73652804e-01 3.42515070e-01 2.17964136e-01 3.73652804e-01 4.35928271e-01 2.80239603e-01 2.49101869e-01 2.80239603e-01 3.73652804e-01 4.04790537e-01 3.11377337e-01 2.49101869e-01 4.35928271e-01 4.04790537e-01 3.11377337e-01 2.49101869e-01 3.73652804e-01 1.86826402e-01 3.73652804e-01 3.42515070e-01 2.49101869e-01 4.35928271e-01 3.42515070e-01 2.49101869e-01 4.35928271e-01 2.49101869e-01 3.42515070e-01 3.73652804e-01 4.04790537e-01 2.80239603e-01 4.04790537e-01 3.73652804e-01 4.35928271e-01 4.67066005e-01 3.42515070e-01 7.16167874e-01 2.17964136e-01 1.55688668e-01 2.49101869e-01 5.60479206e-01 4.67066005e-01 4.67066005e-01 5.29341472e-01 5.29341472e-01 4.04790537e-01 5.29341472e-01 7.16167874e-01 6.85030140e-01 7.78443341e-01 5.60479206e-01 2.17964136e-01 5.60479206e-01 5.29341472e-01 4.35928271e-01 5.29341472e-01 5.91616939e-01 4.04790537e-01 5.29341472e-01 4.35928271e-01 3.73652804e-01 5.60479206e-01 6.53892407e-01 6.22754673e-01 6.53892407e-01 6.85030140e-01 7.78443341e-01 8.09581075e-01 5.91616939e-01 5.60479206e-01 6.22754673e-01 8.40718809e-01 6.22754673e-01 6.53892407e-01 7.78443341e-01 9.34132010e-01 8.71856542e-01 6.22754673e-01 1.05868294e+00 7.16167874e-01 6.22754673e-01 1.02754521e+00 9.02994276e-01 5.60479206e-01 1.08982068e+00 1.05868294e+00 1.49461122e+00 9.02994276e-01 8.40718809e-01 1.08982068e+00 1.15209615e+00 7.16167874e-01 1.27664708e+00 9.34132010e-01 1.12095841e+00 1.12095841e+00 1.46347348e+00 1.33892255e+00 1.24550935e+00 1.33892255e+00 1.12095841e+00 1.40119801e+00 1.46347348e+00 1.46347348e+00 1.77485082e+00 1.58802442e+00 1.65029988e+00 1.37006028e+00 1.96167722e+00 1.93053949e+00 2.36646776e+00 1.99281495e+00 1.77485082e+00 1.99281495e+00 2.27305456e+00 2.24191682e+00 2.52215643e+00 2.30419229e+00 2.77125829e+00 2.39760549e+00 2.45988096e+00 3.05149790e+00 2.74012056e+00 3.17604883e+00 3.05149790e+00 3.33173750e+00 3.02036016e+00 3.30059977e+00 3.36287523e+00 3.61197710e+00 3.79880351e+00 3.82994124e+00 4.39042044e+00 3.73652804e+00 4.20359404e+00 4.35928271e+00 3.51856390e+00 5.29341472e+00 4.76407325e+00 4.54610911e+00 4.79521098e+00 4.82634872e+00 5.26227699e+00 5.66706752e+00 5.07545059e+00 5.10658832e+00 5.51137886e+00 5.66706752e+00 4.91976192e+00 5.38682792e+00 5.63592979e+00 6.16527126e+00 5.85389393e+00 5.54251659e+00 4.73293551e+00 5.66706752e+00 4.73293551e+00 6.13413353e+00 5.20000152e+00 5.85389393e+00 5.01317512e+00 5.94730713e+00 4.26586951e+00 4.88862418e+00 5.29341472e+00 4.45269591e+00 4.54610911e+00 4.54610911e+00 4.45269591e+00 4.73293551e+00 4.04790537e+00 3.20718657e+00 3.61197710e+00 2.70898283e+00 2.77125829e+00 3.05149790e+00 2.14850362e+00 2.39760549e+00 3.17604883e+00 2.17964136e+00 2.33533002e+00 2.14850362e+00 2.42874322e+00 2.08622815e+00 2.11736589e+00 1.65029988e+00 1.93053949e+00 1.55688668e+00 1.49461122e+00 1.58802442e+00 1.21437161e+00 1.68143762e+00 1.15209615e+00 1.24550935e+00 1.12095841e+00 1.30778481e+00 9.65269743e-01 7.16167874e-01 9.34132010e-01 1.05868294e+00 1.12095841e+00 1.05868294e+00 7.78443341e-01 8.09581075e-01 7.16167874e-01 8.40718809e-01 6.22754673e-01 7.78443341e-01 6.85030140e-01 4.98203738e-01 4.67066005e-01 6.22754673e-01 5.60479206e-01 6.22754673e-01 4.04790537e-01 3.42515070e-01 4.67066005e-01 3.42515070e-01 3.73652804e-01 3.73652804e-01 4.04790537e-01 3.73652804e-01 3.42515070e-01 4.04790537e-01 2.49101869e-01 2.49101869e-01 2.80239603e-01 4.04790537e-01 3.11377337e-01 2.80239603e-01 2.80239603e-01 1.55688668e-01 1.55688668e-01 1.55688668e-01 6.22754673e-02 1.86826402e-01 1.86826402e-01 2.80239603e-01 1.55688668e-01 9.34132010e-02 3.11377337e-01 9.34132010e-02 1.24550935e-01 6.22754673e-02 1.55688668e-01 6.22754673e-02 9.34132010e-02 9.34132010e-02 6.22754673e-02 3.11377337e-02 3.11377337e-02 1.24550935e-01 1.55688668e-01 9.34132010e-02 3.11377337e-02 9.34132010e-02 6.22754673e-02 6.22754673e-02 1.24550935e-01 3.11377337e-02 3.11377337e-02 9.34132010e-02 0.00000000e+00 6.22754673e-02 3.11377337e-02 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 6.22754673e-02 9.34132010e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 6.22754673e-02 0.00000000e+00 3.11377337e-02 6.22754673e-02 6.22754673e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 3.11377337e-02 0.00000000e+00 3.11377337e-02 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.22754673e-02 3.11377337e-02 0.00000000e+00 3.11377337e-02 6.22754673e-02 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 3.11377337e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 1.24192739e-02 1.24192739e-02 0.00000000e+00 0.00000000e+00 1.24192739e-02 3.72578218e-02 2.48385479e-02 0.00000000e+00 0.00000000e+00 1.24192739e-02 2.48385479e-02 2.48385479e-02 2.48385479e-02 2.48385479e-02 1.24192739e-02 1.24192739e-02 1.24192739e-02 1.24192739e-02 2.48385479e-02 2.48385479e-02 1.24192739e-02 2.48385479e-02 3.72578218e-02 2.48385479e-02 6.20963696e-02 2.48385479e-02 6.20963696e-02 4.96770957e-02 1.24192739e-02 3.72578218e-02 7.45156436e-02 7.45156436e-02 6.20963696e-02 3.72578218e-02 2.48385479e-02 2.48385479e-02 2.48385479e-02 7.45156436e-02 4.96770957e-02 1.24192739e-02 2.48385479e-02 4.96770957e-02 6.20963696e-02 4.96770957e-02 6.20963696e-02 6.20963696e-02 6.20963696e-02 3.72578218e-02 1.24192739e-02 4.96770957e-02 4.96770957e-02 1.24192739e-02 2.48385479e-02 7.45156436e-02 7.45156436e-02 0.00000000e+00 1.24192739e-02 9.93541914e-02 7.45156436e-02 8.69349175e-02 3.72578218e-02 7.45156436e-02 6.20963696e-02 6.20963696e-02 8.69349175e-02 8.69349175e-02 9.93541914e-02 3.72578218e-02 4.96770957e-02 8.69349175e-02 9.93541914e-02 7.45156436e-02 7.45156436e-02 6.20963696e-02 4.96770957e-02 9.93541914e-02 7.45156436e-02 6.20963696e-02 2.48385479e-02 6.20963696e-02 6.20963696e-02 8.69349175e-02 1.24192739e-01 6.20963696e-02 4.96770957e-02 4.96770957e-02 1.24192739e-01 4.96770957e-02 4.96770957e-02 1.61450561e-01 1.11773465e-01 1.11773465e-01 1.11773465e-01 0.00000000e+00 7.45156436e-02 9.93541914e-02 7.45156436e-02 8.69349175e-02 8.69349175e-02 3.72578218e-02 4.96770957e-02 7.45156436e-02 4.96770957e-02 1.98708383e-01 9.93541914e-02 9.93541914e-02 8.69349175e-02 1.11773465e-01 1.24192739e-01 7.45156436e-02 8.69349175e-02 1.36612013e-01 7.45156436e-02 8.69349175e-02 3.72578218e-02 8.69349175e-02 4.96770957e-02 7.45156436e-02 6.20963696e-02 8.69349175e-02 9.93541914e-02 7.45156436e-02 9.93541914e-02 7.45156436e-02 1.24192739e-01 3.72578218e-02 8.69349175e-02 9.93541914e-02 4.96770957e-02 6.20963696e-02 2.48385479e-02 8.69349175e-02 3.72578218e-02 1.36612013e-01 8.69349175e-02 1.11773465e-01 1.24192739e-01 1.11773465e-01 1.36612013e-01 6.20963696e-02 1.49031287e-01 1.36612013e-01 6.20963696e-02 1.11773465e-01 3.72578218e-02 6.20963696e-02 4.96770957e-02 1.98708383e-01 9.93541914e-02 3.72578218e-02 4.96770957e-02 6.20963696e-02 8.69349175e-02 7.45156436e-02 1.24192739e-01 8.69349175e-02 8.69349175e-02 6.20963696e-02 8.69349175e-02 7.45156436e-02 1.24192739e-01 1.24192739e-01 1.24192739e-01 9.93541914e-02 3.72578218e-02 4.96770957e-02 8.69349175e-02 1.11773465e-01 9.93541914e-02 1.86289109e-01 1.36612013e-01 2.48385479e-02 7.45156436e-02 7.45156436e-02 6.20963696e-02 1.11773465e-01 2.48385479e-02 1.36612013e-01 9.93541914e-02 1.11773465e-01 4.96770957e-02 1.49031287e-01 8.69349175e-02 8.69349175e-02 9.93541914e-02 4.96770957e-02 1.73869835e-01 9.93541914e-02 9.93541914e-02 7.45156436e-02 1.61450561e-01 8.69349175e-02 9.93541914e-02 7.45156436e-02 9.93541914e-02 9.93541914e-02 1.11773465e-01 7.45156436e-02 1.49031287e-01 6.20963696e-02 8.69349175e-02 9.93541914e-02 9.93541914e-02 1.86289109e-01 1.11773465e-01 8.69349175e-02 4.96770957e-02 1.61450561e-01 6.20963696e-02 7.45156436e-02 9.93541914e-02 1.36612013e-01 1.11773465e-01 7.45156436e-02 9.93541914e-02 9.93541914e-02 9.93541914e-02 1.36612013e-01 6.20963696e-02 1.73869835e-01 7.45156436e-02 1.36612013e-01 1.11773465e-01 6.20963696e-02 1.49031287e-01 4.96770957e-02 8.69349175e-02 1.49031287e-01 7.45156436e-02 7.45156436e-02 1.11773465e-01 1.11773465e-01 1.24192739e-01 4.96770957e-02 6.20963696e-02 1.36612013e-01 1.49031287e-01 7.45156436e-02 1.86289109e-01 6.20963696e-02 1.11773465e-01 1.11773465e-01 8.69349175e-02 1.36612013e-01 1.61450561e-01 4.96770957e-02 1.61450561e-01 9.93541914e-02 4.96770957e-02 8.69349175e-02 7.45156436e-02 1.24192739e-01 1.49031287e-01 1.24192739e-01 8.69349175e-02 1.11773465e-01 1.36612013e-01 7.45156436e-02 1.11773465e-01 1.61450561e-01 4.96770957e-02 1.49031287e-01 2.23546931e-01 3.72578218e-02 1.11773465e-01 1.24192739e-01 7.45156436e-02 7.45156436e-02 1.24192739e-02 9.93541914e-02 1.61450561e-01 8.69349175e-02 3.72578218e-02 6.20963696e-02 4.96770957e-02 6.20963696e-02 1.11773465e-01 1.11773465e-01 9.93541914e-02 1.49031287e-01 1.49031287e-01 7.45156436e-02 1.24192739e-01 8.69349175e-02 1.24192739e-01 9.93541914e-02 8.69349175e-02 1.36612013e-01 9.93541914e-02 1.36612013e-01 1.49031287e-01 7.45156436e-02 1.24192739e-01 9.93541914e-02 1.11773465e-01 1.49031287e-01 1.24192739e-01 8.69349175e-02 7.45156436e-02 1.11773465e-01 1.49031287e-01 3.72578218e-02 1.36612013e-01 9.93541914e-02 1.36612013e-01 1.11773465e-01 7.45156436e-02 8.69349175e-02 9.93541914e-02 1.11773465e-01 1.11773465e-01 6.20963696e-02 2.11127657e-01 7.45156436e-02 1.11773465e-01 1.61450561e-01 1.11773465e-01 7.45156436e-02 1.11773465e-01 1.11773465e-01 1.86289109e-01 8.69349175e-02 1.11773465e-01 1.24192739e-01 9.93541914e-02 7.45156436e-02 1.86289109e-01 8.69349175e-02 1.24192739e-01 1.11773465e-01 8.69349175e-02 8.69349175e-02 9.93541914e-02 1.98708383e-01 1.61450561e-01 1.11773465e-01 9.93541914e-02 1.61450561e-01 6.20963696e-02 1.49031287e-01 1.49031287e-01 1.24192739e-01 8.69349175e-02 1.36612013e-01 9.93541914e-02 7.45156436e-02 7.45156436e-02 8.69349175e-02 7.45156436e-02 8.69349175e-02 9.93541914e-02 9.93541914e-02 1.11773465e-01 2.11127657e-01 1.11773465e-01 1.49031287e-01 1.73869835e-01 9.93541914e-02 1.73869835e-01 1.49031287e-01 6.20963696e-02 1.24192739e-01 8.69349175e-02 8.69349175e-02 3.72578218e-02 1.36612013e-01 1.24192739e-01 9.93541914e-02 9.93541914e-02 1.49031287e-01 1.11773465e-01 1.11773465e-01 1.11773465e-01 1.61450561e-01 2.48385479e-02 7.45156436e-02 9.93541914e-02 7.45156436e-02 1.11773465e-01 9.93541914e-02 1.36612013e-01 1.49031287e-01 1.11773465e-01 4.96770957e-02 9.93541914e-02 8.69349175e-02 9.93541914e-02 1.61450561e-01 1.24192739e-01 8.69349175e-02 9.93541914e-02 1.86289109e-01 1.36612013e-01 9.93541914e-02 1.11773465e-01 1.36612013e-01 1.11773465e-01 1.36612013e-01 9.93541914e-02 1.86289109e-01 1.24192739e-01 6.20963696e-02 6.20963696e-02 1.61450561e-01 8.69349175e-02 1.11773465e-01 1.36612013e-01 1.11773465e-01 1.11773465e-01 1.61450561e-01 1.36612013e-01 1.11773465e-01 9.93541914e-02 1.49031287e-01 1.49031287e-01 8.69349175e-02 3.72578218e-02 7.45156436e-02 7.45156436e-02 1.36612013e-01 1.24192739e-01 4.96770957e-02 1.61450561e-01 7.45156436e-02 2.11127657e-01 1.36612013e-01 1.49031287e-01 7.45156436e-02 1.49031287e-01 1.11773465e-01 1.24192739e-01 9.93541914e-02 1.36612013e-01 1.11773465e-01 1.36612013e-01 9.93541914e-02 1.36612013e-01 9.93541914e-02 1.98708383e-01 8.69349175e-02 8.69349175e-02 1.61450561e-01 1.11773465e-01 1.49031287e-01 1.49031287e-01 1.11773465e-01 8.69349175e-02 1.36612013e-01 1.36612013e-01 1.61450561e-01 1.86289109e-01 7.45156436e-02 6.20963696e-02 9.93541914e-02 9.93541914e-02 1.11773465e-01 1.24192739e-01 7.45156436e-02 6.20963696e-02 9.93541914e-02 1.36612013e-01 1.36612013e-01 6.20963696e-02 1.36612013e-01 7.45156436e-02 1.11773465e-01 1.36612013e-01 9.93541914e-02 1.24192739e-02 7.45156436e-02 1.49031287e-01 1.49031287e-01 1.24192739e-01 9.93541914e-02 8.69349175e-02 1.86289109e-01 9.93541914e-02 1.49031287e-01 1.49031287e-01 1.73869835e-01 8.69349175e-02 9.93541914e-02 1.49031287e-01 8.69349175e-02 9.93541914e-02 2.23546931e-01 1.73869835e-01 1.49031287e-01 9.93541914e-02 1.49031287e-01 1.36612013e-01 2.23546931e-01 1.36612013e-01 8.69349175e-02 9.93541914e-02 1.49031287e-01 7.45156436e-02 8.69349175e-02 1.11773465e-01 1.11773465e-01 1.36612013e-01 1.49031287e-01 1.24192739e-01 8.69349175e-02 8.69349175e-02 4.96770957e-02 2.48385479e-02 1.24192739e-01 8.69349175e-02 1.49031287e-01 1.24192739e-01 1.49031287e-01 6.20963696e-02 1.49031287e-01 6.20963696e-02 1.11773465e-01 1.11773465e-01 1.36612013e-01 7.45156436e-02 9.93541914e-02 7.45156436e-02 1.11773465e-01 1.36612013e-01 8.69349175e-02 1.24192739e-01 1.49031287e-01 1.36612013e-01 1.36612013e-01 7.45156436e-02 2.11127657e-01 1.11773465e-01 1.61450561e-01 1.49031287e-01 1.24192739e-01 8.69349175e-02 1.24192739e-01 1.73869835e-01 1.73869835e-01 8.69349175e-02 9.93541914e-02 7.45156436e-02 1.11773465e-01 1.49031287e-01 1.36612013e-01 3.72578218e-02 1.73869835e-01 1.49031287e-01 1.36612013e-01 1.36612013e-01 1.24192739e-01 1.98708383e-01 1.61450561e-01 1.98708383e-01 1.11773465e-01 9.93541914e-02 9.93541914e-02 6.20963696e-02 9.93541914e-02 8.69349175e-02 1.11773465e-01 1.24192739e-01 1.73869835e-01 1.49031287e-01 1.24192739e-01 6.20963696e-02 1.98708383e-01 1.61450561e-01 1.36612013e-01 1.49031287e-01 1.24192739e-01 1.36612013e-01 1.73869835e-01 8.69349175e-02 1.24192739e-01 1.11773465e-01 6.20963696e-02 1.36612013e-01 9.93541914e-02 8.69349175e-02 6.20963696e-02 1.24192739e-01 9.93541914e-02 2.23546931e-01 1.24192739e-01 7.45156436e-02 1.24192739e-01 1.11773465e-01 1.73869835e-01 8.69349175e-02 9.93541914e-02 1.36612013e-01 1.61450561e-01 1.49031287e-01 1.61450561e-01 1.11773465e-01 1.36612013e-01 1.36612013e-01 1.36612013e-01 7.45156436e-02 1.24192739e-01 1.61450561e-01 6.20963696e-02 1.11773465e-01 1.11773465e-01 1.24192739e-01 9.93541914e-02 1.11773465e-01 1.24192739e-01 9.93541914e-02 8.69349175e-02 7.45156436e-02 7.45156436e-02 8.69349175e-02 1.36612013e-01 1.11773465e-01 8.69349175e-02 1.11773465e-01 9.93541914e-02 1.11773465e-01 1.24192739e-01 1.36612013e-01 1.24192739e-01 9.93541914e-02 1.61450561e-01 1.49031287e-01 8.69349175e-02 8.69349175e-02 1.11773465e-01 1.73869835e-01 6.20963696e-02 1.11773465e-01 1.73869835e-01 2.11127657e-01 1.86289109e-01 1.24192739e-01 1.73869835e-01 1.73869835e-01 1.24192739e-01 7.45156436e-02 1.24192739e-01 1.36612013e-01 6.20963696e-02 1.36612013e-01 1.86289109e-01 1.49031287e-01 8.69349175e-02 1.86289109e-01 1.11773465e-01 1.11773465e-01 1.11773465e-01 8.69349175e-02 9.93541914e-02 1.24192739e-01 1.36612013e-01 7.45156436e-02 1.11773465e-01 1.61450561e-01 1.98708383e-01 1.49031287e-01 9.93541914e-02 1.11773465e-01 1.11773465e-01 1.73869835e-01 1.49031287e-01 1.73869835e-01 1.86289109e-01 1.24192739e-01 1.11773465e-01 1.61450561e-01 6.20963696e-02 1.24192739e-01 8.69349175e-02 1.49031287e-01 1.49031287e-01 6.20963696e-02 8.69349175e-02 2.23546931e-01 1.86289109e-01 7.45156436e-02 1.36612013e-01 1.24192739e-01 1.36612013e-01 9.93541914e-02 6.20963696e-02 1.49031287e-01 1.24192739e-01 1.98708383e-01 8.69349175e-02 1.11773465e-01 1.98708383e-01 1.36612013e-01 1.24192739e-01 1.11773465e-01 9.93541914e-02 1.49031287e-01 8.69349175e-02 1.24192739e-01 1.73869835e-01 1.11773465e-01 9.93541914e-02 1.36612013e-01 6.20963696e-02 9.93541914e-02 9.93541914e-02 1.49031287e-01 1.11773465e-01 1.11773465e-01 1.49031287e-01 1.49031287e-01 1.61450561e-01 1.61450561e-01 1.11773465e-01 1.24192739e-01 1.36612013e-01 2.48385479e-01 8.69349175e-02 9.93541914e-02 7.45156436e-02 1.49031287e-01 1.49031287e-01 1.86289109e-01 1.36612013e-01 1.86289109e-01 4.96770957e-02 1.49031287e-01 8.69349175e-02 7.45156436e-02 4.96770957e-02 8.69349175e-02 8.69349175e-02 1.11773465e-01 1.24192739e-01 1.36612013e-01 9.93541914e-02 1.36612013e-01 8.69349175e-02 6.20963696e-02 9.93541914e-02 1.36612013e-01 1.73869835e-01 8.69349175e-02 6.20963696e-02 1.11773465e-01 9.93541914e-02 9.93541914e-02 1.36612013e-01 6.20963696e-02 1.73869835e-01 1.36612013e-01 1.36612013e-01 1.36612013e-01 7.45156436e-02 1.11773465e-01 7.45156436e-02 1.98708383e-01 1.11773465e-01 1.49031287e-01 8.69349175e-02 2.60804752e-01 1.61450561e-01 1.24192739e-01 1.24192739e-01 1.86289109e-01 9.93541914e-02 1.24192739e-01 7.45156436e-02 9.93541914e-02 8.69349175e-02 1.98708383e-01 1.11773465e-01 1.49031287e-01 9.93541914e-02 1.11773465e-01 7.45156436e-02 1.11773465e-01 2.11127657e-01 1.24192739e-01 1.11773465e-01 1.11773465e-01 1.24192739e-01 1.11773465e-01 9.93541914e-02 1.36612013e-01 1.98708383e-01 8.69349175e-02 1.36612013e-01 1.61450561e-01 1.49031287e-01 4.96770957e-02 9.93541914e-02 9.93541914e-02 1.36612013e-01 6.20963696e-02 1.11773465e-01 9.93541914e-02 1.73869835e-01 1.36612013e-01 1.11773465e-01 1.86289109e-01 8.69349175e-02 9.93541914e-02 1.36612013e-01 1.24192739e-01 1.24192739e-01 9.93541914e-02 1.11773465e-01 7.45156436e-02 1.49031287e-01 1.49031287e-01 1.24192739e-01 1.86289109e-01 2.23546931e-01 2.60804752e-01 1.11773465e-01 1.49031287e-01 7.45156436e-02 8.69349175e-02 1.49031287e-01 2.11127657e-01 1.36612013e-01 4.96770957e-02 6.20963696e-02 1.61450561e-01 1.36612013e-01 1.61450561e-01 9.93541914e-02 1.49031287e-01 1.24192739e-01 1.73869835e-01 1.24192739e-01 7.45156436e-02 8.69349175e-02 1.36612013e-01 1.24192739e-01 1.11773465e-01 1.73869835e-01 6.20963696e-02 1.49031287e-01 1.49031287e-01 1.49031287e-01 1.73869835e-01 7.45156436e-02 7.45156436e-02 1.36612013e-01 2.11127657e-01 1.49031287e-01 9.93541914e-02 1.11773465e-01 9.93541914e-02 1.11773465e-01 1.49031287e-01 1.61450561e-01 9.93541914e-02 7.45156436e-02 1.11773465e-01 1.61450561e-01 8.69349175e-02 8.69349175e-02 9.93541914e-02 1.49031287e-01 8.69349175e-02 1.24192739e-01 1.61450561e-01 1.49031287e-01 1.24192739e-01 1.73869835e-01 1.73869835e-01 1.24192739e-01 2.35966205e-01 1.86289109e-01 8.69349175e-02 1.73869835e-01 9.93541914e-02 1.86289109e-01 6.20963696e-02 1.36612013e-01 1.49031287e-01 1.11773465e-01 7.45156436e-02 1.24192739e-01 1.73869835e-01 1.61450561e-01 1.36612013e-01 1.11773465e-01 1.11773465e-01 1.73869835e-01 1.36612013e-01 1.24192739e-01 1.36612013e-01 9.93541914e-02 1.49031287e-01 1.36612013e-01 7.45156436e-02 1.61450561e-01 8.69349175e-02 2.48385479e-01 1.36612013e-01 1.36612013e-01 1.61450561e-01 9.93541914e-02 9.93541914e-02 1.49031287e-01 1.24192739e-01 1.86289109e-01 1.49031287e-01 1.36612013e-01 1.24192739e-01 1.61450561e-01 8.69349175e-02 1.86289109e-01 1.36612013e-01 2.48385479e-01 1.49031287e-01 1.11773465e-01 9.93541914e-02 1.49031287e-01 1.11773465e-01 2.11127657e-01 1.24192739e-01 2.11127657e-01 2.48385479e-01 1.11773465e-01 1.36612013e-01 6.20963696e-02 1.61450561e-01 1.49031287e-01 1.49031287e-01 1.86289109e-01 1.49031287e-01 1.36612013e-01 1.11773465e-01 1.36612013e-01 1.49031287e-01 1.24192739e-01 1.24192739e-01 1.86289109e-01 2.73224026e-01 1.49031287e-01 1.11773465e-01 8.69349175e-02 1.49031287e-01 1.24192739e-01 7.45156436e-02 7.45156436e-02 1.24192739e-01 8.69349175e-02 1.24192739e-01 1.11773465e-01 1.73869835e-01 1.24192739e-01 1.61450561e-01 1.36612013e-01 1.61450561e-01 1.49031287e-01 1.73869835e-01 1.61450561e-01 9.93541914e-02 1.36612013e-01 7.45156436e-02 1.24192739e-01 1.11773465e-01 1.98708383e-01 1.49031287e-01 1.11773465e-01 1.86289109e-01 2.48385479e-02 4.96770957e-02 2.11127657e-01 1.61450561e-01 1.49031287e-01 1.11773465e-01 1.98708383e-01 1.98708383e-01 1.24192739e-01 1.24192739e-01 9.93541914e-02 1.49031287e-01 9.93541914e-02 1.86289109e-01 1.36612013e-01 1.73869835e-01 1.86289109e-01 8.69349175e-02 9.93541914e-02 2.73224026e-01 8.69349175e-02 1.11773465e-01 1.36612013e-01 1.73869835e-01 1.24192739e-01 1.36612013e-01 1.11773465e-01 1.36612013e-01 9.93541914e-02 1.11773465e-01 1.24192739e-01 1.24192739e-01 8.69349175e-02 1.11773465e-01 1.98708383e-01 1.73869835e-01 1.49031287e-01 8.69349175e-02 1.36612013e-01 2.23546931e-01 1.49031287e-01 1.86289109e-01 1.73869835e-01 1.24192739e-01 1.11773465e-01 1.11773465e-01 1.11773465e-01 1.73869835e-01 1.49031287e-01 2.23546931e-01 1.86289109e-01 1.49031287e-01 1.11773465e-01 1.49031287e-01 1.49031287e-01 1.49031287e-01 1.61450561e-01 1.61450561e-01 6.20963696e-02 1.11773465e-01 9.93541914e-02 1.49031287e-01 1.24192739e-01 1.61450561e-01 1.11773465e-01 1.11773465e-01 1.36612013e-01 1.11773465e-01 8.69349175e-02 9.93541914e-02 1.36612013e-01 1.73869835e-01 1.61450561e-01 1.49031287e-01 1.49031287e-01 7.45156436e-02 1.61450561e-01 1.98708383e-01 1.36612013e-01 1.11773465e-01 2.23546931e-01 1.49031287e-01 1.98708383e-01 1.11773465e-01 1.24192739e-01 1.36612013e-01 1.11773465e-01 1.49031287e-01 1.49031287e-01 1.86289109e-01 1.73869835e-01 1.61450561e-01 1.11773465e-01 8.69349175e-02 1.24192739e-01 1.61450561e-01 1.98708383e-01 2.48385479e-01 2.23546931e-01 1.98708383e-01 1.24192739e-01 7.45156436e-02 2.23546931e-01 1.49031287e-01 1.98708383e-01 9.93541914e-02 1.36612013e-01 1.49031287e-01 1.73869835e-01 9.93541914e-02 2.11127657e-01 1.24192739e-01 9.93541914e-02 1.24192739e-01 2.35966205e-01 9.93541914e-02 1.11773465e-01 2.11127657e-01 1.49031287e-01 2.48385479e-01 1.49031287e-01 1.36612013e-01 2.23546931e-01 2.35966205e-01 1.24192739e-01 8.69349175e-02 2.11127657e-01 1.36612013e-01 1.73869835e-01 1.98708383e-01 1.61450561e-01 8.69349175e-02 1.61450561e-01 2.11127657e-01 1.86289109e-01 1.24192739e-01 1.49031287e-01 1.86289109e-01 1.24192739e-01 1.73869835e-01 2.23546931e-01 1.61450561e-01 1.86289109e-01 1.73869835e-01 1.61450561e-01 1.36612013e-01 2.23546931e-01 7.45156436e-02 1.36612013e-01 1.61450561e-01 1.86289109e-01 1.86289109e-01 2.23546931e-01 1.86289109e-01 1.73869835e-01 1.24192739e-01 2.23546931e-01 1.36612013e-01 1.61450561e-01 2.11127657e-01 1.36612013e-01 2.48385479e-01 1.49031287e-01 2.60804752e-01 1.36612013e-01 1.24192739e-01 1.61450561e-01 1.24192739e-01 1.61450561e-01 1.49031287e-01 1.36612013e-01 1.61450561e-01 1.24192739e-01 1.11773465e-01 1.36612013e-01 1.11773465e-01 1.86289109e-01 1.73869835e-01 1.86289109e-01 1.73869835e-01 1.98708383e-01 1.49031287e-01 8.69349175e-02 1.86289109e-01 1.49031287e-01 6.20963696e-02 1.36612013e-01 1.86289109e-01 1.11773465e-01 2.23546931e-01 1.36612013e-01 1.24192739e-01 1.73869835e-01 1.98708383e-01 2.23546931e-01 1.24192739e-01 1.61450561e-01 1.61450561e-01 8.69349175e-02 8.69349175e-02 1.11773465e-01 1.49031287e-01 1.86289109e-01 2.48385479e-01 1.36612013e-01 1.98708383e-01 1.36612013e-01 1.61450561e-01 1.73869835e-01 1.36612013e-01 1.36612013e-01 1.49031287e-01 1.86289109e-01 2.11127657e-01 1.49031287e-01 2.23546931e-01 2.23546931e-01 1.73869835e-01 6.20963696e-02 1.36612013e-01 1.61450561e-01 1.61450561e-01 1.61450561e-01 1.49031287e-01 2.35966205e-01 1.61450561e-01 1.36612013e-01 1.73869835e-01 1.49031287e-01 9.93541914e-02 9.93541914e-02 1.49031287e-01 1.49031287e-01 2.35966205e-01 1.86289109e-01 1.61450561e-01 2.35966205e-01 1.36612013e-01 1.36612013e-01 2.11127657e-01 1.73869835e-01 1.98708383e-01 1.11773465e-01 1.86289109e-01 1.24192739e-01 1.73869835e-01 2.35966205e-01 1.61450561e-01 1.73869835e-01 1.73869835e-01 1.61450561e-01 1.49031287e-01 2.23546931e-01 1.86289109e-01 1.73869835e-01 1.61450561e-01 1.49031287e-01 1.49031287e-01 8.69349175e-02 1.73869835e-01 2.35966205e-01 1.98708383e-01 2.11127657e-01 1.86289109e-01 1.24192739e-01 1.61450561e-01 1.73869835e-01 1.11773465e-01 2.11127657e-01 1.24192739e-01 1.49031287e-01 3.10481848e-01 7.45156436e-02 1.98708383e-01 1.98708383e-01 7.45156436e-02 1.36612013e-01 1.36612013e-01 1.86289109e-01 1.49031287e-01 2.11127657e-01 2.48385479e-01 1.86289109e-01 1.61450561e-01 2.48385479e-01 1.86289109e-01 1.24192739e-01 1.73869835e-01 1.73869835e-01 3.10481848e-01 4.96770957e-02 1.73869835e-01 1.11773465e-01 1.36612013e-01 1.36612013e-01 1.61450561e-01 1.36612013e-01 1.11773465e-01 1.86289109e-01 1.36612013e-01 2.23546931e-01 1.11773465e-01 2.23546931e-01 2.48385479e-01 1.24192739e-01 1.24192739e-01 2.48385479e-01 1.98708383e-01 1.11773465e-01 1.49031287e-01 1.86289109e-01 2.23546931e-01 1.73869835e-01 1.61450561e-01 1.36612013e-01 2.35966205e-01 2.23546931e-01 1.24192739e-01 2.35966205e-01 1.73869835e-01 1.36612013e-01 1.36612013e-01 2.11127657e-01 1.98708383e-01 1.86289109e-01 2.48385479e-01 2.35966205e-01 1.49031287e-01 2.23546931e-01 1.11773465e-01 1.11773465e-01 2.85643300e-01 2.11127657e-01 1.24192739e-01 2.60804752e-01 2.85643300e-01 1.24192739e-01 1.24192739e-01 2.73224026e-01 1.98708383e-01 1.61450561e-01 2.23546931e-01 1.73869835e-01 1.86289109e-01 1.98708383e-01 1.86289109e-01 1.36612013e-01 2.48385479e-01 1.86289109e-01 1.98708383e-01 2.23546931e-01 1.24192739e-01 1.61450561e-01 1.86289109e-01 2.35966205e-01 1.49031287e-01 1.86289109e-01 1.61450561e-01 2.23546931e-01 1.11773465e-01 1.73869835e-01 1.98708383e-01 1.49031287e-01 2.35966205e-01 1.36612013e-01 1.86289109e-01 2.11127657e-01 1.73869835e-01 2.11127657e-01 2.11127657e-01 1.11773465e-01 1.86289109e-01 1.86289109e-01 2.23546931e-01 1.36612013e-01 1.49031287e-01 1.36612013e-01 2.23546931e-01 1.49031287e-01 1.11773465e-01 2.48385479e-01 2.35966205e-01 1.24192739e-01 1.73869835e-01 2.23546931e-01 1.86289109e-01 2.35966205e-01 1.36612013e-01 3.10481848e-01 2.35966205e-01 1.86289109e-01 1.49031287e-01 2.73224026e-01 2.11127657e-01 2.35966205e-01 2.60804752e-01 2.60804752e-01 2.48385479e-01 1.98708383e-01 1.86289109e-01 2.60804752e-01 1.73869835e-01 1.73869835e-01 2.23546931e-01 1.73869835e-01 3.22901122e-01 1.86289109e-01 1.24192739e-01 2.11127657e-01 1.24192739e-01 1.73869835e-01 2.11127657e-01 2.23546931e-01 2.23546931e-01 1.86289109e-01 2.11127657e-01 2.35966205e-01 1.98708383e-01 2.60804752e-01 2.11127657e-01 1.36612013e-01 2.60804752e-01 1.86289109e-01 1.73869835e-01 1.73869835e-01 3.10481848e-01 1.36612013e-01 2.98062574e-01 1.98708383e-01 1.98708383e-01 2.23546931e-01 1.98708383e-01 1.86289109e-01 1.61450561e-01 2.73224026e-01 1.86289109e-01 3.22901122e-01 2.35966205e-01 2.60804752e-01 1.86289109e-01 1.98708383e-01 1.73869835e-01 2.48385479e-01 1.98708383e-01 1.98708383e-01 1.86289109e-01 2.73224026e-01 1.61450561e-01 2.73224026e-01 2.85643300e-01 2.48385479e-01 1.86289109e-01 2.23546931e-01 2.60804752e-01 2.23546931e-01 1.49031287e-01 1.98708383e-01 1.36612013e-01 2.60804752e-01 2.23546931e-01 2.23546931e-01 1.24192739e-01 2.85643300e-01 2.11127657e-01 1.49031287e-01 1.86289109e-01 1.49031287e-01 1.73869835e-01 3.22901122e-01 2.35966205e-01 1.86289109e-01 1.86289109e-01 2.11127657e-01 1.98708383e-01 1.98708383e-01 2.11127657e-01 3.22901122e-01 2.35966205e-01 2.11127657e-01 1.98708383e-01 2.60804752e-01 2.48385479e-01 1.73869835e-01 1.98708383e-01 2.73224026e-01 2.48385479e-01 2.23546931e-01 1.36612013e-01 2.48385479e-01 2.60804752e-01 2.60804752e-01 2.60804752e-01 3.35320396e-01 2.85643300e-01 2.23546931e-01 2.60804752e-01 1.86289109e-01 2.11127657e-01 2.85643300e-01 1.98708383e-01 2.73224026e-01 1.24192739e-01 1.86289109e-01 3.35320396e-01 2.11127657e-01 3.22901122e-01 1.61450561e-01 2.48385479e-01 3.22901122e-01 3.35320396e-01 2.60804752e-01 1.98708383e-01 3.22901122e-01 2.48385479e-01 2.23546931e-01 3.22901122e-01 3.22901122e-01 2.60804752e-01 2.23546931e-01 3.84997492e-01 2.11127657e-01 2.35966205e-01 2.60804752e-01 1.36612013e-01 1.61450561e-01 1.86289109e-01 3.10481848e-01 2.23546931e-01 1.98708383e-01 2.98062574e-01 2.73224026e-01 2.35966205e-01 2.98062574e-01 2.85643300e-01 2.73224026e-01 2.73224026e-01 2.11127657e-01 2.48385479e-01 2.60804752e-01 2.48385479e-01 2.48385479e-01 3.84997492e-01 2.73224026e-01 2.85643300e-01 3.22901122e-01 1.73869835e-01 2.98062574e-01 3.10481848e-01 2.98062574e-01 2.85643300e-01 2.60804752e-01 2.73224026e-01 2.73224026e-01 2.35966205e-01 2.48385479e-01 1.86289109e-01 2.48385479e-01 4.09836040e-01 2.85643300e-01 2.35966205e-01 1.98708383e-01 1.61450561e-01 3.22901122e-01 1.98708383e-01 2.73224026e-01 3.72578218e-01 2.35966205e-01 2.73224026e-01 1.11773465e-01 3.60158944e-01 2.73224026e-01 2.98062574e-01 1.36612013e-01 1.86289109e-01 2.60804752e-01 2.60804752e-01 2.85643300e-01 2.73224026e-01 2.98062574e-01 2.98062574e-01 2.98062574e-01 2.98062574e-01 2.85643300e-01 1.11773465e-01 2.23546931e-01 2.23546931e-01 2.11127657e-01 2.35966205e-01 2.73224026e-01 2.85643300e-01 3.10481848e-01 3.47739670e-01 3.60158944e-01 3.10481848e-01 2.98062574e-01 2.85643300e-01 1.61450561e-01 2.73224026e-01 2.35966205e-01 2.60804752e-01 2.85643300e-01 2.98062574e-01 2.98062574e-01 2.85643300e-01 3.72578218e-01 2.11127657e-01 3.47739670e-01 2.98062574e-01 1.98708383e-01 2.48385479e-01 2.85643300e-01 3.35320396e-01 2.23546931e-01 3.72578218e-01 2.48385479e-01 2.73224026e-01 2.23546931e-01 2.73224026e-01 2.23546931e-01 3.72578218e-01 2.73224026e-01 3.35320396e-01 2.60804752e-01 2.85643300e-01 2.98062574e-01 3.72578218e-01 1.73869835e-01 1.61450561e-01 1.98708383e-01 2.85643300e-01 1.73869835e-01 2.23546931e-01 2.98062574e-01 2.35966205e-01 2.48385479e-01 2.98062574e-01 2.48385479e-01 3.97416766e-01 3.97416766e-01 1.86289109e-01 2.48385479e-01 2.98062574e-01 2.73224026e-01 3.22901122e-01 3.47739670e-01 2.11127657e-01 2.48385479e-01 2.48385479e-01 2.35966205e-01 2.85643300e-01 3.10481848e-01 1.98708383e-01 2.35966205e-01 2.85643300e-01 3.47739670e-01 3.72578218e-01 2.85643300e-01 3.22901122e-01 2.48385479e-01 3.35320396e-01 2.73224026e-01 3.22901122e-01 2.73224026e-01 2.85643300e-01 1.98708383e-01 3.10481848e-01 2.60804752e-01 3.10481848e-01 2.73224026e-01 2.73224026e-01 4.34674587e-01 2.98062574e-01 3.47739670e-01 2.48385479e-01 2.73224026e-01 3.10481848e-01 2.98062574e-01 3.60158944e-01 3.47739670e-01 2.48385479e-01 3.10481848e-01 3.84997492e-01 2.98062574e-01 2.85643300e-01 3.22901122e-01 2.60804752e-01 3.22901122e-01 2.60804752e-01 2.73224026e-01 2.73224026e-01 3.22901122e-01 2.98062574e-01 2.35966205e-01 2.98062574e-01 3.47739670e-01 3.35320396e-01 2.11127657e-01 2.48385479e-01 3.35320396e-01 3.84997492e-01 2.48385479e-01 3.60158944e-01 3.10481848e-01 2.73224026e-01 2.11127657e-01 3.10481848e-01 3.97416766e-01 2.35966205e-01 2.23546931e-01 4.09836040e-01 3.60158944e-01 3.97416766e-01 3.60158944e-01 3.35320396e-01 2.98062574e-01 3.60158944e-01 2.35966205e-01 3.47739670e-01 2.73224026e-01 2.48385479e-01 3.10481848e-01 4.47093861e-01 2.48385479e-01 3.60158944e-01 3.10481848e-01 3.84997492e-01 3.72578218e-01 3.22901122e-01 3.97416766e-01 2.85643300e-01 4.22255313e-01 4.09836040e-01 4.59513135e-01 2.98062574e-01 3.35320396e-01 2.98062574e-01 3.84997492e-01 2.35966205e-01 3.60158944e-01 3.84997492e-01 3.10481848e-01 2.98062574e-01 4.22255313e-01 2.60804752e-01 3.97416766e-01 2.23546931e-01 3.10481848e-01 2.60804752e-01 2.85643300e-01 2.85643300e-01 2.98062574e-01 4.71932409e-01 2.98062574e-01 3.22901122e-01 3.97416766e-01 4.09836040e-01 3.84997492e-01 3.84997492e-01 3.97416766e-01 3.22901122e-01 2.48385479e-01 3.97416766e-01 3.22901122e-01 2.98062574e-01 3.84997492e-01 2.23546931e-01 4.22255313e-01 3.22901122e-01 3.47739670e-01 3.97416766e-01 3.22901122e-01 3.72578218e-01 3.72578218e-01 4.47093861e-01 2.48385479e-01 3.22901122e-01 3.35320396e-01 3.47739670e-01 4.22255313e-01 3.72578218e-01 3.22901122e-01 3.35320396e-01 3.72578218e-01 3.60158944e-01 3.84997492e-01 3.72578218e-01 3.35320396e-01 4.34674587e-01 4.09836040e-01 2.73224026e-01 3.22901122e-01 4.22255313e-01 4.22255313e-01 3.60158944e-01 3.97416766e-01 3.97416766e-01 3.60158944e-01 5.09190231e-01 4.09836040e-01 3.72578218e-01 5.58867327e-01 4.22255313e-01 4.22255313e-01 3.97416766e-01 4.59513135e-01 3.60158944e-01 4.71932409e-01 2.85643300e-01 3.10481848e-01 4.59513135e-01 3.84997492e-01 4.47093861e-01 4.59513135e-01 2.73224026e-01 3.60158944e-01 4.47093861e-01 4.22255313e-01 5.21609505e-01 4.34674587e-01 5.71286601e-01 4.84351683e-01 3.47739670e-01 2.98062574e-01 3.22901122e-01 3.72578218e-01 2.60804752e-01 3.10481848e-01 3.72578218e-01 5.21609505e-01 4.59513135e-01 5.46448053e-01 4.96770957e-01 3.97416766e-01 5.71286601e-01 3.84997492e-01 5.09190231e-01 4.47093861e-01 3.72578218e-01 4.59513135e-01 4.09836040e-01 3.47739670e-01 3.60158944e-01 3.60158944e-01 4.96770957e-01 3.47739670e-01 4.47093861e-01 3.84997492e-01 3.97416766e-01 4.84351683e-01 4.22255313e-01 4.34674587e-01 3.97416766e-01 5.34028779e-01 5.34028779e-01 4.47093861e-01 3.84997492e-01 4.34674587e-01 3.72578218e-01 5.21609505e-01 4.96770957e-01 5.09190231e-01 3.97416766e-01 4.22255313e-01 3.60158944e-01 4.59513135e-01 5.21609505e-01 4.59513135e-01 2.11127657e-01 5.09190231e-01 4.71932409e-01 3.22901122e-01 3.97416766e-01 4.96770957e-01 4.84351683e-01 4.34674587e-01 4.71932409e-01 5.09190231e-01 3.84997492e-01 4.34674587e-01 5.46448053e-01 4.71932409e-01 4.09836040e-01 5.58867327e-01 4.34674587e-01 4.84351683e-01 3.97416766e-01 4.34674587e-01 3.97416766e-01 3.22901122e-01 4.84351683e-01 4.84351683e-01 5.09190231e-01 5.21609505e-01 4.96770957e-01 4.34674587e-01 5.83705875e-01 5.21609505e-01 4.96770957e-01 4.71932409e-01 4.71932409e-01 3.60158944e-01 5.83705875e-01 4.09836040e-01 4.84351683e-01 3.72578218e-01 4.59513135e-01 5.09190231e-01 5.58867327e-01 5.21609505e-01 5.09190231e-01 4.09836040e-01 3.97416766e-01 3.72578218e-01 6.08544422e-01 5.71286601e-01 5.71286601e-01 5.09190231e-01 4.71932409e-01 5.83705875e-01 4.96770957e-01 5.71286601e-01 4.96770957e-01 5.34028779e-01 6.08544422e-01 4.59513135e-01 5.46448053e-01 5.09190231e-01 5.58867327e-01 3.84997492e-01 5.46448053e-01 5.21609505e-01 5.34028779e-01 5.21609505e-01 6.70640792e-01 5.21609505e-01 4.47093861e-01 6.83060066e-01 4.71932409e-01 4.22255313e-01 5.71286601e-01 6.20963696e-01 4.96770957e-01 5.58867327e-01 4.34674587e-01 5.58867327e-01 5.96125148e-01 6.45802244e-01 4.96770957e-01 5.71286601e-01 6.08544422e-01 4.47093861e-01 5.71286601e-01 7.20317888e-01 5.83705875e-01 5.71286601e-01 6.20963696e-01 5.71286601e-01 4.96770957e-01 5.34028779e-01 4.96770957e-01 6.70640792e-01 5.96125148e-01 4.71932409e-01 6.70640792e-01 5.96125148e-01 4.84351683e-01 6.08544422e-01 5.83705875e-01 6.20963696e-01 6.45802244e-01 6.20963696e-01 5.58867327e-01 8.19672079e-01 6.33382970e-01 6.83060066e-01 6.33382970e-01 6.08544422e-01 7.57575709e-01 5.34028779e-01 6.33382970e-01 7.07898614e-01 6.70640792e-01 6.70640792e-01 6.70640792e-01 6.45802244e-01 6.20963696e-01 4.96770957e-01 7.69994983e-01 6.20963696e-01 6.58221518e-01 6.83060066e-01 7.32737162e-01 5.83705875e-01 5.71286601e-01 5.46448053e-01 6.58221518e-01 7.32737162e-01 6.33382970e-01 6.45802244e-01 6.45802244e-01 5.83705875e-01 6.33382970e-01 6.83060066e-01 7.07898614e-01 7.20317888e-01 6.58221518e-01 6.95479340e-01 6.95479340e-01 5.46448053e-01 7.45156436e-01 7.07898614e-01 7.57575709e-01 5.71286601e-01 6.08544422e-01 6.33382970e-01 7.69994983e-01 8.32091353e-01 5.34028779e-01 7.94833531e-01 5.09190231e-01 7.07898614e-01 6.08544422e-01 6.45802244e-01 7.57575709e-01 6.08544422e-01 6.70640792e-01 8.81768449e-01 5.83705875e-01 5.58867327e-01 7.45156436e-01 6.95479340e-01 8.07252805e-01 7.20317888e-01 7.57575709e-01 8.07252805e-01 8.19672079e-01 7.32737162e-01 7.57575709e-01 8.56929901e-01 7.07898614e-01 8.56929901e-01 6.33382970e-01 7.20317888e-01 5.71286601e-01 8.07252805e-01 8.07252805e-01 6.83060066e-01 7.07898614e-01 7.69994983e-01 6.20963696e-01 8.32091353e-01 7.69994983e-01 9.43864818e-01 8.44510627e-01 7.69994983e-01 6.20963696e-01 6.83060066e-01 7.45156436e-01 7.07898614e-01 8.69349175e-01 9.43864818e-01 8.07252805e-01 7.45156436e-01 7.32737162e-01 8.69349175e-01 9.31445544e-01 6.83060066e-01 9.06606997e-01 9.06606997e-01 7.94833531e-01 9.81122640e-01 9.93541914e-01 8.56929901e-01 9.56284092e-01 7.94833531e-01 8.44510627e-01 9.06606997e-01 1.00596119e+00 8.56929901e-01 8.07252805e-01 8.81768449e-01 1.01838046e+00 8.19672079e-01 1.05563828e+00 9.43864818e-01 7.82414257e-01 8.56929901e-01 8.69349175e-01 9.56284092e-01 8.07252805e-01 9.68703366e-01 7.82414257e-01 1.00596119e+00 1.01838046e+00 9.68703366e-01 9.19026271e-01 9.93541914e-01 9.56284092e-01 9.06606997e-01 8.32091353e-01 8.81768449e-01 1.06805756e+00 9.68703366e-01 1.04321901e+00 1.06805756e+00 1.10531538e+00 8.81768449e-01 9.06606997e-01 9.31445544e-01 9.81122640e-01 8.81768449e-01 1.06805756e+00 1.00596119e+00 1.13015393e+00 8.32091353e-01 1.20466957e+00 8.69349175e-01 8.81768449e-01 9.43864818e-01 1.14257320e+00 9.68703366e-01 1.21708884e+00 9.43864818e-01 8.81768449e-01 9.93541914e-01 1.15499248e+00 1.01838046e+00 1.21708884e+00 1.09289611e+00 8.94187723e-01 1.01838046e+00 1.30402376e+00 1.35370086e+00 1.04321901e+00 1.19225030e+00 1.15499248e+00 9.31445544e-01 1.11773465e+00 1.24192739e+00 1.06805756e+00 8.94187723e-01 1.45305505e+00 1.14257320e+00 1.25434667e+00 1.24192739e+00 1.09289611e+00 1.32886231e+00 1.04321901e+00 9.81122640e-01 1.14257320e+00 1.36612013e+00 1.06805756e+00 1.34128158e+00 1.08047683e+00 1.34128158e+00 1.24192739e+00 1.21708884e+00 1.27918521e+00 1.42821650e+00 1.34128158e+00 1.37853941e+00 1.30402376e+00 1.55240924e+00 1.29160449e+00 1.37853941e+00 1.29160449e+00 1.32886231e+00 1.30402376e+00 1.44063578e+00 1.22950812e+00 1.42821650e+00 1.36612013e+00 1.44063578e+00 1.14257320e+00 1.44063578e+00 1.21708884e+00 1.35370086e+00 1.34128158e+00 1.52757069e+00 1.55240924e+00 1.35370086e+00 1.44063578e+00 1.66418271e+00 1.32886231e+00 1.55240924e+00 1.26676594e+00 1.31644304e+00 1.53998997e+00 1.51515142e+00 1.49031287e+00 1.45305505e+00 1.56482851e+00 1.55240924e+00 1.52757069e+00 1.81321399e+00 1.76353690e+00 1.51515142e+00 1.57724779e+00 1.93740673e+00 1.65176343e+00 1.82563327e+00 1.65176343e+00 1.72627908e+00 1.60208634e+00 1.91256818e+00 1.63934416e+00 1.51515142e+00 1.76353690e+00 1.65176343e+00 1.67660198e+00 1.78837545e+00 1.86289109e+00 1.67660198e+00 2.13611512e+00 1.60208634e+00 1.92498746e+00 1.65176343e+00 1.68902125e+00 1.77595617e+00 1.82563327e+00 1.82563327e+00 1.98708383e+00 1.99950310e+00 1.72627908e+00 1.83805254e+00 1.96224528e+00 2.12369584e+00 2.07401875e+00 2.06159947e+00 2.34724277e+00 1.94982601e+00 2.12369584e+00 2.02434165e+00 2.26030785e+00 2.35966205e+00 2.30998495e+00 2.40933914e+00 2.42175842e+00 2.33482350e+00 2.63288607e+00 2.27272713e+00 2.42175842e+00 2.27272713e+00 2.37208132e+00 2.70740172e+00 2.59562825e+00 2.50869333e+00 2.49627406e+00 2.62046680e+00 2.67014389e+00 2.71982099e+00 2.43417769e+00 2.94336792e+00 2.69498244e+00 2.73224026e+00 3.05514139e+00 2.93094865e+00 3.00546429e+00 3.00546429e+00 3.09239921e+00 3.09239921e+00 3.27868832e+00 3.40288106e+00 3.29110759e+00 3.45255815e+00 3.34078469e+00 3.55191234e+00 3.17933413e+00 4.21013386e+00 3.57675089e+00 3.56433162e+00 3.80029782e+00 3.72578218e+00 4.12319894e+00 4.03626403e+00 3.66368581e+00 4.29706878e+00 4.38400370e+00 4.42126152e+00 4.21013386e+00 4.60755063e+00 4.29706878e+00 4.74416264e+00 4.48335789e+00 4.91803247e+00 4.81867828e+00 4.95529030e+00 5.09190231e+00 5.22851432e+00 4.91803247e+00 5.20367577e+00 5.82463947e+00 5.30302997e+00 5.76254310e+00 5.63835036e+00 5.91157439e+00 6.06060568e+00 5.63835036e+00 6.74366574e+00 6.34624898e+00 5.92399366e+00 6.66915010e+00 7.02930904e+00 6.63189228e+00 6.60705373e+00 6.91753558e+00 6.70640792e+00 7.05414759e+00 7.12866323e+00 7.67511129e+00 7.76204620e+00 7.42672581e+00 7.53849927e+00 8.39542917e+00 7.98559313e+00 7.96075459e+00 8.12220515e+00 7.38946799e+00 7.76204620e+00 7.38946799e+00 8.27123643e+00 7.77446548e+00 7.91107749e+00 8.01043168e+00 7.55091855e+00 7.56333782e+00 7.81172330e+00 7.40188726e+00 6.30899115e+00 6.14754059e+00 6.65673082e+00 6.43318389e+00 5.43964198e+00 5.57625399e+00 4.44610007e+00 3.72578218e+00 4.19771459e+00 3.07997993e+00 2.90611010e+00 2.53353188e+00 1.97466455e+00 1.80079472e+00 8.81768449e-01 7.07898614e-01 2.23546931e-01 1.98708383e-01 1.11773465e-01 6.20963696e-02 3.72578218e-02 2.48385479e-02 7.45156436e-02 4.96770957e-02 - - 3.75829686e-01 9.49464470e-01 1.54287976e+00 1.91870945e+00 1.83958741e+00 1.89892894e+00 1.85936792e+00 1.80002639e+00 1.66156282e+00 1.74068486e+00 1.64178231e+00 1.26595263e+00 1.42419670e+00 1.10770855e+00 1.10770855e+00 1.28573314e+00 1.02858651e+00 1.32529416e+00 9.09903450e-01 9.69244979e-01 1.30551365e+00 1.16705008e+00 9.69244979e-01 7.71439882e-01 1.04836702e+00 7.71439882e-01 7.91220391e-01 9.29683960e-01 7.91220391e-01 9.29683960e-01 9.29683960e-01 9.29683960e-01 5.93415294e-01 8.11000901e-01 7.71439882e-01 9.09903450e-01 8.30781411e-01 7.51659372e-01 8.50561921e-01 6.92317842e-01 5.14293254e-01 5.73634784e-01 6.52756823e-01 7.12098352e-01 7.91220391e-01 7.12098352e-01 5.14293254e-01 6.92317842e-01 5.34073764e-01 6.13195803e-01 5.34073764e-01 5.73634784e-01 4.35171215e-01 6.92317842e-01 5.73634784e-01 5.53854274e-01 6.13195803e-01 6.52756823e-01 5.53854274e-01 4.74732235e-01 3.75829686e-01 4.94512745e-01 5.14293254e-01 4.94512745e-01 4.35171215e-01 5.14293254e-01 4.54951725e-01 3.56049176e-01 3.95610196e-01 3.36268666e-01 4.54951725e-01 4.15390705e-01 5.73634784e-01 3.16488157e-01 6.13195803e-01 5.14293254e-01 5.14293254e-01 2.96707647e-01 4.94512745e-01 5.14293254e-01 4.54951725e-01 4.35171215e-01 3.95610196e-01 4.35171215e-01 3.36268666e-01 4.35171215e-01 3.36268666e-01 2.76927137e-01 4.15390705e-01 5.73634784e-01 4.94512745e-01 5.53854274e-01 4.74732235e-01 4.35171215e-01 4.74732235e-01 3.36268666e-01 3.16488157e-01 4.15390705e-01 3.36268666e-01 3.56049176e-01 1.38463568e-01 4.15390705e-01 4.35171215e-01 3.36268666e-01 4.15390705e-01 3.95610196e-01 3.75829686e-01 3.75829686e-01 4.94512745e-01 3.36268666e-01 4.94512745e-01 3.95610196e-01 3.16488157e-01 4.35171215e-01 2.57146627e-01 3.56049176e-01 3.75829686e-01 3.56049176e-01 4.94512745e-01 3.75829686e-01 1.97805098e-01 3.56049176e-01 2.76927137e-01 3.36268666e-01 4.35171215e-01 3.75829686e-01 3.75829686e-01 4.35171215e-01 3.36268666e-01 2.17585608e-01 3.16488157e-01 3.36268666e-01 4.15390705e-01 3.95610196e-01 2.76927137e-01 3.56049176e-01 3.36268666e-01 3.56049176e-01 2.76927137e-01 2.96707647e-01 4.15390705e-01 3.36268666e-01 3.95610196e-01 1.58244078e-01 2.76927137e-01 2.57146627e-01 3.56049176e-01 4.15390705e-01 1.78024588e-01 3.36268666e-01 1.97805098e-01 9.89025489e-02 2.76927137e-01 2.57146627e-01 3.16488157e-01 1.97805098e-01 2.96707647e-01 2.76927137e-01 3.95610196e-01 2.17585608e-01 1.78024588e-01 3.95610196e-01 2.76927137e-01 1.97805098e-01 3.36268666e-01 2.76927137e-01 4.94512745e-01 2.17585608e-01 4.15390705e-01 4.15390705e-01 4.54951725e-01 4.94512745e-01 4.35171215e-01 2.76927137e-01 2.76927137e-01 1.97805098e-01 1.97805098e-01 2.96707647e-01 3.56049176e-01 1.97805098e-01 2.76927137e-01 2.76927137e-01 2.57146627e-01 2.37366117e-01 1.78024588e-01 2.96707647e-01 2.96707647e-01 3.36268666e-01 2.17585608e-01 3.36268666e-01 3.56049176e-01 2.57146627e-01 2.57146627e-01 1.18683059e-01 2.57146627e-01 2.96707647e-01 2.17585608e-01 1.97805098e-01 2.37366117e-01 1.58244078e-01 2.17585608e-01 3.16488157e-01 3.16488157e-01 1.97805098e-01 3.16488157e-01 4.54951725e-01 3.16488157e-01 2.57146627e-01 3.95610196e-01 4.35171215e-01 2.96707647e-01 4.15390705e-01 2.96707647e-01 3.56049176e-01 2.96707647e-01 2.96707647e-01 3.16488157e-01 3.36268666e-01 3.56049176e-01 2.96707647e-01 4.15390705e-01 3.56049176e-01 1.58244078e-01 4.15390705e-01 2.76927137e-01 3.16488157e-01 2.17585608e-01 2.96707647e-01 2.57146627e-01 2.76927137e-01 3.16488157e-01 3.56049176e-01 3.95610196e-01 1.78024588e-01 2.76927137e-01 3.36268666e-01 2.57146627e-01 1.97805098e-01 3.56049176e-01 3.75829686e-01 2.96707647e-01 2.17585608e-01 2.57146627e-01 2.57146627e-01 4.35171215e-01 2.57146627e-01 1.78024588e-01 2.96707647e-01 2.57146627e-01 3.56049176e-01 1.78024588e-01 2.17585608e-01 3.56049176e-01 3.16488157e-01 2.96707647e-01 2.96707647e-01 9.89025489e-02 4.35171215e-01 1.97805098e-01 3.95610196e-01 2.57146627e-01 2.76927137e-01 1.97805098e-01 3.36268666e-01 2.96707647e-01 2.57146627e-01 1.97805098e-01 2.96707647e-01 2.57146627e-01 1.78024588e-01 3.36268666e-01 3.56049176e-01 2.76927137e-01 3.56049176e-01 3.95610196e-01 2.96707647e-01 3.56049176e-01 2.76927137e-01 3.36268666e-01 1.97805098e-01 1.97805098e-01 1.78024588e-01 1.78024588e-01 3.16488157e-01 4.35171215e-01 3.75829686e-01 4.15390705e-01 2.57146627e-01 1.78024588e-01 2.57146627e-01 2.37366117e-01 3.36268666e-01 3.36268666e-01 2.37366117e-01 2.57146627e-01 2.17585608e-01 3.36268666e-01 1.78024588e-01 1.97805098e-01 3.36268666e-01 2.96707647e-01 2.17585608e-01 3.75829686e-01 1.58244078e-01 2.76927137e-01 1.97805098e-01 2.37366117e-01 3.16488157e-01 2.96707647e-01 3.56049176e-01 2.17585608e-01 2.17585608e-01 2.76927137e-01 2.37366117e-01 2.57146627e-01 3.75829686e-01 1.97805098e-01 2.96707647e-01 3.16488157e-01 2.57146627e-01 3.16488157e-01 3.56049176e-01 1.97805098e-01 2.17585608e-01 3.36268666e-01 2.37366117e-01 3.16488157e-01 3.36268666e-01 2.96707647e-01 2.37366117e-01 1.97805098e-01 3.56049176e-01 3.16488157e-01 2.76927137e-01 1.58244078e-01 4.74732235e-01 1.97805098e-01 3.36268666e-01 3.56049176e-01 3.95610196e-01 3.56049176e-01 1.97805098e-01 1.78024588e-01 1.38463568e-01 2.96707647e-01 2.76927137e-01 3.75829686e-01 2.37366117e-01 2.57146627e-01 3.16488157e-01 4.35171215e-01 3.95610196e-01 4.94512745e-01 1.97805098e-01 3.16488157e-01 2.96707647e-01 2.76927137e-01 3.95610196e-01 3.16488157e-01 3.56049176e-01 2.96707647e-01 3.16488157e-01 3.36268666e-01 2.96707647e-01 3.16488157e-01 3.36268666e-01 4.35171215e-01 3.95610196e-01 3.95610196e-01 3.95610196e-01 2.76927137e-01 5.14293254e-01 2.37366117e-01 3.36268666e-01 2.57146627e-01 3.95610196e-01 3.95610196e-01 3.36268666e-01 4.15390705e-01 2.96707647e-01 3.56049176e-01 3.56049176e-01 3.95610196e-01 4.54951725e-01 3.75829686e-01 3.16488157e-01 3.16488157e-01 2.76927137e-01 3.36268666e-01 2.57146627e-01 3.75829686e-01 2.96707647e-01 4.35171215e-01 3.36268666e-01 3.16488157e-01 5.14293254e-01 3.36268666e-01 3.36268666e-01 3.56049176e-01 3.56049176e-01 3.36268666e-01 3.75829686e-01 4.94512745e-01 4.15390705e-01 4.94512745e-01 2.17585608e-01 4.74732235e-01 3.56049176e-01 3.36268666e-01 5.14293254e-01 4.74732235e-01 4.35171215e-01 6.72537333e-01 4.35171215e-01 5.14293254e-01 5.93415294e-01 5.34073764e-01 3.95610196e-01 4.94512745e-01 5.53854274e-01 5.73634784e-01 5.14293254e-01 3.75829686e-01 3.75829686e-01 4.94512745e-01 5.73634784e-01 4.74732235e-01 4.74732235e-01 4.94512745e-01 3.56049176e-01 5.73634784e-01 5.34073764e-01 3.95610196e-01 4.94512745e-01 4.74732235e-01 4.94512745e-01 4.54951725e-01 6.32976313e-01 4.94512745e-01 4.15390705e-01 4.74732235e-01 5.14293254e-01 4.35171215e-01 5.14293254e-01 5.53854274e-01 5.53854274e-01 4.94512745e-01 7.31878862e-01 5.14293254e-01 6.13195803e-01 5.53854274e-01 6.52756823e-01 4.54951725e-01 6.13195803e-01 7.71439882e-01 6.13195803e-01 4.74732235e-01 9.49464470e-01 8.70342431e-01 7.51659372e-01 7.12098352e-01 8.70342431e-01 7.31878862e-01 8.30781411e-01 6.92317842e-01 7.31878862e-01 9.09903450e-01 8.50561921e-01 7.51659372e-01 8.30781411e-01 8.11000901e-01 1.08792804e+00 7.31878862e-01 8.11000901e-01 7.91220391e-01 1.16705008e+00 1.06814753e+00 9.69244979e-01 1.12748906e+00 1.10770855e+00 9.69244979e-01 1.26595263e+00 1.20661110e+00 1.06814753e+00 1.28573314e+00 1.24617212e+00 1.26595263e+00 1.34507467e+00 1.42419670e+00 1.76046537e+00 1.56266027e+00 1.42419670e+00 1.66156282e+00 1.85936792e+00 1.62200180e+00 1.48353823e+00 1.85936792e+00 2.13629506e+00 1.93848996e+00 1.62200180e+00 1.85936792e+00 1.95827047e+00 1.87914843e+00 2.19563659e+00 2.03739251e+00 2.65058831e+00 2.55168576e+00 2.35388066e+00 2.59124678e+00 3.18466208e+00 2.76927137e+00 2.45278321e+00 2.33410015e+00 2.80883239e+00 2.15607557e+00 2.69014933e+00 3.22422310e+00 2.76927137e+00 2.80883239e+00 3.40224768e+00 3.38246717e+00 3.67917482e+00 2.82861290e+00 3.83741890e+00 3.24400360e+00 4.03522400e+00 3.69895533e+00 3.50115023e+00 3.26378411e+00 3.67917482e+00 3.46158921e+00 3.73851635e+00 3.60005278e+00 3.42202819e+00 3.40224768e+00 3.61983329e+00 3.67917482e+00 3.56049176e+00 3.67917482e+00 3.20444259e+00 3.10554004e+00 3.52093074e+00 2.72971035e+00 2.76927137e+00 3.00663749e+00 2.88795443e+00 2.76927137e+00 2.69014933e+00 2.15607557e+00 2.61102729e+00 2.94729596e+00 2.53190525e+00 2.37366117e+00 2.15607557e+00 2.25497812e+00 2.29453914e+00 2.29453914e+00 1.89892894e+00 1.70112384e+00 1.81980690e+00 1.62200180e+00 1.72090435e+00 1.24617212e+00 1.26595263e+00 1.04836702e+00 1.26595263e+00 1.00880600e+00 1.02858651e+00 9.49464470e-01 6.13195803e-01 7.91220391e-01 8.70342431e-01 8.11000901e-01 6.32976313e-01 7.12098352e-01 4.94512745e-01 4.94512745e-01 7.31878862e-01 6.52756823e-01 5.53854274e-01 3.36268666e-01 4.94512745e-01 5.14293254e-01 4.94512745e-01 2.37366117e-01 2.76927137e-01 2.96707647e-01 2.17585608e-01 1.58244078e-01 3.75829686e-01 2.76927137e-01 2.57146627e-01 2.37366117e-01 3.16488157e-01 1.78024588e-01 2.37366117e-01 2.37366117e-01 2.17585608e-01 9.89025489e-02 1.38463568e-01 2.76927137e-01 1.38463568e-01 1.38463568e-01 9.89025489e-02 5.93415294e-02 9.89025489e-02 5.93415294e-02 1.58244078e-01 1.97805098e-02 1.78024588e-01 5.93415294e-02 5.93415294e-02 1.18683059e-01 1.97805098e-02 3.95610196e-02 1.38463568e-01 1.38463568e-01 7.91220391e-02 1.58244078e-01 5.93415294e-02 9.89025489e-02 3.95610196e-02 5.93415294e-02 3.95610196e-02 1.97805098e-02 5.93415294e-02 1.97805098e-02 3.95610196e-02 5.93415294e-02 3.95610196e-02 5.93415294e-02 3.95610196e-02 1.97805098e-02 0.00000000e+00 1.97805098e-02 0.00000000e+00 1.97805098e-02 0.00000000e+00 1.97805098e-02 7.91220391e-02 0.00000000e+00 3.95610196e-02 1.97805098e-02 3.95610196e-02 1.97805098e-02 0.00000000e+00 5.93415294e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.97805098e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.97805098e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.97805098e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.95610196e-02 3.95610196e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.97805098e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 9.18934539e-01 4.32439783e+00 8.64879566e+00 1.08650496e+01 1.28110286e+01 1.55137772e+01 1.43245678e+01 1.38380731e+01 1.27029186e+01 1.22704788e+01 1.30272485e+01 1.20002040e+01 1.09731595e+01 1.02163899e+01 1.11353244e+01 7.78391610e+00 8.21635588e+00 9.13529042e+00 8.21635588e+00 7.45958626e+00 8.43257577e+00 6.64876167e+00 6.81092658e+00 7.08120145e+00 5.94604702e+00 7.29742134e+00 5.45955226e+00 5.29738734e+00 6.16226691e+00 4.81089259e+00 5.08116745e+00 4.97305751e+00 4.81089259e+00 4.48656275e+00 5.89199205e+00 5.02711248e+00 5.13522242e+00 4.21628789e+00 4.97305751e+00 4.05412297e+00 4.59467270e+00 4.59467270e+00 4.43250778e+00 4.21628789e+00 4.21628789e+00 4.37845280e+00 4.43250778e+00 3.62168318e+00 3.62168318e+00 4.10817794e+00 4.10817794e+00 3.89195805e+00 4.21628789e+00 3.51357324e+00 3.78384810e+00 3.24329837e+00 2.81085859e+00 3.89195805e+00 3.24329837e+00 3.02707848e+00 3.02707848e+00 3.72979313e+00 2.81085859e+00 3.08113345e+00 3.08113345e+00 2.75680362e+00 3.45951827e+00 2.43247378e+00 3.67573816e+00 2.70274864e+00 2.70274864e+00 2.64869367e+00 2.32436383e+00 3.29735335e+00 2.27030886e+00 2.97302351e+00 2.91896854e+00 2.43247378e+00 2.97302351e+00 2.21625389e+00 2.37841881e+00 2.48652875e+00 2.10814394e+00 3.35140832e+00 2.86491356e+00 2.05408897e+00 2.10814394e+00 1.56759421e+00 2.37841881e+00 2.86491356e+00 2.27030886e+00 2.16219892e+00 1.83786908e+00 2.05408897e+00 1.94597902e+00 2.48652875e+00 2.21625389e+00 1.89192405e+00 2.00003400e+00 1.94597902e+00 1.62164919e+00 2.64869367e+00 2.10814394e+00 2.37841881e+00 1.78381411e+00 1.89192405e+00 2.16219892e+00 1.72975913e+00 2.21625389e+00 2.16219892e+00 1.62164919e+00 1.83786908e+00 1.78381411e+00 2.37841881e+00 1.72975913e+00 1.40542930e+00 1.72975913e+00 2.16219892e+00 2.10814394e+00 1.35137432e+00 1.67570416e+00 1.83786908e+00 1.56759421e+00 2.21625389e+00 2.05408897e+00 1.56759421e+00 2.05408897e+00 1.94597902e+00 1.62164919e+00 1.51353924e+00 1.72975913e+00 2.00003400e+00 2.05408897e+00 1.29731935e+00 1.94597902e+00 1.18920940e+00 1.67570416e+00 1.89192405e+00 1.56759421e+00 1.40542930e+00 1.72975913e+00 1.24326438e+00 1.89192405e+00 1.56759421e+00 1.45948427e+00 1.13515443e+00 2.16219892e+00 1.62164919e+00 9.18934539e-01 1.24326438e+00 1.62164919e+00 1.29731935e+00 1.13515443e+00 2.05408897e+00 9.72989512e-01 1.35137432e+00 1.13515443e+00 1.18920940e+00 8.10824593e-01 1.56759421e+00 1.35137432e+00 1.51353924e+00 1.83786908e+00 1.35137432e+00 1.83786908e+00 9.72989512e-01 1.08109946e+00 1.35137432e+00 1.24326438e+00 8.10824593e-01 1.08109946e+00 9.18934539e-01 1.29731935e+00 1.35137432e+00 1.18920940e+00 1.18920940e+00 1.08109946e+00 1.18920940e+00 1.35137432e+00 1.40542930e+00 1.45948427e+00 8.10824593e-01 1.51353924e+00 1.35137432e+00 1.24326438e+00 1.13515443e+00 1.13515443e+00 1.08109946e+00 1.24326438e+00 1.35137432e+00 1.45948427e+00 1.40542930e+00 1.29731935e+00 1.40542930e+00 1.56759421e+00 1.83786908e+00 9.18934539e-01 8.10824593e-01 9.18934539e-01 1.45948427e+00 1.18920940e+00 1.51353924e+00 1.08109946e+00 1.45948427e+00 7.56769621e-01 9.18934539e-01 1.02704448e+00 8.64879566e-01 1.13515443e+00 1.13515443e+00 1.08109946e+00 9.72989512e-01 1.51353924e+00 9.18934539e-01 1.02704448e+00 1.08109946e+00 9.72989512e-01 1.24326438e+00 1.51353924e+00 1.08109946e+00 1.02704448e+00 9.72989512e-01 9.72989512e-01 7.56769621e-01 7.56769621e-01 1.08109946e+00 9.18934539e-01 9.72989512e-01 1.13515443e+00 1.18920940e+00 1.02704448e+00 9.72989512e-01 5.40549729e-01 8.10824593e-01 9.18934539e-01 9.18934539e-01 8.64879566e-01 9.72989512e-01 1.18920940e+00 7.02714648e-01 1.02704448e+00 5.94604702e-01 1.24326438e+00 9.18934539e-01 6.48659675e-01 5.40549729e-01 4.32439783e-01 8.64879566e-01 7.56769621e-01 9.18934539e-01 6.48659675e-01 1.02704448e+00 6.48659675e-01 9.18934539e-01 7.56769621e-01 8.10824593e-01 8.10824593e-01 9.18934539e-01 1.02704448e+00 1.18920940e+00 7.56769621e-01 9.18934539e-01 9.72989512e-01 8.10824593e-01 1.13515443e+00 8.10824593e-01 9.18934539e-01 8.64879566e-01 5.94604702e-01 9.18934539e-01 5.40549729e-01 6.48659675e-01 5.40549729e-01 8.10824593e-01 6.48659675e-01 8.10824593e-01 9.72989512e-01 6.48659675e-01 7.56769621e-01 9.18934539e-01 1.08109946e+00 3.24329837e-01 8.64879566e-01 8.64879566e-01 1.13515443e+00 5.94604702e-01 7.56769621e-01 8.64879566e-01 7.56769621e-01 8.10824593e-01 9.18934539e-01 5.94604702e-01 5.40549729e-01 8.10824593e-01 4.32439783e-01 6.48659675e-01 7.02714648e-01 7.02714648e-01 9.72989512e-01 7.56769621e-01 6.48659675e-01 7.02714648e-01 8.64879566e-01 7.56769621e-01 8.64879566e-01 9.72989512e-01 8.10824593e-01 7.56769621e-01 3.78384810e-01 5.94604702e-01 1.02704448e+00 7.56769621e-01 8.64879566e-01 1.02704448e+00 1.18920940e+00 3.78384810e-01 7.56769621e-01 9.18934539e-01 9.72989512e-01 7.02714648e-01 8.64879566e-01 4.32439783e-01 8.64879566e-01 9.72989512e-01 7.56769621e-01 7.56769621e-01 8.64879566e-01 7.02714648e-01 5.94604702e-01 1.02704448e+00 7.56769621e-01 6.48659675e-01 9.18934539e-01 5.40549729e-01 9.72989512e-01 5.94604702e-01 5.40549729e-01 9.72989512e-01 7.02714648e-01 4.32439783e-01 1.02704448e+00 2.16219892e-01 7.02714648e-01 6.48659675e-01 4.32439783e-01 4.32439783e-01 4.32439783e-01 6.48659675e-01 4.32439783e-01 8.64879566e-01 7.02714648e-01 5.94604702e-01 6.48659675e-01 5.94604702e-01 7.56769621e-01 8.10824593e-01 8.64879566e-01 5.94604702e-01 3.78384810e-01 4.32439783e-01 3.78384810e-01 6.48659675e-01 8.10824593e-01 5.40549729e-01 2.70274864e-01 4.86494756e-01 9.72989512e-01 4.86494756e-01 4.32439783e-01 6.48659675e-01 5.94604702e-01 7.56769621e-01 4.32439783e-01 6.48659675e-01 5.40549729e-01 4.32439783e-01 4.32439783e-01 6.48659675e-01 5.94604702e-01 3.24329837e-01 4.86494756e-01 6.48659675e-01 7.02714648e-01 4.86494756e-01 3.24329837e-01 8.10824593e-01 4.32439783e-01 7.56769621e-01 4.86494756e-01 4.86494756e-01 7.56769621e-01 4.32439783e-01 5.40549729e-01 3.78384810e-01 4.86494756e-01 7.02714648e-01 4.32439783e-01 5.94604702e-01 5.40549729e-01 5.40549729e-01 5.94604702e-01 7.02714648e-01 2.70274864e-01 7.02714648e-01 7.02714648e-01 3.24329837e-01 1.62164919e-01 3.78384810e-01 7.02714648e-01 5.94604702e-01 5.40549729e-01 3.24329837e-01 7.02714648e-01 4.32439783e-01 8.10824593e-01 5.40549729e-01 3.78384810e-01 7.02714648e-01 5.94604702e-01 6.48659675e-01 7.02714648e-01 4.86494756e-01 4.86494756e-01 8.10824593e-01 4.86494756e-01 5.94604702e-01 2.70274864e-01 8.10824593e-01 5.40549729e-01 7.02714648e-01 3.24329837e-01 9.18934539e-01 2.70274864e-01 3.78384810e-01 6.48659675e-01 5.40549729e-01 5.40549729e-01 5.94604702e-01 4.86494756e-01 5.40549729e-01 3.78384810e-01 5.40549729e-01 5.94604702e-01 6.48659675e-01 4.86494756e-01 4.86494756e-01 5.40549729e-01 2.70274864e-01 3.78384810e-01 5.40549729e-01 5.40549729e-01 6.48659675e-01 4.32439783e-01 2.16219892e-01 3.78384810e-01 6.48659675e-01 5.94604702e-01 4.86494756e-01 5.40549729e-01 5.94604702e-01 5.94604702e-01 3.24329837e-01 3.24329837e-01 4.86494756e-01 4.86494756e-01 4.32439783e-01 6.48659675e-01 6.48659675e-01 6.48659675e-01 5.40549729e-01 7.56769621e-01 3.78384810e-01 4.86494756e-01 8.64879566e-01 2.16219892e-01 5.40549729e-02 5.94604702e-01 3.24329837e-01 3.78384810e-01 5.40549729e-01 4.32439783e-01 4.86494756e-01 5.94604702e-01 5.94604702e-01 1.08109946e-01 3.24329837e-01 3.78384810e-01 5.94604702e-01 4.86494756e-01 5.94604702e-01 3.78384810e-01 2.70274864e-01 4.32439783e-01 2.16219892e-01 3.24329837e-01 4.32439783e-01 2.70274864e-01 4.86494756e-01 4.32439783e-01 2.16219892e-01 4.32439783e-01 3.78384810e-01 2.16219892e-01 3.78384810e-01 3.24329837e-01 3.78384810e-01 2.70274864e-01 3.24329837e-01 4.86494756e-01 5.94604702e-01 4.86494756e-01 4.32439783e-01 3.78384810e-01 3.78384810e-01 8.64879566e-01 5.94604702e-01 1.62164919e-01 3.78384810e-01 2.70274864e-01 2.16219892e-01 4.32439783e-01 2.70274864e-01 1.62164919e-01 4.32439783e-01 6.48659675e-01 3.78384810e-01 2.16219892e-01 3.78384810e-01 2.70274864e-01 4.32439783e-01 2.70274864e-01 4.32439783e-01 3.78384810e-01 5.40549729e-01 2.70274864e-01 3.78384810e-01 3.24329837e-01 3.78384810e-01 2.70274864e-01 2.16219892e-01 4.86494756e-01 8.10824593e-01 3.24329837e-01 2.70274864e-01 2.16219892e-01 3.78384810e-01 4.86494756e-01 2.16219892e-01 4.32439783e-01 4.32439783e-01 3.24329837e-01 2.70274864e-01 2.16219892e-01 4.32439783e-01 2.16219892e-01 2.16219892e-01 3.24329837e-01 4.32439783e-01 3.78384810e-01 1.62164919e-01 3.78384810e-01 3.24329837e-01 4.32439783e-01 2.70274864e-01 5.40549729e-01 3.78384810e-01 2.16219892e-01 3.78384810e-01 4.86494756e-01 6.48659675e-01 2.70274864e-01 2.70274864e-01 2.16219892e-01 2.70274864e-01 4.86494756e-01 1.08109946e-01 2.16219892e-01 3.78384810e-01 2.70274864e-01 4.32439783e-01 4.32439783e-01 2.70274864e-01 3.78384810e-01 1.62164919e-01 3.78384810e-01 2.70274864e-01 2.70274864e-01 1.62164919e-01 2.16219892e-01 2.70274864e-01 4.32439783e-01 2.70274864e-01 3.78384810e-01 3.24329837e-01 2.16219892e-01 4.32439783e-01 1.62164919e-01 2.16219892e-01 3.24329837e-01 3.24329837e-01 2.70274864e-01 3.78384810e-01 7.02714648e-01 3.78384810e-01 4.32439783e-01 2.70274864e-01 3.24329837e-01 4.86494756e-01 2.70274864e-01 1.08109946e-01 3.78384810e-01 3.24329837e-01 4.32439783e-01 2.70274864e-01 3.78384810e-01 2.70274864e-01 4.86494756e-01 2.16219892e-01 1.62164919e-01 2.16219892e-01 3.78384810e-01 3.24329837e-01 2.70274864e-01 2.16219892e-01 2.70274864e-01 2.16219892e-01 1.08109946e-01 3.24329837e-01 2.16219892e-01 4.32439783e-01 3.24329837e-01 4.32439783e-01 1.62164919e-01 4.32439783e-01 2.70274864e-01 3.24329837e-01 4.32439783e-01 2.70274864e-01 3.78384810e-01 4.32439783e-01 3.78384810e-01 0.00000000e+00 7.02714648e-01 4.86494756e-01 2.16219892e-01 3.78384810e-01 4.86494756e-01 2.70274864e-01 3.24329837e-01 2.70274864e-01 5.94604702e-01 2.16219892e-01 1.62164919e-01 4.32439783e-01 3.78384810e-01 1.08109946e-01 3.78384810e-01 6.48659675e-01 2.16219892e-01 4.32439783e-01 2.16219892e-01 2.70274864e-01 3.78384810e-01 3.78384810e-01 2.70274864e-01 1.08109946e-01 2.16219892e-01 2.70274864e-01 1.62164919e-01 2.70274864e-01 3.24329837e-01 5.40549729e-02 3.78384810e-01 4.86494756e-01 4.32439783e-01 2.16219892e-01 1.08109946e-01 3.24329837e-01 3.24329837e-01 1.62164919e-01 1.62164919e-01 3.78384810e-01 2.16219892e-01 1.62164919e-01 1.62164919e-01 1.62164919e-01 1.62164919e-01 4.32439783e-01 2.16219892e-01 2.16219892e-01 4.32439783e-01 5.94604702e-01 4.86494756e-01 5.40549729e-01 2.16219892e-01 2.16219892e-01 1.08109946e-01 2.16219892e-01 2.16219892e-01 2.70274864e-01 2.16219892e-01 2.16219892e-01 3.78384810e-01 2.70274864e-01 3.78384810e-01 5.40549729e-01 1.62164919e-01 3.24329837e-01 3.78384810e-01 3.78384810e-01 4.32439783e-01 1.62164919e-01 4.32439783e-01 3.78384810e-01 2.70274864e-01 1.62164919e-01 1.62164919e-01 3.78384810e-01 5.40549729e-01 3.24329837e-01 4.86494756e-01 4.32439783e-01 3.24329837e-01 1.62164919e-01 3.24329837e-01 1.62164919e-01 3.78384810e-01 5.40549729e-01 3.78384810e-01 5.40549729e-01 2.16219892e-01 3.24329837e-01 2.70274864e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 1.62164919e-01 2.16219892e-01 1.62164919e-01 3.78384810e-01 1.08109946e-01 3.24329837e-01 2.70274864e-01 2.16219892e-01 5.40549729e-02 2.16219892e-01 1.62164919e-01 2.70274864e-01 2.16219892e-01 3.78384810e-01 2.16219892e-01 2.70274864e-01 1.62164919e-01 2.16219892e-01 5.40549729e-01 4.86494756e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 2.70274864e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 3.78384810e-01 2.16219892e-01 2.70274864e-01 1.62164919e-01 2.70274864e-01 2.70274864e-01 2.16219892e-01 3.78384810e-01 3.24329837e-01 2.70274864e-01 1.08109946e-01 3.24329837e-01 3.24329837e-01 2.16219892e-01 1.08109946e-01 1.08109946e-01 3.78384810e-01 5.40549729e-02 2.16219892e-01 2.16219892e-01 3.78384810e-01 3.78384810e-01 3.78384810e-01 4.32439783e-01 1.62164919e-01 1.62164919e-01 2.16219892e-01 3.24329837e-01 2.70274864e-01 3.78384810e-01 1.62164919e-01 2.70274864e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 2.70274864e-01 3.24329837e-01 2.70274864e-01 1.62164919e-01 2.16219892e-01 1.62164919e-01 2.16219892e-01 2.70274864e-01 2.70274864e-01 3.78384810e-01 3.24329837e-01 3.78384810e-01 2.16219892e-01 3.24329837e-01 5.40549729e-02 1.62164919e-01 3.24329837e-01 1.62164919e-01 2.16219892e-01 2.16219892e-01 4.32439783e-01 2.16219892e-01 2.16219892e-01 2.16219892e-01 1.62164919e-01 2.70274864e-01 2.70274864e-01 2.70274864e-01 1.62164919e-01 3.24329837e-01 5.40549729e-02 0.00000000e+00 1.62164919e-01 1.62164919e-01 1.08109946e-01 3.78384810e-01 2.70274864e-01 1.08109946e-01 1.62164919e-01 3.78384810e-01 2.70274864e-01 5.40549729e-02 3.24329837e-01 5.40549729e-02 5.40549729e-02 5.40549729e-02 1.08109946e-01 1.08109946e-01 4.32439783e-01 1.08109946e-01 3.24329837e-01 2.16219892e-01 6.48659675e-01 1.62164919e-01 2.16219892e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 2.16219892e-01 2.70274864e-01 3.24329837e-01 1.62164919e-01 2.16219892e-01 5.40549729e-02 3.78384810e-01 2.70274864e-01 2.16219892e-01 2.70274864e-01 4.32439783e-01 5.40549729e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 2.70274864e-01 2.70274864e-01 1.62164919e-01 3.24329837e-01 3.24329837e-01 1.62164919e-01 1.62164919e-01 2.16219892e-01 0.00000000e+00 2.70274864e-01 5.40549729e-02 3.78384810e-01 1.62164919e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 2.16219892e-01 1.08109946e-01 5.40549729e-02 2.70274864e-01 1.08109946e-01 4.32439783e-01 2.16219892e-01 3.78384810e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 2.70274864e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 2.70274864e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 2.70274864e-01 2.70274864e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 2.70274864e-01 1.62164919e-01 0.00000000e+00 1.62164919e-01 2.70274864e-01 2.70274864e-01 2.16219892e-01 1.08109946e-01 2.70274864e-01 1.62164919e-01 1.08109946e-01 2.70274864e-01 1.08109946e-01 3.24329837e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 2.70274864e-01 1.62164919e-01 2.70274864e-01 2.70274864e-01 5.40549729e-01 2.16219892e-01 1.08109946e-01 0.00000000e+00 3.78384810e-01 3.24329837e-01 2.16219892e-01 1.08109946e-01 2.16219892e-01 3.24329837e-01 5.40549729e-02 5.40549729e-01 2.70274864e-01 3.78384810e-01 5.40549729e-02 2.16219892e-01 1.62164919e-01 1.08109946e-01 5.94604702e-01 1.08109946e-01 0.00000000e+00 3.24329837e-01 2.70274864e-01 1.62164919e-01 2.16219892e-01 2.16219892e-01 5.40549729e-02 2.16219892e-01 5.40549729e-02 1.08109946e-01 2.16219892e-01 0.00000000e+00 2.16219892e-01 0.00000000e+00 3.24329837e-01 3.24329837e-01 2.16219892e-01 1.08109946e-01 5.40549729e-02 2.70274864e-01 2.70274864e-01 3.24329837e-01 1.62164919e-01 2.16219892e-01 1.08109946e-01 2.70274864e-01 1.62164919e-01 1.62164919e-01 2.16219892e-01 1.08109946e-01 2.70274864e-01 2.16219892e-01 2.16219892e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 3.78384810e-01 2.16219892e-01 2.16219892e-01 1.08109946e-01 1.62164919e-01 2.16219892e-01 2.70274864e-01 1.08109946e-01 5.40549729e-02 2.16219892e-01 1.62164919e-01 3.24329837e-01 2.16219892e-01 2.70274864e-01 3.78384810e-01 2.70274864e-01 2.70274864e-01 1.62164919e-01 2.16219892e-01 1.62164919e-01 2.16219892e-01 2.16219892e-01 1.62164919e-01 2.16219892e-01 1.62164919e-01 1.62164919e-01 2.70274864e-01 1.62164919e-01 3.24329837e-01 2.70274864e-01 3.24329837e-01 3.78384810e-01 2.16219892e-01 2.70274864e-01 3.24329837e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 3.24329837e-01 2.16219892e-01 2.70274864e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 2.70274864e-01 2.70274864e-01 2.70274864e-01 3.24329837e-01 2.16219892e-01 2.70274864e-01 1.62164919e-01 1.62164919e-01 1.62164919e-01 2.16219892e-01 2.70274864e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 0.00000000e+00 5.40549729e-02 1.62164919e-01 5.40549729e-02 1.08109946e-01 2.70274864e-01 1.08109946e-01 2.16219892e-01 2.70274864e-01 2.16219892e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 3.24329837e-01 2.16219892e-01 1.08109946e-01 4.32439783e-01 2.70274864e-01 3.24329837e-01 1.62164919e-01 2.16219892e-01 3.78384810e-01 2.70274864e-01 1.08109946e-01 1.62164919e-01 2.70274864e-01 1.08109946e-01 2.16219892e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 2.16219892e-01 2.70274864e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 2.70274864e-01 1.62164919e-01 5.40549729e-02 2.16219892e-01 2.16219892e-01 1.08109946e-01 2.70274864e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 1.62164919e-01 5.40549729e-02 3.24329837e-01 5.40549729e-02 2.70274864e-01 3.78384810e-01 1.62164919e-01 2.16219892e-01 1.62164919e-01 1.62164919e-01 2.70274864e-01 2.70274864e-01 1.08109946e-01 1.62164919e-01 2.70274864e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 1.62164919e-01 0.00000000e+00 2.16219892e-01 2.16219892e-01 3.24329837e-01 3.78384810e-01 2.70274864e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 1.08109946e-01 5.40549729e-02 2.16219892e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 5.40549729e-02 5.40549729e-02 2.16219892e-01 3.24329837e-01 2.16219892e-01 2.16219892e-01 3.24329837e-01 5.40549729e-02 2.16219892e-01 2.70274864e-01 5.40549729e-02 2.16219892e-01 2.70274864e-01 1.62164919e-01 0.00000000e+00 1.08109946e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 1.62164919e-01 1.08109946e-01 3.78384810e-01 1.08109946e-01 1.62164919e-01 2.16219892e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 3.78384810e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 2.16219892e-01 1.62164919e-01 1.62164919e-01 2.70274864e-01 1.08109946e-01 0.00000000e+00 5.40549729e-02 2.70274864e-01 2.16219892e-01 1.62164919e-01 1.62164919e-01 1.62164919e-01 3.24329837e-01 2.16219892e-01 0.00000000e+00 1.08109946e-01 1.08109946e-01 3.24329837e-01 1.62164919e-01 2.70274864e-01 5.40549729e-02 5.40549729e-02 0.00000000e+00 5.40549729e-02 1.08109946e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 5.40549729e-02 3.24329837e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 1.08109946e-01 2.70274864e-01 5.40549729e-02 2.16219892e-01 2.16219892e-01 5.40549729e-02 1.62164919e-01 2.70274864e-01 2.70274864e-01 2.16219892e-01 1.62164919e-01 2.16219892e-01 0.00000000e+00 2.70274864e-01 1.62164919e-01 3.24329837e-01 1.08109946e-01 3.24329837e-01 2.70274864e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 2.70274864e-01 2.16219892e-01 2.70274864e-01 2.70274864e-01 2.16219892e-01 1.62164919e-01 2.70274864e-01 1.08109946e-01 1.08109946e-01 2.70274864e-01 2.70274864e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 0.00000000e+00 1.08109946e-01 2.70274864e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 1.62164919e-01 2.70274864e-01 2.70274864e-01 1.08109946e-01 0.00000000e+00 0.00000000e+00 2.70274864e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 5.40549729e-02 2.70274864e-01 5.40549729e-02 0.00000000e+00 5.40549729e-02 1.08109946e-01 2.16219892e-01 2.16219892e-01 2.70274864e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 0.00000000e+00 2.70274864e-01 1.08109946e-01 2.16219892e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 2.16219892e-01 2.70274864e-01 0.00000000e+00 1.08109946e-01 1.08109946e-01 0.00000000e+00 1.08109946e-01 2.16219892e-01 2.70274864e-01 1.08109946e-01 3.24329837e-01 5.40549729e-02 1.08109946e-01 2.70274864e-01 5.40549729e-02 3.24329837e-01 3.24329837e-01 0.00000000e+00 1.08109946e-01 1.08109946e-01 2.16219892e-01 1.62164919e-01 1.62164919e-01 3.24329837e-01 2.16219892e-01 1.62164919e-01 1.62164919e-01 1.62164919e-01 1.62164919e-01 1.62164919e-01 2.70274864e-01 1.08109946e-01 1.08109946e-01 0.00000000e+00 1.62164919e-01 5.40549729e-02 2.70274864e-01 2.16219892e-01 2.16219892e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 0.00000000e+00 5.40549729e-02 1.62164919e-01 0.00000000e+00 5.40549729e-02 1.62164919e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 1.62164919e-01 5.40549729e-02 2.16219892e-01 1.08109946e-01 5.40549729e-02 2.70274864e-01 1.62164919e-01 5.40549729e-02 1.62164919e-01 1.62164919e-01 1.62164919e-01 1.62164919e-01 3.24329837e-01 5.40549729e-02 0.00000000e+00 1.62164919e-01 1.08109946e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 1.08109946e-01 0.00000000e+00 1.62164919e-01 1.62164919e-01 0.00000000e+00 1.62164919e-01 1.08109946e-01 1.08109946e-01 2.16219892e-01 1.62164919e-01 2.16219892e-01 5.40549729e-02 2.70274864e-01 2.16219892e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 2.70274864e-01 5.40549729e-02 0.00000000e+00 5.40549729e-02 0.00000000e+00 1.08109946e-01 1.08109946e-01 1.62164919e-01 2.16219892e-01 1.08109946e-01 2.70274864e-01 5.40549729e-02 2.16219892e-01 2.16219892e-01 1.08109946e-01 1.62164919e-01 2.16219892e-01 5.40549729e-02 4.32439783e-01 2.16219892e-01 5.40549729e-02 2.70274864e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 5.40549729e-02 1.62164919e-01 5.40549729e-02 0.00000000e+00 1.08109946e-01 5.40549729e-02 3.78384810e-01 1.62164919e-01 2.70274864e-01 1.62164919e-01 2.16219892e-01 0.00000000e+00 5.40549729e-02 5.40549729e-02 5.40549729e-02 2.16219892e-01 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 3.24329837e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 2.70274864e-01 1.08109946e-01 1.08109946e-01 0.00000000e+00 1.08109946e-01 2.16219892e-01 2.70274864e-01 2.16219892e-01 2.70274864e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 2.16219892e-01 1.08109946e-01 2.16219892e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 5.40549729e-02 5.40549729e-02 2.70274864e-01 1.62164919e-01 5.40549729e-02 1.62164919e-01 1.62164919e-01 1.62164919e-01 2.16219892e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 0.00000000e+00 1.62164919e-01 1.62164919e-01 1.62164919e-01 1.62164919e-01 2.16219892e-01 5.40549729e-02 2.16219892e-01 2.16219892e-01 0.00000000e+00 2.16219892e-01 0.00000000e+00 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 0.00000000e+00 5.40549729e-02 1.08109946e-01 2.70274864e-01 2.16219892e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 2.16219892e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 1.08109946e-01 2.70274864e-01 0.00000000e+00 1.08109946e-01 1.62164919e-01 2.16219892e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 0.00000000e+00 2.16219892e-01 2.16219892e-01 5.40549729e-02 2.70274864e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 2.70274864e-01 2.16219892e-01 2.70274864e-01 2.16219892e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 5.40549729e-02 2.16219892e-01 2.16219892e-01 0.00000000e+00 5.40549729e-02 1.08109946e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 1.62164919e-01 1.08109946e-01 4.86494756e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 2.16219892e-01 0.00000000e+00 2.16219892e-01 1.62164919e-01 5.40549729e-02 2.16219892e-01 1.62164919e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 2.16219892e-01 1.08109946e-01 2.70274864e-01 1.62164919e-01 2.70274864e-01 0.00000000e+00 1.08109946e-01 5.40549729e-02 2.16219892e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 4.32439783e-01 2.16219892e-01 1.08109946e-01 1.62164919e-01 0.00000000e+00 2.70274864e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 4.32439783e-01 1.08109946e-01 2.16219892e-01 1.08109946e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 0.00000000e+00 1.62164919e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 0.00000000e+00 5.40549729e-02 1.62164919e-01 5.40549729e-02 2.16219892e-01 5.40549729e-02 1.62164919e-01 0.00000000e+00 5.40549729e-02 5.40549729e-02 1.08109946e-01 0.00000000e+00 1.08109946e-01 2.16219892e-01 1.08109946e-01 0.00000000e+00 5.40549729e-02 1.08109946e-01 0.00000000e+00 2.16219892e-01 5.40549729e-02 2.70274864e-01 3.24329837e-01 2.70274864e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 0.00000000e+00 1.62164919e-01 1.08109946e-01 0.00000000e+00 2.16219892e-01 2.16219892e-01 2.70274864e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 5.40549729e-02 1.62164919e-01 1.08109946e-01 1.62164919e-01 2.70274864e-01 5.40549729e-02 5.40549729e-02 4.32439783e-01 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 1.62164919e-01 5.40549729e-02 1.62164919e-01 5.40549729e-02 3.24329837e-01 2.70274864e-01 5.40549729e-02 5.40549729e-02 5.40549729e-02 1.62164919e-01 5.40549729e-02 1.62164919e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 5.40549729e-02 0.00000000e+00 5.40549729e-02 2.16219892e-01 1.08109946e-01 2.70274864e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 0.00000000e+00 2.16219892e-01 2.16219892e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 1.08109946e-01 5.40549729e-02 5.40549729e-02 2.16219892e-01 2.16219892e-01 1.08109946e-01 5.40549729e-02 2.70274864e-01 2.16219892e-01 5.40549729e-02 1.08109946e-01 2.16219892e-01 0.00000000e+00 0.00000000e+00 5.40549729e-02 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 1.62164919e-01 2.16219892e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 5.40549729e-02 1.62164919e-01 2.16219892e-01 5.40549729e-02 0.00000000e+00 0.00000000e+00 5.40549729e-02 5.40549729e-02 0.00000000e+00 5.40549729e-02 2.70274864e-01 2.16219892e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 5.40549729e-02 5.40549729e-02 1.62164919e-01 1.08109946e-01 5.40549729e-02 5.40549729e-02 0.00000000e+00 2.16219892e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 2.16219892e-01 1.08109946e-01 0.00000000e+00 1.62164919e-01 0.00000000e+00 5.40549729e-02 1.08109946e-01 2.70274864e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 2.16219892e-01 1.62164919e-01 5.40549729e-02 0.00000000e+00 5.40549729e-02 1.08109946e-01 1.08109946e-01 1.62164919e-01 2.70274864e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 2.70274864e-01 5.40549729e-02 5.40549729e-02 2.16219892e-01 5.40549729e-02 5.40549729e-02 5.40549729e-02 0.00000000e+00 1.62164919e-01 0.00000000e+00 5.40549729e-02 1.62164919e-01 1.62164919e-01 2.16219892e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 2.70274864e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 5.40549729e-02 5.40549729e-02 5.40549729e-02 1.08109946e-01 1.08109946e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 1.08109946e-01 2.70274864e-01 1.62164919e-01 5.40549729e-02 2.70274864e-01 2.70274864e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 5.40549729e-02 1.62164919e-01 2.70274864e-01 1.62164919e-01 1.62164919e-01 5.40549729e-02 2.16219892e-01 5.40549729e-02 5.40549729e-02 2.16219892e-01 1.08109946e-01 1.62164919e-01 2.16219892e-01 5.40549729e-02 0.00000000e+00 1.08109946e-01 1.08109946e-01 2.16219892e-01 5.40549729e-02 1.62164919e-01 1.62164919e-01 2.16219892e-01 5.40549729e-02 3.78384810e-01 5.40549729e-02 0.00000000e+00 5.40549729e-02 2.16219892e-01 1.62164919e-01 5.40549729e-02 0.00000000e+00 1.62164919e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 5.40549729e-02 0.00000000e+00 1.62164919e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 2.16219892e-01 5.40549729e-02 5.40549729e-02 1.62164919e-01 1.62164919e-01 2.16219892e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 2.16219892e-01 2.70274864e-01 1.62164919e-01 0.00000000e+00 1.62164919e-01 2.16219892e-01 3.24329837e-01 1.08109946e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 1.62164919e-01 1.62164919e-01 5.40549729e-02 3.24329837e-01 2.16219892e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 2.16219892e-01 2.70274864e-01 1.62164919e-01 2.16219892e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 5.40549729e-02 2.70274864e-01 2.16219892e-01 1.62164919e-01 2.16219892e-01 2.16219892e-01 0.00000000e+00 1.62164919e-01 1.08109946e-01 0.00000000e+00 2.16219892e-01 1.62164919e-01 0.00000000e+00 5.40549729e-02 3.24329837e-01 1.08109946e-01 2.70274864e-01 1.62164919e-01 1.62164919e-01 2.16219892e-01 1.08109946e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 1.08109946e-01 1.62164919e-01 2.70274864e-01 1.08109946e-01 1.08109946e-01 2.16219892e-01 5.40549729e-02 1.08109946e-01 2.16219892e-01 5.40549729e-02 1.08109946e-01 0.00000000e+00 1.08109946e-01 1.08109946e-01 1.08109946e-01 0.00000000e+00 2.70274864e-01 1.62164919e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 2.16219892e-01 2.16219892e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 2.16219892e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 0.00000000e+00 1.62164919e-01 1.08109946e-01 1.08109946e-01 0.00000000e+00 1.62164919e-01 5.40549729e-02 5.40549729e-02 2.16219892e-01 2.16219892e-01 1.62164919e-01 1.08109946e-01 0.00000000e+00 5.40549729e-02 0.00000000e+00 2.70274864e-01 5.40549729e-02 2.70274864e-01 5.40549729e-02 2.16219892e-01 0.00000000e+00 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 2.16219892e-01 3.78384810e-01 0.00000000e+00 1.62164919e-01 1.08109946e-01 5.40549729e-02 5.40549729e-02 1.62164919e-01 2.70274864e-01 2.70274864e-01 2.70274864e-01 5.40549729e-02 2.16219892e-01 1.62164919e-01 1.62164919e-01 0.00000000e+00 5.40549729e-02 1.62164919e-01 5.40549729e-02 1.08109946e-01 0.00000000e+00 1.08109946e-01 0.00000000e+00 1.62164919e-01 0.00000000e+00 5.40549729e-02 1.62164919e-01 1.08109946e-01 5.40549729e-02 2.16219892e-01 1.62164919e-01 5.40549729e-02 3.24329837e-01 2.70274864e-01 1.62164919e-01 1.62164919e-01 0.00000000e+00 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 5.40549729e-02 0.00000000e+00 5.40549729e-02 5.40549729e-02 1.62164919e-01 5.40549729e-02 1.08109946e-01 2.16219892e-01 0.00000000e+00 2.70274864e-01 1.62164919e-01 2.70274864e-01 1.08109946e-01 5.40549729e-02 5.40549729e-02 1.62164919e-01 5.40549729e-02 2.16219892e-01 0.00000000e+00 1.08109946e-01 2.16219892e-01 1.62164919e-01 0.00000000e+00 5.40549729e-02 1.08109946e-01 5.40549729e-02 2.70274864e-01 1.62164919e-01 2.16219892e-01 2.16219892e-01 1.08109946e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 0.00000000e+00 5.40549729e-02 2.16219892e-01 0.00000000e+00 1.08109946e-01 4.32439783e-01 1.62164919e-01 0.00000000e+00 1.62164919e-01 1.62164919e-01 2.16219892e-01 5.40549729e-02 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 3.24329837e-01 1.08109946e-01 0.00000000e+00 2.16219892e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 1.62164919e-01 2.70274864e-01 3.24329837e-01 3.24329837e-01 3.24329837e-01 2.16219892e-01 0.00000000e+00 1.08109946e-01 5.40549729e-02 0.00000000e+00 2.70274864e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 1.62164919e-01 2.70274864e-01 5.40549729e-02 0.00000000e+00 1.62164919e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 1.62164919e-01 0.00000000e+00 1.08109946e-01 5.40549729e-02 2.70274864e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 3.24329837e-01 2.16219892e-01 1.62164919e-01 2.70274864e-01 2.16219892e-01 2.16219892e-01 2.70274864e-01 2.16219892e-01 3.24329837e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 2.70274864e-01 2.16219892e-01 1.62164919e-01 5.40549729e-02 5.40549729e-02 5.40549729e-02 2.16219892e-01 2.16219892e-01 0.00000000e+00 2.70274864e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 5.40549729e-02 0.00000000e+00 3.24329837e-01 2.70274864e-01 0.00000000e+00 1.08109946e-01 2.16219892e-01 2.16219892e-01 2.16219892e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 2.70274864e-01 2.16219892e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 2.70274864e-01 2.16219892e-01 1.62164919e-01 1.62164919e-01 2.16219892e-01 2.70274864e-01 1.62164919e-01 0.00000000e+00 2.16219892e-01 5.40549729e-02 5.40549729e-02 1.62164919e-01 1.62164919e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 2.16219892e-01 1.08109946e-01 0.00000000e+00 2.16219892e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 2.16219892e-01 1.08109946e-01 3.24329837e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 0.00000000e+00 1.08109946e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 1.08109946e-01 5.40549729e-02 5.40549729e-02 2.16219892e-01 1.62164919e-01 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.62164919e-01 1.62164919e-01 5.40549729e-02 5.40549729e-02 1.08109946e-01 1.62164919e-01 1.08109946e-01 5.40549729e-02 1.08109946e-01 2.16219892e-01 1.08109946e-01 1.62164919e-01 2.70274864e-01 5.40549729e-02 3.78384810e-01 2.70274864e-01 0.00000000e+00 2.16219892e-01 2.16219892e-01 2.16219892e-01 2.16219892e-01 1.08109946e-01 3.24329837e-01 0.00000000e+00 5.40549729e-02 3.78384810e-01 2.16219892e-01 2.16219892e-01 5.40549729e-02 1.62164919e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.62164919e-01 1.08109946e-01 2.16219892e-01 1.08109946e-01 1.62164919e-01 5.40549729e-02 1.62164919e-01 2.16219892e-01 0.00000000e+00 1.08109946e-01 2.16219892e-01 5.40549729e-02 1.62164919e-01 2.70274864e-01 1.08109946e-01 3.24329837e-01 0.00000000e+00 5.40549729e-02 2.70274864e-01 1.62164919e-01 5.40549729e-02 1.08109946e-01 3.78384810e-01 1.62164919e-01 0.00000000e+00 5.40549729e-02 1.62164919e-01 2.16219892e-01 3.78384810e-01 3.24329837e-01 0.00000000e+00 5.40549729e-02 5.40549729e-02 1.62164919e-01 1.08109946e-01 5.40549729e-02 0.00000000e+00 1.08109946e-01 5.40549729e-02 1.08109946e-01 1.08109946e-01 0.00000000e+00 0.00000000e+00 5.40549729e-02 0.00000000e+00 5.40549729e-02 1.08109946e-01 5.40549729e-02 0.00000000e+00 5.40549729e-02 5.40549729e-02 1.62164919e-01 1.62164919e-01 5.40549729e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_high_b_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_high_b_BDTG.weights.xml index 9865feadb863..2f534cd7b4af 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_high_b_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_high_b_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - + - - + + - - - - + + + + @@ -73,5936 +73,6014 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 9.74727979e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 1.21840997e-01 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 4.87363989e-02 7.31045984e-02 2.43681995e-02 0.00000000e+00 9.74727979e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 7.31045984e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 9.74727979e-02 7.31045984e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 7.31045984e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 7.31045984e-02 0.00000000e+00 9.74727979e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 7.31045984e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 7.31045984e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 7.31045984e-02 2.43681995e-02 0.00000000e+00 7.31045984e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 7.31045984e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 7.31045984e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 9.74727979e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 4.87363989e-02 1.21840997e-01 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 7.31045984e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 7.31045984e-02 7.31045984e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 9.74727979e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 7.31045984e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 7.31045984e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 9.74727979e-02 7.31045984e-02 7.31045984e-02 2.43681995e-02 1.70577396e-01 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 1.21840997e-01 4.87363989e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 9.74727979e-02 0.00000000e+00 7.31045984e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 9.74727979e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 2.43681995e-02 0.00000000e+00 9.74727979e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 0.00000000e+00 7.31045984e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 9.74727979e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 9.74727979e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 9.74727979e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 9.74727979e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 7.31045984e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 1.21840997e-01 9.74727979e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 7.31045984e-02 4.87363989e-02 4.87363989e-02 9.74727979e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 1.21840997e-01 4.87363989e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 9.74727979e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 9.74727979e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 9.74727979e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 1.21840997e-01 4.87363989e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 9.74727979e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 4.87363989e-02 9.74727979e-02 7.31045984e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 7.31045984e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 7.31045984e-02 2.43681995e-02 0.00000000e+00 9.74727979e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 1.21840997e-01 4.87363989e-02 0.00000000e+00 1.21840997e-01 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 7.31045984e-02 7.31045984e-02 9.74727979e-02 2.43681995e-02 9.74727979e-02 4.87363989e-02 4.87363989e-02 7.31045984e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 7.31045984e-02 9.74727979e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 7.31045984e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 1.21840997e-01 2.43681995e-02 7.31045984e-02 4.87363989e-02 7.31045984e-02 9.74727979e-02 7.31045984e-02 0.00000000e+00 0.00000000e+00 1.70577396e-01 4.87363989e-02 9.74727979e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 0.00000000e+00 7.31045984e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 1.21840997e-01 1.21840997e-01 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 9.74727979e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 4.87363989e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 4.87363989e-02 7.31045984e-02 4.87363989e-02 1.21840997e-01 1.21840997e-01 4.87363989e-02 9.74727979e-02 7.31045984e-02 4.87363989e-02 0.00000000e+00 9.74727979e-02 9.74727979e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 9.74727979e-02 7.31045984e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 4.87363989e-02 7.31045984e-02 2.43681995e-02 7.31045984e-02 7.31045984e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 9.74727979e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 9.74727979e-02 0.00000000e+00 7.31045984e-02 2.43681995e-02 2.43681995e-02 1.70577396e-01 4.87363989e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 9.74727979e-02 2.43681995e-02 4.87363989e-02 7.31045984e-02 4.87363989e-02 0.00000000e+00 1.21840997e-01 2.43681995e-02 9.74727979e-02 4.87363989e-02 4.87363989e-02 1.46209197e-01 4.87363989e-02 7.31045984e-02 7.31045984e-02 4.87363989e-02 7.31045984e-02 0.00000000e+00 2.43681995e-02 7.31045984e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 9.74727979e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 9.74727979e-02 7.31045984e-02 9.74727979e-02 2.43681995e-02 9.74727979e-02 4.87363989e-02 9.74727979e-02 1.21840997e-01 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 9.74727979e-02 1.21840997e-01 1.21840997e-01 7.31045984e-02 9.74727979e-02 9.74727979e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 9.74727979e-02 4.87363989e-02 7.31045984e-02 7.31045984e-02 1.70577396e-01 2.43681995e-02 2.43681995e-02 0.00000000e+00 1.46209197e-01 4.87363989e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 1.21840997e-01 4.87363989e-02 1.21840997e-01 7.31045984e-02 7.31045984e-02 9.74727979e-02 7.31045984e-02 2.43681995e-02 7.31045984e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 9.74727979e-02 4.87363989e-02 4.87363989e-02 9.74727979e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 1.94945596e-01 9.74727979e-02 9.74727979e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 1.21840997e-01 7.31045984e-02 1.21840997e-01 2.43681995e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 4.87363989e-02 9.74727979e-02 9.74727979e-02 0.00000000e+00 4.87363989e-02 9.74727979e-02 1.70577396e-01 7.31045984e-02 1.21840997e-01 2.43681995e-02 0.00000000e+00 1.21840997e-01 1.46209197e-01 7.31045984e-02 4.87363989e-02 2.43681995e-02 9.74727979e-02 4.87363989e-02 7.31045984e-02 0.00000000e+00 7.31045984e-02 4.87363989e-02 4.87363989e-02 7.31045984e-02 2.43681995e-02 9.74727979e-02 1.21840997e-01 4.87363989e-02 1.94945596e-01 7.31045984e-02 1.21840997e-01 2.68050194e-01 2.43681995e-02 7.31045984e-02 2.43681995e-02 4.87363989e-02 1.21840997e-01 9.74727979e-02 9.74727979e-02 2.43681995e-02 9.74727979e-02 4.87363989e-02 9.74727979e-02 1.70577396e-01 9.74727979e-02 0.00000000e+00 2.43681995e-02 7.31045984e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 9.74727979e-02 2.43681995e-02 4.87363989e-02 9.74727979e-02 4.87363989e-02 4.87363989e-02 7.31045984e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 1.46209197e-01 9.74727979e-02 1.46209197e-01 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 1.70577396e-01 1.21840997e-01 7.31045984e-02 2.43681995e-02 7.31045984e-02 0.00000000e+00 9.74727979e-02 7.31045984e-02 7.31045984e-02 9.74727979e-02 4.87363989e-02 7.31045984e-02 9.74727979e-02 7.31045984e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 4.87363989e-02 7.31045984e-02 9.74727979e-02 9.74727979e-02 9.74727979e-02 1.21840997e-01 7.31045984e-02 1.21840997e-01 2.43681995e-02 7.31045984e-02 4.87363989e-02 7.31045984e-02 2.43681995e-02 4.87363989e-02 9.74727979e-02 1.70577396e-01 4.87363989e-02 4.87363989e-02 1.70577396e-01 7.31045984e-02 7.31045984e-02 2.43681995e-02 9.74727979e-02 7.31045984e-02 7.31045984e-02 2.43681995e-02 9.74727979e-02 7.31045984e-02 1.46209197e-01 2.43681995e-02 9.74727979e-02 7.31045984e-02 1.21840997e-01 4.87363989e-02 4.87363989e-02 7.31045984e-02 1.21840997e-01 2.43681995e-02 7.31045984e-02 7.31045984e-02 1.21840997e-01 9.74727979e-02 7.31045984e-02 4.87363989e-02 1.21840997e-01 2.43681995e-02 1.46209197e-01 2.43681995e-02 7.31045984e-02 1.46209197e-01 4.87363989e-02 7.31045984e-02 7.31045984e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 1.21840997e-01 7.31045984e-02 7.31045984e-02 7.31045984e-02 2.43681995e-02 1.46209197e-01 1.21840997e-01 1.70577396e-01 7.31045984e-02 1.21840997e-01 4.87363989e-02 1.46209197e-01 2.43681995e-02 9.74727979e-02 1.21840997e-01 7.31045984e-02 9.74727979e-02 4.87363989e-02 9.74727979e-02 1.21840997e-01 4.87363989e-02 2.43681995e-02 7.31045984e-02 1.21840997e-01 0.00000000e+00 2.43681995e-02 1.21840997e-01 9.74727979e-02 4.87363989e-02 7.31045984e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 7.31045984e-02 0.00000000e+00 4.87363989e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 4.87363989e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 4.87363989e-02 2.43681995e-02 9.74727979e-02 7.31045984e-02 1.21840997e-01 1.21840997e-01 7.31045984e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 9.74727979e-02 4.87363989e-02 9.74727979e-02 4.87363989e-02 9.74727979e-02 9.74727979e-02 7.31045984e-02 7.31045984e-02 1.21840997e-01 2.43681995e-02 2.43681995e-02 4.87363989e-02 9.74727979e-02 7.31045984e-02 1.46209197e-01 4.87363989e-02 4.87363989e-02 4.87363989e-02 1.21840997e-01 9.74727979e-02 1.70577396e-01 7.31045984e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 9.74727979e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 4.87363989e-02 7.31045984e-02 9.74727979e-02 2.43681995e-02 1.21840997e-01 2.43681995e-02 7.31045984e-02 9.74727979e-02 4.87363989e-02 1.46209197e-01 4.87363989e-02 9.74727979e-02 4.87363989e-02 1.46209197e-01 2.43681995e-02 7.31045984e-02 4.87363989e-02 1.94945596e-01 1.21840997e-01 2.43681995e-02 9.74727979e-02 4.87363989e-02 1.46209197e-01 7.31045984e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 9.74727979e-02 0.00000000e+00 4.87363989e-02 7.31045984e-02 2.43681995e-02 9.74727979e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 1.46209197e-01 1.21840997e-01 1.21840997e-01 7.31045984e-02 1.46209197e-01 2.43681995e-02 1.46209197e-01 1.21840997e-01 7.31045984e-02 1.21840997e-01 9.74727979e-02 9.74727979e-02 2.43681995e-02 9.74727979e-02 4.87363989e-02 4.87363989e-02 7.31045984e-02 9.74727979e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 9.74727979e-02 9.74727979e-02 0.00000000e+00 7.31045984e-02 9.74727979e-02 4.87363989e-02 1.46209197e-01 7.31045984e-02 4.87363989e-02 7.31045984e-02 9.74727979e-02 9.74727979e-02 4.87363989e-02 1.21840997e-01 2.43681995e-02 1.94945596e-01 1.46209197e-01 7.31045984e-02 9.74727979e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 1.70577396e-01 4.87363989e-02 1.46209197e-01 9.74727979e-02 7.31045984e-02 2.43681995e-02 7.31045984e-02 1.21840997e-01 1.21840997e-01 4.87363989e-02 7.31045984e-02 9.74727979e-02 4.87363989e-02 1.46209197e-01 4.87363989e-02 7.31045984e-02 1.46209197e-01 1.94945596e-01 7.31045984e-02 7.31045984e-02 1.21840997e-01 4.87363989e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 9.74727979e-02 1.21840997e-01 7.31045984e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 9.74727979e-02 1.46209197e-01 7.31045984e-02 4.87363989e-02 1.46209197e-01 7.31045984e-02 2.19313795e-01 2.43681995e-02 7.31045984e-02 4.87363989e-02 9.74727979e-02 4.87363989e-02 4.87363989e-02 9.74727979e-02 2.43681995e-02 9.74727979e-02 4.87363989e-02 7.31045984e-02 4.87363989e-02 4.87363989e-02 9.74727979e-02 7.31045984e-02 2.43681995e-02 1.21840997e-01 7.31045984e-02 9.74727979e-02 1.46209197e-01 9.74727979e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 9.74727979e-02 1.21840997e-01 1.70577396e-01 7.31045984e-02 1.70577396e-01 9.74727979e-02 9.74727979e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 9.74727979e-02 4.87363989e-02 1.21840997e-01 7.31045984e-02 2.43681995e-02 7.31045984e-02 9.74727979e-02 9.74727979e-02 7.31045984e-02 1.70577396e-01 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.19313795e-01 9.74727979e-02 4.87363989e-02 9.74727979e-02 1.46209197e-01 2.43681995e-02 2.43681995e-02 1.21840997e-01 4.87363989e-02 1.46209197e-01 2.43681995e-02 1.46209197e-01 1.46209197e-01 1.21840997e-01 9.74727979e-02 9.74727979e-02 7.31045984e-02 1.21840997e-01 9.74727979e-02 1.21840997e-01 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 4.87363989e-02 7.31045984e-02 4.87363989e-02 0.00000000e+00 1.46209197e-01 4.87363989e-02 1.21840997e-01 2.43681995e-02 9.74727979e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 1.21840997e-01 1.21840997e-01 1.21840997e-01 1.46209197e-01 0.00000000e+00 1.21840997e-01 4.87363989e-02 2.43681995e-02 9.74727979e-02 4.87363989e-02 4.87363989e-02 9.74727979e-02 2.43681995e-02 0.00000000e+00 9.74727979e-02 1.21840997e-01 2.43681995e-02 4.87363989e-02 1.46209197e-01 2.43681995e-02 9.74727979e-02 1.21840997e-01 7.31045984e-02 2.43681995e-02 1.21840997e-01 7.31045984e-02 1.46209197e-01 1.46209197e-01 2.19313795e-01 1.46209197e-01 1.21840997e-01 1.46209197e-01 1.21840997e-01 2.43681995e-02 1.21840997e-01 9.74727979e-02 7.31045984e-02 9.74727979e-02 2.43681995e-02 1.21840997e-01 4.87363989e-02 4.87363989e-02 7.31045984e-02 1.21840997e-01 1.46209197e-01 7.31045984e-02 7.31045984e-02 4.87363989e-02 1.70577396e-01 7.31045984e-02 9.74727979e-02 9.74727979e-02 1.70577396e-01 1.21840997e-01 1.46209197e-01 2.19313795e-01 9.74727979e-02 1.21840997e-01 9.74727979e-02 1.70577396e-01 1.46209197e-01 7.31045984e-02 1.21840997e-01 1.21840997e-01 1.46209197e-01 1.46209197e-01 1.21840997e-01 9.74727979e-02 9.74727979e-02 9.74727979e-02 7.31045984e-02 2.43681995e-02 7.31045984e-02 4.87363989e-02 7.31045984e-02 1.46209197e-01 1.21840997e-01 1.70577396e-01 1.46209197e-01 1.46209197e-01 7.31045984e-02 1.21840997e-01 4.87363989e-02 4.87363989e-02 9.74727979e-02 1.21840997e-01 1.70577396e-01 7.31045984e-02 9.74727979e-02 9.74727979e-02 9.74727979e-02 7.31045984e-02 7.31045984e-02 1.21840997e-01 1.46209197e-01 4.87363989e-02 7.31045984e-02 7.31045984e-02 1.21840997e-01 7.31045984e-02 1.21840997e-01 7.31045984e-02 1.70577396e-01 1.46209197e-01 7.31045984e-02 2.43681995e-02 1.94945596e-01 4.87363989e-02 4.87363989e-02 9.74727979e-02 1.46209197e-01 9.74727979e-02 1.21840997e-01 7.31045984e-02 7.31045984e-02 4.87363989e-02 4.87363989e-02 1.46209197e-01 9.74727979e-02 2.43681995e-02 1.21840997e-01 7.31045984e-02 7.31045984e-02 7.31045984e-02 9.74727979e-02 4.87363989e-02 4.87363989e-02 9.74727979e-02 9.74727979e-02 9.74727979e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 1.21840997e-01 1.46209197e-01 9.74727979e-02 7.31045984e-02 1.21840997e-01 1.70577396e-01 9.74727979e-02 7.31045984e-02 4.87363989e-02 2.19313795e-01 1.94945596e-01 7.31045984e-02 4.87363989e-02 9.74727979e-02 1.94945596e-01 7.31045984e-02 1.46209197e-01 4.87363989e-02 1.46209197e-01 9.74727979e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 9.74727979e-02 1.46209197e-01 2.43681995e-02 9.74727979e-02 4.87363989e-02 9.74727979e-02 1.70577396e-01 1.70577396e-01 1.70577396e-01 9.74727979e-02 1.21840997e-01 1.46209197e-01 9.74727979e-02 9.74727979e-02 1.21840997e-01 9.74727979e-02 9.74727979e-02 4.87363989e-02 9.74727979e-02 7.31045984e-02 1.21840997e-01 9.74727979e-02 7.31045984e-02 4.87363989e-02 1.21840997e-01 4.87363989e-02 7.31045984e-02 1.94945596e-01 1.46209197e-01 7.31045984e-02 2.43681995e-02 9.74727979e-02 1.94945596e-01 9.74727979e-02 7.31045984e-02 1.46209197e-01 7.31045984e-02 9.74727979e-02 9.74727979e-02 7.31045984e-02 4.87363989e-02 1.70577396e-01 9.74727979e-02 1.46209197e-01 1.46209197e-01 1.46209197e-01 2.43681995e-02 9.74727979e-02 1.46209197e-01 7.31045984e-02 1.94945596e-01 1.94945596e-01 4.87363989e-02 4.87363989e-02 9.74727979e-02 9.74727979e-02 9.74727979e-02 1.70577396e-01 7.31045984e-02 1.46209197e-01 1.21840997e-01 1.70577396e-01 1.21840997e-01 9.74727979e-02 1.46209197e-01 1.46209197e-01 1.21840997e-01 1.94945596e-01 1.70577396e-01 1.21840997e-01 0.00000000e+00 1.21840997e-01 9.74727979e-02 7.31045984e-02 9.74727979e-02 2.19313795e-01 9.74727979e-02 9.74727979e-02 7.31045984e-02 2.19313795e-01 1.46209197e-01 9.74727979e-02 1.46209197e-01 1.70577396e-01 1.70577396e-01 7.31045984e-02 2.43681995e-02 1.70577396e-01 4.87363989e-02 1.46209197e-01 2.43681995e-02 1.46209197e-01 1.46209197e-01 2.19313795e-01 4.87363989e-02 1.21840997e-01 1.21840997e-01 9.74727979e-02 1.94945596e-01 7.31045984e-02 1.46209197e-01 2.68050194e-01 1.46209197e-01 7.31045984e-02 9.74727979e-02 4.87363989e-02 1.21840997e-01 1.70577396e-01 1.21840997e-01 1.46209197e-01 7.31045984e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 1.46209197e-01 1.21840997e-01 1.94945596e-01 9.74727979e-02 1.94945596e-01 1.46209197e-01 9.74727979e-02 1.70577396e-01 1.46209197e-01 9.74727979e-02 1.46209197e-01 1.46209197e-01 1.70577396e-01 1.21840997e-01 1.21840997e-01 1.46209197e-01 1.46209197e-01 4.87363989e-02 9.74727979e-02 1.46209197e-01 9.74727979e-02 1.21840997e-01 1.46209197e-01 1.46209197e-01 7.31045984e-02 9.74727979e-02 1.70577396e-01 1.21840997e-01 1.46209197e-01 1.94945596e-01 9.74727979e-02 1.70577396e-01 1.70577396e-01 9.74727979e-02 9.74727979e-02 1.70577396e-01 1.46209197e-01 1.70577396e-01 4.87363989e-02 4.87363989e-02 1.46209197e-01 1.94945596e-01 1.46209197e-01 1.70577396e-01 1.21840997e-01 1.94945596e-01 2.19313795e-01 4.87363989e-02 1.21840997e-01 2.92418394e-01 7.31045984e-02 2.43681995e-01 7.31045984e-02 9.74727979e-02 1.70577396e-01 9.74727979e-02 1.46209197e-01 1.46209197e-01 9.74727979e-02 1.46209197e-01 1.70577396e-01 9.74727979e-02 1.70577396e-01 2.43681995e-02 1.21840997e-01 9.74727979e-02 1.21840997e-01 1.46209197e-01 2.19313795e-01 9.74727979e-02 1.46209197e-01 1.46209197e-01 9.74727979e-02 1.46209197e-01 1.70577396e-01 1.21840997e-01 1.46209197e-01 0.00000000e+00 1.46209197e-01 1.46209197e-01 7.31045984e-02 1.70577396e-01 2.19313795e-01 2.19313795e-01 7.31045984e-02 1.21840997e-01 7.31045984e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 2.68050194e-01 7.31045984e-02 4.87363989e-02 2.19313795e-01 1.70577396e-01 1.70577396e-01 1.70577396e-01 1.70577396e-01 1.70577396e-01 1.46209197e-01 7.31045984e-02 2.43681995e-02 7.31045984e-02 1.21840997e-01 2.19313795e-01 2.43681995e-02 9.74727979e-02 1.21840997e-01 2.68050194e-01 1.21840997e-01 1.46209197e-01 9.74727979e-02 2.92418394e-01 1.46209197e-01 9.74727979e-02 1.94945596e-01 9.74727979e-02 1.46209197e-01 1.21840997e-01 9.74727979e-02 1.94945596e-01 2.19313795e-01 7.31045984e-02 1.21840997e-01 4.87363989e-02 2.19313795e-01 1.21840997e-01 1.21840997e-01 9.74727979e-02 1.70577396e-01 4.87363989e-02 1.46209197e-01 1.70577396e-01 2.19313795e-01 1.21840997e-01 1.94945596e-01 2.68050194e-01 1.21840997e-01 1.21840997e-01 1.70577396e-01 1.70577396e-01 1.70577396e-01 9.74727979e-02 9.74727979e-02 4.87363989e-02 1.21840997e-01 1.21840997e-01 1.46209197e-01 1.21840997e-01 9.74727979e-02 1.94945596e-01 1.46209197e-01 2.43681995e-01 1.21840997e-01 1.21840997e-01 1.21840997e-01 1.46209197e-01 1.46209197e-01 1.46209197e-01 2.43681995e-01 2.68050194e-01 1.70577396e-01 1.70577396e-01 9.74727979e-02 2.68050194e-01 7.31045984e-02 3.16786593e-01 1.21840997e-01 2.19313795e-01 1.46209197e-01 1.46209197e-01 1.21840997e-01 2.19313795e-01 1.46209197e-01 2.19313795e-01 1.21840997e-01 9.74727979e-02 9.74727979e-02 1.21840997e-01 2.68050194e-01 7.31045984e-02 1.70577396e-01 1.21840997e-01 2.68050194e-01 1.94945596e-01 1.70577396e-01 1.94945596e-01 1.46209197e-01 2.68050194e-01 1.70577396e-01 1.46209197e-01 9.74727979e-02 1.46209197e-01 1.21840997e-01 1.46209197e-01 1.46209197e-01 1.21840997e-01 1.46209197e-01 1.70577396e-01 1.70577396e-01 1.94945596e-01 2.92418394e-01 1.94945596e-01 1.94945596e-01 9.74727979e-02 1.46209197e-01 9.74727979e-02 1.94945596e-01 7.31045984e-02 1.46209197e-01 1.21840997e-01 1.21840997e-01 9.74727979e-02 1.21840997e-01 2.68050194e-01 1.94945596e-01 1.46209197e-01 1.94945596e-01 1.21840997e-01 7.31045984e-02 1.46209197e-01 1.94945596e-01 2.43681995e-01 9.74727979e-02 1.46209197e-01 1.94945596e-01 9.74727979e-02 1.21840997e-01 1.46209197e-01 2.19313795e-01 1.21840997e-01 1.21840997e-01 7.31045984e-02 2.43681995e-01 4.87363989e-02 7.31045984e-02 9.74727979e-02 1.94945596e-01 1.46209197e-01 2.19313795e-01 1.94945596e-01 7.31045984e-02 2.19313795e-01 1.70577396e-01 9.74727979e-02 7.31045984e-02 4.87363989e-02 2.43681995e-01 1.70577396e-01 1.21840997e-01 1.70577396e-01 1.94945596e-01 2.43681995e-01 2.68050194e-01 1.21840997e-01 2.92418394e-01 1.46209197e-01 1.70577396e-01 2.68050194e-01 2.19313795e-01 1.94945596e-01 9.74727979e-02 7.31045984e-02 1.94945596e-01 2.19313795e-01 1.46209197e-01 4.87363989e-02 1.70577396e-01 1.21840997e-01 1.46209197e-01 2.92418394e-01 2.19313795e-01 2.19313795e-01 1.70577396e-01 1.94945596e-01 1.70577396e-01 1.70577396e-01 1.94945596e-01 1.46209197e-01 1.46209197e-01 2.19313795e-01 2.19313795e-01 7.31045984e-02 1.46209197e-01 1.94945596e-01 2.92418394e-01 2.19313795e-01 1.70577396e-01 7.31045984e-02 2.92418394e-01 7.31045984e-02 1.46209197e-01 9.74727979e-02 4.87363989e-02 2.19313795e-01 2.68050194e-01 2.68050194e-01 1.94945596e-01 7.31045984e-02 1.46209197e-01 2.43681995e-01 2.43681995e-01 2.92418394e-01 1.70577396e-01 2.68050194e-01 4.87363989e-02 1.21840997e-01 2.19313795e-01 9.74727979e-02 2.19313795e-01 2.19313795e-01 1.94945596e-01 1.21840997e-01 1.46209197e-01 1.21840997e-01 1.46209197e-01 1.70577396e-01 2.92418394e-01 1.70577396e-01 2.68050194e-01 1.21840997e-01 1.46209197e-01 1.21840997e-01 1.70577396e-01 1.94945596e-01 9.74727979e-02 1.94945596e-01 3.16786593e-01 2.43681995e-01 1.21840997e-01 1.94945596e-01 1.94945596e-01 1.94945596e-01 1.46209197e-01 1.46209197e-01 1.70577396e-01 2.92418394e-01 2.92418394e-01 2.92418394e-01 9.74727979e-02 2.19313795e-01 9.74727979e-02 3.65522992e-01 1.46209197e-01 1.46209197e-01 2.43681995e-01 2.19313795e-01 1.46209197e-01 2.19313795e-01 4.87363989e-02 1.70577396e-01 7.31045984e-02 2.68050194e-01 1.94945596e-01 2.43681995e-01 7.31045984e-02 7.31045984e-02 3.16786593e-01 1.94945596e-01 1.46209197e-01 1.70577396e-01 2.68050194e-01 1.70577396e-01 1.70577396e-01 2.19313795e-01 1.46209197e-01 1.46209197e-01 1.94945596e-01 1.70577396e-01 1.21840997e-01 2.43681995e-01 1.70577396e-01 2.43681995e-01 3.41154793e-01 2.43681995e-01 2.92418394e-01 1.46209197e-01 2.19313795e-01 3.16786593e-01 2.43681995e-01 2.19313795e-01 2.19313795e-01 7.31045984e-02 1.21840997e-01 9.74727979e-02 2.68050194e-01 1.94945596e-01 2.19313795e-01 1.46209197e-01 1.94945596e-01 1.46209197e-01 9.74727979e-02 2.43681995e-01 3.65522992e-01 1.70577396e-01 1.70577396e-01 1.94945596e-01 1.21840997e-01 2.68050194e-01 2.92418394e-01 3.41154793e-01 1.70577396e-01 1.46209197e-01 7.31045984e-02 1.21840997e-01 1.46209197e-01 2.43681995e-01 3.41154793e-01 2.19313795e-01 2.43681995e-01 1.70577396e-01 3.16786593e-01 1.70577396e-01 1.46209197e-01 2.68050194e-01 2.43681995e-02 2.43681995e-01 2.19313795e-01 1.94945596e-01 9.74727979e-02 3.16786593e-01 4.38627590e-01 3.16786593e-01 2.43681995e-01 1.94945596e-01 1.94945596e-01 2.19313795e-01 1.21840997e-01 3.89891192e-01 2.19313795e-01 3.41154793e-01 2.43681995e-01 2.92418394e-01 3.16786593e-01 9.74727979e-02 1.46209197e-01 2.43681995e-01 2.68050194e-01 1.70577396e-01 2.68050194e-01 2.68050194e-01 2.68050194e-01 2.19313795e-01 2.68050194e-01 2.68050194e-01 2.19313795e-01 3.16786593e-01 2.43681995e-01 3.65522992e-01 2.68050194e-01 4.14259391e-01 3.65522992e-01 4.87363989e-02 2.43681995e-01 2.19313795e-01 2.19313795e-01 1.94945596e-01 2.19313795e-01 2.43681995e-01 9.74727979e-02 2.68050194e-01 1.70577396e-01 3.41154793e-01 1.70577396e-01 1.94945596e-01 1.70577396e-01 3.89891192e-01 1.70577396e-01 3.41154793e-01 1.70577396e-01 2.92418394e-01 2.19313795e-01 2.92418394e-01 1.21840997e-01 3.65522992e-01 2.19313795e-01 3.89891192e-01 1.70577396e-01 3.41154793e-01 3.65522992e-01 2.68050194e-01 2.19313795e-01 2.92418394e-01 2.19313795e-01 1.94945596e-01 4.14259391e-01 5.36100388e-01 3.65522992e-01 1.94945596e-01 1.46209197e-01 2.43681995e-01 3.89891192e-01 2.92418394e-01 2.68050194e-01 2.68050194e-01 3.41154793e-01 2.19313795e-01 3.89891192e-01 2.68050194e-01 2.43681995e-01 2.68050194e-01 3.16786593e-01 3.41154793e-01 3.89891192e-01 4.38627590e-01 3.16786593e-01 1.94945596e-01 2.92418394e-01 3.89891192e-01 1.70577396e-01 2.92418394e-01 2.92418394e-01 3.89891192e-01 5.60468588e-01 2.43681995e-01 2.68050194e-01 3.16786593e-01 2.43681995e-01 2.68050194e-01 2.68050194e-01 3.89891192e-01 4.38627590e-01 2.68050194e-01 3.16786593e-01 2.92418394e-01 4.14259391e-01 3.65522992e-01 1.94945596e-01 4.14259391e-01 3.65522992e-01 2.68050194e-01 4.62995790e-01 3.16786593e-01 3.16786593e-01 2.19313795e-01 2.19313795e-01 4.87363989e-01 3.16786593e-01 4.62995790e-01 3.16786593e-01 3.89891192e-01 2.43681995e-01 1.94945596e-01 3.65522992e-01 3.89891192e-01 3.41154793e-01 1.94945596e-01 3.65522992e-01 2.92418394e-01 1.94945596e-01 3.65522992e-01 3.65522992e-01 2.92418394e-01 3.89891192e-01 4.87363989e-01 4.62995790e-01 2.92418394e-01 3.65522992e-01 3.65522992e-01 3.65522992e-01 3.89891192e-01 3.16786593e-01 4.62995790e-01 2.19313795e-01 3.16786593e-01 4.87363989e-01 3.65522992e-01 4.14259391e-01 2.19313795e-01 3.16786593e-01 1.70577396e-01 4.38627590e-01 3.41154793e-01 4.38627590e-01 3.65522992e-01 4.62995790e-01 3.89891192e-01 4.38627590e-01 3.41154793e-01 4.87363989e-01 4.14259391e-01 4.87363989e-01 3.65522992e-01 4.62995790e-01 2.92418394e-01 4.38627590e-01 4.14259391e-01 2.68050194e-01 4.38627590e-01 5.36100388e-01 1.46209197e-01 2.92418394e-01 3.89891192e-01 3.65522992e-01 3.89891192e-01 3.16786593e-01 3.41154793e-01 4.62995790e-01 4.38627590e-01 2.92418394e-01 4.38627590e-01 4.62995790e-01 5.11732189e-01 5.36100388e-01 4.38627590e-01 4.62995790e-01 2.68050194e-01 4.87363989e-01 3.16786593e-01 5.60468588e-01 5.11732189e-01 5.11732189e-01 5.11732189e-01 4.14259391e-01 5.11732189e-01 3.41154793e-01 2.43681995e-01 4.38627590e-01 5.36100388e-01 6.57941386e-01 4.14259391e-01 4.14259391e-01 4.14259391e-01 5.11732189e-01 4.38627590e-01 4.87363989e-01 4.38627590e-01 5.60468588e-01 4.62995790e-01 6.33573186e-01 4.38627590e-01 3.16786593e-01 5.60468588e-01 3.89891192e-01 7.31045984e-01 3.89891192e-01 5.11732189e-01 3.89891192e-01 6.57941386e-01 5.36100388e-01 5.60468588e-01 3.41154793e-01 6.57941386e-01 5.84836787e-01 5.11732189e-01 2.92418394e-01 4.87363989e-01 3.65522992e-01 4.38627590e-01 6.09204987e-01 6.09204987e-01 3.89891192e-01 6.09204987e-01 5.11732189e-01 3.65522992e-01 7.06677785e-01 7.55414184e-01 3.89891192e-01 5.84836787e-01 4.87363989e-01 4.14259391e-01 6.57941386e-01 6.33573186e-01 5.60468588e-01 5.11732189e-01 6.09204987e-01 4.87363989e-01 5.36100388e-01 6.82309585e-01 8.28518782e-01 4.38627590e-01 5.84836787e-01 6.33573186e-01 4.14259391e-01 6.33573186e-01 5.11732189e-01 4.62995790e-01 5.84836787e-01 5.11732189e-01 7.55414184e-01 6.57941386e-01 6.57941386e-01 6.33573186e-01 5.84836787e-01 4.62995790e-01 4.87363989e-01 5.60468588e-01 6.09204987e-01 4.38627590e-01 5.60468588e-01 5.11732189e-01 4.62995790e-01 3.65522992e-01 6.57941386e-01 5.84836787e-01 5.60468588e-01 5.11732189e-01 5.11732189e-01 4.14259391e-01 6.09204987e-01 5.60468588e-01 7.55414184e-01 2.92418394e-01 3.65522992e-01 6.09204987e-01 7.79782383e-01 6.82309585e-01 9.01623380e-01 7.31045984e-01 6.33573186e-01 8.04150583e-01 7.55414184e-01 3.89891192e-01 5.11732189e-01 6.33573186e-01 7.31045984e-01 6.57941386e-01 5.36100388e-01 7.31045984e-01 6.33573186e-01 5.60468588e-01 5.84836787e-01 6.57941386e-01 6.82309585e-01 6.09204987e-01 6.33573186e-01 6.57941386e-01 8.52886981e-01 6.09204987e-01 6.09204987e-01 5.36100388e-01 8.28518782e-01 8.52886981e-01 8.77255181e-01 7.06677785e-01 7.31045984e-01 1.09656898e+00 1.31588277e+00 5.84836787e-01 7.55414184e-01 9.50359779e-01 7.79782383e-01 8.77255181e-01 6.57941386e-01 7.79782383e-01 1.19404177e+00 8.52886981e-01 7.55414184e-01 9.01623380e-01 9.25991580e-01 1.12093718e+00 8.77255181e-01 7.55414184e-01 1.16967357e+00 6.57941386e-01 9.74727979e-01 9.50359779e-01 1.16967357e+00 9.74727979e-01 9.99096178e-01 8.52886981e-01 1.04783258e+00 1.02346438e+00 9.50359779e-01 1.04783258e+00 9.01623380e-01 6.33573186e-01 1.02346438e+00 8.52886981e-01 1.09656898e+00 1.12093718e+00 1.16967357e+00 9.50359779e-01 1.29151457e+00 1.21840997e+00 1.02346438e+00 1.29151457e+00 1.31588277e+00 1.12093718e+00 1.31588277e+00 1.02346438e+00 1.53519657e+00 1.29151457e+00 1.68140576e+00 1.02346438e+00 1.21840997e+00 1.55956477e+00 1.31588277e+00 1.51082837e+00 1.02346438e+00 1.26714637e+00 1.24277817e+00 1.77887856e+00 1.65703756e+00 1.43772377e+00 1.34025097e+00 1.41335557e+00 1.43772377e+00 1.53519657e+00 1.29151457e+00 1.77887856e+00 1.77887856e+00 1.87635136e+00 1.58393297e+00 1.68140576e+00 1.68140576e+00 1.68140576e+00 2.02256056e+00 1.97382416e+00 1.75451036e+00 1.77887856e+00 2.21750615e+00 2.04692876e+00 2.21750615e+00 1.94945596e+00 1.97382416e+00 2.38808355e+00 2.07129696e+00 2.26624255e+00 2.24187435e+00 2.63176554e+00 1.92508776e+00 2.60739734e+00 2.16876975e+00 2.50992455e+00 2.33934715e+00 2.50992455e+00 2.48555635e+00 2.31497895e+00 2.94855214e+00 2.75360654e+00 2.58302914e+00 3.02165673e+00 3.04602493e+00 2.70487014e+00 3.16786593e+00 2.92418394e+00 3.41154793e+00 3.14349773e+00 3.19223413e+00 3.46028432e+00 3.16786593e+00 2.97292034e+00 3.28970693e+00 3.63086172e+00 4.04512111e+00 3.92328011e+00 3.77707092e+00 3.75270272e+00 4.28880311e+00 4.09385751e+00 4.28880311e+00 4.77616710e+00 4.75179890e+00 4.82490350e+00 4.67869430e+00 4.02075291e+00 4.33753951e+00 4.89800809e+00 4.48374870e+00 5.31226748e+00 5.01984909e+00 5.43410848e+00 5.43410848e+00 6.04331347e+00 5.21479469e+00 6.55504566e+00 5.97020887e+00 6.16515447e+00 6.14078627e+00 6.40883646e+00 6.04331347e+00 6.33573186e+00 6.79872765e+00 7.04240965e+00 6.74999125e+00 8.43139702e+00 7.62724643e+00 7.84656023e+00 7.52977364e+00 8.33392422e+00 8.55323801e+00 9.40612500e+00 8.87002461e+00 9.11370660e+00 8.96749741e+00 9.28428400e+00 9.94222538e+00 1.05757986e+01 1.03564848e+01 1.01128028e+01 1.04052212e+01 1.08194806e+01 1.01859074e+01 1.13799492e+01 1.10387944e+01 1.12093718e+01 1.08682170e+01 1.11850036e+01 1.18429449e+01 1.22815725e+01 1.13555810e+01 1.40360829e+01 1.33781415e+01 1.35730871e+01 1.33050369e+01 1.43772377e+01 1.45721833e+01 1.54981749e+01 1.33537733e+01 1.52057565e+01 1.50839155e+01 1.54250703e+01 1.61804844e+01 1.61804844e+01 1.66922166e+01 1.58636979e+01 1.60830117e+01 1.84223588e+01 1.74232626e+01 1.90071956e+01 1.76913128e+01 1.79837312e+01 1.82030450e+01 1.82761496e+01 1.84954634e+01 1.87391454e+01 1.86904090e+01 2.02987102e+01 1.95920324e+01 2.06886014e+01 2.05180240e+01 2.14927519e+01 2.11028607e+01 2.05911286e+01 2.07860741e+01 2.32716305e+01 2.05423922e+01 2.28817393e+01 2.22237979e+01 2.24674799e+01 2.50261409e+01 2.15414883e+01 2.46849861e+01 2.32472623e+01 2.30279485e+01 2.37102581e+01 2.47580907e+01 2.32716305e+01 2.39539401e+01 2.47580907e+01 2.52210865e+01 2.49530363e+01 2.55135048e+01 2.41001493e+01 2.43925677e+01 2.51723501e+01 2.58302914e+01 2.42707267e+01 2.51723501e+01 2.60252370e+01 2.69024922e+01 2.50261409e+01 2.65613374e+01 2.57815550e+01 2.40026765e+01 2.71705424e+01 2.64882328e+01 2.62445508e+01 2.56597140e+01 2.60739734e+01 2.57084504e+01 2.56597140e+01 2.58302914e+01 2.66831784e+01 2.70243332e+01 2.50748773e+01 2.39295719e+01 2.43194631e+01 2.63663918e+01 2.59033960e+01 2.71461742e+01 2.47093543e+01 2.41001493e+01 2.55378730e+01 2.68293876e+01 2.47824589e+01 2.50505091e+01 2.29792121e+01 2.19801159e+01 2.48311953e+01 2.38077309e+01 2.37589945e+01 2.23700071e+01 2.33203669e+01 2.38808355e+01 2.36371535e+01 2.10541243e+01 2.22237979e+01 2.10053879e+01 2.21750615e+01 2.22969025e+01 2.04449194e+01 2.10784925e+01 2.00062918e+01 2.10053879e+01 2.06398650e+01 2.04692876e+01 2.01037646e+01 2.05180240e+01 1.99819236e+01 1.89097228e+01 1.87635136e+01 1.92508776e+01 1.67653212e+01 1.77887856e+01 1.75451036e+01 1.73988944e+01 1.76182082e+01 1.75938400e+01 1.76425764e+01 1.76182082e+01 1.71552124e+01 1.64972710e+01 1.57174887e+01 1.61804844e+01 1.58880661e+01 1.44503423e+01 1.62292208e+01 1.48402335e+01 1.43285013e+01 1.44259741e+01 1.43528695e+01 1.29882503e+01 1.31100913e+01 1.38167691e+01 1.37436645e+01 1.26470955e+01 1.26227273e+01 1.22328361e+01 1.19404177e+01 1.10875308e+01 1.13799492e+01 1.07707442e+01 1.13312128e+01 1.08194806e+01 1.10144262e+01 1.17211039e+01 1.09413216e+01 1.05514304e+01 1.06489032e+01 9.30865220e+00 9.43049320e+00 1.00153300e+01 9.62543879e+00 9.28428400e+00 8.45576522e+00 9.11370660e+00 8.18771502e+00 8.38266062e+00 8.84565641e+00 7.55414184e+00 8.04150583e+00 7.38356444e+00 8.04150583e+00 7.89529663e+00 7.28609164e+00 7.82219203e+00 7.11551425e+00 6.87183225e+00 7.67598283e+00 7.01804145e+00 7.26172344e+00 5.97020887e+00 7.13988245e+00 5.72652688e+00 5.89710427e+00 6.57941386e+00 5.94584067e+00 5.92147247e+00 6.01894527e+00 5.70215868e+00 5.89710427e+00 5.50721308e+00 5.45847668e+00 5.21479469e+00 5.40974028e+00 5.31226748e+00 4.99548089e+00 5.11732189e+00 5.11732189e+00 4.89800809e+00 4.67869430e+00 5.28789929e+00 4.87363989e+00 4.89800809e+00 4.82490350e+00 4.94674449e+00 4.89800809e+00 4.77616710e+00 4.67869430e+00 4.41064410e+00 4.28880311e+00 4.38627590e+00 4.26443491e+00 4.31317131e+00 4.06948931e+00 4.16696211e+00 3.36281153e+00 3.75270272e+00 4.02075291e+00 4.06948931e+00 3.65522992e+00 3.72833452e+00 4.36190771e+00 3.67959812e+00 3.14349773e+00 2.99728853e+00 3.50902072e+00 3.53338892e+00 4.14259391e+00 3.99638471e+00 3.80143912e+00 3.04602493e+00 3.16786593e+00 3.28970693e+00 3.04602493e+00 2.80234294e+00 2.99728853e+00 3.09476133e+00 3.60649352e+00 2.75360654e+00 3.21660233e+00 2.97292034e+00 2.36371535e+00 2.70487014e+00 2.89981574e+00 2.97292034e+00 2.85107934e+00 2.65613374e+00 2.36371535e+00 2.58302914e+00 2.75360654e+00 2.50992455e+00 2.46118815e+00 2.29061075e+00 2.43681995e+00 2.58302914e+00 2.14440155e+00 2.41245175e+00 2.16876975e+00 2.33934715e+00 1.97382416e+00 2.68050194e+00 2.12003335e+00 1.97382416e+00 2.12003335e+00 1.87635136e+00 1.75451036e+00 1.92508776e+00 1.85198316e+00 1.82761496e+00 1.70577396e+00 1.73014216e+00 1.82761496e+00 1.75451036e+00 1.85198316e+00 1.77887856e+00 1.73014216e+00 1.70577396e+00 1.75451036e+00 1.87635136e+00 1.48646017e+00 1.65703756e+00 1.53519657e+00 1.80324676e+00 1.46209197e+00 1.68140576e+00 1.85198316e+00 1.68140576e+00 1.63266936e+00 1.65703756e+00 1.97382416e+00 1.26714637e+00 1.26714637e+00 1.73014216e+00 1.68140576e+00 1.48646017e+00 1.73014216e+00 1.24277817e+00 1.07220078e+00 1.41335557e+00 1.63266936e+00 1.19404177e+00 1.34025097e+00 9.99096178e-01 1.34025097e+00 1.26714637e+00 1.24277817e+00 1.19404177e+00 8.77255181e-01 9.74727979e-01 1.02346438e+00 1.16967357e+00 1.29151457e+00 1.16967357e+00 9.74727979e-01 1.21840997e+00 1.16967357e+00 7.79782383e-01 1.09656898e+00 1.21840997e+00 1.16967357e+00 1.12093718e+00 9.25991580e-01 9.99096178e-01 1.09656898e+00 1.14530538e+00 9.99096178e-01 9.50359779e-01 1.07220078e+00 1.07220078e+00 9.25991580e-01 9.50359779e-01 8.04150583e-01 1.02346438e+00 9.74727979e-01 8.77255181e-01 9.99096178e-01 9.01623380e-01 9.25991580e-01 4.87363989e-01 6.82309585e-01 9.74727979e-01 9.99096178e-01 7.31045984e-01 8.77255181e-01 8.77255181e-01 7.79782383e-01 6.57941386e-01 6.33573186e-01 5.60468588e-01 8.28518782e-01 1.09656898e+00 9.01623380e-01 8.28518782e-01 8.77255181e-01 7.31045984e-01 6.57941386e-01 5.36100388e-01 6.82309585e-01 5.60468588e-01 6.82309585e-01 6.82309585e-01 6.33573186e-01 9.50359779e-01 6.33573186e-01 7.06677785e-01 3.89891192e-01 7.55414184e-01 5.11732189e-01 7.31045984e-01 4.38627590e-01 4.14259391e-01 5.36100388e-01 4.87363989e-01 5.11732189e-01 3.65522992e-01 5.11732189e-01 3.65522992e-01 5.36100388e-01 5.11732189e-01 4.87363989e-01 6.82309585e-01 5.36100388e-01 5.60468588e-01 4.14259391e-01 4.14259391e-01 5.60468588e-01 3.89891192e-01 3.16786593e-01 5.36100388e-01 5.36100388e-01 6.82309585e-01 3.16786593e-01 3.65522992e-01 5.11732189e-01 4.87363989e-01 3.65522992e-01 3.65522992e-01 3.41154793e-01 3.41154793e-01 6.09204987e-01 5.60468588e-01 2.19313795e-01 3.16786593e-01 3.89891192e-01 3.89891192e-01 3.89891192e-01 5.60468588e-01 4.14259391e-01 3.89891192e-01 5.36100388e-01 3.41154793e-01 3.65522992e-01 1.94945596e-01 4.87363989e-01 3.41154793e-01 2.43681995e-01 4.38627590e-01 2.92418394e-01 4.14259391e-01 2.43681995e-01 2.92418394e-01 2.43681995e-01 3.41154793e-01 1.70577396e-01 4.38627590e-01 2.68050194e-01 2.92418394e-01 2.43681995e-01 3.16786593e-01 3.16786593e-01 2.92418394e-01 2.68050194e-01 2.68050194e-01 1.46209197e-01 2.19313795e-01 3.16786593e-01 3.16786593e-01 2.68050194e-01 2.43681995e-01 1.94945596e-01 2.43681995e-01 1.46209197e-01 4.14259391e-01 2.92418394e-01 2.68050194e-01 1.46209197e-01 2.19313795e-01 2.68050194e-01 1.94945596e-01 2.92418394e-01 1.70577396e-01 2.68050194e-01 1.94945596e-01 1.70577396e-01 2.19313795e-01 2.43681995e-01 2.19313795e-01 2.92418394e-01 2.92418394e-01 1.21840997e-01 2.19313795e-01 1.46209197e-01 1.46209197e-01 1.46209197e-01 1.70577396e-01 1.70577396e-01 9.74727979e-02 2.43681995e-01 2.68050194e-01 2.43681995e-01 3.16786593e-01 1.70577396e-01 2.68050194e-01 1.94945596e-01 2.19313795e-01 2.43681995e-01 1.70577396e-01 1.70577396e-01 2.19313795e-01 2.19313795e-01 1.46209197e-01 1.70577396e-01 9.74727979e-02 2.19313795e-01 1.21840997e-01 2.68050194e-01 1.46209197e-01 2.19313795e-01 1.21840997e-01 1.21840997e-01 1.46209197e-01 2.43681995e-01 1.70577396e-01 1.70577396e-01 2.43681995e-01 1.94945596e-01 1.21840997e-01 1.94945596e-01 2.19313795e-01 1.21840997e-01 1.94945596e-01 1.70577396e-01 9.74727979e-02 2.68050194e-01 2.43681995e-01 9.74727979e-02 1.94945596e-01 2.43681995e-01 1.21840997e-01 2.68050194e-01 2.19313795e-01 1.21840997e-01 1.46209197e-01 2.19313795e-01 1.94945596e-01 2.92418394e-01 1.70577396e-01 1.46209197e-01 4.87363989e-02 1.21840997e-01 1.70577396e-01 2.19313795e-01 1.46209197e-01 1.94945596e-01 1.94945596e-01 1.46209197e-01 7.31045984e-02 1.21840997e-01 1.70577396e-01 1.94945596e-01 1.21840997e-01 1.70577396e-01 9.74727979e-02 4.87363989e-02 2.92418394e-01 1.94945596e-01 1.46209197e-01 1.94945596e-01 1.70577396e-01 1.21840997e-01 1.21840997e-01 4.87363989e-02 1.46209197e-01 1.94945596e-01 1.46209197e-01 1.21840997e-01 7.31045984e-02 1.46209197e-01 9.74727979e-02 9.74727979e-02 9.74727979e-02 1.21840997e-01 9.74727979e-02 1.21840997e-01 2.43681995e-02 9.74727979e-02 9.74727979e-02 1.70577396e-01 1.94945596e-01 1.46209197e-01 9.74727979e-02 1.70577396e-01 1.21840997e-01 1.46209197e-01 9.74727979e-02 2.19313795e-01 1.46209197e-01 9.74727979e-02 1.21840997e-01 7.31045984e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 2.43681995e-01 1.21840997e-01 1.46209197e-01 1.46209197e-01 7.31045984e-02 1.70577396e-01 9.74727979e-02 2.68050194e-01 1.70577396e-01 9.74727979e-02 2.19313795e-01 1.46209197e-01 7.31045984e-02 2.43681995e-02 7.31045984e-02 1.21840997e-01 1.46209197e-01 1.70577396e-01 1.46209197e-01 7.31045984e-02 1.21840997e-01 1.46209197e-01 9.74727979e-02 4.87363989e-02 1.46209197e-01 9.74727979e-02 1.21840997e-01 4.87363989e-02 9.74727979e-02 7.31045984e-02 4.87363989e-02 4.87363989e-02 9.74727979e-02 9.74727979e-02 9.74727979e-02 1.21840997e-01 4.87363989e-02 9.74727979e-02 1.70577396e-01 4.87363989e-02 4.87363989e-02 1.21840997e-01 9.74727979e-02 1.46209197e-01 7.31045984e-02 2.43681995e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 1.46209197e-01 7.31045984e-02 0.00000000e+00 9.74727979e-02 9.74727979e-02 7.31045984e-02 4.87363989e-02 1.21840997e-01 4.87363989e-02 2.43681995e-02 7.31045984e-02 7.31045984e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 1.21840997e-01 7.31045984e-02 4.87363989e-02 7.31045984e-02 1.21840997e-01 7.31045984e-02 1.46209197e-01 4.87363989e-02 1.21840997e-01 7.31045984e-02 7.31045984e-02 9.74727979e-02 9.74727979e-02 2.43681995e-02 4.87363989e-02 9.74727979e-02 4.87363989e-02 9.74727979e-02 7.31045984e-02 2.43681995e-02 4.87363989e-02 7.31045984e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 1.21840997e-01 7.31045984e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 9.74727979e-02 2.43681995e-02 9.74727979e-02 9.74727979e-02 9.74727979e-02 4.87363989e-02 9.74727979e-02 9.74727979e-02 7.31045984e-02 7.31045984e-02 7.31045984e-02 4.87363989e-02 9.74727979e-02 9.74727979e-02 1.21840997e-01 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 9.74727979e-02 2.43681995e-02 7.31045984e-02 0.00000000e+00 9.74727979e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 7.31045984e-02 0.00000000e+00 4.87363989e-02 7.31045984e-02 1.21840997e-01 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 1.21840997e-01 4.87363989e-02 7.31045984e-02 0.00000000e+00 9.74727979e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 7.31045984e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 7.31045984e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 1.21840997e-01 2.43681995e-02 0.00000000e+00 2.43681995e-02 7.31045984e-02 7.31045984e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 7.31045984e-02 2.43681995e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 7.31045984e-02 9.74727979e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 7.31045984e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 9.74727979e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 7.31045984e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 9.74727979e-02 0.00000000e+00 9.74727979e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 7.31045984e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 7.31045984e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 7.31045984e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 4.87363989e-02 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 7.31045984e-02 2.43681995e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 7.31045984e-02 4.87363989e-02 4.87363989e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 7.31045984e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 7.31045984e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 9.74727979e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 4.87363989e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 7.31045984e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 0.00000000e+00 7.31045984e-02 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 7.31045984e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 2.43681995e-02 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.87363989e-02 2.43681995e-02 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.43681995e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.17627555e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.17627555e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.05875852e-02 0.00000000e+00 2.11751703e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.05875852e-02 0.00000000e+00 1.05875852e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.17627555e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.17627555e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.05875852e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.11751703e-02 1.05875852e-02 0.00000000e+00 3.17627555e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.11751703e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 0.00000000e+00 1.05875852e-02 0.00000000e+00 1.05875852e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 0.00000000e+00 1.05875852e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 0.00000000e+00 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 0.00000000e+00 2.11751703e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 0.00000000e+00 1.05875852e-02 0.00000000e+00 1.05875852e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 1.05875852e-02 0.00000000e+00 1.05875852e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 1.05875852e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 0.00000000e+00 2.11751703e-02 3.17627555e-02 1.05875852e-02 0.00000000e+00 4.23503407e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 0.00000000e+00 6.35255110e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 1.05875852e-02 1.05875852e-02 1.05875852e-02 0.00000000e+00 3.17627555e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 0.00000000e+00 0.00000000e+00 2.11751703e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 0.00000000e+00 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 0.00000000e+00 3.17627555e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 0.00000000e+00 3.17627555e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 0.00000000e+00 1.05875852e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 0.00000000e+00 1.05875852e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 0.00000000e+00 1.05875852e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 0.00000000e+00 3.17627555e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 1.05875852e-01 2.11751703e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 0.00000000e+00 4.23503407e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 1.16463437e-01 3.17627555e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 1.05875852e-01 1.05875852e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 0.00000000e+00 6.35255110e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 0.00000000e+00 3.17627555e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 8.47006814e-02 1.05875852e-02 3.17627555e-02 0.00000000e+00 4.23503407e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 1.05875852e-01 7.41130962e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 9.52882665e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 9.52882665e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 7.41130962e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 1.05875852e-01 4.23503407e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 8.47006814e-02 1.16463437e-01 5.29379258e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 0.00000000e+00 6.35255110e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 0.00000000e+00 3.17627555e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 0.00000000e+00 3.17627555e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 1.05875852e-01 1.05875852e-01 3.17627555e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 0.00000000e+00 1.05875852e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 0.00000000e+00 6.35255110e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 1.05875852e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 0.00000000e+00 4.23503407e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 0.00000000e+00 5.29379258e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 7.41130962e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 0.00000000e+00 5.29379258e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 0.00000000e+00 3.17627555e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 1.16463437e-01 1.05875852e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 0.00000000e+00 3.17627555e-02 1.05875852e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 0.00000000e+00 3.17627555e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 0.00000000e+00 6.35255110e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 2.11751703e-02 6.35255110e-02 8.47006814e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 8.47006814e-02 9.52882665e-02 4.23503407e-02 7.41130962e-02 0.00000000e+00 6.35255110e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-01 4.23503407e-02 3.17627555e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 0.00000000e+00 1.05875852e-02 2.11751703e-02 4.23503407e-02 1.37638607e-01 7.41130962e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 0.00000000e+00 2.11751703e-02 8.47006814e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 9.52882665e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 0.00000000e+00 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 9.52882665e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 9.52882665e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 9.52882665e-02 1.05875852e-01 5.29379258e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 1.37638607e-01 1.05875852e-01 2.11751703e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 9.52882665e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 0.00000000e+00 8.47006814e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 8.47006814e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 8.47006814e-02 9.52882665e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 1.05875852e-01 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 1.05875852e-02 7.41130962e-02 1.05875852e-02 2.11751703e-02 1.05875852e-01 3.17627555e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-01 7.41130962e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 9.52882665e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 0.00000000e+00 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 8.47006814e-02 8.47006814e-02 6.35255110e-02 1.27051022e-01 7.41130962e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 1.16463437e-01 3.17627555e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 1.05875852e-01 7.41130962e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 8.47006814e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 1.05875852e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 7.41130962e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 1.16463437e-01 4.23503407e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 9.52882665e-02 1.05875852e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 8.47006814e-02 1.48226192e-01 5.29379258e-02 3.17627555e-02 9.52882665e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 1.05875852e-01 5.29379258e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 9.52882665e-02 6.35255110e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 1.05875852e-01 8.47006814e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 9.52882665e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 1.27051022e-01 0.00000000e+00 4.23503407e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 1.05875852e-02 7.41130962e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 1.05875852e-01 6.35255110e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.37638607e-01 5.29379258e-02 4.23503407e-02 5.29379258e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 7.41130962e-02 0.00000000e+00 8.47006814e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 1.05875852e-02 7.41130962e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 9.52882665e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 8.47006814e-02 1.05875852e-01 2.11751703e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.05875852e-01 3.17627555e-02 8.47006814e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 9.52882665e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 1.37638607e-01 3.17627555e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 1.05875852e-01 4.23503407e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 1.27051022e-01 6.35255110e-02 0.00000000e+00 2.11751703e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 1.16463437e-01 2.11751703e-02 2.11751703e-02 8.47006814e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 1.27051022e-01 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 0.00000000e+00 8.47006814e-02 6.35255110e-02 6.35255110e-02 1.05875852e-02 8.47006814e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 1.05875852e-01 3.17627555e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 1.16463437e-01 1.05875852e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 1.05875852e-01 3.17627555e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 8.47006814e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 8.47006814e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 1.05875852e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 9.52882665e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 9.52882665e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 1.05875852e-01 9.52882665e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 5.29379258e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 0.00000000e+00 1.05875852e-02 1.05875852e-02 1.16463437e-01 6.35255110e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 1.37638607e-01 2.11751703e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 9.52882665e-02 3.17627555e-02 2.11751703e-02 1.05875852e-01 8.47006814e-02 5.29379258e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 0.00000000e+00 6.35255110e-02 8.47006814e-02 8.47006814e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 0.00000000e+00 4.23503407e-02 1.05875852e-02 8.47006814e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 1.05875852e-02 7.41130962e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 0.00000000e+00 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 1.37638607e-01 4.23503407e-02 4.23503407e-02 9.52882665e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 0.00000000e+00 3.17627555e-02 1.05875852e-01 4.23503407e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 0.00000000e+00 3.17627555e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 0.00000000e+00 2.11751703e-02 8.47006814e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 9.52882665e-02 5.29379258e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 1.05875852e-02 7.41130962e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 0.00000000e+00 1.48226192e-01 3.17627555e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 9.52882665e-02 5.29379258e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 6.35255110e-02 9.52882665e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 1.05875852e-01 3.17627555e-02 1.16463437e-01 3.17627555e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 9.52882665e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 1.05875852e-01 1.05875852e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 1.05875852e-01 5.29379258e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 0.00000000e+00 6.35255110e-02 0.00000000e+00 7.41130962e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 1.05875852e-01 0.00000000e+00 3.17627555e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 7.41130962e-02 9.52882665e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 7.41130962e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 9.52882665e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 9.52882665e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 8.47006814e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 9.52882665e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 9.52882665e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 0.00000000e+00 4.23503407e-02 0.00000000e+00 1.16463437e-01 1.05875852e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 8.47006814e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 1.05875852e-01 5.29379258e-02 8.47006814e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 1.16463437e-01 4.23503407e-02 5.29379258e-02 8.47006814e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 8.47006814e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 2.01164118e-01 1.05875852e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 7.41130962e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 1.05875852e-01 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 0.00000000e+00 4.23503407e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 0.00000000e+00 5.29379258e-02 8.47006814e-02 7.41130962e-02 2.11751703e-02 5.29379258e-02 1.16463437e-01 4.23503407e-02 3.17627555e-02 0.00000000e+00 1.05875852e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 0.00000000e+00 8.47006814e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 0.00000000e+00 2.11751703e-02 1.05875852e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 9.52882665e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 8.47006814e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 3.17627555e-02 9.52882665e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 0.00000000e+00 1.05875852e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 0.00000000e+00 6.35255110e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 8.47006814e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 1.05875852e-01 0.00000000e+00 1.48226192e-01 4.23503407e-02 7.41130962e-02 3.17627555e-02 9.52882665e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 1.27051022e-01 6.35255110e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 0.00000000e+00 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 0.00000000e+00 1.05875852e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 1.16463437e-01 2.11751703e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 9.52882665e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 0.00000000e+00 1.05875852e-02 1.05875852e-02 1.05875852e-02 6.35255110e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 8.47006814e-02 1.05875852e-01 6.35255110e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 1.05875852e-01 1.05875852e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 1.05875852e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 8.47006814e-02 1.05875852e-02 3.17627555e-02 0.00000000e+00 5.29379258e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 0.00000000e+00 1.16463437e-01 6.35255110e-02 4.23503407e-02 2.11751703e-02 9.52882665e-02 8.47006814e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 0.00000000e+00 3.17627555e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 9.52882665e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 0.00000000e+00 5.29379258e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 9.52882665e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 8.47006814e-02 8.47006814e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 1.05875852e-02 1.05875852e-02 5.29379258e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 0.00000000e+00 0.00000000e+00 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 9.52882665e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 9.52882665e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 9.52882665e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 0.00000000e+00 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 8.47006814e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 1.27051022e-01 1.05875852e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 0.00000000e+00 1.05875852e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 0.00000000e+00 6.35255110e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 9.52882665e-02 2.11751703e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 5.29379258e-02 9.52882665e-02 7.41130962e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 8.47006814e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 1.05875852e-01 7.41130962e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 0.00000000e+00 4.23503407e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 0.00000000e+00 5.29379258e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 1.48226192e-01 4.23503407e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 1.27051022e-01 4.23503407e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 1.05875852e-01 5.29379258e-02 8.47006814e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 2.11751703e-02 0.00000000e+00 5.29379258e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 8.47006814e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 0.00000000e+00 6.35255110e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 9.52882665e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 1.05875852e-01 5.29379258e-02 9.52882665e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 8.47006814e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 7.41130962e-02 1.05875852e-02 0.00000000e+00 7.41130962e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 0.00000000e+00 4.23503407e-02 5.29379258e-02 0.00000000e+00 3.17627555e-02 4.23503407e-02 6.35255110e-02 8.47006814e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 9.52882665e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 0.00000000e+00 4.23503407e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 1.05875852e-01 4.23503407e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 1.05875852e-01 3.17627555e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 2.11751703e-01 1.05875852e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 1.05875852e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 1.69401363e-01 5.29379258e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 1.16463437e-01 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 0.00000000e+00 3.17627555e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 9.52882665e-02 6.35255110e-02 3.17627555e-02 1.05875852e-01 3.17627555e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 1.79988948e-01 5.29379258e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 0.00000000e+00 3.17627555e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 1.37638607e-01 1.05875852e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 5.29379258e-02 1.69401363e-01 7.41130962e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 1.16463437e-01 1.05875852e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 0.00000000e+00 5.29379258e-02 5.29379258e-02 5.29379258e-02 9.52882665e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 1.05875852e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 8.47006814e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 0.00000000e+00 3.17627555e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 0.00000000e+00 4.23503407e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 1.16463437e-01 6.35255110e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 1.05875852e-01 1.05875852e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 0.00000000e+00 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 6.35255110e-02 0.00000000e+00 4.23503407e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 8.47006814e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 7.41130962e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 0.00000000e+00 8.47006814e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 0.00000000e+00 6.35255110e-02 4.23503407e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 1.27051022e-01 4.23503407e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 1.16463437e-01 5.29379258e-02 5.29379258e-02 6.35255110e-02 9.52882665e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 4.23503407e-02 0.00000000e+00 3.17627555e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 0.00000000e+00 5.29379258e-02 9.52882665e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 2.11751703e-02 1.48226192e-01 1.05875852e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 1.05875852e-01 3.17627555e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 1.27051022e-01 5.29379258e-02 1.27051022e-01 0.00000000e+00 4.23503407e-02 2.11751703e-02 5.29379258e-02 0.00000000e+00 6.35255110e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 2.11751703e-02 0.00000000e+00 4.23503407e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 1.05875852e-01 0.00000000e+00 5.29379258e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 0.00000000e+00 0.00000000e+00 1.05875852e-02 0.00000000e+00 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 1.05875852e-01 2.11751703e-02 4.23503407e-02 9.52882665e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 0.00000000e+00 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 0.00000000e+00 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 1.27051022e-01 3.17627555e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 0.00000000e+00 6.35255110e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 1.69401363e-01 1.05875852e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 6.35255110e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 9.52882665e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 1.37638607e-01 1.05875852e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 0.00000000e+00 5.29379258e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 1.05875852e-02 6.35255110e-02 0.00000000e+00 0.00000000e+00 5.29379258e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 1.05875852e-02 1.05875852e-01 2.11751703e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 8.47006814e-02 1.16463437e-01 6.35255110e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 0.00000000e+00 7.41130962e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 9.52882665e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 7.41130962e-02 1.05875852e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 1.58813778e-01 3.17627555e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 1.27051022e-01 5.29379258e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 3.70565481e-01 3.17627555e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 2.01164118e-01 4.23503407e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 1.16463437e-01 4.23503407e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 1.69401363e-01 6.35255110e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 1.05875852e-01 6.35255110e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 7.41130962e-02 1.90576533e-01 3.17627555e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 1.16463437e-01 3.17627555e-02 5.71729599e-01 2.11751703e-02 5.29379258e-02 1.27051022e-01 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 8.47006814e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 1.90576533e-01 0.00000000e+00 5.29379258e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 0.00000000e+00 5.29379258e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 1.16463437e-01 6.35255110e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 8.47006814e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 0.00000000e+00 1.05875852e-02 1.05875852e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 9.52882665e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 9.52882665e-02 3.17627555e-02 9.52882665e-02 2.11751703e-02 0.00000000e+00 5.29379258e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 9.52882665e-02 3.17627555e-02 0.00000000e+00 5.29379258e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 1.48226192e-01 8.47006814e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 1.05875852e-02 7.41130962e-02 4.23503407e-02 1.48226192e-01 5.29379258e-02 4.23503407e-02 9.52882665e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 9.52882665e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 0.00000000e+00 1.05875852e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 1.05875852e-01 6.35255110e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 1.69401363e-01 1.05875852e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 1.48226192e-01 2.11751703e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 3.91740651e-01 3.17627555e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 0.00000000e+00 6.35255110e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 0.00000000e+00 5.29379258e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 7.41130962e-02 7.41130962e-02 5.29379258e-02 0.00000000e+00 6.35255110e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 1.05875852e-01 5.29379258e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 5.29379258e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 1.58813778e-01 2.11751703e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 9.52882665e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 0.00000000e+00 5.29379258e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 7.41130962e-02 4.23503407e-02 0.00000000e+00 3.17627555e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 8.47006814e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 9.52882665e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 1.05875852e-01 2.11751703e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 0.00000000e+00 5.29379258e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 1.27051022e-01 6.35255110e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.27051022e-01 5.29379258e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 8.47006814e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 0.00000000e+00 3.17627555e-02 6.35255110e-02 4.23503407e-02 1.37638607e-01 8.47006814e-02 1.37638607e-01 2.11751703e-02 3.17627555e-02 2.22339289e-01 1.05875852e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 1.48226192e-01 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 9.52882665e-02 0.00000000e+00 8.47006814e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 1.58813778e-01 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 8.47006814e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 7.41130962e-02 3.17627555e-02 3.81153066e-01 4.23503407e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 9.52882665e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 7.41130962e-02 1.05875852e-02 1.05875852e-01 4.23503407e-02 8.47006814e-02 0.00000000e+00 6.35255110e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 6.35255110e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 0.00000000e+00 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 1.48226192e-01 3.17627555e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 2.01164118e-01 1.05875852e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 1.16463437e-01 3.17627555e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 1.16463437e-01 0.00000000e+00 1.05875852e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 1.58813778e-01 4.23503407e-02 2.11751703e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 1.05875852e-01 4.23503407e-02 7.41130962e-02 8.47006814e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 1.16463437e-01 2.11751703e-01 2.11751703e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 1.05875852e-01 6.35255110e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 1.16463437e-01 5.29379258e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 2.43514459e-01 2.11751703e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 0.00000000e+00 1.90576533e-01 1.05875852e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 0.00000000e+00 6.35255110e-02 4.23503407e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 0.00000000e+00 3.17627555e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 0.00000000e+00 5.29379258e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 1.27051022e-01 4.23503407e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 1.05875852e-01 0.00000000e+00 5.29379258e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 0.00000000e+00 5.29379258e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 0.00000000e+00 5.29379258e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-01 3.17627555e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 0.00000000e+00 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 0.00000000e+00 5.29379258e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.48226192e-01 8.47006814e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 0.00000000e+00 7.41130962e-02 2.11751703e-02 1.05875852e-01 7.41130962e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 1.05875852e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 0.00000000e+00 0.00000000e+00 2.11751703e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 1.37638607e-01 5.29379258e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 1.16463437e-01 6.35255110e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 0.00000000e+00 3.17627555e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 9.52882665e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 0.00000000e+00 3.17627555e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 9.52882665e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 1.58813778e-01 1.27051022e-01 2.11751703e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 1.27051022e-01 1.16463437e-01 7.41130962e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 1.69401363e-01 5.29379258e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 0.00000000e+00 1.27051022e-01 4.23503407e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 0.00000000e+00 3.17627555e-02 3.17627555e-02 8.47006814e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 2.54102044e-01 4.23503407e-02 8.47006814e-02 8.47006814e-02 1.05875852e-01 4.23503407e-02 5.29379258e-02 0.00000000e+00 2.11751703e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 1.48226192e-01 6.35255110e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 0.00000000e+00 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 9.52882665e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 1.05875852e-01 5.29379258e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 0.00000000e+00 5.29379258e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 9.52882665e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 1.05875852e-02 0.00000000e+00 3.17627555e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 9.52882665e-02 7.41130962e-02 4.23503407e-02 1.16463437e-01 4.23503407e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 0.00000000e+00 4.23503407e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 8.47006814e-02 1.05875852e-02 1.27051022e-01 3.17627555e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 0.00000000e+00 8.47006814e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 9.52882665e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 1.16463437e-01 6.35255110e-02 4.23503407e-02 1.27051022e-01 4.23503407e-02 7.41130962e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 0.00000000e+00 5.29379258e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 1.37638607e-01 5.29379258e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 1.69401363e-01 3.17627555e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 1.48226192e-01 5.29379258e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 1.05875852e-01 9.52882665e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 8.47006814e-02 0.00000000e+00 0.00000000e+00 1.37638607e-01 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 1.05875852e-02 1.05875852e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 1.16463437e-01 2.11751703e-02 4.23503407e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 0.00000000e+00 6.35255110e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 4.23503407e-01 3.17627555e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 2.01164118e-01 4.23503407e-02 2.11751703e-02 3.17627555e-02 9.52882665e-02 1.16463437e-01 7.41130962e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 1.16463437e-01 7.41130962e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 9.52882665e-02 9.52882665e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 1.69401363e-01 2.11751703e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 9.52882665e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 3.17627555e-01 1.16463437e-01 3.17627555e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 9.52882665e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 0.00000000e+00 6.35255110e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 4.97616503e-01 7.41130962e-02 7.41130962e-02 9.52882665e-02 3.17627555e-02 0.00000000e+00 1.05875852e-01 9.52882665e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 1.05875852e-01 0.00000000e+00 2.11751703e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 9.52882665e-02 9.52882665e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 1.16463437e-01 3.17627555e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 8.47006814e-02 6.35255110e-02 2.11751703e-02 0.00000000e+00 4.23503407e-02 0.00000000e+00 5.29379258e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 0.00000000e+00 2.11751703e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 1.79988948e-01 8.47006814e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 7.41130962e-02 9.52882665e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 0.00000000e+00 5.29379258e-02 2.11751703e-02 9.52882665e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 1.58813778e-01 2.11751703e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 0.00000000e+00 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 8.47006814e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 9.52882665e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 8.47006814e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 2.75277214e-01 5.29379258e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 0.00000000e+00 5.29379258e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 5.61142014e-01 4.23503407e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 1.05875852e-02 1.05875852e-02 1.05875852e-02 9.52882665e-02 3.17627555e-02 1.05875852e-02 1.58813778e-01 5.29379258e-02 7.41130962e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 1.05875852e-02 1.16463437e-01 0.00000000e+00 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 1.27051022e-01 9.52882665e-02 3.17627555e-02 0.00000000e+00 6.35255110e-02 7.41130962e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 8.47006814e-02 4.34090992e-01 4.23503407e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 0.00000000e+00 3.17627555e-02 0.00000000e+00 4.23503407e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 9.52882665e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 9.52882665e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 2.11751703e-02 7.41130962e-02 1.37638607e-01 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 1.27051022e-01 6.35255110e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 9.52882665e-02 6.35255110e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 1.05875852e-01 6.35255110e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 1.27051022e-01 3.17627555e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 9.52882665e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 7.41130962e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 1.58813778e-01 2.11751703e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 0.00000000e+00 2.11751703e-02 7.41130962e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 8.47006814e-02 1.05875852e-02 1.05875852e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 8.47006814e-02 8.47006814e-02 1.05875852e-02 5.29379258e-02 1.37638607e-01 2.11751703e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 0.00000000e+00 1.05875852e-02 5.29379258e-02 1.48226192e-01 7.41130962e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 6.35255110e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 7.41130962e-02 1.16463437e-01 4.23503407e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 0.00000000e+00 5.29379258e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 1.27051022e-01 1.05875852e-02 6.35255110e-02 1.05875852e-01 6.35255110e-02 8.47006814e-02 4.23503407e-02 0.00000000e+00 3.17627555e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 8.47006814e-02 0.00000000e+00 3.17627555e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 8.47006814e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 0.00000000e+00 1.05875852e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 9.52882665e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 9.52882665e-02 7.41130962e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 1.58813778e-01 0.00000000e+00 2.11751703e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 8.47006814e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 1.16463437e-01 9.52882665e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 2.85864800e-01 8.47006814e-02 5.29379258e-02 2.43514459e-01 6.35255110e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 5.29379258e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 1.05875852e-01 2.11751703e-02 2.11751703e-02 1.05875852e-02 1.27051022e-01 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 4.97616503e-01 2.11751703e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 8.47006814e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 1.05875852e-01 1.05875852e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 1.05875852e-01 2.11751703e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 1.37638607e-01 4.23503407e-02 3.17627555e-02 4.23503407e-02 0.00000000e+00 0.00000000e+00 1.05875852e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 8.47006814e-02 2.11751703e-02 0.00000000e+00 1.05875852e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 7.41130962e-02 5.29379258e-02 1.16463437e-01 7.41130962e-02 5.29379258e-02 6.35255110e-02 0.00000000e+00 9.52882665e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 1.27051022e-01 6.35255110e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 1.16463437e-01 3.17627555e-02 9.52882665e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 1.27051022e-01 7.41130962e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 1.37638607e-01 3.17627555e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.27051022e-01 2.11751703e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 0.00000000e+00 1.05875852e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 1.27051022e-01 1.05875852e-02 1.05875852e-02 0.00000000e+00 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 0.00000000e+00 1.05875852e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 1.48226192e-01 3.17627555e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 1.05875852e-02 7.41130962e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 3.38802725e-01 1.05875852e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 5.29379258e-02 0.00000000e+00 0.00000000e+00 2.11751703e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 9.52882665e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 1.27051022e-01 2.11751703e-02 3.17627555e-02 0.00000000e+00 4.23503407e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 1.16463437e-01 8.47006814e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 1.16463437e-01 2.11751703e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 1.05875852e-02 8.47006814e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 0.00000000e+00 1.05875852e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 8.47006814e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 1.05875852e-01 2.11751703e-01 6.35255110e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 9.52882665e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 9.52882665e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 1.05875852e-01 4.23503407e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 9.52882665e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 1.16463437e-01 1.05875852e-02 4.23503407e-02 9.52882665e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 1.27051022e-01 4.23503407e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 8.47006814e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 0.00000000e+00 0.00000000e+00 5.29379258e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 4.34090992e-01 5.29379258e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 1.05875852e-01 6.35255110e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.85864800e-01 4.23503407e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 6.35255110e-02 9.52882665e-02 1.05875852e-02 8.47006814e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 1.35521090e+00 5.29379258e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 0.00000000e+00 7.41130962e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 1.16463437e-01 4.23503407e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 1.05875852e-01 2.11751703e-02 1.05875852e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 1.05875852e-01 2.11751703e-02 2.11751703e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 2.75277214e-01 5.29379258e-02 8.47006814e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 1.27051022e-01 3.17627555e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 2.11751703e-01 4.23503407e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 0.00000000e+00 3.17627555e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 1.05875852e-01 6.35255110e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 9.52882665e-02 5.29379258e-02 4.23503407e-02 1.05875852e-01 2.11751703e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 0.00000000e+00 6.35255110e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 6.35255110e-02 9.52882665e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 1.90576533e-01 4.23503407e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 8.47006814e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 1.27051022e-01 3.17627555e-02 2.11751703e-02 5.29379258e-02 1.05875852e-01 1.05875852e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 8.47006814e-02 7.41130962e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 3.81153066e-01 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 0.00000000e+00 1.27051022e-01 4.23503407e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 1.16463437e-01 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 1.05875852e-01 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 7.41130962e-02 1.05875852e-01 2.11751703e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 0.00000000e+00 9.52882665e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 0.00000000e+00 7.41130962e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 1.05875852e-01 1.05875852e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 8.47006814e-02 7.41130962e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 1.05875852e-02 1.37638607e-01 6.35255110e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 8.47006814e-02 5.29379258e-02 1.05875852e-01 4.23503407e-02 4.23503407e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 0.00000000e+00 3.17627555e-02 8.47006814e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 0.00000000e+00 3.17627555e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 0.00000000e+00 1.37638607e-01 8.47006814e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 9.52882665e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 9.52882665e-02 1.05875852e-01 6.35255110e-02 6.35255110e-02 6.35255110e-02 8.47006814e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 9.52882665e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 1.05875852e-01 8.47006814e-02 6.35255110e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 1.16463437e-01 3.17627555e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 2.11751703e-02 1.05875852e-01 3.17627555e-02 0.00000000e+00 6.35255110e-02 1.05875852e-01 6.35255110e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 2.11751703e-02 1.69401363e-01 4.23503407e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 1.48226192e-01 0.00000000e+00 1.05875852e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 1.05875852e-02 1.05875852e-02 5.29379258e-02 1.05875852e-01 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 1.37638607e-01 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 1.79988948e-01 4.23503407e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 1.16463437e-01 5.29379258e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 2.22339289e-01 4.23503407e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 1.05875852e-01 8.47006814e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 1.05875852e-01 1.05875852e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 8.47006814e-02 1.37638607e-01 2.32926874e-01 5.29379258e-02 5.29379258e-02 1.05875852e-01 1.05875852e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 1.05875852e-01 5.29379258e-02 8.47006814e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 1.05875852e-01 1.05875852e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 1.58813778e-01 5.29379258e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 1.58813778e-01 3.17627555e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 9.52882665e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 8.78769569e-01 6.35255110e-02 0.00000000e+00 8.47006814e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 1.37638607e-01 3.17627555e-02 2.01164118e-01 8.47006814e-02 1.05875852e-02 4.23503407e-02 2.54102044e-01 4.23503407e-02 3.17627555e-02 2.11751703e-02 9.52882665e-02 5.29379258e-02 8.47006814e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 8.47006814e-02 9.52882665e-02 8.47006814e-02 2.11751703e-02 7.41130962e-02 9.52882665e-02 7.41130962e-02 5.29379258e-02 0.00000000e+00 2.11751703e-02 2.11751703e-02 7.41130962e-02 1.16463437e-01 4.23503407e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 8.47006814e-02 2.11751703e-01 3.17627555e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 6.45842695e-01 5.29379258e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 1.05875852e-01 2.11751703e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 9.52882665e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 1.16463437e-01 4.23503407e-02 7.41130962e-02 7.41130962e-02 9.52882665e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 9.52882665e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 1.05875852e-02 8.47006814e-02 1.48226192e-01 2.11751703e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 1.05875852e-01 1.05875852e-01 4.23503407e-02 1.37638607e-01 2.11751703e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 1.27051022e-01 3.17627555e-02 2.11751703e-02 1.58813778e-01 1.05875852e-02 3.17627555e-02 1.37638607e-01 2.11751703e-02 3.17627555e-02 4.23503407e-02 1.16463437e-01 1.05875852e-02 1.27051022e-01 4.23503407e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 1.27051022e-01 1.05875852e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 1.05875852e-01 5.29379258e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 1.05875852e-01 5.29379258e-02 1.05875852e-01 5.29379258e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 1.27051022e-01 5.29379258e-02 8.47006814e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 1.05875852e-01 6.35255110e-02 4.12915822e-01 4.23503407e-02 7.41130962e-02 9.52882665e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 0.00000000e+00 1.05875852e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 8.47006814e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 4.23503407e-02 1.05875852e-01 5.29379258e-02 8.47006814e-02 9.52882665e-02 6.35255110e-02 0.00000000e+00 1.05875852e-02 6.35255110e-02 3.17627555e-02 1.05875852e-01 2.11751703e-02 5.29379258e-02 3.17627555e-02 9.84645421e-01 1.05875852e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 1.48226192e-01 2.11751703e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 0.00000000e+00 5.29379258e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 2.11751703e-02 9.52882665e-02 1.05875852e-02 9.52882665e-02 1.05875852e-02 8.47006814e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 1.16463437e-01 0.00000000e+00 9.52882665e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 1.16463437e-01 2.11751703e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 9.52882665e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 8.47006814e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 0.00000000e+00 7.41130962e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 0.00000000e+00 1.05875852e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 1.48226192e-01 4.23503407e-02 5.29379258e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 1.48226192e-01 4.23503407e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-01 7.41130962e-02 1.05875852e-02 3.17627555e-02 9.52882665e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 1.05875852e-01 3.17627555e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 1.16463437e-01 4.23503407e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 0.00000000e+00 1.69401363e-01 5.29379258e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 1.58813778e-01 1.27051022e-01 5.29379258e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 0.00000000e+00 1.05875852e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 8.47006814e-02 8.47006814e-02 1.27051022e-01 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 1.27051022e-01 1.16463437e-01 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 1.27051022e-01 4.23503407e-01 3.17627555e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 5.29379258e-02 0.00000000e+00 3.17627555e-02 1.16463437e-01 4.23503407e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 6.35255110e-02 9.52882665e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 1.27051022e-01 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 1.90576533e-01 1.05875852e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 8.47006814e-02 7.41130962e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 0.00000000e+00 2.11751703e-02 3.17627555e-02 1.16463437e-01 6.35255110e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 1.05875852e-01 8.47006814e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 1.05875852e-02 0.00000000e+00 8.47006814e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 1.16463437e-01 7.41130962e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 0.00000000e+00 3.17627555e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 1.16463437e-01 3.17627555e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 1.05875852e-01 3.17627555e-02 1.05875852e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 7.41130962e-02 1.37638607e-01 5.29379258e-02 3.17627555e-02 0.00000000e+00 6.35255110e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 6.35255110e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 2.11751703e-01 7.41130962e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 9.52882665e-02 6.35255110e-02 1.05875852e-02 1.16463437e-01 6.35255110e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 8.47006814e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 6.35255110e-02 1.37638607e-01 5.29379258e-02 3.17627555e-02 1.79988948e-01 1.05875852e-02 3.17627555e-02 0.00000000e+00 3.28215140e-01 4.23503407e-02 3.17627555e-02 3.17627555e-02 2.32926874e-01 4.23503407e-02 6.35255110e-02 2.11751703e-02 9.52882665e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 3.08098728e+00 6.35255110e-02 3.17627555e-02 9.52882665e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 1.05875852e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 1.58813778e-01 4.23503407e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 8.47006814e-02 1.05875852e-01 3.17627555e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 9.52882665e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 2.54102044e-01 7.41130962e-02 8.47006814e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 2.32926874e-01 4.23503407e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 1.05875852e-01 5.29379258e-02 5.29379258e-02 7.41130962e-02 1.58813778e-01 5.29379258e-02 6.35255110e-02 1.69401363e-01 1.05875852e-02 5.29379258e-02 8.47006814e-02 2.11751703e-01 2.11751703e-02 2.11751703e-01 6.35255110e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 9.42295080e-01 2.11751703e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 9.52882665e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 9.52882665e-02 1.05875852e-01 2.11751703e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 1.90576533e-01 2.11751703e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 5.29379258e-02 1.05875852e-02 0.00000000e+00 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 9.52882665e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 1.05875852e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 1.16463437e-01 2.11751703e-02 7.41130962e-02 2.11751703e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 2.11751703e-02 2.11751703e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 3.81153066e-01 4.23503407e-02 4.23503407e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 1.05875852e-01 7.41130962e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 1.79988948e-01 6.35255110e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 9.52882665e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 7.41130962e-02 8.47006814e-02 1.05875852e-02 9.52882665e-02 1.27051022e-01 6.35255110e-02 6.35255110e-02 7.41130962e-02 8.47006814e-02 2.11751703e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 9.52882665e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 0.00000000e+00 7.41130962e-02 4.23503407e-02 5.29379258e-02 2.54102044e-01 7.41130962e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 1.27051022e-01 5.29379258e-02 1.27051022e-01 3.17627555e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 6.35255110e-02 1.05875852e-01 4.23503407e-02 1.05875852e-01 1.05875852e-02 2.11751703e-02 1.37638607e-01 7.41130962e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.16463437e-01 4.23503407e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 2.11751703e-02 7.41130962e-02 7.41130962e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 9.52882665e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 2.11751703e-01 3.17627555e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 1.16463437e-01 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 1.05875852e-02 8.47006814e-02 5.29379258e-02 1.16463437e-01 2.11751703e-02 1.05875852e-01 5.29379258e-02 8.47006814e-02 2.11751703e-02 1.69401363e-01 1.27051022e-01 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 1.58813778e-01 8.47006814e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 1.48226192e-01 4.23503407e-02 1.27051022e-01 6.35255110e-02 7.41130962e-02 2.11751703e-02 1.16463437e-01 3.17627555e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 1.05875852e-01 3.17627555e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.08204088e-01 4.23503407e-02 1.05875852e-01 9.52882665e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 0.00000000e+00 5.29379258e-02 2.43514459e-01 4.23503407e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 4.23503407e-02 2.96452385e-01 2.11751703e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 0.00000000e+00 2.11751703e-02 3.17627555e-02 4.23503407e-02 9.52882665e-02 1.05875852e-01 0.00000000e+00 7.41130962e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 8.47006814e-02 2.11751703e-01 8.47006814e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 1.16463437e-01 1.05875852e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 9.52882665e-02 1.05875852e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 9.52882665e-02 1.79988948e-01 6.35255110e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 3.91740651e-01 4.23503407e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 2.11751703e-02 1.05875852e-01 5.29379258e-02 8.47006814e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 1.37638607e-01 3.17627555e-02 1.05875852e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 1.16463437e-01 2.01164118e-01 7.41130962e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 1.05875852e-02 1.05875852e-02 6.35255110e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 1.48226192e-01 1.05875852e-02 0.00000000e+00 7.41130962e-02 2.11751703e-02 1.27051022e-01 2.11751703e-02 9.52882665e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 1.37638607e-01 4.23503407e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 1.16463437e-01 3.17627555e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 1.16463437e-01 6.35255110e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 1.16463437e-01 4.23503407e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 2.01164118e-01 5.29379258e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 1.05875852e-01 3.17627555e-02 1.58813778e-01 4.23503407e-02 0.00000000e+00 1.05875852e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 1.05875852e-01 5.29379258e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 1.37638607e-01 5.29379258e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 1.16463437e-01 9.52882665e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 1.58813778e-01 7.41130962e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 1.16463437e-01 1.05875852e-01 4.23503407e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 1.69401363e-01 2.11751703e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 2.11751703e-02 0.00000000e+00 7.41130962e-02 7.41130962e-02 2.11751703e-02 1.37638607e-01 8.47006814e-02 6.35255110e-02 2.11751703e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 1.58813778e-01 5.29379258e-02 1.16463437e-01 4.23503407e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 9.52882665e-02 9.52882665e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 1.16463437e-01 1.05875852e-02 6.35255110e-02 0.00000000e+00 3.17627555e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 9.52882665e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 1.05875852e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 1.48226192e-01 3.17627555e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 1.05875852e-01 7.41130962e-02 1.16463437e-01 3.17627555e-02 4.23503407e-02 9.52882665e-02 2.75277214e-01 4.23503407e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 1.79988948e-01 2.11751703e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 1.58813778e-01 5.29379258e-02 3.17627555e-02 1.27051022e-01 1.27051022e-01 4.23503407e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 7.41130962e-02 1.05875852e-01 3.17627555e-02 3.17627555e-02 1.16463437e-01 5.29379258e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 7.41130962e-01 4.23503407e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 9.52882665e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 2.22339289e-01 7.41130962e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 2.75277214e-01 2.11751703e-02 1.16463437e-01 9.52882665e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 1.27051022e-01 5.29379258e-02 0.00000000e+00 3.17627555e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 9.52882665e-02 7.41130962e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 0.00000000e+00 3.17627555e-02 7.41130962e-02 1.05875852e-01 7.41130962e-02 6.35255110e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 9.52882665e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 1.16463437e-01 5.29379258e-02 3.17627555e-02 8.36419228e-01 9.52882665e-02 6.35255110e-02 2.11751703e-02 9.52882665e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 1.37638607e-01 3.17627555e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 9.52882665e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 7.41130962e-02 1.27051022e-01 2.11751703e-02 2.75277214e-01 9.52882665e-02 1.48226192e-01 4.23503407e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 1.27051022e-01 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 1.16463437e-01 1.05875852e-01 4.23503407e-02 9.52882665e-02 5.29379258e-02 4.23503407e-02 1.05875852e-01 3.17627555e-02 8.47006814e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 0.00000000e+00 7.41130962e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 6.35255110e-02 1.27051022e-01 5.29379258e-02 2.11751703e-02 3.17627555e-02 9.52882665e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.05875852e-01 7.41130962e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 9.52882665e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 1.27051022e-01 5.29379258e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 9.52882665e-02 1.27051022e-01 4.23503407e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 6.56430281e-01 2.11751703e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 1.05875852e-01 1.05875852e-02 1.05875852e-01 1.05875852e-02 5.29379258e-02 1.27051022e-01 4.23503407e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 1.05875852e-01 2.11751703e-02 6.35255110e-02 1.48226192e-01 1.05875852e-01 2.11751703e-02 3.17627555e-02 9.52882665e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 3.17627555e-02 1.05875852e-02 8.47006814e-02 1.37638607e-01 9.52882665e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 9.52882665e-02 5.29379258e-02 9.52882665e-02 1.05875852e-01 1.05875852e-01 2.11751703e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 9.52882665e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 9.52882665e-02 4.23503407e-02 1.05875852e-02 1.27051022e-01 0.00000000e+00 8.47006814e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 9.52882665e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 0.00000000e+00 1.37638607e-01 7.41130962e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 9.52882665e-02 3.17627555e-02 8.47006814e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 1.16463437e-01 9.52882665e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 1.16463437e-01 4.23503407e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 7.41130962e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 4.23503407e-02 1.05875852e-01 2.11751703e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 1.79988948e-01 2.01164118e-01 3.17627555e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 1.16463437e-01 5.29379258e-02 0.00000000e+00 4.23503407e-02 6.35255110e-02 1.27051022e-01 4.23503407e-02 2.11751703e-02 1.16463437e-01 6.35255110e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 0.00000000e+00 1.05875852e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 7.41130962e-02 1.05875852e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 1.69401363e-01 4.23503407e-02 4.23503407e-02 0.00000000e+00 7.41130962e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 1.58813778e-01 1.05875852e-01 6.35255110e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 9.52882665e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 0.00000000e+00 3.17627555e-02 7.41130962e-02 2.11751703e-02 1.05875852e-02 1.27051022e-01 2.11751703e-02 7.41130962e-02 7.41130962e-02 1.69401363e-01 6.35255110e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 1.37638607e-01 3.17627555e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 8.47006814e-02 9.52882665e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 1.69401363e-01 6.35255110e-02 7.41130962e-02 2.75277214e-01 1.05875852e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 1.16463437e-01 3.17627555e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 9.52882665e-02 6.35255110e-02 1.37638607e-01 5.29379258e-02 1.05875852e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 9.52882665e-02 2.11751703e-02 1.05875852e-01 4.23503407e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 1.37638607e-01 1.27051022e-01 0.00000000e+00 1.27051022e-01 6.35255110e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 1.58813778e-01 3.17627555e-02 0.00000000e+00 2.11751703e-02 6.77605451e-01 6.35255110e-02 3.17627555e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 9.52882665e-02 2.11751703e-02 4.23503407e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 8.47006814e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 5.92904770e-01 4.23503407e-02 5.29379258e-02 8.47006814e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 0.00000000e+00 4.23503407e-02 3.17627555e-02 7.41130962e-02 2.64689629e-01 2.11751703e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 1.27051022e-01 9.52882665e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 1.16463437e-01 0.00000000e+00 5.29379258e-02 4.23503407e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 1.90576533e-01 1.05875852e-01 1.58813778e-01 5.29379258e-02 1.05875852e-02 8.47006814e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 1.27051022e-01 5.29379258e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 1.16463437e-01 7.41130962e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 1.05875852e-01 7.41130962e-02 3.17627555e-02 3.17627555e-02 1.16463437e-01 1.05875852e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 2.11751703e-01 0.00000000e+00 4.23503407e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.48226192e-01 6.35255110e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 1.27051022e-01 3.17627555e-02 3.59977896e-01 5.29379258e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 9.52882665e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 9.52882665e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 5.29379258e-02 1.37638607e-01 6.35255110e-02 3.17627555e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 0.00000000e+00 3.17627555e-02 5.29379258e-02 9.52882665e-02 0.00000000e+00 6.35255110e-02 5.29379258e-02 3.17627555e-02 1.05875852e-01 5.29379258e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 2.11751703e-02 1.16463437e-01 5.29379258e-02 3.17627555e-02 6.35255110e-02 8.47006814e-02 1.05875852e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 2.43514459e-01 5.29379258e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 1.05875852e-02 0.00000000e+00 4.23503407e-02 1.79988948e-01 6.35255110e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 1.27051022e-01 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 6.35255110e-02 6.35255110e-02 0.00000000e+00 2.11751703e-02 4.23503407e-02 7.41130962e-02 5.18791673e-01 4.23503407e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 1.05875852e-02 1.69401363e-01 6.35255110e-02 4.23503407e-02 7.41130962e-02 1.05875852e-01 5.29379258e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 1.90576533e-01 0.00000000e+00 4.23503407e-02 4.23503407e-02 4.23503407e-02 0.00000000e+00 8.47006814e-02 2.11751703e-02 1.05875852e-01 3.17627555e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 1.27051022e-01 9.52882665e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 1.05875852e-01 7.41130962e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 9.52882665e-02 8.47006814e-02 1.05875852e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 1.05875852e-01 7.41130962e-02 1.05875852e-01 0.00000000e+00 9.52882665e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 1.16463437e-01 8.47006814e-02 3.17627555e-02 8.47006814e-02 7.41130962e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 1.58813778e-01 9.52882665e-02 4.23503407e-02 3.17627555e-02 1.27051022e-01 1.27051022e-01 2.11751703e-02 0.00000000e+00 2.11751703e-02 3.17627555e-02 1.05875852e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 0.00000000e+00 3.17627555e-02 3.17627555e-02 1.05875852e-01 5.29379258e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 1.05875852e-01 5.29379258e-02 1.05875852e-02 1.16463437e-01 0.00000000e+00 6.35255110e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 1.05875852e-01 5.29379258e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 0.00000000e+00 2.11751703e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 3.81153066e-01 3.17627555e-02 3.17627555e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 1.37638607e-01 1.37638607e-01 4.23503407e-02 9.52882665e-02 3.17627555e-02 2.11751703e-02 1.05875852e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 1.27051022e-01 1.16463437e-01 2.11751703e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 2.54102044e-01 8.47006814e-02 3.17627555e-02 2.11751703e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 1.27051022e-01 2.22339289e-01 7.41130962e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 9.52882665e-02 6.35255110e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 7.51718547e-01 5.29379258e-02 1.05875852e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 3.81153066e-01 1.05875852e-01 2.11751703e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 7.41130962e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 9.52882665e-02 8.47006814e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 2.11751703e-01 5.29379258e-02 9.52882665e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 4.23503407e-02 1.16463437e-01 4.23503407e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 1.27051022e-01 3.17627555e-02 1.58813778e-01 3.17627555e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 1.27051022e-01 1.79988948e-01 4.23503407e-02 7.41130962e-02 1.05875852e-01 4.23503407e-02 3.17627555e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 3.17627555e-02 6.35255110e-02 1.05875852e-01 9.52882665e-02 6.35255110e-02 1.16463437e-01 3.17627555e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 9.52882665e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 1.05875852e-01 4.23503407e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 1.58813778e-01 6.35255110e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 2.43514459e-01 2.22339289e-01 5.29379258e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 1.37638607e-01 5.29379258e-02 9.52882665e-02 5.29379258e-02 7.41130962e-02 9.52882665e-02 5.29379258e-02 7.41130962e-02 9.52882665e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 9.52882665e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 1.58813778e-01 4.23503407e-02 9.52882665e-02 5.29379258e-02 2.11751703e-02 2.43514459e-01 4.23503407e-02 7.41130962e-02 3.07039970e-01 5.29379258e-02 1.16463437e-01 6.35255110e-02 6.35255110e-02 6.35255110e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 1.05875852e-01 6.35255110e-02 4.23503407e-02 3.17627555e-02 1.05875852e-01 8.47006814e-02 1.48226192e-01 1.05875852e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 1.27051022e-01 4.23503407e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 7.41130962e-02 7.41130962e-02 6.35255110e-02 1.58813778e-01 6.35255110e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 1.05875852e-01 7.41130962e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 1.58813778e-01 1.05875852e-01 3.17627555e-02 5.29379258e-02 9.52882665e-02 1.90576533e-01 5.29379258e-02 1.05875852e-02 1.37638607e-01 4.23503407e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 1.48226192e-01 9.52882665e-02 7.41130962e-02 9.52882665e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 1.05875852e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 7.41130962e-02 1.16463437e-01 3.17627555e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 2.11751703e-01 4.23503407e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 1.05875852e-01 5.29379258e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 1.37638607e-01 6.35255110e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 9.52882665e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 9.52882665e-02 6.35255110e-02 8.47006814e-02 9.52882665e-02 1.05875852e-01 4.23503407e-02 3.17627555e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 7.41130962e-02 2.11751703e-02 9.52882665e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 9.52882665e-02 7.41130962e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 1.05875852e-01 5.29379258e-02 3.17627555e-02 7.41130962e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 2.11751703e-01 1.16463437e-01 2.11751703e-02 3.17627555e-02 1.05875852e-01 8.47006814e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.05875852e-01 5.29379258e-02 4.23503407e-02 1.05875852e-01 1.05875852e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 1.05875852e-02 1.05875852e-02 2.11751703e-02 1.37638607e-01 5.29379258e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 1.16463437e-01 1.05875852e-01 4.23503407e-02 2.11751703e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 6.35255110e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 2.75277214e-01 5.29379258e-02 6.35255110e-02 1.90576533e-01 3.17627555e-02 7.41130962e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 1.16463437e-01 2.11751703e-02 4.23503407e-02 1.05875852e-01 3.17627555e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 7.41130962e-02 8.47006814e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 9.52882665e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 3.17627555e-02 1.69401363e-01 9.52882665e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 1.27051022e-01 3.17627555e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 1.05875852e-01 9.52882665e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 7.41130962e-02 9.52882665e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 1.05875852e-02 5.29379258e-02 3.17627555e-02 9.52882665e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 9.52882665e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 2.11751703e-02 8.47006814e-02 5.29379258e-02 8.47006814e-02 1.16463437e-01 5.29379258e-02 1.27051022e-01 4.23503407e-02 6.35255110e-02 1.27051022e-01 5.29379258e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 0.00000000e+00 9.52882665e-02 1.05875852e-02 1.27051022e-01 3.17627555e-02 6.35255110e-02 3.17627555e-02 3.17627555e-01 5.29379258e-02 2.11751703e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 1.16463437e-01 5.29379258e-02 5.29379258e-02 1.05875852e-01 4.23503407e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 1.05875852e-01 3.17627555e-02 8.47006814e-02 1.05875852e-01 7.41130962e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 1.05875852e-01 5.29379258e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 1.37638607e-01 2.11751703e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 9.52882665e-02 6.35255110e-02 1.37638607e-01 8.47006814e-02 7.41130962e-02 1.37638607e-01 4.23503407e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 8.36419228e-01 3.17627555e-02 7.41130962e-02 1.16463437e-01 3.17627555e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 7.41130962e-02 7.41130962e-02 1.05875852e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 1.37638607e-01 3.17627555e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 0.00000000e+00 9.52882665e-02 5.29379258e-02 1.16463437e-01 7.41130962e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 8.47006814e-02 2.11751703e-02 1.05875852e-01 4.23503407e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 1.16463437e-01 4.23503407e-02 8.47006814e-02 2.11751703e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 8.47006814e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 1.37638607e-01 1.16463437e-01 3.17627555e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 2.11751703e-02 1.16463437e-01 1.05875852e-02 1.37638607e-01 5.29379258e-02 3.17627555e-02 1.79988948e-01 6.35255110e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 9.52882665e-02 7.41130962e-02 2.11751703e-02 6.35255110e-02 9.52882665e-02 3.17627555e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 7.41130962e-02 9.52882665e-02 6.35255110e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 1.79988948e-01 3.17627555e-02 1.27051022e-01 1.16463437e-01 6.35255110e-02 2.64689629e-01 6.35255110e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 3.17627555e-02 1.05875852e-01 6.35255110e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 1.05875852e-01 6.35255110e-02 6.35255110e-02 1.69401363e-01 5.29379258e-02 0.00000000e+00 4.23503407e-02 4.23503407e-02 3.17627555e-02 1.05875852e-01 1.37638607e-01 4.23503407e-02 3.17627555e-02 6.35255110e-02 9.52882665e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 9.52882665e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 1.05875852e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 1.37638607e-01 6.35255110e-02 1.27051022e-01 8.47006814e-02 1.16463437e-01 7.41130962e-02 5.18791673e-01 3.17627555e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 2.43514459e-01 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 1.05875852e-01 9.52882665e-02 3.17627555e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 3.17627555e-02 1.05875852e-02 5.29379258e-02 1.05875852e-01 5.29379258e-02 1.05875852e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 1.37638607e-01 4.23503407e-02 3.17627555e-02 8.47006814e-02 1.05875852e-02 2.01164118e-01 3.17627555e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 1.05875852e-01 6.35255110e-02 4.23503407e-02 3.17627555e-02 9.52882665e-02 1.05875852e-01 9.52882665e-02 1.05875852e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 1.79988948e-01 6.35255110e-02 8.47006814e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 1.05875852e-01 6.35255110e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 1.27051022e-01 1.05875852e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 9.52882665e-02 7.41130962e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 8.47006814e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 1.58813778e-01 6.35255110e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 9.52882665e-02 1.16463437e-01 5.29379258e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 8.47006814e-02 8.47006814e-02 8.47006814e-02 1.27051022e-01 4.23503407e-02 5.29379258e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 1.16463437e-01 7.41130962e-02 3.17627555e-02 1.37638607e-01 8.47006814e-02 1.05875852e-02 1.58813778e-01 8.47006814e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 2.01164118e-01 3.17627555e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 1.05875852e-02 1.27051022e-01 4.23503407e-02 9.52882665e-02 3.17627555e-02 3.17627555e-01 4.23503407e-02 1.16463437e-01 6.35255110e-02 1.27051022e-01 7.41130962e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 2.64689629e-01 2.43514459e-01 7.41130962e-02 7.41130962e-02 3.17627555e-02 2.11751703e-02 1.05875852e-01 1.58813778e-01 4.23503407e-02 2.11751703e-02 6.35255110e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 1.05875852e-01 8.47006814e-02 1.05875852e-01 9.52882665e-02 7.41130962e-02 1.37638607e-01 3.17627555e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 1.05875852e-02 1.48226192e-01 4.23503407e-02 8.47006814e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 1.37638607e-01 4.23503407e-02 2.11751703e-02 3.17627555e-02 6.35255110e-02 1.16463437e-01 7.41130962e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 1.69401363e-01 8.47006814e-02 5.29379258e-02 1.05875852e-01 2.11751703e-02 5.29379258e-02 9.52882665e-02 8.47006814e-02 7.41130962e-02 3.17627555e-02 1.05875852e-01 8.47006814e-02 5.29379258e-02 2.11751703e-02 3.17627555e-01 6.35255110e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 9.52882665e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 8.47006814e-02 2.75277214e-01 6.35255110e-02 4.23503407e-02 4.12915822e-01 1.58813778e-01 3.17627555e-02 6.35255110e-02 2.11751703e-02 8.47006814e-02 8.47006814e-02 2.11751703e-02 1.70460121e+00 1.05875852e-02 1.05875852e-01 9.52882665e-02 6.35255110e-02 4.23503407e-02 1.48226192e-01 8.47006814e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 9.52882665e-02 1.16463437e-01 5.29379258e-02 3.17627555e-02 1.05875852e-02 1.27051022e-01 6.35255110e-02 5.29379258e-02 3.17627555e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 1.16463437e-01 6.35255110e-02 8.47006814e-02 2.11751703e-02 1.05875852e-01 3.17627555e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 1.79988948e-01 7.41130962e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 2.11751703e-01 7.41130962e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 1.16463437e-01 4.44678577e-01 4.23503407e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 2.11751703e-01 1.58813778e-01 8.47006814e-02 3.70565481e-01 4.23503407e-02 2.11751703e-02 1.05875852e-01 1.05875852e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 0.00000000e+00 8.47006814e-02 1.16463437e-01 8.47006814e-02 3.17627555e-02 1.69401363e-01 1.90576533e-01 1.37638607e-01 5.29379258e-02 2.54102044e-01 1.69401363e-01 4.23503407e-02 1.16463437e-01 6.35255110e-02 4.23503407e-02 2.11751703e-02 6.35255110e-02 1.05875852e-02 1.05875852e-01 4.23503407e-02 2.11751703e-02 2.11751703e-02 8.47006814e-02 3.17627555e-02 1.90576533e-01 9.52882665e-02 8.47006814e-02 6.35255110e-02 3.17627555e-02 1.16463437e-01 3.17627555e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 9.52882665e-02 1.27051022e-01 1.05875852e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 1.27051022e-01 1.27051022e-01 5.29379258e-02 1.05875852e-01 4.23503407e-02 1.05875852e-01 4.23503407e-02 8.47006814e-02 3.17627555e-02 9.52882665e-02 1.16463437e-01 4.23503407e-02 9.52882665e-02 7.41130962e-02 8.47006814e-02 1.16463437e-01 3.17627555e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 1.05875852e-01 8.47006814e-02 1.16463437e-01 1.16463437e-01 7.41130962e-02 9.52882665e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.16463437e-01 9.52882665e-02 6.35255110e-02 1.05875852e-01 6.35255110e-02 2.75277214e-01 9.52882665e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 1.79988948e-01 6.35255110e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 1.05875852e-01 1.16463437e-01 5.29379258e-02 4.23503407e-02 5.29379258e-02 3.49390311e-01 5.29379258e-02 3.17627555e-02 9.52882665e-02 0.00000000e+00 1.37638607e-01 4.23503407e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 1.69401363e-01 4.23503407e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 9.52882665e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 7.83481303e-01 8.47006814e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 1.48226192e-01 6.35255110e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 1.05875852e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 1.05875852e-01 4.23503407e-02 1.27051022e-01 1.05875852e-01 5.29379258e-02 2.11751703e-01 2.01164118e-01 5.29379258e-02 3.17627555e-02 7.41130962e-02 6.35255110e-02 1.05875852e-01 6.35255110e-02 6.35255110e-02 9.52882665e-02 3.17627555e-02 9.52882665e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 1.05875852e-01 1.79988948e-01 8.47006814e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 1.16463437e-01 6.35255110e-02 3.17627555e-02 9.52882665e-02 9.52882665e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 1.27051022e-01 1.16463437e-01 4.23503407e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 7.41130962e-02 2.11751703e-02 9.52882665e-02 1.16463437e-01 5.29379258e-02 2.11751703e-02 2.11751703e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 1.05875852e-01 6.35255110e-02 4.23503407e-02 6.35255110e-02 1.05875852e-01 3.17627555e-02 5.29379258e-02 1.16463437e-01 7.41130962e-02 6.35255110e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 8.47006814e-02 1.16463437e-01 3.17627555e-02 3.17627555e-02 6.35255110e-02 9.52882665e-02 6.35255110e-02 8.47006814e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 7.41130962e-02 3.17627555e-02 1.05875852e-01 4.23503407e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 9.52882665e-02 7.41130962e-02 5.29379258e-02 8.47006814e-02 2.11751703e-02 9.52882665e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 1.05875852e-01 2.11751703e-02 7.41130962e-02 6.35255110e-02 9.52882665e-02 8.47006814e-02 8.47006814e-02 3.38802725e-01 6.35255110e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 2.64689629e-01 9.52882665e-02 8.47006814e-02 8.47006814e-02 2.43514459e-01 7.41130962e-02 9.52882665e-02 3.17627555e-02 1.05875852e-02 6.35255110e-02 3.17627555e-02 4.23503407e-02 1.90576533e-01 5.29379258e-02 1.05875852e-01 6.35255110e-02 9.52882665e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 2.11751703e-02 3.17627555e-02 1.69401363e-01 1.69401363e-01 3.17627555e-02 1.27051022e-01 7.41130962e-02 7.41130962e-02 4.23503407e-02 1.69401363e-01 1.27051022e-01 7.41130962e-02 1.37638607e-01 6.35255110e-02 1.05875852e-01 7.41130962e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 7.41130962e-02 2.85864800e-01 2.11751703e-02 9.52882665e-02 3.17627555e-02 6.35255110e-02 1.05875852e-01 7.41130962e-02 6.35255110e-02 1.79988948e-01 5.29379258e-02 2.11751703e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 1.27051022e-01 5.29379258e-02 5.29379258e-02 9.52882665e-02 7.41130962e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 1.48226192e-01 4.23503407e-02 9.52882665e-02 1.48226192e-01 4.23503407e-02 4.23503407e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 9.52882665e-02 1.27051022e-01 1.05875852e-01 9.52882665e-02 4.23503407e-02 8.47006814e-02 9.52882665e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 1.16463437e-01 6.35255110e-02 7.41130962e-02 6.35255110e-02 1.05875852e-01 1.79988948e-01 1.05875852e-02 9.52882665e-02 2.11751703e-02 1.05875852e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 6.35255110e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 1.16463437e-01 6.35255110e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 8.47006814e-02 5.29379258e-02 1.05875852e-01 8.47006814e-02 6.35255110e-02 1.79988948e-01 3.17627555e-02 6.35255110e-02 9.52882665e-02 2.11751703e-02 1.58813778e-01 7.41130962e-02 1.16463437e-01 6.35255110e-02 1.37638607e-01 9.52882665e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 1.69401363e-01 8.47006814e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 8.47006814e-02 4.23503407e-02 9.52882665e-02 1.05875852e-01 1.05875852e-01 1.16463437e-01 4.23503407e-02 6.35255110e-02 1.05875852e-01 3.17627555e-02 2.11751703e-02 2.11751703e-02 5.29379258e-02 0.00000000e+00 4.23503407e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 9.52882665e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 9.52882665e-02 4.23503407e-02 1.05875852e-02 1.37638607e-01 1.16463437e-01 1.05875852e-02 1.27051022e-01 6.35255110e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 5.29379258e-02 9.52882665e-02 6.35255110e-02 3.17627555e-02 9.52882665e-02 2.11751703e-02 4.23503407e-02 1.58813778e-01 8.47006814e-02 4.23503407e-02 1.27051022e-01 1.05875852e-01 4.23503407e-02 9.52882665e-02 2.11751703e-01 0.00000000e+00 3.17627555e-02 9.52882665e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 3.17627555e-02 1.58813778e-01 8.47006814e-02 4.23503407e-02 7.41130962e-02 9.52882665e-02 3.17627555e-02 7.41130962e-02 2.64689629e-01 5.29379258e-02 9.52882665e-02 6.35255110e-02 7.41130962e-02 1.27051022e-01 5.29379258e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 1.37638607e-01 8.47006814e-02 1.27051022e-01 6.35255110e-02 1.27051022e-01 7.41130962e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 7.41130962e-02 1.05875852e-02 5.29379258e-02 1.05875852e-01 6.35255110e-02 1.05875852e-02 1.05875852e-02 5.29379258e-02 9.52882665e-02 5.29379258e-02 1.16463437e-01 5.29379258e-02 1.16463437e-01 1.05875852e-01 8.47006814e-02 5.29379258e-02 9.52882665e-02 1.05875852e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 1.05875852e-01 6.35255110e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 1.79988948e-01 2.11751703e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 1.16463437e-01 7.41130962e-02 1.37638607e-01 5.29379258e-02 6.35255110e-02 5.29379258e-02 3.38802725e-01 6.35255110e-02 8.47006814e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 1.16463437e-01 8.47006814e-02 1.05875852e-01 1.16463437e-01 3.17627555e-02 1.79988948e-01 9.52882665e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 9.52882665e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 8.47006814e-02 1.16463437e-01 9.52882665e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 2.11751703e-02 1.05875852e-01 1.05875852e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 7.41130962e-02 8.47006814e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 1.27051022e-01 1.69401363e-01 1.16463437e-01 7.41130962e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 2.54102044e-01 1.05875852e-01 7.41130962e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 1.48226192e-01 4.23503407e-02 8.47006814e-02 3.17627555e-02 9.52882665e-02 4.23503407e-02 1.05875852e-01 1.27051022e-01 1.16463437e-01 5.29379258e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 8.47006814e-02 4.23503407e-02 7.41130962e-02 9.52882665e-02 7.41130962e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 8.47006814e-02 9.52882665e-02 7.41130962e-02 5.29379258e-02 2.11751703e-02 1.37638607e-01 5.29379258e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 6.35255110e-02 9.52882665e-02 1.05875852e-01 9.52882665e-02 5.29379258e-02 6.35255110e-02 4.23503407e-02 9.52882665e-02 9.52882665e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 1.27051022e-01 2.11751703e-02 3.17627555e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 2.11751703e-02 1.79988948e-01 9.52882665e-02 5.29379258e-02 1.16463437e-01 3.17627555e-02 5.29379258e-02 5.29379258e-02 2.11751703e-02 6.35255110e-02 9.52882665e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 1.27051022e-01 6.35255110e-02 1.48226192e-01 1.37638607e-01 6.35255110e-02 7.41130962e-02 3.70565481e-01 1.16463437e-01 4.23503407e-02 4.23503407e-02 2.11751703e-02 1.05875852e-02 3.17627555e-02 8.47006814e-02 6.35255110e-02 8.47006814e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 1.16463437e-01 6.35255110e-02 1.05875852e-01 6.35255110e-02 8.47006814e-02 2.11751703e-02 6.35255110e-02 5.29379258e-02 1.79988948e-01 2.11751703e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 1.05875852e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 1.05875852e-02 8.47006814e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 7.41130962e-02 6.35255110e-02 1.05875852e-01 9.74057836e-01 9.52882665e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 3.17627555e-02 4.23503407e-02 1.05875852e-01 1.27051022e-01 4.23503407e-02 4.23503407e-02 2.32926874e-01 5.29379258e-02 2.11751703e-02 1.16463437e-01 4.23503407e-02 5.29379258e-02 1.05875852e-01 3.17627555e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 8.47006814e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 1.27051022e-01 6.35255110e-02 4.23503407e-02 1.27051022e-01 4.23503407e-02 3.17627555e-02 9.52882665e-02 1.27051022e-01 8.47006814e-02 8.47006814e-02 6.35255110e-02 1.16463437e-01 1.79988948e-01 8.47006814e-02 4.23503407e-02 7.41130962e-02 1.05875852e-01 6.35255110e-02 1.27051022e-01 3.17627555e-02 0.00000000e+00 5.29379258e-02 2.11751703e-02 8.47006814e-02 2.11751703e-02 7.41130962e-02 7.41130962e-02 2.64689629e-01 6.35255110e-02 7.41130962e-02 1.05875852e-01 7.41130962e-02 1.16463437e-01 5.29379258e-02 6.35255110e-02 8.47006814e-02 8.47006814e-02 1.16463437e-01 4.23503407e-02 7.41130962e-02 3.17627555e-02 3.17627555e-02 6.35255110e-02 2.32926874e-01 2.11751703e-02 8.47006814e-02 4.23503407e-02 1.05875852e-01 1.27051022e-01 5.29379258e-02 2.43514459e-01 5.29379258e-02 1.48226192e-01 3.17627555e-02 1.16463437e-01 6.35255110e-02 2.11751703e-02 3.17627555e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 1.16463437e-01 1.05875852e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 1.27051022e-01 7.41130962e-02 7.41130962e-02 5.29379258e-02 1.37638607e-01 2.75277214e-01 7.41130962e-02 3.17627555e-02 1.90576533e-01 3.17627555e-02 8.47006814e-02 1.27051022e-01 4.23503407e-02 1.05875852e-01 8.47006814e-02 9.52882665e-02 4.23503407e-02 4.23503407e-02 1.16463437e-01 5.29379258e-02 1.69401363e-01 4.23503407e-02 5.39966844e-01 6.35255110e-02 7.41130962e-02 7.41130962e-02 2.11751703e-02 1.16463437e-01 3.17627555e-02 5.29379258e-02 6.35255110e-02 2.11751703e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 3.17627555e-02 5.29379258e-02 5.29379258e-02 4.23503407e-02 2.11751703e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 9.52882665e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 9.52882665e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 4.23503407e-02 8.47006814e-02 3.17627555e-02 5.29379258e-02 1.37638607e-01 1.05875852e-01 4.23503407e-02 9.52882665e-02 9.52882665e-02 1.27051022e-01 1.90576533e-01 9.52882665e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 6.35255110e-02 1.05875852e-01 7.41130962e-02 3.17627555e-02 1.27051022e-01 2.96452385e-01 1.69401363e-01 8.47006814e-02 9.52882665e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 1.05875852e-01 6.35255110e-02 2.11751703e-02 1.05875852e-01 1.37638607e-01 6.35255110e-02 1.16463437e-01 2.01164118e-01 3.17627555e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 3.17627555e-02 7.41130962e-02 9.52882665e-02 3.17627555e-02 4.23503407e-02 3.17627555e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 1.27051022e-01 6.35255110e-02 2.11751703e-02 4.23503407e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 1.27051022e-01 6.35255110e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 1.27051022e-01 3.17627555e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 1.16463437e-01 1.48226192e-01 7.41130962e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 1.05875852e-01 8.04656473e-01 8.47006814e-02 1.27051022e-01 7.41130962e-02 1.27051022e-01 8.47006814e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 4.23503407e-02 8.47006814e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 7.41130962e-02 2.11751703e-02 4.23503407e-02 6.35255110e-02 9.52882665e-02 1.48226192e-01 1.05875852e-02 9.52882665e-02 2.11751703e-02 1.16463437e-01 6.35255110e-02 1.16463437e-01 1.05875852e-01 2.54102044e-01 1.27051022e-01 4.23503407e-02 6.35255110e-02 1.16463437e-01 6.35255110e-02 5.29379258e-02 1.16463437e-01 3.17627555e-02 8.47006814e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 7.41130962e-02 5.29379258e-02 6.35255110e-02 5.29379258e-02 2.85864800e-01 8.47006814e-02 2.11751703e-02 7.41130962e-02 9.52882665e-02 2.11751703e-02 6.35255110e-02 8.47006814e-02 6.35255110e-02 6.35255110e-02 7.41130962e-02 9.52882665e-02 6.35255110e-02 5.29379258e-02 5.29379258e-02 9.52882665e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 8.47006814e-02 8.47006814e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 3.28215140e-01 8.47006814e-02 7.41130962e-02 7.41130962e-02 9.52882665e-02 7.41130962e-02 1.27051022e-01 1.58813778e-01 7.41130962e-02 5.29379258e-02 1.16463437e-01 4.23503407e-02 6.35255110e-02 8.47006814e-02 6.35255110e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 9.52882665e-02 1.58813778e-01 7.41130962e-02 1.05875852e-01 4.23503407e-02 3.17627555e-02 6.35255110e-02 3.17627555e-02 1.05875852e-02 3.17627555e-02 4.23503407e-02 1.16463437e-01 1.05875852e-02 6.35255110e-02 7.41130962e-02 1.05875852e-02 8.47006814e-02 1.05875852e-01 9.52882665e-02 1.05875852e-01 5.29379258e-02 6.35255110e-02 9.52882665e-02 8.47006814e-02 1.05875852e-01 8.47006814e-02 6.35255110e-02 4.23503407e-02 3.17627555e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 1.16463437e-01 5.29379258e-02 5.29379258e-02 7.41130962e-02 8.47006814e-02 7.41130962e-02 6.35255110e-02 8.47006814e-02 5.29379258e-02 9.52882665e-02 7.41130962e-02 6.35255110e-02 9.52882665e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 6.35255110e-01 5.29379258e-02 1.37638607e-01 5.29379258e-02 9.52882665e-02 4.23503407e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 5.29379258e-02 8.47006814e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 6.35255110e-02 1.58813778e-01 1.16463437e-01 1.05875852e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 6.35255110e-02 8.47006814e-02 6.35255110e-02 1.16463437e-01 6.35255110e-02 4.23503407e-02 1.27051022e-01 8.47006814e-02 1.05875852e-01 1.16463437e-01 8.47006814e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 8.47006814e-02 2.11751703e-02 1.69401363e-01 6.35255110e-02 7.41130962e-02 3.70565481e-01 7.41130962e-02 1.05875852e-01 7.41130962e-02 7.41130962e-02 7.41130962e-02 1.37638607e-01 4.23503407e-02 8.47006814e-02 1.16463437e-01 6.35255110e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 6.35255110e-02 1.27051022e-01 4.23503407e-02 4.23503407e-02 1.16463437e-01 5.29379258e-02 9.52882665e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 1.05875852e-01 9.52882665e-02 7.41130962e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 8.47006814e-02 1.16463437e-01 8.47006814e-02 6.35255110e-02 7.41130962e-02 9.52882665e-02 2.32926874e-01 3.17627555e-02 6.35255110e-02 1.05875852e-01 6.35255110e-02 2.22339289e-01 2.32926874e-01 6.35255110e-02 3.17627555e-02 1.27051022e-01 4.23503407e-02 3.17627555e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 8.47006814e-02 3.28215140e-01 6.35255110e-02 2.11751703e-02 4.23503407e-02 1.16463437e-01 6.35255110e-02 1.58813778e-01 4.23503407e-02 8.47006814e-02 6.35255110e-02 1.48226192e-01 5.29379258e-02 1.27051022e-01 5.29379258e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 9.52882665e-02 5.29379258e-02 7.41130962e-02 6.35255110e-02 1.05875852e-02 2.11751703e-02 5.29379258e-02 6.35255110e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 1.27051022e-01 5.29379258e-02 1.48226192e-01 8.47006814e-02 4.23503407e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 1.05875852e-01 5.29379258e-02 2.11751703e-02 6.35255110e-02 3.17627555e-02 9.52882665e-02 6.35255110e-02 1.27051022e-01 6.35255110e-02 1.79988948e-01 2.11751703e-02 7.41130962e-02 1.48226192e-01 1.37638607e-01 6.35255110e-02 5.29379258e-02 1.05875852e-01 3.17627555e-02 1.37638607e-01 5.29379258e-02 3.17627555e-02 2.11751703e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 2.11751703e-02 8.47006814e-02 7.41130962e-02 8.47006814e-02 8.47006814e-02 7.41130962e-02 2.11751703e-02 5.29379258e-02 1.16463437e-01 6.35255110e-02 5.29379258e-02 4.23503407e-02 9.52882665e-02 1.37638607e-01 6.35255110e-02 1.37638607e-01 7.41130962e-02 3.17627555e-02 8.47006814e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 1.16463437e-01 4.23503407e-02 6.35255110e-02 3.17627555e-02 5.29379258e-02 1.16463437e-01 6.35255110e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 1.27051022e-01 8.47006814e-02 4.23503407e-02 2.11751703e-02 7.41130962e-02 5.29379258e-02 1.37638607e-01 9.52882665e-02 4.23503407e-02 7.41130962e-02 1.90576533e-01 7.41130962e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 1.27051022e-01 4.23503407e-02 1.79988948e-01 8.47006814e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 6.35255110e-02 1.48226192e-01 3.17627555e-02 1.16463437e-01 5.29379258e-02 2.11751703e-01 7.41130962e-02 6.35255110e-02 9.52882665e-02 8.47006814e-02 2.96452385e-01 7.41130962e-02 6.35255110e-02 1.05875852e-01 1.37638607e-01 3.17627555e-02 7.41130962e-02 8.47006814e-02 3.17627555e-02 1.16463437e-01 3.17627555e-02 9.52882665e-02 1.05875852e-01 6.35255110e-02 1.90576533e-01 6.35255110e-02 2.75277214e-01 9.52882665e-02 8.47006814e-02 8.47006814e-02 4.23503407e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 1.05875852e-01 1.16463437e-01 8.47006814e-02 1.16463437e-01 1.05875852e-01 7.41130962e-02 5.29379258e-02 7.41130962e-02 7.41130962e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 7.41130962e-02 2.85864800e-01 4.23503407e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 8.25831643e-01 9.52882665e-02 1.16463437e-01 7.41130962e-02 4.23503407e-02 5.29379258e-02 3.17627555e-02 4.23503407e-02 9.52882665e-02 4.23503407e-02 8.47006814e-02 3.49390311e-01 2.11751703e-02 2.11751703e-02 4.23503407e-02 7.41130962e-02 1.69401363e-01 9.52882665e-02 1.37638607e-01 7.41130962e-02 1.05875852e-01 9.52882665e-02 8.47006814e-02 8.47006814e-02 5.29379258e-02 1.05875852e-01 8.47006814e-02 6.35255110e-02 9.52882665e-02 7.41130962e-02 8.47006814e-02 9.52882665e-02 9.52882665e-02 6.35255110e-02 4.23503407e-02 5.29379258e-02 1.05875852e-01 5.29379258e-02 5.29379258e-02 9.52882665e-02 2.11751703e-02 2.01164118e-01 6.35255110e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 1.05875852e-01 6.35255110e-02 4.23503407e-02 4.23503407e-02 5.29379258e-02 1.05875852e-01 5.29379258e-02 2.11751703e-02 8.47006814e-02 3.59977896e-01 2.11751703e-02 2.01164118e-01 5.29379258e-02 2.11751703e-02 6.35255110e-02 1.48226192e-01 4.23503407e-02 1.05875852e-01 6.35255110e-02 7.41130962e-02 9.52882665e-02 1.27051022e-01 7.41130962e-02 1.16463437e-01 8.47006814e-02 1.79988948e-01 4.23503407e-02 8.47006814e-02 4.23503407e-02 9.52882665e-02 6.35255110e-02 1.05875852e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 1.16463437e-01 5.29379258e-02 8.47006814e-02 2.11751703e-02 1.48226192e-01 5.29379258e-02 1.27051022e-01 1.05875852e-01 8.47006814e-02 3.17627555e-02 9.52882665e-02 7.41130962e-02 6.35255110e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 8.47006814e-02 7.41130962e-02 1.37638607e-01 5.29379258e-02 1.27051022e-01 6.35255110e-02 9.52882665e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 1.27051022e-01 3.38802725e-01 1.27051022e-01 4.23503407e-01 2.11751703e-02 6.35255110e-02 3.17627555e-02 1.16463437e-01 7.41130962e-02 5.29379258e-02 8.47006814e-02 5.29379258e-02 7.41130962e-02 1.16463437e-01 6.35255110e-02 6.35255110e-02 3.17627555e-02 1.37638607e-01 1.05875852e-01 8.47006814e-02 1.16463437e-01 8.47006814e-02 6.35255110e-02 9.52882665e-02 5.29379258e-02 9.52882665e-02 3.17627555e-02 3.17627555e-02 1.05875852e-01 5.29379258e-02 5.29379258e-02 9.52882665e-02 9.52882665e-02 1.37638607e-01 7.41130962e-02 6.35255110e-02 8.47006814e-02 9.52882665e-02 2.64689629e-01 4.23503407e-02 7.41130962e-02 1.27051022e-01 9.52882665e-02 1.16463437e-01 9.52882665e-02 3.17627555e-02 4.23503407e-02 6.35255110e-02 1.16463437e-01 3.17627555e-02 1.05875852e-02 8.47006814e-02 1.27051022e-01 1.58813778e-01 6.35255110e-02 3.17627555e-02 2.11751703e-02 6.35255110e-02 1.16463437e-01 1.58813778e-01 5.29379258e-02 7.41130962e-02 1.05875852e-01 7.41130962e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 1.05875852e-02 6.35255110e-02 8.47006814e-02 8.47006814e-02 1.05875852e-01 5.29379258e-02 5.29379258e-02 9.52882665e-02 6.35255110e-02 1.69401363e-01 3.17627555e-02 5.29379258e-02 4.65853747e-01 6.35255110e-02 8.47006814e-02 1.27051022e-01 1.79988948e-01 1.05875852e-01 7.41130962e-02 1.05875852e-01 1.16463437e-01 1.16463437e-01 9.52882665e-02 8.47006814e-02 1.69401363e-01 1.27051022e-01 1.05875852e-01 1.05875852e-01 5.29379258e-02 2.11751703e-02 3.28215140e-01 4.23503407e-02 9.52882665e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 1.16463437e-01 7.41130962e-02 6.35255110e-02 4.23503407e-02 2.22339289e-01 7.41130962e-02 1.27051022e-01 7.41130962e-02 9.52882665e-02 1.69401363e-01 5.29379258e-02 8.47006814e-02 5.29379258e-02 8.47006814e-02 1.79988948e-01 6.35255110e-02 6.35255110e-02 1.05875852e-02 7.41130962e-02 8.47006814e-02 6.35255110e-02 4.23503407e-02 6.35255110e-02 1.79988948e-01 1.05875852e-01 4.23503407e-02 4.23503407e-02 6.35255110e-02 2.11751703e-02 5.29379258e-02 8.47006814e-02 1.16463437e-01 2.85864800e-01 1.05875852e-01 5.29379258e-02 7.41130962e-02 6.35255110e-02 9.52882665e-02 3.17627555e-02 6.35255110e-02 5.29379258e-02 1.16463437e-01 1.16463437e-01 6.35255110e-02 7.41130962e-02 6.35255110e-02 9.52882665e-02 2.11751703e-02 1.16463437e-01 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.16463437e-01 2.11751703e-02 1.05875852e-01 4.65853747e-01 1.69401363e-01 7.41130962e-02 1.37638607e-01 6.35255110e-02 6.35255110e-02 8.47006814e-02 7.41130962e-02 8.47006814e-02 1.27051022e-01 9.52882665e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 9.52882665e-02 4.23503407e-02 5.29379258e-02 9.52882665e-02 6.35255110e-02 8.47006814e-02 7.41130962e-02 3.17627555e-02 1.48226192e-01 6.35255110e-02 5.29379258e-02 1.58813778e-01 8.47006814e-02 4.23503407e-02 6.35255110e-02 8.47006814e-02 1.27051022e-01 5.29379258e-02 6.35255110e-02 5.29379258e-02 4.23503407e-02 1.37638607e-01 8.47006814e-02 6.35255110e-02 6.35255110e-02 1.48226192e-01 2.11751703e-02 1.05875852e-01 9.52882665e-02 1.16463437e-01 3.17627555e-02 1.16463437e-01 6.35255110e-02 3.17627555e-02 1.58813778e-01 5.29379258e-02 4.23503407e-02 6.03492355e-01 6.35255110e-02 1.05875852e-01 1.05875852e-01 1.69401363e-01 1.27051022e-01 1.58813778e-01 2.11751703e-01 5.29379258e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 1.16463437e-01 1.16463437e-01 7.41130962e-02 5.29379258e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 6.35255110e-02 2.11751703e-01 1.16463437e-01 9.52882665e-02 9.52882665e-02 5.29379258e-02 9.52882665e-02 6.35255110e-02 3.17627555e-02 7.41130962e-02 5.29379258e-02 1.16463437e-01 7.41130962e-02 1.05875852e-01 7.41130962e-02 5.29379258e-02 7.41130962e-02 8.47006814e-02 4.23503407e-02 5.29379258e-02 6.35255110e-02 1.37638607e-01 3.07039970e-01 1.48226192e-01 6.35255110e-02 9.52882665e-02 1.05875852e-01 4.23503407e-02 7.41130962e-02 8.47006814e-02 1.27051022e-01 9.52882665e-02 2.11751703e-02 3.17627555e-02 4.23503407e-02 7.41130962e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 1.58813778e-01 1.69401363e-01 9.52882665e-02 8.47006814e-02 7.41130962e-02 6.35255110e-02 1.16463437e-01 6.35255110e-02 7.41130962e-02 3.17627555e-02 6.35255110e-02 8.47006814e-02 9.52882665e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 4.23503407e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 1.27051022e-01 5.29379258e-02 6.35255110e-02 7.41130962e-02 9.52882665e-02 6.35255110e-02 7.41130962e-02 5.29379258e-02 9.52882665e-02 9.52882665e-02 9.52882665e-02 8.47006814e-02 1.37638607e-01 5.29379258e-02 4.23503407e-02 1.05875852e-01 5.29379258e-02 1.69401363e-01 1.58813778e-01 1.79988948e-01 1.48226192e-01 1.05875852e-01 5.29379258e-02 7.41130962e-02 8.47006814e-02 2.32926874e-01 5.29379258e-02 8.47006814e-02 6.35255110e-02 8.47006814e-02 1.05875852e-02 1.16463437e-01 9.52882665e-02 9.52882665e-02 9.52882665e-02 5.29379258e-02 1.05875852e-02 5.29379258e-02 5.29379258e-02 0.00000000e+00 6.35255110e-02 7.41130962e-02 7.41130962e-02 1.37638607e-01 1.27051022e-01 1.16463437e-01 9.52882665e-02 1.27051022e-01 3.70565481e-01 5.29379258e-02 6.35255110e-02 3.17627555e-02 2.11751703e-02 1.16463437e-01 5.29379258e-02 5.29379258e-02 1.05875852e-01 6.35255110e-02 8.47006814e-02 9.52882665e-02 1.16463437e-01 8.47006814e-02 3.17627555e-02 1.37638607e-01 8.04656473e-01 9.52882665e-02 4.23503407e-02 6.35255110e-02 1.27051022e-01 6.35255110e-02 6.35255110e-02 7.41130962e-02 3.17627555e-02 3.38802725e-01 8.47006814e-02 7.41130962e-02 7.41130962e-02 9.52882665e-02 4.23503407e-02 7.41130962e-02 3.91740651e-01 9.52882665e-02 9.52882665e-02 7.41130962e-02 4.23503407e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 1.05875852e-01 6.35255110e-02 7.41130962e-02 1.37638607e-01 8.47006814e-02 7.41130962e-02 1.05875852e-01 8.47006814e-02 1.58813778e-01 1.37638607e-01 5.29379258e-02 1.58813778e-01 7.41130962e-02 1.58813778e-01 1.79988948e-01 7.41130962e-02 1.79988948e-01 8.47006814e-02 1.69401363e-01 1.16463437e-01 5.29379258e-02 7.41130962e-02 9.52882665e-02 8.47006814e-02 1.16463437e-01 1.05875852e-01 9.52882665e-02 8.47006814e-02 7.41130962e-02 1.37638607e-01 7.41130962e-02 1.05875852e-01 8.47006814e-02 5.29379258e-02 4.23503407e-02 4.23503407e-02 3.17627555e-02 6.35255110e-02 7.41130962e-02 1.48226192e-01 1.79988948e-01 5.29379258e-02 1.05875852e-01 2.22339289e-01 1.16463437e-01 7.41130962e-02 4.23503407e-02 2.11751703e-02 1.16463437e-01 1.90576533e-01 1.79988948e-01 7.41130962e-02 8.47006814e-02 8.25831643e-01 7.41130962e-02 5.29379258e-02 8.47006814e-02 1.27051022e-01 1.27051022e-01 3.17627555e-02 6.35255110e-02 1.16463437e-01 1.05875852e-01 6.35255110e-02 9.52882665e-02 1.58813778e-01 5.29379258e-02 5.29379258e-02 1.27051022e-01 1.27051022e-01 1.27051022e-01 1.16463437e-01 8.47006814e-02 1.16463437e-01 9.52882665e-02 7.41130962e-02 9.52882665e-02 1.05875852e-01 8.47006814e-02 1.05875852e-01 8.47006814e-02 1.05875852e-02 9.52882665e-02 1.05875852e-01 8.47006814e-02 5.29379258e-02 6.35255110e-02 9.52882665e-02 8.47006814e-02 1.05875852e-01 5.29379258e-02 8.47006814e-02 8.47006814e-02 1.27051022e-01 6.35255110e-02 8.47006814e-02 1.16463437e-01 5.29379258e-02 9.52882665e-02 1.05875852e-01 1.79988948e-01 6.35255110e-02 1.37638607e-01 1.37638607e-01 1.16463437e-01 9.52882665e-02 5.29379258e-02 8.47006814e-02 9.52882665e-02 1.27051022e-01 7.41130962e-02 9.52882665e-02 8.47006814e-02 2.11751703e-01 5.29379258e-02 1.48226192e-01 5.29379258e-02 7.41130962e-02 1.37638607e-01 4.23503407e-02 3.17627555e-02 6.35255110e-02 8.47006814e-02 4.23503407e-02 1.90576533e-01 4.23503407e-02 8.47006814e-02 9.52882665e-02 6.45842695e-01 9.52882665e-02 3.49390311e-01 8.47006814e-02 1.16463437e-01 6.35255110e-02 9.52882665e-02 8.47006814e-02 5.29379258e-02 1.05875852e-01 1.69401363e-01 1.27051022e-01 1.37638607e-01 2.75277214e-01 7.41130962e-02 6.35255110e-02 5.29379258e-02 1.37638607e-01 1.05875852e-01 6.35255110e-02 8.47006814e-02 8.47006814e-02 4.23503407e-02 8.47006814e-02 1.05875852e-01 9.52882665e-02 1.37638607e-01 9.52882665e-02 1.37638607e-01 1.48226192e-01 2.11751703e-02 3.17627555e-02 6.35255110e-02 1.16463437e-01 6.35255110e-02 4.23503407e-02 4.23503407e-02 1.05875852e-01 2.11751703e-02 8.47006814e-02 8.47006814e-02 1.17522195e+00 7.41130962e-02 1.27051022e-01 1.27051022e-01 7.41130962e-02 9.52882665e-02 1.05875852e-01 3.17627555e-02 4.23503407e-02 1.05875852e-01 7.41130962e-02 5.29379258e-02 1.69401363e-01 9.52882665e-02 8.47006814e-02 8.47006814e-02 7.41130962e-02 7.41130962e-02 5.29379258e-02 7.41130962e-02 4.23503407e-02 6.35255110e-02 1.16463437e-01 1.48226192e-01 5.29379258e-02 1.79988948e-01 6.35255110e-02 1.05875852e-01 5.29379258e-02 1.79988948e-01 1.05875852e-01 7.41130962e-02 7.41130962e-02 1.27051022e-01 5.29379258e-02 7.41130962e-02 1.05875852e-01 8.47006814e-02 5.29379258e-02 1.16463437e-01 1.05875852e-01 1.37638607e-01 1.16463437e-01 3.17627555e-02 3.17627555e-02 9.52882665e-02 9.52882665e-02 1.05875852e-01 1.58813778e-01 1.79988948e-01 6.35255110e-02 2.43514459e-01 4.23503407e-02 8.47006814e-02 1.69401363e-01 1.16463437e-01 7.41130962e-02 7.41130962e-02 5.29379258e-02 1.48226192e-01 1.58813778e-01 1.27051022e-01 8.47006814e-02 1.05875852e-01 1.05875852e-01 1.27051022e-01 8.47006814e-02 8.47006814e-02 9.52882665e-02 3.17627555e-02 1.16463437e-01 6.35255110e-02 1.69401363e-01 6.35255110e-02 2.11751703e-02 8.47006814e-02 1.58813778e-01 1.05875852e-01 4.23503407e-02 9.52882665e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 9.52882665e-02 1.37638607e-01 1.05875852e-01 1.90576533e-01 9.52882665e-02 7.41130962e-02 1.27051022e-01 1.05875852e-01 1.05875852e-01 1.27051022e-01 6.35255110e-02 1.05875852e-01 8.47006814e-02 9.52882665e-02 1.16463437e-01 5.29379258e-02 1.58813778e-01 7.41130962e-02 1.58813778e-01 5.29379258e-02 8.47006814e-02 8.47006814e-02 6.35255110e-02 6.35255110e-02 7.41130962e-02 2.22339289e-01 7.41130962e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 4.23503407e-02 9.52882665e-02 7.41130962e-02 4.23503407e-02 1.16463437e-01 7.41130962e-02 9.52882665e-02 3.17627555e-02 5.29379258e-02 4.23503407e-02 1.05875852e-01 7.41130962e-02 6.35255110e-02 2.11751703e-02 8.47006814e-02 6.35255110e-02 9.52882665e-02 5.29379258e-02 8.47006814e-02 6.35255110e-02 1.48226192e-01 6.35255110e-02 5.29379258e-02 5.29379258e-02 5.29379258e-02 6.35255110e-02 1.05875852e-01 1.48226192e-01 1.27051022e-01 7.41130962e-02 1.37638607e-01 1.37638607e-01 1.16463437e-01 4.23503407e-02 4.23503407e-02 1.16463437e-01 7.41130962e-02 1.27051022e-01 8.47006814e-02 4.23503407e-02 7.41130962e-02 1.05875852e-01 8.47006814e-02 2.11751703e-02 2.32926874e-01 5.29379258e-02 1.05875852e-01 9.52882665e-02 8.47006814e-02 5.29379258e-02 1.90576533e-01 4.23503407e-02 2.11751703e-02 1.05875852e-01 1.90576533e-01 1.79988948e-01 7.41130962e-02 4.23503407e-02 8.47006814e-02 2.64689629e-01 9.52882665e-02 6.35255110e-02 1.05875852e-01 6.35255110e-02 2.11751703e-02 1.16463437e-01 7.41130962e-02 8.47006814e-02 3.17627555e-02 6.35255110e-02 9.52882665e-02 2.54102044e-01 7.41130962e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 1.05875852e-01 4.23503407e-02 5.29379258e-02 1.16463437e-01 7.41130962e-02 5.29379258e-02 7.41130962e-02 3.17627555e-02 1.05875852e-01 1.37638607e-01 9.52882665e-02 3.70565481e-01 6.35255110e-02 8.47006814e-02 9.52882665e-02 1.69401363e-01 7.41130962e-02 5.29379258e-02 1.27051022e-01 1.05875852e-01 2.11751703e-02 1.05875852e-01 5.29379258e-02 5.29379258e-02 1.58813778e-01 7.41130962e-02 5.29379258e-02 1.05875852e-01 8.47006814e-02 1.05875852e-01 8.47006814e-02 1.16463437e-01 5.29379258e-02 1.27051022e-01 8.47006814e-02 2.11751703e-02 6.35255110e-02 2.64689629e-01 1.48226192e-01 8.47006814e-02 1.90576533e-01 1.05875852e-01 1.05875852e-01 6.35255110e-02 6.35255110e-02 1.27051022e-01 8.47006814e-02 1.05875852e-01 6.35255110e-02 1.58813778e-01 1.27051022e-01 4.23503407e-02 8.47006814e-02 6.35255110e-02 7.41130962e-02 1.37638607e-01 1.05875852e-01 8.47006814e-02 8.47006814e-02 6.35255110e-02 9.52882665e-02 2.22339289e-01 8.47006814e-02 7.83481303e-01 3.17627555e-02 8.47006814e-02 2.32926874e-01 5.29379258e-02 1.16463437e-01 1.05875852e-01 2.11751703e-02 4.23503407e-02 6.35255110e-02 9.52882665e-02 1.37638607e-01 1.05875852e-01 6.35255110e-02 7.41130962e-02 1.27051022e-01 8.47006814e-02 9.52882665e-02 9.52882665e-02 8.47006814e-02 8.47006814e-02 9.52882665e-02 1.48226192e-01 2.11751703e-01 6.35255110e-02 7.41130962e-02 8.47006814e-02 1.79988948e-01 5.29379258e-02 2.43514459e-01 7.41130962e-02 7.41130962e-02 1.16463437e-01 9.52882665e-02 8.47006814e-02 8.47006814e-02 7.41130962e-02 7.41130962e-02 4.23503407e-02 8.47006814e-02 5.29379258e-02 1.16463437e-01 6.35255110e-02 9.52882665e-02 8.47006814e-02 8.47006814e-02 1.05875852e-01 2.96452385e-01 8.47006814e-02 2.11751703e-02 5.29379258e-02 9.52882665e-02 1.27051022e-01 2.43514459e-01 1.16463437e-01 1.48226192e-01 9.52882665e-02 1.05875852e-01 9.52882665e-02 2.75277214e-01 6.35255110e-02 1.05875852e-01 3.17627555e-02 7.41130962e-02 6.35255110e-02 1.90576533e-01 1.27051022e-01 8.47006814e-02 4.23503407e-02 1.27051022e-01 1.27051022e-01 7.41130962e-02 5.29379258e-02 1.27051022e-01 6.35255110e-02 1.37638607e-01 3.17627555e-02 3.17627555e-02 3.17627555e-02 5.29379258e-02 7.41130962e-02 1.79988948e-01 6.35255110e-02 1.05875852e-01 1.05875852e-01 1.05875852e-01 7.41130962e-02 1.37638607e-01 5.29379258e-02 9.52882665e-02 1.05875852e-01 6.35255110e-02 6.35255110e-02 4.23503407e-02 1.27051022e-01 6.35255110e-02 6.35255110e-02 5.29379258e-02 1.16463437e-01 5.29379258e-02 8.47006814e-02 1.69401363e-01 9.52882665e-02 1.05875852e-01 1.58813778e-01 4.23503407e-02 9.52882665e-02 1.48226192e-01 1.16463437e-01 2.54102044e-01 6.35255110e-02 8.47006814e-02 5.29379258e-02 1.58813778e-01 8.47006814e-02 2.01164118e-01 7.41130962e-02 7.41130962e-02 3.17627555e-02 8.47006814e-02 5.29379258e-02 5.29379258e-02 3.17627555e-02 8.47006814e-02 9.52882665e-02 8.47006814e-02 9.52882665e-02 2.11751703e-02 1.05875852e-01 6.35255110e-02 5.29379258e-02 1.79988948e-01 8.47006814e-02 1.05875852e-01 1.16463437e-01 9.52882665e-02 8.47006814e-02 1.90576533e-01 9.52882665e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 8.47006814e-02 9.52882665e-02 1.58813778e-01 1.69401363e-01 9.52882665e-02 1.05875852e-01 1.05875852e-01 5.29379258e-02 1.58813778e-01 6.35255110e-02 7.41130962e-02 2.11751703e-01 1.27051022e-01 8.47006814e-02 1.48226192e-01 1.05875852e-01 9.52882665e-02 8.47006814e-02 2.22339289e-01 9.52882665e-02 5.29379258e-02 1.16463437e-01 9.52882665e-02 7.41130962e-02 1.48226192e-01 3.38802725e-01 1.90576533e-01 1.16463437e-01 8.47006814e-02 1.58813778e-01 8.47006814e-02 7.41130962e-02 1.05875852e-01 8.47006814e-02 2.75277214e-01 6.35255110e-02 8.47006814e-02 1.69401363e-01 1.58813778e-01 1.27051022e-01 1.05875852e-01 6.35255110e-02 8.47006814e-02 1.69401363e-01 1.05875852e-01 7.41130962e-02 1.79988948e-01 4.23503407e-02 1.16463437e-01 1.37638607e-01 5.29379258e-02 1.37638607e-01 6.35255110e-02 7.41130962e-02 6.35255110e-02 3.91740651e-01 6.35255110e-02 2.22339289e-01 1.16463437e-01 5.29379258e-02 1.27051022e-01 1.16463437e-01 1.27051022e-01 5.29379258e-02 1.48226192e-01 1.05875852e-01 1.16463437e-01 4.23503407e-02 1.27051022e-01 5.29379258e-02 5.29379258e-02 6.35255110e-02 6.35255110e-02 9.52882665e-02 1.27051022e-01 5.29379258e-02 6.35255110e-02 1.37638607e-01 2.11751703e-02 7.41130962e-02 1.27051022e-01 1.16463437e-01 9.52882665e-02 1.05875852e-01 8.47006814e-02 6.35255110e-02 1.79988948e-01 1.05875852e-01 5.29379258e-02 1.05875852e-01 8.68181984e-01 4.23503407e-02 8.47006814e-02 9.52882665e-02 1.48226192e-01 9.52882665e-02 6.35255110e-02 5.29379258e-02 9.52882665e-02 1.27051022e-01 4.23503407e-02 1.48226192e-01 4.23503407e-02 7.41130962e-02 2.43514459e-01 4.23503407e-02 1.90576533e-01 8.47006814e-02 9.52882665e-02 7.41130962e-02 1.16463437e-01 4.23503407e-02 1.05875852e-01 6.35255110e-02 1.27051022e-01 1.37638607e-01 6.35255110e-02 5.29379258e-02 1.16463437e-01 3.17627555e-02 9.52882665e-02 1.58813778e-01 1.05875852e-01 1.27051022e-01 6.35255110e-02 1.16463437e-01 4.23503407e-02 9.52882665e-02 3.17627555e-02 1.27051022e-01 7.41130962e-02 5.29379258e-02 9.52882665e-02 1.27051022e-01 9.52882665e-02 8.47006814e-02 7.41130962e-02 1.48226192e-01 4.23503407e-02 1.05875852e-01 5.29379258e-02 1.37638607e-01 8.47006814e-02 1.90576533e-01 1.27051022e-01 1.05875852e-01 1.16463437e-01 3.49390311e-01 7.41130962e-02 5.29379258e-02 7.41130962e-02 9.52882665e-02 1.05875852e-01 7.41130962e-02 7.41130962e-02 4.23503407e-02 5.29379258e-02 1.37638607e-01 1.05875852e-01 1.48226192e-01 8.47006814e-02 7.41130962e-02 1.05875852e-01 4.23503407e-02 1.69401363e-01 1.58813778e-01 5.29379258e-02 1.27051022e-01 5.29379258e-02 4.23503407e-02 1.37638607e-01 1.05875852e-01 1.16463437e-01 9.52882665e-02 9.52882665e-02 1.16463437e-01 5.29379258e-02 6.35255110e-02 9.52882665e-02 7.41130962e-02 6.35255110e-02 3.17627555e-02 1.48226192e-01 1.58813778e-01 1.05875852e-01 1.37638607e-01 1.16463437e-01 1.69401363e-01 1.05875852e-01 1.05875852e-01 9.52882665e-02 7.41130962e-02 5.29379258e-02 9.52882665e-02 7.41130962e-02 6.35255110e-02 8.47006814e-02 1.69401363e-01 7.41130962e-02 8.47006814e-02 1.16463437e-01 6.35255110e-02 2.22339289e-01 1.05875852e-01 4.23503407e-02 3.17627555e-02 8.47006814e-02 2.01164118e-01 8.47006814e-02 1.05875852e-01 2.11751703e-02 4.23503407e-02 8.47006814e-02 1.05875852e-01 8.47006814e-02 8.47006814e-02 1.48226192e-01 1.48226192e-01 1.27051022e-01 1.16463437e-01 3.17627555e-02 5.29379258e-02 1.05875852e-01 1.48226192e-01 4.23503407e-02 5.29379258e-02 1.05875852e-01 1.16463437e-01 1.79988948e-01 6.35255110e-02 2.01164118e-01 8.47006814e-02 8.47006814e-02 7.41130962e-02 1.37638607e-01 1.27051022e-01 7.41130962e-02 4.23503407e-02 1.16463437e-01 5.29379258e-02 1.05875852e-01 1.05875852e-01 9.52882665e-02 1.58813778e-01 1.05875852e-01 1.69401363e-01 6.35255110e-02 1.27051022e-01 1.16463437e-01 1.16463437e-01 1.69401363e-01 5.29379258e-02 6.35255110e-02 1.58813778e-01 7.41130962e-02 9.52882665e-02 6.35255110e-02 1.16463437e-01 9.52882665e-02 3.17627555e-02 2.11751703e-01 1.16463437e-01 8.47006814e-02 1.69401363e-01 1.05875852e-01 1.90576533e-01 7.41130962e-02 5.29379258e-02 1.27051022e-01 1.27051022e-01 1.05875852e-01 1.27051022e-01 8.47006814e-02 1.48226192e-01 8.47006814e-02 2.11751703e-02 9.52882665e-02 1.05875852e-01 8.47006814e-02 7.41130962e-02 5.29379258e-02 1.37638607e-01 7.41130962e-02 1.37638607e-01 9.52882665e-02 1.16463437e-01 7.41130962e-02 4.23503407e-02 9.52882665e-02 2.43514459e-01 1.05875852e-01 8.47006814e-02 6.35255110e-02 8.47006814e-02 8.47006814e-02 1.16463437e-01 9.52882665e-02 1.48226192e-01 8.47006814e-02 7.41130962e-02 2.01164118e-01 1.05875852e-01 7.41130962e-02 9.52882665e-02 6.35255110e-02 8.47006814e-02 2.11751703e-01 1.16463437e-01 1.37638607e-01 9.52882665e-02 1.05875852e-01 8.47006814e-02 1.48226192e-01 1.27051022e-01 2.11751703e-02 1.69401363e-01 1.16463437e-01 1.05875852e-01 6.35255110e-02 1.58813778e-01 1.05875852e-01 1.27051022e-01 4.23503407e-02 1.16463437e-01 7.41130962e-02 1.48226192e-01 2.11751703e-02 1.48226192e-01 7.41130962e-02 5.29379258e-02 1.05875852e-01 1.48226192e-01 1.27051022e-01 7.41130962e-02 1.05875852e-01 3.49390311e-01 1.27051022e-01 9.52882665e-02 6.35255110e-02 1.58813778e-01 1.58813778e-01 1.27051022e-01 6.35255110e-02 1.58813778e-01 1.27051022e-01 6.35255110e-02 4.23503407e-02 5.29379258e-02 5.29379258e-02 1.69401363e-01 1.90576533e-01 7.41130962e-02 8.47006814e-02 2.43514459e-01 3.81153066e-01 1.27051022e-01 1.90576533e-01 2.11751703e-02 8.47006814e-02 1.05875852e-01 1.37638607e-01 9.52882665e-02 8.47006814e-02 1.16463437e-01 1.37638607e-01 1.05875852e-01 1.05875852e-01 1.79988948e-01 7.83481303e-01 6.35255110e-02 2.01164118e-01 1.27051022e-01 6.35255110e-02 1.37638607e-01 4.23503407e-02 4.23503407e-02 1.58813778e-01 1.90576533e-01 1.16463437e-01 1.27051022e-01 9.52882665e-02 1.58813778e-01 5.29379258e-02 5.29379258e-02 3.38802725e-01 6.35255110e-02 1.48226192e-01 1.48226192e-01 9.52882665e-02 2.01164118e-01 4.23503407e-02 1.27051022e-01 7.41130962e-02 6.35255110e-02 8.47006814e-02 7.41130962e-02 6.35255110e-02 1.05875852e-01 1.05875852e-01 6.35255110e-02 1.16463437e-01 1.37638607e-01 1.05875852e-01 1.37638607e-01 8.47006814e-02 8.47006814e-02 5.29379258e-02 8.47006814e-02 3.17627555e-02 3.17627555e-02 1.48226192e-01 2.01164118e-01 1.48226192e-01 9.52882665e-02 1.79988948e-01 6.35255110e-02 6.35255110e-02 1.48226192e-01 6.35255110e-02 1.48226192e-01 7.41130962e-02 1.90576533e-01 4.23503407e-02 1.48226192e-01 1.37638607e-01 1.37638607e-01 2.85864800e-01 5.29379258e-02 8.47006814e-02 7.41130962e-02 1.16463437e-01 1.37638607e-01 6.35255110e-02 1.16463437e-01 9.52882665e-02 1.05875852e-01 7.41130962e-02 1.58813778e-01 9.52882665e-02 6.35255110e-02 6.35255110e-02 5.29379258e-02 1.16463437e-01 5.29379258e-02 8.47006814e-02 3.17627555e-02 4.23503407e-02 4.23503407e-02 1.58813778e-01 6.35255110e-02 2.32926874e-01 7.41130962e-02 1.05875852e-01 5.29379258e-02 9.52882665e-02 8.47006814e-02 2.01164118e-01 6.35255110e-02 1.05875852e-01 9.52882665e-02 1.37638607e-01 1.69401363e-01 1.37638607e-01 1.69401363e-01 2.54102044e-01 8.47006814e-02 1.16463437e-01 7.41130962e-02 1.16463437e-01 3.17627555e-02 1.37638607e-01 1.37638607e-01 4.23503407e-02 6.35255110e-02 1.05875852e-01 8.47006814e-02 7.41130962e-02 1.37638607e-01 1.16463437e-01 1.05875852e-01 9.52882665e-02 4.23503407e-02 1.16463437e-01 5.29379258e-02 1.27051022e-01 1.05875852e-01 8.47006814e-02 1.79988948e-01 9.52882665e-02 8.47006814e-02 9.52882665e-02 6.35255110e-02 7.41130962e-02 1.48226192e-01 5.29379258e-02 1.05875852e-01 6.35255110e-02 9.52882665e-02 7.41130962e-02 5.29379258e-02 5.29379258e-02 1.58813778e-01 1.16463437e-01 7.41130962e-02 8.47006814e-02 1.37638607e-01 1.37638607e-01 5.29379258e-02 4.23503407e-02 7.41130962e-02 8.47006814e-02 1.16463437e-01 9.52882665e-02 7.41130962e-02 1.16463437e-01 1.16463437e-01 6.35255110e-02 1.69401363e-01 1.58813778e-01 1.27051022e-01 2.32926874e-01 1.27051022e-01 7.41130962e-02 3.17627555e-02 1.16463437e-01 1.58813778e-01 8.47006814e-02 5.29379258e-02 1.58813778e-01 9.52882665e-02 6.35255110e-02 1.37638607e-01 6.35255110e-02 1.27051022e-01 1.05875852e-01 9.52882665e-02 1.27051022e-01 1.05875852e-01 1.27051022e-01 9.52882665e-02 7.41130962e-02 6.35255110e-02 2.11751703e-02 6.35255110e-02 6.35255110e-02 2.11751703e-02 4.23503407e-02 4.23503407e-02 2.54102044e-01 1.27051022e-01 1.90576533e-01 1.37638607e-01 1.79988948e-01 1.37638607e-01 1.05875852e-01 1.69401363e-01 1.48226192e-01 1.48226192e-01 9.52882665e-02 5.29379258e-02 8.47006814e-02 9.52882665e-02 1.48226192e-01 1.37638607e-01 1.27051022e-01 1.05875852e-01 2.11751703e-02 8.47006814e-02 1.27051022e-01 1.16463437e-01 3.17627555e-02 1.79988948e-01 1.48226192e-01 6.35255110e-02 1.16463437e-01 1.05875852e-01 9.52882665e-02 5.29379258e-02 7.41130962e-02 1.48226192e-01 8.47006814e-02 4.23503407e-02 2.01164118e-01 1.27051022e-01 1.69401363e-01 1.16463437e-01 1.79988948e-01 8.47006814e-02 8.47006814e-02 2.22339289e-01 1.37638607e-01 8.47006814e-02 8.47006814e-02 1.16463437e-01 6.35255110e-02 2.01164118e-01 9.52882665e-02 7.41130962e-02 6.35255110e-02 5.29379258e-02 1.05875852e-01 8.47006814e-02 8.47006814e-02 1.58813778e-01 1.05875852e-01 1.37638607e-01 9.52882665e-02 2.43514459e-01 1.58813778e-01 1.37638607e-01 1.58813778e-01 1.05875852e-01 7.41130962e-02 1.58813778e-01 1.69401363e-01 2.01164118e-01 1.37638607e-01 4.23503407e-02 9.52882665e-02 1.37638607e-01 6.35255110e-02 1.27051022e-01 1.05875852e-01 9.52882665e-02 7.41130962e-02 2.11751703e-01 2.64689629e-01 1.48226192e-01 6.35255110e-02 7.41130962e-02 1.37638607e-01 1.16463437e-01 1.05875852e-01 7.41130962e-02 6.35255110e-02 1.48226192e-01 1.05875852e-01 9.52882665e-02 1.16463437e-01 1.16463437e-01 7.41130962e-02 1.37638607e-01 3.17627555e-02 9.52882665e-02 1.79988948e-01 8.47006814e-02 2.22339289e-01 2.43514459e-01 8.47006814e-02 1.05875852e-01 7.41130962e-02 1.05875852e-01 1.37638607e-01 6.35255110e-02 9.52882665e-02 3.17627555e-02 1.58813778e-01 1.58813778e-01 7.41130962e-02 1.48226192e-01 1.27051022e-01 1.05875852e-01 1.27051022e-01 1.69401363e-01 7.41130962e-02 7.41130962e-02 5.39966844e-01 6.35255110e-02 5.29379258e-02 1.05875852e-01 1.48226192e-01 1.37638607e-01 1.37638607e-01 1.69401363e-01 1.48226192e-01 8.47006814e-02 2.64689629e-01 1.16463437e-01 2.01164118e-01 2.11751703e-01 2.11751703e-02 1.16463437e-01 6.35255110e-02 3.17627555e-02 9.52882665e-02 1.58813778e-01 1.37638607e-01 1.05875852e-01 5.29379258e-02 1.90576533e-01 1.90576533e-01 7.41130962e-02 1.48226192e-01 1.37638607e-01 9.52882665e-02 9.52882665e-02 3.91740651e-01 9.52882665e-02 1.16463437e-01 2.11751703e-01 7.41130962e-02 9.52882665e-02 1.58813778e-01 1.48226192e-01 7.41130962e-02 1.58813778e-01 1.27051022e-01 1.16463437e-01 1.05875852e-01 9.52882665e-02 4.12915822e-01 2.43514459e-01 1.05875852e-01 8.47006814e-02 1.05875852e-01 1.58813778e-01 2.75277214e-01 1.27051022e-01 4.23503407e-02 8.47006814e-02 2.22339289e-01 1.05875852e-01 9.52882665e-02 4.23503407e-02 1.79988948e-01 1.27051022e-01 2.85864800e-01 4.23503407e-02 1.27051022e-01 8.47006814e-02 9.52882665e-02 1.90576533e-01 9.52882665e-02 1.79988948e-01 9.52882665e-02 8.47006814e-02 1.79988948e-01 1.16463437e-01 1.48226192e-01 9.52882665e-02 6.35255110e-02 1.27051022e-01 4.23503407e-02 1.79988948e-01 9.52882665e-02 1.37638607e-01 1.16463437e-01 1.90576533e-01 8.47006814e-02 2.11751703e-01 2.32926874e-01 1.27051022e-01 1.58813778e-01 8.47006814e-02 1.58813778e-01 1.69401363e-01 1.05875852e-01 9.52882665e-02 1.05875852e-01 1.05875852e-01 1.27051022e-01 7.41130962e-02 9.52882665e-02 1.27051022e-01 8.47006814e-02 8.47006814e-02 1.05875852e-01 1.27051022e-01 1.05875852e-01 1.16463437e-01 1.90576533e-01 1.48226192e-01 8.47006814e-02 8.47006814e-02 1.05875852e-01 9.52882665e-02 1.27051022e-01 1.37638607e-01 8.47006814e-02 1.05875852e-01 3.17627555e-02 2.01164118e-01 1.05875852e-01 8.47006814e-02 1.79988948e-01 8.47006814e-02 7.41130962e-02 1.58813778e-01 2.01164118e-01 1.79988948e-01 1.27051022e-01 1.27051022e-01 2.11751703e-02 1.05875852e-01 6.35255110e-02 1.16463437e-01 1.48226192e-01 1.69401363e-01 8.47006814e-02 1.27051022e-01 9.52882665e-02 8.47006814e-02 1.48226192e-01 1.27051022e-01 1.27051022e-01 5.29379258e-02 1.05875852e-01 8.47006814e-02 1.27051022e-01 5.29379258e-02 9.52882665e-02 1.27051022e-01 1.05875852e-01 7.41130962e-02 1.90576533e-01 1.48226192e-01 6.35255110e-02 1.05875852e-01 9.52882665e-02 8.47006814e-02 6.35255110e-02 5.29379258e-02 6.35255110e-02 1.05875852e-01 4.23503407e-02 9.52882665e-02 1.05875852e-01 2.43514459e-01 7.41130962e-02 1.16463437e-01 1.58813778e-01 6.35255110e-02 1.37638607e-01 7.41130962e-02 1.79988948e-01 1.27051022e-01 4.23503407e-02 3.17627555e-02 1.16463437e-01 1.58813778e-01 1.48226192e-01 8.47006814e-02 9.52882665e-02 1.05875852e-01 7.41130962e-02 4.23503407e-02 7.41130962e-02 1.16463437e-01 2.22339289e-01 1.48226192e-01 1.58813778e-01 1.05875852e-01 3.70565481e-01 9.52882665e-02 6.35255110e-02 1.16463437e-01 1.05875852e-01 2.43514459e-01 2.54102044e-01 1.90576533e-01 2.43514459e-01 8.47006814e-02 9.52882665e-02 1.27051022e-01 1.27051022e-01 1.90576533e-01 1.37638607e-01 9.52882665e-02 9.52882665e-02 5.29379258e-02 1.27051022e-01 4.23503407e-02 2.54102044e-01 1.69401363e-01 5.29379258e-02 8.47006814e-02 9.52882665e-02 8.47006814e-02 1.69401363e-01 1.79988948e-01 1.58813778e-01 1.58813778e-01 1.48226192e-01 1.16463437e-01 8.47006814e-02 6.35255110e-02 2.22339289e-01 9.52882665e-02 1.27051022e-01 8.47006814e-02 7.41130962e-02 1.05875852e-01 1.16463437e-01 7.41130962e-02 1.05875852e-01 1.27051022e-01 5.29379258e-02 1.48226192e-01 1.37638607e-01 1.05875852e-01 9.52882665e-02 8.47006814e-02 1.37638607e-01 1.16463437e-01 9.52882665e-02 9.52882665e-02 1.79988948e-01 2.96452385e-01 1.58813778e-01 1.37638607e-01 1.16463437e-01 1.79988948e-01 6.35255110e-02 1.27051022e-01 9.52882665e-02 7.41130962e-02 1.27051022e-01 1.79988948e-01 1.16463437e-01 6.35255110e-02 1.79988948e-01 6.35255110e-02 4.23503407e-02 1.48226192e-01 1.69401363e-01 5.29379258e-02 1.27051022e-01 1.27051022e-01 1.27051022e-01 8.47006814e-02 8.47006814e-02 5.18791673e-01 2.54102044e-01 2.54102044e-01 1.69401363e-01 1.48226192e-01 1.37638607e-01 7.41130962e-02 2.11751703e-01 1.27051022e-01 1.16463437e-01 9.52882665e-02 1.05875852e-01 8.47006814e-02 8.47006814e-02 9.52882665e-02 4.55266162e-01 1.16463437e-01 1.16463437e-01 7.41130962e-02 6.35255110e-02 2.54102044e-01 6.35255110e-02 1.27051022e-01 1.48226192e-01 1.05875852e-01 6.45842695e-01 1.16463437e-01 1.58813778e-01 1.90576533e-01 2.32926874e-01 1.69401363e-01 2.11751703e-01 1.16463437e-01 7.41130962e-02 8.47006814e-02 8.47006814e-02 1.05875852e-01 1.48226192e-01 4.23503407e-01 1.16463437e-01 1.58813778e-01 1.48226192e-01 1.27051022e-01 6.35255110e-02 1.17522195e+00 1.69401363e-01 1.48226192e-01 1.16463437e-01 6.14079940e-01 1.37638607e-01 2.01164118e-01 8.47006814e-02 1.16463437e-01 9.52882665e-02 1.16463437e-01 7.41130962e-02 1.69401363e-01 8.47006814e-02 1.27051022e-01 1.27051022e-01 1.05875852e-01 1.05875852e-01 1.58813778e-01 8.47006814e-02 1.90576533e-01 1.05875852e-01 1.16463437e-01 8.47006814e-02 2.01164118e-01 1.79988948e-01 2.11751703e-01 7.41130962e-02 1.37638607e-01 1.05875852e-01 1.16463437e-01 1.16463437e-01 6.35255110e-02 8.47006814e-02 1.69401363e-01 9.52882665e-02 1.16463437e-01 3.28215140e-01 1.05875852e-01 1.37638607e-01 2.32926874e-01 7.41130962e-02 1.90576533e-01 2.11751703e-01 2.11751703e-01 1.58813778e-01 2.22339289e-01 2.11751703e-01 1.05875852e-01 4.23503407e-02 1.27051022e-01 1.05875852e-01 2.75277214e-01 1.05875852e-01 2.54102044e-01 1.27051022e-01 1.27051022e-01 5.29379258e-02 9.52882665e-02 1.16463437e-01 1.37638607e-01 2.22339289e-01 1.48226192e-01 1.48226192e-01 1.16463437e-01 2.64689629e-01 1.05875852e-01 1.90576533e-01 9.52882665e-02 1.05875852e-01 1.37638607e-01 1.05875852e-01 1.37638607e-01 1.37638607e-01 1.37638607e-01 2.64689629e-01 1.79988948e-01 5.29379258e-02 9.52882665e-02 1.27051022e-01 1.48226192e-01 1.37638607e-01 1.48226192e-01 2.01164118e-01 3.17627555e-02 4.34090992e-01 1.05875852e-01 1.37638607e-01 8.47006814e-02 3.07039970e-01 1.37638607e-01 1.48226192e-01 1.37638607e-01 7.41130962e-02 2.32926874e-01 8.47006814e-02 7.41130962e-02 1.37638607e-01 1.90576533e-01 1.16463437e-01 1.90576533e-01 1.37638607e-01 1.16463437e-01 6.35255110e-02 9.52882665e-02 1.37638607e-01 9.52882665e-02 1.27051022e-01 1.37638607e-01 1.16463437e-01 9.52882665e-02 1.37638607e-01 5.50554429e-01 1.37638607e-01 1.27051022e-01 8.47006814e-02 1.05875852e-01 8.47006814e-02 1.37638607e-01 2.22339289e-01 7.41130962e-02 1.90576533e-01 2.75277214e-01 1.16463437e-01 5.29379258e-02 1.48226192e-01 7.41130962e-01 1.58813778e-01 9.52882665e-02 3.38802725e-01 1.16463437e-01 3.38802725e-01 1.27051022e-01 1.16463437e-01 1.48226192e-01 1.16463437e-01 1.79988948e-01 1.16463437e-01 1.69401363e-01 1.17522195e+00 1.90576533e-01 1.79988948e-01 9.52882665e-02 7.41130962e-02 1.48226192e-01 2.85864800e-01 8.47006814e-02 4.76441333e-01 1.69401363e-01 1.79988948e-01 1.69401363e-01 1.90576533e-01 1.69401363e-01 1.05875852e-01 1.48226192e-01 1.58813778e-01 1.48226192e-01 9.52882665e-02 1.37638607e-01 1.58813778e-01 8.47006814e-02 1.27051022e-01 2.43514459e-01 1.58813778e-01 1.58813778e-01 2.54102044e-01 2.01164118e-01 1.58813778e-01 2.01164118e-01 1.16463437e-01 2.11751703e-01 6.35255110e-02 1.69401363e-01 2.85864800e-01 2.54102044e-01 2.11751703e-01 2.54102044e-01 1.37638607e-01 1.90576533e-01 8.47006814e-02 1.37638607e-01 1.37638607e-01 1.05875852e-01 2.75277214e-01 1.37638607e-01 1.69401363e-01 1.48226192e-01 1.27051022e-01 1.48226192e-01 1.48226192e-01 2.11751703e-01 2.01164118e-01 6.35255110e-02 8.47006814e-02 1.79988948e-01 1.37638607e-01 3.17627555e-01 6.35255110e-02 9.52882665e-02 1.16463437e-01 1.05875852e-01 1.37638607e-01 1.90576533e-01 1.16463437e-01 1.79988948e-01 1.69401363e-01 6.35255110e-02 2.75277214e-01 2.01164118e-01 1.58813778e-01 1.16463437e-01 5.29379258e-02 7.41130962e-02 2.22339289e-01 1.05875852e-01 1.37638607e-01 1.37638607e-01 1.37638607e-01 1.37638607e-01 9.52882665e-02 1.90576533e-01 6.35255110e-02 2.85864800e-01 2.64689629e-01 1.69401363e-01 8.47006814e-02 1.37638607e-01 1.16463437e-01 1.58813778e-01 2.96452385e-01 1.37638607e-01 1.79988948e-01 7.41130962e-02 1.48226192e-01 1.16463437e-01 2.64689629e-01 1.16463437e-01 1.05875852e-01 1.16463437e-01 9.52882665e-02 2.22339289e-01 2.43514459e-01 3.81153066e-01 1.48226192e-01 1.16463437e-01 1.05875852e-01 1.05875852e-01 2.11751703e-01 1.58813778e-01 1.05875852e-01 1.69401363e-01 6.35255110e-02 1.16463437e-01 1.16463437e-01 1.79988948e-01 1.58813778e-01 1.05875852e-01 1.90576533e-01 2.43514459e-01 2.54102044e-01 1.37638607e-01 1.27051022e-01 4.23503407e-02 4.44678577e-01 9.52882665e-02 2.85864800e-01 9.52882665e-02 1.48226192e-01 1.58813778e-01 2.22339289e-01 1.48226192e-01 8.47006814e-02 1.58813778e-01 1.27051022e-01 1.05875852e-01 8.47006814e-02 1.79988948e-01 1.37638607e-01 2.01164118e-01 9.52882665e-02 1.05875852e-01 1.90576533e-01 1.79988948e-01 2.11751703e-01 1.79988948e-01 1.79988948e-01 1.90576533e-01 1.37638607e-01 1.16463437e-01 1.27051022e+00 1.27051022e-01 1.37638607e-01 1.16463437e-01 2.01164118e-01 2.96452385e-01 1.58813778e-01 1.90576533e-01 1.79988948e-01 8.47006814e-02 1.27051022e-01 1.37638607e-01 1.37638607e-01 1.27051022e-01 1.05875852e-01 1.58813778e-01 1.58813778e-01 1.48226192e-01 1.69401363e-01 1.05875852e-01 6.35255110e-02 7.83481303e-01 1.27051022e-01 6.98780621e-01 1.69401363e-01 1.05875852e-01 1.90576533e-01 1.37638607e-01 1.37638607e-01 1.37638607e-01 2.01164118e-01 8.47006814e-02 2.54102044e-01 2.96452385e-01 7.41130962e-02 1.48226192e-01 6.35255110e-02 9.52882665e-02 2.64689629e-01 1.37638607e-01 1.69401363e-01 1.27051022e-01 1.79988948e-01 8.47006814e-02 1.69401363e-01 1.58813778e-01 1.27051022e-01 1.69401363e-01 8.47006814e-02 1.79988948e-01 1.05875852e-01 2.22339289e-01 1.48226192e-01 1.69401363e-01 1.58813778e-01 2.22339289e-01 2.11751703e-02 1.69401363e-01 1.90576533e-01 7.41130962e-02 1.58813778e-01 2.22339289e-01 8.47006814e-02 2.01164118e-01 8.47006814e-02 1.58813778e-01 1.58813778e-01 9.52882665e-02 1.05875852e-01 2.64689629e-01 1.48226192e-01 2.75277214e-01 2.32926874e-01 1.69401363e-01 1.16463437e-01 4.23503407e-02 1.58813778e-01 7.30543377e-01 6.35255110e-02 1.79988948e-01 1.16463437e-01 1.16463437e-01 5.61142014e-01 1.79988948e-01 1.16463437e-01 5.18791673e-01 1.79988948e-01 2.64689629e-01 1.48226192e-01 1.37638607e-01 1.58813778e-01 2.22339289e-01 1.90576533e-01 1.69401363e-01 1.58813778e-01 1.16463437e-01 1.48226192e-01 1.16463437e-01 1.58813778e-01 2.11751703e-01 1.37638607e-01 1.79988948e-01 1.27051022e-01 6.35255110e-02 1.48226192e-01 3.49390311e-01 8.47006814e-02 8.47006814e-02 1.90576533e-01 1.48226192e-01 3.70565481e-01 5.18791673e-01 5.29379258e-02 4.23503407e-02 1.79988948e-01 2.01164118e-01 1.58813778e-01 8.47006814e-02 1.16463437e-01 1.27051022e-01 1.37638607e-01 1.69401363e-01 1.37638607e-01 2.43514459e-01 1.05875852e-01 1.58813778e-01 9.52882665e-02 1.37638607e-01 3.70565481e-01 1.27051022e-01 9.52882665e-02 1.37638607e-01 4.44678577e-01 1.69401363e-01 1.05875852e-01 1.05875852e-01 1.48226192e-01 2.54102044e-01 1.05875852e-01 1.48226192e-01 1.48226192e-01 1.69401363e-01 7.41130962e-02 1.48226192e-01 1.90576533e-01 1.16463437e-01 1.16463437e-01 1.90576533e-01 1.16463437e-01 2.75277214e-01 1.48226192e-01 1.16463437e-01 7.41130962e-02 2.22339289e-01 1.90576533e-01 1.05875852e-01 9.52882665e-02 1.37638607e-01 1.37638607e-01 1.48226192e-01 1.69401363e-01 1.16463437e-01 2.32926874e-01 8.47006814e-02 8.47006814e-02 3.70565481e-01 1.37638607e-01 1.37638607e-01 1.90576533e-01 2.75277214e-01 2.11751703e-01 2.11751703e-01 2.64689629e-01 8.47006814e-02 1.90576533e-01 1.90576533e-01 3.59977896e-01 2.11751703e-01 2.64689629e-01 1.79988948e-01 2.22339289e-01 2.54102044e-01 1.48226192e-01 2.32926874e-01 6.35255110e-02 2.01164118e-01 1.37638607e-01 1.27051022e-01 2.75277214e-01 1.58813778e-01 1.05875852e-01 1.37638607e-01 1.58813778e-01 1.27051022e-01 2.85864800e-01 1.58813778e-01 9.52882665e-02 1.69401363e-01 2.75277214e-01 1.48226192e-01 1.27051022e-01 1.27051022e-01 1.58813778e-01 2.01164118e-01 1.05875852e-01 1.37638607e-01 1.48226192e-01 8.47006814e-02 1.48226192e-01 4.76441333e-01 2.32926874e-01 1.37638607e-01 2.75277214e-01 2.22339289e-01 1.69401363e-01 1.58813778e-01 1.05875852e-01 2.32926874e-01 1.37638607e-01 1.05875852e-01 2.01164118e-01 1.69401363e-01 2.32926874e-01 9.52882665e-02 1.37638607e-01 2.43514459e-01 3.07039970e-01 1.05875852e-01 1.90576533e-01 0.00000000e+00 1.69401363e-01 1.37638607e-01 1.16463437e-01 2.01164118e-01 2.22339289e-01 1.05875852e-01 1.27051022e-01 1.69401363e-01 9.52882665e-02 1.48226192e-01 1.05875852e-01 1.27051022e-01 1.48226192e-01 1.90576533e-01 5.39966844e-01 5.92904770e-01 1.79988948e-01 1.37638607e-01 1.05875852e-01 1.69401363e-01 2.96452385e-01 1.05875852e-01 1.90576533e-01 1.37638607e-01 1.90576533e-01 1.69401363e-01 1.16463437e-01 1.69401363e-01 8.47006814e-02 1.16463437e-01 1.16463437e-01 1.69401363e-01 2.32926874e-01 2.11751703e-01 1.37638607e-01 1.58813778e-01 1.27051022e-01 2.11751703e-01 1.27051022e-01 2.75277214e-01 2.43514459e-01 1.48226192e-01 2.22339289e-01 1.37638607e-01 9.52882665e-02 1.48226192e-01 1.69401363e-01 5.61142014e-01 1.69401363e-01 2.01164118e-01 2.11751703e-01 1.27051022e-01 1.48226192e-01 1.16463437e-01 1.16463437e-01 2.22339289e-01 1.10110886e+00 3.28215140e-01 1.69401363e-01 1.79988948e-01 1.16463437e-01 4.12915822e-01 1.69401363e-01 1.37638607e-01 1.37638607e-01 1.69401363e-01 2.01164118e-01 1.58813778e-01 1.16463437e-01 1.79988948e-01 2.32926874e-01 1.79988948e-01 4.97616503e-01 1.37638607e-01 7.41130962e-02 1.16463437e-01 9.52882665e-02 1.16463437e-01 6.88193036e-01 1.69401363e-01 1.37638607e-01 1.79988948e-01 3.07039970e-01 1.27051022e-01 1.69401363e-01 1.58813778e-01 8.47006814e-02 1.48226192e-01 2.85864800e-01 5.18791673e-01 2.64689629e-01 1.58813778e-01 1.69401363e-01 1.58813778e-01 1.28109781e+00 1.48226192e-01 2.01164118e-01 1.16463437e-01 1.58813778e-01 1.79988948e-01 9.52882665e-02 1.69401363e-01 1.69401363e-01 1.48226192e-01 2.11751703e-01 1.05875852e-01 1.48226192e-01 2.01164118e-01 1.27051022e-01 1.58813778e-01 3.91740651e-01 2.75277214e-01 8.25831643e-01 1.05875852e-01 2.22339289e-01 2.01164118e-01 5.29379258e-01 1.90576533e-01 6.35255110e-01 2.01164118e-01 8.47006814e-02 1.69401363e-01 2.64689629e-01 8.47006814e-02 1.37638607e-01 9.52882665e-02 1.16463437e-01 1.27051022e-01 2.43514459e-01 2.64689629e-01 2.22339289e-01 1.79988948e-01 3.59977896e-01 9.52882665e-01 1.48226192e-01 2.54102044e-01 2.01164118e-01 1.90576533e-01 2.43514459e-01 1.69401363e-01 2.32926874e-01 1.37638607e-01 1.79988948e-01 2.85864800e-01 3.38802725e-01 3.59977896e-01 1.58813778e-01 1.90576533e-01 1.27051022e-01 2.54102044e-01 1.37638607e-01 1.69401363e-01 5.61142014e-01 7.41130962e-02 4.23503407e-02 1.48226192e-01 8.47006814e-02 1.37638607e-01 2.22339289e-01 1.58813778e-01 1.27051022e-01 3.28215140e-01 1.69401363e-01 1.58813778e-01 1.48226192e-01 1.58813778e-01 1.05875852e-01 2.22339289e-01 7.41130962e-02 1.27051022e-01 2.32926874e-01 1.37638607e-01 2.01164118e-01 2.85864800e-01 2.43514459e-01 1.79988948e-01 1.90576533e-01 2.01164118e-01 1.37638607e-01 7.41130962e-02 9.52882665e-02 1.27051022e-01 2.43514459e-01 3.81153066e-01 1.37638607e-01 1.48226192e-01 2.32926874e-01 2.64689629e-01 2.32926874e-01 1.16463437e-01 1.58813778e-01 1.48226192e-01 2.64689629e-01 1.48226192e-01 2.96452385e-01 2.32926874e-01 1.48226192e-01 1.79988948e-01 1.58813778e-01 1.79988948e-01 1.27051022e-01 1.37638607e-01 3.49390311e-01 2.64689629e-01 3.28215140e-01 1.58813778e-01 2.22339289e-01 2.11751703e-01 1.27051022e-01 2.11751703e-01 1.37638607e-01 1.79988948e-01 1.69401363e-01 3.28215140e-01 6.56430281e-01 2.22339289e-01 1.37638607e-01 1.16463437e-01 3.28215140e-01 1.90576533e-01 1.48226192e-01 5.50554429e-01 1.16463437e-01 1.90576533e-01 7.41130962e-02 2.22339289e-01 1.27051022e-01 2.85864800e-01 1.69401363e-01 2.32926874e-01 1.27051022e-01 1.05875852e-01 1.69401363e-01 1.79988948e-01 1.79988948e-01 2.11751703e-01 1.90576533e-01 1.69401363e-01 2.85864800e-01 1.37638607e-01 1.48226192e-01 3.07039970e-01 1.69401363e-01 1.69401363e-01 2.01164118e-01 2.32926874e-01 1.16463437e-01 3.91740651e-01 1.48226192e-01 2.43514459e-01 1.69401363e-01 2.43514459e-01 3.28215140e-01 7.41130962e-02 3.49390311e-01 2.11751703e-01 1.27051022e-01 2.11751703e-01 1.16463437e-01 2.54102044e-01 2.43514459e-01 2.11751703e-01 3.28215140e-01 1.79988948e-01 1.37638607e-01 2.43514459e-01 3.91740651e-01 1.58813778e-01 2.22339289e-01 1.05875852e-01 9.52882665e-02 1.48226192e-01 2.22339289e-01 1.69401363e-01 1.79988948e-01 2.96452385e-01 2.96452385e-01 1.48226192e-01 1.90576533e-01 1.79988948e-01 1.69401363e-01 2.43514459e-01 1.58813778e-01 8.47006814e-02 8.47006814e-02 2.43514459e-01 1.27051022e-01 1.37638607e-01 8.47006814e-02 1.37638607e-01 1.90576533e-01 3.59977896e-01 1.79988948e-01 1.90576533e-01 1.69401363e-01 1.48226192e-01 1.37638607e-01 2.11751703e-01 1.69401363e-01 2.96452385e-01 1.27051022e-01 1.90576533e-01 2.01164118e-01 1.69401363e-01 1.37638607e-01 2.11751703e-01 1.48226192e-01 1.79988948e-01 1.48226192e-01 1.37638607e-01 1.48226192e-01 2.01164118e-01 4.23503407e-02 2.54102044e-01 1.37638607e-01 9.52882665e-02 1.27051022e-01 1.48226192e-01 8.47006814e-02 1.79988948e-01 3.17627555e-01 1.58813778e-01 2.85864800e-01 1.79988948e-01 2.32926874e-01 2.11751703e-01 1.58813778e-01 1.48226192e-01 9.52882665e-02 2.43514459e-01 2.43514459e-01 2.01164118e-01 6.35255110e-02 3.26097623e+00 2.22339289e-01 2.11751703e-01 1.16463437e-01 1.69401363e-01 3.59977896e-01 2.22339289e-01 1.79988948e-01 8.47006814e-02 1.58813778e-01 1.69401363e-01 1.16463437e-01 3.70565481e-01 1.16463437e-01 1.27051022e-01 1.69401363e-01 1.58813778e-01 1.90576533e-01 1.16463437e-01 3.91740651e-01 2.01164118e-01 1.48226192e-01 3.38802725e-01 1.69401363e-01 1.79988948e-01 5.50554429e-01 2.75277214e-01 1.90576533e-01 3.38802725e-01 1.37638607e-01 1.58813778e-01 1.48226192e-01 2.11751703e-01 1.69401363e-01 1.90576533e-01 1.79988948e-01 9.52882665e-02 1.16463437e-01 2.11751703e-01 1.16463437e-01 7.41130962e-02 2.64689629e-01 2.01164118e-01 1.48226192e-01 2.64689629e-01 2.22339289e-01 3.38802725e-01 2.64689629e-01 1.48226192e-01 1.27051022e-01 2.11751703e-01 1.58813778e-01 1.16463437e-01 1.58813778e-01 1.27051022e-01 2.75277214e-01 2.32926874e-01 2.22339289e-01 1.58813778e-01 2.01164118e-01 1.58813778e-01 1.58813778e-01 3.38802725e-01 1.37638607e-01 1.48226192e-01 2.11751703e-01 2.01164118e-01 1.27051022e-01 1.27051022e-01 2.11751703e-01 1.69401363e-01 8.47006814e-02 1.90576533e-01 6.35255110e-02 1.58813778e-01 1.37638607e-01 1.90576533e-01 3.17627555e-01 1.58813778e-01 1.16463437e-01 2.54102044e-01 1.27051022e-01 2.43514459e-01 1.90576533e-01 1.37638607e-01 2.22339289e-01 1.27051022e-01 1.16463437e-01 2.96452385e-01 2.85864800e-01 1.27051022e-01 3.49390311e-01 2.01164118e-01 1.37638607e-01 2.11751703e-01 2.75277214e-01 1.69401363e-01 2.32926874e-01 1.27051022e-01 1.27051022e-01 2.32926874e-01 1.90576533e-01 2.22339289e-01 1.17522195e+00 2.85864800e-01 1.58813778e-01 1.58813778e-01 3.07039970e-01 7.41130962e-02 1.05875852e-01 4.34090992e-01 1.52461226e+00 2.54102044e-01 2.22339289e-01 1.79988948e-01 1.27051022e-01 1.79988948e-01 1.58813778e-01 2.22339289e-01 1.90576533e-01 4.12915822e-01 3.17627555e-01 2.22339289e-01 1.37638607e-01 4.02328236e-01 4.23503407e-02 2.54102044e-01 1.48226192e-01 1.37638607e-01 1.58813778e-01 1.37638607e-01 2.32926874e-01 1.90576533e-01 8.47006814e-02 1.16463437e-01 1.90576533e-01 1.37638607e-01 1.16463437e-01 5.08204088e-01 1.90576533e-01 2.01164118e-01 1.27051022e-01 1.69401363e-01 2.32926874e-01 3.07039970e-01 1.16463437e-01 2.32926874e-01 2.43514459e-01 2.01164118e-01 2.64689629e-01 1.05875852e-01 1.58813778e-01 1.48226192e-01 2.11751703e-01 1.27051022e-01 2.96452385e-01 1.48226192e-01 1.05875852e-01 2.64689629e-01 3.38802725e-01 1.37638607e-01 1.79988948e-01 1.69401363e-01 2.22339289e-01 2.11751703e-01 2.75277214e-01 1.58813778e-01 1.69401363e-01 2.43514459e-01 2.54102044e-01 2.22339289e-01 2.01164118e-01 1.05875852e-01 1.48226192e-01 2.43514459e-01 1.58813778e-01 1.37638607e-01 3.59977896e-01 2.54102044e-01 1.79988948e-01 1.16463437e-01 2.11751703e-01 4.12915822e-01 3.28215140e-01 2.32926874e-01 2.32926874e-01 2.32926874e-01 3.07039970e-01 2.11751703e-01 1.69401363e-01 2.11751703e-01 2.32926874e-01 1.37638607e-01 2.54102044e-01 1.69401363e-01 2.43514459e-01 1.79988948e-01 5.29379258e-01 2.54102044e-01 2.64689629e-01 2.96452385e-01 2.11751703e-01 2.01164118e-01 1.79988948e-01 1.79988948e-01 2.85864800e-01 1.90576533e-01 1.69401363e-01 1.16463437e-01 2.75277214e-01 2.32926874e-01 2.96452385e-01 1.58813778e-01 3.07039970e-01 4.12915822e-01 3.38802725e-01 7.41130962e-01 2.22339289e-01 2.01164118e-01 1.05875852e-01 1.69401363e-01 2.22339289e-01 2.85864800e-01 2.22339289e-01 3.28215140e-01 1.37638607e-01 3.81153066e-01 1.16463437e-01 4.02328236e-01 2.01164118e-01 1.58813778e-01 7.83481303e-01 3.38802725e-01 1.79988948e-01 1.27051022e-01 2.54102044e-01 3.17627555e-01 1.69401363e-01 3.38802725e-01 1.69401363e-01 1.79988948e-01 1.58813778e-01 3.17627555e-01 2.01164118e-01 2.11751703e-01 1.37638607e-01 2.32926874e-01 3.38802725e-01 3.91740651e-01 2.96452385e-01 1.37638607e-01 1.16463437e-01 2.01164118e-01 2.43514459e-01 3.07039970e-01 1.58813778e-01 2.01164118e-01 1.79988948e-01 1.48226192e-01 2.54102044e-01 2.54102044e-01 2.11751703e-01 3.59977896e-01 3.28215140e-01 1.58813778e-01 2.11751703e-01 1.58813778e-01 1.69401363e-01 1.58813778e-01 2.43514459e-01 1.79988948e-01 1.79988948e-01 2.64689629e-01 2.85864800e-01 1.27051022e-01 1.90576533e-01 1.27051022e-01 3.91740651e-01 2.22339289e-01 3.81153066e-01 2.85864800e-01 1.48226192e-01 3.70565481e-01 1.90576533e-01 2.22339289e-01 3.28215140e-01 1.58813778e-01 2.01164118e-01 2.01164118e-01 2.54102044e-01 1.49284951e+00 1.90576533e-01 2.32926874e-01 2.75277214e-01 2.75277214e-01 2.75277214e-01 2.32926874e-01 1.90576533e-01 3.07039970e-01 1.05875852e-01 2.22339289e-01 6.77605451e-01 2.11751703e-01 2.32926874e-01 1.27051022e-01 1.90576533e-01 1.37638607e-01 3.28215140e-01 5.08204088e-01 1.05875852e-01 2.75277214e-01 2.43514459e-01 3.07039970e-01 2.85864800e-01 2.32926874e-01 2.01164118e-01 2.01164118e-01 1.90576533e-01 1.79988948e-01 2.75277214e-01 2.64689629e-01 2.75277214e-01 1.37638607e-01 1.79988948e-01 2.43514459e-01 3.59977896e-01 1.69401363e-01 1.58813778e-01 2.85864800e-01 1.90576533e-01 9.52882665e-02 4.55266162e-01 2.43514459e-01 1.69401363e-01 1.37638607e-01 2.32926874e-01 2.22339289e-01 1.39756124e+00 1.79988948e-01 2.85864800e-01 2.32926874e-01 2.96452385e-01 2.01164118e-01 3.07039970e-01 1.69401363e-01 2.11751703e-01 1.16463437e-01 2.11751703e-01 2.01164118e-01 2.11751703e-01 3.28215140e-01 2.22339289e-01 2.96452385e-01 2.01164118e-01 1.37638607e-01 1.79988948e-01 1.90576533e-01 1.37638607e-01 1.48226192e-01 1.37638607e-01 3.07039970e-01 2.01164118e-01 1.69401363e-01 2.11751703e-01 3.17627555e-01 2.01164118e-01 3.28215140e-01 1.90576533e-01 1.37638607e-01 2.75277214e-01 1.79988948e-01 1.37638607e-01 3.26097623e+00 1.69401363e-01 3.07039970e-01 3.38802725e-01 2.64689629e-01 9.52882665e-02 2.01164118e-01 3.59977896e-01 2.54102044e-01 1.79988948e-01 1.79988948e-01 1.58813778e-01 2.96452385e-01 2.54102044e-01 1.37638607e-01 2.43514459e-01 3.07039970e-01 1.48226192e-01 2.75277214e-01 2.54102044e-01 6.56430281e-01 1.48226192e-01 2.22339289e-01 2.22339289e-01 5.29379258e-01 2.22339289e-01 1.90576533e-01 2.01164118e-01 1.37638607e-01 3.59977896e-01 2.22339289e-01 1.58813778e-01 1.79988948e-01 5.82317184e-01 2.75277214e-01 1.90576533e-01 3.70565481e-01 3.81153066e-01 2.54102044e-01 1.90576533e-01 3.07039970e-01 2.11751703e-01 3.59977896e-01 2.43514459e-01 2.32926874e-01 1.27051022e-01 2.96452385e-01 2.01164118e-01 2.85864800e-01 2.32926874e-01 1.90576533e-01 3.07039970e-01 2.96452385e-01 2.32926874e-01 2.85864800e-01 1.79988948e-01 1.69401363e-01 3.49390311e-01 1.48226192e-01 1.90576533e-01 1.48226192e-01 2.96452385e-01 1.58813778e-01 1.27051022e-01 2.11751703e-01 2.64689629e-01 2.22339289e-01 2.54102044e-01 1.58813778e-01 1.90576533e-01 2.22339289e-01 1.69401363e-01 2.43514459e-01 1.16463437e-01 3.91740651e-01 4.34090992e-01 1.37638607e-01 2.22339289e-01 1.69401363e-01 2.43514459e-01 2.96452385e-01 4.55266162e-01 2.85864800e-01 3.59977896e-01 3.38802725e-01 4.65853747e-01 1.79988948e-01 2.22339289e-01 4.44678577e-01 1.58813778e-01 2.01164118e-01 2.96452385e-01 1.58813778e-01 2.32926874e-01 2.43514459e-01 4.12915822e-01 1.90576533e-01 4.76441333e-01 1.58813778e-01 1.69401363e-01 2.11751703e-01 3.70565481e-01 3.38802725e-01 2.85864800e-01 2.22339289e-01 2.64689629e-01 1.90576533e-01 1.99046601e+00 2.11751703e-01 3.81153066e-01 2.22339289e-01 1.79988948e-01 1.04817093e+00 2.22339289e-01 1.90576533e-01 3.38802725e-01 1.79988948e-01 2.54102044e-01 1.37638607e-01 3.17627555e-01 2.85864800e-01 1.90576533e-01 3.70565481e-01 4.97616503e-01 6.98780621e-01 3.70565481e-01 4.97616503e-01 2.54102044e-01 2.22339289e-01 1.90576533e-01 2.64689629e-01 2.64689629e-01 1.79988948e-01 3.91740651e-01 2.96452385e-01 3.38802725e-01 2.22339289e-01 2.85864800e-01 2.96452385e-01 1.90576533e-01 2.32926874e-01 3.81153066e-01 3.59977896e-01 3.07039970e-01 1.37638607e-01 1.79988948e-01 2.64689629e-01 1.16463437e-01 1.58813778e-01 3.07039970e-01 4.02328236e-01 2.22339289e-01 5.29379258e-01 3.59977896e-01 3.28215140e-01 1.90576533e-01 3.17627555e-01 3.07039970e-01 1.48226192e-01 2.96452385e-01 1.90576533e-01 2.85864800e-01 1.58813778e-01 1.90576533e-01 2.11751703e-01 4.87028918e-01 1.37638607e-01 3.38802725e-01 2.11751703e-01 2.43514459e-01 3.07039970e-01 1.90576533e-01 5.08204088e-01 2.01164118e-01 1.58813778e-01 2.96452385e-01 5.50554429e-01 3.81153066e-01 3.07039970e-01 1.58813778e-01 2.22339289e-01 2.11751703e-01 1.05875852e-01 2.22339289e-01 2.75277214e-01 2.85864800e-01 1.16463437e-01 3.81153066e-01 1.69401363e-01 2.22339289e-01 2.64689629e-01 1.79988948e-01 6.56430281e-01 3.81153066e-01 2.64689629e-01 1.79988948e-01 8.04656473e-01 1.58813778e-01 5.50554429e-01 1.58813778e-01 1.48226192e-01 5.08204088e-01 3.17627555e-01 2.64689629e-01 1.79988948e-01 2.96452385e-01 1.90576533e-01 1.79988948e-01 2.01164118e-01 2.75277214e-01 2.75277214e-01 2.85864800e-01 1.79988948e-01 2.75277214e-01 2.32926874e-01 2.22339289e-01 2.32926874e-01 3.07039970e-01 2.32926874e-01 2.43514459e-01 4.97616503e-01 1.79988948e-01 2.85864800e-01 3.07039970e-01 1.37638607e+00 2.22339289e-01 3.07039970e-01 2.22339289e-01 2.01164118e-01 1.90576533e-01 2.96452385e-01 2.01164118e-01 2.96452385e-01 3.59977896e-01 1.79988948e-01 2.64689629e-01 2.22339289e-01 1.79988948e-01 4.02328236e-01 3.49390311e-01 1.79988948e-01 3.70565481e-01 2.54102044e-01 6.56430281e-01 2.01164118e-01 1.48226192e-01 2.11751703e-01 2.85864800e-01 2.43514459e-01 2.96452385e-01 2.54102044e-01 4.34090992e-01 1.69401363e-01 1.48226192e-01 2.32926874e-01 3.07039970e-01 3.07039970e-01 2.75277214e-01 2.01164118e-01 3.91740651e-01 3.07039970e-01 2.85864800e-01 3.49390311e-01 2.43514459e-01 4.34090992e-01 2.54102044e-01 3.38802725e-01 2.43514459e-01 3.07039970e-01 3.17627555e-01 2.22339289e-01 5.50554429e-01 1.48226192e-01 3.38802725e-01 3.81153066e-01 3.07039970e-01 3.17627555e-01 3.49390311e-01 3.38802725e-01 2.01164118e-01 2.96452385e-01 3.81153066e-01 2.85864800e-01 5.50554429e-01 3.59977896e-01 1.48226192e-01 3.28215140e-01 3.07039970e-01 2.64689629e-01 2.43514459e-01 2.85864800e-01 2.22339289e-01 2.54102044e-01 3.28215140e-01 3.59977896e-01 2.54102044e-01 3.07039970e-01 5.61142014e-01 2.75277214e-01 2.54102044e-01 1.46108675e+00 2.75277214e-01 4.02328236e-01 2.01164118e-01 3.91740651e-01 1.90576533e-01 2.01164118e-01 8.15244058e-01 3.17627555e-01 2.43514459e-01 3.70565481e-01 2.43514459e-01 2.11751703e-01 3.38802725e-01 2.54102044e-01 6.35255110e-01 4.76441333e-01 2.43514459e-01 1.11169644e+00 3.28215140e-01 2.64689629e-01 2.43514459e-01 3.07039970e-01 2.64689629e-01 4.65853747e-01 2.85864800e-01 2.22339289e-01 3.59977896e-01 2.32926874e-01 3.38802725e-01 1.33403573e+00 2.85864800e-01 3.28215140e-01 5.08204088e-01 3.28215140e-01 3.38802725e-01 2.01164118e-01 3.38802725e-01 3.38802725e-01 4.76441333e-01 4.02328236e-01 2.43514459e-01 4.55266162e-01 2.22339289e-01 5.08204088e-01 2.54102044e-01 3.70565481e-01 3.28215140e-01 5.92904770e-01 6.67017866e-01 1.48226192e-01 1.58813778e-01 2.64689629e-01 1.58813778e-01 4.87028918e-01 1.69401363e-01 6.56430281e-01 2.64689629e-01 6.45842695e-01 2.75277214e-01 2.85864800e-01 1.90576533e-01 2.54102044e-01 2.01164118e-01 2.64689629e-01 2.43514459e-01 2.96452385e-01 6.98780621e-01 1.90576533e-01 2.01164118e-01 4.12915822e-01 1.79988948e-01 2.22339289e-01 3.17627555e-01 2.85864800e-01 2.22339289e-01 2.01164118e-01 2.64689629e-01 2.85864800e-01 2.64689629e-01 3.81153066e-01 2.43514459e-01 4.55266162e-01 5.29379258e-01 3.28215140e-01 3.70565481e-01 2.64689629e-01 2.64689629e-01 4.87028918e-01 2.11751703e-01 1.90576533e-01 5.29379258e-01 2.01164118e-01 3.07039970e-01 3.28215140e-01 2.32926874e-01 3.17627555e-01 2.22339289e-01 3.07039970e-01 3.59977896e-01 3.17627555e-01 4.76441333e-01 3.28215140e-01 4.55266162e-01 4.02328236e-01 3.07039970e-01 3.38802725e-01 2.22339289e-01 4.12915822e-01 3.28215140e-01 4.12915822e-01 2.54102044e-01 2.96452385e-01 2.64689629e-01 4.44678577e-01 4.97616503e-01 3.49390311e-01 4.12915822e-01 3.38802725e-01 5.18791673e-01 2.54102044e-01 4.76441333e-01 2.22339289e-01 5.08204088e-01 3.59977896e-01 3.07039970e-01 2.96452385e-01 2.64689629e-01 2.96452385e-01 2.96452385e-01 4.12915822e-01 4.02328236e-01 3.07039970e-01 2.22339289e-01 3.81153066e-01 3.17627555e-01 2.54102044e-01 2.43514459e-01 4.44678577e-01 3.70565481e-01 3.28215140e-01 3.17627555e-01 2.96452385e-01 2.85864800e-01 3.49390311e-01 5.18791673e-01 2.32926874e-01 1.12228403e+00 4.23503407e-01 1.69401363e-01 3.38802725e-01 1.79988948e-01 4.65853747e-01 2.32926874e-01 4.87028918e-01 3.38802725e-01 2.85864800e-01 4.87028918e-01 2.32926874e-01 1.15404678e+00 2.11751703e-01 1.69401363e-01 5.50554429e-01 5.18791673e-01 4.12915822e-01 3.49390311e-01 2.11751703e-01 3.17627555e-01 4.76441333e-01 2.22339289e-01 3.81153066e-01 3.49390311e-01 3.49390311e-01 2.85864800e-01 2.54102044e-01 2.43514459e-01 5.39966844e-01 3.28215140e-01 4.44678577e-01 3.91740651e-01 4.76441333e-01 4.34090992e-01 4.12915822e-01 4.34090992e-01 2.54102044e-01 4.13974580e+00 2.96452385e-01 2.11751703e-01 3.91740651e-01 4.23503407e-01 2.32926874e-01 3.70565481e-01 3.81153066e-01 4.12915822e-01 1.01640818e+00 3.38802725e-01 3.07039970e-01 5.50554429e-01 2.32926874e-01 5.18791673e-01 7.83481303e-01 3.49390311e-01 3.59977896e-01 5.18791673e-01 3.59977896e-01 4.76441333e-01 3.49390311e-01 6.77605451e-01 1.01640818e+00 2.22339289e-01 2.96452385e-01 3.49390311e-01 3.17627555e-01 3.49390311e-01 4.12915822e-01 4.76441333e-01 6.77605451e-01 2.43514459e-01 3.91740651e-01 3.38802725e-01 6.67017866e-01 3.17627555e-01 2.43514459e-01 4.12915822e-01 2.96452385e-01 3.91740651e-01 4.44678577e-01 2.75277214e-01 5.61142014e-01 3.28215140e-01 2.85864800e-01 7.72893717e-01 4.23503407e-01 5.18791673e-01 4.76441333e-01 2.32926874e-01 2.22339289e-01 2.11751703e-01 2.64689629e-01 5.39966844e-01 4.87028918e-01 4.12915822e-01 4.76441333e-01 3.91740651e-01 3.59977896e-01 2.96452385e-01 5.71729599e-01 2.22339289e-01 2.85864800e-01 4.23503407e-01 4.55266162e-01 1.04817093e+00 2.75277214e-01 5.08204088e-01 2.54102044e-01 5.92904770e-01 6.35255110e-01 3.28215140e-01 3.07039970e-01 2.54102044e-01 2.11751703e-01 4.44678577e-01 5.08204088e-01 5.29379258e-01 4.65853747e-01 3.38802725e-01 3.59977896e-01 3.91740651e-01 4.44678577e-01 5.39966844e-01 3.91740651e-01 4.34090992e-01 3.38802725e-01 1.16463437e+00 2.75277214e-01 3.07039970e-01 6.03492355e-01 3.91740651e-01 2.43514459e-01 4.65853747e-01 3.28215140e-01 3.59977896e-01 3.17627555e-01 8.68181984e-01 5.82317184e-01 3.38802725e-01 4.23503407e-01 3.07039970e-01 2.32926874e-01 6.03492355e-01 2.43514459e-01 4.02328236e-01 4.34090992e-01 3.81153066e-01 4.34090992e-01 3.38802725e-01 4.02328236e-01 1.69401363e+00 5.92904770e-01 1.35521090e+00 3.70565481e-01 3.17627555e-01 6.88193036e-01 4.23503407e-01 4.76441333e-01 3.81153066e-01 5.18791673e-01 4.02328236e-01 5.50554429e-01 4.02328236e-01 4.44678577e-01 4.12915822e-01 4.76441333e-01 2.01164118e-01 3.17627555e-01 5.61142014e-01 5.18791673e-01 2.32926874e-01 4.02328236e-01 4.76441333e-01 1.37638607e-01 3.28215140e-01 3.17627555e-01 4.02328236e-01 3.07039970e-01 3.28215140e-01 3.49390311e-01 3.70565481e-01 3.07039970e-01 4.87028918e-01 3.17627555e-01 4.97616503e-01 6.45842695e-01 3.91740651e-01 2.96452385e-01 3.38802725e-01 2.64689629e-01 5.39966844e-01 4.44678577e-01 3.07039970e-01 2.85864800e-01 3.59977896e-01 2.85864800e-01 4.02328236e-01 5.50554429e-01 2.96452385e-01 3.59977896e-01 3.28215140e-01 3.17627555e-01 3.07039970e-01 4.23503407e-01 4.97616503e-01 2.59395837e+00 3.07039970e-01 4.55266162e-01 3.17627555e-01 5.71729599e-01 3.35626450e+00 5.29379258e-01 7.51718547e-01 3.17627555e-01 2.56219561e+00 2.43514459e-01 4.02328236e-01 2.85864800e-01 7.51718547e-01 3.17627555e-01 4.34090992e-01 3.38802725e-01 5.71729599e-01 6.14079940e-01 3.91740651e-01 4.76441333e-01 1.07993369e+00 3.81153066e-01 3.28215140e-01 2.43514459e-01 4.12915822e-01 4.97616503e-01 2.75277214e-01 4.34090992e-01 4.97616503e-01 5.08204088e-01 5.18791673e-01 5.08204088e-01 4.87028918e-01 4.87028918e-01 5.39966844e-01 4.65853747e-01 9.52882665e-01 6.14079940e-01 3.70565481e-01 4.76441333e-01 2.83747283e+00 3.59977896e-01 3.07039970e-01 5.82317184e-01 6.14079940e-01 4.12915822e-01 3.49390311e-01 4.12915822e-01 4.02328236e-01 4.65853747e-01 5.61142014e-01 4.55266162e-01 3.59977896e-01 5.29379258e-01 4.55266162e-01 5.08204088e-01 6.67017866e-01 4.23503407e-01 3.81153066e-01 5.92904770e-01 1.20698471e+00 8.25831643e-01 4.55266162e-01 4.97616503e-01 3.07039970e-01 5.29379258e-01 3.28215140e-01 7.51718547e-01 5.08204088e-01 7.62306132e-01 8.68181984e-01 9.31707495e-01 3.49390311e-01 4.55266162e-01 3.59977896e-01 4.55266162e-01 3.38802725e-01 2.85864800e-01 8.15244058e-01 4.55266162e-01 2.54102044e-01 3.38802725e-01 6.14079940e-01 2.43514459e-01 6.98780621e-01 4.76441333e-01 4.65853747e-01 5.18791673e-01 3.28215140e-01 3.38802725e-01 3.38802725e-01 3.17627555e-01 3.28215140e-01 4.02328236e-01 4.55266162e-01 7.72893717e-01 4.12915822e-01 3.59977896e-01 3.49390311e-01 6.88193036e-01 2.85864800e-01 4.34090992e-01 9.21119910e-01 6.77605451e-01 3.70565481e-01 3.81153066e-01 3.81153066e-01 5.82317184e-01 4.23503407e-01 6.88193036e-01 4.87028918e-01 6.14079940e-01 3.28215140e-01 5.92904770e-01 4.34090992e-01 4.02328236e-01 6.98780621e-01 1.22815988e+00 1.13287161e+00 3.49390311e-01 5.61142014e-01 2.64689629e-01 6.24667525e-01 6.03492355e-01 6.24667525e-01 3.59977896e-01 5.08204088e-01 6.45842695e-01 3.49390311e-01 2.43514459e-01 5.92904770e-01 8.57594399e-01 5.39966844e-01 4.55266162e-01 3.49390311e-01 6.77605451e-01 4.44678577e-01 4.55266162e-01 1.11169644e+00 3.38802725e-01 3.17627555e-01 4.34090992e-01 3.28215140e-01 4.65853747e-01 5.61142014e-01 4.12915822e-01 5.29379258e-01 4.44678577e-01 3.70565481e-01 5.50554429e-01 2.57278320e+00 1.00582059e+00 7.19955792e-01 4.02328236e-01 8.25831643e-01 3.59977896e-01 4.34090992e-01 3.28215140e-01 8.25831643e-01 3.59977896e-01 8.68181984e-01 5.08204088e-01 1.87400258e+00 5.92904770e-01 6.45842695e-01 3.81153066e-01 2.96452385e-01 4.23503407e-01 2.31868115e+00 3.91740651e-01 1.42932400e+00 4.65853747e-01 5.08204088e-01 4.65853747e-01 8.47006814e-01 6.24667525e-01 3.70565481e-01 4.55266162e-01 4.44678577e-01 1.34462332e+00 4.97616503e-01 5.50554429e-01 5.18791673e-01 8.99944739e-01 8.68181984e-01 9.63470250e+00 4.76441333e-01 4.23503407e-01 7.19955792e-01 4.23503407e-01 5.39966844e-01 4.55266162e-01 8.78769569e-01 9.10532325e-01 3.91740651e-01 6.88193036e-01 8.25831643e-01 6.35255110e-01 2.44573217e+00 1.87400258e+00 4.87028918e-01 5.61142014e-01 6.35255110e-01 5.92904770e-01 6.77605451e-01 8.15244058e-01 5.82317184e-01 5.18791673e-01 6.67017866e-01 3.91740651e-01 1.03758335e+00 6.56430281e-01 9.84645421e-01 1.42932400e+00 4.23503407e-01 5.08204088e-01 7.62306132e-01 8.25831643e-01 5.92904770e-01 6.98780621e-01 5.39966844e-01 4.97616503e-01 5.08204088e-01 8.04656473e-01 1.14345920e+00 3.38802725e-01 5.39966844e-01 1.20698471e+00 5.50554429e-01 4.02328236e-01 7.19955792e-01 4.12915822e-01 7.83481303e-01 5.71729599e-01 1.04817093e+00 7.41130962e-01 6.35255110e-01 1.01640818e+00 6.14079940e-01 6.56430281e-01 5.39966844e-01 6.35255110e-01 4.87028918e-01 8.25831643e-01 6.14079940e-01 8.04656473e-01 4.23503407e-01 4.76441333e-01 4.97616503e-01 5.18791673e-01 2.64689629e-01 8.25831643e-01 4.12915822e-01 3.91740651e-01 9.52882665e-01 5.92904770e-01 7.94068888e+00 9.42295080e-01 8.78769569e-01 7.30543377e-01 5.08204088e-01 3.70565481e-01 4.87028918e-01 3.07039970e-01 1.11169644e+00 6.03492355e-01 1.43991158e+00 1.71518880e+00 5.61142014e-01 6.98780621e-01 5.61142014e-01 2.43514459e+00 4.34090992e-01 6.14079940e-01 6.56430281e-01 5.39966844e-01 8.15244058e-01 5.29379258e-01 4.87028918e-01 3.38802725e-01 6.24667525e-01 7.30543377e-01 2.23398047e+00 4.76441333e-01 3.91740651e-01 7.19955792e-01 6.24667525e-01 5.29379258e-01 7.72893717e-01 6.24667525e-01 6.88193036e-01 9.10532325e-01 4.02328236e-01 5.29379258e-01 1.36579849e+00 1.04817093e+00 6.77605451e-01 6.35255110e-01 5.29379258e-01 5.92904770e-01 4.55266162e-01 1.69401363e+00 7.62306132e-01 6.35255110e-01 1.11169644e+00 5.92904770e-01 8.47006814e-01 7.09368206e-01 5.92904770e-01 8.68181984e-01 6.77605451e-01 6.88193036e-01 6.35255110e-01 7.19955792e-01 7.94068888e-01 6.88193036e-01 2.48808251e+00 5.61142014e-01 6.05609872e+00 9.74057836e-01 4.02328236e-01 1.54578743e+00 6.24667525e-01 8.04656473e-01 6.67017866e-01 1.63048812e+00 9.21119910e-01 8.15244058e-01 9.21119910e-01 1.17522195e+00 2.71042180e+00 5.92904770e-01 6.45842695e-01 9.21119910e-01 2.59395837e+00 9.21119910e-01 4.65853747e-01 8.99944739e-01 9.31707495e-01 1.10110886e+00 4.55266162e-01 2.42455700e+00 5.92904770e-01 8.04656473e-01 1.15404678e+00 5.29379258e-01 8.89357154e-01 9.95233006e-01 8.25831643e-01 8.36419228e-01 8.57594399e-01 9.42295080e-01 7.83481303e-01 9.42295080e-01 6.98780621e-01 8.15244058e-01 6.14079940e-01 4.61618713e+00 2.06457911e+00 6.67017866e-01 7.83481303e-01 1.28109781e+00 8.15244058e-01 7.72893717e-01 8.25831643e-01 7.41130962e-01 8.36419228e-01 5.82317184e-01 7.72893717e-01 1.11169644e+00 6.56430281e-01 8.48065572e+00 1.49284951e+00 3.91740651e-01 7.19955792e-01 6.24667525e-01 6.67017866e-01 7.09368206e-01 7.19955792e-01 6.45842695e-01 1.10110886e+00 4.55266162e-01 5.29379258e-01 9.74057836e-01 9.42295080e-01 6.56430281e-01 4.97616503e-01 8.04656473e-01 5.50554429e-01 1.15404678e+00 7.09368206e-01 8.15244058e-01 7.62306132e-01 5.82317184e-01 1.32344815e+00 7.19955792e-01 9.10532325e-01 7.94068888e-01 8.25831643e-01 5.18791673e-01 8.89357154e-01 8.47006814e-01 1.24933505e+00 5.50554429e-01 1.81047706e+00 9.10532325e-01 4.97616503e-01 8.78769569e-01 5.08204088e-01 1.76812672e+00 1.18580954e+00 5.82317184e-01 6.67017866e-01 8.99944739e-01 9.84645421e-01 7.51718547e-01 1.63048812e+00 1.77871431e+00 7.41130962e-01 1.71518880e+00 1.12228403e+00 6.14079940e-01 1.31286056e+00 7.09368206e-01 9.52882665e-01 6.77605451e-01 1.28109781e+00 1.95870326e+00 7.72893717e-01 8.99944739e-01 9.42295080e-01 9.31707495e-01 7.94068888e-01 3.01746177e+00 5.61142014e-01 7.30543377e-01 1.27051022e+00 7.62306132e-01 1.42932400e+00 7.62306132e-01 9.11591083e+00 9.74057836e-01 8.57594399e-01 1.16463437e+00 7.83481303e-01 1.21757229e+00 8.78769569e-01 8.25831643e-01 8.15244058e-01 9.31707495e-01 8.55476882e+00 8.89357154e-01 1.58813778e+00 1.34462332e+00 5.39966844e-01 9.63470250e-01 1.39756124e+00 1.04817093e+00 1.50343709e+00 1.89517775e+00 6.91369312e+00 1.20698471e+00 1.15404678e+00 9.21119910e-01 9.74057836e-01 7.72893717e-01 2.99628660e+00 1.00582059e+00 8.47006814e-01 1.20698471e+00 1.95870326e+00 8.15244058e-01 1.16463437e+00 1.52461226e+00 1.02699576e+00 1.33403573e+00 9.21119910e-01 8.36419228e-01 1.06934610e+00 6.88193036e-01 9.74057836e-01 9.84645421e-01 1.01640818e+00 1.67283846e+00 9.21119910e-01 8.68181984e-01 1.37638607e+00 5.92904770e-01 1.33403573e+00 2.31868115e+00 2.45631976e+00 8.47006814e-01 1.53519985e+00 1.46108675e+00 1.20698471e+00 8.57594399e-01 9.84645421e-01 1.42932400e+00 1.03758335e+00 8.57594399e-01 9.63470250e-01 1.29168539e+00 8.57594399e-01 1.23874746e+00 3.58919137e+00 1.45049917e+00 1.36579849e+00 8.99944739e-01 8.89357154e-01 1.61990053e+00 7.19955792e-01 2.65748388e+00 2.32926874e+00 8.36419228e-01 8.36419228e-01 1.21757229e+00 9.21119910e-01 1.70460121e+00 1.18580954e+00 1.32344815e+00 1.43991158e+00 8.57594399e-01 1.56696261e+00 1.27051022e+00 1.10110886e+00 1.30227298e+00 2.30809357e+00 1.13287161e+00 1.43991158e+00 1.46108675e+00 1.19639712e+00 9.74057836e-01 2.06457911e+00 1.42932400e+00 1.86341499e+00 8.36419228e-01 1.24933505e+00 1.12228403e+00 7.41130962e-01 1.19639712e+00 1.55637502e+00 1.41450138e+01 1.04817093e+00 1.36579849e+00 1.22815988e+00 1.86341499e+00 1.46108675e+00 1.95870326e+00 1.39756124e+00 9.84645421e-01 1.94811567e+00 1.02699576e+00 9.74057836e-01 1.75753914e+00 1.58813778e+00 1.35521090e+00 1.60931295e+00 1.59872536e+00 7.19955792e-01 2.09634186e+00 1.07993369e+00 1.57755019e+00 7.14661999e+00 1.51402468e+00 1.13287161e+00 3.54684103e+00 1.07993369e+00 9.74057836e-01 1.88459016e+00 1.48226192e+00 1.46108675e+00 9.21119910e-01 1.99046601e+00 8.89357154e-01 1.16463437e+00 3.49390311e+00 1.87400258e+00 1.17522195e+00 4.28797199e+00 1.51402468e+00 8.68181984e-01 1.21757229e+00 5.65377048e+00 6.98780621e-01 7.30543377e-01 1.55637502e+00 1.99046601e+00 1.18580954e+00 2.18104254e+00 9.10532325e-01 8.78769569e-01 9.52882665e-01 3.75859274e+00 9.42295080e-01 1.74695155e+00 1.40814883e+00 1.09052127e+00 1.31286056e+00 1.52461226e+00 1.55637502e+00 1.45049917e+00 1.32344815e+00 2.02222877e+00 1.03758335e+00 1.55637502e+00 1.20698471e+00 3.33508933e+00 9.42295080e-01 1.25992264e+00 9.10532325e-01 8.99944739e-01 1.40814883e+00 1.83165223e+00 1.07993369e+00 3.82211825e+00 1.45049917e+00 1.54578743e+00 1.86341499e+00 1.25992264e+00 1.28109781e+00 1.28109781e+00 1.53519985e+00 8.68181984e-01 9.95233006e-01 1.90576533e+00 1.38697366e+00 1.00582059e+00 1.84223982e+00 2.26574323e+00 2.90099834e+00 1.85282740e+00 1.50343709e+00 2.09634186e+00 2.48808251e+00 4.28797199e+00 1.23874746e+00 2.30809357e+00 1.34462332e+00 1.61990053e+00 1.31180180e+01 1.41873641e+00 9.42295080e-01 4.22444648e+00 1.90576533e+00 1.36579849e+00 1.48226192e+00 1.01640818e+00 1.79988948e+00 2.08575428e+00 2.06457911e+00 1.60931295e+00 1.56696261e+00 1.88459016e+00 3.92799410e+00 1.76812672e+00 1.15404678e+00 1.00370307e+01 1.28109781e+00 1.15404678e+00 1.79988948e+00 1.46108675e+00 1.40814883e+00 8.36419228e-01 1.29168539e+00 1.59872536e+00 3.80094308e+00 9.63470250e-01 9.84645421e-01 1.22815988e+00 2.03281635e+00 1.49284951e+00 2.53043286e+00 1.40814883e+00 1.51402468e+00 1.81047706e+00 1.31286056e+00 1.25992264e+00 1.13287161e+00 1.65166329e+00 1.32344815e+00 1.94811567e+00 1.63048812e+00 1.42932400e+00 1.29168539e+00 1.23874746e+00 1.58813778e+00 1.49284951e+00 2.05399152e+00 1.53519985e+00 2.06457911e+00 2.14927979e+00 1.28109781e+00 1.86341499e+00 1.90576533e+00 4.01269478e+00 1.27051022e+00 1.65166329e+00 2.61513354e+00 4.96557744e+00 1.99046601e+00 6.02433596e+00 2.71042180e+00 5.41025602e+00 2.82688524e+00 2.17045496e+00 2.36103149e+00 1.55637502e+00 1.68342604e+00 1.75753914e+00 2.51984527e+00 2.54102044e+00 2.17045496e+00 1.31286056e+00 2.29750598e+00 2.50925769e+00 2.08575428e+00 1.87400258e+00 2.11751703e+00 1.25992264e+00 1.68342604e+00 1.85282740e+00 2.22339289e+00 7.33719652e+00 1.82106465e+00 1.50343709e+00 1.72577638e+00 2.46690734e+00 2.75277214e+00 2.02222877e+00 1.84223982e+00 2.22339289e+00 1.35521090e+00 2.29750598e+00 4.69030023e+00 1.90576533e+00 5.36790568e+00 3.19745072e+00 1.94811567e+00 1.97987843e+00 5.67494565e+00 3.11275004e+00 2.13869220e+00 2.50925769e+00 1.65166329e+00 2.75277214e+00 2.66807146e+00 1.68342604e+00 3.69506722e+00 9.10532325e+00 2.54102044e+00 2.38220666e+00 3.44096518e+00 2.21280530e+00 4.02328236e+00 2.19374765e+01 1.90576533e+00 2.27633081e+00 7.06191931e+00 1.91635292e+00 1.84541610e+01 5.23026707e+00 3.11275004e+00 1.96929084e+00 1.90576533e+00 3.08098728e+00 5.05027813e+00 2.49867010e+00 1.94811567e+00 2.32926874e+00 4.03386995e+00 1.63048812e+00 2.35044391e+00 4.61618713e+00 1.06828734e+01 2.98569902e+00 1.96929084e+00 2.91158592e+00 4.66912506e+00 2.09845938e+01 2.78453490e+00 6.63841590e+00 2.75277214e+00 2.43514459e+00 3.44096518e+00 3.47272794e+00 2.65748388e+00 2.65748388e+00 3.53625345e+00 3.04922453e+00 2.19692392e+01 3.04922453e+00 3.59977896e+00 2.68924663e+00 1.22815988e+01 3.08098728e+00 2.97511143e+00 2.37161908e+00 2.44573217e+00 3.53625345e+00 4.46796094e+00 1.96929084e+00 3.04922453e+00 2.40338183e+00 3.36685208e+00 2.37161908e+00 2.51984527e+00 2.23398047e+00 5.13497881e+00 8.53359365e+00 2.19163013e+00 5.27261741e+00 2.33985632e+00 5.57965738e+00 2.44573217e+00 4.19268373e+00 2.87982317e+00 4.24562165e+00 3.97034444e+00 2.85864800e+00 5.19850432e+00 2.44573217e+00 2.72100939e+00 2.66807146e+00 1.52143599e+01 2.60454595e+00 7.11485723e+00 6.31020076e+00 2.41396942e+00 8.87239637e+00 6.91369312e+00 3.39861484e+00 3.95975685e+00 5.20909190e+00 3.59977896e+00 5.07145330e+00 6.38431386e+00 9.14767359e+00 5.91846011e+00 1.97987843e+00 9.92056730e+00 2.70512801e+01 4.04445753e+00 3.91740651e+00 1.05664100e+01 4.78558850e+00 6.13021181e+00 4.45737336e+00 5.02910296e+00 3.51507828e+00 4.45737336e+00 7.62306132e+00 4.01269478e+00 4.28797199e+00 9.05238532e+00 3.64212930e+00 4.28797199e+00 1.55637502e+01 5.37849327e+00 3.57860379e+00 3.34567691e+00 4.33032233e+00 5.41025602e+00 4.64794989e+00 4.38326026e+00 3.45155277e+00 4.24562165e+00 3.63154171e+00 6.20432491e+00 4.26679682e+00 5.60083255e+00 1.31391932e+01 8.58653157e+00 3.22921348e+00 5.60083255e+00 6.39490144e+00 1.22604236e+01 5.73847116e+00 9.83586662e+00 4.42561060e+00 3.72682998e+00 2.33456253e+01 4.28797199e+00 2.87982317e+00 2.86076551e+01 9.20061151e+00 4.88087676e+00 1.36262221e+01 1.66436839e+01 9.43353839e+00 5.24085466e+00 8.75593294e+00 6.73370417e+00 1.82847596e+01 4.22444648e+00 8.34301711e+00 4.78347098e+01 5.52671946e+00 4.61618713e+00 6.58547798e+00 5.15615398e+00 5.01851537e+00 4.08680788e+00 8.09950265e+00 1.84329858e+01 6.83958002e+00 9.92056730e+00 7.90892612e+00 7.85598820e+00 6.17256215e+00 7.10426965e+00 1.33932952e+01 6.85016760e+00 1.51931847e+01 5.61142014e+00 8.11009024e+00 2.22445164e+01 4.31973475e+00 8.63946950e+00 1.07569865e+01 8.39595504e+00 9.69822802e+00 6.82158112e+01 2.07304918e+01 6.20432491e+00 4.87028918e+00 6.24667525e+00 1.08310996e+01 6.58547798e+00 3.34885319e+01 1.53837613e+01 1.00264432e+01 1.38062111e+01 7.95127646e+00 1.94599815e+01 9.13708600e+00 8.91474671e+00 1.72577638e+01 1.96209128e+02 1.03652459e+01 4.27632565e+01 1.33932952e+01 2.72736194e+01 1.29274415e+01 9.55529562e+01 3.69718474e+01 2.10269441e+01 1.11836662e+02 2.07199042e+01 1.55955130e+01 1.39332621e+01 8.54418123e+00 4.99839896e+01 1.40709007e+01 3.20592079e+01 1.22921864e+01 1.04181838e+01 7.09050579e+01 1.94853917e+02 4.37161392e+01 5.93328273e+01 2.48702376e+01 3.68447964e+01 2.76748889e+02 1.43027688e+02 3.53095965e+01 3.94471189e+03 2.91042129e+02 1.36082232e+02 3.26838754e+01 9.60293975e+00 3.22921348e+00 7.10426965e+00 4.63736230e+00 4.43619819e+00 1.02064321e+01 1.80518327e+01 3.87505617e+00 7.15720757e+00 4.57383679e+00 1.14557672e+01 8.56535640e+00 4.89146435e+00 1.68977859e+01 1.59237281e+01 2.28585964e+01 7.44307237e+00 1.02381949e+01 1.55955130e+01 1.10110886e+01 8.25831643e+00 3.72259495e+01 1.97564339e+01 3.72047743e+01 1.90894161e+01 3.47272794e+00 4.84911401e+00 3.11275004e+00 2.07516669e+00 1.55002247e+01 1.97987843e+00 4.37267268e+00 4.69982906e+01 3.75859274e+00 4.04445753e+00 2.08575428e+00 4.09739546e+00 2.86923558e+00 1.57966771e+01 3.51507828e+00 6.16197457e+00 3.16039417e+01 1.10852017e+01 9.10532325e-01 1.27051022e+00 8.78769569e-01 2.86923558e+00 5.29379258e-01 1.17522195e+00 7.19955792e-01 1.19639712e+00 1.19639712e+00 3.25038865e+00 2.18104254e+00 2.54102044e+00 8.04656473e-01 1.22815988e+00 9.63470250e-01 2.10692945e+00 8.25831643e-01 6.81840485e+00 1.04817093e+00 1.13287161e+00 7.94068888e-01 8.47006814e-01 9.84645421e-01 4.97616503e-01 7.41130962e-01 1.18580954e+00 5.92904770e-01 1.58813778e+00 9.52882665e-01 1.66225087e+00 1.42932400e+00 2.26574323e+00 5.99257321e+00 8.57594399e-01 9.31707495e-01 3.62095413e+00 5.82317184e-01 9.42295080e-01 1.55637502e+00 6.45842695e-01 3.03863694e+00 7.30543377e-01 1.39756124e+00 1.06934610e+00 3.47272794e+00 9.21119910e-01 5.39966844e-01 1.69401363e+00 1.73636397e+00 4.34090992e-01 2.11751703e+00 3.59977896e-01 2.01164118e+00 5.50554429e-01 9.34883770e+00 6.35255110e-01 4.55266162e-01 4.55266162e-01 4.97616503e-01 5.18791673e-01 1.52461226e+00 5.82317184e-01 8.25831643e-01 2.74218456e+00 2.54102044e-01 4.12915822e-01 2.43514459e-01 2.96452385e-01 3.28215140e-01 3.59977896e-01 5.50554429e-01 3.17627555e-01 8.57594399e-01 2.54102044e-01 1.16463437e-01 4.65853747e-01 2.85864800e-01 2.85864800e-01 3.49390311e-01 4.02328236e-01 8.47006814e-01 1.04817093e+00 2.32926874e-01 4.76441333e-01 4.44678577e-01 4.02328236e-01 5.29379258e-01 9.21119910e-01 1.43991158e+00 3.07039970e-01 3.59977896e-01 9.74057836e-01 3.38802725e-01 3.49390311e-01 4.55266162e-01 3.28215140e-01 3.91740651e-01 3.49390311e-01 5.71729599e-01 2.54102044e-01 7.41130962e-01 5.39966844e-01 4.44678577e-01 7.62306132e-01 2.75277214e-01 2.64689629e-01 5.39966844e-01 2.64689629e-01 3.59977896e-01 2.75277214e-01 5.08204088e-01 3.17627555e-01 5.50554429e-01 2.64689629e-01 5.82317184e-01 1.65166329e+00 1.27051022e-01 2.43514459e-01 4.65853747e-01 9.52882665e-02 1.37638607e-01 1.69401363e-01 1.37638607e-01 9.52882665e-02 3.17627555e-02 - - 8.66869925e-02 1.08358741e-01 1.73373985e-01 2.81732726e-01 4.11763215e-01 6.71824192e-01 6.06808948e-01 6.28480696e-01 8.23526429e-01 1.12693090e+00 1.23528964e+00 1.19194615e+00 1.75541160e+00 1.45200713e+00 1.34364838e+00 1.53869412e+00 1.56036587e+00 1.58203761e+00 1.58203761e+00 1.45200713e+00 1.73373985e+00 1.53869412e+00 2.01547258e+00 1.60370936e+00 1.75541160e+00 2.01547258e+00 1.53869412e+00 1.88544209e+00 1.75541160e+00 2.08048782e+00 1.73373985e+00 2.03714432e+00 1.75541160e+00 1.88544209e+00 1.75541160e+00 1.51702237e+00 1.86377034e+00 1.53869412e+00 1.45200713e+00 1.47367887e+00 1.79875510e+00 1.69039635e+00 1.51702237e+00 1.34364838e+00 2.10215957e+00 1.64705286e+00 1.64705286e+00 1.53869412e+00 1.86377034e+00 1.84209859e+00 1.34364838e+00 1.45200713e+00 1.10525915e+00 1.73373985e+00 1.47367887e+00 1.45200713e+00 1.60370936e+00 1.45200713e+00 1.45200713e+00 1.36532013e+00 1.47367887e+00 1.66872461e+00 1.53869412e+00 1.45200713e+00 1.34364838e+00 1.69039635e+00 1.21361790e+00 1.40866363e+00 1.32197664e+00 1.51702237e+00 1.43033538e+00 1.04024391e+00 1.34364838e+00 1.14860265e+00 1.56036587e+00 1.49535062e+00 1.49535062e+00 1.10525915e+00 9.53556918e-01 1.30030489e+00 1.10525915e+00 1.38699188e+00 1.40866363e+00 1.14860265e+00 1.17027440e+00 9.10213422e-01 9.75228666e-01 1.01857216e+00 1.12693090e+00 9.10213422e-01 7.36839437e-01 5.85137200e-01 1.25696139e+00 1.08358741e+00 8.01854681e-01 9.75228666e-01 8.88541674e-01 1.27863314e+00 1.04024391e+00 1.04024391e+00 8.01854681e-01 9.53556918e-01 9.31885170e-01 7.15167688e-01 7.15167688e-01 7.58511185e-01 7.36839437e-01 1.17027440e+00 7.80182933e-01 9.96900414e-01 8.45198177e-01 7.80182933e-01 7.80182933e-01 8.66869925e-01 7.15167688e-01 8.88541674e-01 9.96900414e-01 9.96900414e-01 9.53556918e-01 7.15167688e-01 8.23526429e-01 8.45198177e-01 8.45198177e-01 9.53556918e-01 7.80182933e-01 7.15167688e-01 9.53556918e-01 4.98450207e-01 7.58511185e-01 7.80182933e-01 8.66869925e-01 8.23526429e-01 5.20121955e-01 6.06808948e-01 7.58511185e-01 6.71824192e-01 4.55106711e-01 6.50152444e-01 7.36839437e-01 7.36839437e-01 6.50152444e-01 6.50152444e-01 6.06808948e-01 5.63465452e-01 6.28480696e-01 6.28480696e-01 9.10213422e-01 5.85137200e-01 5.63465452e-01 6.71824192e-01 7.58511185e-01 7.58511185e-01 6.06808948e-01 5.85137200e-01 6.50152444e-01 5.63465452e-01 6.50152444e-01 6.06808948e-01 6.71824192e-01 3.46747970e-01 4.76778459e-01 5.85137200e-01 5.63465452e-01 8.01854681e-01 7.36839437e-01 6.06808948e-01 6.50152444e-01 4.55106711e-01 7.58511185e-01 5.85137200e-01 5.85137200e-01 5.41793703e-01 5.20121955e-01 5.41793703e-01 6.28480696e-01 5.20121955e-01 6.71824192e-01 5.41793703e-01 6.06808948e-01 5.41793703e-01 3.25076222e-01 6.28480696e-01 4.55106711e-01 4.11763215e-01 5.41793703e-01 4.33434963e-01 4.98450207e-01 3.90091466e-01 3.46747970e-01 3.25076222e-01 4.33434963e-01 4.55106711e-01 5.20121955e-01 4.33434963e-01 3.46747970e-01 4.98450207e-01 3.25076222e-01 4.55106711e-01 5.20121955e-01 5.20121955e-01 5.20121955e-01 4.98450207e-01 5.63465452e-01 3.68419718e-01 6.28480696e-01 2.60060978e-01 4.33434963e-01 4.98450207e-01 3.90091466e-01 4.55106711e-01 3.68419718e-01 4.11763215e-01 5.63465452e-01 3.03404474e-01 5.63465452e-01 3.25076222e-01 4.76778459e-01 5.85137200e-01 3.46747970e-01 3.46747970e-01 4.11763215e-01 3.90091466e-01 5.20121955e-01 3.68419718e-01 3.46747970e-01 4.55106711e-01 2.60060978e-01 6.71824192e-01 5.63465452e-01 4.76778459e-01 3.03404474e-01 3.90091466e-01 2.60060978e-01 4.76778459e-01 5.41793703e-01 4.11763215e-01 3.03404474e-01 7.36839437e-01 3.90091466e-01 3.68419718e-01 4.76778459e-01 4.76778459e-01 4.33434963e-01 3.46747970e-01 4.11763215e-01 3.68419718e-01 3.46747970e-01 4.76778459e-01 4.33434963e-01 2.60060978e-01 5.41793703e-01 3.46747970e-01 4.11763215e-01 3.25076222e-01 2.38389229e-01 3.25076222e-01 2.81732726e-01 4.11763215e-01 4.76778459e-01 3.46747970e-01 3.90091466e-01 3.25076222e-01 2.38389229e-01 1.30030489e-01 4.98450207e-01 4.98450207e-01 3.68419718e-01 3.25076222e-01 3.46747970e-01 3.90091466e-01 1.95045733e-01 2.81732726e-01 3.25076222e-01 2.38389229e-01 4.55106711e-01 3.46747970e-01 1.73373985e-01 3.25076222e-01 3.68419718e-01 3.03404474e-01 1.95045733e-01 3.68419718e-01 2.38389229e-01 3.46747970e-01 3.90091466e-01 3.25076222e-01 1.95045733e-01 2.16717481e-01 4.11763215e-01 2.81732726e-01 4.33434963e-01 3.68419718e-01 3.25076222e-01 2.38389229e-01 3.46747970e-01 3.03404474e-01 3.46747970e-01 3.68419718e-01 3.25076222e-01 3.03404474e-01 3.90091466e-01 4.55106711e-01 3.25076222e-01 4.11763215e-01 2.16717481e-01 2.81732726e-01 2.38389229e-01 2.81732726e-01 2.81732726e-01 3.68419718e-01 2.16717481e-01 1.95045733e-01 2.81732726e-01 1.51702237e-01 4.33434963e-01 3.46747970e-01 3.46747970e-01 3.03404474e-01 1.51702237e-01 3.90091466e-01 3.90091466e-01 4.55106711e-01 2.60060978e-01 3.68419718e-01 3.03404474e-01 3.25076222e-01 2.60060978e-01 2.38389229e-01 3.90091466e-01 4.55106711e-01 2.60060978e-01 2.81732726e-01 6.50152444e-02 2.81732726e-01 4.33434963e-01 2.38389229e-01 3.46747970e-01 3.03404474e-01 2.16717481e-01 4.55106711e-01 3.46747970e-01 3.46747970e-01 2.60060978e-01 3.46747970e-01 2.60060978e-01 2.38389229e-01 3.25076222e-01 4.11763215e-01 3.46747970e-01 3.68419718e-01 1.08358741e-01 3.68419718e-01 3.03404474e-01 3.03404474e-01 2.16717481e-01 4.11763215e-01 2.81732726e-01 3.25076222e-01 1.51702237e-01 3.25076222e-01 3.03404474e-01 3.03404474e-01 2.16717481e-01 2.81732726e-01 3.68419718e-01 1.95045733e-01 2.81732726e-01 2.81732726e-01 2.60060978e-01 3.25076222e-01 2.16717481e-01 3.90091466e-01 3.25076222e-01 1.95045733e-01 2.60060978e-01 3.46747970e-01 2.38389229e-01 2.38389229e-01 2.60060978e-01 2.38389229e-01 3.25076222e-01 1.95045733e-01 4.55106711e-01 2.81732726e-01 1.95045733e-01 2.60060978e-01 2.38389229e-01 1.51702237e-01 2.81732726e-01 3.68419718e-01 1.95045733e-01 2.16717481e-01 2.81732726e-01 2.81732726e-01 3.03404474e-01 2.38389229e-01 1.73373985e-01 2.81732726e-01 2.16717481e-01 2.38389229e-01 2.81732726e-01 2.38389229e-01 2.16717481e-01 4.11763215e-01 4.11763215e-01 3.25076222e-01 1.95045733e-01 2.16717481e-01 2.81732726e-01 2.16717481e-01 1.95045733e-01 3.03404474e-01 2.38389229e-01 3.03404474e-01 1.95045733e-01 2.60060978e-01 2.38389229e-01 3.03404474e-01 2.81732726e-01 2.60060978e-01 1.73373985e-01 3.68419718e-01 1.95045733e-01 1.30030489e-01 2.16717481e-01 8.66869925e-02 1.95045733e-01 1.95045733e-01 2.38389229e-01 1.73373985e-01 1.51702237e-01 1.51702237e-01 3.25076222e-01 2.38389229e-01 2.16717481e-01 1.73373985e-01 1.95045733e-01 2.16717481e-01 2.16717481e-01 1.95045733e-01 2.16717481e-01 1.30030489e-01 2.38389229e-01 2.38389229e-01 2.60060978e-01 1.95045733e-01 3.25076222e-01 2.38389229e-01 2.81732726e-01 1.95045733e-01 2.16717481e-01 2.60060978e-01 3.25076222e-01 2.60060978e-01 1.95045733e-01 1.30030489e-01 2.38389229e-01 2.60060978e-01 2.60060978e-01 1.73373985e-01 2.60060978e-01 1.73373985e-01 1.51702237e-01 2.16717481e-01 2.81732726e-01 1.95045733e-01 2.16717481e-01 1.95045733e-01 3.03404474e-01 2.81732726e-01 1.95045733e-01 3.03404474e-01 6.50152444e-02 1.51702237e-01 1.95045733e-01 1.73373985e-01 2.16717481e-01 2.16717481e-01 2.16717481e-01 1.73373985e-01 1.95045733e-01 2.81732726e-01 1.30030489e-01 2.16717481e-01 3.25076222e-01 1.51702237e-01 1.73373985e-01 2.16717481e-01 1.08358741e-01 3.46747970e-01 3.03404474e-01 1.95045733e-01 2.60060978e-01 1.51702237e-01 1.73373985e-01 4.55106711e-01 2.16717481e-01 1.95045733e-01 1.51702237e-01 1.08358741e-01 1.08358741e-01 2.38389229e-01 2.16717481e-01 1.51702237e-01 1.73373985e-01 1.95045733e-01 2.60060978e-01 1.51702237e-01 1.08358741e-01 2.16717481e-01 1.08358741e-01 2.81732726e-01 2.38389229e-01 1.95045733e-01 1.30030489e-01 1.73373985e-01 1.51702237e-01 2.16717481e-01 1.95045733e-01 1.30030489e-01 1.30030489e-01 2.16717481e-01 3.03404474e-01 2.16717481e-01 2.38389229e-01 1.95045733e-01 2.38389229e-01 4.33434963e-02 1.30030489e-01 1.73373985e-01 1.08358741e-01 2.16717481e-01 1.95045733e-01 6.50152444e-02 2.16717481e-01 1.95045733e-01 2.60060978e-01 1.95045733e-01 8.66869925e-02 8.66869925e-02 2.16717481e-01 1.95045733e-01 1.73373985e-01 2.38389229e-01 1.30030489e-01 1.95045733e-01 2.38389229e-01 2.16717481e-01 1.73373985e-01 2.38389229e-01 1.95045733e-01 8.66869925e-02 1.95045733e-01 8.66869925e-02 1.51702237e-01 1.73373985e-01 8.66869925e-02 1.95045733e-01 1.30030489e-01 2.60060978e-01 0.00000000e+00 1.51702237e-01 1.73373985e-01 1.30030489e-01 1.95045733e-01 2.81732726e-01 1.51702237e-01 1.51702237e-01 3.03404474e-01 1.95045733e-01 2.16717481e-01 1.95045733e-01 1.30030489e-01 2.81732726e-01 8.66869925e-02 1.73373985e-01 2.16717481e-01 8.66869925e-02 2.16717481e-01 1.95045733e-01 2.38389229e-01 2.60060978e-01 1.08358741e-01 2.16717481e-01 6.50152444e-02 2.16717481e-01 2.38389229e-01 1.51702237e-01 1.08358741e-01 2.38389229e-01 1.95045733e-01 1.08358741e-01 8.66869925e-02 2.16717481e-01 1.73373985e-01 1.95045733e-01 1.51702237e-01 1.08358741e-01 1.08358741e-01 2.60060978e-01 1.95045733e-01 2.16717481e-01 1.51702237e-01 1.08358741e-01 1.95045733e-01 1.30030489e-01 1.30030489e-01 1.73373985e-01 2.16717481e-01 1.08358741e-01 2.60060978e-01 1.51702237e-01 1.08358741e-01 2.38389229e-01 1.95045733e-01 1.30030489e-01 6.50152444e-02 1.73373985e-01 1.30030489e-01 2.60060978e-01 1.08358741e-01 1.51702237e-01 2.60060978e-01 1.08358741e-01 1.30030489e-01 1.30030489e-01 2.38389229e-01 2.38389229e-01 1.30030489e-01 1.08358741e-01 1.30030489e-01 1.73373985e-01 1.30030489e-01 1.30030489e-01 1.51702237e-01 1.30030489e-01 1.08358741e-01 2.60060978e-01 8.66869925e-02 6.50152444e-02 1.30030489e-01 2.60060978e-01 2.60060978e-01 1.08358741e-01 1.51702237e-01 1.30030489e-01 1.30030489e-01 2.16717481e-01 1.30030489e-01 2.16717481e-01 1.95045733e-01 1.30030489e-01 1.30030489e-01 1.08358741e-01 6.50152444e-02 1.30030489e-01 1.73373985e-01 1.08358741e-01 1.30030489e-01 1.73373985e-01 1.30030489e-01 6.50152444e-02 1.08358741e-01 8.66869925e-02 2.38389229e-01 1.51702237e-01 1.30030489e-01 2.60060978e-01 1.51702237e-01 1.95045733e-01 1.73373985e-01 8.66869925e-02 6.50152444e-02 1.51702237e-01 1.08358741e-01 2.38389229e-01 1.30030489e-01 1.95045733e-01 1.08358741e-01 1.73373985e-01 1.51702237e-01 8.66869925e-02 1.51702237e-01 1.08358741e-01 1.51702237e-01 1.73373985e-01 2.38389229e-01 1.51702237e-01 1.30030489e-01 1.51702237e-01 1.73373985e-01 1.30030489e-01 1.30030489e-01 1.08358741e-01 2.16717481e-01 1.73373985e-01 2.60060978e-01 1.95045733e-01 1.51702237e-01 8.66869925e-02 8.66869925e-02 2.16717481e-01 1.51702237e-01 1.73373985e-01 2.60060978e-01 1.95045733e-01 1.08358741e-01 8.66869925e-02 1.95045733e-01 2.16717481e-01 1.30030489e-01 6.50152444e-02 1.73373985e-01 2.16717481e-01 8.66869925e-02 4.33434963e-02 1.95045733e-01 8.66869925e-02 1.73373985e-01 1.30030489e-01 1.30030489e-01 1.95045733e-01 2.60060978e-01 1.73373985e-01 1.95045733e-01 1.51702237e-01 2.38389229e-01 1.73373985e-01 4.33434963e-02 1.08358741e-01 1.95045733e-01 4.33434963e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 1.08358741e-01 1.51702237e-01 1.73373985e-01 1.51702237e-01 1.08358741e-01 1.51702237e-01 1.95045733e-01 2.16717481e-01 1.30030489e-01 1.73373985e-01 2.81732726e-01 6.50152444e-02 1.30030489e-01 1.30030489e-01 3.03404474e-01 6.50152444e-02 1.30030489e-01 2.38389229e-01 1.51702237e-01 8.66869925e-02 1.30030489e-01 1.30030489e-01 6.50152444e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 8.66869925e-02 6.50152444e-02 8.66869925e-02 1.08358741e-01 4.33434963e-02 1.51702237e-01 1.95045733e-01 1.51702237e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 1.51702237e-01 1.73373985e-01 1.95045733e-01 4.33434963e-02 4.33434963e-02 1.08358741e-01 0.00000000e+00 1.95045733e-01 1.95045733e-01 1.51702237e-01 1.30030489e-01 1.51702237e-01 1.30030489e-01 8.66869925e-02 1.51702237e-01 1.08358741e-01 1.30030489e-01 6.50152444e-02 2.38389229e-01 1.08358741e-01 1.30030489e-01 6.50152444e-02 1.51702237e-01 1.95045733e-01 1.08358741e-01 1.08358741e-01 1.30030489e-01 1.95045733e-01 1.73373985e-01 1.30030489e-01 8.66869925e-02 1.51702237e-01 1.30030489e-01 1.73373985e-01 1.30030489e-01 1.30030489e-01 6.50152444e-02 2.16717481e-02 8.66869925e-02 1.51702237e-01 8.66869925e-02 1.51702237e-01 8.66869925e-02 2.38389229e-01 1.30030489e-01 8.66869925e-02 6.50152444e-02 1.51702237e-01 4.33434963e-02 2.16717481e-02 6.50152444e-02 2.81732726e-01 1.30030489e-01 8.66869925e-02 1.73373985e-01 6.50152444e-02 1.08358741e-01 1.30030489e-01 2.60060978e-01 6.50152444e-02 1.73373985e-01 1.73373985e-01 8.66869925e-02 1.08358741e-01 8.66869925e-02 1.73373985e-01 2.16717481e-02 6.50152444e-02 1.51702237e-01 8.66869925e-02 1.08358741e-01 6.50152444e-02 8.66869925e-02 1.08358741e-01 8.66869925e-02 1.73373985e-01 8.66869925e-02 8.66869925e-02 3.46747970e-01 8.66869925e-02 1.73373985e-01 6.50152444e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 1.51702237e-01 4.33434963e-02 8.66869925e-02 1.30030489e-01 2.16717481e-01 1.51702237e-01 1.08358741e-01 8.66869925e-02 8.66869925e-02 8.66869925e-02 1.95045733e-01 1.73373985e-01 1.30030489e-01 8.66869925e-02 8.66869925e-02 1.08358741e-01 1.08358741e-01 1.08358741e-01 6.50152444e-02 2.16717481e-02 1.73373985e-01 1.08358741e-01 1.95045733e-01 1.73373985e-01 8.66869925e-02 6.50152444e-02 1.73373985e-01 6.50152444e-02 1.51702237e-01 1.30030489e-01 4.33434963e-02 1.30030489e-01 1.30030489e-01 8.66869925e-02 4.33434963e-02 1.73373985e-01 1.95045733e-01 1.51702237e-01 1.08358741e-01 6.50152444e-02 8.66869925e-02 8.66869925e-02 8.66869925e-02 1.95045733e-01 6.50152444e-02 1.08358741e-01 2.38389229e-01 1.51702237e-01 1.08358741e-01 1.08358741e-01 1.51702237e-01 1.08358741e-01 8.66869925e-02 1.08358741e-01 1.95045733e-01 6.50152444e-02 1.95045733e-01 1.08358741e-01 1.73373985e-01 1.30030489e-01 1.30030489e-01 4.33434963e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 1.73373985e-01 6.50152444e-02 1.08358741e-01 6.50152444e-02 1.08358741e-01 1.08358741e-01 1.51702237e-01 1.30030489e-01 1.08358741e-01 1.08358741e-01 1.73373985e-01 2.16717481e-02 1.30030489e-01 6.50152444e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 1.30030489e-01 4.33434963e-02 1.30030489e-01 8.66869925e-02 1.08358741e-01 2.16717481e-02 2.16717481e-01 8.66869925e-02 1.08358741e-01 2.16717481e-02 8.66869925e-02 1.08358741e-01 1.30030489e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 1.73373985e-01 6.50152444e-02 6.50152444e-02 1.95045733e-01 6.50152444e-02 1.30030489e-01 1.30030489e-01 2.16717481e-02 8.66869925e-02 1.73373985e-01 1.30030489e-01 4.33434963e-02 4.33434963e-02 1.51702237e-01 1.73373985e-01 1.08358741e-01 1.30030489e-01 8.66869925e-02 6.50152444e-02 2.38389229e-01 1.08358741e-01 8.66869925e-02 1.08358741e-01 8.66869925e-02 1.73373985e-01 1.30030489e-01 1.30030489e-01 4.33434963e-02 4.33434963e-02 8.66869925e-02 1.30030489e-01 4.33434963e-02 1.51702237e-01 1.51702237e-01 1.08358741e-01 6.50152444e-02 1.51702237e-01 1.08358741e-01 1.30030489e-01 1.30030489e-01 6.50152444e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 1.30030489e-01 8.66869925e-02 1.08358741e-01 1.95045733e-01 1.51702237e-01 1.30030489e-01 8.66869925e-02 1.30030489e-01 6.50152444e-02 1.51702237e-01 1.08358741e-01 1.08358741e-01 8.66869925e-02 1.08358741e-01 6.50152444e-02 8.66869925e-02 1.95045733e-01 8.66869925e-02 1.73373985e-01 1.51702237e-01 4.33434963e-02 8.66869925e-02 1.30030489e-01 8.66869925e-02 8.66869925e-02 6.50152444e-02 1.51702237e-01 1.08358741e-01 8.66869925e-02 8.66869925e-02 4.33434963e-02 2.16717481e-02 1.51702237e-01 8.66869925e-02 0.00000000e+00 1.73373985e-01 8.66869925e-02 6.50152444e-02 0.00000000e+00 2.16717481e-01 1.95045733e-01 4.33434963e-02 8.66869925e-02 1.08358741e-01 2.16717481e-02 1.08358741e-01 8.66869925e-02 1.30030489e-01 8.66869925e-02 6.50152444e-02 1.30030489e-01 1.08358741e-01 1.73373985e-01 4.33434963e-02 6.50152444e-02 1.08358741e-01 1.30030489e-01 1.51702237e-01 4.33434963e-02 1.30030489e-01 8.66869925e-02 4.33434963e-02 1.30030489e-01 1.51702237e-01 4.33434963e-02 4.33434963e-02 1.30030489e-01 8.66869925e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 1.30030489e-01 1.08358741e-01 1.08358741e-01 6.50152444e-02 6.50152444e-02 1.08358741e-01 1.08358741e-01 8.66869925e-02 4.33434963e-02 6.50152444e-02 2.16717481e-01 1.08358741e-01 1.51702237e-01 1.30030489e-01 1.51702237e-01 6.50152444e-02 4.33434963e-02 1.51702237e-01 1.30030489e-01 2.16717481e-02 2.16717481e-02 6.50152444e-02 1.30030489e-01 1.51702237e-01 4.33434963e-02 8.66869925e-02 1.08358741e-01 1.30030489e-01 1.08358741e-01 6.50152444e-02 8.66869925e-02 1.30030489e-01 6.50152444e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 1.30030489e-01 1.08358741e-01 6.50152444e-02 1.51702237e-01 1.51702237e-01 2.16717481e-02 6.50152444e-02 1.08358741e-01 8.66869925e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 1.30030489e-01 1.30030489e-01 6.50152444e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 1.30030489e-01 6.50152444e-02 1.30030489e-01 8.66869925e-02 1.30030489e-01 8.66869925e-02 1.51702237e-01 4.33434963e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 4.33434963e-02 1.08358741e-01 1.30030489e-01 1.08358741e-01 4.33434963e-02 1.08358741e-01 6.50152444e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 8.66869925e-02 4.33434963e-02 6.50152444e-02 1.30030489e-01 1.08358741e-01 6.50152444e-02 8.66869925e-02 1.30030489e-01 6.50152444e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 4.33434963e-02 1.51702237e-01 4.33434963e-02 6.50152444e-02 1.08358741e-01 4.33434963e-02 1.08358741e-01 1.51702237e-01 1.73373985e-01 1.30030489e-01 8.66869925e-02 1.30030489e-01 2.16717481e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 1.30030489e-01 1.08358741e-01 1.08358741e-01 8.66869925e-02 1.08358741e-01 1.95045733e-01 4.33434963e-02 1.08358741e-01 1.30030489e-01 6.50152444e-02 1.30030489e-01 1.51702237e-01 1.73373985e-01 1.30030489e-01 1.08358741e-01 4.33434963e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 8.66869925e-02 1.95045733e-01 2.16717481e-02 8.66869925e-02 8.66869925e-02 1.51702237e-01 6.50152444e-02 6.50152444e-02 6.50152444e-02 1.73373985e-01 1.51702237e-01 8.66869925e-02 2.16717481e-02 2.16717481e-02 1.08358741e-01 2.16717481e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 1.30030489e-01 0.00000000e+00 2.16717481e-02 8.66869925e-02 6.50152444e-02 2.16717481e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 1.08358741e-01 1.08358741e-01 6.50152444e-02 1.30030489e-01 4.33434963e-02 2.16717481e-02 1.08358741e-01 8.66869925e-02 8.66869925e-02 1.08358741e-01 8.66869925e-02 2.16717481e-02 1.30030489e-01 8.66869925e-02 4.33434963e-02 2.16717481e-01 6.50152444e-02 1.30030489e-01 6.50152444e-02 6.50152444e-02 1.08358741e-01 4.33434963e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 6.50152444e-02 8.66869925e-02 8.66869925e-02 2.16717481e-02 1.30030489e-01 4.33434963e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 1.08358741e-01 4.33434963e-02 4.33434963e-02 1.30030489e-01 8.66869925e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 0.00000000e+00 8.66869925e-02 1.08358741e-01 6.50152444e-02 0.00000000e+00 8.66869925e-02 1.30030489e-01 4.33434963e-02 0.00000000e+00 6.50152444e-02 8.66869925e-02 8.66869925e-02 1.08358741e-01 2.16717481e-02 4.33434963e-02 1.30030489e-01 1.30030489e-01 6.50152444e-02 6.50152444e-02 8.66869925e-02 1.08358741e-01 8.66869925e-02 8.66869925e-02 1.30030489e-01 1.30030489e-01 2.16717481e-02 4.33434963e-02 1.51702237e-01 2.16717481e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 4.33434963e-02 1.30030489e-01 2.16717481e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 0.00000000e+00 0.00000000e+00 8.66869925e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 1.08358741e-01 1.30030489e-01 4.33434963e-02 2.16717481e-02 1.51702237e-01 6.50152444e-02 8.66869925e-02 1.08358741e-01 1.08358741e-01 6.50152444e-02 1.08358741e-01 2.16717481e-02 2.16717481e-02 1.30030489e-01 4.33434963e-02 6.50152444e-02 1.30030489e-01 8.66869925e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 1.30030489e-01 4.33434963e-02 1.30030489e-01 1.08358741e-01 6.50152444e-02 1.51702237e-01 2.16717481e-02 4.33434963e-02 1.08358741e-01 8.66869925e-02 6.50152444e-02 0.00000000e+00 1.08358741e-01 6.50152444e-02 4.33434963e-02 8.66869925e-02 1.08358741e-01 2.16717481e-02 8.66869925e-02 8.66869925e-02 1.51702237e-01 2.16717481e-02 1.30030489e-01 8.66869925e-02 1.08358741e-01 1.30030489e-01 6.50152444e-02 1.73373985e-01 1.30030489e-01 1.08358741e-01 6.50152444e-02 4.33434963e-02 1.08358741e-01 8.66869925e-02 6.50152444e-02 1.30030489e-01 8.66869925e-02 1.08358741e-01 6.50152444e-02 1.51702237e-01 8.66869925e-02 1.73373985e-01 2.16717481e-02 0.00000000e+00 1.08358741e-01 1.30030489e-01 6.50152444e-02 1.08358741e-01 6.50152444e-02 1.73373985e-01 4.33434963e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 2.16717481e-02 6.50152444e-02 2.16717481e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 1.08358741e-01 1.51702237e-01 1.30030489e-01 1.73373985e-01 4.33434963e-02 2.16717481e-02 8.66869925e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 6.50152444e-02 6.50152444e-02 4.33434963e-02 1.30030489e-01 2.16717481e-02 1.08358741e-01 4.33434963e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 1.30030489e-01 8.66869925e-02 1.30030489e-01 8.66869925e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 1.08358741e-01 2.16717481e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 1.51702237e-01 1.51702237e-01 2.16717481e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 1.51702237e-01 6.50152444e-02 4.33434963e-02 1.08358741e-01 1.30030489e-01 6.50152444e-02 1.08358741e-01 6.50152444e-02 2.16717481e-02 1.08358741e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 8.66869925e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 1.30030489e-01 4.33434963e-02 1.08358741e-01 6.50152444e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 0.00000000e+00 8.66869925e-02 1.08358741e-01 6.50152444e-02 1.30030489e-01 1.30030489e-01 1.51702237e-01 8.66869925e-02 1.30030489e-01 6.50152444e-02 1.30030489e-01 1.30030489e-01 6.50152444e-02 2.16717481e-02 1.08358741e-01 8.66869925e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 4.33434963e-02 2.16717481e-02 0.00000000e+00 4.33434963e-02 1.30030489e-01 8.66869925e-02 4.33434963e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 1.51702237e-01 6.50152444e-02 1.08358741e-01 2.16717481e-02 4.33434963e-02 4.33434963e-02 1.08358741e-01 8.66869925e-02 1.51702237e-01 1.08358741e-01 4.33434963e-02 6.50152444e-02 4.33434963e-02 1.08358741e-01 1.30030489e-01 4.33434963e-02 8.66869925e-02 6.50152444e-02 2.16717481e-02 1.30030489e-01 6.50152444e-02 2.16717481e-02 2.16717481e-02 8.66869925e-02 0.00000000e+00 2.16717481e-02 8.66869925e-02 1.30030489e-01 1.08358741e-01 8.66869925e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 1.08358741e-01 1.08358741e-01 1.30030489e-01 8.66869925e-02 4.33434963e-02 4.33434963e-02 1.08358741e-01 8.66869925e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 0.00000000e+00 2.16717481e-02 4.33434963e-02 1.30030489e-01 8.66869925e-02 8.66869925e-02 8.66869925e-02 0.00000000e+00 1.08358741e-01 1.30030489e-01 6.50152444e-02 6.50152444e-02 4.33434963e-02 1.08358741e-01 1.08358741e-01 8.66869925e-02 1.51702237e-01 6.50152444e-02 2.16717481e-02 1.08358741e-01 0.00000000e+00 1.30030489e-01 1.08358741e-01 2.16717481e-02 1.30030489e-01 2.16717481e-02 2.16717481e-02 1.30030489e-01 8.66869925e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 0.00000000e+00 6.50152444e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 1.08358741e-01 6.50152444e-02 8.66869925e-02 1.08358741e-01 2.16717481e-02 8.66869925e-02 6.50152444e-02 0.00000000e+00 8.66869925e-02 2.16717481e-02 2.16717481e-02 8.66869925e-02 2.16717481e-02 6.50152444e-02 2.16717481e-02 1.08358741e-01 1.08358741e-01 6.50152444e-02 1.08358741e-01 4.33434963e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 1.73373985e-01 8.66869925e-02 1.08358741e-01 2.16717481e-02 6.50152444e-02 2.16717481e-02 1.08358741e-01 8.66869925e-02 8.66869925e-02 2.16717481e-02 6.50152444e-02 0.00000000e+00 0.00000000e+00 4.33434963e-02 6.50152444e-02 4.33434963e-02 0.00000000e+00 1.30030489e-01 8.66869925e-02 2.16717481e-02 8.66869925e-02 0.00000000e+00 1.08358741e-01 8.66869925e-02 8.66869925e-02 4.33434963e-02 2.16717481e-02 1.08358741e-01 1.08358741e-01 2.16717481e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 8.66869925e-02 0.00000000e+00 8.66869925e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 1.30030489e-01 4.33434963e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 1.08358741e-01 1.08358741e-01 1.30030489e-01 1.51702237e-01 6.50152444e-02 1.30030489e-01 8.66869925e-02 1.08358741e-01 1.08358741e-01 4.33434963e-02 0.00000000e+00 0.00000000e+00 1.08358741e-01 8.66869925e-02 1.08358741e-01 1.51702237e-01 1.08358741e-01 4.33434963e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 1.08358741e-01 1.08358741e-01 8.66869925e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 2.16717481e-02 0.00000000e+00 8.66869925e-02 1.30030489e-01 6.50152444e-02 1.51702237e-01 8.66869925e-02 1.08358741e-01 6.50152444e-02 1.08358741e-01 6.50152444e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 2.16717481e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 2.16717481e-02 8.66869925e-02 1.08358741e-01 1.95045733e-01 1.51702237e-01 4.33434963e-02 1.30030489e-01 6.50152444e-02 1.73373985e-01 4.33434963e-02 2.16717481e-02 6.50152444e-02 0.00000000e+00 4.33434963e-02 1.08358741e-01 4.33434963e-02 8.66869925e-02 1.08358741e-01 1.73373985e-01 8.66869925e-02 1.30030489e-01 1.30030489e-01 8.66869925e-02 1.51702237e-01 6.50152444e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 4.33434963e-02 2.16717481e-02 1.51702237e-01 6.50152444e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 0.00000000e+00 0.00000000e+00 1.08358741e-01 6.50152444e-02 4.33434963e-02 1.30030489e-01 1.08358741e-01 2.16717481e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 1.95045733e-01 6.50152444e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 1.30030489e-01 4.33434963e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 2.16717481e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 1.30030489e-01 8.66869925e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 4.33434963e-02 6.50152444e-02 1.30030489e-01 6.50152444e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 1.51702237e-01 1.51702237e-01 6.50152444e-02 1.30030489e-01 1.73373985e-01 4.33434963e-02 2.16717481e-02 8.66869925e-02 8.66869925e-02 2.16717481e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 2.16717481e-02 1.08358741e-01 6.50152444e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 1.95045733e-01 4.33434963e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 0.00000000e+00 6.50152444e-02 1.08358741e-01 2.16717481e-02 4.33434963e-02 4.33434963e-02 1.08358741e-01 4.33434963e-02 6.50152444e-02 2.16717481e-02 1.08358741e-01 4.33434963e-02 8.66869925e-02 8.66869925e-02 1.08358741e-01 4.33434963e-02 8.66869925e-02 8.66869925e-02 1.73373985e-01 8.66869925e-02 6.50152444e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 1.30030489e-01 2.16717481e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 1.30030489e-01 8.66869925e-02 1.08358741e-01 2.16717481e-02 6.50152444e-02 4.33434963e-02 0.00000000e+00 2.16717481e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 2.16717481e-02 6.50152444e-02 1.30030489e-01 6.50152444e-02 1.08358741e-01 6.50152444e-02 1.08358741e-01 8.66869925e-02 2.16717481e-01 4.33434963e-02 4.33434963e-02 6.50152444e-02 0.00000000e+00 0.00000000e+00 4.33434963e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 1.73373985e-01 4.33434963e-02 1.08358741e-01 4.33434963e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 1.08358741e-01 2.16717481e-02 1.08358741e-01 6.50152444e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 1.51702237e-01 4.33434963e-02 4.33434963e-02 8.66869925e-02 8.66869925e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 1.08358741e-01 2.16717481e-02 4.33434963e-02 0.00000000e+00 1.30030489e-01 2.16717481e-02 1.08358741e-01 8.66869925e-02 2.16717481e-02 1.08358741e-01 6.50152444e-02 4.33434963e-02 1.08358741e-01 0.00000000e+00 6.50152444e-02 4.33434963e-02 4.33434963e-02 1.30030489e-01 4.33434963e-02 1.08358741e-01 6.50152444e-02 8.66869925e-02 2.16717481e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 1.08358741e-01 1.08358741e-01 6.50152444e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 2.16717481e-02 8.66869925e-02 2.16717481e-02 8.66869925e-02 4.33434963e-02 1.51702237e-01 4.33434963e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 1.08358741e-01 2.16717481e-02 4.33434963e-02 1.30030489e-01 0.00000000e+00 4.33434963e-02 2.16717481e-02 0.00000000e+00 6.50152444e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 1.51702237e-01 0.00000000e+00 2.16717481e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 1.95045733e-01 2.16717481e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 8.66869925e-02 1.08358741e-01 4.33434963e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 8.66869925e-02 2.16717481e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 2.16717481e-02 4.33434963e-02 1.30030489e-01 0.00000000e+00 4.33434963e-02 6.50152444e-02 2.16717481e-02 0.00000000e+00 4.33434963e-02 6.50152444e-02 1.95045733e-01 4.33434963e-02 4.33434963e-02 1.95045733e-01 6.50152444e-02 8.66869925e-02 1.73373985e-01 4.33434963e-02 2.16717481e-02 4.33434963e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 8.66869925e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 8.66869925e-02 0.00000000e+00 6.50152444e-02 8.66869925e-02 8.66869925e-02 8.66869925e-02 1.30030489e-01 1.30030489e-01 4.33434963e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 0.00000000e+00 6.50152444e-02 6.50152444e-02 4.33434963e-02 1.95045733e-01 1.30030489e-01 8.66869925e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 1.30030489e-01 2.16717481e-02 8.66869925e-02 8.66869925e-02 2.16717481e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 1.08358741e-01 4.33434963e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 1.30030489e-01 8.66869925e-02 4.33434963e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 8.66869925e-02 1.08358741e-01 4.33434963e-02 2.16717481e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 1.08358741e-01 6.50152444e-02 1.30030489e-01 6.50152444e-02 4.33434963e-02 1.08358741e-01 8.66869925e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 8.66869925e-02 1.08358741e-01 1.30030489e-01 2.16717481e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 1.08358741e-01 0.00000000e+00 0.00000000e+00 1.30030489e-01 8.66869925e-02 2.16717481e-02 6.50152444e-02 0.00000000e+00 1.08358741e-01 6.50152444e-02 4.33434963e-02 1.51702237e-01 2.16717481e-02 2.16717481e-02 6.50152444e-02 1.95045733e-01 1.08358741e-01 1.51702237e-01 8.66869925e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 1.51702237e-01 4.33434963e-02 6.50152444e-02 1.08358741e-01 1.51702237e-01 6.50152444e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 8.66869925e-02 2.16717481e-02 1.08358741e-01 2.16717481e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 2.16717481e-02 1.30030489e-01 6.50152444e-02 0.00000000e+00 4.33434963e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 2.16717481e-02 2.16717481e-02 0.00000000e+00 8.66869925e-02 8.66869925e-02 6.50152444e-02 1.30030489e-01 1.08358741e-01 8.66869925e-02 2.16717481e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 8.66869925e-02 1.30030489e-01 1.08358741e-01 2.16717481e-02 2.16717481e-02 4.33434963e-02 0.00000000e+00 6.50152444e-02 4.33434963e-02 4.33434963e-02 1.30030489e-01 4.33434963e-02 1.08358741e-01 1.51702237e-01 8.66869925e-02 6.50152444e-02 8.66869925e-02 2.16717481e-02 1.30030489e-01 1.51702237e-01 1.08358741e-01 1.08358741e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 8.66869925e-02 4.33434963e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 0.00000000e+00 4.33434963e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 2.16717481e-02 6.50152444e-02 1.08358741e-01 1.51702237e-01 1.30030489e-01 4.33434963e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 1.08358741e-01 8.66869925e-02 2.16717481e-02 2.16717481e-02 8.66869925e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 8.66869925e-02 2.16717481e-02 6.50152444e-02 2.16717481e-02 0.00000000e+00 8.66869925e-02 1.30030489e-01 4.33434963e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 1.08358741e-01 1.08358741e-01 8.66869925e-02 1.08358741e-01 4.33434963e-02 0.00000000e+00 8.66869925e-02 6.50152444e-02 1.08358741e-01 0.00000000e+00 6.50152444e-02 8.66869925e-02 1.08358741e-01 4.33434963e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 0.00000000e+00 4.33434963e-02 6.50152444e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 1.73373985e-01 8.66869925e-02 1.08358741e-01 6.50152444e-02 1.30030489e-01 2.16717481e-02 1.30030489e-01 8.66869925e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 4.33434963e-02 1.30030489e-01 2.16717481e-02 8.66869925e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 1.30030489e-01 4.33434963e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 1.08358741e-01 6.50152444e-02 4.33434963e-02 8.66869925e-02 2.16717481e-02 0.00000000e+00 4.33434963e-02 6.50152444e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 1.30030489e-01 4.33434963e-02 0.00000000e+00 4.33434963e-02 2.16717481e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 2.16717481e-02 8.66869925e-02 0.00000000e+00 1.51702237e-01 1.08358741e-01 6.50152444e-02 8.66869925e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 1.08358741e-01 4.33434963e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 1.08358741e-01 1.30030489e-01 6.50152444e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 1.08358741e-01 8.66869925e-02 0.00000000e+00 2.16717481e-02 4.33434963e-02 4.33434963e-02 0.00000000e+00 2.16717481e-02 4.33434963e-02 1.51702237e-01 4.33434963e-02 8.66869925e-02 6.50152444e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 0.00000000e+00 4.33434963e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 1.08358741e-01 1.30030489e-01 2.16717481e-02 6.50152444e-02 4.33434963e-02 1.51702237e-01 6.50152444e-02 4.33434963e-02 1.51702237e-01 8.66869925e-02 6.50152444e-02 6.50152444e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 1.51702237e-01 6.50152444e-02 6.50152444e-02 1.51702237e-01 1.08358741e-01 1.08358741e-01 1.51702237e-01 8.66869925e-02 2.16717481e-02 4.33434963e-02 6.50152444e-02 1.08358741e-01 8.66869925e-02 0.00000000e+00 6.50152444e-02 4.33434963e-02 8.66869925e-02 1.73373985e-01 6.50152444e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 6.50152444e-02 8.66869925e-02 1.30030489e-01 4.33434963e-02 6.50152444e-02 8.66869925e-02 0.00000000e+00 4.33434963e-02 8.66869925e-02 8.66869925e-02 8.66869925e-02 2.16717481e-02 6.50152444e-02 1.08358741e-01 1.08358741e-01 6.50152444e-02 1.73373985e-01 8.66869925e-02 2.16717481e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 8.66869925e-02 4.33434963e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 2.16717481e-02 1.30030489e-01 8.66869925e-02 0.00000000e+00 4.33434963e-02 8.66869925e-02 6.50152444e-02 0.00000000e+00 6.50152444e-02 1.30030489e-01 4.33434963e-02 8.66869925e-02 0.00000000e+00 4.33434963e-02 1.08358741e-01 2.16717481e-02 8.66869925e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 0.00000000e+00 4.33434963e-02 8.66869925e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 1.30030489e-01 2.16717481e-02 8.66869925e-02 8.66869925e-02 8.66869925e-02 2.16717481e-02 2.16717481e-02 8.66869925e-02 6.50152444e-02 0.00000000e+00 6.50152444e-02 8.66869925e-02 4.33434963e-02 0.00000000e+00 4.33434963e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 1.30030489e-01 0.00000000e+00 4.33434963e-02 6.50152444e-02 1.08358741e-01 1.30030489e-01 8.66869925e-02 0.00000000e+00 0.00000000e+00 4.33434963e-02 2.16717481e-02 8.66869925e-02 2.16717481e-02 1.30030489e-01 4.33434963e-02 8.66869925e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 0.00000000e+00 8.66869925e-02 8.66869925e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 1.30030489e-01 1.08358741e-01 1.08358741e-01 4.33434963e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 1.08358741e-01 6.50152444e-02 6.50152444e-02 1.30030489e-01 4.33434963e-02 4.33434963e-02 2.16717481e-02 1.08358741e-01 1.51702237e-01 1.08358741e-01 8.66869925e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 2.16717481e-02 2.16717481e-02 2.16717481e-02 1.51702237e-01 1.30030489e-01 2.16717481e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 1.30030489e-01 4.33434963e-02 8.66869925e-02 1.73373985e-01 4.33434963e-02 1.08358741e-01 2.16717481e-02 6.50152444e-02 1.08358741e-01 4.33434963e-02 8.66869925e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 0.00000000e+00 4.33434963e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 1.08358741e-01 6.50152444e-02 8.66869925e-02 2.16717481e-02 4.33434963e-02 1.08358741e-01 4.33434963e-02 1.08358741e-01 6.50152444e-02 2.16717481e-02 1.30030489e-01 2.16717481e-02 1.08358741e-01 8.66869925e-02 1.51702237e-01 2.16717481e-02 2.16717481e-02 4.33434963e-02 8.66869925e-02 8.66869925e-02 0.00000000e+00 6.50152444e-02 2.16717481e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 1.30030489e-01 4.33434963e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 1.30030489e-01 8.66869925e-02 1.08358741e-01 1.30030489e-01 1.08358741e-01 1.08358741e-01 8.66869925e-02 1.30030489e-01 1.08358741e-01 4.33434963e-02 8.66869925e-02 1.08358741e-01 2.16717481e-02 0.00000000e+00 4.33434963e-02 8.66869925e-02 0.00000000e+00 2.16717481e-02 1.51702237e-01 1.08358741e-01 6.50152444e-02 2.16717481e-02 1.08358741e-01 8.66869925e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 1.08358741e-01 4.33434963e-02 6.50152444e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 1.51702237e-01 1.51702237e-01 4.33434963e-02 4.33434963e-02 1.51702237e-01 1.08358741e-01 6.50152444e-02 1.08358741e-01 4.33434963e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 8.66869925e-02 1.08358741e-01 1.51702237e-01 2.16717481e-02 4.33434963e-02 4.33434963e-02 8.66869925e-02 4.33434963e-02 4.33434963e-02 1.08358741e-01 1.51702237e-01 1.08358741e-01 6.50152444e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 1.30030489e-01 8.66869925e-02 8.66869925e-02 4.33434963e-02 1.08358741e-01 1.08358741e-01 8.66869925e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 1.08358741e-01 2.16717481e-02 1.08358741e-01 6.50152444e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 1.08358741e-01 1.30030489e-01 6.50152444e-02 0.00000000e+00 1.08358741e-01 8.66869925e-02 6.50152444e-02 8.66869925e-02 1.30030489e-01 4.33434963e-02 0.00000000e+00 6.50152444e-02 8.66869925e-02 2.16717481e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 1.30030489e-01 6.50152444e-02 0.00000000e+00 4.33434963e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 2.16717481e-02 1.08358741e-01 1.08358741e-01 2.16717481e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 1.51702237e-01 6.50152444e-02 1.30030489e-01 6.50152444e-02 2.16717481e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 2.16717481e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 8.66869925e-02 1.51702237e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 0.00000000e+00 2.16717481e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 1.51702237e-01 8.66869925e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 1.08358741e-01 6.50152444e-02 6.50152444e-02 2.16717481e-01 8.66869925e-02 8.66869925e-02 2.38389229e-01 4.33434963e-02 4.33434963e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 1.30030489e-01 8.66869925e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 1.08358741e-01 6.50152444e-02 1.08358741e-01 4.33434963e-02 1.30030489e-01 2.16717481e-02 4.33434963e-02 1.08358741e-01 1.30030489e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 1.08358741e-01 2.16717481e-02 8.66869925e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 0.00000000e+00 4.33434963e-02 0.00000000e+00 1.08358741e-01 8.66869925e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 1.30030489e-01 2.16717481e-02 4.33434963e-02 2.16717481e-02 8.66869925e-02 4.33434963e-02 1.51702237e-01 1.30030489e-01 1.73373985e-01 1.73373985e-01 1.30030489e-01 1.08358741e-01 8.66869925e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 1.30030489e-01 8.66869925e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 1.73373985e-01 4.33434963e-02 6.50152444e-02 1.30030489e-01 4.33434963e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 1.73373985e-01 2.16717481e-02 6.50152444e-02 1.08358741e-01 4.33434963e-02 1.30030489e-01 8.66869925e-02 6.50152444e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 8.66869925e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 1.73373985e-01 6.50152444e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 1.73373985e-01 1.73373985e-01 1.08358741e-01 6.50152444e-02 1.08358741e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 4.33434963e-02 4.33434963e-02 1.30030489e-01 2.16717481e-02 2.16717481e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 1.51702237e-01 6.50152444e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 1.30030489e-01 8.66869925e-02 4.33434963e-02 1.30030489e-01 4.33434963e-02 1.08358741e-01 8.66869925e-02 2.16717481e-02 1.08358741e-01 2.16717481e-02 4.33434963e-02 4.33434963e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 2.16717481e-02 1.51702237e-01 1.95045733e-01 2.16717481e-02 4.33434963e-02 0.00000000e+00 6.50152444e-02 8.66869925e-02 1.51702237e-01 1.51702237e-01 4.33434963e-02 1.08358741e-01 4.33434963e-02 1.51702237e-01 1.08358741e-01 8.66869925e-02 4.33434963e-02 8.66869925e-02 1.73373985e-01 4.33434963e-02 1.08358741e-01 4.33434963e-02 2.16717481e-02 6.50152444e-02 1.08358741e-01 6.50152444e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 2.16717481e-02 1.73373985e-01 6.50152444e-02 1.51702237e-01 4.33434963e-02 1.08358741e-01 1.95045733e-01 1.08358741e-01 8.66869925e-02 1.73373985e-01 6.50152444e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 4.33434963e-02 1.30030489e-01 1.08358741e-01 0.00000000e+00 8.66869925e-02 2.16717481e-02 4.33434963e-02 8.66869925e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 1.08358741e-01 1.51702237e-01 1.51702237e-01 4.33434963e-02 6.50152444e-02 8.66869925e-02 1.08358741e-01 1.30030489e-01 8.66869925e-02 1.08358741e-01 4.33434963e-02 4.33434963e-02 6.50152444e-02 1.30030489e-01 1.08358741e-01 8.66869925e-02 4.33434963e-02 1.95045733e-01 4.33434963e-02 8.66869925e-02 1.51702237e-01 8.66869925e-02 1.51702237e-01 8.66869925e-02 8.66869925e-02 2.16717481e-02 8.66869925e-02 8.66869925e-02 1.30030489e-01 4.33434963e-02 1.08358741e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 6.50152444e-02 1.08358741e-01 1.73373985e-01 8.66869925e-02 2.16717481e-02 8.66869925e-02 1.51702237e-01 8.66869925e-02 1.08358741e-01 8.66869925e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 8.66869925e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 1.08358741e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 8.66869925e-02 0.00000000e+00 8.66869925e-02 0.00000000e+00 6.50152444e-02 1.30030489e-01 4.33434963e-02 6.50152444e-02 1.51702237e-01 1.08358741e-01 8.66869925e-02 1.95045733e-01 6.50152444e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 1.51702237e-01 6.50152444e-02 4.33434963e-02 4.33434963e-02 8.66869925e-02 1.30030489e-01 4.33434963e-02 0.00000000e+00 8.66869925e-02 4.33434963e-02 1.30030489e-01 2.16717481e-01 4.33434963e-02 1.08358741e-01 4.33434963e-02 8.66869925e-02 1.51702237e-01 8.66869925e-02 6.50152444e-02 0.00000000e+00 6.50152444e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 1.08358741e-01 4.33434963e-02 1.08358741e-01 1.30030489e-01 1.95045733e-01 1.08358741e-01 8.66869925e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 1.30030489e-01 6.50152444e-02 1.95045733e-01 6.50152444e-02 8.66869925e-02 1.73373985e-01 4.33434963e-02 8.66869925e-02 4.33434963e-02 0.00000000e+00 6.50152444e-02 6.50152444e-02 4.33434963e-02 1.51702237e-01 1.30030489e-01 1.08358741e-01 2.38389229e-01 1.08358741e-01 6.50152444e-02 8.66869925e-02 6.50152444e-02 1.95045733e-01 1.51702237e-01 1.95045733e-01 2.16717481e-02 6.50152444e-02 1.73373985e-01 1.08358741e-01 4.33434963e-02 2.16717481e-02 6.50152444e-02 1.30030489e-01 1.51702237e-01 6.50152444e-02 1.73373985e-01 6.50152444e-02 1.08358741e-01 6.50152444e-02 1.08358741e-01 8.66869925e-02 1.51702237e-01 4.33434963e-02 1.08358741e-01 8.66869925e-02 8.66869925e-02 1.51702237e-01 6.50152444e-02 1.51702237e-01 8.66869925e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 1.73373985e-01 8.66869925e-02 2.16717481e-02 1.51702237e-01 8.66869925e-02 8.66869925e-02 1.51702237e-01 2.16717481e-02 4.33434963e-02 1.30030489e-01 6.50152444e-02 4.33434963e-02 1.08358741e-01 1.08358741e-01 6.50152444e-02 1.73373985e-01 8.66869925e-02 4.33434963e-02 1.51702237e-01 6.50152444e-02 1.30030489e-01 8.66869925e-02 1.08358741e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 4.33434963e-02 4.33434963e-02 4.33434963e-02 1.51702237e-01 1.08358741e-01 1.30030489e-01 8.66869925e-02 2.16717481e-02 2.16717481e-01 1.08358741e-01 1.08358741e-01 1.73373985e-01 1.30030489e-01 4.33434963e-02 6.50152444e-02 1.51702237e-01 8.66869925e-02 4.33434963e-02 4.33434963e-02 8.66869925e-02 1.08358741e-01 1.08358741e-01 8.66869925e-02 2.16717481e-02 8.66869925e-02 1.08358741e-01 4.33434963e-02 1.30030489e-01 6.50152444e-02 8.66869925e-02 6.50152444e-02 1.95045733e-01 2.16717481e-02 8.66869925e-02 8.66869925e-02 1.73373985e-01 6.50152444e-02 1.51702237e-01 1.51702237e-01 1.08358741e-01 1.30030489e-01 1.30030489e-01 8.66869925e-02 6.50152444e-02 1.30030489e-01 8.66869925e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 1.30030489e-01 6.50152444e-02 1.08358741e-01 1.08358741e-01 1.51702237e-01 8.66869925e-02 6.50152444e-02 6.50152444e-02 1.30030489e-01 1.30030489e-01 1.30030489e-01 6.50152444e-02 1.95045733e-01 8.66869925e-02 1.73373985e-01 1.30030489e-01 6.50152444e-02 4.33434963e-02 2.16717481e-02 1.51702237e-01 1.73373985e-01 1.30030489e-01 6.50152444e-02 1.30030489e-01 1.73373985e-01 1.08358741e-01 6.50152444e-02 1.08358741e-01 1.08358741e-01 1.08358741e-01 6.50152444e-02 8.66869925e-02 8.66869925e-02 1.08358741e-01 1.51702237e-01 2.16717481e-02 6.50152444e-02 6.50152444e-02 1.51702237e-01 1.73373985e-01 8.66869925e-02 1.30030489e-01 2.16717481e-02 1.08358741e-01 4.33434963e-02 1.30030489e-01 2.16717481e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 1.30030489e-01 1.30030489e-01 4.33434963e-02 6.50152444e-02 1.51702237e-01 8.66869925e-02 6.50152444e-02 1.95045733e-01 8.66869925e-02 6.50152444e-02 6.50152444e-02 1.51702237e-01 1.51702237e-01 1.08358741e-01 1.08358741e-01 2.16717481e-02 1.51702237e-01 8.66869925e-02 1.51702237e-01 6.50152444e-02 1.08358741e-01 1.08358741e-01 8.66869925e-02 1.08358741e-01 1.08358741e-01 2.16717481e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 2.16717481e-02 6.50152444e-02 1.30030489e-01 4.33434963e-02 1.51702237e-01 8.66869925e-02 1.08358741e-01 1.08358741e-01 1.30030489e-01 8.66869925e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 2.16717481e-02 8.66869925e-02 1.73373985e-01 1.08358741e-01 6.50152444e-02 1.51702237e-01 1.08358741e-01 2.16717481e-02 1.08358741e-01 1.51702237e-01 6.50152444e-02 1.08358741e-01 2.16717481e-02 4.33434963e-02 2.16717481e-02 6.50152444e-02 0.00000000e+00 1.51702237e-01 1.08358741e-01 1.08358741e-01 4.33434963e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 1.51702237e-01 4.33434963e-02 4.33434963e-02 8.66869925e-02 1.08358741e-01 4.33434963e-02 8.66869925e-02 1.30030489e-01 6.50152444e-02 4.33434963e-02 6.50152444e-02 1.08358741e-01 6.50152444e-02 1.08358741e-01 1.30030489e-01 8.66869925e-02 1.95045733e-01 1.30030489e-01 1.08358741e-01 4.33434963e-02 2.16717481e-02 8.66869925e-02 1.30030489e-01 8.66869925e-02 0.00000000e+00 1.08358741e-01 6.50152444e-02 1.30030489e-01 1.30030489e-01 8.66869925e-02 1.51702237e-01 1.08358741e-01 8.66869925e-02 1.51702237e-01 1.30030489e-01 6.50152444e-02 6.50152444e-02 2.16717481e-01 4.33434963e-02 8.66869925e-02 1.51702237e-01 1.51702237e-01 1.30030489e-01 1.95045733e-01 8.66869925e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 1.51702237e-01 6.50152444e-02 1.30030489e-01 4.33434963e-02 1.30030489e-01 1.51702237e-01 8.66869925e-02 8.66869925e-02 8.66869925e-02 1.08358741e-01 1.30030489e-01 1.30030489e-01 1.08358741e-01 8.66869925e-02 8.66869925e-02 8.66869925e-02 2.16717481e-02 1.30030489e-01 1.08358741e-01 6.50152444e-02 8.66869925e-02 8.66869925e-02 1.08358741e-01 1.30030489e-01 1.08358741e-01 1.51702237e-01 1.51702237e-01 1.08358741e-01 1.08358741e-01 6.50152444e-02 6.50152444e-02 1.30030489e-01 8.66869925e-02 1.51702237e-01 1.51702237e-01 1.08358741e-01 8.66869925e-02 8.66869925e-02 6.50152444e-02 2.38389229e-01 1.08358741e-01 8.66869925e-02 1.30030489e-01 1.51702237e-01 1.30030489e-01 1.30030489e-01 8.66869925e-02 8.66869925e-02 6.50152444e-02 1.73373985e-01 4.33434963e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 1.51702237e-01 6.50152444e-02 1.51702237e-01 6.50152444e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 2.16717481e-01 1.08358741e-01 0.00000000e+00 8.66869925e-02 1.51702237e-01 1.30030489e-01 1.73373985e-01 4.33434963e-02 8.66869925e-02 8.66869925e-02 8.66869925e-02 1.30030489e-01 2.16717481e-02 1.08358741e-01 1.73373985e-01 2.81732726e-01 1.08358741e-01 1.30030489e-01 6.50152444e-02 4.33434963e-02 1.95045733e-01 1.30030489e-01 8.66869925e-02 1.08358741e-01 4.33434963e-02 1.30030489e-01 1.30030489e-01 6.50152444e-02 1.95045733e-01 8.66869925e-02 1.95045733e-01 1.30030489e-01 6.50152444e-02 1.73373985e-01 1.73373985e-01 1.51702237e-01 6.50152444e-02 1.51702237e-01 1.30030489e-01 1.30030489e-01 8.66869925e-02 8.66869925e-02 6.50152444e-02 0.00000000e+00 1.51702237e-01 1.08358741e-01 6.50152444e-02 8.66869925e-02 1.51702237e-01 1.51702237e-01 2.38389229e-01 1.08358741e-01 1.95045733e-01 1.30030489e-01 1.51702237e-01 1.30030489e-01 4.33434963e-02 1.08358741e-01 1.51702237e-01 1.30030489e-01 6.50152444e-02 4.33434963e-02 6.50152444e-02 2.16717481e-01 8.66869925e-02 6.50152444e-02 2.16717481e-01 8.66869925e-02 1.30030489e-01 1.73373985e-01 1.08358741e-01 2.16717481e-02 1.08358741e-01 6.50152444e-02 1.30030489e-01 8.66869925e-02 1.51702237e-01 1.51702237e-01 4.33434963e-02 1.30030489e-01 6.50152444e-02 2.16717481e-02 1.08358741e-01 1.73373985e-01 1.08358741e-01 1.51702237e-01 1.51702237e-01 1.73373985e-01 4.33434963e-02 1.08358741e-01 6.50152444e-02 1.08358741e-01 8.66869925e-02 8.66869925e-02 1.30030489e-01 1.73373985e-01 6.50152444e-02 1.30030489e-01 8.66869925e-02 6.50152444e-02 1.08358741e-01 8.66869925e-02 8.66869925e-02 1.30030489e-01 1.08358741e-01 8.66869925e-02 1.73373985e-01 8.66869925e-02 1.08358741e-01 1.30030489e-01 8.66869925e-02 1.30030489e-01 8.66869925e-02 2.16717481e-01 1.51702237e-01 1.51702237e-01 1.73373985e-01 1.30030489e-01 1.51702237e-01 8.66869925e-02 1.73373985e-01 1.08358741e-01 6.50152444e-02 1.30030489e-01 1.95045733e-01 6.50152444e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 1.51702237e-01 6.50152444e-02 6.50152444e-02 1.73373985e-01 1.30030489e-01 8.66869925e-02 1.08358741e-01 1.73373985e-01 1.51702237e-01 1.08358741e-01 4.33434963e-02 1.73373985e-01 1.51702237e-01 4.33434963e-02 4.33434963e-02 1.30030489e-01 6.50152444e-02 1.51702237e-01 6.50152444e-02 1.51702237e-01 1.08358741e-01 1.30030489e-01 1.95045733e-01 1.51702237e-01 1.30030489e-01 1.30030489e-01 6.50152444e-02 1.51702237e-01 1.95045733e-01 1.08358741e-01 4.33434963e-02 1.51702237e-01 1.73373985e-01 4.33434963e-02 1.08358741e-01 1.08358741e-01 1.30030489e-01 8.66869925e-02 1.30030489e-01 1.51702237e-01 1.95045733e-01 1.08358741e-01 1.08358741e-01 1.08358741e-01 1.08358741e-01 2.16717481e-02 2.16717481e-02 1.30030489e-01 1.51702237e-01 8.66869925e-02 1.73373985e-01 6.50152444e-02 8.66869925e-02 1.30030489e-01 2.38389229e-01 8.66869925e-02 4.33434963e-02 6.50152444e-02 1.51702237e-01 8.66869925e-02 6.50152444e-02 1.51702237e-01 1.30030489e-01 1.73373985e-01 8.66869925e-02 1.08358741e-01 1.08358741e-01 6.50152444e-02 1.08358741e-01 1.51702237e-01 1.73373985e-01 1.08358741e-01 6.50152444e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 1.73373985e-01 1.73373985e-01 6.50152444e-02 2.16717481e-02 8.66869925e-02 6.50152444e-02 1.51702237e-01 1.08358741e-01 8.66869925e-02 6.50152444e-02 1.51702237e-01 1.73373985e-01 8.66869925e-02 1.51702237e-01 1.95045733e-01 6.50152444e-02 1.08358741e-01 1.08358741e-01 1.30030489e-01 1.08358741e-01 1.08358741e-01 1.51702237e-01 1.95045733e-01 1.08358741e-01 1.51702237e-01 1.73373985e-01 2.16717481e-01 1.73373985e-01 6.50152444e-02 6.50152444e-02 1.51702237e-01 6.50152444e-02 8.66869925e-02 1.95045733e-01 1.08358741e-01 1.73373985e-01 1.73373985e-01 1.51702237e-01 1.73373985e-01 1.08358741e-01 8.66869925e-02 2.60060978e-01 1.73373985e-01 1.95045733e-01 1.08358741e-01 1.95045733e-01 6.50152444e-02 1.51702237e-01 2.16717481e-01 1.30030489e-01 6.50152444e-02 1.08358741e-01 1.30030489e-01 1.73373985e-01 1.30030489e-01 1.08358741e-01 1.73373985e-01 1.08358741e-01 6.50152444e-02 1.73373985e-01 1.08358741e-01 1.08358741e-01 1.73373985e-01 6.50152444e-02 1.30030489e-01 4.33434963e-02 1.30030489e-01 1.95045733e-01 2.16717481e-01 1.30030489e-01 2.38389229e-01 1.51702237e-01 1.95045733e-01 8.66869925e-02 1.30030489e-01 1.73373985e-01 1.73373985e-01 1.95045733e-01 1.51702237e-01 8.66869925e-02 1.30030489e-01 1.73373985e-01 1.95045733e-01 6.50152444e-02 1.08358741e-01 1.30030489e-01 1.08358741e-01 1.30030489e-01 1.08358741e-01 1.95045733e-01 1.51702237e-01 1.08358741e-01 6.50152444e-02 8.66869925e-02 6.50152444e-02 1.51702237e-01 1.30030489e-01 1.73373985e-01 8.66869925e-02 1.95045733e-01 1.08358741e-01 1.95045733e-01 1.30030489e-01 2.16717481e-01 1.30030489e-01 8.66869925e-02 1.08358741e-01 1.08358741e-01 1.73373985e-01 1.30030489e-01 4.33434963e-02 2.16717481e-01 4.33434963e-02 1.51702237e-01 1.30030489e-01 1.51702237e-01 1.08358741e-01 2.81732726e-01 2.16717481e-01 1.73373985e-01 1.73373985e-01 2.16717481e-01 1.51702237e-01 1.73373985e-01 1.95045733e-01 1.51702237e-01 1.73373985e-01 1.73373985e-01 2.60060978e-01 1.30030489e-01 1.73373985e-01 1.95045733e-01 2.16717481e-01 1.95045733e-01 1.08358741e-01 1.08358741e-01 1.73373985e-01 8.66869925e-02 6.50152444e-02 2.16717481e-01 2.38389229e-01 1.51702237e-01 4.33434963e-02 4.33434963e-02 1.73373985e-01 1.51702237e-01 1.51702237e-01 1.73373985e-01 2.16717481e-01 8.66869925e-02 1.08358741e-01 1.73373985e-01 1.08358741e-01 2.16717481e-01 1.30030489e-01 1.51702237e-01 1.95045733e-01 1.73373985e-01 1.95045733e-01 6.50152444e-02 1.95045733e-01 2.16717481e-01 2.38389229e-01 8.66869925e-02 1.30030489e-01 1.51702237e-01 1.30030489e-01 1.95045733e-01 2.38389229e-01 6.50152444e-02 2.60060978e-01 2.38389229e-01 1.51702237e-01 1.08358741e-01 2.60060978e-01 1.08358741e-01 1.30030489e-01 8.66869925e-02 1.30030489e-01 1.95045733e-01 1.73373985e-01 1.51702237e-01 1.95045733e-01 1.30030489e-01 3.03404474e-01 2.16717481e-02 4.33434963e-02 1.30030489e-01 1.08358741e-01 2.38389229e-01 1.51702237e-01 1.30030489e-01 1.30030489e-01 2.81732726e-01 8.66869925e-02 1.51702237e-01 1.30030489e-01 1.30030489e-01 1.51702237e-01 1.51702237e-01 1.08358741e-01 4.33434963e-02 2.38389229e-01 2.81732726e-01 1.95045733e-01 1.08358741e-01 1.51702237e-01 1.08358741e-01 8.66869925e-02 1.95045733e-01 4.33434963e-02 6.50152444e-02 1.95045733e-01 1.95045733e-01 1.95045733e-01 1.51702237e-01 1.51702237e-01 1.30030489e-01 1.73373985e-01 1.30030489e-01 1.73373985e-01 1.95045733e-01 1.30030489e-01 1.51702237e-01 1.08358741e-01 1.51702237e-01 2.16717481e-01 3.03404474e-01 2.16717481e-01 1.30030489e-01 1.08358741e-01 1.30030489e-01 1.95045733e-01 1.95045733e-01 1.51702237e-01 1.73373985e-01 1.51702237e-01 2.38389229e-01 1.08358741e-01 8.66869925e-02 2.60060978e-01 1.30030489e-01 8.66869925e-02 1.51702237e-01 1.51702237e-01 1.30030489e-01 1.51702237e-01 8.66869925e-02 1.08358741e-01 1.30030489e-01 1.08358741e-01 2.38389229e-01 8.66869925e-02 1.73373985e-01 2.16717481e-01 1.08358741e-01 8.66869925e-02 1.30030489e-01 1.51702237e-01 1.51702237e-01 8.66869925e-02 1.95045733e-01 2.16717481e-01 2.16717481e-01 2.16717481e-01 1.08358741e-01 2.81732726e-01 1.08358741e-01 1.73373985e-01 1.51702237e-01 1.30030489e-01 1.95045733e-01 1.08358741e-01 1.73373985e-01 6.50152444e-02 1.51702237e-01 1.95045733e-01 2.38389229e-01 1.30030489e-01 1.73373985e-01 1.73373985e-01 1.51702237e-01 2.16717481e-01 1.51702237e-01 2.16717481e-01 1.08358741e-01 1.95045733e-01 2.81732726e-01 6.50152444e-02 1.73373985e-01 1.08358741e-01 2.16717481e-01 2.16717481e-01 1.30030489e-01 2.16717481e-01 2.60060978e-01 2.16717481e-01 1.51702237e-01 2.38389229e-01 1.73373985e-01 6.50152444e-02 2.38389229e-01 1.95045733e-01 1.51702237e-01 2.60060978e-01 2.16717481e-02 1.95045733e-01 1.73373985e-01 1.51702237e-01 1.73373985e-01 1.73373985e-01 8.66869925e-02 1.95045733e-01 1.73373985e-01 2.60060978e-01 1.51702237e-01 1.30030489e-01 1.73373985e-01 1.08358741e-01 6.50152444e-02 2.16717481e-01 1.73373985e-01 1.51702237e-01 4.33434963e-02 2.81732726e-01 1.73373985e-01 6.50152444e-02 1.08358741e-01 2.60060978e-01 1.30030489e-01 1.51702237e-01 1.30030489e-01 1.95045733e-01 4.33434963e-02 1.08358741e-01 1.73373985e-01 2.16717481e-01 8.66869925e-02 1.30030489e-01 1.95045733e-01 6.50152444e-02 1.51702237e-01 1.73373985e-01 1.73373985e-01 2.38389229e-01 8.66869925e-02 1.51702237e-01 1.30030489e-01 1.08358741e-01 1.51702237e-01 1.73373985e-01 2.16717481e-01 1.51702237e-01 1.51702237e-01 1.73373985e-01 2.60060978e-01 1.08358741e-01 1.08358741e-01 8.66869925e-02 1.30030489e-01 2.38389229e-01 6.50152444e-02 1.51702237e-01 1.73373985e-01 1.73373985e-01 2.38389229e-01 2.38389229e-01 1.95045733e-01 3.03404474e-01 1.51702237e-01 1.95045733e-01 2.81732726e-01 1.73373985e-01 1.73373985e-01 2.16717481e-01 1.08358741e-01 2.38389229e-01 1.95045733e-01 1.08358741e-01 1.73373985e-01 1.95045733e-01 2.81732726e-01 1.95045733e-01 2.38389229e-01 1.95045733e-01 2.16717481e-01 1.30030489e-01 2.60060978e-01 1.95045733e-01 1.51702237e-01 1.95045733e-01 2.38389229e-01 2.81732726e-01 1.51702237e-01 1.08358741e-01 1.95045733e-01 1.51702237e-01 1.73373985e-01 2.60060978e-01 1.95045733e-01 3.25076222e-01 1.30030489e-01 2.16717481e-01 3.03404474e-01 1.51702237e-01 1.73373985e-01 1.51702237e-01 2.60060978e-01 2.60060978e-01 2.16717481e-01 1.30030489e-01 1.95045733e-01 1.73373985e-01 2.38389229e-01 1.95045733e-01 2.60060978e-01 1.95045733e-01 2.60060978e-01 1.51702237e-01 2.16717481e-01 1.73373985e-01 1.73373985e-01 2.81732726e-01 2.38389229e-01 1.95045733e-01 3.25076222e-01 2.16717481e-01 1.08358741e-01 2.16717481e-01 1.95045733e-01 3.90091466e-01 1.73373985e-01 1.73373985e-01 1.51702237e-01 1.73373985e-01 3.46747970e-01 1.51702237e-01 1.95045733e-01 1.51702237e-01 1.08358741e-01 2.81732726e-01 2.38389229e-01 6.50152444e-02 1.73373985e-01 2.60060978e-01 2.60060978e-01 8.66869925e-02 1.73373985e-01 1.30030489e-01 1.73373985e-01 1.73373985e-01 1.30030489e-01 1.73373985e-01 2.60060978e-01 2.16717481e-01 3.03404474e-01 1.95045733e-01 1.73373985e-01 2.38389229e-01 2.38389229e-01 1.30030489e-01 1.95045733e-01 2.16717481e-01 1.73373985e-01 2.81732726e-01 4.11763215e-01 2.60060978e-01 8.66869925e-02 2.16717481e-01 3.03404474e-01 1.95045733e-01 1.95045733e-01 1.95045733e-01 1.51702237e-01 2.16717481e-01 3.25076222e-01 2.60060978e-01 1.51702237e-01 1.08358741e-01 1.73373985e-01 2.16717481e-01 1.51702237e-01 2.60060978e-01 1.30030489e-01 3.03404474e-01 1.73373985e-01 2.38389229e-01 2.38389229e-01 2.16717481e-01 1.73373985e-01 1.73373985e-01 2.60060978e-01 3.46747970e-01 2.16717481e-01 2.38389229e-01 1.95045733e-01 8.66869925e-02 1.95045733e-01 3.25076222e-01 2.16717481e-01 1.51702237e-01 2.81732726e-01 1.95045733e-01 2.60060978e-01 2.81732726e-01 2.16717481e-01 4.33434963e-01 1.95045733e-01 1.51702237e-01 2.16717481e-01 3.68419718e-01 3.03404474e-01 3.03404474e-01 2.16717481e-01 1.51702237e-01 3.46747970e-01 2.38389229e-01 2.38389229e-01 6.50152444e-02 1.30030489e-01 1.95045733e-01 1.08358741e-01 3.90091466e-01 2.16717481e-01 2.81732726e-01 2.38389229e-01 2.60060978e-01 1.73373985e-01 1.30030489e-01 1.95045733e-01 3.03404474e-01 1.73373985e-01 2.81732726e-01 1.30030489e-01 2.60060978e-01 3.25076222e-01 2.60060978e-01 2.38389229e-01 3.46747970e-01 1.51702237e-01 3.25076222e-01 1.95045733e-01 3.03404474e-01 2.38389229e-01 1.95045733e-01 2.81732726e-01 4.33434963e-01 2.16717481e-01 1.73373985e-01 1.51702237e-01 2.38389229e-01 2.60060978e-01 3.03404474e-01 3.25076222e-01 2.60060978e-01 2.16717481e-01 1.95045733e-01 2.81732726e-01 2.60060978e-01 3.03404474e-01 3.03404474e-01 3.46747970e-01 3.25076222e-01 2.38389229e-01 2.38389229e-01 2.60060978e-01 3.25076222e-01 5.20121955e-01 3.46747970e-01 2.81732726e-01 2.38389229e-01 3.46747970e-01 2.81732726e-01 1.95045733e-01 2.16717481e-01 3.68419718e-01 4.11763215e-01 3.03404474e-01 2.38389229e-01 3.68419718e-01 2.38389229e-01 2.81732726e-01 3.46747970e-01 2.81732726e-01 3.03404474e-01 2.16717481e-01 2.38389229e-01 2.38389229e-01 2.38389229e-01 1.73373985e-01 2.16717481e-01 1.95045733e-01 3.46747970e-01 1.95045733e-01 3.03404474e-01 3.90091466e-01 2.38389229e-01 2.81732726e-01 3.25076222e-01 3.68419718e-01 4.76778459e-01 3.68419718e-01 2.60060978e-01 1.73373985e-01 2.16717481e-01 3.46747970e-01 2.16717481e-01 2.38389229e-01 3.25076222e-01 3.46747970e-01 2.38389229e-01 2.81732726e-01 2.16717481e-01 2.16717481e-01 4.76778459e-01 1.73373985e-01 3.90091466e-01 1.95045733e-01 3.46747970e-01 2.81732726e-01 2.81732726e-01 3.25076222e-01 3.46747970e-01 3.90091466e-01 3.03404474e-01 3.68419718e-01 3.25076222e-01 1.73373985e-01 4.55106711e-01 3.03404474e-01 3.90091466e-01 2.81732726e-01 5.20121955e-01 2.38389229e-01 2.38389229e-01 3.25076222e-01 1.08358741e-01 2.60060978e-01 2.81732726e-01 2.81732726e-01 1.73373985e-01 1.51702237e-01 2.81732726e-01 3.25076222e-01 3.25076222e-01 3.90091466e-01 3.90091466e-01 2.81732726e-01 3.46747970e-01 3.90091466e-01 2.60060978e-01 4.33434963e-01 1.30030489e-01 3.90091466e-01 4.11763215e-01 3.25076222e-01 4.76778459e-01 2.81732726e-01 4.55106711e-01 5.85137200e-01 4.98450207e-01 2.81732726e-01 3.68419718e-01 3.68419718e-01 3.03404474e-01 3.90091466e-01 3.25076222e-01 2.60060978e-01 3.68419718e-01 2.81732726e-01 2.60060978e-01 3.90091466e-01 4.76778459e-01 3.46747970e-01 2.81732726e-01 3.03404474e-01 3.25076222e-01 4.33434963e-01 4.33434963e-01 3.25076222e-01 4.11763215e-01 4.33434963e-01 4.98450207e-01 3.90091466e-01 3.90091466e-01 4.11763215e-01 3.90091466e-01 3.03404474e-01 3.68419718e-01 3.90091466e-01 3.68419718e-01 5.85137200e-01 2.81732726e-01 4.11763215e-01 3.25076222e-01 5.20121955e-01 2.60060978e-01 4.76778459e-01 4.98450207e-01 3.90091466e-01 4.76778459e-01 4.33434963e-01 3.03404474e-01 4.33434963e-01 4.55106711e-01 3.25076222e-01 6.28480696e-01 4.98450207e-01 2.38389229e-01 4.33434963e-01 3.68419718e-01 4.11763215e-01 5.41793703e-01 3.46747970e-01 4.33434963e-01 4.98450207e-01 3.90091466e-01 5.41793703e-01 4.76778459e-01 3.90091466e-01 4.33434963e-01 1.95045733e-01 6.71824192e-01 4.55106711e-01 6.06808948e-01 4.11763215e-01 4.76778459e-01 4.55106711e-01 4.33434963e-01 3.46747970e-01 3.90091466e-01 6.28480696e-01 5.41793703e-01 3.90091466e-01 4.11763215e-01 3.25076222e-01 4.55106711e-01 4.55106711e-01 5.41793703e-01 4.33434963e-01 4.55106711e-01 4.98450207e-01 4.33434963e-01 4.76778459e-01 4.11763215e-01 6.71824192e-01 3.90091466e-01 3.90091466e-01 7.15167688e-01 4.33434963e-01 5.41793703e-01 4.33434963e-01 7.80182933e-01 4.55106711e-01 7.58511185e-01 4.55106711e-01 7.58511185e-01 5.63465452e-01 4.55106711e-01 6.71824192e-01 5.20121955e-01 4.33434963e-01 4.98450207e-01 3.68419718e-01 4.11763215e-01 5.20121955e-01 5.20121955e-01 5.85137200e-01 4.33434963e-01 6.50152444e-01 4.11763215e-01 4.98450207e-01 6.06808948e-01 5.63465452e-01 4.98450207e-01 5.20121955e-01 4.76778459e-01 4.98450207e-01 4.76778459e-01 6.06808948e-01 3.25076222e-01 4.76778459e-01 3.90091466e-01 5.20121955e-01 4.98450207e-01 5.85137200e-01 5.63465452e-01 3.46747970e-01 6.28480696e-01 7.15167688e-01 4.98450207e-01 5.20121955e-01 6.50152444e-01 6.93495940e-01 4.76778459e-01 5.63465452e-01 6.93495940e-01 8.23526429e-01 4.33434963e-01 6.28480696e-01 5.20121955e-01 3.25076222e-01 6.50152444e-01 9.10213422e-01 5.41793703e-01 5.63465452e-01 5.85137200e-01 4.98450207e-01 8.01854681e-01 6.71824192e-01 4.55106711e-01 5.85137200e-01 5.41793703e-01 7.58511185e-01 7.58511185e-01 7.58511185e-01 5.63465452e-01 6.93495940e-01 5.20121955e-01 4.33434963e-01 8.01854681e-01 5.20121955e-01 7.58511185e-01 8.45198177e-01 6.06808948e-01 5.41793703e-01 7.36839437e-01 7.36839437e-01 8.01854681e-01 5.20121955e-01 7.15167688e-01 5.63465452e-01 7.36839437e-01 8.66869925e-01 9.31885170e-01 7.58511185e-01 5.85137200e-01 6.71824192e-01 6.71824192e-01 6.50152444e-01 7.15167688e-01 5.41793703e-01 8.23526429e-01 8.23526429e-01 7.80182933e-01 1.01857216e+00 7.80182933e-01 7.15167688e-01 7.36839437e-01 7.80182933e-01 8.01854681e-01 8.66869925e-01 9.31885170e-01 1.10525915e+00 8.88541674e-01 7.80182933e-01 6.71824192e-01 8.23526429e-01 9.53556918e-01 8.88541674e-01 9.75228666e-01 7.80182933e-01 1.01857216e+00 9.96900414e-01 8.88541674e-01 7.36839437e-01 8.45198177e-01 8.01854681e-01 9.10213422e-01 1.04024391e+00 1.08358741e+00 7.58511185e-01 1.01857216e+00 1.04024391e+00 9.75228666e-01 1.04024391e+00 9.10213422e-01 6.71824192e-01 9.53556918e-01 7.80182933e-01 1.12693090e+00 9.75228666e-01 1.06191566e+00 9.10213422e-01 1.06191566e+00 1.19194615e+00 9.53556918e-01 9.53556918e-01 1.08358741e+00 1.17027440e+00 1.01857216e+00 1.21361790e+00 1.34364838e+00 9.75228666e-01 1.27863314e+00 1.17027440e+00 1.25696139e+00 1.21361790e+00 1.34364838e+00 1.40866363e+00 1.40866363e+00 1.17027440e+00 1.30030489e+00 1.43033538e+00 1.12693090e+00 1.38699188e+00 1.38699188e+00 1.19194615e+00 1.51702237e+00 1.64705286e+00 1.60370936e+00 1.51702237e+00 1.36532013e+00 1.66872461e+00 1.56036587e+00 1.77708335e+00 1.88544209e+00 1.77708335e+00 1.45200713e+00 1.45200713e+00 1.60370936e+00 1.73373985e+00 2.05881607e+00 1.86377034e+00 2.18884656e+00 1.45200713e+00 1.90711384e+00 1.71206810e+00 1.86377034e+00 1.82042684e+00 1.69039635e+00 2.12383132e+00 2.38389229e+00 2.10215957e+00 2.10215957e+00 2.10215957e+00 1.95045733e+00 2.49225104e+00 1.97212908e+00 2.66562502e+00 2.55726628e+00 1.88544209e+00 2.66562502e+00 2.62228152e+00 2.21051831e+00 3.09905998e+00 2.03714432e+00 2.64395327e+00 2.92568600e+00 2.68729677e+00 2.92568600e+00 2.79565551e+00 3.18574698e+00 3.18574698e+00 2.96902949e+00 2.86067075e+00 3.14240348e+00 3.72754068e+00 3.44580795e+00 3.12073173e+00 3.46747970e+00 3.59751019e+00 3.42413621e+00 3.53249495e+00 3.79255592e+00 3.72754068e+00 3.61918194e+00 3.98760166e+00 3.38079271e+00 4.29100613e+00 3.46747970e+00 4.20431914e+00 3.98760166e+00 4.44270837e+00 4.39936487e+00 5.17954780e+00 4.03094515e+00 4.70276935e+00 5.69966976e+00 5.20121955e+00 5.37459354e+00 4.98450207e+00 4.89781508e+00 5.28790654e+00 5.91638724e+00 6.21979171e+00 5.61298277e+00 6.06808948e+00 6.32815046e+00 6.52319619e+00 5.78635675e+00 6.54486794e+00 6.60988318e+00 7.10833339e+00 6.58821143e+00 6.86994416e+00 7.17334863e+00 7.17334863e+00 7.82350108e+00 8.06189031e+00 8.66869925e+00 7.99687506e+00 7.65012709e+00 9.01544722e+00 8.17024905e+00 8.95043198e+00 9.36219519e+00 9.16714946e+00 8.99377548e+00 9.16714946e+00 9.92566065e+00 1.02290651e+01 9.42721044e+00 1.09442328e+01 1.08575458e+01 1.10092481e+01 1.06191566e+01 1.12909808e+01 1.14210113e+01 1.23095529e+01 1.13126525e+01 1.23745682e+01 1.25912857e+01 1.23312247e+01 1.26779727e+01 1.31980946e+01 1.36315296e+01 1.25696139e+01 1.35231708e+01 1.30247206e+01 1.40649645e+01 1.43900408e+01 1.53002542e+01 1.45200713e+01 1.41299798e+01 1.51702237e+01 1.59720784e+01 1.49101627e+01 1.48018040e+01 1.62971546e+01 1.64705286e+01 1.74024138e+01 1.60804371e+01 1.71640245e+01 1.70773375e+01 1.74674290e+01 1.74240855e+01 1.73590703e+01 1.77274900e+01 1.70123223e+01 1.78358487e+01 1.72940550e+01 1.85510164e+01 1.85726882e+01 1.87027186e+01 1.96346038e+01 2.03280998e+01 1.89194361e+01 1.97212908e+01 2.01980693e+01 2.12166414e+01 2.02630845e+01 2.12383132e+01 2.15200459e+01 2.08698935e+01 2.14333589e+01 2.05231455e+01 2.11732979e+01 2.08915652e+01 2.18234504e+01 2.20835113e+01 2.24302593e+01 2.27336638e+01 2.33838162e+01 2.14983741e+01 2.11082827e+01 2.26036333e+01 2.23435723e+01 2.31020835e+01 2.30153965e+01 2.28420225e+01 2.33404727e+01 2.38822664e+01 2.33838162e+01 2.39039382e+01 2.32971292e+01 2.33188010e+01 2.32971292e+01 2.33404727e+01 2.45107471e+01 2.29937248e+01 2.25602898e+01 2.29720530e+01 2.31454270e+01 2.29937248e+01 2.31454270e+01 2.19751526e+01 2.31887705e+01 2.31454270e+01 2.31454270e+01 2.21051831e+01 2.23652441e+01 2.26686485e+01 2.03280998e+01 2.15200459e+01 2.12816567e+01 2.11732979e+01 2.22568853e+01 2.10215957e+01 2.07615347e+01 2.02847563e+01 2.18017786e+01 2.05014737e+01 2.08482217e+01 1.97646343e+01 1.96129321e+01 1.99596800e+01 2.07398630e+01 2.06098325e+01 1.90277949e+01 2.02197410e+01 1.83776424e+01 1.89411079e+01 1.91361536e+01 1.88544209e+01 1.93311993e+01 1.70990093e+01 1.86377034e+01 1.77491617e+01 1.77274900e+01 1.83126272e+01 1.66439026e+01 1.53219259e+01 1.64705286e+01 1.60587654e+01 1.52785824e+01 1.51268802e+01 1.42383385e+01 1.66655743e+01 1.49318345e+01 1.30680641e+01 1.53869412e+01 1.35665143e+01 1.35448426e+01 1.36098578e+01 1.25912857e+01 1.42383385e+01 1.22445377e+01 1.20494920e+01 1.28513466e+01 1.24829269e+01 1.14643548e+01 1.20711637e+01 1.20278202e+01 1.18761180e+01 1.21578507e+01 1.04674543e+01 9.75228666e+00 1.05541413e+01 9.40553869e+00 9.86064540e+00 9.77395841e+00 9.57891268e+00 9.55724093e+00 8.79872974e+00 9.25383645e+00 8.71204275e+00 8.73371450e+00 8.97210373e+00 8.49532527e+00 8.66869925e+00 7.34672262e+00 8.21359254e+00 8.12690555e+00 7.73681408e+00 7.60678360e+00 7.34672262e+00 7.71514234e+00 6.95663115e+00 6.89161591e+00 6.95663115e+00 7.32505087e+00 6.34982220e+00 6.45818094e+00 6.24146346e+00 6.34982220e+00 5.91638724e+00 6.24146346e+00 5.61298277e+00 5.98140249e+00 5.95973074e+00 5.37459354e+00 5.61298277e+00 6.08976123e+00 4.87614333e+00 5.87304374e+00 5.09286081e+00 5.30957829e+00 4.81112809e+00 4.52939536e+00 4.87614333e+00 4.91948683e+00 4.65942585e+00 4.91948683e+00 4.03094515e+00 4.26933438e+00 4.68109760e+00 4.46438012e+00 4.89781508e+00 3.77088418e+00 3.83589942e+00 3.74921243e+00 4.22599089e+00 3.81422767e+00 4.00927340e+00 4.03094515e+00 3.81422767e+00 3.57583844e+00 3.38079271e+00 3.70586893e+00 4.00927340e+00 3.92258641e+00 3.40246446e+00 3.42413621e+00 3.66252543e+00 3.51082320e+00 3.05571649e+00 2.92568600e+00 3.16407523e+00 2.90401425e+00 2.90401425e+00 2.57893803e+00 2.47057929e+00 2.86067075e+00 2.53559453e+00 2.99070124e+00 3.27243397e+00 2.57893803e+00 2.42723579e+00 2.81732726e+00 2.64395327e+00 2.66562502e+00 2.75231201e+00 2.57893803e+00 2.79565551e+00 2.23219006e+00 2.36222055e+00 2.42723579e+00 2.42723579e+00 2.36222055e+00 2.68729677e+00 2.36222055e+00 2.23219006e+00 2.36222055e+00 2.68729677e+00 1.73373985e+00 1.92878558e+00 2.03714432e+00 2.16717481e+00 2.16717481e+00 2.08048782e+00 2.01547258e+00 2.29720530e+00 1.86377034e+00 1.92878558e+00 2.16717481e+00 2.42723579e+00 1.82042684e+00 2.01547258e+00 2.10215957e+00 1.79875510e+00 1.90711384e+00 1.97212908e+00 1.90711384e+00 1.71206810e+00 1.38699188e+00 1.71206810e+00 1.40866363e+00 1.58203761e+00 1.64705286e+00 1.23528964e+00 1.64705286e+00 1.51702237e+00 1.58203761e+00 1.75541160e+00 1.34364838e+00 1.43033538e+00 1.10525915e+00 1.51702237e+00 1.75541160e+00 1.32197664e+00 1.30030489e+00 1.19194615e+00 1.38699188e+00 1.06191566e+00 1.30030489e+00 1.45200713e+00 1.34364838e+00 1.47367887e+00 1.43033538e+00 1.12693090e+00 1.14860265e+00 1.36532013e+00 1.43033538e+00 9.53556918e-01 1.14860265e+00 7.58511185e-01 1.36532013e+00 1.12693090e+00 9.96900414e-01 8.45198177e-01 9.31885170e-01 1.04024391e+00 9.96900414e-01 1.12693090e+00 1.08358741e+00 1.06191566e+00 1.01857216e+00 1.01857216e+00 8.66869925e-01 8.88541674e-01 8.01854681e-01 9.53556918e-01 8.88541674e-01 7.36839437e-01 8.88541674e-01 8.45198177e-01 9.96900414e-01 9.96900414e-01 8.88541674e-01 8.66869925e-01 5.85137200e-01 6.71824192e-01 1.01857216e+00 6.71824192e-01 8.01854681e-01 6.06808948e-01 9.75228666e-01 6.50152444e-01 7.15167688e-01 6.50152444e-01 6.93495940e-01 6.28480696e-01 6.93495940e-01 7.58511185e-01 8.66869925e-01 5.85137200e-01 6.71824192e-01 6.06808948e-01 5.63465452e-01 6.06808948e-01 5.63465452e-01 6.06808948e-01 7.15167688e-01 4.98450207e-01 3.90091466e-01 5.20121955e-01 5.63465452e-01 5.20121955e-01 6.50152444e-01 6.93495940e-01 6.93495940e-01 5.41793703e-01 4.76778459e-01 6.50152444e-01 5.20121955e-01 3.25076222e-01 4.76778459e-01 6.50152444e-01 7.80182933e-01 4.98450207e-01 3.68419718e-01 5.20121955e-01 4.55106711e-01 3.90091466e-01 3.68419718e-01 4.11763215e-01 4.11763215e-01 3.90091466e-01 3.90091466e-01 4.11763215e-01 3.68419718e-01 2.16717481e-01 3.90091466e-01 4.11763215e-01 3.25076222e-01 4.11763215e-01 5.20121955e-01 3.03404474e-01 4.33434963e-01 2.38389229e-01 3.03404474e-01 3.46747970e-01 2.81732726e-01 5.63465452e-01 3.25076222e-01 4.33434963e-01 4.11763215e-01 3.03404474e-01 3.46747970e-01 2.60060978e-01 3.46747970e-01 3.46747970e-01 3.46747970e-01 2.60060978e-01 2.38389229e-01 3.90091466e-01 2.60060978e-01 3.68419718e-01 3.68419718e-01 1.95045733e-01 2.81732726e-01 2.38389229e-01 1.95045733e-01 3.68419718e-01 2.16717481e-01 4.33434963e-01 3.46747970e-01 3.68419718e-01 3.68419718e-01 3.25076222e-01 3.25076222e-01 2.38389229e-01 2.38389229e-01 2.38389229e-01 1.95045733e-01 1.51702237e-01 3.68419718e-01 3.03404474e-01 2.38389229e-01 2.81732726e-01 3.46747970e-01 2.16717481e-01 2.38389229e-01 1.95045733e-01 2.38389229e-01 2.38389229e-01 1.51702237e-01 2.16717481e-01 2.60060978e-01 2.38389229e-01 1.73373985e-01 1.08358741e-01 1.73373985e-01 1.08358741e-01 1.95045733e-01 6.50152444e-02 1.95045733e-01 1.73373985e-01 1.30030489e-01 1.30030489e-01 1.08358741e-01 1.73373985e-01 1.51702237e-01 1.73373985e-01 2.81732726e-01 1.95045733e-01 1.51702237e-01 1.30030489e-01 2.16717481e-01 1.51702237e-01 2.16717481e-01 1.30030489e-01 1.30030489e-01 1.95045733e-01 1.30030489e-01 6.50152444e-02 8.66869925e-02 1.08358741e-01 8.66869925e-02 2.16717481e-01 1.73373985e-01 1.08358741e-01 8.66869925e-02 1.30030489e-01 8.66869925e-02 1.73373985e-01 1.08358741e-01 2.16717481e-01 1.95045733e-01 6.50152444e-02 4.33434963e-02 1.30030489e-01 1.08358741e-01 1.30030489e-01 1.08358741e-01 2.38389229e-01 2.16717481e-01 1.51702237e-01 8.66869925e-02 1.73373985e-01 8.66869925e-02 1.08358741e-01 1.95045733e-01 1.08358741e-01 1.30030489e-01 1.95045733e-01 4.33434963e-02 1.08358741e-01 1.51702237e-01 8.66869925e-02 1.08358741e-01 6.50152444e-02 1.30030489e-01 1.30030489e-01 1.73373985e-01 1.08358741e-01 1.08358741e-01 1.30030489e-01 1.51702237e-01 1.08358741e-01 6.50152444e-02 6.50152444e-02 1.30030489e-01 8.66869925e-02 8.66869925e-02 1.51702237e-01 1.30030489e-01 1.30030489e-01 1.51702237e-01 1.51702237e-01 8.66869925e-02 1.51702237e-01 1.30030489e-01 8.66869925e-02 6.50152444e-02 1.30030489e-01 4.33434963e-02 1.30030489e-01 1.51702237e-01 6.50152444e-02 1.30030489e-01 1.08358741e-01 4.33434963e-02 6.50152444e-02 4.33434963e-02 8.66869925e-02 1.51702237e-01 6.50152444e-02 1.30030489e-01 1.51702237e-01 2.16717481e-02 4.33434963e-02 2.60060978e-01 4.33434963e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 1.08358741e-01 6.50152444e-02 1.51702237e-01 6.50152444e-02 8.66869925e-02 1.51702237e-01 6.50152444e-02 1.30030489e-01 4.33434963e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 1.51702237e-01 8.66869925e-02 1.08358741e-01 6.50152444e-02 4.33434963e-02 1.08358741e-01 6.50152444e-02 6.50152444e-02 2.16717481e-01 1.08358741e-01 2.16717481e-02 6.50152444e-02 2.16717481e-02 1.73373985e-01 8.66869925e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 8.66869925e-02 4.33434963e-02 8.66869925e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 2.16717481e-02 8.66869925e-02 1.08358741e-01 8.66869925e-02 2.16717481e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 8.66869925e-02 8.66869925e-02 1.30030489e-01 6.50152444e-02 6.50152444e-02 1.08358741e-01 4.33434963e-02 8.66869925e-02 8.66869925e-02 6.50152444e-02 4.33434963e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 6.50152444e-02 2.16717481e-02 6.50152444e-02 8.66869925e-02 0.00000000e+00 8.66869925e-02 8.66869925e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 1.08358741e-01 2.16717481e-02 8.66869925e-02 4.33434963e-02 2.16717481e-02 0.00000000e+00 8.66869925e-02 6.50152444e-02 4.33434963e-02 0.00000000e+00 2.16717481e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 0.00000000e+00 4.33434963e-02 4.33434963e-02 6.50152444e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 0.00000000e+00 4.33434963e-02 1.30030489e-01 2.16717481e-02 8.66869925e-02 1.30030489e-01 6.50152444e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 6.50152444e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 8.66869925e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 2.16717481e-02 2.16717481e-02 0.00000000e+00 4.33434963e-02 6.50152444e-02 2.16717481e-02 0.00000000e+00 1.08358741e-01 0.00000000e+00 2.16717481e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 6.50152444e-02 6.50152444e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 1.30030489e-01 4.33434963e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 2.16717481e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 6.50152444e-02 0.00000000e+00 4.33434963e-02 6.50152444e-02 6.50152444e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 6.50152444e-02 6.50152444e-02 2.16717481e-02 4.33434963e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 0.00000000e+00 6.50152444e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 8.66869925e-02 4.33434963e-02 6.50152444e-02 0.00000000e+00 2.16717481e-02 4.33434963e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 8.66869925e-02 6.50152444e-02 0.00000000e+00 6.50152444e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 2.16717481e-02 2.16717481e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 4.33434963e-02 2.16717481e-02 6.50152444e-02 0.00000000e+00 4.33434963e-02 0.00000000e+00 6.50152444e-02 4.33434963e-02 8.66869925e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 2.16717481e-02 4.33434963e-02 6.50152444e-02 2.16717481e-02 2.16717481e-02 0.00000000e+00 4.33434963e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 0.00000000e+00 4.33434963e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 2.16717481e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 8.66869925e-02 2.16717481e-02 4.33434963e-02 2.16717481e-02 2.16717481e-02 6.50152444e-02 4.33434963e-02 4.33434963e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.33434963e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.33434963e-02 2.16717481e-02 2.16717481e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 4.33434963e-02 4.33434963e-02 4.33434963e-02 6.50152444e-02 4.33434963e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 4.33434963e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 6.50152444e-02 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.50152444e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 4.33434963e-02 2.16717481e-02 2.16717481e-02 2.16717481e-02 4.33434963e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 4.33434963e-02 6.50152444e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 4.33434963e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 4.33434963e-02 4.33434963e-02 2.16717481e-02 6.50152444e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 4.33434963e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.33434963e-02 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.50152444e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 4.33434963e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.33434963e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 4.33434963e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.33434963e-02 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.16717481e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 8.13318932e+00 4.92775589e+01 0.00000000e+00 4.21012153e+02 3.42072375e+01 0.00000000e+00 2.34427222e+01 2.51172023e+01 9.52061574e+01 7.41555497e+00 8.25279505e+01 1.59075615e+02 1.50703214e+01 6.81752635e+01 6.21949772e+00 2.12898191e+01 2.48779909e+01 1.96153390e+01 7.12850123e+01 6.38694573e+01 2.60740481e+01 1.17213611e+01 2.84661626e+01 1.79408588e+01 1.48311099e+01 9.56845803e+00 3.27719687e+01 2.39211451e+01 1.50703214e+01 1.05731461e+02 7.65476642e+00 2.72701054e+01 4.47325413e+01 2.17682420e+01 6.45870917e+01 4.01875237e+01 1.91369161e+01 3.82738321e+01 3.39680260e+01 1.23433109e+02 3.20543344e+01 5.62146909e+01 2.34427222e+01 3.94698894e+01 5.28657306e+01 5.11912505e+01 3.34896031e+01 4.25796382e+01 3.25327573e+01 1.29891818e+02 4.83207130e+01 3.85130436e+01 1.29413395e+02 2.99014313e+01 1.91369161e+01 1.57640346e+02 2.22466649e+01 8.61161223e+01 2.60740481e+01 3.10974886e+01 3.80346207e+01 4.76030787e+01 3.73169863e+01 2.24858764e+01 4.40149069e+01 3.65993520e+01 1.22237051e+02 3.27719687e+01 4.59285985e+01 3.61209291e+01 1.65055901e+01 4.64070214e+01 3.22935458e+01 3.80346207e+01 3.32503917e+01 1.79408588e+01 2.27250878e+01 2.05721848e+01 2.70308939e+01 3.77954092e+01 2.00937619e+01 3.13367000e+01 3.42072375e+01 2.46387794e+01 2.77485283e+01 2.29642993e+01 3.75561978e+01 1.79408588e+01 3.25327573e+01 1.77016474e+01 3.13367000e+01 2.79877397e+01 2.39211451e+01 1.93761275e+01 1.57879557e+01 1.98545504e+01 1.67448016e+01 2.55956252e+01 1.88977046e+01 2.41603565e+01 2.10506077e+01 1.96153390e+01 1.60271672e+01 1.74624359e+01 1.26782069e+01 1.72232245e+01 1.86584932e+01 1.57879557e+01 1.12429382e+01 1.84192817e+01 1.53095328e+01 1.55487443e+01 1.74624359e+01 1.79408588e+01 1.60271672e+01 2.84661626e+01 1.21997840e+01 1.36350527e+01 1.12429382e+01 1.33958412e+01 1.74624359e+01 1.10037267e+01 2.39211451e+01 1.36350527e+01 1.21997840e+01 1.57879557e+01 1.41134756e+01 1.43526870e+01 1.65055901e+01 1.31566298e+01 1.67448016e+01 1.17213611e+01 1.26782069e+01 3.58817176e+01 1.53095328e+01 1.55487443e+01 1.45918985e+01 1.00468809e+01 1.21997840e+01 1.41134756e+01 1.17213611e+01 9.56845803e+00 1.00468809e+01 1.26782069e+01 9.09003513e+00 1.00468809e+01 1.19605725e+01 1.10037267e+01 1.29174183e+01 1.12429382e+01 1.55487443e+01 1.14821496e+01 8.85082368e+00 1.36350527e+01 7.41555497e+00 8.61161223e+00 9.56845803e+00 1.29174183e+01 7.89397787e+00 9.56845803e+00 1.24389954e+01 1.00468809e+01 9.09003513e+00 1.05253038e+01 1.62663786e+01 1.10037267e+01 8.61161223e+00 1.14821496e+01 1.05253038e+01 7.89397787e+00 6.45870917e+00 9.56845803e+00 8.37240078e+00 1.00468809e+01 1.00468809e+01 7.89397787e+00 8.13318932e+00 1.19605725e+01 8.61161223e+00 9.09003513e+00 7.17634352e+00 8.13318932e+00 8.61161223e+00 9.80766948e+00 7.41555497e+00 7.89397787e+00 9.80766948e+00 5.74107482e+00 1.14821496e+01 6.45870917e+00 6.69792062e+00 7.17634352e+00 7.65476642e+00 1.02860924e+01 7.65476642e+00 9.80766948e+00 6.93713207e+00 1.00468809e+01 1.07645153e+01 5.98028627e+00 1.07645153e+01 9.56845803e+00 8.61161223e+00 9.32924658e+00 1.24389954e+01 1.53095328e+01 6.45870917e+00 9.32924658e+00 8.13318932e+00 7.65476642e+00 5.98028627e+00 8.61161223e+00 2.17682420e+01 8.13318932e+00 8.37240078e+00 8.61161223e+00 9.09003513e+00 5.98028627e+00 7.65476642e+00 1.43526870e+01 7.89397787e+00 7.65476642e+00 9.32924658e+00 6.45870917e+00 5.98028627e+00 9.80766948e+00 7.89397787e+00 6.21949772e+00 7.89397787e+00 6.45870917e+00 6.45870917e+00 6.93713207e+00 8.61161223e+00 7.41555497e+00 6.45870917e+00 5.74107482e+00 9.56845803e+00 8.13318932e+00 8.37240078e+00 8.85082368e+00 8.13318932e+00 4.78422901e+00 5.74107482e+00 7.41555497e+00 1.45918985e+01 6.69792062e+00 7.41555497e+00 5.98028627e+00 7.89397787e+00 8.13318932e+00 5.74107482e+00 8.37240078e+00 6.21949772e+00 5.26265192e+00 8.13318932e+00 6.21949772e+00 5.50186337e+00 6.21949772e+00 6.93713207e+00 7.89397787e+00 5.74107482e+00 8.13318932e+00 6.21949772e+00 7.17634352e+00 6.45870917e+00 5.50186337e+00 6.69792062e+00 6.21949772e+00 8.37240078e+00 5.26265192e+00 7.41555497e+00 5.74107482e+00 5.50186337e+00 5.50186337e+00 5.98028627e+00 7.41555497e+00 4.78422901e+00 4.30580611e+00 7.17634352e+00 5.50186337e+00 6.45870917e+00 6.93713207e+00 3.58817176e+00 4.78422901e+00 6.21949772e+00 5.02344047e+00 5.02344047e+00 5.74107482e+00 7.41555497e+00 5.74107482e+00 5.98028627e+00 4.06659466e+00 6.69792062e+00 5.26265192e+00 7.41555497e+00 4.06659466e+00 6.21949772e+00 4.54501756e+00 5.74107482e+00 6.21949772e+00 7.41555497e+00 4.30580611e+00 3.34896031e+00 5.02344047e+00 5.26265192e+00 3.82738321e+00 7.41555497e+00 4.54501756e+00 3.82738321e+00 5.26265192e+00 4.30580611e+00 6.21949772e+00 5.98028627e+00 6.45870917e+00 4.78422901e+00 3.10974886e+00 3.10974886e+00 6.69792062e+00 3.34896031e+00 3.58817176e+00 4.54501756e+00 5.74107482e+00 5.98028627e+00 6.69792062e+00 5.26265192e+00 4.30580611e+00 2.15290306e+00 3.34896031e+00 6.93713207e+00 3.58817176e+00 5.26265192e+00 7.41555497e+00 6.69792062e+00 5.02344047e+00 4.30580611e+00 7.89397787e+00 3.82738321e+00 4.54501756e+00 3.10974886e+00 5.26265192e+00 1.19605725e+01 5.26265192e+00 8.13318932e+00 7.41555497e+00 3.82738321e+00 4.78422901e+00 2.39211451e+00 5.26265192e+00 5.26265192e+00 5.98028627e+00 1.12429382e+01 3.10974886e+00 3.34896031e+00 6.21949772e+00 5.50186337e+00 4.30580611e+00 8.61161223e+00 6.93713207e+00 6.93713207e+00 5.02344047e+00 4.78422901e+00 5.26265192e+00 1.81800703e+01 4.30580611e+00 3.34896031e+00 5.02344047e+00 6.21949772e+00 5.74107482e+00 9.09003513e+00 3.82738321e+00 5.26265192e+00 3.34896031e+00 8.37240078e+00 9.56845803e+00 9.80766948e+00 4.54501756e+00 3.58817176e+00 5.74107482e+00 3.34896031e+00 4.30580611e+00 5.02344047e+00 1.29174183e+01 4.54501756e+00 3.58817176e+00 3.34896031e+00 4.30580611e+00 4.06659466e+00 5.50186337e+00 4.06659466e+00 3.10974886e+00 4.78422901e+00 5.98028627e+00 2.87053741e+00 5.98028627e+00 6.93713207e+00 4.78422901e+00 5.74107482e+00 6.21949772e+00 3.58817176e+00 4.54501756e+00 4.54501756e+00 6.45870917e+00 4.78422901e+00 4.78422901e+00 4.30580611e+00 2.87053741e+00 5.98028627e+00 5.98028627e+00 4.30580611e+00 2.39211451e+00 3.82738321e+00 4.30580611e+00 4.78422901e+00 7.41555497e+00 7.41555497e+00 4.78422901e+00 4.78422901e+00 5.50186337e+00 5.02344047e+00 4.54501756e+00 8.13318932e+00 7.17634352e+00 3.82738321e+00 2.87053741e+00 3.34896031e+00 2.63132596e+00 4.54501756e+00 2.87053741e+00 5.98028627e+00 5.02344047e+00 5.26265192e+00 4.54501756e+00 4.78422901e+00 4.78422901e+00 6.45870917e+00 5.74107482e+00 5.26265192e+00 3.82738321e+00 5.02344047e+00 3.58817176e+00 3.82738321e+00 5.50186337e+00 4.54501756e+00 4.54501756e+00 2.63132596e+00 4.30580611e+00 5.26265192e+00 4.54501756e+00 4.06659466e+00 2.63132596e+00 4.06659466e+00 3.34896031e+00 5.74107482e+00 4.54501756e+00 5.74107482e+00 5.50186337e+00 3.82738321e+00 3.10974886e+00 5.02344047e+00 4.06659466e+00 5.50186337e+00 2.87053741e+00 3.82738321e+00 1.43526870e+00 5.74107482e+00 2.63132596e+00 3.58817176e+00 2.63132596e+00 4.54501756e+00 2.87053741e+00 3.10974886e+00 5.74107482e+00 4.30580611e+00 4.06659466e+00 3.82738321e+00 2.87053741e+00 4.06659466e+00 4.78422901e+00 3.58817176e+00 3.10974886e+00 5.74107482e+00 5.26265192e+00 1.43526870e+00 4.78422901e+00 4.06659466e+00 3.82738321e+00 5.50186337e+00 5.98028627e+00 3.34896031e+00 2.63132596e+00 2.63132596e+00 5.02344047e+00 3.10974886e+00 3.58817176e+00 3.10974886e+00 4.54501756e+00 3.82738321e+00 2.87053741e+00 3.34896031e+00 3.82738321e+00 3.10974886e+00 5.98028627e+00 2.15290306e+00 4.06659466e+00 3.34896031e+00 3.34896031e+00 6.21949772e+00 1.91369161e+00 4.54501756e+00 5.50186337e+00 5.50186337e+00 3.58817176e+00 2.39211451e+00 3.34896031e+00 4.06659466e+00 3.58817176e+00 3.10974886e+00 2.39211451e+00 5.02344047e+00 1.91369161e+00 2.39211451e+00 2.15290306e+00 3.10974886e+00 3.34896031e+00 4.06659466e+00 4.06659466e+00 1.91369161e+00 4.06659466e+00 3.58817176e+00 1.96153390e+01 3.34896031e+00 2.87053741e+00 3.82738321e+00 2.15290306e+00 3.10974886e+00 2.15290306e+00 2.63132596e+00 2.63132596e+00 1.43526870e+00 3.58817176e+00 4.30580611e+00 3.10974886e+00 3.82738321e+00 4.78422901e+00 4.30580611e+00 2.87053741e+00 3.82738321e+00 2.87053741e+00 2.15290306e+00 3.10974886e+00 3.10974886e+00 3.82738321e+00 2.15290306e+00 3.34896031e+00 2.63132596e+00 2.63132596e+00 5.50186337e+00 4.78422901e+00 1.67448016e+00 2.15290306e+00 2.39211451e+00 1.91369161e+00 4.78422901e+00 2.15290306e+00 3.58817176e+00 1.67448016e+00 4.78422901e-01 2.63132596e+00 4.54501756e+00 2.39211451e+00 2.87053741e+00 6.69792062e+00 2.63132596e+00 3.10974886e+00 3.82738321e+00 9.56845803e-01 4.06659466e+00 2.87053741e+00 3.34896031e+00 2.63132596e+00 4.30580611e+00 2.39211451e+00 2.15290306e+00 2.39211451e+00 4.06659466e+00 2.63132596e+00 3.34896031e+00 1.91369161e+00 2.15290306e+00 2.63132596e+00 3.10974886e+00 2.63132596e+00 1.43526870e+00 3.10974886e+00 2.87053741e+00 2.87053741e+00 3.34896031e+00 2.39211451e+00 2.15290306e+00 1.91369161e+00 2.63132596e+00 4.06659466e+00 4.54501756e+00 2.63132596e+00 2.39211451e+00 1.67448016e+00 4.06659466e+00 1.91369161e+00 2.63132596e+00 1.91369161e+00 2.39211451e+00 1.43526870e+00 2.63132596e+00 1.19605725e+00 2.15290306e+00 1.43526870e+00 1.00468809e+01 1.67448016e+00 1.91369161e+00 2.63132596e+00 1.67448016e+00 2.15290306e+00 2.15290306e+00 3.10974886e+00 1.43526870e+00 1.91369161e+00 2.63132596e+00 2.39211451e+00 1.67448016e+00 3.34896031e+00 1.43526870e+00 1.67448016e+00 1.91369161e+00 2.63132596e+00 9.56845803e-01 2.87053741e+00 2.63132596e+00 1.91369161e+00 2.63132596e+00 1.43526870e+00 2.39211451e+00 2.87053741e+00 2.63132596e+00 2.87053741e+00 9.56845803e-01 7.17634352e-01 1.91369161e+00 2.87053741e+00 2.63132596e+00 2.63132596e+00 2.87053741e+00 2.63132596e+00 2.87053741e+00 2.63132596e+00 1.91369161e+00 2.87053741e+00 7.17634352e-01 1.91369161e+00 3.58817176e+00 1.43526870e+00 1.43526870e+00 1.91369161e+00 4.06659466e+00 2.39211451e+00 4.06659466e+00 7.17634352e-01 3.34896031e+00 3.10974886e+00 1.43526870e+00 2.15290306e+00 1.67448016e+00 1.67448016e+00 4.54501756e+00 1.19605725e+00 3.58817176e+00 2.15290306e+00 1.91369161e+00 2.39211451e+00 9.56845803e-01 1.19605725e+00 2.63132596e+00 3.10974886e+00 4.78422901e-01 1.19605725e+00 3.10974886e+00 2.15290306e+00 3.34896031e+00 2.87053741e+00 3.34896031e+00 3.58817176e+00 2.63132596e+00 1.43526870e+00 1.43526870e+00 3.10974886e+00 1.91369161e+00 3.58817176e+00 2.63132596e+00 2.39211451e+00 9.56845803e-01 1.91369161e+00 3.82738321e+00 1.67448016e+00 2.87053741e+00 2.15290306e+00 1.67448016e+00 2.39211451e+00 1.43526870e+00 2.39211451e+00 1.91369161e+00 1.67448016e+00 2.39211451e+00 1.43526870e+00 1.91369161e+00 9.56845803e-01 1.43526870e+00 3.34896031e+00 1.91369161e+00 1.91369161e+00 1.91369161e+00 2.15290306e+00 1.91369161e+00 1.91369161e+00 1.43526870e+00 7.17634352e-01 1.67448016e+00 7.17634352e-01 1.19605725e+00 2.15290306e+00 7.17634352e-01 1.67448016e+00 2.15290306e+00 2.87053741e+00 2.63132596e+00 1.67448016e+00 1.91369161e+00 2.39211451e+00 2.63132596e+00 1.91369161e+00 1.67448016e+00 1.67448016e+00 1.43526870e+00 1.19605725e+00 2.15290306e+00 1.43526870e+00 1.67448016e+00 2.87053741e+00 1.43526870e+00 2.39211451e+00 1.19605725e+00 1.19605725e+00 1.91369161e+00 2.63132596e+00 2.15290306e+00 1.19605725e+00 1.19605725e+00 9.56845803e-01 2.15290306e+00 1.67448016e+00 1.67448016e+00 2.39211451e+00 7.17634352e-01 2.39211451e+00 1.43526870e+00 1.67448016e+00 1.19605725e+00 1.19605725e+00 2.15290306e+00 2.63132596e+00 1.91369161e+00 1.19605725e+00 2.15290306e+00 1.19605725e+00 1.67448016e+00 7.17634352e-01 1.19605725e+00 1.91369161e+00 1.67448016e+00 1.19605725e+00 1.43526870e+00 3.34896031e+00 9.56845803e-01 1.43526870e+00 1.67448016e+00 1.91369161e+00 2.15290306e+00 2.15290306e+00 2.39211451e-01 9.56845803e-01 1.67448016e+00 9.56845803e-01 1.43526870e+00 7.17634352e-01 1.19605725e+00 1.67448016e+00 1.43526870e+00 9.56845803e-01 9.56845803e-01 2.15290306e+00 2.15290306e+00 1.67448016e+00 2.39211451e+00 1.19605725e+00 1.43526870e+00 1.91369161e+00 1.19605725e+00 9.56845803e-01 1.43526870e+00 1.67448016e+00 1.91369161e+00 1.67448016e+00 1.67448016e+00 9.56845803e-01 7.17634352e-01 2.15290306e+00 1.43526870e+00 9.56845803e-01 1.43526870e+00 2.39211451e+00 1.43526870e+00 1.19605725e+00 7.17634352e-01 1.43526870e+00 2.15290306e+00 1.67448016e+00 7.17634352e-01 1.67448016e+00 4.78422901e-01 1.67448016e+00 9.56845803e-01 1.91369161e+00 1.43526870e+00 4.78422901e-01 2.15290306e+00 1.67448016e+00 1.91369161e+00 7.17634352e-01 2.63132596e+00 9.56845803e-01 1.91369161e+00 2.39211451e+00 1.19605725e+00 1.91369161e+00 9.56845803e-01 1.19605725e+00 4.78422901e-01 9.56845803e-01 1.43526870e+00 7.17634352e-01 1.43526870e+00 9.56845803e-01 2.63132596e+00 7.17634352e-01 1.67448016e+00 9.56845803e-01 1.43526870e+00 1.19605725e+00 1.19605725e+00 1.91369161e+00 2.39211451e+00 1.19605725e+00 1.19605725e+00 2.39211451e+00 1.43526870e+00 4.78422901e-01 2.15290306e+00 1.67448016e+00 1.43526870e+00 9.56845803e-01 1.43526870e+00 1.19605725e+00 1.19605725e+00 4.54501756e+00 1.91369161e+00 1.43526870e+00 1.19605725e+00 2.39211451e-01 3.34896031e+00 1.43526870e+00 4.78422901e-01 2.15290306e+00 3.34896031e+00 9.56845803e-01 1.91369161e+00 2.39211451e+00 3.10974886e+00 1.91369161e+00 4.78422901e-01 1.43526870e+00 1.91369161e+00 9.56845803e-01 1.67448016e+00 1.43526870e+00 1.19605725e+00 1.19605725e+00 2.15290306e+00 9.56845803e-01 7.17634352e-01 1.91369161e+00 9.56845803e-01 7.17634352e-01 7.17634352e-01 1.21997840e+01 1.43526870e+00 2.15290306e+00 1.91369161e+00 1.67448016e+00 1.91369161e+00 1.19605725e+00 2.63132596e+00 1.43526870e+00 2.87053741e+00 9.56845803e-01 1.67448016e+00 1.91369161e+00 1.43526870e+00 1.43526870e+00 1.43526870e+00 4.78422901e-01 2.87053741e+00 1.19605725e+00 1.19605725e+00 1.91369161e+00 1.19605725e+00 3.82738321e+00 1.43526870e+00 1.91369161e+00 1.91369161e+00 1.91369161e+00 2.15290306e+00 7.17634352e-01 2.15290306e+00 1.91369161e+00 1.19605725e+00 7.17634352e-01 1.67448016e+00 1.67448016e+00 1.91369161e+00 1.19605725e+00 1.19605725e+00 1.67448016e+00 1.19605725e+00 2.63132596e+00 9.56845803e-01 1.67448016e+00 4.78422901e-01 1.19605725e+00 1.19605725e+00 1.43526870e+00 7.17634352e-01 9.56845803e-01 1.19605725e+00 7.17634352e-01 7.17634352e-01 9.56845803e-01 7.17634352e-01 2.63132596e+00 9.56845803e-01 2.39211451e+00 1.43526870e+00 1.19605725e+00 9.56845803e-01 9.56845803e-01 2.15290306e+00 1.19605725e+00 1.19605725e+00 4.78422901e-01 9.56845803e-01 2.39211451e+00 1.19605725e+00 1.67448016e+00 2.15290306e+00 1.67448016e+00 1.19605725e+00 9.56845803e-01 1.67448016e+00 1.67448016e+00 4.78422901e-01 7.17634352e-01 1.67448016e+00 1.19605725e+00 2.63132596e+00 1.67448016e+00 3.34896031e+00 4.78422901e-01 1.19605725e+00 0.00000000e+00 1.67448016e+00 1.19605725e+00 9.56845803e-01 1.91369161e+00 9.56845803e-01 1.43526870e+00 2.15290306e+00 1.19605725e+00 9.56845803e-01 9.56845803e-01 4.78422901e-01 1.43526870e+00 1.67448016e+00 1.19605725e+00 1.67448016e+00 1.19605725e+00 9.56845803e-01 7.17634352e-01 1.67448016e+00 2.63132596e+00 7.17634352e-01 1.43526870e+00 2.39211451e-01 9.56845803e-01 7.17634352e-01 1.43526870e+00 1.19605725e+00 1.91369161e+00 2.63132596e+00 1.67448016e+00 1.67448016e+00 9.56845803e-01 1.19605725e+00 1.43526870e+00 2.63132596e+00 7.17634352e-01 1.91369161e+00 9.56845803e-01 4.78422901e-01 1.19605725e+00 1.19605725e+00 1.19605725e+00 1.91369161e+00 2.15290306e+00 7.17634352e-01 9.56845803e-01 4.78422901e-01 0.00000000e+00 7.17634352e-01 1.43526870e+00 7.17634352e-01 1.43526870e+00 4.78422901e-01 7.17634352e-01 1.43526870e+00 1.19605725e+00 1.43526870e+00 9.56845803e-01 1.19605725e+00 1.43526870e+00 1.91369161e+00 9.56845803e-01 9.56845803e-01 7.17634352e-01 7.17634352e-01 7.17634352e-01 1.91369161e+00 1.67448016e+00 1.67448016e+00 7.17634352e-01 1.67448016e+00 1.91369161e+00 4.78422901e-01 1.19605725e+00 2.15290306e+00 1.43526870e+00 1.43526870e+00 9.56845803e-01 1.19605725e+00 1.67448016e+00 1.67448016e+00 1.67448016e+00 7.17634352e-01 7.17634352e-01 1.67448016e+00 4.78422901e-01 1.67448016e+00 1.19605725e+00 1.43526870e+00 1.67448016e+00 7.17634352e-01 2.15290306e+00 9.56845803e-01 9.56845803e-01 7.17634352e-01 2.15290306e+00 2.15290306e+00 1.67448016e+00 9.56845803e-01 2.39211451e-01 1.19605725e+00 2.39211451e-01 7.17634352e-01 2.39211451e+00 1.19605725e+00 9.56845803e-01 2.15290306e+00 1.19605725e+00 9.56845803e-01 1.67448016e+00 4.78422901e-01 7.17634352e-01 4.78422901e-01 1.19605725e+00 1.91369161e+00 4.78422901e-01 2.39211451e-01 7.17634352e-01 1.19605725e+00 2.87053741e+00 9.56845803e-01 9.56845803e-01 9.56845803e-01 7.17634352e-01 1.67448016e+00 1.67448016e+00 9.56845803e-01 1.19605725e+00 1.19605725e+00 1.91369161e+00 7.17634352e-01 7.17634352e-01 1.19605725e+00 9.56845803e-01 9.56845803e-01 3.58817176e+00 2.39211451e-01 7.17634352e-01 3.58817176e+00 1.19605725e+00 4.78422901e-01 7.17634352e-01 9.56845803e-01 1.67448016e+00 7.17634352e-01 1.19605725e+00 7.17634352e-01 1.43526870e+00 1.43526870e+00 1.19605725e+00 7.17634352e-01 9.56845803e-01 4.78422901e-01 1.19605725e+00 4.78422901e-01 7.17634352e-01 4.78422901e-01 1.91369161e+00 4.78422901e-01 2.87053741e+00 1.43526870e+00 1.19605725e+00 9.56845803e-01 7.17634352e-01 9.56845803e-01 4.78422901e-01 1.43526870e+00 1.43526870e+00 1.43526870e+00 7.17634352e-01 2.87053741e+00 7.17634352e-01 1.19605725e+00 7.17634352e-01 1.43526870e+00 9.56845803e-01 0.00000000e+00 1.43526870e+00 2.63132596e+00 1.43526870e+00 4.78422901e-01 1.19605725e+00 4.78422901e-01 7.17634352e-01 7.17634352e-01 7.17634352e-01 1.19605725e+00 2.63132596e+00 9.56845803e-01 1.67448016e+00 1.43526870e+00 1.43526870e+00 4.78422901e-01 1.19605725e+00 9.56845803e-01 1.67448016e+00 1.19605725e+00 1.91369161e+00 4.78422901e-01 7.17634352e-01 1.67448016e+00 1.67448016e+00 7.17634352e-01 2.39211451e-01 1.67448016e+00 9.56845803e-01 1.19605725e+00 1.43526870e+00 9.56845803e-01 6.93713207e+00 2.39211451e-01 1.19605725e+00 9.56845803e-01 7.17634352e-01 7.17634352e-01 1.19605725e+00 1.19605725e+00 9.56845803e-01 9.56845803e-01 1.19605725e+00 7.17634352e-01 7.17634352e-01 9.56845803e-01 4.30580611e+00 4.78422901e-01 1.67448016e+00 9.56845803e-01 4.78422901e-01 4.78422901e-01 2.15290306e+00 1.19605725e+00 0.00000000e+00 1.19605725e+00 9.56845803e-01 1.19605725e+00 1.43526870e+00 9.56845803e-01 9.56845803e-01 9.56845803e-01 4.78422901e-01 4.78422901e-01 7.17634352e-01 1.67448016e+00 4.78422901e-01 2.15290306e+00 1.91369161e+00 7.17634352e-01 9.56845803e-01 9.56845803e-01 2.39211451e-01 1.43526870e+00 9.56845803e-01 1.43526870e+00 9.56845803e-01 7.17634352e-01 1.19605725e+00 4.78422901e-01 9.56845803e-01 1.19605725e+00 1.43526870e+00 1.43526870e+00 9.56845803e-01 1.43526870e+00 9.56845803e-01 9.56845803e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 9.56845803e-01 1.19605725e+00 1.19605725e+00 4.78422901e-01 1.19605725e+00 4.78422901e-01 0.00000000e+00 9.56845803e-01 7.17634352e-01 4.78422901e-01 1.19605725e+00 1.19605725e+00 1.43526870e+00 1.19605725e+00 1.19605725e+00 1.19605725e+00 1.67448016e+00 7.17634352e-01 4.78422901e-01 1.67448016e+00 2.39211451e-01 7.17634352e-01 7.17634352e-01 1.67448016e+00 1.43526870e+00 1.43526870e+00 1.43526870e+00 1.67448016e+00 7.17634352e-01 4.78422901e-01 2.87053741e+00 2.15290306e+00 7.17634352e-01 1.43526870e+00 4.78422901e-01 1.67448016e+00 9.56845803e-01 1.67448016e+00 1.19605725e+00 1.91369161e+00 4.78422901e-01 2.39211451e-01 1.19605725e+00 1.91369161e+00 4.78422901e-01 4.78422901e-01 4.78422901e-01 9.56845803e-01 7.17634352e-01 1.19605725e+00 4.78422901e-01 1.19605725e+00 4.78422901e-01 1.19605725e+00 1.67448016e+00 4.78422901e-01 0.00000000e+00 7.17634352e-01 9.56845803e-01 9.56845803e-01 1.19605725e+00 2.15290306e+00 4.78422901e-01 1.43526870e+00 7.17634352e-01 9.56845803e-01 7.17634352e-01 9.56845803e-01 2.87053741e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 1.19605725e+00 7.17634352e-01 1.19605725e+00 9.56845803e-01 7.17634352e-01 1.19605725e+00 2.39211451e-01 4.78422901e-01 3.82738321e+00 9.56845803e-01 1.43526870e+00 1.19605725e+00 1.43526870e+00 4.78422901e-01 1.19605725e+00 2.15290306e+00 7.17634352e-01 1.67448016e+00 1.43526870e+00 1.19605725e+00 4.78422901e-01 9.56845803e-01 1.67448016e+00 9.56845803e-01 7.17634352e-01 1.43526870e+00 1.43526870e+00 9.56845803e-01 4.78422901e-01 2.39211451e-01 9.56845803e-01 7.17634352e-01 9.56845803e-01 1.43526870e+00 9.56845803e-01 9.56845803e-01 1.91369161e+00 9.56845803e-01 7.17634352e-01 2.39211451e-01 1.19605725e+00 7.17634352e-01 7.17634352e-01 9.56845803e-01 1.19605725e+00 4.78422901e-01 0.00000000e+00 7.17634352e-01 1.19605725e+00 2.39211451e-01 4.78422901e-01 1.19605725e+00 9.56845803e-01 3.34896031e+00 1.19605725e+00 9.56845803e-01 9.56845803e-01 1.19605725e+00 1.43526870e+00 1.43526870e+00 1.19605725e+00 2.15290306e+00 1.19605725e+00 1.43526870e+00 2.39211451e-01 7.17634352e-01 1.91369161e+00 1.19605725e+00 1.19605725e+00 4.78422901e-01 1.67448016e+00 4.78422901e-01 1.19605725e+00 4.78422901e-01 4.78422901e-01 1.43526870e+00 1.43526870e+00 9.56845803e-01 7.17634352e-01 9.56845803e-01 9.56845803e-01 1.91369161e+00 1.67448016e+00 7.17634352e-01 3.34896031e+00 1.19605725e+00 2.39211451e-01 1.67448016e+00 9.56845803e-01 1.19605725e+00 1.19605725e+00 7.17634352e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 9.56845803e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 1.43526870e+00 2.39211451e-01 7.17634352e-01 1.19605725e+00 7.17634352e-01 9.56845803e-01 9.56845803e-01 1.19605725e+00 9.56845803e-01 4.78422901e-01 2.39211451e-01 9.56845803e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 3.10974886e+00 4.78422901e-01 7.17634352e-01 1.19605725e+00 0.00000000e+00 1.67448016e+00 7.17634352e-01 1.19605725e+00 7.17634352e-01 1.19605725e+00 9.56845803e-01 9.56845803e-01 7.17634352e-01 2.39211451e-01 7.17634352e-01 3.10974886e+00 1.67448016e+00 7.17634352e-01 2.39211451e-01 1.43526870e+00 1.43526870e+00 1.43526870e+00 1.19605725e+00 0.00000000e+00 1.67448016e+00 4.78422901e-01 1.43526870e+00 9.56845803e-01 4.78422901e-01 1.67448016e+00 4.78422901e-01 4.78422901e-01 9.56845803e-01 2.63132596e+00 4.78422901e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 4.78422901e-01 9.56845803e-01 1.91369161e+00 1.43526870e+00 2.39211451e-01 4.78422901e-01 7.17634352e-01 1.19605725e+00 4.78422901e-01 9.56845803e-01 4.78422901e-01 9.56845803e-01 1.19605725e+00 0.00000000e+00 2.39211451e-01 1.67448016e+00 9.56845803e-01 7.17634352e-01 7.17634352e-01 9.56845803e-01 7.17634352e-01 9.56845803e-01 9.56845803e-01 9.56845803e-01 1.43526870e+00 7.17634352e-01 7.17634352e-01 7.17634352e-01 7.17634352e-01 9.56845803e-01 7.17634352e-01 1.67448016e+00 7.17634352e-01 0.00000000e+00 4.78422901e-01 7.17634352e-01 2.39211451e-01 2.39211451e+00 7.17634352e-01 1.19605725e+00 4.78422901e-01 9.56845803e-01 1.19605725e+00 4.78422901e-01 1.19605725e+00 7.17634352e-01 7.17634352e-01 7.17634352e-01 1.19605725e+00 1.19605725e+00 9.56845803e-01 2.15290306e+00 4.78422901e-01 1.67448016e+00 1.19605725e+00 1.19605725e+00 9.56845803e-01 9.56845803e-01 2.39211451e-01 0.00000000e+00 2.87053741e+00 2.39211451e-01 4.78422901e-01 1.19605725e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 7.65476642e+00 9.56845803e-01 9.56845803e-01 1.91369161e+00 9.56845803e-01 2.39211451e-01 7.17634352e-01 1.91369161e+00 2.39211451e-01 2.39211451e-01 9.56845803e-01 2.39211451e-01 9.56845803e-01 1.19605725e+00 2.39211451e-01 7.17634352e-01 9.56845803e-01 7.17634352e-01 1.91369161e+00 4.78422901e-01 4.78422901e-01 1.19605725e+00 1.19605725e+00 9.56845803e-01 1.43526870e+00 2.39211451e-01 1.19605725e+00 4.78422901e-01 9.56845803e-01 2.39211451e-01 7.17634352e-01 1.67448016e+00 1.19605725e+00 1.19605725e+00 9.56845803e-01 7.17634352e-01 2.39211451e-01 1.67448016e+00 7.17634352e-01 7.17634352e-01 1.43526870e+00 7.17634352e-01 2.39211451e-01 9.56845803e-01 7.17634352e-01 2.39211451e-01 9.56845803e-01 1.19605725e+00 7.17634352e-01 9.56845803e-01 2.39211451e-01 4.78422901e-01 9.56845803e-01 4.78422901e-01 4.78422901e-01 1.19605725e+00 4.78422901e-01 9.56845803e-01 0.00000000e+00 1.19605725e+00 1.67448016e+00 9.56845803e-01 4.78422901e-01 1.19605725e+00 1.19605725e+00 9.56845803e-01 0.00000000e+00 2.15290306e+00 1.67448016e+00 4.78422901e-01 1.19605725e+00 9.56845803e-01 4.78422901e-01 1.19605725e+00 1.91369161e+00 9.56845803e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 9.56845803e-01 1.19605725e+00 1.19605725e+00 4.78422901e-01 2.39211451e+00 0.00000000e+00 1.43526870e+00 7.17634352e-01 9.56845803e-01 7.17634352e-01 7.17634352e-01 7.17634352e-01 1.19605725e+00 7.17634352e-01 4.78422901e-01 1.43526870e+00 7.17634352e-01 7.17634352e-01 9.56845803e-01 4.78422901e-01 9.56845803e-01 4.78422901e-01 2.39211451e+00 0.00000000e+00 1.19605725e+00 1.67448016e+00 0.00000000e+00 0.00000000e+00 1.43526870e+00 3.34896031e+00 4.78422901e-01 4.78422901e-01 7.17634352e-01 1.19605725e+00 4.78422901e-01 1.67448016e+00 1.19605725e+00 4.78422901e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 9.56845803e-01 4.78422901e-01 9.56845803e-01 1.91369161e+00 2.39211451e-01 1.67448016e+00 7.17634352e-01 1.19605725e+00 2.39211451e-01 9.56845803e-01 1.19605725e+00 0.00000000e+00 1.19605725e+00 1.43526870e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 1.19605725e+00 7.17634352e-01 7.17634352e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 9.56845803e-01 7.17634352e-01 9.56845803e-01 4.78422901e-01 1.43526870e+00 1.19605725e+00 4.78422901e-01 2.39211451e-01 1.19605725e+00 9.56845803e-01 7.17634352e-01 1.43526870e+00 1.91369161e+00 4.78422901e-01 1.67448016e+00 9.56845803e-01 1.67448016e+00 9.56845803e-01 7.17634352e-01 1.19605725e+00 7.17634352e-01 7.17634352e-01 7.17634352e-01 1.19605725e+00 4.78422901e-01 0.00000000e+00 1.19605725e+00 0.00000000e+00 4.78422901e-01 7.17634352e-01 1.19605725e+00 4.78422901e-01 2.39211451e-01 1.43526870e+00 2.39211451e-01 4.78422901e-01 1.43526870e+00 7.17634352e-01 1.43526870e+00 9.56845803e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 2.39211451e+00 4.78422901e-01 7.17634352e-01 4.78422901e-01 7.17634352e-01 0.00000000e+00 1.19605725e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 1.19605725e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 9.56845803e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 0.00000000e+00 1.43526870e+00 4.78422901e-01 9.56845803e-01 7.17634352e-01 7.17634352e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.15290306e+00 2.39211451e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 7.17634352e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 1.43526870e+00 2.39211451e-01 0.00000000e+00 1.19605725e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 4.78422901e-01 1.67448016e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 7.17634352e-01 9.56845803e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 1.67448016e+00 4.78422901e-01 7.17634352e-01 0.00000000e+00 4.78422901e-01 7.17634352e-01 4.78422901e-01 1.43526870e+00 4.78422901e-01 0.00000000e+00 9.56845803e-01 2.39211451e-01 1.19605725e+00 4.78422901e-01 4.78422901e-01 7.17634352e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 1.19605725e+00 4.78422901e-01 7.17634352e-01 7.17634352e-01 4.78422901e-01 4.78422901e-01 7.17634352e-01 1.19605725e+00 2.39211451e-01 4.78422901e-01 4.78422901e-01 1.19605725e+00 0.00000000e+00 2.39211451e-01 9.56845803e-01 2.39211451e-01 1.67448016e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 1.67448016e+00 2.39211451e-01 9.56845803e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 7.17634352e-01 7.17634352e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 1.19605725e+00 2.39211451e-01 1.67448016e+00 7.17634352e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 9.56845803e-01 9.56845803e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 1.67448016e+00 9.56845803e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 9.56845803e-01 7.17634352e-01 9.56845803e-01 9.56845803e-01 7.17634352e-01 4.78422901e-01 7.17634352e-01 7.17634352e-01 7.17634352e-01 7.17634352e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 1.19605725e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.43526870e+00 4.78422901e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 9.56845803e-01 2.39211451e+00 2.39211451e-01 7.17634352e-01 1.19605725e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 7.17634352e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 1.19605725e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 4.78422901e-01 1.91369161e+00 4.78422901e-01 4.78422901e-01 7.17634352e-01 7.17634352e-01 2.39211451e-01 7.17634352e-01 7.17634352e-01 1.19605725e+00 4.78422901e-01 9.56845803e-01 2.39211451e-01 2.39211451e-01 9.56845803e-01 4.78422901e-01 1.19605725e+00 4.78422901e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 7.17634352e-01 0.00000000e+00 9.56845803e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 7.17634352e-01 7.17634352e-01 4.78422901e-01 9.56845803e-01 9.56845803e-01 1.19605725e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 9.56845803e-01 7.17634352e-01 7.17634352e-01 9.56845803e-01 9.56845803e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 7.17634352e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 1.19605725e+00 0.00000000e+00 0.00000000e+00 1.43526870e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 9.56845803e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 7.17634352e-01 7.17634352e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 2.15290306e+00 9.56845803e-01 0.00000000e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 7.17634352e-01 7.17634352e-01 4.78422901e-01 4.78422901e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 1.67448016e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 9.56845803e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 9.56845803e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 7.17634352e-01 0.00000000e+00 9.56845803e-01 1.43526870e+00 1.43526870e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 9.56845803e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 7.17634352e-01 1.67448016e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 1.19605725e+00 7.17634352e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 1.19605725e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 1.43526870e+00 4.78422901e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 9.56845803e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 9.56845803e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 1.43526870e+00 0.00000000e+00 9.56845803e-01 2.39211451e-01 4.78422901e-01 9.56845803e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 9.56845803e-01 7.17634352e-01 0.00000000e+00 7.17634352e-01 7.17634352e-01 7.17634352e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 9.56845803e-01 4.78422901e-01 2.39211451e-01 7.17634352e-01 9.56845803e-01 9.56845803e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 9.56845803e-01 4.78422901e-01 7.17634352e-01 1.43526870e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 1.19605725e+00 1.19605725e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 0.00000000e+00 9.56845803e-01 1.67448016e+00 7.17634352e-01 9.56845803e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 4.78422901e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 1.19605725e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 7.17634352e-01 1.43526870e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 1.19605725e+00 0.00000000e+00 2.39211451e-01 1.19605725e+00 7.17634352e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 1.19605725e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 7.17634352e-01 4.78422901e-01 7.17634352e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 9.56845803e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 9.56845803e-01 4.78422901e-01 4.78422901e-01 9.56845803e-01 7.17634352e-01 2.39211451e-01 9.56845803e-01 0.00000000e+00 2.39211451e-01 1.67448016e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 7.17634352e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 1.67448016e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 1.19605725e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 1.19605725e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 9.56845803e-01 4.78422901e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 7.17634352e-01 2.39211451e-01 1.19605725e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 1.19605725e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 7.17634352e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 1.43526870e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 9.56845803e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 4.78422901e-01 4.78422901e-01 7.17634352e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.15290306e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 4.78422901e-01 9.56845803e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 7.17634352e-01 1.19605725e+00 4.78422901e-01 7.17634352e-01 0.00000000e+00 4.78422901e-01 1.19605725e+00 7.17634352e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 9.56845803e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 9.56845803e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 9.56845803e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 9.56845803e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 9.56845803e-01 4.78422901e-01 7.17634352e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 9.56845803e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 9.56845803e-01 2.39211451e-01 7.17634352e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 9.56845803e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 1.43526870e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 1.19605725e+00 4.78422901e-01 4.78422901e-01 7.17634352e-01 2.39211451e-01 7.17634352e-01 7.17634352e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 7.17634352e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 3.10974886e+00 1.67448016e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 7.17634352e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 4.78422901e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 1.19605725e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 4.78422901e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 9.56845803e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 9.56845803e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 9.56845803e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 7.17634352e-01 7.17634352e-01 0.00000000e+00 7.17634352e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 9.56845803e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 1.43526870e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 9.56845803e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 9.56845803e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 1.67448016e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 9.56845803e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 9.56845803e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 9.56845803e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 9.56845803e-01 7.17634352e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 9.56845803e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 7.17634352e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.19605725e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 1.19605725e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 7.17634352e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 9.56845803e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 9.56845803e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.58817176e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 1.19605725e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 9.56845803e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 9.56845803e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 9.56845803e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 9.56845803e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 9.56845803e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 7.17634352e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 4.78422901e-01 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 1.91369161e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 9.56845803e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 9.56845803e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.17634352e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 2.39211451e-01 7.17634352e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 0.00000000e+00 3.10974886e+00 0.00000000e+00 9.56845803e-01 4.78422901e-01 2.39211451e-01 0.00000000e+00 4.78422901e-01 7.17634352e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 4.78422901e-01 9.56845803e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 4.78422901e-01 2.39211451e-01 1.19605725e+00 2.39211451e-01 2.39211451e-01 5.98028627e+00 7.17634352e-01 7.17634352e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 4.78422901e-01 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 4.78422901e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.39211451e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_high_e_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_high_e_BDTG.weights.xml index 5c9df7a2fe44..87a0b78f1bb5 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_high_e_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_high_e_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - - + + - + - - - - + + + + @@ -73,5882 +73,6014 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 8.81500808e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 5.87667205e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 5.87667205e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 5.87667205e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 5.87667205e-02 2.93833603e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 2.93833603e-02 8.81500808e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.87667205e-02 2.93833603e-02 8.81500808e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 8.81500808e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 5.87667205e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 8.81500808e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 5.87667205e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 5.87667205e-02 5.87667205e-02 8.81500808e-02 5.87667205e-02 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 5.87667205e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 5.87667205e-02 2.93833603e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 5.87667205e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 1.46916801e-01 0.00000000e+00 2.93833603e-02 0.00000000e+00 5.87667205e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 1.17533441e-01 0.00000000e+00 0.00000000e+00 8.81500808e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 5.87667205e-02 1.17533441e-01 5.87667205e-02 2.93833603e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 8.81500808e-02 2.93833603e-02 8.81500808e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 8.81500808e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 2.93833603e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 5.87667205e-02 5.87667205e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 8.81500808e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 8.81500808e-02 2.93833603e-02 5.87667205e-02 0.00000000e+00 2.93833603e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 5.87667205e-02 8.81500808e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 5.87667205e-02 1.17533441e-01 0.00000000e+00 2.93833603e-02 5.87667205e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 5.87667205e-02 1.17533441e-01 2.93833603e-02 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 5.87667205e-02 8.81500808e-02 8.81500808e-02 2.93833603e-02 1.17533441e-01 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 5.87667205e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 5.87667205e-02 5.87667205e-02 0.00000000e+00 5.87667205e-02 0.00000000e+00 0.00000000e+00 5.87667205e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 0.00000000e+00 5.87667205e-02 8.81500808e-02 5.87667205e-02 0.00000000e+00 8.81500808e-02 2.93833603e-02 5.87667205e-02 0.00000000e+00 5.87667205e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 8.81500808e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 1.17533441e-01 2.93833603e-02 5.87667205e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 5.87667205e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 5.87667205e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 8.81500808e-02 2.93833603e-02 5.87667205e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 2.93833603e-02 2.93833603e-02 8.81500808e-02 8.81500808e-02 2.93833603e-02 5.87667205e-02 8.81500808e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 8.81500808e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 1.46916801e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.87667205e-02 2.93833603e-02 8.81500808e-02 5.87667205e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 1.17533441e-01 0.00000000e+00 2.93833603e-02 8.81500808e-02 0.00000000e+00 5.87667205e-02 5.87667205e-02 2.93833603e-02 8.81500808e-02 8.81500808e-02 2.93833603e-02 8.81500808e-02 5.87667205e-02 0.00000000e+00 2.93833603e-02 5.87667205e-02 0.00000000e+00 2.93833603e-02 5.87667205e-02 5.87667205e-02 0.00000000e+00 8.81500808e-02 5.87667205e-02 8.81500808e-02 2.05683522e-01 5.87667205e-02 2.93833603e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 2.93833603e-02 8.81500808e-02 0.00000000e+00 2.93833603e-02 8.81500808e-02 5.87667205e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 8.81500808e-02 2.93833603e-02 8.81500808e-02 1.46916801e-01 8.81500808e-02 2.93833603e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 5.87667205e-02 0.00000000e+00 1.17533441e-01 2.93833603e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 8.81500808e-02 0.00000000e+00 0.00000000e+00 5.87667205e-02 5.87667205e-02 5.87667205e-02 5.87667205e-02 8.81500808e-02 8.81500808e-02 0.00000000e+00 8.81500808e-02 8.81500808e-02 8.81500808e-02 2.93833603e-02 5.87667205e-02 1.17533441e-01 5.87667205e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 0.00000000e+00 2.93833603e-02 8.81500808e-02 1.46916801e-01 2.93833603e-02 2.93833603e-02 2.93833603e-02 1.17533441e-01 8.81500808e-02 1.46916801e-01 5.87667205e-02 8.81500808e-02 2.35066882e-01 5.87667205e-02 5.87667205e-02 1.17533441e-01 2.93833603e-02 5.87667205e-02 0.00000000e+00 5.87667205e-02 5.87667205e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 2.93833603e-02 8.81500808e-02 5.87667205e-02 2.93833603e-02 8.81500808e-02 5.87667205e-02 8.81500808e-02 5.87667205e-02 1.17533441e-01 0.00000000e+00 8.81500808e-02 1.17533441e-01 2.93833603e-02 5.87667205e-02 2.93833603e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 5.87667205e-02 2.93833603e-02 5.87667205e-02 0.00000000e+00 0.00000000e+00 1.17533441e-01 5.87667205e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 2.93833603e-02 0.00000000e+00 1.17533441e-01 8.81500808e-02 5.87667205e-02 8.81500808e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 2.93833603e-02 1.17533441e-01 5.87667205e-02 8.81500808e-02 5.87667205e-02 2.93833603e-02 5.87667205e-02 8.81500808e-02 5.87667205e-02 2.05683522e-01 5.87667205e-02 5.87667205e-02 2.93833603e-02 1.46916801e-01 8.81500808e-02 8.81500808e-02 2.93833603e-02 8.81500808e-02 2.93833603e-02 8.81500808e-02 5.87667205e-02 5.87667205e-02 8.81500808e-02 8.81500808e-02 8.81500808e-02 1.17533441e-01 8.81500808e-02 1.17533441e-01 2.93833603e-02 1.17533441e-01 8.81500808e-02 5.87667205e-02 1.76300162e-01 8.81500808e-02 1.46916801e-01 0.00000000e+00 1.17533441e-01 1.17533441e-01 5.87667205e-02 1.76300162e-01 5.87667205e-02 1.17533441e-01 5.87667205e-02 1.17533441e-01 8.81500808e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 1.17533441e-01 2.93833603e-02 5.87667205e-02 5.87667205e-02 1.76300162e-01 5.87667205e-02 5.87667205e-02 2.93833603e-02 1.46916801e-01 1.17533441e-01 1.46916801e-01 5.87667205e-02 5.87667205e-02 1.46916801e-01 1.17533441e-01 8.81500808e-02 8.81500808e-02 8.81500808e-02 8.81500808e-02 2.05683522e-01 1.76300162e-01 1.17533441e-01 1.17533441e-01 1.46916801e-01 8.81500808e-02 1.17533441e-01 2.93833603e-02 1.46916801e-01 1.46916801e-01 8.81500808e-02 1.17533441e-01 2.35066882e-01 1.76300162e-01 1.46916801e-01 8.81500808e-02 2.93833603e-02 1.46916801e-01 2.93833603e-02 1.17533441e-01 1.17533441e-01 2.05683522e-01 1.46916801e-01 1.46916801e-01 1.76300162e-01 8.81500808e-02 1.46916801e-01 1.46916801e-01 2.05683522e-01 1.46916801e-01 1.76300162e-01 1.76300162e-01 2.93833603e-02 1.46916801e-01 8.81500808e-02 1.46916801e-01 5.87667205e-02 8.81500808e-02 1.46916801e-01 8.81500808e-02 0.00000000e+00 8.81500808e-02 1.17533441e-01 1.46916801e-01 0.00000000e+00 1.17533441e-01 2.35066882e-01 5.87667205e-02 1.76300162e-01 1.17533441e-01 8.81500808e-02 1.46916801e-01 1.76300162e-01 1.46916801e-01 2.05683522e-01 8.81500808e-02 5.87667205e-02 2.93833603e-02 8.81500808e-02 1.76300162e-01 5.87667205e-02 2.05683522e-01 1.76300162e-01 2.93833603e-02 1.17533441e-01 5.87667205e-02 1.46916801e-01 2.05683522e-01 1.46916801e-01 8.81500808e-02 8.81500808e-02 1.17533441e-01 1.17533441e-01 1.46916801e-01 2.35066882e-01 8.81500808e-02 1.17533441e-01 8.81500808e-02 2.05683522e-01 8.81500808e-02 1.17533441e-01 8.81500808e-02 8.81500808e-02 2.93833603e-01 2.93833603e-02 5.87667205e-02 1.46916801e-01 8.81500808e-02 1.17533441e-01 1.46916801e-01 1.17533441e-01 2.35066882e-01 2.64450242e-01 8.81500808e-02 1.17533441e-01 1.46916801e-01 2.93833603e-02 2.35066882e-01 1.17533441e-01 2.05683522e-01 2.64450242e-01 8.81500808e-02 1.46916801e-01 8.81500808e-02 2.35066882e-01 1.17533441e-01 3.23216963e-01 1.17533441e-01 1.46916801e-01 0.00000000e+00 1.46916801e-01 8.81500808e-02 1.17533441e-01 2.05683522e-01 2.05683522e-01 1.46916801e-01 2.35066882e-01 8.81500808e-02 2.35066882e-01 1.46916801e-01 8.81500808e-02 2.05683522e-01 1.76300162e-01 5.87667205e-02 2.05683522e-01 2.93833603e-02 1.17533441e-01 1.76300162e-01 1.76300162e-01 2.05683522e-01 5.87667205e-02 8.81500808e-02 1.17533441e-01 2.35066882e-01 2.93833603e-01 1.17533441e-01 2.05683522e-01 1.46916801e-01 2.64450242e-01 1.76300162e-01 1.46916801e-01 2.35066882e-01 1.46916801e-01 5.87667205e-02 1.76300162e-01 1.76300162e-01 1.17533441e-01 1.46916801e-01 1.46916801e-01 1.17533441e-01 1.17533441e-01 8.81500808e-02 1.76300162e-01 1.46916801e-01 2.35066882e-01 1.46916801e-01 1.46916801e-01 2.64450242e-01 2.64450242e-01 2.05683522e-01 8.81500808e-02 1.76300162e-01 1.76300162e-01 1.76300162e-01 2.05683522e-01 2.93833603e-01 1.46916801e-01 2.93833603e-01 2.05683522e-01 3.81983683e-01 1.76300162e-01 1.46916801e-01 2.93833603e-01 1.46916801e-01 1.46916801e-01 1.46916801e-01 2.64450242e-01 1.46916801e-01 2.35066882e-01 1.76300162e-01 2.05683522e-01 5.87667205e-02 2.93833603e-01 1.46916801e-01 1.76300162e-01 1.17533441e-01 2.35066882e-01 1.46916801e-01 2.93833603e-01 4.11367044e-01 2.64450242e-01 2.35066882e-01 2.93833603e-01 2.64450242e-01 1.46916801e-01 2.05683522e-01 4.70133764e-01 2.35066882e-01 1.46916801e-01 2.35066882e-01 2.64450242e-01 2.64450242e-01 3.23216963e-01 2.35066882e-01 2.05683522e-01 2.93833603e-01 1.76300162e-01 2.64450242e-01 2.05683522e-01 2.35066882e-01 2.05683522e-01 1.76300162e-01 2.05683522e-01 8.81500808e-02 3.23216963e-01 2.05683522e-01 1.76300162e-01 2.93833603e-01 2.35066882e-01 1.46916801e-01 3.23216963e-01 2.93833603e-01 2.93833603e-01 1.76300162e-01 3.81983683e-01 3.23216963e-01 2.64450242e-01 4.11367044e-01 3.23216963e-01 5.58283845e-01 4.11367044e-01 5.87667205e-01 2.64450242e-01 2.64450242e-01 2.93833603e-01 3.23216963e-01 3.52600323e-01 3.23216963e-01 2.93833603e-01 1.46916801e-01 2.35066882e-01 2.93833603e-01 3.52600323e-01 4.40750404e-01 4.40750404e-01 3.23216963e-01 5.58283845e-01 4.11367044e-01 2.64450242e-01 2.35066882e-01 4.11367044e-01 3.52600323e-01 3.81983683e-01 1.76300162e-01 4.11367044e-01 3.81983683e-01 5.58283845e-01 2.64450242e-01 2.35066882e-01 6.17050565e-01 3.52600323e-01 4.40750404e-01 3.52600323e-01 4.99517124e-01 6.17050565e-01 4.70133764e-01 4.70133764e-01 4.40750404e-01 5.28900485e-01 4.99517124e-01 2.93833603e-01 4.11367044e-01 3.23216963e-01 6.75817286e-01 6.75817286e-01 4.99517124e-01 2.35066882e-01 5.87667205e-01 3.23216963e-01 4.40750404e-01 4.99517124e-01 4.99517124e-01 6.75817286e-01 7.05200646e-01 7.05200646e-01 6.75817286e-01 5.58283845e-01 2.64450242e-01 6.17050565e-01 7.34584006e-01 6.75817286e-01 7.05200646e-01 5.58283845e-01 7.05200646e-01 4.70133764e-01 6.17050565e-01 7.05200646e-01 4.40750404e-01 8.52117447e-01 7.93350727e-01 7.34584006e-01 1.08718433e+00 5.58283845e-01 6.46433926e-01 1.17533441e+00 9.40267528e-01 7.63967367e-01 5.87667205e-01 9.10884168e-01 7.34584006e-01 7.63967367e-01 9.40267528e-01 1.02841761e+00 8.52117447e-01 9.99034249e-01 1.05780097e+00 8.22734087e-01 9.69650888e-01 1.05780097e+00 1.41040129e+00 1.46916801e+00 1.46916801e+00 1.20471777e+00 1.17533441e+00 1.26348449e+00 1.29286785e+00 1.32225121e+00 1.46916801e+00 1.32225121e+00 1.43978465e+00 1.46916801e+00 1.32225121e+00 1.76300162e+00 1.46916801e+00 1.79238498e+00 1.90991842e+00 1.61608481e+00 1.90991842e+00 1.96868514e+00 1.58670145e+00 2.20375202e+00 2.38005218e+00 2.35066882e+00 2.49758562e+00 2.64450242e+00 2.14498530e+00 2.40943554e+00 2.38005218e+00 2.67388578e+00 3.23216963e+00 2.35066882e+00 2.90895266e+00 3.02648611e+00 2.73265250e+00 2.96771939e+00 3.67292003e+00 2.93833603e+00 3.26155299e+00 3.79045347e+00 3.76107011e+00 3.61415331e+00 3.20278627e+00 4.20182052e+00 4.08428707e+00 4.58380420e+00 4.40750404e+00 4.52503748e+00 5.02455460e+00 5.52407173e+00 4.58380420e+00 4.73072100e+00 4.93640452e+00 4.93640452e+00 5.37715493e+00 5.99420549e+00 5.28900485e+00 6.25865573e+00 5.84728869e+00 6.17050565e+00 6.25865573e+00 6.72878950e+00 6.69940614e+00 7.05200646e+00 7.31645670e+00 7.99227399e+00 7.22830662e+00 7.43399014e+00 7.93350727e+00 7.19892326e+00 7.25768998e+00 8.69747463e+00 8.75624135e+00 9.43205864e+00 9.34390856e+00 9.40267528e+00 9.19699176e+00 9.57897544e+00 1.08424599e+01 1.00784926e+01 1.07543099e+01 1.13419771e+01 1.26936116e+01 1.14301271e+01 1.23703947e+01 1.25760782e+01 1.30168286e+01 1.37514126e+01 1.26936116e+01 1.37514126e+01 1.31637454e+01 1.36044958e+01 1.52205806e+01 1.52205806e+01 1.34575790e+01 1.49855137e+01 1.43390798e+01 1.41040129e+01 1.51030472e+01 1.34575790e+01 1.33106622e+01 1.42803131e+01 1.36926459e+01 1.41040129e+01 1.35457291e+01 1.27229950e+01 1.31931288e+01 1.37220292e+01 1.37807960e+01 1.44272299e+01 1.30755953e+01 1.43390798e+01 1.20177943e+01 1.20177943e+01 1.26642283e+01 1.14888939e+01 1.19884110e+01 1.22822446e+01 1.23410113e+01 1.32225121e+01 1.20177943e+01 1.16651940e+01 1.16358107e+01 9.69650888e+00 1.06073931e+01 8.93254152e+00 9.34390856e+00 8.84439144e+00 9.40267528e+00 9.49082536e+00 9.81404232e+00 9.16760840e+00 8.57994119e+00 7.75720711e+00 7.69844039e+00 7.19892326e+00 8.31549095e+00 7.96289063e+00 7.52214022e+00 7.43399014e+00 7.58090694e+00 6.72878950e+00 7.66905703e+00 6.31742245e+00 6.40557253e+00 5.17147140e+00 5.93543877e+00 5.23023812e+00 4.78948772e+00 5.87667205e+00 4.23120388e+00 4.93640452e+00 3.93737027e+00 4.81887108e+00 4.84825444e+00 4.14305380e+00 4.08428707e+00 3.49661987e+00 3.81983683e+00 3.52600323e+00 3.58476995e+00 3.46723651e+00 3.64353667e+00 3.61415331e+00 3.55538659e+00 2.90895266e+00 2.49758562e+00 2.61511906e+00 3.23216963e+00 2.82080258e+00 2.49758562e+00 2.90895266e+00 2.52696898e+00 2.43881890e+00 2.82080258e+00 2.08621858e+00 2.64450242e+00 2.61511906e+00 1.99806850e+00 1.52793473e+00 1.85115170e+00 1.85115170e+00 1.76300162e+00 1.79238498e+00 1.70423489e+00 1.76300162e+00 1.70423489e+00 1.43978465e+00 1.49855137e+00 1.49855137e+00 1.38101793e+00 1.35163457e+00 1.73361825e+00 1.41040129e+00 1.43978465e+00 1.26348449e+00 1.35163457e+00 1.17533441e+00 1.05780097e+00 1.05780097e+00 1.52793473e+00 1.49855137e+00 9.69650888e-01 9.69650888e-01 1.32225121e+00 9.69650888e-01 6.75817286e-01 9.40267528e-01 9.10884168e-01 6.75817286e-01 6.46433926e-01 9.40267528e-01 8.52117447e-01 1.02841761e+00 6.17050565e-01 7.34584006e-01 7.63967367e-01 6.75817286e-01 7.63967367e-01 6.17050565e-01 8.81500808e-01 7.63967367e-01 7.93350727e-01 5.58283845e-01 4.70133764e-01 7.63967367e-01 6.17050565e-01 5.58283845e-01 8.22734087e-01 7.34584006e-01 6.75817286e-01 4.99517124e-01 5.87667205e-01 3.23216963e-01 6.75817286e-01 3.81983683e-01 6.17050565e-01 4.40750404e-01 4.99517124e-01 6.75817286e-01 3.23216963e-01 5.87667205e-01 3.81983683e-01 4.99517124e-01 2.05683522e-01 4.70133764e-01 2.35066882e-01 6.46433926e-01 3.23216963e-01 3.81983683e-01 2.93833603e-01 3.52600323e-01 4.40750404e-01 2.93833603e-01 5.28900485e-01 3.52600323e-01 1.76300162e-01 3.23216963e-01 4.40750404e-01 1.46916801e-01 2.64450242e-01 2.93833603e-01 3.23216963e-01 2.05683522e-01 5.58283845e-01 3.81983683e-01 1.46916801e-01 3.23216963e-01 2.64450242e-01 2.64450242e-01 2.93833603e-01 2.05683522e-01 4.40750404e-01 3.52600323e-01 3.81983683e-01 4.40750404e-01 3.23216963e-01 2.35066882e-01 2.35066882e-01 2.64450242e-01 1.46916801e-01 3.23216963e-01 1.76300162e-01 2.35066882e-01 2.05683522e-01 2.05683522e-01 2.35066882e-01 2.64450242e-01 1.46916801e-01 3.81983683e-01 2.64450242e-01 1.76300162e-01 2.93833603e-01 2.35066882e-01 1.17533441e-01 2.35066882e-01 1.76300162e-01 1.17533441e-01 2.05683522e-01 2.05683522e-01 1.76300162e-01 8.81500808e-02 1.76300162e-01 1.76300162e-01 2.93833603e-02 1.76300162e-01 1.76300162e-01 1.46916801e-01 1.46916801e-01 1.76300162e-01 2.05683522e-01 1.76300162e-01 8.81500808e-02 1.46916801e-01 1.76300162e-01 2.05683522e-01 1.17533441e-01 1.17533441e-01 1.76300162e-01 8.81500808e-02 1.76300162e-01 1.46916801e-01 1.46916801e-01 1.17533441e-01 1.46916801e-01 8.81500808e-02 1.17533441e-01 1.17533441e-01 1.46916801e-01 8.81500808e-02 1.46916801e-01 0.00000000e+00 2.93833603e-02 2.93833603e-02 1.17533441e-01 5.87667205e-02 1.17533441e-01 1.17533441e-01 8.81500808e-02 5.87667205e-02 1.46916801e-01 8.81500808e-02 5.87667205e-02 8.81500808e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 8.81500808e-02 2.93833603e-02 1.46916801e-01 8.81500808e-02 8.81500808e-02 1.17533441e-01 1.76300162e-01 1.46916801e-01 1.76300162e-01 2.93833603e-02 2.93833603e-02 5.87667205e-02 2.93833603e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 5.87667205e-02 5.87667205e-02 1.46916801e-01 5.87667205e-02 8.81500808e-02 2.93833603e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 8.81500808e-02 0.00000000e+00 5.87667205e-02 8.81500808e-02 5.87667205e-02 0.00000000e+00 5.87667205e-02 5.87667205e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 5.87667205e-02 5.87667205e-02 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 5.87667205e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 5.87667205e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 5.87667205e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.81500808e-02 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.17533441e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 0.00000000e+00 2.93833603e-02 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.93833603e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 1.06231770e-02 1.06231770e-02 0.00000000e+00 0.00000000e+00 1.06231770e-02 3.18695309e-02 2.12463539e-02 1.06231770e-02 1.06231770e-02 1.06231770e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.12463539e-02 2.12463539e-02 1.06231770e-02 3.18695309e-02 6.37390617e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 1.06231770e-02 1.06231770e-02 1.06231770e-02 1.06231770e-02 3.18695309e-02 1.06231770e-02 7.43622387e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 1.06231770e-02 1.06231770e-02 1.06231770e-02 1.06231770e-02 6.37390617e-02 7.43622387e-02 1.06231770e-02 1.06231770e-02 2.12463539e-02 3.18695309e-02 6.37390617e-02 1.06231770e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 1.06231770e-02 1.06231770e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 2.12463539e-02 1.06231770e-02 4.24927078e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 2.12463539e-02 2.12463539e-02 0.00000000e+00 5.31158848e-02 3.18695309e-02 4.24927078e-02 6.37390617e-02 6.37390617e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 1.06231770e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 2.12463539e-02 4.24927078e-02 5.31158848e-02 8.49854156e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 0.00000000e+00 4.24927078e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 2.12463539e-02 7.43622387e-02 5.31158848e-02 1.06231770e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 7.43622387e-02 9.56085926e-02 4.24927078e-02 7.43622387e-02 2.12463539e-02 6.37390617e-02 1.06231770e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 4.24927078e-02 2.12463539e-02 1.06231770e-02 4.24927078e-02 3.18695309e-02 1.06231770e-02 1.06231770e-02 2.12463539e-02 2.12463539e-02 7.43622387e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 1.06231770e-02 3.18695309e-02 3.18695309e-02 8.49854156e-02 2.12463539e-02 8.49854156e-02 1.06231770e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 0.00000000e+00 3.18695309e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 2.12463539e-02 3.18695309e-02 2.12463539e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 9.56085926e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 2.12463539e-02 6.37390617e-02 1.06231770e-02 1.06231770e-02 1.06231770e-02 6.37390617e-02 5.31158848e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 8.49854156e-02 6.37390617e-02 8.49854156e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 8.49854156e-02 6.37390617e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 1.06231770e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 2.12463539e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 2.12463539e-02 9.56085926e-02 5.31158848e-02 6.37390617e-02 6.37390617e-02 3.18695309e-02 8.49854156e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 5.31158848e-02 7.43622387e-02 3.18695309e-02 6.37390617e-02 6.37390617e-02 1.06231770e-02 9.56085926e-02 6.37390617e-02 8.49854156e-02 4.24927078e-02 1.06231770e-02 2.12463539e-02 9.56085926e-02 3.18695309e-02 4.24927078e-02 1.06231770e-02 3.18695309e-02 3.18695309e-02 8.49854156e-02 4.24927078e-02 6.37390617e-02 8.49854156e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 1.06231770e-01 6.37390617e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 2.12463539e-02 3.18695309e-02 7.43622387e-02 2.12463539e-02 5.31158848e-02 8.49854156e-02 2.12463539e-02 6.37390617e-02 2.12463539e-02 4.24927078e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 7.43622387e-02 1.06231770e-02 6.37390617e-02 6.37390617e-02 3.18695309e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 1.06231770e-02 8.49854156e-02 2.12463539e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 1.06231770e-02 1.06231770e-02 3.18695309e-02 6.37390617e-02 8.49854156e-02 8.49854156e-02 7.43622387e-02 1.06231770e-02 4.24927078e-02 8.49854156e-02 4.24927078e-02 5.31158848e-02 1.06231770e-01 5.31158848e-02 7.43622387e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 1.27478123e-01 5.31158848e-02 5.31158848e-02 1.27478123e-01 3.18695309e-02 5.31158848e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 8.49854156e-02 3.18695309e-02 2.12463539e-02 5.31158848e-02 7.43622387e-02 7.43622387e-02 5.31158848e-02 6.37390617e-02 1.06231770e-01 5.31158848e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 8.49854156e-02 5.31158848e-02 5.31158848e-02 9.56085926e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 2.12463539e-02 5.31158848e-02 4.24927078e-02 6.37390617e-02 2.12463539e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 9.56085926e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 8.49854156e-02 8.49854156e-02 8.49854156e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 9.56085926e-02 2.12463539e-02 5.31158848e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 1.06231770e-02 5.31158848e-02 1.06231770e-02 6.37390617e-02 6.37390617e-02 8.49854156e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 6.37390617e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 7.43622387e-02 6.37390617e-02 9.56085926e-02 4.24927078e-02 5.31158848e-02 1.06231770e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 1.16854946e-01 5.31158848e-02 1.38101300e-01 5.31158848e-02 5.31158848e-02 7.43622387e-02 2.12463539e-02 9.56085926e-02 9.56085926e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 9.56085926e-02 4.24927078e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 6.37390617e-02 8.49854156e-02 6.37390617e-02 7.43622387e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 2.12463539e-02 1.16854946e-01 6.37390617e-02 5.31158848e-02 5.31158848e-02 8.49854156e-02 4.24927078e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 8.49854156e-02 8.49854156e-02 8.49854156e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 6.37390617e-02 4.24927078e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 4.24927078e-02 1.06231770e-01 6.37390617e-02 7.43622387e-02 8.49854156e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 8.49854156e-02 2.12463539e-02 6.37390617e-02 6.37390617e-02 1.06231770e-01 3.18695309e-02 6.37390617e-02 6.37390617e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 1.06231770e-01 8.49854156e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 8.49854156e-02 1.06231770e-01 3.18695309e-02 7.43622387e-02 6.37390617e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 6.37390617e-02 3.18695309e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 3.18695309e-02 8.49854156e-02 2.12463539e-02 4.24927078e-02 5.31158848e-02 8.49854156e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 3.18695309e-02 1.06231770e-01 8.49854156e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 7.43622387e-02 6.37390617e-02 2.12463539e-02 9.56085926e-02 4.24927078e-02 1.06231770e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 8.49854156e-02 2.12463539e-02 9.56085926e-02 6.37390617e-02 8.49854156e-02 5.31158848e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 6.37390617e-02 6.37390617e-02 1.06231770e-02 1.16854946e-01 4.24927078e-02 5.31158848e-02 8.49854156e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 2.12463539e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 3.18695309e-02 1.06231770e-02 3.18695309e-02 6.37390617e-02 7.43622387e-02 2.12463539e-02 6.37390617e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 1.16854946e-01 9.56085926e-02 4.24927078e-02 2.12463539e-02 7.43622387e-02 6.37390617e-02 4.24927078e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 3.18695309e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 6.37390617e-02 8.49854156e-02 1.06231770e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 1.16854946e-01 7.43622387e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 8.49854156e-02 9.56085926e-02 2.12463539e-02 6.37390617e-02 4.24927078e-02 1.06231770e-02 6.37390617e-02 6.37390617e-02 3.18695309e-02 6.37390617e-02 2.12463539e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 8.49854156e-02 3.18695309e-02 5.31158848e-02 8.49854156e-02 6.37390617e-02 6.37390617e-02 5.31158848e-02 0.00000000e+00 2.12463539e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 1.06231770e-01 3.18695309e-02 2.12463539e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 1.06231770e-02 8.49854156e-02 1.27478123e-01 3.18695309e-02 5.31158848e-02 5.31158848e-02 1.06231770e-01 6.37390617e-02 7.43622387e-02 5.31158848e-02 6.37390617e-02 1.06231770e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 6.37390617e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 6.37390617e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 3.18695309e-02 7.43622387e-02 4.24927078e-02 6.37390617e-02 4.24927078e-02 8.49854156e-02 5.31158848e-02 4.24927078e-02 6.37390617e-02 6.37390617e-02 3.18695309e-02 7.43622387e-02 5.31158848e-02 6.37390617e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 1.06231770e-02 7.43622387e-02 5.31158848e-02 1.06231770e-02 6.37390617e-02 1.06231770e-02 6.37390617e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 2.12463539e-02 8.49854156e-02 3.18695309e-02 1.06231770e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 2.12463539e-02 2.12463539e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 1.06231770e-02 1.06231770e-02 5.31158848e-02 7.43622387e-02 1.06231770e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 1.06231770e-02 0.00000000e+00 6.37390617e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 0.00000000e+00 4.24927078e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 8.49854156e-02 2.12463539e-02 6.37390617e-02 2.12463539e-02 3.18695309e-02 8.49854156e-02 7.43622387e-02 2.12463539e-02 5.31158848e-02 1.06231770e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 8.49854156e-02 5.31158848e-02 6.37390617e-02 7.43622387e-02 4.24927078e-02 8.49854156e-02 6.37390617e-02 7.43622387e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 7.43622387e-02 9.56085926e-02 3.18695309e-02 9.56085926e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 6.37390617e-02 1.06231770e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 7.43622387e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 1.06231770e-02 3.18695309e-02 2.12463539e-02 3.18695309e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 1.06231770e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 0.00000000e+00 1.06231770e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 9.56085926e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 2.12463539e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 3.18695309e-02 1.06231770e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 7.43622387e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 6.37390617e-02 2.12463539e-02 2.12463539e-02 3.18695309e-02 2.12463539e-02 4.24927078e-02 0.00000000e+00 4.24927078e-02 8.49854156e-02 6.37390617e-02 5.31158848e-02 6.37390617e-02 6.37390617e-02 6.37390617e-02 8.49854156e-02 2.12463539e-02 3.18695309e-02 2.12463539e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 6.37390617e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 0.00000000e+00 4.24927078e-02 2.12463539e-02 6.37390617e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 8.49854156e-02 6.37390617e-02 7.43622387e-02 5.31158848e-02 9.56085926e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 7.43622387e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 6.37390617e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 9.56085926e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 1.06231770e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 1.06231770e-02 4.24927078e-02 7.43622387e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 0.00000000e+00 6.37390617e-02 7.43622387e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 1.06231770e-02 5.31158848e-02 8.49854156e-02 7.43622387e-02 1.06231770e-02 3.18695309e-02 8.49854156e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 1.38101300e-01 5.31158848e-02 5.31158848e-02 1.06231770e-02 5.31158848e-02 4.24927078e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 6.37390617e-02 1.06231770e-01 6.37390617e-02 6.37390617e-02 2.12463539e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 2.12463539e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 3.18695309e-02 2.12463539e-02 3.18695309e-02 2.12463539e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 2.12463539e-02 5.31158848e-02 8.49854156e-02 1.06231770e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 7.43622387e-02 2.12463539e-02 7.43622387e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 1.06231770e-02 1.06231770e-02 6.37390617e-02 4.24927078e-02 8.49854156e-02 5.31158848e-02 1.06231770e-02 6.37390617e-02 2.12463539e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 1.06231770e-02 5.31158848e-02 3.18695309e-02 1.06231770e-01 6.37390617e-02 2.12463539e-02 4.24927078e-02 7.43622387e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 1.06231770e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 8.49854156e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 6.37390617e-02 5.31158848e-02 1.16854946e-01 5.31158848e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 9.56085926e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 6.37390617e-02 6.37390617e-02 6.37390617e-02 3.18695309e-02 4.24927078e-02 2.12463539e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 1.06231770e-01 8.49854156e-02 1.06231770e-02 8.49854156e-02 4.24927078e-02 8.49854156e-02 7.43622387e-02 6.37390617e-02 1.16854946e-01 6.37390617e-02 3.18695309e-02 1.06231770e-02 2.12463539e-02 7.43622387e-02 2.12463539e-02 1.06231770e-02 4.24927078e-02 2.12463539e-02 2.12463539e-02 8.49854156e-02 4.24927078e-02 2.12463539e-02 9.56085926e-02 1.06231770e-01 6.37390617e-02 3.18695309e-02 6.37390617e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 7.43622387e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 1.06231770e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 2.12463539e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 8.49854156e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 9.56085926e-02 5.31158848e-02 8.49854156e-02 7.43622387e-02 2.12463539e-02 4.24927078e-02 6.37390617e-02 7.43622387e-02 1.06231770e-02 6.37390617e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 1.06231770e-02 9.56085926e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 1.06231770e-02 1.06231770e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 7.43622387e-02 7.43622387e-02 3.18695309e-02 1.06231770e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 6.37390617e-02 2.12463539e-02 4.24927078e-02 1.06231770e-02 6.37390617e-02 1.06231770e-02 3.18695309e-02 5.31158848e-02 7.43622387e-02 7.43622387e-02 9.56085926e-02 2.12463539e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 6.37390617e-02 6.37390617e-02 2.12463539e-02 2.12463539e-02 4.24927078e-02 6.37390617e-02 7.43622387e-02 8.49854156e-02 1.06231770e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 9.56085926e-02 5.31158848e-02 1.06231770e-02 7.43622387e-02 7.43622387e-02 3.18695309e-02 6.37390617e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 9.56085926e-02 3.18695309e-02 6.37390617e-02 2.12463539e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 1.06231770e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 6.37390617e-02 6.37390617e-02 2.12463539e-02 1.06231770e-02 2.12463539e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 7.43622387e-02 2.12463539e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 2.12463539e-01 5.31158848e-02 1.06231770e-01 5.31158848e-02 6.37390617e-02 8.49854156e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 1.27478123e-01 4.24927078e-02 6.37390617e-02 6.37390617e-02 8.49854156e-02 3.18695309e-02 1.06231770e-02 7.43622387e-02 6.37390617e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 2.12463539e-02 6.37390617e-02 3.18695309e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 1.27478123e-01 4.24927078e-02 8.49854156e-02 2.12463539e-02 5.31158848e-02 4.24927078e-02 7.43622387e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 1.06231770e-02 2.12463539e-02 4.24927078e-02 0.00000000e+00 6.37390617e-02 2.12463539e-02 7.43622387e-02 4.24927078e-02 1.06231770e-02 5.31158848e-02 5.31158848e-02 8.49854156e-02 7.43622387e-02 4.24927078e-02 9.56085926e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 9.56085926e-02 5.31158848e-02 8.49854156e-02 7.43622387e-02 0.00000000e+00 3.18695309e-02 8.49854156e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 6.37390617e-02 1.06231770e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 9.56085926e-02 3.18695309e-02 9.56085926e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 2.12463539e-02 1.06231770e-02 1.06231770e-02 5.31158848e-02 0.00000000e+00 6.37390617e-02 1.06231770e-01 5.31158848e-02 8.49854156e-02 2.12463539e-02 4.24927078e-02 6.37390617e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 6.37390617e-02 7.43622387e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 1.06231770e-02 9.56085926e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 7.43622387e-02 2.12463539e-02 4.24927078e-02 8.49854156e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 1.06231770e-02 6.37390617e-02 3.18695309e-02 1.06231770e-02 1.06231770e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 1.06231770e-02 4.24927078e-02 3.18695309e-02 0.00000000e+00 1.06231770e-02 1.06231770e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 2.12463539e-02 2.12463539e-02 0.00000000e+00 4.24927078e-02 6.37390617e-02 6.37390617e-02 6.37390617e-02 7.43622387e-02 1.06231770e-02 2.12463539e-02 5.31158848e-02 6.37390617e-02 2.12463539e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 0.00000000e+00 3.18695309e-02 9.56085926e-02 7.43622387e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 8.49854156e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 8.49854156e-02 4.24927078e-02 4.24927078e-02 1.06231770e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 3.18695309e-02 1.06231770e-02 3.18695309e-02 7.43622387e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 1.06231770e-02 3.18695309e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 6.37390617e-02 1.06231770e-02 9.56085926e-02 5.31158848e-02 6.37390617e-02 7.43622387e-02 4.24927078e-02 1.59347654e-01 5.31158848e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 8.49854156e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 1.06231770e-02 3.18695309e-02 3.18695309e-02 6.37390617e-02 2.12463539e-02 3.18695309e-02 9.56085926e-02 1.06231770e-02 4.24927078e-02 2.12463539e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 2.12463539e-02 1.06231770e-02 9.56085926e-02 3.18695309e-01 3.18695309e-02 6.37390617e-02 5.31158848e-02 9.56085926e-02 4.24927078e-02 1.27478123e-01 8.49854156e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 3.18695309e-02 7.43622387e-02 2.12463539e-02 4.24927078e-02 2.12463539e-02 6.37390617e-02 9.56085926e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 4.24927078e-02 6.37390617e-02 2.12463539e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 1.06231770e-01 2.12463539e-02 7.43622387e-02 3.18695309e-02 7.43622387e-02 5.31158848e-02 9.56085926e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 5.31158848e-02 6.37390617e-02 8.49854156e-02 5.31158848e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 4.24927078e-02 8.49854156e-02 3.18695309e-02 6.37390617e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 9.56085926e-02 6.37390617e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 6.37390617e-02 1.80594008e-01 4.24927078e-02 2.12463539e-02 5.31158848e-02 6.37390617e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 5.31158848e-02 9.56085926e-02 2.12463539e-02 9.56085926e-02 6.37390617e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 2.12463539e-02 2.12463539e-02 6.37390617e-02 5.31158848e-02 2.12463539e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 6.37390617e-02 6.37390617e-02 7.43622387e-02 9.56085926e-02 5.31158848e-02 1.69970831e-01 2.12463539e-02 5.31158848e-02 4.24927078e-02 2.12463539e-02 4.24927078e-02 1.06231770e-02 2.12463539e-02 2.12463539e-02 7.43622387e-02 5.31158848e-02 6.37390617e-02 2.12463539e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 9.56085926e-02 3.18695309e-02 8.49854156e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 1.06231770e-02 7.43622387e-02 7.43622387e-02 2.12463539e-02 5.31158848e-02 2.12463539e-02 7.43622387e-02 2.12463539e-02 2.12463539e-02 5.31158848e-02 1.06231770e-01 3.18695309e-02 0.00000000e+00 2.12463539e-02 3.18695309e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 8.49854156e-02 8.49854156e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 4.24927078e-02 3.18695309e-02 1.16854946e-01 4.24927078e-02 4.24927078e-02 1.06231770e-02 8.49854156e-02 1.06231770e-02 8.49854156e-02 7.43622387e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 2.12463539e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 8.49854156e-02 4.24927078e-02 4.24927078e-02 7.43622387e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 8.49854156e-02 4.24927078e-02 0.00000000e+00 7.43622387e-02 6.37390617e-02 2.12463539e-02 3.18695309e-02 9.56085926e-02 5.31158848e-02 9.56085926e-02 5.31158848e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 2.12463539e-02 3.18695309e-02 7.43622387e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 3.18695309e-02 7.43622387e-02 2.12463539e-02 9.56085926e-02 1.06231770e-02 9.56085926e-02 3.18695309e-02 5.31158848e-02 7.43622387e-02 6.37390617e-02 5.31158848e-02 8.49854156e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 6.37390617e-02 8.49854156e-02 0.00000000e+00 2.12463539e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 1.06231770e-02 2.12463539e-02 3.18695309e-02 7.43622387e-02 4.24927078e-02 1.06231770e-02 2.12463539e-02 3.18695309e-02 1.06231770e-02 2.12463539e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 7.43622387e-02 5.31158848e-02 1.06231770e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 7.43622387e-02 1.06231770e-02 1.38101300e-01 3.18695309e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 1.06231770e-02 5.31158848e-02 1.16854946e-01 4.24927078e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 9.56085926e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 1.06231770e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 5.31158848e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 8.49854156e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 7.43622387e-02 8.49854156e-02 2.12463539e-02 6.37390617e-02 0.00000000e+00 4.24927078e-02 8.49854156e-02 3.18695309e-02 1.27478123e-01 2.12463539e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 6.37390617e-02 0.00000000e+00 5.31158848e-02 6.37390617e-02 3.18695309e-02 3.18695309e-02 1.06231770e-02 7.43622387e-02 6.37390617e-02 9.56085926e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 7.43622387e-02 6.37390617e-02 6.37390617e-02 6.37390617e-02 6.37390617e-02 2.12463539e-02 8.49854156e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 1.06231770e-02 4.24927078e-02 8.49854156e-02 1.06231770e-02 2.12463539e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 6.37390617e-02 8.49854156e-02 8.49854156e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 7.43622387e-02 8.49854156e-02 7.43622387e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 1.06231770e-01 3.18695309e-02 1.06231770e-02 5.31158848e-02 4.24927078e-02 7.43622387e-02 7.43622387e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 1.16854946e-01 4.24927078e-02 6.37390617e-02 4.24927078e-02 6.37390617e-02 2.12463539e-02 5.31158848e-02 4.24927078e-02 2.12463539e-02 1.06231770e-02 4.24927078e-02 1.06231770e-02 6.37390617e-02 1.06231770e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 7.43622387e-02 8.49854156e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 6.37390617e-02 6.37390617e-02 4.24927078e-02 7.43622387e-02 1.06231770e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 7.43622387e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 1.06231770e-01 5.31158848e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 2.12463539e-02 7.43622387e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 8.49854156e-02 6.37390617e-02 6.37390617e-02 2.12463539e-02 2.12463539e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 2.12463539e-02 6.37390617e-02 3.18695309e-02 1.06231770e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 2.12463539e-02 1.06231770e-01 6.37390617e-02 8.49854156e-02 2.12463539e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 3.18695309e-02 5.31158848e-02 8.49854156e-02 2.12463539e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 6.37390617e-02 2.12463539e-02 4.24927078e-02 7.43622387e-02 2.12463539e-02 3.18695309e-02 2.12463539e-02 8.49854156e-02 3.18695309e-02 1.06231770e-02 8.49854156e-02 3.18695309e-02 6.37390617e-02 3.18695309e-02 8.49854156e-02 2.12463539e-02 8.49854156e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 2.12463539e-02 7.43622387e-02 3.18695309e-02 2.12463539e-02 6.37390617e-02 7.43622387e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 8.49854156e-02 2.12463539e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 1.91217185e-01 2.12463539e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 9.56085926e-02 3.18695309e-02 7.43622387e-02 9.56085926e-02 5.31158848e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 1.06231770e-01 5.31158848e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 8.49854156e-02 5.31158848e-02 1.06231770e-02 5.31158848e-02 5.31158848e-02 1.06231770e-02 5.31158848e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 1.06231770e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 1.06231770e-02 9.56085926e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 8.49854156e-02 2.12463539e-02 1.27478123e-01 5.31158848e-02 9.56085926e-02 2.12463539e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 2.12463539e-02 6.37390617e-02 3.18695309e-02 4.24927078e-02 8.49854156e-02 4.24927078e-02 7.43622387e-02 4.24927078e-02 9.56085926e-02 1.16854946e-01 6.37390617e-02 5.31158848e-02 1.27478123e-01 4.24927078e-02 4.24927078e-02 9.56085926e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 3.61188016e-01 4.24927078e-02 5.31158848e-02 3.18695309e-02 1.27478123e-01 4.24927078e-02 8.49854156e-02 2.12463539e-02 7.43622387e-02 2.12463539e-02 9.56085926e-02 2.12463539e-02 6.37390617e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 6.37390617e-02 7.43622387e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 2.12463539e-02 8.49854156e-02 5.31158848e-02 1.06231770e-02 6.37390617e-02 0.00000000e+00 3.18695309e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 6.37390617e-02 1.06231770e-01 2.12463539e-02 4.24927078e-02 1.06231770e-01 3.18695309e-02 5.31158848e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 1.06231770e-02 5.31158848e-02 4.24927078e-02 1.06231770e-02 5.31158848e-02 7.43622387e-02 6.37390617e-02 3.18695309e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 2.12463539e-02 8.49854156e-02 1.38101300e-01 6.37390617e-02 9.56085926e-02 2.12463539e-02 9.56085926e-02 4.24927078e-02 7.43622387e-02 7.43622387e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 2.12463539e-02 1.16854946e-01 9.56085926e-02 3.18695309e-02 1.69970831e-01 3.18695309e-02 4.24927078e-02 2.12463539e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 8.49854156e-02 3.18695309e-02 9.56085926e-02 8.49854156e-02 1.06231770e-02 0.00000000e+00 8.49854156e-02 3.18695309e-02 4.24927078e-02 8.49854156e-02 4.24927078e-02 3.18695309e-02 0.00000000e+00 3.18695309e-02 7.43622387e-02 2.12463539e-02 9.56085926e-02 1.06231770e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 9.56085926e-02 5.31158848e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 7.43622387e-02 8.49854156e-02 5.31158848e-02 4.24927078e-02 1.06231770e-01 6.37390617e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 1.48724477e-01 6.37390617e-02 6.37390617e-02 1.16854946e-01 7.43622387e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 6.37390617e-02 2.12463539e-02 5.31158848e-02 1.06231770e-01 3.18695309e-02 4.24927078e-02 3.18695309e-02 3.18695309e-02 9.56085926e-02 8.49854156e-02 7.43622387e-02 6.37390617e-02 4.24927078e-02 7.43622387e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 4.24927078e-02 2.12463539e-02 9.56085926e-02 3.18695309e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 7.43622387e-02 6.37390617e-02 7.43622387e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 2.12463539e-02 6.37390617e-02 2.12463539e-02 1.59347654e-01 4.24927078e-02 6.37390617e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 2.12463539e-02 4.24927078e-02 5.31158848e-02 9.56085926e-02 5.31158848e-02 1.06231770e-01 2.12463539e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 2.12463539e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 6.37390617e-02 7.43622387e-02 7.43622387e-02 5.31158848e-02 8.49854156e-02 9.56085926e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 1.06231770e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 1.06231770e-01 7.43622387e-02 1.06231770e-02 6.37390617e-02 2.12463539e-01 4.24927078e-02 5.31158848e-02 9.56085926e-02 1.06231770e-02 1.06231770e-02 5.31158848e-02 1.06231770e-02 3.18695309e-02 1.06231770e-02 4.24927078e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 8.49854156e-02 4.24927078e-02 5.31158848e-02 0.00000000e+00 1.06231770e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 7.43622387e-02 4.24927078e-02 4.24927078e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 1.06231770e-02 2.12463539e-02 2.12463539e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 8.49854156e-02 1.27478123e-01 4.24927078e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 6.37390617e-02 1.06231770e-02 5.31158848e-02 3.18695309e-02 8.49854156e-02 2.12463539e-02 3.18695309e-02 8.49854156e-02 6.37390617e-02 9.56085926e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 8.49854156e-02 7.43622387e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 2.12463539e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 8.49854156e-02 9.56085926e-02 6.37390617e-02 6.37390617e-02 5.31158848e-02 8.49854156e-02 5.31158848e-02 1.06231770e-02 4.24927078e-02 2.12463539e-02 5.41782025e-01 8.49854156e-02 2.12463539e-02 2.12463539e-02 7.43622387e-02 3.18695309e-02 9.56085926e-02 7.43622387e-02 1.80594008e-01 2.12463539e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 1.06231770e-01 6.37390617e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 8.49854156e-02 3.18695309e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 1.59347654e-01 4.24927078e-02 8.49854156e-02 4.24927078e-02 9.56085926e-02 4.24927078e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 3.18695309e-02 0.00000000e+00 4.24927078e-02 6.37390617e-02 6.37390617e-02 2.12463539e-02 6.37390617e-02 1.06231770e-02 3.18695309e-02 4.24927078e-02 9.56085926e-02 4.24927078e-02 3.18695309e-02 8.49854156e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 6.37390617e-02 2.12463539e-02 7.43622387e-02 6.37390617e-02 3.18695309e-02 7.43622387e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 0.00000000e+00 4.24927078e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 2.33709893e-01 6.37390617e-02 2.12463539e-02 7.43622387e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 8.49854156e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 1.06231770e-01 3.18695309e-02 7.43622387e-02 7.43622387e-02 2.12463539e-02 1.06231770e-02 5.31158848e-02 5.31158848e-02 6.37390617e-02 1.06231770e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 8.49854156e-02 4.24927078e-02 3.18695309e-02 3.18695309e-02 2.12463539e-02 2.12463539e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 8.49854156e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 1.06231770e-02 9.56085926e-02 4.24927078e-02 8.49854156e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 1.06231770e-02 5.31158848e-02 7.43622387e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 2.12463539e-02 7.43622387e-02 1.06231770e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 6.37390617e-02 1.06231770e-02 5.31158848e-02 3.18695309e-02 1.06231770e-02 8.49854156e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 8.49854156e-02 6.37390617e-02 3.18695309e-02 8.49854156e-02 1.06231770e-01 4.24927078e-02 2.12463539e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 1.16854946e-01 6.37390617e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 7.43622387e-02 4.24927078e-02 8.49854156e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 1.06231770e-01 6.37390617e-02 3.18695309e-02 2.12463539e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 9.56085926e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 8.49854156e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 1.16854946e-01 6.37390617e-02 6.37390617e-02 4.24927078e-02 5.31158848e-02 9.56085926e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 8.49854156e-02 5.31158848e-02 1.91217185e-01 6.37390617e-02 3.18695309e-02 7.43622387e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 0.00000000e+00 5.31158848e-02 3.18695309e-02 2.12463539e-02 6.37390617e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 2.12463539e-02 8.49854156e-02 4.24927078e-02 7.43622387e-02 4.24927078e-02 9.56085926e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 9.56085926e-02 5.31158848e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 1.06231770e-01 6.37390617e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 2.12463539e-02 8.49854156e-02 2.12463539e-02 8.49854156e-02 1.59347654e-01 5.31158848e-02 1.06231770e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 2.12463539e-02 7.43622387e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 6.37390617e-02 7.43622387e-02 4.24927078e-02 1.06231770e-01 1.06231770e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 8.49854156e-02 5.31158848e-02 4.24927078e-02 6.37390617e-02 3.18695309e-02 8.49854156e-02 9.56085926e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 9.56085926e-02 2.12463539e-02 5.31158848e-02 4.24927078e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 8.49854156e-02 5.31158848e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 7.43622387e-02 9.56085926e-02 5.31158848e-02 1.06231770e-01 6.37390617e-02 6.37390617e-02 6.37390617e-02 2.12463539e-01 4.24927078e-02 6.37390617e-02 5.31158848e-02 6.37390617e-02 7.43622387e-02 8.49854156e-02 1.48724477e-01 1.06231770e-01 1.16854946e-01 7.43622387e-02 6.37390617e-02 7.43622387e-02 1.06231770e-02 8.49854156e-02 8.49854156e-02 8.49854156e-02 6.37390617e-02 8.49854156e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 7.43622387e-02 2.12463539e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 8.49854156e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 7.43622387e-02 6.37390617e-02 6.37390617e-02 2.12463539e-02 1.06231770e-02 2.12463539e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 2.12463539e-02 6.37390617e-02 3.18695309e-02 9.56085926e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 1.06231770e-02 8.49854156e-02 1.06231770e-02 6.37390617e-02 7.43622387e-02 8.49854156e-02 5.31158848e-02 3.18695309e-02 7.43622387e-02 4.24927078e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 1.16854946e-01 6.37390617e-02 2.12463539e-02 6.37390617e-02 1.06231770e-01 9.56085926e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 1.06231770e-01 2.12463539e-02 8.49854156e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 1.06231770e-01 5.31158848e-02 2.12463539e-02 2.12463539e-02 5.31158848e-02 7.43622387e-02 1.06231770e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 8.49854156e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 7.43622387e-02 3.18695309e-02 7.43622387e-02 6.37390617e-02 0.00000000e+00 6.37390617e-02 3.18695309e-02 8.49854156e-02 7.43622387e-02 2.12463539e-02 8.49854156e-02 9.56085926e-02 4.24927078e-02 9.56085926e-02 1.06231770e-02 6.37390617e-02 2.12463539e-02 2.12463539e-02 6.37390617e-02 6.37390617e-02 8.49854156e-02 2.12463539e-02 7.43622387e-02 7.43622387e-02 8.49854156e-02 6.37390617e-02 5.31158848e-02 7.43622387e-02 6.37390617e-02 9.56085926e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 2.12463539e-02 1.06231770e-02 6.37390617e-02 5.31158848e-02 8.49854156e-02 5.31158848e-02 5.31158848e-02 1.06231770e-02 7.43622387e-02 1.06231770e-01 6.37390617e-02 2.12463539e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 6.37390617e-02 6.37390617e-02 1.06231770e-01 5.31158848e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 8.49854156e-02 3.18695309e-02 1.69970831e-01 1.06231770e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 2.12463539e-02 6.37390617e-02 5.31158848e-02 4.24927078e-02 1.27478123e-01 8.49854156e-02 4.24927078e-02 8.49854156e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 8.49854156e-02 7.43622387e-02 3.18695309e-02 8.49854156e-02 4.24927078e-02 8.49854156e-02 8.49854156e-02 8.49854156e-02 3.18695309e-02 7.43622387e-02 7.43622387e-02 6.37390617e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 1.16854946e-01 7.43622387e-02 2.12463539e-02 7.43622387e-02 6.37390617e-02 4.24927078e-02 6.37390617e-02 0.00000000e+00 4.24927078e-02 1.16854946e-01 7.43622387e-02 3.18695309e-02 5.31158848e-02 2.12463539e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 6.37390617e-02 2.12463539e-02 8.49854156e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 5.31158848e-02 7.43622387e-02 2.12463539e-02 8.49854156e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 1.16854946e-01 4.24927078e-02 7.43622387e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 6.37390617e-02 3.18695309e-02 1.16854946e-01 5.31158848e-02 5.31158848e-02 1.27478123e-01 4.24927078e-02 3.18695309e-02 3.18695309e-02 4.24927078e-02 7.43622387e-02 7.43622387e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 7.43622387e-02 3.18695309e-02 4.24927078e-02 6.37390617e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 8.49854156e-02 6.37390617e-02 2.12463539e-02 7.43622387e-02 6.37390617e-02 1.06231770e-01 3.18695309e-02 5.31158848e-02 5.31158848e-02 1.38101300e-01 6.37390617e-02 8.49854156e-02 5.31158848e-02 3.18695309e-02 6.37390617e-02 1.06231770e-02 9.56085926e-02 2.12463539e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 8.49854156e-02 2.12463539e-02 6.37390617e-02 7.43622387e-02 2.12463539e-02 1.06231770e-02 5.31158848e-02 7.43622387e-02 8.49854156e-02 7.43622387e-02 6.37390617e-02 4.24927078e-02 7.43622387e-02 8.49854156e-02 5.31158848e-02 1.06231770e-01 6.37390617e-02 6.37390617e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 1.06231770e-01 1.27478123e-01 4.24927078e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 6.37390617e-02 8.49854156e-02 4.24927078e-02 1.59347654e-01 8.49854156e-02 1.16854946e-01 6.37390617e-02 4.24927078e-02 5.31158848e-02 8.49854156e-02 2.12463539e-02 1.27478123e-01 6.37390617e-02 4.24927078e-02 7.43622387e-02 9.56085926e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 8.49854156e-02 5.31158848e-02 4.24927078e-02 2.12463539e-02 2.12463539e-02 9.56085926e-02 1.16854946e-01 9.56085926e-02 3.18695309e-02 6.37390617e-02 6.37390617e-02 8.49854156e-02 1.16854946e-01 3.18695309e-02 1.16854946e-01 3.18695309e-02 1.06231770e-02 5.31158848e-02 6.37390617e-02 8.49854156e-02 7.43622387e-02 6.37390617e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 8.49854156e-02 6.37390617e-02 2.12463539e-02 3.18695309e-02 8.49854156e-02 1.16854946e-01 5.31158848e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 4.24927078e-02 5.31158848e-02 2.12463539e-02 4.24927078e-02 1.16854946e-01 1.16854946e-01 7.43622387e-02 7.43622387e-02 6.37390617e-02 6.37390617e-02 3.18695309e-02 3.18695309e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 4.24927078e-02 1.06231770e-01 6.37390617e-02 2.12463539e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 7.43622387e-02 3.18695309e-02 6.37390617e-02 5.31158848e-02 4.24927078e-02 9.56085926e-02 6.37390617e-02 6.37390617e-02 5.31158848e-02 8.49854156e-02 8.49854156e-02 6.37390617e-02 1.16854946e-01 1.27478123e-01 5.31158848e-02 6.37390617e-02 9.56085926e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 6.37390617e-02 7.43622387e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 1.27478123e-01 6.37390617e-02 1.69970831e-01 3.18695309e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 4.24927078e-02 4.24927078e-02 6.37390617e-02 5.31158848e-02 9.56085926e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 1.06231770e-01 3.18695309e-02 5.31158848e-02 9.56085926e-02 4.24927078e-02 7.43622387e-02 1.16854946e-01 4.24927078e-02 6.37390617e-02 8.49854156e-02 6.37390617e-02 2.12463539e-02 3.18695309e-02 1.27478123e-01 8.49854156e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 1.06231770e-02 2.12463539e-02 6.37390617e-02 8.49854156e-02 4.24927078e-02 7.43622387e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 3.18695309e-02 5.31158848e-02 4.24927078e-02 6.37390617e-02 4.24927078e-02 6.37390617e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 8.49854156e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 2.12463539e-02 8.49854156e-02 6.37390617e-02 6.37390617e-02 3.18695309e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 5.31158848e-02 7.43622387e-02 8.49854156e-02 5.31158848e-02 7.43622387e-02 1.06231770e-01 5.31158848e-02 5.31158848e-02 6.37390617e-02 5.31158848e-02 6.37390617e-02 9.56085926e-02 5.31158848e-02 1.06231770e-01 6.37390617e-02 4.24927078e-02 2.12463539e-02 5.31158848e-02 1.38101300e-01 6.37390617e-02 4.24927078e-02 2.12463539e-01 5.31158848e-02 4.24927078e-02 5.31158848e-02 5.31158848e-02 3.18695309e-02 1.06231770e-01 9.56085926e-02 6.37390617e-02 9.56085926e-02 6.37390617e-02 6.37390617e-02 6.37390617e-02 1.06231770e-01 6.37390617e-02 6.37390617e-02 5.31158848e-02 1.06231770e-02 1.27478123e-01 5.31158848e-02 4.24927078e-02 8.49854156e-02 7.43622387e-02 9.56085926e-02 5.31158848e-02 4.24927078e-02 1.06231770e-02 4.24927078e-02 6.37390617e-02 8.49854156e-02 8.49854156e-02 6.37390617e-02 6.37390617e-02 3.18695309e-02 7.43622387e-02 5.31158848e-02 6.37390617e-02 6.37390617e-02 7.43622387e-02 6.37390617e-02 8.49854156e-02 7.43622387e-02 6.37390617e-02 4.24927078e-02 8.49854156e-02 2.12463539e-02 3.18695309e-02 4.24927078e-02 8.49854156e-02 8.49854156e-02 5.31158848e-02 2.12463539e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 2.12463539e-02 4.24927078e-02 4.24927078e-02 3.18695309e-02 6.37390617e-02 1.06231770e-02 6.37390617e-02 7.43622387e-02 7.43622387e-02 1.06231770e-01 8.49854156e-02 4.24927078e-02 6.37390617e-02 4.24927078e-02 3.18695309e-02 9.56085926e-02 9.56085926e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 7.43622387e-02 2.12463539e-02 1.16854946e-01 8.49854156e-02 7.43622387e-02 5.31158848e-02 6.37390617e-02 6.37390617e-02 9.56085926e-02 3.18695309e-02 1.16854946e-01 8.49854156e-02 3.18695309e-02 1.16854946e-01 1.27478123e-01 5.31158848e-02 6.37390617e-02 6.37390617e-02 2.12463539e-02 1.38101300e-01 6.37390617e-02 8.49854156e-02 3.18695309e-02 3.18695309e-02 9.56085926e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 1.16854946e-01 6.37390617e-02 4.24927078e-02 8.49854156e-02 2.12463539e-02 5.31158848e-02 1.06231770e-01 2.12463539e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 8.49854156e-02 6.37390617e-02 4.24927078e-02 7.43622387e-02 6.37390617e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 1.16854946e-01 3.18695309e-02 4.24927078e-02 5.31158848e-02 1.06231770e-01 1.06231770e-01 5.31158848e-02 2.12463539e-02 9.56085926e-02 2.12463539e-02 7.43622387e-02 6.37390617e-02 8.49854156e-02 6.37390617e-02 2.12463539e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 5.31158848e-02 8.49854156e-02 9.56085926e-02 9.56085926e-02 2.12463539e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 1.06231770e-01 7.43622387e-02 4.24927078e-02 5.31158848e-02 4.24927078e-02 3.18695309e-02 8.49854156e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 5.31158848e-02 8.49854156e-02 2.12463539e-02 5.31158848e-02 8.49854156e-02 7.43622387e-02 6.37390617e-02 1.06231770e-01 4.24927078e-02 6.37390617e-02 1.27478123e-01 1.06231770e-01 9.56085926e-02 4.24927078e-02 1.16854946e-01 4.24927078e-02 5.31158848e-02 7.43622387e-02 4.24927078e-02 9.56085926e-02 3.18695309e-02 4.24927078e-02 6.37390617e-02 9.56085926e-02 4.24927078e-02 1.06231770e-01 1.06231770e-01 8.49854156e-02 5.31158848e-02 1.06231770e-01 9.56085926e-02 4.24927078e-02 9.56085926e-02 1.06231770e-02 8.49854156e-02 6.37390617e-02 4.24927078e-02 1.06231770e-01 8.49854156e-02 5.31158848e-02 7.43622387e-02 7.43622387e-02 9.56085926e-02 6.37390617e-02 7.43622387e-02 9.56085926e-02 6.37390617e-02 8.49854156e-02 6.37390617e-02 3.18695309e-02 3.18695309e-02 3.18695309e-02 8.49854156e-02 6.37390617e-02 3.18695309e-02 9.56085926e-02 4.24927078e-02 3.18695309e-02 1.16854946e-01 5.31158848e-02 6.37390617e-02 6.37390617e-02 5.31158848e-02 3.18695309e-02 3.18695309e-02 6.37390617e-02 8.49854156e-02 4.24927078e-02 1.27478123e-01 8.49854156e-02 7.43622387e-02 6.37390617e-02 5.31158848e-02 4.24927078e-02 1.16854946e-01 8.49854156e-02 3.18695309e-02 5.31158848e-02 8.49854156e-02 6.37390617e-02 6.37390617e-02 6.37390617e-02 6.37390617e-02 5.31158848e-02 0.00000000e+00 8.49854156e-02 5.31158848e-02 7.43622387e-02 1.06231770e-01 4.24927078e-02 7.43622387e-02 7.43622387e-02 3.18695309e-02 7.43622387e-02 6.37390617e-02 5.31158848e-02 2.12463539e-02 1.38101300e-01 3.18695309e-02 3.18695309e-02 5.31158848e-02 5.31158848e-02 5.31158848e-02 7.43622387e-02 8.49854156e-02 8.49854156e-02 6.37390617e-02 1.06231770e-01 6.37390617e-02 6.37390617e-02 2.12463539e-02 7.43622387e-02 4.24927078e-02 5.31158848e-02 1.16854946e-01 5.31158848e-02 4.24927078e-02 8.49854156e-02 1.06231770e-02 8.49854156e-02 1.06231770e-01 8.49854156e-02 1.16854946e-01 4.24927078e-02 1.16854946e-01 5.31158848e-02 6.37390617e-02 4.24927078e-02 6.37390617e-02 8.49854156e-02 5.31158848e-02 9.56085926e-02 4.24927078e-02 6.37390617e-02 7.43622387e-02 5.31158848e-02 8.49854156e-02 9.56085926e-02 1.16854946e-01 3.18695309e-02 6.37390617e-02 5.31158848e-02 6.37390617e-02 7.43622387e-02 7.43622387e-02 3.50564839e-01 8.49854156e-02 6.37390617e-02 1.48724477e-01 6.37390617e-02 6.37390617e-02 3.18695309e-02 1.16854946e-01 7.43622387e-02 8.49854156e-02 2.12463539e-01 8.49854156e-02 1.27478123e-01 9.56085926e-02 5.31158848e-02 7.43622387e-02 9.56085926e-02 8.49854156e-02 7.43622387e-02 9.56085926e-02 8.49854156e-02 1.48724477e-01 1.48724477e-01 4.24927078e-02 4.24927078e-02 1.27478123e-01 4.24927078e-02 6.37390617e-02 4.24927078e-02 8.49854156e-02 1.80594008e-01 9.56085926e-02 7.43622387e-02 8.49854156e-02 7.43622387e-02 1.16854946e-01 4.24927078e-02 7.43622387e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 1.06231770e-01 6.37390617e-02 9.56085926e-02 7.43622387e-02 6.37390617e-02 5.31158848e-02 9.56085926e-02 1.48724477e-01 1.27478123e-01 8.49854156e-02 6.37390617e-02 3.18695309e-02 1.06231770e-01 1.16854946e-01 6.37390617e-02 1.16854946e-01 4.24927078e-02 8.49854156e-02 8.49854156e-02 4.24927078e-02 1.06231770e-01 5.31158848e-02 5.31158848e-02 8.49854156e-02 1.06231770e-01 1.16854946e-01 8.49854156e-02 8.49854156e-02 1.38101300e-01 8.49854156e-02 9.56085926e-02 1.59347654e-01 4.24927078e-02 9.56085926e-02 8.49854156e-02 1.06231770e-01 8.49854156e-02 4.24927078e-02 1.38101300e-01 5.31158848e-02 8.49854156e-02 2.12463539e-02 7.43622387e-02 5.31158848e-02 8.49854156e-02 1.06231770e-02 7.43622387e-02 5.31158848e-02 6.37390617e-02 1.06231770e-01 9.56085926e-02 6.37390617e-02 2.23086716e-01 6.37390617e-02 4.24927078e-02 1.06231770e-01 1.06231770e-01 1.16854946e-01 1.16854946e-01 1.27478123e-01 7.43622387e-02 7.43622387e-02 4.24927078e-02 1.80594008e-01 5.31158848e-02 3.18695309e-02 7.43622387e-02 5.31158848e-02 7.43622387e-02 5.31158848e-02 5.31158848e-02 4.24927078e-02 7.43622387e-02 1.06231770e-01 7.43622387e-02 5.31158848e-02 1.16854946e-01 1.69970831e-01 8.49854156e-02 9.56085926e-02 8.49854156e-02 1.06231770e-01 6.37390617e-02 3.18695309e-02 1.06231770e-01 6.37390617e-02 4.24927078e-02 8.49854156e-02 6.37390617e-02 8.49854156e-02 3.18695309e-02 5.31158848e-02 9.56085926e-02 3.18695309e-02 1.16854946e-01 9.56085926e-02 8.49854156e-02 5.31158848e-02 7.43622387e-02 8.49854156e-02 1.38101300e-01 6.37390617e-02 8.49854156e-02 7.43622387e-02 1.27478123e-01 3.18695309e-02 6.37390617e-02 1.16854946e-01 7.43622387e-02 6.37390617e-02 1.27478123e-01 5.31158848e-02 1.06231770e-01 3.18695309e-02 1.38101300e-01 3.18695309e-02 8.49854156e-02 8.49854156e-02 5.31158848e-02 1.16854946e-01 9.56085926e-02 6.37390617e-02 1.16854946e-01 9.56085926e-02 1.38101300e-01 9.56085926e-02 9.56085926e-02 9.56085926e-02 3.18695309e-02 1.06231770e-01 6.37390617e-02 5.31158848e-02 5.31158848e-02 1.27478123e-01 1.80594008e-01 7.43622387e-02 4.24927078e-02 2.12463539e-02 1.27478123e-01 1.59347654e-01 7.43622387e-02 1.69970831e-01 5.31158848e-02 6.37390617e-02 1.16854946e-01 5.31158848e-02 1.06231770e-01 7.43622387e-02 5.31158848e-02 1.06231770e-02 5.31158848e-02 7.43622387e-02 1.16854946e-01 8.49854156e-02 6.37390617e-02 1.27478123e-01 7.43622387e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 9.56085926e-02 7.43622387e-02 7.43622387e-02 1.38101300e-01 1.27478123e-01 7.43622387e-02 9.56085926e-02 5.31158848e-02 6.37390617e-02 7.43622387e-02 3.18695309e-02 9.56085926e-02 9.56085926e-02 1.06231770e-01 8.49854156e-02 7.43622387e-02 9.56085926e-02 5.31158848e-02 1.48724477e-01 8.49854156e-02 1.38101300e-01 5.31158848e-02 1.69970831e-01 5.31158848e-02 4.24927078e-02 3.18695309e-02 4.24927078e-02 6.37390617e-02 1.59347654e-01 1.16854946e-01 1.16854946e-01 6.37390617e-02 5.31158848e-02 8.49854156e-02 1.27478123e-01 1.06231770e-01 1.06231770e-01 7.43622387e-02 9.56085926e-02 5.31158848e-02 6.37390617e-02 5.31158848e-02 5.31158848e-02 1.38101300e-01 7.43622387e-02 3.18695309e-02 9.56085926e-02 1.16854946e-01 7.43622387e-02 7.43622387e-02 7.43622387e-02 1.91217185e-01 1.16854946e-01 3.18695309e-02 8.49854156e-02 5.31158848e-02 9.56085926e-02 1.48724477e-01 1.06231770e-01 9.56085926e-02 1.16854946e-01 4.24927078e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 8.49854156e-02 4.24927078e-02 6.37390617e-02 8.49854156e-02 7.43622387e-02 6.37390617e-02 7.43622387e-02 5.31158848e-02 1.06231770e-01 8.49854156e-02 9.56085926e-02 8.49854156e-02 1.69970831e-01 2.12463539e-02 1.27478123e-01 7.43622387e-02 4.24927078e-02 8.49854156e-02 1.06231770e-01 1.48724477e-01 6.37390617e-02 6.37390617e-02 1.06231770e-01 8.49854156e-02 7.43622387e-02 1.16854946e-01 9.56085926e-02 5.31158848e-02 4.24927078e-02 1.16854946e-01 6.37390617e-02 9.56085926e-02 8.49854156e-02 7.43622387e-02 8.49854156e-02 8.49854156e-02 9.56085926e-02 5.31158848e-02 8.49854156e-02 1.38101300e-01 2.12463539e-02 7.43622387e-02 1.16854946e-01 8.49854156e-02 5.31158848e-02 1.16854946e-01 1.27478123e-01 5.31158848e-02 7.43622387e-02 8.49854156e-02 1.48724477e-01 8.49854156e-02 8.49854156e-02 1.06231770e-01 3.18695309e-02 6.37390617e-02 8.49854156e-02 7.43622387e-02 1.06231770e-01 1.27478123e-01 1.38101300e-01 9.56085926e-02 6.37390617e-02 5.31158848e-02 4.24927078e-02 5.31158848e-02 1.69970831e-01 5.31158848e-02 8.49854156e-02 1.16854946e-01 1.16854946e-01 5.31158848e-02 2.12463539e-02 9.56085926e-02 7.43622387e-02 1.06231770e-01 6.37390617e-02 1.27478123e-01 6.37390617e-02 1.06231770e-01 1.16854946e-01 5.31158848e-02 1.27478123e-01 5.31158848e-02 3.18695309e-02 6.37390617e-02 1.06231770e-01 9.56085926e-02 5.31158848e-02 6.37390617e-02 6.37390617e-02 4.24927078e-02 4.24927078e-02 1.06231770e-01 3.18695309e-02 7.43622387e-02 8.49854156e-02 8.49854156e-02 5.31158848e-02 2.12463539e-02 3.18695309e-02 9.56085926e-02 1.27478123e-01 3.18695309e-02 8.49854156e-02 5.31158848e-02 1.16854946e-01 6.37390617e-02 8.49854156e-02 1.69970831e-01 6.37390617e-02 4.24927078e-02 1.59347654e-01 9.56085926e-02 1.06231770e-02 1.59347654e-01 1.16854946e-01 4.24927078e-02 4.24927078e-02 1.16854946e-01 9.56085926e-02 9.56085926e-02 5.31158848e-02 8.49854156e-02 1.27478123e-01 1.16854946e-01 5.31158848e-02 1.06231770e-01 9.56085926e-02 1.27478123e-01 4.24927078e-02 1.16854946e-01 1.69970831e-01 1.38101300e-01 4.24927078e-02 1.27478123e-01 1.06231770e-01 9.56085926e-02 8.49854156e-02 1.59347654e-01 2.44333070e-01 7.43622387e-02 1.06231770e-01 4.24927078e-02 5.31158848e-02 1.06231770e-02 5.31158848e-02 1.16854946e-01 8.49854156e-02 7.43622387e-02 7.43622387e-02 8.49854156e-02 1.69970831e-01 1.06231770e-01 8.49854156e-02 7.43622387e-02 5.31158848e-02 6.37390617e-02 9.56085926e-02 1.80594008e-01 9.56085926e-02 6.37390617e-02 4.24927078e-02 7.43622387e-02 7.43622387e-02 9.56085926e-02 9.56085926e-02 9.56085926e-02 9.56085926e-02 5.31158848e-02 6.37390617e-02 1.06231770e-01 3.18695309e-02 9.56085926e-02 1.16854946e-01 1.16854946e-01 8.49854156e-02 8.49854156e-02 8.49854156e-02 8.49854156e-02 7.43622387e-02 9.56085926e-02 1.06231770e-01 3.18695309e-02 8.49854156e-02 8.49854156e-02 9.56085926e-02 1.38101300e-01 1.16854946e-01 3.18695309e-02 8.49854156e-02 1.59347654e-01 8.49854156e-02 6.37390617e-02 9.56085926e-02 9.56085926e-02 1.59347654e-01 9.56085926e-02 8.49854156e-02 9.56085926e-02 1.48724477e-01 7.43622387e-02 1.06231770e-01 1.16854946e-01 7.43622387e-02 1.27478123e-01 5.31158848e-02 7.43622387e-02 8.49854156e-02 1.16854946e-01 9.56085926e-02 2.86825778e-01 6.37390617e-02 1.27478123e-01 9.56085926e-02 4.24927078e-02 1.27478123e-01 1.69970831e-01 6.37390617e-02 7.43622387e-02 1.06231770e-01 6.37390617e-02 9.56085926e-02 1.48724477e-01 1.69970831e-01 7.43622387e-02 1.38101300e-01 1.38101300e-01 8.49854156e-02 4.24927078e-02 7.43622387e-02 6.37390617e-02 1.27478123e-01 6.37390617e-02 1.06231770e-01 6.37390617e-02 4.24927078e-02 1.06231770e-01 4.24927078e-02 1.69970831e-01 7.43622387e-02 1.38101300e-01 9.56085926e-02 8.49854156e-02 4.24927078e-02 1.38101300e-01 1.69970831e-01 8.49854156e-02 1.27478123e-01 1.16854946e-01 1.06231770e-01 1.27478123e-01 1.38101300e-01 1.38101300e-01 6.37390617e-02 1.48724477e-01 1.80594008e-01 1.69970831e-01 6.37390617e-02 8.49854156e-02 8.49854156e-02 5.31158848e-02 1.48724477e-01 1.06231770e-01 1.48724477e-01 6.37390617e-02 4.24927078e-02 7.43622387e-02 7.43622387e-02 9.56085926e-02 4.24927078e-02 8.49854156e-02 9.56085926e-02 1.48724477e-01 2.01840362e-01 7.43622387e-02 7.43622387e-02 5.31158848e-02 1.27478123e-01 1.27478123e-01 1.38101300e-01 8.49854156e-02 7.43622387e-02 7.43622387e-02 9.56085926e-02 1.59347654e-01 7.43622387e-02 1.06231770e-01 7.43622387e-02 2.01840362e-01 1.06231770e-01 9.56085926e-02 1.59347654e-01 1.16854946e-01 9.56085926e-02 1.16854946e-01 8.49854156e-02 1.69970831e-01 1.06231770e-01 1.38101300e-01 7.43622387e-02 1.06231770e-01 7.43622387e-02 1.16854946e-01 9.56085926e-02 1.27478123e-01 1.06231770e-01 1.27478123e-01 1.16854946e-01 1.59347654e-01 5.31158848e-02 9.56085926e-02 1.59347654e-01 1.06231770e-01 9.56085926e-02 6.37390617e-02 8.49854156e-02 1.38101300e-01 5.31158848e-02 9.56085926e-02 9.56085926e-02 8.49854156e-02 1.06231770e-01 1.38101300e-01 1.06231770e-01 5.31158848e-02 4.24927078e-02 9.56085926e-02 3.18695309e-02 1.38101300e-01 9.56085926e-02 9.56085926e-02 7.43622387e-02 7.43622387e-02 9.56085926e-02 1.48724477e-01 1.16854946e-01 6.37390617e-02 1.27478123e-01 1.16854946e-01 9.56085926e-02 1.06231770e-01 1.38101300e-01 7.43622387e-02 3.18695309e-02 6.37390617e-02 7.43622387e-02 4.24927078e-02 1.48724477e-01 1.80594008e-01 5.31158848e-02 1.27478123e-01 1.16854946e-01 1.91217185e-01 8.49854156e-02 7.43622387e-02 5.31158848e-02 1.16854946e-01 8.49854156e-02 1.06231770e-01 6.37390617e-02 1.16854946e-01 1.06231770e-01 9.56085926e-02 6.37390617e-02 1.38101300e-01 8.49854156e-02 1.38101300e-01 1.16854946e-01 9.56085926e-02 9.56085926e-02 8.49854156e-02 1.16854946e-01 1.06231770e-01 1.91217185e-01 1.48724477e-01 1.06231770e-01 9.56085926e-02 1.06231770e-01 8.49854156e-02 4.24927078e-02 1.27478123e-01 1.48724477e-01 9.56085926e-02 1.06231770e-01 1.06231770e-01 7.43622387e-02 9.56085926e-02 1.16854946e-01 9.56085926e-02 1.06231770e-01 9.56085926e-02 1.69970831e-01 2.01840362e-01 1.16854946e-01 6.37390617e-02 1.48724477e-01 1.27478123e-01 7.43622387e-02 1.38101300e-01 1.48724477e-01 1.80594008e-01 1.27478123e-01 3.39941663e-01 1.91217185e-01 9.56085926e-02 7.43622387e-02 2.01840362e-01 1.16854946e-01 1.80594008e-01 1.06231770e-01 1.06231770e-01 9.56085926e-02 8.49854156e-02 1.80594008e-01 9.56085926e-02 1.91217185e-01 7.43622387e-02 1.06231770e-01 1.48724477e-01 1.16854946e-01 6.37390617e-02 8.49854156e-02 1.38101300e-01 1.38101300e-01 1.06231770e-01 1.06231770e-01 1.69970831e-01 8.49854156e-02 1.06231770e-01 1.06231770e-01 1.27478123e-01 8.49854156e-02 1.69970831e-01 1.69970831e-01 1.91217185e-01 1.69970831e-01 1.27478123e-01 1.27478123e-01 1.06231770e-01 1.16854946e-01 1.48724477e-01 6.37390617e-02 9.56085926e-02 6.37390617e-02 1.27478123e-01 1.48724477e-01 1.16854946e-01 2.12463539e-01 1.59347654e-01 1.27478123e-01 1.69970831e-01 1.38101300e-01 9.56085926e-02 1.06231770e-01 1.69970831e-01 1.48724477e-01 1.06231770e-01 2.12463539e-01 1.16854946e-01 9.56085926e-02 2.86825778e-01 9.56085926e-02 1.38101300e-01 1.16854946e-01 5.31158848e-02 2.97448955e-01 1.80594008e-01 1.06231770e-01 1.59347654e-01 1.48724477e-01 2.01840362e-01 1.27478123e-01 1.16854946e-01 2.12463539e-01 1.27478123e-01 1.69970831e-01 8.49854156e-02 2.12463539e-01 1.59347654e-01 1.16854946e-01 1.80594008e-01 1.38101300e-01 1.59347654e-01 7.43622387e-02 1.27478123e-01 2.44333070e-01 8.49854156e-02 1.16854946e-01 2.01840362e-01 1.48724477e-01 2.65579424e-01 1.80594008e-01 6.37390617e-02 1.69970831e-01 1.16854946e-01 9.56085926e-02 1.06231770e-01 1.06231770e-01 1.38101300e-01 1.16854946e-01 1.69970831e-01 9.56085926e-02 1.27478123e-01 1.48724477e-01 1.16854946e-01 1.16854946e-01 8.49854156e-02 2.01840362e-01 8.49854156e-02 1.80594008e-01 1.69970831e-01 9.56085926e-02 1.16854946e-01 1.48724477e-01 1.16854946e-01 1.27478123e-01 2.54956247e-01 1.27478123e-01 1.06231770e-01 1.06231770e-01 1.16854946e-01 1.59347654e-01 2.33709893e-01 1.48724477e-01 8.49854156e-02 1.48724477e-01 1.06231770e-01 2.01840362e-01 1.59347654e-01 9.56085926e-02 1.69970831e-01 1.69970831e-01 1.48724477e-01 2.01840362e-01 7.43622387e-02 2.65579424e-01 1.27478123e-01 1.48724477e-01 1.16854946e-01 6.37390617e-02 1.06231770e-01 1.48724477e-01 2.12463539e-01 9.56085926e-02 1.06231770e-01 1.27478123e-01 9.56085926e-02 1.16854946e-01 2.01840362e-01 1.38101300e-01 1.06231770e-01 1.91217185e-01 1.80594008e-01 9.56085926e-02 1.27478123e-01 2.01840362e-01 1.69970831e-01 4.24927078e-02 1.27478123e-01 1.16854946e-01 1.27478123e-01 1.27478123e-01 2.76202601e-01 2.12463539e-01 1.27478123e-01 1.06231770e-01 2.12463539e-01 1.48724477e-01 9.56085926e-02 1.27478123e-01 1.06231770e-01 1.38101300e-01 1.48724477e-01 1.06231770e-01 1.91217185e-01 1.48724477e-01 1.06231770e-01 1.80594008e-01 3.71811193e-01 1.06231770e-01 1.59347654e-01 1.48724477e-01 1.91217185e-01 1.38101300e-01 8.49854156e-02 1.38101300e-01 1.06231770e-01 2.65579424e-01 5.31158848e-02 1.38101300e-01 2.12463539e-01 1.38101300e-01 1.38101300e-01 2.12463539e-01 1.16854946e-01 3.71811193e-01 1.59347654e-01 1.38101300e-01 1.27478123e-01 1.06231770e-01 1.27478123e-01 1.27478123e-01 1.27478123e-01 1.48724477e-01 1.48724477e-01 1.59347654e-01 2.23086716e-01 1.59347654e-01 1.48724477e-01 1.59347654e-01 1.69970831e-01 1.16854946e-01 1.69970831e-01 2.23086716e-01 2.54956247e-01 2.54956247e-01 1.38101300e-01 1.91217185e-01 1.38101300e-01 2.65579424e-01 1.59347654e-01 2.65579424e-01 1.48724477e-01 1.38101300e-01 1.38101300e-01 2.65579424e-01 2.01840362e-01 2.01840362e-01 1.06231770e-01 2.12463539e-01 1.59347654e-01 1.38101300e-01 1.16854946e-01 1.06231770e-01 1.80594008e-01 1.38101300e-01 5.31158848e-02 1.91217185e-01 1.38101300e-01 2.12463539e-01 1.38101300e-01 1.48724477e-01 1.48724477e-01 9.56085926e-02 1.69970831e-01 1.80594008e-01 1.59347654e-01 1.59347654e-01 6.37390617e-02 2.23086716e-01 1.06231770e-01 2.97448955e-01 1.16854946e-01 2.12463539e-01 2.23086716e-01 1.69970831e-01 2.76202601e-01 2.01840362e-01 1.38101300e-01 1.69970831e-01 2.01840362e-01 1.69970831e-01 1.48724477e-01 1.27478123e-01 1.27478123e-01 1.69970831e-01 2.12463539e-01 2.23086716e-01 1.48724477e-01 2.01840362e-01 1.48724477e-01 2.01840362e-01 1.06231770e-01 2.86825778e-01 1.16854946e-01 1.38101300e-01 8.49854156e-02 1.27478123e-01 1.48724477e-01 1.16854946e-01 8.49854156e-02 2.65579424e-01 1.16854946e-01 8.49854156e-02 2.01840362e-01 1.48724477e-01 1.59347654e-01 1.27478123e-01 6.37390617e-02 1.16854946e-01 1.16854946e-01 1.80594008e-01 1.38101300e-01 1.16854946e-01 6.37390617e-02 1.80594008e-01 1.91217185e-01 1.91217185e-01 1.48724477e-01 1.91217185e-01 1.80594008e-01 1.69970831e-01 9.56085926e-02 1.69970831e-01 1.91217185e-01 1.80594008e-01 1.59347654e-01 1.69970831e-01 1.69970831e-01 8.49854156e-02 2.12463539e-01 1.69970831e-01 2.12463539e-01 9.56085926e-02 1.91217185e-01 2.23086716e-01 2.23086716e-01 1.48724477e-01 1.27478123e-01 2.12463539e-01 6.16144263e-01 1.59347654e-01 1.16854946e-01 1.80594008e-01 2.01840362e-01 2.12463539e-01 1.69970831e-01 8.92346864e-01 2.65579424e-01 2.23086716e-01 1.59347654e-01 2.33709893e-01 2.33709893e-01 1.69970831e-01 1.91217185e-01 2.23086716e-01 1.27478123e-01 1.06231770e-01 1.80594008e-01 1.69970831e-01 3.08072132e-01 2.76202601e-01 1.38101300e-01 1.48724477e-01 2.76202601e-01 1.91217185e-01 1.48724477e-01 1.27478123e-01 2.44333070e-01 2.23086716e-01 2.01840362e-01 2.65579424e-01 2.12463539e-01 1.91217185e-01 1.48724477e-01 2.23086716e-01 2.54956247e-01 2.23086716e-01 3.71811193e-01 3.29318486e-01 3.18695309e-01 1.48724477e-01 1.80594008e-01 2.12463539e-01 1.80594008e-01 2.54956247e-01 2.33709893e-01 2.01840362e-01 2.23086716e-01 2.76202601e-01 3.29318486e-01 1.59347654e-01 2.12463539e-01 2.01840362e-01 2.44333070e-01 2.12463539e-01 4.56796609e-01 2.23086716e-01 2.97448955e-01 1.80594008e-01 1.91217185e-01 2.54956247e-01 1.80594008e-01 2.12463539e-01 2.01840362e-01 3.71811193e-01 2.54956247e-01 4.03680724e-01 1.59347654e-01 1.80594008e-01 3.18695309e-01 1.80594008e-01 1.80594008e-01 2.97448955e-01 4.24927078e-01 1.59347654e-01 2.33709893e-01 2.97448955e-01 3.61188016e-01 2.23086716e-01 2.44333070e-01 2.76202601e-01 1.06231770e-01 1.80594008e-01 1.80594008e-01 2.33709893e-01 1.59347654e-01 2.01840362e-01 2.01840362e-01 2.76202601e-01 1.69970831e-01 1.91217185e-01 1.91217185e-01 2.23086716e-01 1.59347654e-01 2.33709893e-01 1.91217185e-01 2.12463539e-01 4.67419786e-01 3.08072132e-01 3.18695309e-01 2.23086716e-01 2.54956247e-01 2.01840362e-01 2.97448955e-01 1.91217185e-01 2.12463539e-01 2.97448955e-01 2.01840362e-01 3.93057547e-01 2.44333070e-01 2.23086716e-01 2.23086716e-01 1.69970831e-01 2.33709893e-01 2.23086716e-01 2.33709893e-01 3.18695309e-01 2.65579424e-01 2.76202601e-01 2.23086716e-01 2.54956247e-01 2.54956247e-01 2.01840362e-01 3.18695309e-01 2.86825778e-01 3.29318486e-01 2.12463539e-01 2.23086716e-01 2.33709893e-01 1.27478123e-01 2.97448955e-01 1.59347654e-01 2.01840362e-01 2.54956247e-01 3.18695309e-01 2.65579424e-01 2.97448955e-01 3.08072132e-01 3.82434370e-01 2.01840362e-01 2.76202601e-01 2.12463539e-01 2.76202601e-01 1.80594008e-01 3.50564839e-01 2.97448955e-01 1.69970831e-01 2.12463539e-01 1.59347654e-01 1.69970831e-01 2.54956247e-01 3.18695309e-01 2.01840362e-01 3.93057547e-01 2.44333070e-01 4.24927078e-01 2.97448955e-01 1.91217185e-01 2.54956247e-01 2.65579424e-01 1.48724477e-01 1.91217185e-01 2.76202601e-01 2.23086716e-01 2.23086716e-01 2.44333070e-01 1.27478123e-01 2.65579424e-01 2.33709893e-01 3.93057547e-01 3.71811193e-01 2.76202601e-01 1.91217185e-01 2.76202601e-01 1.91217185e-01 2.65579424e-01 1.91217185e-01 2.76202601e-01 1.59347654e-01 3.61188016e-01 2.76202601e-01 2.65579424e-01 5.31158848e-01 2.65579424e-01 2.65579424e-01 3.08072132e-01 2.23086716e-01 2.86825778e-01 2.54956247e-01 3.71811193e-01 4.14303901e-01 3.50564839e-01 2.01840362e-01 4.14303901e-01 1.80594008e-01 2.44333070e-01 2.65579424e-01 4.03680724e-01 3.50564839e-01 3.18695309e-01 1.80594008e-01 3.08072132e-01 1.91217185e-01 3.82434370e-01 2.33709893e-01 2.97448955e-01 1.69970831e-01 2.65579424e-01 3.39941663e-01 2.23086716e-01 1.91217185e-01 4.03680724e-01 2.86825778e-01 2.76202601e-01 3.29318486e-01 2.23086716e-01 3.29318486e-01 3.82434370e-01 2.97448955e-01 3.71811193e-01 2.12463539e-01 1.80594008e-01 2.65579424e-01 3.08072132e-01 3.82434370e-01 5.20535671e-01 2.23086716e-01 3.08072132e-01 5.84274732e-01 3.61188016e-01 2.76202601e-01 4.35550255e-01 2.86825778e-01 3.08072132e-01 4.78042963e-01 2.86825778e-01 2.33709893e-01 3.18695309e-01 4.03680724e-01 3.29318486e-01 3.18695309e-01 4.35550255e-01 2.33709893e-01 2.76202601e-01 3.08072132e-01 3.61188016e-01 3.39941663e-01 2.44333070e-01 3.08072132e-01 3.82434370e-01 3.18695309e-01 2.97448955e-01 3.82434370e-01 3.18695309e-01 2.54956247e-01 2.44333070e-01 2.65579424e-01 3.18695309e-01 2.44333070e-01 3.39941663e-01 3.18695309e-01 8.92346864e-01 3.82434370e-01 5.84274732e-01 3.61188016e-01 2.12463539e-01 7.96738271e-01 5.20535671e-01 4.14303901e-01 3.18695309e-01 3.82434370e-01 3.71811193e-01 2.76202601e-01 5.52405202e-01 3.71811193e-01 3.29318486e-01 4.14303901e-01 2.54956247e-01 2.86825778e-01 3.50564839e-01 2.65579424e-01 3.39941663e-01 5.41782025e-01 3.18695309e-01 3.61188016e-01 2.76202601e-01 3.71811193e-01 4.99289317e-01 2.86825778e-01 2.86825778e-01 4.46173432e-01 5.31158848e-01 4.14303901e-01 4.99289317e-01 5.31158848e-01 4.35550255e-01 3.50564839e-01 6.05521086e-01 4.46173432e-01 4.14303901e-01 4.03680724e-01 5.41782025e-01 3.93057547e-01 4.88666140e-01 3.71811193e-01 4.78042963e-01 3.82434370e-01 3.39941663e-01 3.82434370e-01 4.03680724e-01 3.50564839e-01 3.82434370e-01 7.22376033e-01 5.09912494e-01 4.03680724e-01 3.71811193e-01 5.94897909e-01 4.67419786e-01 4.99289317e-01 6.16144263e-01 4.78042963e-01 3.82434370e-01 4.03680724e-01 5.52405202e-01 4.56796609e-01 6.16144263e-01 3.61188016e-01 1.18979582e+00 3.39941663e-01 4.56796609e-01 5.94897909e-01 4.56796609e-01 7.86115095e-01 2.33709893e-01 4.67419786e-01 4.88666140e-01 6.79883325e-01 5.94897909e-01 1.24291170e+00 4.14303901e-01 7.64868741e-01 4.56796609e-01 7.75491918e-01 5.94897909e-01 5.73651555e-01 4.56796609e-01 3.61188016e-01 9.02970041e-01 5.31158848e-01 5.41782025e-01 4.78042963e-01 4.46173432e-01 5.41782025e-01 5.20535671e-01 8.60477333e-01 4.99289317e-01 6.37390617e-01 4.88666140e-01 5.20535671e-01 5.09912494e-01 4.35550255e-01 5.52405202e-01 3.29318486e-01 5.41782025e-01 6.16144263e-01 3.93057547e-01 5.73651555e-01 5.84274732e-01 5.52405202e-01 6.79883325e-01 3.50564839e-01 6.05521086e-01 4.46173432e-01 5.84274732e-01 6.05521086e-01 4.35550255e-01 5.84274732e-01 6.16144263e-01 6.05521086e-01 6.69260148e-01 5.73651555e-01 6.37390617e-01 7.54245564e-01 5.20535671e-01 5.63028379e-01 8.49854156e-01 7.86115095e-01 4.46173432e-01 4.99289317e-01 5.73651555e-01 6.48013794e-01 8.60477333e-01 5.84274732e-01 4.24927078e-01 6.26767440e-01 5.31158848e-01 5.63028379e-01 6.26767440e-01 6.26767440e-01 6.26767440e-01 7.86115095e-01 5.20535671e-01 8.28607802e-01 6.90506502e-01 7.54245564e-01 5.20535671e-01 6.16144263e-01 5.52405202e-01 7.11752856e-01 5.52405202e-01 6.37390617e-01 4.78042963e-01 7.11752856e-01 6.37390617e-01 7.22376033e-01 8.60477333e-01 8.49854156e-01 5.94897909e-01 1.04107134e+00 6.58636971e-01 6.69260148e-01 1.24291170e+00 1.20041900e+00 1.00920181e+00 6.69260148e-01 8.49854156e-01 6.69260148e-01 8.81723687e-01 1.00920181e+00 1.55098384e+00 8.39230979e-01 8.71100510e-01 8.81723687e-01 1.29602759e+00 8.71100510e-01 8.60477333e-01 1.32789712e+00 8.28607802e-01 9.77332280e-01 9.77332280e-01 1.18979582e+00 1.04107134e+00 1.50849113e+00 7.01129679e-01 6.90506502e-01 9.56085926e-01 1.12605676e+00 1.86967914e+00 1.20041900e+00 3.33567756e+00 1.07294087e+00 1.29602759e+00 8.28607802e-01 1.01982499e+00 1.26415806e+00 7.75491918e-01 1.35976665e+00 1.27478123e+00 8.28607802e-01 9.87955457e-01 1.27478123e+00 5.73651555e-01 1.05169452e+00 7.22376033e-01 1.08356405e+00 1.04107134e+00 2.01840362e+00 8.92346864e-01 1.01982499e+00 1.86967914e+00 7.86115095e-01 1.13667993e+00 9.56085926e-01 1.41288253e+00 1.04107134e+00 7.96738271e-01 9.66709103e-01 1.40225936e+00 8.81723687e-01 1.68908514e+00 1.00920181e+00 1.00920181e+00 9.02970041e-01 1.08356405e+00 1.38101300e+00 9.87955457e-01 9.66709103e-01 9.77332280e-01 9.13593218e-01 1.67846196e+00 2.66641742e+00 1.03044816e+00 1.04107134e+00 1.11543358e+00 1.41288253e+00 2.18837445e+00 1.03044816e+00 1.98653409e+00 9.66709103e-01 1.92279503e+00 9.98578634e-01 1.04107134e+00 1.57223019e+00 1.21104217e+00 1.40225936e+00 1.48724477e+00 1.22166535e+00 1.49786795e+00 1.42350571e+00 1.10481040e+00 1.32789712e+00 1.22166535e+00 1.17917264e+00 1.47662160e+00 1.56160701e+00 1.39163618e+00 1.84843279e+00 2.17775128e+00 1.78469373e+00 1.31727394e+00 1.25353488e+00 1.34914347e+00 1.65721560e+00 1.51911430e+00 1.78469373e+00 2.25211351e+00 2.17775128e+00 1.66783878e+00 2.05027315e+00 1.76344737e+00 2.28398304e+00 1.66783878e+00 1.61472290e+00 2.61330153e+00 1.86967914e+00 1.60409972e+00 2.29460622e+00 1.84843279e+00 1.96528774e+00 2.06089633e+00 2.24149034e+00 2.26273669e+00 2.17775128e+00 1.98653409e+00 1.92279503e+00 3.70748876e+00 1.96528774e+00 1.94404138e+00 3.05947496e+00 3.00635908e+00 2.20962081e+00 2.69828695e+00 2.29460622e+00 2.86825778e+00 2.76202601e+00 3.16570673e+00 2.20962081e+00 2.14588174e+00 3.15508356e+00 2.92137366e+00 2.62392471e+00 5.06725541e+00 3.12321402e+00 2.94262002e+00 3.04885179e+00 4.50422703e+00 4.68482104e+00 3.14446038e+00 3.38879345e+00 4.44048797e+00 4.30238667e+00 3.69686558e+00 3.61188016e+00 4.10054630e+00 3.24006897e+00 5.17348718e+00 6.84132596e+00 4.32363302e+00 6.72447101e+00 6.86257231e+00 4.50422703e+00 7.45747022e+00 4.33425620e+00 4.01556089e+00 4.99289317e+00 6.46951476e+00 3.79247417e+00 5.17348718e+00 5.50280566e+00 5.46031295e+00 5.27971895e+00 5.89586321e+00 6.73509419e+00 2.20537154e+01 1.25778415e+01 1.67208805e+01 7.70180329e+00 7.51058611e+00 1.16217556e+01 1.17067410e+01 1.24184939e+01 3.33992683e+01 6.83070278e+00 1.01557572e+01 8.97658453e+00 9.33777254e+00 8.26483167e+00 1.93554284e+01 2.42527130e+01 9.99640951e+00 1.20466827e+01 8.48791839e+00 8.45604885e+00 1.89942404e+01 3.35586160e+01 3.11259085e+01 1.09206259e+01 3.79459881e+01 3.01060835e+01 5.11081043e+01 1.71033149e+01 2.91393744e+01 1.64553011e+01 2.03221375e+01 3.64268738e+01 5.06513077e+01 1.26787617e+02 1.21699115e+02 7.59960833e+02 6.68728989e+01 4.21740125e+00 1.37995069e+01 9.92204727e+00 1.21210449e+01 1.24609866e+01 9.35901890e+00 6.02334133e+00 5.68339967e+00 4.10054630e+00 6.40577570e+00 5.60903743e+00 5.75776191e+00 2.20962081e+00 1.27478123e+00 1.03044816e+00 2.40083799e+00 1.66783878e+00 1.27478123e+00 2.30522940e+00 2.67704059e+00 2.67704059e+00 1.04107134e+00 4.56796609e-01 3.39941663e-01 3.29318486e-01 2.76202601e-01 3.82434370e-01 4.56796609e-01 4.03680724e-01 6.05521086e-01 3.29318486e-01 4.78042963e-01 2.65579424e-01 2.65579424e-01 4.35550255e-01 3.08072132e-01 1.69970831e-01 3.29318486e-01 2.44333070e-01 1.06231770e-01 9.56085926e-02 2.01840362e-01 - - 2.56666866e-01 8.21333970e-01 1.23200096e+00 1.30900102e+00 1.30900102e+00 1.33466770e+00 1.64266794e+00 1.64266794e+00 1.41166776e+00 1.59133457e+00 1.54000119e+00 1.54000119e+00 1.43733445e+00 1.56566788e+00 1.30900102e+00 1.36033439e+00 1.59133457e+00 1.25766764e+00 1.25766764e+00 1.05233415e+00 1.02666746e+00 1.18066758e+00 1.25766764e+00 9.75334090e-01 1.38600107e+00 9.49667403e-01 1.02666746e+00 1.12933421e+00 9.24000717e-01 1.02666746e+00 1.10366752e+00 8.98334030e-01 7.70000597e-01 8.47000657e-01 1.07800084e+00 8.98334030e-01 8.47000657e-01 7.44333911e-01 8.21333970e-01 7.70000597e-01 9.75334090e-01 7.18667224e-01 7.70000597e-01 7.70000597e-01 5.90333791e-01 8.21333970e-01 6.93000537e-01 7.18667224e-01 6.67333851e-01 6.93000537e-01 4.36333672e-01 7.70000597e-01 5.13333731e-01 5.64667105e-01 5.39000418e-01 6.41667164e-01 6.41667164e-01 5.39000418e-01 5.64667105e-01 5.90333791e-01 4.87667045e-01 5.13333731e-01 6.16000478e-01 5.90333791e-01 5.64667105e-01 5.90333791e-01 4.62000358e-01 3.08000239e-01 5.13333731e-01 6.93000537e-01 6.93000537e-01 5.13333731e-01 4.36333672e-01 5.64667105e-01 4.36333672e-01 3.59333612e-01 2.82333552e-01 3.08000239e-01 3.33666925e-01 1.79666806e-01 2.82333552e-01 2.31000179e-01 2.31000179e-01 4.62000358e-01 4.10666985e-01 1.79666806e-01 4.10666985e-01 5.90333791e-01 2.56666866e-01 4.62000358e-01 4.10666985e-01 3.33666925e-01 4.87667045e-01 3.59333612e-01 4.10666985e-01 3.08000239e-01 3.33666925e-01 5.13333731e-01 4.36333672e-01 1.54000119e-01 3.33666925e-01 4.62000358e-01 1.79666806e-01 3.85000299e-01 2.56666866e-01 3.08000239e-01 3.59333612e-01 4.10666985e-01 4.87667045e-01 3.08000239e-01 2.31000179e-01 3.08000239e-01 3.08000239e-01 2.05333493e-01 4.10666985e-01 3.59333612e-01 2.05333493e-01 1.28333433e-01 3.08000239e-01 2.31000179e-01 3.08000239e-01 2.31000179e-01 1.79666806e-01 3.08000239e-01 3.85000299e-01 3.08000239e-01 3.33666925e-01 3.85000299e-01 3.59333612e-01 3.08000239e-01 3.85000299e-01 1.54000119e-01 2.82333552e-01 2.31000179e-01 3.33666925e-01 2.05333493e-01 3.08000239e-01 3.33666925e-01 3.59333612e-01 1.28333433e-01 3.85000299e-01 3.08000239e-01 3.59333612e-01 1.02666746e-01 3.33666925e-01 2.31000179e-01 1.28333433e-01 1.79666806e-01 3.08000239e-01 2.05333493e-01 1.02666746e-01 2.05333493e-01 3.08000239e-01 2.82333552e-01 1.79666806e-01 3.33666925e-01 1.02666746e-01 7.70000597e-02 1.79666806e-01 2.82333552e-01 4.10666985e-01 3.33666925e-01 2.82333552e-01 1.02666746e-01 2.31000179e-01 2.82333552e-01 1.02666746e-01 1.28333433e-01 2.05333493e-01 1.79666806e-01 2.31000179e-01 1.79666806e-01 1.28333433e-01 2.31000179e-01 2.05333493e-01 1.54000119e-01 3.85000299e-01 1.02666746e-01 2.82333552e-01 2.82333552e-01 1.28333433e-01 3.08000239e-01 2.05333493e-01 1.79666806e-01 2.56666866e-01 5.13333731e-02 2.05333493e-01 1.54000119e-01 2.05333493e-01 1.79666806e-01 2.56666866e-01 7.70000597e-02 2.31000179e-01 2.05333493e-01 3.85000299e-01 1.79666806e-01 2.31000179e-01 1.54000119e-01 2.31000179e-01 1.02666746e-01 2.56666866e-01 1.54000119e-01 1.79666806e-01 2.31000179e-01 1.02666746e-01 1.28333433e-01 1.54000119e-01 7.70000597e-02 1.79666806e-01 2.56666866e-01 1.79666806e-01 3.59333612e-01 1.28333433e-01 3.33666925e-01 1.79666806e-01 1.54000119e-01 2.56666866e-01 1.54000119e-01 1.54000119e-01 1.28333433e-01 2.31000179e-01 2.05333493e-01 2.31000179e-01 5.13333731e-02 1.54000119e-01 1.79666806e-01 2.05333493e-01 1.54000119e-01 7.70000597e-02 1.02666746e-01 1.28333433e-01 1.54000119e-01 1.54000119e-01 7.70000597e-02 2.05333493e-01 1.02666746e-01 1.54000119e-01 3.08000239e-01 1.28333433e-01 1.02666746e-01 1.79666806e-01 1.54000119e-01 1.79666806e-01 1.28333433e-01 2.31000179e-01 1.54000119e-01 1.79666806e-01 2.56666866e-02 1.79666806e-01 2.31000179e-01 1.54000119e-01 1.54000119e-01 1.79666806e-01 0.00000000e+00 1.54000119e-01 2.05333493e-01 1.54000119e-01 7.70000597e-02 1.79666806e-01 2.31000179e-01 1.54000119e-01 1.79666806e-01 7.70000597e-02 2.56666866e-02 7.70000597e-02 7.70000597e-02 7.70000597e-02 1.28333433e-01 1.28333433e-01 1.79666806e-01 2.05333493e-01 2.31000179e-01 1.02666746e-01 1.79666806e-01 2.05333493e-01 1.54000119e-01 1.02666746e-01 1.28333433e-01 7.70000597e-02 1.28333433e-01 1.54000119e-01 1.79666806e-01 2.31000179e-01 1.02666746e-01 1.28333433e-01 1.02666746e-01 1.79666806e-01 1.28333433e-01 1.54000119e-01 2.05333493e-01 1.28333433e-01 7.70000597e-02 1.54000119e-01 1.28333433e-01 1.54000119e-01 1.02666746e-01 1.79666806e-01 1.79666806e-01 7.70000597e-02 2.05333493e-01 1.02666746e-01 5.13333731e-02 1.28333433e-01 2.56666866e-01 1.02666746e-01 5.13333731e-02 1.54000119e-01 2.56666866e-01 1.54000119e-01 5.13333731e-02 1.02666746e-01 1.02666746e-01 2.05333493e-01 1.54000119e-01 1.79666806e-01 5.13333731e-02 1.54000119e-01 5.13333731e-02 7.70000597e-02 1.02666746e-01 1.28333433e-01 1.54000119e-01 1.79666806e-01 7.70000597e-02 1.54000119e-01 1.54000119e-01 1.79666806e-01 1.02666746e-01 1.28333433e-01 7.70000597e-02 5.13333731e-02 5.13333731e-02 5.13333731e-02 1.02666746e-01 7.70000597e-02 5.13333731e-02 1.28333433e-01 1.79666806e-01 2.56666866e-02 2.31000179e-01 1.28333433e-01 5.13333731e-02 1.02666746e-01 1.28333433e-01 1.02666746e-01 1.79666806e-01 1.28333433e-01 1.28333433e-01 2.56666866e-02 1.02666746e-01 1.79666806e-01 2.56666866e-02 7.70000597e-02 2.31000179e-01 2.56666866e-02 1.02666746e-01 7.70000597e-02 1.28333433e-01 1.02666746e-01 1.28333433e-01 5.13333731e-02 2.31000179e-01 5.13333731e-02 1.79666806e-01 1.79666806e-01 1.28333433e-01 7.70000597e-02 1.02666746e-01 0.00000000e+00 1.28333433e-01 1.02666746e-01 1.02666746e-01 1.02666746e-01 1.28333433e-01 2.56666866e-02 1.79666806e-01 1.02666746e-01 1.02666746e-01 1.79666806e-01 1.02666746e-01 1.02666746e-01 7.70000597e-02 1.02666746e-01 2.31000179e-01 1.02666746e-01 1.02666746e-01 1.79666806e-01 2.05333493e-01 7.70000597e-02 7.70000597e-02 7.70000597e-02 7.70000597e-02 1.28333433e-01 1.79666806e-01 1.28333433e-01 1.28333433e-01 1.54000119e-01 1.02666746e-01 0.00000000e+00 1.28333433e-01 5.13333731e-02 1.02666746e-01 7.70000597e-02 5.13333731e-02 1.28333433e-01 5.13333731e-02 1.28333433e-01 7.70000597e-02 1.02666746e-01 2.56666866e-02 1.79666806e-01 5.13333731e-02 7.70000597e-02 1.79666806e-01 1.28333433e-01 5.13333731e-02 1.54000119e-01 7.70000597e-02 1.79666806e-01 1.54000119e-01 1.28333433e-01 1.02666746e-01 2.05333493e-01 1.54000119e-01 5.13333731e-02 7.70000597e-02 5.13333731e-02 1.02666746e-01 1.02666746e-01 5.13333731e-02 7.70000597e-02 5.13333731e-02 1.54000119e-01 7.70000597e-02 5.13333731e-02 1.79666806e-01 1.02666746e-01 1.02666746e-01 0.00000000e+00 1.02666746e-01 7.70000597e-02 1.54000119e-01 7.70000597e-02 7.70000597e-02 5.13333731e-02 1.02666746e-01 2.05333493e-01 1.02666746e-01 1.02666746e-01 7.70000597e-02 5.13333731e-02 1.02666746e-01 1.02666746e-01 2.56666866e-02 1.02666746e-01 7.70000597e-02 5.13333731e-02 1.28333433e-01 1.02666746e-01 5.13333731e-02 1.02666746e-01 1.54000119e-01 1.54000119e-01 1.79666806e-01 5.13333731e-02 5.13333731e-02 7.70000597e-02 5.13333731e-02 1.28333433e-01 1.02666746e-01 2.56666866e-02 1.02666746e-01 1.54000119e-01 5.13333731e-02 1.02666746e-01 1.02666746e-01 2.56666866e-02 2.56666866e-02 1.54000119e-01 1.02666746e-01 5.13333731e-02 5.13333731e-02 2.31000179e-01 2.05333493e-01 1.02666746e-01 5.13333731e-02 1.54000119e-01 1.02666746e-01 5.13333731e-02 7.70000597e-02 2.05333493e-01 7.70000597e-02 2.56666866e-02 1.28333433e-01 1.28333433e-01 1.28333433e-01 1.79666806e-01 5.13333731e-02 1.28333433e-01 1.02666746e-01 1.02666746e-01 1.28333433e-01 1.02666746e-01 1.79666806e-01 1.02666746e-01 1.02666746e-01 5.13333731e-02 2.56666866e-02 1.54000119e-01 1.54000119e-01 5.13333731e-02 5.13333731e-02 2.05333493e-01 1.28333433e-01 2.56666866e-02 1.02666746e-01 1.28333433e-01 1.79666806e-01 7.70000597e-02 5.13333731e-02 2.56666866e-02 2.56666866e-02 7.70000597e-02 1.02666746e-01 2.31000179e-01 1.79666806e-01 1.02666746e-01 0.00000000e+00 1.28333433e-01 2.56666866e-02 1.02666746e-01 1.54000119e-01 1.02666746e-01 2.56666866e-02 5.13333731e-02 7.70000597e-02 1.28333433e-01 1.54000119e-01 5.13333731e-02 1.02666746e-01 1.28333433e-01 7.70000597e-02 1.02666746e-01 1.54000119e-01 1.02666746e-01 1.02666746e-01 2.56666866e-02 1.02666746e-01 2.56666866e-02 7.70000597e-02 1.02666746e-01 2.31000179e-01 7.70000597e-02 1.02666746e-01 5.13333731e-02 2.05333493e-01 3.08000239e-01 1.02666746e-01 7.70000597e-02 7.70000597e-02 1.28333433e-01 1.54000119e-01 1.02666746e-01 7.70000597e-02 1.28333433e-01 1.02666746e-01 1.02666746e-01 1.02666746e-01 1.79666806e-01 1.02666746e-01 5.13333731e-02 1.28333433e-01 1.02666746e-01 1.02666746e-01 7.70000597e-02 2.56666866e-02 0.00000000e+00 7.70000597e-02 1.28333433e-01 1.02666746e-01 2.56666866e-02 1.02666746e-01 1.28333433e-01 1.28333433e-01 1.02666746e-01 1.02666746e-01 5.13333731e-02 7.70000597e-02 1.02666746e-01 1.54000119e-01 5.13333731e-02 1.02666746e-01 1.28333433e-01 5.13333731e-02 5.13333731e-02 5.13333731e-02 1.28333433e-01 5.13333731e-02 0.00000000e+00 1.02666746e-01 7.70000597e-02 5.13333731e-02 5.13333731e-02 1.02666746e-01 1.02666746e-01 1.28333433e-01 1.02666746e-01 7.70000597e-02 1.28333433e-01 1.02666746e-01 7.70000597e-02 5.13333731e-02 5.13333731e-02 7.70000597e-02 5.13333731e-02 1.28333433e-01 5.13333731e-02 1.54000119e-01 7.70000597e-02 2.31000179e-01 5.13333731e-02 0.00000000e+00 1.02666746e-01 1.54000119e-01 5.13333731e-02 1.28333433e-01 0.00000000e+00 2.56666866e-02 7.70000597e-02 7.70000597e-02 1.54000119e-01 0.00000000e+00 1.02666746e-01 1.28333433e-01 1.02666746e-01 5.13333731e-02 2.56666866e-02 1.54000119e-01 7.70000597e-02 5.13333731e-02 1.28333433e-01 7.70000597e-02 7.70000597e-02 5.13333731e-02 5.13333731e-02 5.13333731e-02 1.28333433e-01 1.02666746e-01 7.70000597e-02 7.70000597e-02 7.70000597e-02 1.28333433e-01 5.13333731e-02 2.82333552e-01 5.13333731e-02 1.54000119e-01 7.70000597e-02 7.70000597e-02 5.13333731e-02 7.70000597e-02 0.00000000e+00 5.13333731e-02 1.28333433e-01 2.56666866e-02 7.70000597e-02 2.56666866e-02 5.13333731e-02 5.13333731e-02 2.56666866e-02 1.02666746e-01 2.56666866e-02 7.70000597e-02 5.13333731e-02 2.56666866e-02 1.02666746e-01 1.02666746e-01 2.56666866e-02 1.02666746e-01 5.13333731e-02 1.02666746e-01 1.02666746e-01 5.13333731e-02 5.13333731e-02 1.54000119e-01 5.13333731e-02 1.02666746e-01 2.56666866e-02 1.28333433e-01 2.31000179e-01 7.70000597e-02 5.13333731e-02 1.79666806e-01 2.05333493e-01 2.56666866e-02 5.13333731e-02 1.28333433e-01 1.54000119e-01 1.02666746e-01 5.13333731e-02 1.28333433e-01 1.28333433e-01 1.02666746e-01 7.70000597e-02 7.70000597e-02 7.70000597e-02 1.02666746e-01 1.54000119e-01 1.02666746e-01 1.54000119e-01 7.70000597e-02 5.13333731e-02 1.28333433e-01 1.54000119e-01 2.56666866e-02 7.70000597e-02 1.54000119e-01 1.02666746e-01 7.70000597e-02 1.02666746e-01 1.28333433e-01 1.54000119e-01 0.00000000e+00 5.13333731e-02 7.70000597e-02 2.56666866e-02 1.02666746e-01 2.56666866e-02 1.28333433e-01 1.28333433e-01 7.70000597e-02 5.13333731e-02 1.02666746e-01 0.00000000e+00 2.56666866e-02 2.56666866e-02 7.70000597e-02 0.00000000e+00 1.54000119e-01 1.79666806e-01 7.70000597e-02 1.02666746e-01 5.13333731e-02 7.70000597e-02 1.54000119e-01 2.56666866e-02 1.02666746e-01 7.70000597e-02 5.13333731e-02 7.70000597e-02 7.70000597e-02 7.70000597e-02 7.70000597e-02 1.02666746e-01 2.31000179e-01 5.13333731e-02 7.70000597e-02 1.54000119e-01 1.02666746e-01 1.54000119e-01 2.56666866e-02 7.70000597e-02 1.28333433e-01 1.28333433e-01 2.56666866e-02 1.02666746e-01 1.02666746e-01 0.00000000e+00 2.56666866e-02 1.02666746e-01 7.70000597e-02 1.02666746e-01 1.54000119e-01 5.13333731e-02 1.02666746e-01 1.79666806e-01 1.02666746e-01 2.05333493e-01 7.70000597e-02 5.13333731e-02 5.13333731e-02 1.28333433e-01 7.70000597e-02 1.28333433e-01 1.02666746e-01 1.02666746e-01 1.28333433e-01 0.00000000e+00 5.13333731e-02 2.56666866e-02 1.28333433e-01 5.13333731e-02 1.79666806e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.28333433e-01 2.56666866e-02 5.13333731e-02 5.13333731e-02 1.02666746e-01 5.13333731e-02 5.13333731e-02 5.13333731e-02 1.54000119e-01 7.70000597e-02 7.70000597e-02 2.56666866e-02 7.70000597e-02 0.00000000e+00 5.13333731e-02 1.28333433e-01 1.54000119e-01 5.13333731e-02 1.02666746e-01 5.13333731e-02 1.02666746e-01 1.54000119e-01 5.13333731e-02 5.13333731e-02 5.13333731e-02 7.70000597e-02 1.02666746e-01 7.70000597e-02 7.70000597e-02 7.70000597e-02 1.79666806e-01 7.70000597e-02 2.05333493e-01 2.56666866e-02 1.54000119e-01 1.28333433e-01 1.02666746e-01 5.13333731e-02 1.02666746e-01 1.02666746e-01 1.02666746e-01 2.56666866e-02 0.00000000e+00 5.13333731e-02 5.13333731e-02 1.54000119e-01 5.13333731e-02 7.70000597e-02 1.79666806e-01 1.79666806e-01 2.56666866e-02 2.56666866e-02 2.56666866e-02 7.70000597e-02 7.70000597e-02 7.70000597e-02 2.05333493e-01 5.13333731e-02 7.70000597e-02 5.13333731e-02 2.56666866e-02 5.13333731e-02 1.02666746e-01 7.70000597e-02 7.70000597e-02 1.54000119e-01 1.28333433e-01 1.02666746e-01 1.02666746e-01 5.13333731e-02 1.54000119e-01 7.70000597e-02 5.13333731e-02 1.54000119e-01 1.02666746e-01 1.28333433e-01 1.54000119e-01 0.00000000e+00 1.28333433e-01 2.56666866e-02 1.54000119e-01 5.13333731e-02 1.79666806e-01 7.70000597e-02 1.28333433e-01 7.70000597e-02 1.02666746e-01 1.28333433e-01 2.56666866e-02 0.00000000e+00 1.02666746e-01 1.02666746e-01 5.13333731e-02 1.54000119e-01 5.13333731e-02 1.54000119e-01 1.02666746e-01 1.02666746e-01 7.70000597e-02 5.13333731e-02 1.02666746e-01 0.00000000e+00 1.02666746e-01 0.00000000e+00 2.05333493e-01 7.70000597e-02 1.79666806e-01 1.79666806e-01 7.70000597e-02 7.70000597e-02 1.02666746e-01 1.02666746e-01 2.05333493e-01 1.02666746e-01 1.54000119e-01 1.28333433e-01 2.31000179e-01 1.54000119e-01 1.02666746e-01 2.56666866e-02 1.79666806e-01 1.02666746e-01 1.28333433e-01 1.02666746e-01 1.02666746e-01 1.28333433e-01 1.28333433e-01 5.13333731e-02 1.79666806e-01 2.56666866e-02 5.13333731e-02 1.54000119e-01 2.56666866e-02 7.70000597e-02 1.54000119e-01 7.70000597e-02 1.02666746e-01 7.70000597e-02 5.13333731e-02 7.70000597e-02 2.56666866e-02 2.56666866e-02 7.70000597e-02 1.54000119e-01 1.79666806e-01 1.54000119e-01 2.56666866e-02 1.02666746e-01 1.54000119e-01 2.56666866e-02 1.54000119e-01 1.28333433e-01 1.02666746e-01 1.02666746e-01 7.70000597e-02 1.28333433e-01 1.02666746e-01 1.79666806e-01 1.54000119e-01 2.31000179e-01 7.70000597e-02 1.79666806e-01 5.13333731e-02 7.70000597e-02 7.70000597e-02 1.79666806e-01 2.56666866e-02 1.28333433e-01 1.02666746e-01 5.13333731e-02 1.28333433e-01 7.70000597e-02 5.13333731e-02 1.28333433e-01 1.28333433e-01 2.56666866e-02 1.28333433e-01 5.13333731e-02 0.00000000e+00 1.79666806e-01 1.28333433e-01 1.02666746e-01 1.02666746e-01 1.28333433e-01 7.70000597e-02 5.13333731e-02 1.28333433e-01 7.70000597e-02 0.00000000e+00 1.54000119e-01 1.02666746e-01 7.70000597e-02 1.79666806e-01 5.13333731e-02 7.70000597e-02 1.02666746e-01 2.56666866e-01 7.70000597e-02 5.13333731e-02 2.82333552e-01 1.79666806e-01 2.05333493e-01 1.02666746e-01 1.28333433e-01 7.70000597e-02 7.70000597e-02 1.79666806e-01 2.05333493e-01 1.79666806e-01 0.00000000e+00 1.54000119e-01 1.28333433e-01 2.56666866e-02 7.70000597e-02 5.13333731e-02 1.02666746e-01 1.54000119e-01 1.02666746e-01 2.56666866e-01 7.70000597e-02 1.02666746e-01 7.70000597e-02 1.28333433e-01 5.13333731e-02 1.02666746e-01 7.70000597e-02 1.02666746e-01 1.54000119e-01 5.13333731e-02 0.00000000e+00 1.28333433e-01 7.70000597e-02 1.02666746e-01 1.28333433e-01 1.28333433e-01 1.54000119e-01 7.70000597e-02 1.28333433e-01 2.05333493e-01 5.13333731e-02 1.54000119e-01 2.31000179e-01 1.28333433e-01 1.28333433e-01 1.02666746e-01 1.28333433e-01 7.70000597e-02 1.02666746e-01 1.54000119e-01 5.13333731e-02 2.31000179e-01 7.70000597e-02 1.28333433e-01 1.54000119e-01 0.00000000e+00 7.70000597e-02 1.02666746e-01 1.28333433e-01 1.02666746e-01 1.28333433e-01 1.02666746e-01 1.02666746e-01 7.70000597e-02 1.28333433e-01 2.31000179e-01 1.28333433e-01 1.54000119e-01 1.02666746e-01 1.02666746e-01 1.28333433e-01 1.02666746e-01 1.28333433e-01 1.54000119e-01 1.54000119e-01 1.02666746e-01 1.02666746e-01 2.05333493e-01 7.70000597e-02 1.02666746e-01 1.02666746e-01 1.54000119e-01 2.05333493e-01 1.02666746e-01 7.70000597e-02 1.28333433e-01 2.56666866e-02 1.28333433e-01 2.56666866e-01 7.70000597e-02 1.54000119e-01 2.56666866e-02 1.28333433e-01 1.02666746e-01 1.28333433e-01 7.70000597e-02 1.28333433e-01 1.02666746e-01 7.70000597e-02 1.28333433e-01 1.54000119e-01 1.02666746e-01 2.05333493e-01 1.28333433e-01 1.28333433e-01 1.28333433e-01 2.05333493e-01 5.13333731e-02 7.70000597e-02 1.54000119e-01 1.28333433e-01 1.02666746e-01 7.70000597e-02 1.28333433e-01 1.79666806e-01 1.02666746e-01 1.54000119e-01 1.54000119e-01 1.28333433e-01 2.05333493e-01 7.70000597e-02 2.82333552e-01 1.79666806e-01 1.28333433e-01 2.05333493e-01 7.70000597e-02 5.13333731e-02 1.02666746e-01 2.56666866e-01 1.02666746e-01 1.79666806e-01 1.79666806e-01 1.02666746e-01 3.08000239e-01 5.13333731e-02 1.28333433e-01 1.28333433e-01 1.79666806e-01 1.28333433e-01 1.02666746e-01 1.79666806e-01 1.28333433e-01 7.70000597e-02 1.02666746e-01 1.02666746e-01 2.05333493e-01 2.05333493e-01 1.02666746e-01 1.28333433e-01 3.08000239e-01 1.79666806e-01 1.28333433e-01 1.02666746e-01 2.05333493e-01 1.54000119e-01 1.54000119e-01 2.31000179e-01 1.79666806e-01 1.02666746e-01 5.13333731e-02 2.31000179e-01 1.28333433e-01 2.82333552e-01 2.05333493e-01 2.05333493e-01 1.79666806e-01 1.28333433e-01 1.54000119e-01 1.54000119e-01 2.31000179e-01 2.05333493e-01 1.54000119e-01 1.54000119e-01 2.31000179e-01 2.56666866e-01 5.13333731e-02 1.54000119e-01 1.02666746e-01 2.56666866e-01 2.05333493e-01 1.28333433e-01 1.54000119e-01 1.28333433e-01 2.82333552e-01 2.82333552e-01 1.02666746e-01 4.87667045e-01 2.56666866e-01 2.05333493e-01 2.31000179e-01 1.28333433e-01 7.70000597e-02 1.79666806e-01 1.54000119e-01 1.28333433e-01 1.28333433e-01 2.05333493e-01 1.28333433e-01 2.05333493e-01 7.70000597e-02 1.28333433e-01 2.31000179e-01 1.28333433e-01 1.28333433e-01 1.79666806e-01 1.54000119e-01 2.31000179e-01 3.33666925e-01 2.31000179e-01 2.05333493e-01 2.05333493e-01 1.02666746e-01 1.79666806e-01 1.02666746e-01 2.56666866e-01 1.28333433e-01 1.28333433e-01 1.79666806e-01 1.28333433e-01 2.31000179e-01 2.05333493e-01 3.33666925e-01 1.79666806e-01 2.05333493e-01 1.28333433e-01 2.05333493e-01 2.05333493e-01 1.28333433e-01 3.33666925e-01 2.31000179e-01 1.54000119e-01 4.10666985e-01 2.05333493e-01 3.08000239e-01 1.28333433e-01 1.79666806e-01 1.54000119e-01 1.54000119e-01 1.28333433e-01 1.28333433e-01 2.31000179e-01 2.82333552e-01 2.56666866e-01 2.05333493e-01 2.82333552e-01 3.08000239e-01 2.05333493e-01 4.10666985e-01 2.56666866e-01 1.02666746e-01 2.31000179e-01 2.05333493e-01 3.08000239e-01 3.33666925e-01 3.08000239e-01 1.28333433e-01 2.05333493e-01 1.54000119e-01 2.31000179e-01 3.59333612e-01 1.54000119e-01 2.56666866e-01 2.31000179e-01 2.31000179e-01 2.82333552e-01 2.56666866e-01 2.56666866e-01 1.28333433e-01 1.79666806e-01 1.79666806e-01 2.56666866e-01 2.56666866e-01 3.08000239e-01 2.56666866e-01 3.33666925e-01 3.08000239e-01 3.85000299e-01 2.56666866e-01 2.56666866e-01 2.56666866e-01 2.05333493e-01 2.05333493e-01 1.02666746e-01 1.02666746e-01 2.82333552e-01 3.08000239e-01 2.31000179e-01 3.85000299e-01 2.31000179e-01 1.79666806e-01 2.05333493e-01 2.05333493e-01 2.31000179e-01 3.08000239e-01 1.02666746e-01 2.05333493e-01 1.28333433e-01 3.33666925e-01 3.59333612e-01 2.05333493e-01 4.36333672e-01 3.08000239e-01 3.33666925e-01 2.56666866e-01 1.02666746e-01 2.56666866e-01 2.31000179e-01 1.79666806e-01 2.56666866e-01 4.10666985e-01 1.79666806e-01 2.05333493e-01 3.08000239e-01 2.05333493e-01 2.31000179e-01 4.36333672e-01 2.56666866e-01 2.05333493e-01 4.10666985e-01 2.56666866e-01 1.79666806e-01 2.82333552e-01 2.82333552e-01 3.33666925e-01 3.85000299e-01 3.33666925e-01 3.33666925e-01 1.79666806e-01 3.59333612e-01 3.08000239e-01 3.08000239e-01 4.87667045e-01 4.10666985e-01 5.13333731e-01 4.10666985e-01 4.36333672e-01 3.33666925e-01 3.85000299e-01 3.33666925e-01 2.82333552e-01 3.59333612e-01 3.59333612e-01 5.13333731e-02 3.08000239e-01 4.62000358e-01 3.59333612e-01 5.13333731e-01 4.87667045e-01 5.39000418e-01 4.62000358e-01 4.87667045e-01 3.85000299e-01 3.08000239e-01 5.39000418e-01 3.85000299e-01 4.10666985e-01 5.90333791e-01 2.31000179e-01 3.85000299e-01 2.56666866e-01 5.39000418e-01 4.10666985e-01 4.62000358e-01 4.62000358e-01 3.59333612e-01 3.33666925e-01 4.62000358e-01 6.67333851e-01 6.41667164e-01 4.62000358e-01 5.39000418e-01 3.85000299e-01 4.36333672e-01 6.67333851e-01 2.82333552e-01 7.95667284e-01 4.87667045e-01 6.16000478e-01 3.59333612e-01 5.13333731e-01 5.13333731e-01 5.39000418e-01 3.08000239e-01 4.62000358e-01 3.85000299e-01 6.41667164e-01 4.62000358e-01 7.18667224e-01 7.44333911e-01 7.70000597e-01 6.67333851e-01 7.95667284e-01 7.44333911e-01 7.18667224e-01 5.90333791e-01 7.44333911e-01 4.62000358e-01 8.47000657e-01 8.21333970e-01 8.21333970e-01 8.72667343e-01 7.70000597e-01 8.21333970e-01 7.70000597e-01 1.18066758e+00 6.41667164e-01 6.41667164e-01 1.07800084e+00 7.44333911e-01 8.98334030e-01 8.72667343e-01 7.18667224e-01 1.20633427e+00 1.15500090e+00 1.23200096e+00 1.05233415e+00 9.75334090e-01 1.12933421e+00 1.00100078e+00 1.02666746e+00 1.18066758e+00 1.30900102e+00 1.15500090e+00 9.75334090e-01 1.28333433e+00 1.23200096e+00 1.30900102e+00 1.38600107e+00 1.92500149e+00 1.18066758e+00 1.79666806e+00 1.30900102e+00 1.51433451e+00 2.02766824e+00 1.61700125e+00 1.59133457e+00 1.54000119e+00 1.61700125e+00 1.95066818e+00 1.84800143e+00 2.36133516e+00 1.69400131e+00 2.28433510e+00 2.23300173e+00 2.23300173e+00 2.23300173e+00 2.36133516e+00 2.59233534e+00 2.43833522e+00 2.10466830e+00 2.72066878e+00 2.48966860e+00 2.51533528e+00 2.72066878e+00 2.74633546e+00 3.05433570e+00 3.08000239e+00 3.10566907e+00 3.36233594e+00 3.18266913e+00 3.43933600e+00 3.15700245e+00 3.56766943e+00 3.54200275e+00 3.77300293e+00 3.18266913e+00 3.69600287e+00 4.00400310e+00 3.77300293e+00 4.20933660e+00 4.23500328e+00 4.85100376e+00 4.00400310e+00 4.08100316e+00 5.03067057e+00 5.05633725e+00 4.77400370e+00 5.26167075e+00 5.23600406e+00 5.26167075e+00 5.56967099e+00 5.59533767e+00 6.00600466e+00 5.82633785e+00 6.57067176e+00 5.95467128e+00 6.00600466e+00 6.77600525e+00 6.93000537e+00 6.64767182e+00 5.59533767e+00 7.57167254e+00 7.08400549e+00 7.16100555e+00 7.57167254e+00 7.72567266e+00 7.67433928e+00 9.11167373e+00 8.26467308e+00 8.16200633e+00 9.67634084e+00 9.18867379e+00 9.06034036e+00 9.59934078e+00 9.93300770e+00 9.80467427e+00 1.00613411e+01 1.20120093e+01 1.02410079e+01 1.19350093e+01 1.13703422e+01 1.17296758e+01 1.21146761e+01 1.21660094e+01 1.18066758e+01 1.13190088e+01 1.23456762e+01 1.30130101e+01 1.32696770e+01 1.35263438e+01 1.29103433e+01 1.37573440e+01 1.20120093e+01 1.26536765e+01 1.17296758e+01 1.11136753e+01 1.25510097e+01 1.16013423e+01 1.20376760e+01 1.14986756e+01 1.05233415e+01 1.17040091e+01 1.11906753e+01 1.14730089e+01 1.03436747e+01 1.13446755e+01 1.14730089e+01 1.20890094e+01 1.14730089e+01 1.04463414e+01 1.10366752e+01 9.83034096e+00 9.08600705e+00 1.01126745e+01 8.67534006e+00 1.05490082e+01 8.36733982e+00 9.03467367e+00 8.95767361e+00 8.85500687e+00 8.18767302e+00 8.03367290e+00 7.39200573e+00 6.69900519e+00 8.11067296e+00 7.46900579e+00 7.28933899e+00 7.49467248e+00 6.26267152e+00 6.36533827e+00 6.36533827e+00 5.85200454e+00 5.77500448e+00 5.87767122e+00 5.49267093e+00 5.36433749e+00 5.05633725e+00 4.62000358e+00 4.64567027e+00 4.56867021e+00 4.51733684e+00 4.18366991e+00 3.87566967e+00 4.00400310e+00 4.23500328e+00 3.49066937e+00 3.23400251e+00 3.41366931e+00 3.77300293e+00 2.97733564e+00 3.25966919e+00 3.15700245e+00 3.28533588e+00 2.90033558e+00 2.92600227e+00 2.64366872e+00 2.92600227e+00 2.13033499e+00 2.33566848e+00 2.25866842e+00 2.20733505e+00 1.59133457e+00 2.07900161e+00 1.66833463e+00 1.92500149e+00 2.02766824e+00 1.64266794e+00 1.12933421e+00 1.56566788e+00 1.79666806e+00 1.77100137e+00 1.10366752e+00 1.43733445e+00 1.71966800e+00 1.51433451e+00 1.46300113e+00 1.38600107e+00 1.46300113e+00 1.12933421e+00 1.33466770e+00 1.23200096e+00 1.10366752e+00 1.15500090e+00 9.49667403e-01 6.41667164e-01 1.00100078e+00 8.21333970e-01 1.15500090e+00 9.24000717e-01 8.47000657e-01 6.41667164e-01 8.21333970e-01 1.07800084e+00 8.47000657e-01 7.95667284e-01 7.95667284e-01 7.95667284e-01 7.44333911e-01 4.62000358e-01 5.64667105e-01 5.64667105e-01 6.16000478e-01 5.90333791e-01 4.36333672e-01 4.87667045e-01 4.62000358e-01 6.16000478e-01 5.90333791e-01 5.13333731e-01 6.41667164e-01 4.62000358e-01 4.10666985e-01 3.85000299e-01 4.87667045e-01 3.85000299e-01 5.13333731e-01 6.41667164e-01 2.56666866e-01 3.33666925e-01 4.62000358e-01 4.36333672e-01 5.13333731e-01 3.08000239e-01 4.10666985e-01 3.59333612e-01 3.85000299e-01 3.85000299e-01 3.59333612e-01 3.85000299e-01 2.82333552e-01 3.08000239e-01 2.05333493e-01 2.82333552e-01 4.10666985e-01 4.10666985e-01 3.33666925e-01 2.56666866e-01 3.33666925e-01 3.33666925e-01 2.05333493e-01 2.31000179e-01 1.28333433e-01 1.79666806e-01 3.59333612e-01 2.82333552e-01 2.05333493e-01 1.79666806e-01 2.31000179e-01 3.08000239e-01 3.33666925e-01 1.54000119e-01 7.70000597e-02 2.56666866e-01 2.82333552e-01 2.56666866e-01 2.05333493e-01 5.13333731e-02 1.02666746e-01 2.05333493e-01 1.02666746e-01 1.28333433e-01 1.28333433e-01 7.70000597e-02 7.70000597e-02 2.05333493e-01 2.05333493e-01 1.54000119e-01 1.28333433e-01 2.05333493e-01 1.79666806e-01 1.28333433e-01 1.02666746e-01 1.02666746e-01 7.70000597e-02 1.54000119e-01 7.70000597e-02 5.13333731e-02 1.79666806e-01 7.70000597e-02 1.79666806e-01 5.13333731e-02 1.28333433e-01 5.13333731e-02 7.70000597e-02 1.02666746e-01 1.28333433e-01 7.70000597e-02 1.79666806e-01 1.79666806e-01 5.13333731e-02 7.70000597e-02 1.02666746e-01 7.70000597e-02 1.02666746e-01 7.70000597e-02 1.02666746e-01 2.56666866e-02 1.79666806e-01 7.70000597e-02 1.02666746e-01 7.70000597e-02 1.02666746e-01 5.13333731e-02 7.70000597e-02 0.00000000e+00 1.54000119e-01 7.70000597e-02 7.70000597e-02 2.56666866e-02 5.13333731e-02 2.56666866e-02 0.00000000e+00 5.13333731e-02 5.13333731e-02 1.02666746e-01 7.70000597e-02 5.13333731e-02 2.56666866e-02 0.00000000e+00 5.13333731e-02 1.28333433e-01 5.13333731e-02 5.13333731e-02 1.02666746e-01 2.56666866e-02 5.13333731e-02 0.00000000e+00 2.56666866e-02 5.13333731e-02 2.56666866e-02 0.00000000e+00 0.00000000e+00 7.70000597e-02 2.56666866e-02 0.00000000e+00 1.79666806e-01 0.00000000e+00 2.56666866e-02 0.00000000e+00 2.56666866e-02 2.56666866e-02 0.00000000e+00 2.56666866e-02 2.56666866e-02 2.56666866e-02 0.00000000e+00 0.00000000e+00 2.56666866e-02 2.56666866e-02 5.13333731e-02 0.00000000e+00 5.13333731e-02 0.00000000e+00 0.00000000e+00 5.13333731e-02 2.56666866e-02 5.13333731e-02 2.56666866e-02 2.56666866e-02 5.13333731e-02 2.56666866e-02 2.56666866e-02 5.13333731e-02 2.56666866e-02 2.56666866e-02 0.00000000e+00 7.70000597e-02 0.00000000e+00 2.56666866e-02 5.13333731e-02 2.56666866e-02 5.13333731e-02 0.00000000e+00 2.56666866e-02 0.00000000e+00 2.56666866e-02 5.13333731e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.13333731e-02 2.56666866e-02 2.56666866e-02 0.00000000e+00 0.00000000e+00 5.13333731e-02 5.13333731e-02 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.56666866e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 5.65707154e+00 2.22242096e+01 1.41426789e+01 3.27301996e+01 2.02038269e+01 3.95995008e+01 4.24280366e+01 3.67709650e+01 4.82871464e+01 4.46504575e+01 4.00035773e+01 3.73770798e+01 4.38423045e+01 4.14178452e+01 5.19238352e+01 3.87913477e+01 3.69730033e+01 3.39424293e+01 3.31342762e+01 2.74772046e+01 3.13159318e+01 2.56588602e+01 3.11138935e+01 2.44466306e+01 2.58608985e+01 2.48507071e+01 1.97997504e+01 2.06079035e+01 1.89915973e+01 1.83854825e+01 2.22242096e+01 1.71732529e+01 1.65671381e+01 2.00017887e+01 1.73752912e+01 1.55569467e+01 1.83854825e+01 1.61630615e+01 1.59610233e+01 1.55569467e+01 1.63650998e+01 1.15161814e+01 7.07133943e+00 9.69783693e+00 9.09172212e+00 1.17182196e+01 1.07080283e+01 1.33345258e+01 1.23243344e+01 9.09172212e+00 9.49579866e+00 1.09100665e+01 8.48560731e+00 1.03039517e+01 8.68764558e+00 1.05059900e+01 9.49579866e+00 8.48560731e+00 7.27337770e+00 7.67745424e+00 7.67745424e+00 9.09172212e+00 8.08153077e+00 7.27337770e+00 9.69783693e+00 8.88968385e+00 7.07133943e+00 5.65707154e+00 5.65707154e+00 8.68764558e+00 9.09172212e+00 7.47541597e+00 7.87949251e+00 7.27337770e+00 5.85910981e+00 5.45503327e+00 7.27337770e+00 7.67745424e+00 6.26318635e+00 9.69783693e+00 6.46522462e+00 7.27337770e+00 5.85910981e+00 7.87949251e+00 8.68764558e+00 6.26318635e+00 5.45503327e+00 6.06114808e+00 4.84891846e+00 4.84891846e+00 5.05095673e+00 6.06114808e+00 6.06114808e+00 5.45503327e+00 5.85910981e+00 5.45503327e+00 5.45503327e+00 6.46522462e+00 5.85910981e+00 5.45503327e+00 6.46522462e+00 7.47541597e+00 4.24280366e+00 4.64688020e+00 3.63668885e+00 4.44484193e+00 3.83872712e+00 2.82853577e+00 4.44484193e+00 4.04076539e+00 6.26318635e+00 4.04076539e+00 4.04076539e+00 4.44484193e+00 4.04076539e+00 4.04076539e+00 4.04076539e+00 3.23261231e+00 5.65707154e+00 4.64688020e+00 2.82853577e+00 3.83872712e+00 3.83872712e+00 4.04076539e+00 4.64688020e+00 3.43465058e+00 2.82853577e+00 3.23261231e+00 4.44484193e+00 2.22242096e+00 3.63668885e+00 2.62649750e+00 6.66726289e+00 4.24280366e+00 3.03057404e+00 3.63668885e+00 3.23261231e+00 2.82853577e+00 4.04076539e+00 4.04076539e+00 4.04076539e+00 4.84891846e+00 3.23261231e+00 3.43465058e+00 3.03057404e+00 1.41426789e+00 4.04076539e+00 2.22242096e+00 3.23261231e+00 2.62649750e+00 2.82853577e+00 3.63668885e+00 3.63668885e+00 2.02038269e+00 2.82853577e+00 3.83872712e+00 2.22242096e+00 2.82853577e+00 2.62649750e+00 3.03057404e+00 4.04076539e+00 2.22242096e+00 2.82853577e+00 1.81834442e+00 2.62649750e+00 3.23261231e+00 3.63668885e+00 2.22242096e+00 2.62649750e+00 2.02038269e+00 2.02038269e+00 2.82853577e+00 2.42445923e+00 4.04076539e+00 2.22242096e+00 1.61630615e+00 2.22242096e+00 2.42445923e+00 1.41426789e+00 1.61630615e+00 3.63668885e+00 2.42445923e+00 2.62649750e+00 2.42445923e+00 1.81834442e+00 1.41426789e+00 2.62649750e+00 2.82853577e+00 2.02038269e+00 2.02038269e+00 2.82853577e+00 4.44484193e+00 2.42445923e+00 2.82853577e+00 2.42445923e+00 3.63668885e+00 1.61630615e+00 1.81834442e+00 2.62649750e+00 2.22242096e+00 2.82853577e+00 2.42445923e+00 1.81834442e+00 2.42445923e+00 2.42445923e+00 1.81834442e+00 2.02038269e+00 1.21222962e+00 3.83872712e+00 1.81834442e+00 1.61630615e+00 1.81834442e+00 2.42445923e+00 1.41426789e+00 4.24280366e+00 1.81834442e+00 1.81834442e+00 3.43465058e+00 1.81834442e+00 1.21222962e+00 2.02038269e+00 2.42445923e+00 3.63668885e+00 1.41426789e+00 2.42445923e+00 3.23261231e+00 1.61630615e+00 1.01019135e+00 3.03057404e+00 1.61630615e+00 1.41426789e+00 2.62649750e+00 2.22242096e+00 1.21222962e+00 8.08153077e-01 2.62649750e+00 2.22242096e+00 2.02038269e+00 6.06114808e-01 2.42445923e+00 1.21222962e+00 2.02038269e+00 1.61630615e+00 2.82853577e+00 3.43465058e+00 2.22242096e+00 3.23261231e+00 1.41426789e+00 1.41426789e+00 6.06114808e-01 1.21222962e+00 1.21222962e+00 1.81834442e+00 1.81834442e+00 1.61630615e+00 4.04076539e-01 1.21222962e+00 2.22242096e+00 1.21222962e+00 2.22242096e+00 1.61630615e+00 1.21222962e+00 2.22242096e+00 1.81834442e+00 1.61630615e+00 1.81834442e+00 2.02038269e+00 2.22242096e+00 1.01019135e+00 1.21222962e+00 2.22242096e+00 1.01019135e+00 1.41426789e+00 1.41426789e+00 2.02038269e+00 2.02038269e+00 1.41426789e+00 6.06114808e-01 8.08153077e-01 1.41426789e+00 2.22242096e+00 2.42445923e+00 1.01019135e+00 1.81834442e+00 2.02038269e+00 1.21222962e+00 8.08153077e-01 1.81834442e+00 1.21222962e+00 2.02038269e+00 2.22242096e+00 1.81834442e+00 1.01019135e+00 1.41426789e+00 1.61630615e+00 6.06114808e-01 1.21222962e+00 1.01019135e+00 1.01019135e+00 8.08153077e-01 2.22242096e+00 1.81834442e+00 8.08153077e-01 1.41426789e+00 4.04076539e-01 1.41426789e+00 8.08153077e-01 6.06114808e-01 6.06114808e-01 8.08153077e-01 1.41426789e+00 8.08153077e-01 1.81834442e+00 2.02038269e+00 4.04076539e-01 1.21222962e+00 1.61630615e+00 1.01019135e+00 1.21222962e+00 8.08153077e-01 1.21222962e+00 1.61630615e+00 1.21222962e+00 1.61630615e+00 8.08153077e-01 6.06114808e-01 2.42445923e+00 1.01019135e+00 8.08153077e-01 1.41426789e+00 4.04076539e-01 1.21222962e+00 1.61630615e+00 8.08153077e-01 1.01019135e+00 2.02038269e+00 1.21222962e+00 1.01019135e+00 6.06114808e-01 1.81834442e+00 1.21222962e+00 2.02038269e+00 4.04076539e-01 6.06114808e-01 1.01019135e+00 8.08153077e-01 6.06114808e-01 1.01019135e+00 1.41426789e+00 1.01019135e+00 1.21222962e+00 8.08153077e-01 1.21222962e+00 8.08153077e-01 1.21222962e+00 8.08153077e-01 6.06114808e-01 6.06114808e-01 4.04076539e-01 1.01019135e+00 8.08153077e-01 1.61630615e+00 8.08153077e-01 8.08153077e-01 1.01019135e+00 8.08153077e-01 8.08153077e-01 2.02038269e+00 2.62649750e+00 1.21222962e+00 8.08153077e-01 6.06114808e-01 4.04076539e-01 1.41426789e+00 1.01019135e+00 8.08153077e-01 1.41426789e+00 1.01019135e+00 6.06114808e-01 1.61630615e+00 1.21222962e+00 1.41426789e+00 4.04076539e-01 8.08153077e-01 2.02038269e+00 8.08153077e-01 2.02038269e-01 1.41426789e+00 6.06114808e-01 1.21222962e+00 4.04076539e-01 6.06114808e-01 6.06114808e-01 1.41426789e+00 6.06114808e-01 1.21222962e+00 8.08153077e-01 1.21222962e+00 6.06114808e-01 2.02038269e-01 8.08153077e-01 1.21222962e+00 1.41426789e+00 6.06114808e-01 1.21222962e+00 1.01019135e+00 1.01019135e+00 6.06114808e-01 0.00000000e+00 1.01019135e+00 8.08153077e-01 1.21222962e+00 1.21222962e+00 1.41426789e+00 2.02038269e-01 8.08153077e-01 8.08153077e-01 1.41426789e+00 6.06114808e-01 6.06114808e-01 8.08153077e-01 1.21222962e+00 2.02038269e-01 6.06114808e-01 4.04076539e-01 6.06114808e-01 4.04076539e-01 2.22242096e+00 1.21222962e+00 8.08153077e-01 4.04076539e-01 4.04076539e-01 8.08153077e-01 2.02038269e-01 1.01019135e+00 1.41426789e+00 8.08153077e-01 8.08153077e-01 6.06114808e-01 4.04076539e-01 4.04076539e-01 1.41426789e+00 1.01019135e+00 1.01019135e+00 4.04076539e-01 6.06114808e-01 1.01019135e+00 4.04076539e-01 4.04076539e-01 1.41426789e+00 4.04076539e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 1.01019135e+00 1.21222962e+00 6.06114808e-01 0.00000000e+00 8.08153077e-01 1.21222962e+00 4.04076539e-01 4.04076539e-01 6.06114808e-01 6.06114808e-01 8.08153077e-01 2.02038269e-01 6.06114808e-01 4.04076539e-01 4.04076539e-01 1.01019135e+00 2.02038269e-01 4.04076539e-01 6.06114808e-01 8.08153077e-01 6.06114808e-01 8.08153077e-01 2.02038269e-01 8.08153077e-01 6.06114808e-01 2.02038269e-01 8.08153077e-01 1.01019135e+00 4.04076539e-01 6.06114808e-01 4.04076539e-01 8.08153077e-01 8.08153077e-01 8.08153077e-01 4.04076539e-01 6.06114808e-01 8.08153077e-01 6.06114808e-01 2.02038269e-01 6.06114808e-01 2.02038269e-01 6.06114808e-01 2.02038269e-01 1.01019135e+00 4.04076539e-01 0.00000000e+00 8.08153077e-01 6.06114808e-01 6.06114808e-01 6.06114808e-01 4.04076539e-01 8.08153077e-01 8.08153077e-01 6.06114808e-01 6.06114808e-01 6.06114808e-01 4.04076539e-01 6.06114808e-01 6.06114808e-01 4.04076539e-01 8.08153077e-01 2.02038269e-01 4.04076539e-01 1.01019135e+00 2.02038269e-01 4.04076539e-01 1.21222962e+00 2.02038269e-01 8.08153077e-01 6.06114808e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 2.02038269e-01 4.04076539e-01 6.06114808e-01 4.04076539e-01 6.06114808e-01 6.06114808e-01 1.21222962e+00 2.02038269e-01 4.04076539e-01 4.04076539e-01 8.08153077e-01 8.08153077e-01 6.06114808e-01 2.02038269e-01 4.04076539e-01 6.06114808e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 4.04076539e-01 6.06114808e-01 6.06114808e-01 1.01019135e+00 4.04076539e-01 6.06114808e-01 4.04076539e-01 4.04076539e-01 2.02038269e-01 8.08153077e-01 2.02038269e-01 6.06114808e-01 4.04076539e-01 4.04076539e-01 4.04076539e-01 4.04076539e-01 6.06114808e-01 2.02038269e-01 8.08153077e-01 8.08153077e-01 6.06114808e-01 1.21222962e+00 4.04076539e-01 0.00000000e+00 4.04076539e-01 6.06114808e-01 1.01019135e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 8.08153077e-01 2.02038269e-01 0.00000000e+00 8.08153077e-01 2.02038269e-01 2.02038269e-01 6.06114808e-01 8.08153077e-01 4.04076539e-01 8.08153077e-01 0.00000000e+00 4.04076539e-01 6.06114808e-01 1.01019135e+00 2.02038269e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 2.02038269e-01 6.06114808e-01 6.06114808e-01 4.04076539e-01 6.06114808e-01 8.08153077e-01 4.04076539e-01 4.04076539e-01 1.01019135e+00 6.06114808e-01 6.06114808e-01 1.41426789e+00 6.06114808e-01 2.02038269e-01 1.01019135e+00 4.04076539e-01 1.01019135e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 6.06114808e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 8.08153077e-01 6.06114808e-01 8.08153077e-01 8.08153077e-01 6.06114808e-01 4.04076539e-01 4.04076539e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 1.01019135e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 6.06114808e-01 0.00000000e+00 6.06114808e-01 4.04076539e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 6.06114808e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 1.41426789e+00 1.01019135e+00 4.04076539e-01 2.02038269e-01 6.06114808e-01 0.00000000e+00 0.00000000e+00 8.08153077e-01 1.01019135e+00 2.02038269e-01 6.06114808e-01 2.02038269e-01 0.00000000e+00 6.06114808e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 8.08153077e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 1.41426789e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 6.06114808e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 4.04076539e-01 4.04076539e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 6.06114808e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 6.06114808e-01 4.04076539e-01 4.04076539e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 4.04076539e-01 1.01019135e+00 0.00000000e+00 4.04076539e-01 4.04076539e-01 2.02038269e-01 4.04076539e-01 8.08153077e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 6.06114808e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 1.01019135e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 6.06114808e-01 4.04076539e-01 2.02038269e-01 6.06114808e-01 8.08153077e-01 4.04076539e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 8.08153077e-01 2.02038269e-01 6.06114808e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 2.02038269e-01 6.06114808e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 6.06114808e-01 0.00000000e+00 4.04076539e-01 4.04076539e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 6.06114808e-01 6.06114808e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 1.01019135e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 6.06114808e-01 6.06114808e-01 6.06114808e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 6.06114808e-01 8.08153077e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 6.06114808e-01 6.06114808e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 6.06114808e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 6.06114808e-01 2.02038269e-01 6.06114808e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 6.06114808e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 4.04076539e-01 6.06114808e-01 6.06114808e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 6.06114808e-01 2.02038269e-01 0.00000000e+00 6.06114808e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 6.06114808e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 6.06114808e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 4.04076539e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 6.06114808e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 6.06114808e-01 0.00000000e+00 6.06114808e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 6.06114808e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 6.06114808e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 4.04076539e-01 0.00000000e+00 6.06114808e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 0.00000000e+00 6.06114808e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 6.06114808e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 8.08153077e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 1.61630615e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 8.08153077e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 4.04076539e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 4.04076539e-01 4.04076539e-01 0.00000000e+00 6.06114808e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 0.00000000e+00 1.01019135e+00 4.04076539e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 6.06114808e-01 6.06114808e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 8.08153077e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.08153077e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.06114808e-01 0.00000000e+00 4.04076539e-01 4.04076539e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 8.08153077e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.06114808e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 6.06114808e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 6.06114808e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.06114808e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 8.08153077e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 6.06114808e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 8.08153077e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 0.00000000e+00 2.02038269e-01 4.04076539e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 8.08153077e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.04076539e-01 4.04076539e-01 2.02038269e-01 4.04076539e-01 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 4.04076539e-01 1.01019135e+00 1.21222962e+00 2.02038269e-01 0.00000000e+00 4.04076539e-01 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.02038269e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_low_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_low_BDTG.weights.xml index 7f751a96fe2c..9dea2c791ca9 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_low_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_low_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - - + + - + - - - - + + + + @@ -73,5888 +73,5954 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.05891663e-01 0.00000000e+00 1.05891663e-01 1.05891663e-01 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 1.05891663e-01 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 1.05891663e-01 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 5.29458313e-02 5.29458313e-02 0.00000000e+00 0.00000000e+00 5.29458313e-02 1.05891663e-01 5.29458313e-02 1.05891663e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 1.05891663e-01 0.00000000e+00 1.58837494e-01 5.29458313e-02 0.00000000e+00 5.29458313e-02 5.29458313e-02 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 5.29458313e-02 5.29458313e-02 1.05891663e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 5.29458313e-02 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.05891663e-01 1.05891663e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.05891663e-01 0.00000000e+00 5.29458313e-02 5.29458313e-02 1.58837494e-01 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.05891663e-01 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 5.29458313e-02 1.05891663e-01 1.05891663e-01 1.58837494e-01 5.29458313e-02 5.29458313e-02 5.29458313e-02 5.29458313e-02 5.29458313e-02 0.00000000e+00 1.58837494e-01 5.29458313e-02 1.05891663e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.05891663e-01 5.29458313e-02 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.58837494e-01 5.29458313e-02 5.29458313e-02 1.58837494e-01 0.00000000e+00 1.05891663e-01 5.29458313e-02 1.58837494e-01 5.29458313e-02 0.00000000e+00 0.00000000e+00 5.29458313e-02 5.29458313e-02 5.29458313e-02 1.05891663e-01 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 1.05891663e-01 5.29458313e-02 1.58837494e-01 5.29458313e-02 5.29458313e-02 0.00000000e+00 1.05891663e-01 1.05891663e-01 0.00000000e+00 1.05891663e-01 5.29458313e-02 5.29458313e-02 0.00000000e+00 1.05891663e-01 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 5.29458313e-02 1.58837494e-01 1.05891663e-01 1.58837494e-01 1.05891663e-01 5.29458313e-02 2.11783325e-01 5.29458313e-02 0.00000000e+00 1.58837494e-01 1.58837494e-01 5.29458313e-02 0.00000000e+00 0.00000000e+00 5.29458313e-02 1.05891663e-01 1.05891663e-01 0.00000000e+00 0.00000000e+00 1.58837494e-01 1.05891663e-01 1.05891663e-01 2.11783325e-01 1.05891663e-01 0.00000000e+00 0.00000000e+00 2.64729156e-01 5.29458313e-02 5.29458313e-02 5.29458313e-02 0.00000000e+00 1.05891663e-01 1.05891663e-01 5.29458313e-02 5.29458313e-02 5.29458313e-02 0.00000000e+00 5.29458313e-02 5.29458313e-02 1.05891663e-01 1.05891663e-01 0.00000000e+00 1.58837494e-01 1.05891663e-01 1.05891663e-01 1.58837494e-01 2.11783325e-01 1.05891663e-01 1.05891663e-01 5.29458313e-02 2.11783325e-01 1.05891663e-01 2.11783325e-01 1.05891663e-01 5.29458313e-02 5.29458313e-02 5.29458313e-02 5.29458313e-02 1.05891663e-01 0.00000000e+00 5.29458313e-02 1.05891663e-01 1.58837494e-01 5.29458313e-02 0.00000000e+00 1.58837494e-01 5.29458313e-02 0.00000000e+00 1.05891663e-01 1.05891663e-01 2.64729156e-01 1.58837494e-01 1.58837494e-01 0.00000000e+00 2.11783325e-01 1.05891663e-01 1.58837494e-01 5.29458313e-02 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 5.29458313e-02 1.58837494e-01 1.05891663e-01 1.58837494e-01 1.58837494e-01 1.05891663e-01 1.05891663e-01 5.29458313e-02 2.11783325e-01 2.64729156e-01 1.58837494e-01 0.00000000e+00 0.00000000e+00 1.58837494e-01 0.00000000e+00 5.29458313e-02 3.17674988e-01 1.05891663e-01 1.58837494e-01 0.00000000e+00 1.58837494e-01 1.58837494e-01 2.11783325e-01 5.29458313e-02 1.58837494e-01 5.29458313e-02 2.11783325e-01 5.29458313e-02 2.11783325e-01 0.00000000e+00 1.05891663e-01 1.05891663e-01 1.58837494e-01 1.58837494e-01 2.64729156e-01 1.05891663e-01 1.05891663e-01 2.11783325e-01 1.05891663e-01 5.29458313e-02 1.05891663e-01 1.05891663e-01 4.23566650e-01 2.64729156e-01 2.64729156e-01 1.58837494e-01 2.11783325e-01 1.58837494e-01 5.29458313e-02 5.29458313e-02 1.05891663e-01 1.05891663e-01 1.58837494e-01 2.64729156e-01 2.11783325e-01 2.11783325e-01 1.58837494e-01 1.58837494e-01 2.64729156e-01 2.11783325e-01 1.05891663e-01 0.00000000e+00 1.05891663e-01 3.17674988e-01 1.05891663e-01 3.17674988e-01 5.29458313e-02 1.05891663e-01 2.64729156e-01 1.58837494e-01 5.29458313e-02 1.05891663e-01 5.29458313e-02 4.76512482e-01 1.58837494e-01 1.05891663e-01 2.64729156e-01 2.11783325e-01 2.64729156e-01 1.58837494e-01 1.05891663e-01 1.05891663e-01 3.70620819e-01 1.05891663e-01 2.11783325e-01 1.05891663e-01 1.05891663e-01 0.00000000e+00 1.05891663e-01 1.05891663e-01 1.58837494e-01 1.05891663e-01 1.05891663e-01 1.05891663e-01 1.05891663e-01 5.29458313e-02 2.64729156e-01 5.29458313e-02 5.29458313e-02 5.29458313e-02 5.29458313e-02 3.70620819e-01 3.70620819e-01 1.58837494e-01 1.58837494e-01 5.29458313e-02 1.58837494e-01 1.05891663e-01 1.58837494e-01 1.58837494e-01 2.11783325e-01 1.05891663e-01 2.64729156e-01 1.58837494e-01 2.64729156e-01 1.05891663e-01 3.70620819e-01 5.29458313e-02 5.29458313e-02 5.29458313e-02 2.11783325e-01 1.05891663e-01 1.58837494e-01 1.05891663e-01 3.17674988e-01 2.11783325e-01 1.05891663e-01 1.05891663e-01 2.64729156e-01 1.05891663e-01 1.58837494e-01 2.11783325e-01 1.05891663e-01 5.29458313e-02 2.64729156e-01 0.00000000e+00 2.11783325e-01 3.17674988e-01 1.58837494e-01 1.58837494e-01 1.58837494e-01 4.23566650e-01 2.11783325e-01 1.05891663e-01 2.11783325e-01 2.64729156e-01 2.11783325e-01 1.58837494e-01 3.70620819e-01 1.05891663e-01 1.05891663e-01 1.58837494e-01 4.23566650e-01 1.05891663e-01 3.17674988e-01 2.64729156e-01 2.11783325e-01 2.64729156e-01 2.11783325e-01 5.29458313e-02 2.11783325e-01 4.23566650e-01 5.29458313e-02 2.64729156e-01 5.29458313e-02 0.00000000e+00 1.05891663e-01 1.58837494e-01 1.05891663e-01 1.05891663e-01 2.11783325e-01 5.82404144e-01 2.11783325e-01 1.05891663e-01 3.17674988e-01 1.05891663e-01 3.70620819e-01 3.17674988e-01 2.11783325e-01 1.05891663e-01 3.70620819e-01 1.05891663e-01 5.29458313e-02 4.76512482e-01 1.05891663e-01 1.05891663e-01 3.17674988e-01 2.11783325e-01 1.05891663e-01 1.05891663e-01 2.11783325e-01 5.29458313e-02 1.58837494e-01 2.11783325e-01 1.05891663e-01 2.11783325e-01 1.58837494e-01 2.64729156e-01 4.76512482e-01 2.64729156e-01 2.11783325e-01 1.58837494e-01 3.70620819e-01 2.11783325e-01 2.64729156e-01 1.58837494e-01 4.23566650e-01 4.23566650e-01 3.70620819e-01 1.05891663e-01 2.64729156e-01 2.64729156e-01 2.11783325e-01 5.82404144e-01 3.17674988e-01 1.58837494e-01 4.23566650e-01 2.11783325e-01 4.76512482e-01 1.05891663e-01 5.29458313e-02 1.05891663e-01 3.70620819e-01 3.17674988e-01 3.17674988e-01 4.23566650e-01 4.23566650e-01 2.11783325e-01 2.11783325e-01 2.64729156e-01 3.17674988e-01 1.58837494e-01 3.70620819e-01 4.76512482e-01 1.58837494e-01 2.11783325e-01 2.11783325e-01 3.17674988e-01 2.64729156e-01 2.11783325e-01 2.11783325e-01 2.64729156e-01 1.58837494e-01 2.64729156e-01 2.64729156e-01 3.70620819e-01 6.88295807e-01 1.58837494e-01 4.23566650e-01 5.29458313e-01 3.70620819e-01 1.58837494e-01 1.05891663e-01 2.11783325e-01 2.64729156e-01 2.64729156e-01 1.58837494e-01 4.23566650e-01 2.11783325e-01 2.11783325e-01 4.23566650e-01 2.64729156e-01 4.23566650e-01 3.70620819e-01 2.64729156e-01 3.17674988e-01 4.23566650e-01 1.58837494e-01 5.29458313e-01 4.76512482e-01 5.82404144e-01 6.35349976e-01 1.58837494e-01 2.11783325e-01 3.17674988e-01 5.29458313e-01 3.17674988e-01 3.17674988e-01 2.64729156e-01 5.29458313e-01 4.76512482e-01 1.05891663e-01 3.70620819e-01 5.82404144e-01 1.05891663e-01 1.58837494e-01 5.82404144e-01 4.76512482e-01 3.17674988e-01 5.29458313e-01 1.58837494e-01 4.76512482e-01 3.70620819e-01 4.76512482e-01 2.11783325e-01 4.76512482e-01 2.64729156e-01 5.29458313e-01 4.23566650e-01 5.82404144e-01 3.17674988e-01 3.70620819e-01 2.64729156e-01 6.35349976e-01 4.76512482e-01 2.11783325e-01 4.23566650e-01 5.29458313e-01 0.00000000e+00 3.70620819e-01 4.23566650e-01 3.70620819e-01 4.76512482e-01 3.70620819e-01 2.64729156e-01 4.76512482e-01 5.82404144e-01 3.70620819e-01 3.70620819e-01 3.70620819e-01 3.70620819e-01 3.17674988e-01 5.29458313e-01 4.76512482e-01 7.41241638e-01 4.23566650e-01 4.76512482e-01 3.70620819e-01 3.17674988e-01 2.64729156e-01 5.82404144e-01 4.76512482e-01 3.17674988e-01 4.76512482e-01 3.70620819e-01 4.76512482e-01 3.70620819e-01 3.70620819e-01 4.23566650e-01 5.29458313e-01 7.41241638e-01 6.35349976e-01 5.29458313e-01 3.70620819e-01 3.17674988e-01 6.35349976e-01 3.17674988e-01 3.70620819e-01 2.11783325e-01 4.76512482e-01 2.64729156e-01 1.05891663e-01 4.76512482e-01 2.64729156e-01 4.23566650e-01 5.29458313e-01 1.05891663e-01 3.70620819e-01 5.82404144e-01 2.11783325e-01 2.64729156e-01 3.70620819e-01 5.29458313e-01 4.23566650e-01 3.17674988e-01 8.47133301e-01 4.76512482e-01 4.23566650e-01 4.76512482e-01 2.64729156e-01 5.82404144e-01 3.70620819e-01 3.70620819e-01 2.11783325e-01 2.64729156e-01 4.76512482e-01 4.76512482e-01 4.23566650e-01 7.41241638e-01 3.70620819e-01 5.82404144e-01 3.17674988e-01 4.76512482e-01 5.29458313e-01 3.70620819e-01 3.70620819e-01 4.76512482e-01 6.35349976e-01 5.29458313e-01 3.70620819e-01 3.17674988e-01 4.76512482e-01 3.70620819e-01 5.82404144e-01 3.70620819e-01 6.35349976e-01 4.76512482e-01 4.76512482e-01 6.88295807e-01 2.64729156e-01 5.29458313e-01 4.76512482e-01 5.82404144e-01 3.70620819e-01 4.23566650e-01 7.41241638e-01 3.70620819e-01 1.58837494e-01 4.76512482e-01 4.23566650e-01 2.64729156e-01 6.35349976e-01 4.23566650e-01 3.17674988e-01 3.70620819e-01 3.70620819e-01 3.17674988e-01 2.64729156e-01 5.29458313e-01 5.82404144e-01 6.88295807e-01 3.70620819e-01 9.00079132e-01 2.11783325e-01 3.17674988e-01 1.58837494e-01 4.76512482e-01 5.29458313e-01 5.29458313e-01 4.23566650e-01 3.70620819e-01 3.70620819e-01 6.35349976e-01 4.23566650e-01 2.64729156e-01 7.94187469e-01 5.82404144e-01 2.64729156e-01 3.70620819e-01 3.17674988e-01 3.17674988e-01 4.76512482e-01 6.88295807e-01 7.94187469e-01 7.41241638e-01 7.94187469e-01 5.82404144e-01 4.23566650e-01 5.82404144e-01 7.41241638e-01 9.53024963e-01 5.29458313e-01 5.29458313e-01 4.76512482e-01 1.21775412e+00 6.35349976e-01 5.29458313e-01 6.88295807e-01 4.76512482e-01 5.82404144e-01 3.17674988e-01 7.41241638e-01 6.35349976e-01 3.70620819e-01 3.70620819e-01 6.35349976e-01 9.53024963e-01 4.76512482e-01 8.47133301e-01 7.94187469e-01 4.76512482e-01 9.53024963e-01 6.88295807e-01 6.35349976e-01 5.82404144e-01 5.29458313e-01 7.41241638e-01 5.29458313e-01 6.35349976e-01 7.41241638e-01 5.29458313e-01 2.64729156e-01 6.35349976e-01 3.70620819e-01 7.94187469e-01 6.88295807e-01 7.94187469e-01 8.47133301e-01 5.82404144e-01 7.41241638e-01 4.76512482e-01 9.00079132e-01 1.05891663e+00 8.47133301e-01 1.21775412e+00 7.41241638e-01 6.88295807e-01 9.00079132e-01 4.23566650e-01 4.76512482e-01 1.00597079e+00 8.47133301e-01 6.35349976e-01 6.88295807e-01 5.29458313e-01 6.88295807e-01 6.88295807e-01 6.88295807e-01 5.82404144e-01 5.82404144e-01 6.35349976e-01 7.41241638e-01 8.47133301e-01 5.82404144e-01 1.11186246e+00 5.82404144e-01 8.47133301e-01 7.41241638e-01 5.29458313e-01 1.11186246e+00 1.00597079e+00 7.94187469e-01 1.11186246e+00 6.35349976e-01 5.29458313e-01 7.41241638e-01 1.11186246e+00 3.17674988e-01 1.16480829e+00 6.35349976e-01 1.16480829e+00 7.94187469e-01 1.21775412e+00 9.53024963e-01 1.05891663e+00 4.76512482e-01 1.11186246e+00 7.41241638e-01 9.00079132e-01 1.37659161e+00 6.88295807e-01 9.53024963e-01 9.00079132e-01 7.41241638e-01 6.35349976e-01 5.82404144e-01 1.00597079e+00 9.53024963e-01 7.41241638e-01 9.53024963e-01 1.00597079e+00 7.94187469e-01 8.47133301e-01 7.94187469e-01 9.53024963e-01 1.00597079e+00 9.53024963e-01 6.88295807e-01 9.00079132e-01 5.29458313e-01 7.94187469e-01 1.27069995e+00 1.05891663e+00 9.53024963e-01 1.00597079e+00 1.11186246e+00 1.21775412e+00 6.88295807e-01 6.88295807e-01 5.29458313e-01 7.94187469e-01 4.76512482e-01 7.41241638e-01 9.00079132e-01 1.53542911e+00 1.48248328e+00 1.16480829e+00 1.11186246e+00 6.35349976e-01 1.05891663e+00 5.82404144e-01 1.16480829e+00 1.21775412e+00 5.82404144e-01 1.00597079e+00 9.00079132e-01 1.21775412e+00 1.48248328e+00 1.21775412e+00 1.53542911e+00 1.37659161e+00 1.11186246e+00 1.21775412e+00 1.42953745e+00 1.42953745e+00 9.00079132e-01 5.82404144e-01 7.94187469e-01 1.53542911e+00 7.41241638e-01 1.16480829e+00 1.21775412e+00 1.16480829e+00 1.11186246e+00 1.16480829e+00 1.27069995e+00 1.00597079e+00 1.42953745e+00 9.53024963e-01 1.48248328e+00 1.48248328e+00 1.16480829e+00 9.53024963e-01 2.17077908e+00 8.47133301e-01 1.37659161e+00 1.05891663e+00 1.58837494e+00 1.58837494e+00 1.21775412e+00 9.53024963e-01 1.16480829e+00 1.21775412e+00 1.48248328e+00 9.00079132e-01 1.00597079e+00 1.42953745e+00 5.82404144e-01 1.37659161e+00 1.69426660e+00 7.94187469e-01 2.01194159e+00 8.47133301e-01 1.48248328e+00 1.27069995e+00 1.37659161e+00 1.64132077e+00 1.58837494e+00 1.37659161e+00 1.37659161e+00 1.37659161e+00 1.64132077e+00 1.05891663e+00 1.27069995e+00 1.74721243e+00 1.69426660e+00 1.16480829e+00 9.53024963e-01 1.16480829e+00 1.90604993e+00 1.42953745e+00 1.32364578e+00 1.90604993e+00 1.64132077e+00 2.22372491e+00 1.74721243e+00 1.05891663e+00 1.53542911e+00 1.32364578e+00 1.85310410e+00 1.80015826e+00 1.32364578e+00 2.06488742e+00 1.42953745e+00 1.74721243e+00 1.90604993e+00 1.95899576e+00 1.85310410e+00 9.53024963e-01 1.80015826e+00 1.27069995e+00 1.53542911e+00 1.80015826e+00 1.48248328e+00 1.69426660e+00 1.69426660e+00 1.32364578e+00 1.64132077e+00 1.58837494e+00 2.17077908e+00 1.16480829e+00 1.95899576e+00 1.90604993e+00 1.53542911e+00 1.90604993e+00 1.95899576e+00 2.06488742e+00 2.85907489e+00 1.42953745e+00 1.80015826e+00 1.58837494e+00 1.69426660e+00 1.69426660e+00 1.64132077e+00 1.48248328e+00 1.90604993e+00 2.01194159e+00 1.90604993e+00 2.64729156e+00 1.37659161e+00 1.95899576e+00 1.74721243e+00 1.69426660e+00 2.75318323e+00 2.17077908e+00 2.11783325e+00 2.27667075e+00 2.22372491e+00 2.11783325e+00 2.32961658e+00 1.90604993e+00 2.22372491e+00 2.11783325e+00 2.75318323e+00 2.59434573e+00 2.59434573e+00 2.70023740e+00 2.01194159e+00 2.43550824e+00 2.48845407e+00 2.80612906e+00 1.85310410e+00 2.59434573e+00 2.32961658e+00 3.17674988e+00 3.01791238e+00 1.85310410e+00 3.12380405e+00 1.48248328e+00 3.49442487e+00 2.17077908e+00 2.59434573e+00 2.48845407e+00 2.80612906e+00 2.27667075e+00 2.01194159e+00 3.33558737e+00 2.54139990e+00 2.59434573e+00 1.74721243e+00 2.32961658e+00 2.80612906e+00 3.28264154e+00 3.70620819e+00 1.64132077e+00 2.17077908e+00 2.27667075e+00 2.43550824e+00 1.95899576e+00 1.90604993e+00 2.11783325e+00 2.06488742e+00 4.28861234e+00 2.27667075e+00 3.33558737e+00 2.54139990e+00 2.17077908e+00 2.48845407e+00 1.64132077e+00 1.80015826e+00 1.21775412e+00 1.90604993e+00 1.27069995e+00 3.17674988e+00 2.27667075e+00 2.80612906e+00 1.53542911e+00 2.17077908e+00 1.69426660e+00 1.85310410e+00 1.42953745e+00 1.48248328e+00 1.11186246e+00 1.53542911e+00 1.64132077e+00 1.53542911e+00 1.42953745e+00 1.21775412e+00 1.21775412e+00 1.74721243e+00 1.21775412e+00 1.64132077e+00 1.42953745e+00 1.00597079e+00 1.42953745e+00 9.00079132e-01 1.37659161e+00 1.69426660e+00 1.16480829e+00 1.58837494e+00 1.21775412e+00 8.47133301e-01 1.11186246e+00 1.00597079e+00 1.58837494e+00 1.00597079e+00 7.41241638e-01 1.53542911e+00 1.37659161e+00 1.27069995e+00 1.74721243e+00 1.21775412e+00 1.05891663e+00 1.21775412e+00 1.21775412e+00 1.05891663e+00 1.00597079e+00 1.32364578e+00 1.21775412e+00 1.27069995e+00 7.41241638e-01 9.53024963e-01 1.16480829e+00 1.27069995e+00 9.00079132e-01 1.21775412e+00 1.21775412e+00 9.53024963e-01 1.11186246e+00 1.05891663e+00 1.80015826e+00 1.27069995e+00 1.00597079e+00 1.16480829e+00 1.53542911e+00 1.74721243e+00 9.53024963e-01 1.27069995e+00 1.11186246e+00 1.53542911e+00 7.41241638e-01 1.21775412e+00 1.11186246e+00 1.48248328e+00 1.32364578e+00 8.47133301e-01 9.53024963e-01 9.00079132e-01 1.05891663e+00 1.21775412e+00 1.48248328e+00 5.29458313e-01 7.94187469e-01 8.47133301e-01 1.69426660e+00 9.00079132e-01 8.47133301e-01 9.00079132e-01 5.82404144e-01 6.88295807e-01 9.53024963e-01 5.82404144e-01 5.29458313e-01 7.94187469e-01 1.16480829e+00 7.41241638e-01 2.11783325e-01 5.29458313e-01 5.82404144e-01 7.94187469e-01 3.17674988e-01 3.70620819e-01 5.82404144e-01 4.76512482e-01 2.11783325e-01 2.64729156e-01 1.58837494e-01 3.70620819e-01 2.11783325e-01 3.17674988e-01 3.17674988e-01 3.70620819e-01 2.11783325e-01 1.58837494e-01 2.64729156e-01 1.05891663e-01 1.58837494e-01 2.11783325e-01 1.58837494e-01 1.58837494e-01 5.29458313e-02 5.29458313e-02 5.29458313e-02 1.58837494e-01 0.00000000e+00 1.58837494e-01 0.00000000e+00 0.00000000e+00 5.29458313e-02 1.05891663e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 1.58837494e-01 5.29458313e-02 0.00000000e+00 5.29458313e-02 5.29458313e-02 1.05891663e-01 5.29458313e-02 5.29458313e-02 5.29458313e-02 5.29458313e-02 5.29458313e-02 1.58837494e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 5.29458313e-02 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.29458313e-02 + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.00278030e-02 2.00278030e-02 2.00278030e-02 2.00278030e-02 0.00000000e+00 0.00000000e+00 2.00278030e-02 0.00000000e+00 2.00278030e-02 2.00278030e-02 4.00556061e-02 2.00278030e-02 0.00000000e+00 0.00000000e+00 2.00278030e-02 4.00556061e-02 2.00278030e-02 2.00278030e-02 2.00278030e-02 0.00000000e+00 0.00000000e+00 4.00556061e-02 4.00556061e-02 4.00556061e-02 6.00834091e-02 0.00000000e+00 2.00278030e-02 4.00556061e-02 0.00000000e+00 2.00278030e-02 4.00556061e-02 4.00556061e-02 0.00000000e+00 2.00278030e-02 4.00556061e-02 0.00000000e+00 0.00000000e+00 2.00278030e-02 2.00278030e-02 0.00000000e+00 6.00834091e-02 0.00000000e+00 2.00278030e-02 2.00278030e-02 2.00278030e-02 2.00278030e-02 2.00278030e-02 4.00556061e-02 0.00000000e+00 6.00834091e-02 4.00556061e-02 4.00556061e-02 6.00834091e-02 6.00834091e-02 2.00278030e-02 8.01112122e-02 0.00000000e+00 2.00278030e-02 2.00278030e-02 6.00834091e-02 2.00278030e-02 2.00278030e-02 4.00556061e-02 4.00556061e-02 4.00556061e-02 2.00278030e-02 4.00556061e-02 4.00556061e-02 2.00278030e-02 8.01112122e-02 4.00556061e-02 4.00556061e-02 4.00556061e-02 2.00278030e-02 4.00556061e-02 4.00556061e-02 0.00000000e+00 0.00000000e+00 2.00278030e-02 4.00556061e-02 4.00556061e-02 0.00000000e+00 6.00834091e-02 8.01112122e-02 8.01112122e-02 2.00278030e-02 4.00556061e-02 4.00556061e-02 1.20166818e-01 6.00834091e-02 4.00556061e-02 2.00278030e-02 6.00834091e-02 2.00278030e-02 4.00556061e-02 2.00278030e-02 0.00000000e+00 2.00278030e-02 0.00000000e+00 6.00834091e-02 4.00556061e-02 8.01112122e-02 2.00278030e-02 0.00000000e+00 4.00556061e-02 4.00556061e-02 6.00834091e-02 0.00000000e+00 2.00278030e-02 2.00278030e-02 6.00834091e-02 2.00278030e-02 8.01112122e-02 4.00556061e-02 2.00278030e-02 4.00556061e-02 4.00556061e-02 8.01112122e-02 2.00278030e-02 6.00834091e-02 4.00556061e-02 1.00139015e-01 0.00000000e+00 2.00278030e-02 0.00000000e+00 0.00000000e+00 2.00278030e-02 8.01112122e-02 2.00278030e-02 8.01112122e-02 2.00278030e-02 4.00556061e-02 6.00834091e-02 4.00556061e-02 2.00278030e-02 0.00000000e+00 4.00556061e-02 8.01112122e-02 4.00556061e-02 6.00834091e-02 8.01112122e-02 4.00556061e-02 4.00556061e-02 6.00834091e-02 6.00834091e-02 8.01112122e-02 2.00278030e-02 2.00278030e-02 4.00556061e-02 6.00834091e-02 4.00556061e-02 1.20166818e-01 6.00834091e-02 4.00556061e-02 2.00278030e-02 1.00139015e-01 8.01112122e-02 8.01112122e-02 4.00556061e-02 6.00834091e-02 2.00278030e-02 6.00834091e-02 6.00834091e-02 0.00000000e+00 8.01112122e-02 1.00139015e-01 4.00556061e-02 4.00556061e-02 1.00139015e-01 6.00834091e-02 4.00556061e-02 6.00834091e-02 4.00556061e-02 6.00834091e-02 1.00139015e-01 4.00556061e-02 1.00139015e-01 2.00278030e-02 4.00556061e-02 8.01112122e-02 6.00834091e-02 8.01112122e-02 4.00556061e-02 0.00000000e+00 4.00556061e-02 4.00556061e-02 4.00556061e-02 6.00834091e-02 1.20166818e-01 0.00000000e+00 2.00278030e-02 1.00139015e-01 1.00139015e-01 0.00000000e+00 4.00556061e-02 8.01112122e-02 4.00556061e-02 6.00834091e-02 8.01112122e-02 2.00278030e-02 1.40194621e-01 1.00139015e-01 6.00834091e-02 2.00278030e-02 6.00834091e-02 6.00834091e-02 8.01112122e-02 2.00278030e-02 2.00278030e-02 1.00139015e-01 8.01112122e-02 6.00834091e-02 1.60222424e-01 4.00556061e-02 4.00556061e-02 1.00139015e-01 2.00278030e-02 8.01112122e-02 4.00556061e-02 0.00000000e+00 8.01112122e-02 1.00139015e-01 4.00556061e-02 6.00834091e-02 6.00834091e-02 1.40194621e-01 1.00139015e-01 4.00556061e-02 4.00556061e-02 8.01112122e-02 1.00139015e-01 1.00139015e-01 8.01112122e-02 1.40194621e-01 6.00834091e-02 1.40194621e-01 6.00834091e-02 1.20166818e-01 6.00834091e-02 4.00556061e-02 1.00139015e-01 8.01112122e-02 1.20166818e-01 2.00278030e-02 4.00556061e-02 1.20166818e-01 1.20166818e-01 8.01112122e-02 4.00556061e-02 1.40194621e-01 1.00139015e-01 2.00278030e-02 1.00139015e-01 1.00139015e-01 8.01112122e-02 6.00834091e-02 6.00834091e-02 8.01112122e-02 1.00139015e-01 1.20166818e-01 8.01112122e-02 8.01112122e-02 2.00278030e-02 8.01112122e-02 1.00139015e-01 6.00834091e-02 1.00139015e-01 1.20166818e-01 1.00139015e-01 1.00139015e-01 8.01112122e-02 6.00834091e-02 1.40194621e-01 4.00556061e-02 1.80250227e-01 1.60222424e-01 4.00556061e-02 4.00556061e-02 6.00834091e-02 8.01112122e-02 2.00278030e-01 1.00139015e-01 6.00834091e-02 1.00139015e-01 2.00278030e-02 1.20166818e-01 1.20166818e-01 1.00139015e-01 1.00139015e-01 1.20166818e-01 1.20166818e-01 8.01112122e-02 4.00556061e-02 8.01112122e-02 2.00278030e-02 1.00139015e-01 8.01112122e-02 6.00834091e-02 4.00556061e-02 6.00834091e-02 1.00139015e-01 6.00834091e-02 1.60222424e-01 1.40194621e-01 1.60222424e-01 1.40194621e-01 1.20166818e-01 4.00556061e-02 6.00834091e-02 1.20166818e-01 8.01112122e-02 1.60222424e-01 1.00139015e-01 6.00834091e-02 1.00139015e-01 1.80250227e-01 1.20166818e-01 1.40194621e-01 0.00000000e+00 6.00834091e-02 1.40194621e-01 1.40194621e-01 1.40194621e-01 6.00834091e-02 1.20166818e-01 1.60222424e-01 1.00139015e-01 8.01112122e-02 1.20166818e-01 2.80389243e-01 1.40194621e-01 1.40194621e-01 2.00278030e-02 1.60222424e-01 1.20166818e-01 4.00556061e-02 1.20166818e-01 1.20166818e-01 6.00834091e-02 1.20166818e-01 1.00139015e-01 1.00139015e-01 4.00556061e-02 8.01112122e-02 8.01112122e-02 1.20166818e-01 1.20166818e-01 2.00278030e-01 2.40333637e-01 1.00139015e-01 1.20166818e-01 1.20166818e-01 1.00139015e-01 1.00139015e-01 1.20166818e-01 1.00139015e-01 1.60222424e-01 8.01112122e-02 8.01112122e-02 1.20166818e-01 1.60222424e-01 1.40194621e-01 1.20166818e-01 1.80250227e-01 1.60222424e-01 8.01112122e-02 1.00139015e-01 8.01112122e-02 1.60222424e-01 6.00834091e-02 1.00139015e-01 1.20166818e-01 8.01112122e-02 8.01112122e-02 1.20166818e-01 6.00834091e-02 4.00556061e-02 2.20305833e-01 1.40194621e-01 1.20166818e-01 1.20166818e-01 1.20166818e-01 1.00139015e-01 1.60222424e-01 1.20166818e-01 1.20166818e-01 6.00834091e-02 2.00278030e-01 2.00278030e-01 1.80250227e-01 1.20166818e-01 1.60222424e-01 1.20166818e-01 1.60222424e-01 1.20166818e-01 1.40194621e-01 1.00139015e-01 1.40194621e-01 6.00834091e-02 1.00139015e-01 2.00278030e-01 2.40333637e-01 1.00139015e-01 2.40333637e-01 1.40194621e-01 1.40194621e-01 1.40194621e-01 1.00139015e-01 1.20166818e-01 1.40194621e-01 1.20166818e-01 8.01112122e-02 2.20305833e-01 1.00139015e-01 1.40194621e-01 8.01112122e-02 1.00139015e-01 8.01112122e-02 1.40194621e-01 2.00278030e-01 1.20166818e-01 1.00139015e-01 1.40194621e-01 6.00834091e-02 1.40194621e-01 1.60222424e-01 1.60222424e-01 6.00834091e-02 1.40194621e-01 8.01112122e-02 1.60222424e-01 1.20166818e-01 1.20166818e-01 1.80250227e-01 8.01112122e-02 2.00278030e-02 1.40194621e-01 2.00278030e-01 1.40194621e-01 1.20166818e-01 1.60222424e-01 1.00139015e-01 1.80250227e-01 8.01112122e-02 2.60361440e-01 1.20166818e-01 2.40333637e-01 8.01112122e-02 1.60222424e-01 1.00139015e-01 1.40194621e-01 1.20166818e-01 1.20166818e-01 2.00278030e-01 1.60222424e-01 2.00278030e-01 1.40194621e-01 1.60222424e-01 4.00556061e-02 6.00834091e-02 1.40194621e-01 1.40194621e-01 1.20166818e-01 1.40194621e-01 1.40194621e-01 1.40194621e-01 1.80250227e-01 1.40194621e-01 1.80250227e-01 2.40333637e-01 4.00556061e-02 1.80250227e-01 2.20305833e-01 1.20166818e-01 2.00278030e-01 6.00834091e-02 2.00278030e-01 1.80250227e-01 1.80250227e-01 1.20166818e-01 1.00139015e-01 1.40194621e-01 1.40194621e-01 2.00278030e-01 1.60222424e-01 2.00278030e-01 6.00834091e-02 2.20305833e-01 1.60222424e-01 1.20166818e-01 1.60222424e-01 2.20305833e-01 1.80250227e-01 1.60222424e-01 1.20166818e-01 6.00834091e-02 1.60222424e-01 1.20166818e-01 1.80250227e-01 2.00278030e-01 6.00834091e-02 1.60222424e-01 1.60222424e-01 1.00139015e-01 1.00139015e-01 2.20305833e-01 2.00278030e-01 1.40194621e-01 1.20166818e-01 6.00834091e-02 1.40194621e-01 2.20305833e-01 1.60222424e-01 2.00278030e-01 2.40333637e-01 1.20166818e-01 1.40194621e-01 1.00139015e-01 1.20166818e-01 2.60361440e-01 2.20305833e-01 2.40333637e-01 2.00278030e-01 2.20305833e-01 8.01112122e-02 1.40194621e-01 1.20166818e-01 1.40194621e-01 1.60222424e-01 1.60222424e-01 2.40333637e-01 2.60361440e-01 2.20305833e-01 1.80250227e-01 2.20305833e-01 1.00139015e-01 2.60361440e-01 2.40333637e-01 1.60222424e-01 2.20305833e-01 1.60222424e-01 1.60222424e-01 2.80389243e-01 1.00139015e-01 2.20305833e-01 6.00834091e-02 1.40194621e-01 1.80250227e-01 1.80250227e-01 1.40194621e-01 1.40194621e-01 1.80250227e-01 1.20166818e-01 1.60222424e-01 1.40194621e-01 1.60222424e-01 2.00278030e-01 2.20305833e-01 3.40472652e-01 1.80250227e-01 1.40194621e-01 1.80250227e-01 1.40194621e-01 1.80250227e-01 1.40194621e-01 2.40333637e-01 1.40194621e-01 2.80389243e-01 6.00834091e-02 1.40194621e-01 2.60361440e-01 1.40194621e-01 1.60222424e-01 2.60361440e-01 1.40194621e-01 8.01112122e-02 2.20305833e-01 3.40472652e-01 8.01112122e-02 1.40194621e-01 1.40194621e-01 2.40333637e-01 8.01112122e-02 2.20305833e-01 1.60222424e-01 1.60222424e-01 1.60222424e-01 1.80250227e-01 1.80250227e-01 1.20166818e-01 1.80250227e-01 2.40333637e-01 1.40194621e-01 2.40333637e-01 1.60222424e-01 2.40333637e-01 1.60222424e-01 2.60361440e-01 2.00278030e-01 1.80250227e-01 2.20305833e-01 1.60222424e-01 2.60361440e-01 2.60361440e-01 2.40333637e-01 2.60361440e-01 1.80250227e-01 3.20444849e-01 1.40194621e-01 3.40472652e-01 1.40194621e-01 1.80250227e-01 2.20305833e-01 1.80250227e-01 1.80250227e-01 1.20166818e-01 1.20166818e-01 1.60222424e-01 2.00278030e-01 1.60222424e-01 2.60361440e-01 2.00278030e-01 2.20305833e-01 1.60222424e-01 2.00278030e-01 1.60222424e-01 6.00834091e-02 1.80250227e-01 1.40194621e-01 2.60361440e-01 2.00278030e-01 2.00278030e-01 3.60500455e-01 1.20166818e-01 1.40194621e-01 8.01112122e-02 2.60361440e-01 2.00278030e-01 1.40194621e-01 1.60222424e-01 2.00278030e-01 1.20166818e-01 1.60222424e-01 1.80250227e-01 3.00417046e-01 2.60361440e-01 1.60222424e-01 1.60222424e-01 2.60361440e-01 1.60222424e-01 1.40194621e-01 2.00278030e-01 1.60222424e-01 1.80250227e-01 1.00139015e-01 1.00139015e-01 1.60222424e-01 1.40194621e-01 3.00417046e-01 8.01112122e-02 2.20305833e-01 2.00278030e-01 2.40333637e-01 3.60500455e-01 1.40194621e-01 2.40333637e-01 1.60222424e-01 2.00278030e-01 1.60222424e-01 2.00278030e-01 1.60222424e-01 1.20166818e-01 2.60361440e-01 1.40194621e-01 2.60361440e-01 1.80250227e-01 2.40333637e-01 2.20305833e-01 2.80389243e-01 2.60361440e-01 1.60222424e-01 8.01112122e-02 1.80250227e-01 2.40333637e-01 3.00417046e-01 3.80528258e-01 1.80250227e-01 8.01112122e-02 2.00278030e-01 2.80389243e-01 2.20305833e-01 2.20305833e-01 1.00139015e-01 3.60500455e-01 1.80250227e-01 1.80250227e-01 2.00278030e-01 2.20305833e-01 1.60222424e-01 1.80250227e-01 2.20305833e-01 2.00278030e-01 2.80389243e-01 1.80250227e-01 1.20166818e-01 1.40194621e-01 1.80250227e-01 2.20305833e-01 2.40333637e-01 2.20305833e-01 2.40333637e-01 1.00139015e-01 2.00278030e-01 2.40333637e-01 2.60361440e-01 1.60222424e-01 2.80389243e-01 3.20444849e-01 2.40333637e-01 2.80389243e-01 2.20305833e-01 3.00417046e-01 1.60222424e-01 2.00278030e-01 3.00417046e-01 1.80250227e-01 2.80389243e-01 8.01112122e-02 1.20166818e-01 1.60222424e-01 2.40333637e-01 2.00278030e-01 1.80250227e-01 1.80250227e-01 1.20166818e-01 2.00278030e-01 2.20305833e-01 1.60222424e-01 2.00278030e-01 8.01112122e-02 2.60361440e-01 2.60361440e-01 2.40333637e-01 2.80389243e-01 1.60222424e-01 1.80250227e-01 2.60361440e-01 2.20305833e-01 1.20166818e-01 2.40333637e-01 2.20305833e-01 2.80389243e-01 3.00417046e-01 1.60222424e-01 3.20444849e-01 2.40333637e-01 1.40194621e-01 1.40194621e-01 2.60361440e-01 2.00278030e-01 2.60361440e-01 2.60361440e-01 2.80389243e-01 2.00278030e-01 2.20305833e-01 2.40333637e-01 1.80250227e-01 1.80250227e-01 2.80389243e-01 1.60222424e-01 2.00278030e-01 1.40194621e-01 1.60222424e-01 2.40333637e-01 1.80250227e-01 2.00278030e-01 2.00278030e-01 2.40333637e-01 2.40333637e-01 3.40472652e-01 2.80389243e-01 2.40333637e-01 2.20305833e-01 3.00417046e-01 2.00278030e-01 1.40194621e-01 1.40194621e-01 2.40333637e-01 2.00278030e-01 2.60361440e-01 4.20583864e-01 2.60361440e-01 1.80250227e-01 2.40333637e-01 2.40333637e-01 3.00417046e-01 3.20444849e-01 2.80389243e-01 3.00417046e-01 2.40333637e-01 3.40472652e-01 2.20305833e-01 1.80250227e-01 8.01112122e-02 2.80389243e-01 2.80389243e-01 1.80250227e-01 1.60222424e-01 2.00278030e-01 2.40333637e-01 3.20444849e-01 2.60361440e-01 1.80250227e-01 2.40333637e-01 3.00417046e-01 3.60500455e-01 2.00278030e-01 2.00278030e-01 2.40333637e-01 1.80250227e-01 1.00139015e-01 1.80250227e-01 3.60500455e-01 3.20444849e-01 2.80389243e-01 1.20166818e-01 2.60361440e-01 2.40333637e-01 1.60222424e-01 2.40333637e-01 2.60361440e-01 1.80250227e-01 2.20305833e-01 2.00278030e-01 2.00278030e-01 2.80389243e-01 2.00278030e-01 2.20305833e-01 2.40333637e-01 1.40194621e-01 2.40333637e-01 2.20305833e-01 8.01112122e-02 1.80250227e-01 2.60361440e-01 2.40333637e-01 1.80250227e-01 2.00278030e-01 2.60361440e-01 1.80250227e-01 3.20444849e-01 2.00278030e-01 2.00278030e-01 2.20305833e-01 1.20166818e-01 2.20305833e-01 3.80528258e-01 1.40194621e-01 1.20166818e-01 1.00139015e-01 2.60361440e-01 2.20305833e-01 2.40333637e-01 3.00417046e-01 3.20444849e-01 2.00278030e-01 2.60361440e-01 2.80389243e-01 2.40333637e-01 6.00834091e-02 2.00278030e-01 1.60222424e-01 2.20305833e-01 3.40472652e-01 2.20305833e-01 3.20444849e-01 2.80389243e-01 2.20305833e-01 1.80250227e-01 3.00417046e-01 2.00278030e-01 2.60361440e-01 2.60361440e-01 2.40333637e-01 3.20444849e-01 1.80250227e-01 3.00417046e-01 3.60500455e-01 1.40194621e-01 2.80389243e-01 3.20444849e-01 3.80528258e-01 2.00278030e-01 2.80389243e-01 3.80528258e-01 3.60500455e-01 1.80250227e-01 1.80250227e-01 2.40333637e-01 2.20305833e-01 2.20305833e-01 1.20166818e-01 3.60500455e-01 1.80250227e-01 1.20166818e-01 2.00278030e-01 1.80250227e-01 1.60222424e-01 2.40333637e-01 3.20444849e-01 2.60361440e-01 2.80389243e-01 3.20444849e-01 2.40333637e-01 3.40472652e-01 2.20305833e-01 3.00417046e-01 2.20305833e-01 2.40333637e-01 2.40333637e-01 1.60222424e-01 2.60361440e-01 4.40611667e-01 2.80389243e-01 2.80389243e-01 3.20444849e-01 2.60361440e-01 2.80389243e-01 2.40333637e-01 2.20305833e-01 3.80528258e-01 2.60361440e-01 2.40333637e-01 5.20722879e-01 3.60500455e-01 2.60361440e-01 2.20305833e-01 2.40333637e-01 2.20305833e-01 2.60361440e-01 1.40194621e-01 2.40333637e-01 1.80250227e-01 2.60361440e-01 3.40472652e-01 4.40611667e-01 3.20444849e-01 2.80389243e-01 3.00417046e-01 3.40472652e-01 2.80389243e-01 3.20444849e-01 3.00417046e-01 4.00556061e-01 1.60222424e-01 2.00278030e-01 4.20583864e-01 2.60361440e-01 1.80250227e-01 3.00417046e-01 2.20305833e-01 1.80250227e-01 3.00417046e-01 3.20444849e-01 4.20583864e-01 2.20305833e-01 1.20166818e-01 3.60500455e-01 3.20444849e-01 3.80528258e-01 3.20444849e-01 2.80389243e-01 3.60500455e-01 3.60500455e-01 1.60222424e-01 2.80389243e-01 3.20444849e-01 2.20305833e-01 2.80389243e-01 2.40333637e-01 2.60361440e-01 1.40194621e-01 4.00556061e-01 2.00278030e-01 3.20444849e-01 3.80528258e-01 2.00278030e-01 2.00278030e-01 2.40333637e-01 3.40472652e-01 3.80528258e-01 1.80250227e-01 2.40333637e-01 3.20444849e-01 3.40472652e-01 2.20305833e-01 2.40333637e-01 5.80806288e-01 2.60361440e-01 3.20444849e-01 3.40472652e-01 2.60361440e-01 3.00417046e-01 3.20444849e-01 3.60500455e-01 3.00417046e-01 1.20166818e-01 2.40333637e-01 3.00417046e-01 2.40333637e-01 3.40472652e-01 2.40333637e-01 3.40472652e-01 3.00417046e-01 3.40472652e-01 2.20305833e-01 3.60500455e-01 1.60222424e-01 2.00278030e-01 3.20444849e-01 2.00278030e-01 2.80389243e-01 3.80528258e-01 1.20166818e-01 4.00556061e-01 4.20583864e-01 3.00417046e-01 3.40472652e-01 2.00278030e-01 3.00417046e-01 3.80528258e-01 3.80528258e-01 2.80389243e-01 3.40472652e-01 2.60361440e-01 2.80389243e-01 1.80250227e-01 3.80528258e-01 4.00556061e-01 3.20444849e-01 2.60361440e-01 3.00417046e-01 3.80528258e-01 4.20583864e-01 3.60500455e-01 2.20305833e-01 3.60500455e-01 2.00278030e-01 4.00556061e-01 2.40333637e-01 2.40333637e-01 2.40333637e-01 2.60361440e-01 1.60222424e-01 4.20583864e-01 2.00278030e-01 3.80528258e-01 3.80528258e-01 3.40472652e-01 3.00417046e-01 3.00417046e-01 2.20305833e-01 3.20444849e-01 3.40472652e-01 2.00278030e-01 4.00556061e-01 3.20444849e-01 1.80250227e-01 3.60500455e-01 2.60361440e-01 1.80250227e-01 3.00417046e-01 3.80528258e-01 3.20444849e-01 4.20583864e-01 3.00417046e-01 2.40333637e-01 2.40333637e-01 3.40472652e-01 4.20583864e-01 5.20722879e-01 2.80389243e-01 2.40333637e-01 3.20444849e-01 4.00556061e-01 1.80250227e-01 2.80389243e-01 2.20305833e-01 2.80389243e-01 4.00556061e-01 3.20444849e-01 3.00417046e-01 2.80389243e-01 3.60500455e-01 3.20444849e-01 2.60361440e-01 3.00417046e-01 1.80250227e-01 4.00556061e-01 2.60361440e-01 2.80389243e-01 2.60361440e-01 2.80389243e-01 2.80389243e-01 2.80389243e-01 2.80389243e-01 3.00417046e-01 3.20444849e-01 3.60500455e-01 4.20583864e-01 2.20305833e-01 2.20305833e-01 3.60500455e-01 3.40472652e-01 2.60361440e-01 4.20583864e-01 6.00834091e-01 4.40611667e-01 3.80528258e-01 2.60361440e-01 2.20305833e-01 2.60361440e-01 3.60500455e-01 3.00417046e-01 4.00556061e-01 2.80389243e-01 2.60361440e-01 4.00556061e-01 3.20444849e-01 2.40333637e-01 2.60361440e-01 3.60500455e-01 3.00417046e-01 4.00556061e-01 3.00417046e-01 3.80528258e-01 2.00278030e-01 4.00556061e-01 3.20444849e-01 4.00556061e-01 2.40333637e-01 2.60361440e-01 2.60361440e-01 2.00278030e-01 1.40194621e-01 4.20583864e-01 3.60500455e-01 3.20444849e-01 2.80389243e-01 3.40472652e-01 2.40333637e-01 2.40333637e-01 2.60361440e-01 2.80389243e-01 4.20583864e-01 2.60361440e-01 5.00695076e-01 3.60500455e-01 3.00417046e-01 2.00278030e-01 3.60500455e-01 3.80528258e-01 2.80389243e-01 2.60361440e-01 3.60500455e-01 1.40194621e-01 2.40333637e-01 2.20305833e-01 3.20444849e-01 3.00417046e-01 3.60500455e-01 3.00417046e-01 4.00556061e-01 3.60500455e-01 2.60361440e-01 3.20444849e-01 2.40333637e-01 4.80667273e-01 4.00556061e-01 4.40611667e-01 4.20583864e-01 3.60500455e-01 2.40333637e-01 4.00556061e-01 3.20444849e-01 4.40611667e-01 4.00556061e-01 3.20444849e-01 5.40750682e-01 5.00695076e-01 3.80528258e-01 4.00556061e-01 2.60361440e-01 2.80389243e-01 3.80528258e-01 1.00139015e-01 4.60639470e-01 4.20583864e-01 3.20444849e-01 2.80389243e-01 2.40333637e-01 4.60639470e-01 3.40472652e-01 4.00556061e-01 4.00556061e-01 3.60500455e-01 2.20305833e-01 4.40611667e-01 2.20305833e-01 3.80528258e-01 3.80528258e-01 3.80528258e-01 2.60361440e-01 4.40611667e-01 2.80389243e-01 3.20444849e-01 2.60361440e-01 4.40611667e-01 4.80667273e-01 4.20583864e-01 2.00278030e-01 3.20444849e-01 3.40472652e-01 2.40333637e-01 2.80389243e-01 2.40333637e-01 3.80528258e-01 3.40472652e-01 3.40472652e-01 1.80250227e-01 2.60361440e-01 4.00556061e-01 3.80528258e-01 5.20722879e-01 2.80389243e-01 4.00556061e-01 4.40611667e-01 3.20444849e-01 4.20583864e-01 5.00695076e-01 2.80389243e-01 4.60639470e-01 4.40611667e-01 3.40472652e-01 5.40750682e-01 2.40333637e-01 3.40472652e-01 5.00695076e-01 5.00695076e-01 2.20305833e-01 3.40472652e-01 4.20583864e-01 2.80389243e-01 2.00278030e-01 2.60361440e-01 2.80389243e-01 3.20444849e-01 2.80389243e-01 4.00556061e-01 2.60361440e-01 3.80528258e-01 4.60639470e-01 4.00556061e-01 3.60500455e-01 3.40472652e-01 3.20444849e-01 3.40472652e-01 2.60361440e-01 2.60361440e-01 3.80528258e-01 3.60500455e-01 3.00417046e-01 3.20444849e-01 3.40472652e-01 2.80389243e-01 1.60222424e-01 4.80667273e-01 4.20583864e-01 2.80389243e-01 3.80528258e-01 5.20722879e-01 4.40611667e-01 4.60639470e-01 3.20444849e-01 4.40611667e-01 4.00556061e-01 4.40611667e-01 4.00556061e-01 4.20583864e-01 3.40472652e-01 4.00556061e-01 3.40472652e-01 2.80389243e-01 4.20583864e-01 3.40472652e-01 3.40472652e-01 4.60639470e-01 4.40611667e-01 4.20583864e-01 3.40472652e-01 3.80528258e-01 3.80528258e-01 4.20583864e-01 4.40611667e-01 4.80667273e-01 2.80389243e-01 3.20444849e-01 4.20583864e-01 4.40611667e-01 3.80528258e-01 2.00278030e-01 4.60639470e-01 4.60639470e-01 3.60500455e-01 3.20444849e-01 2.80389243e-01 4.40611667e-01 2.20305833e-01 3.00417046e-01 3.60500455e-01 2.80389243e-01 4.20583864e-01 2.60361440e-01 4.60639470e-01 4.60639470e-01 3.20444849e-01 5.20722879e-01 4.60639470e-01 2.60361440e-01 5.00695076e-01 3.00417046e-01 3.60500455e-01 3.20444849e-01 3.20444849e-01 3.80528258e-01 3.20444849e-01 3.20444849e-01 5.20722879e-01 3.80528258e-01 3.00417046e-01 3.60500455e-01 5.20722879e-01 4.60639470e-01 1.80250227e-01 5.00695076e-01 3.60500455e-01 3.40472652e-01 4.60639470e-01 2.60361440e-01 2.80389243e-01 5.20722879e-01 4.60639470e-01 2.80389243e-01 3.00417046e-01 4.40611667e-01 3.00417046e-01 3.60500455e-01 4.00556061e-01 4.00556061e-01 5.00695076e-01 5.20722879e-01 4.20583864e-01 4.60639470e-01 3.60500455e-01 1.80250227e-01 5.00695076e-01 3.60500455e-01 3.40472652e-01 3.00417046e-01 6.00834091e-01 3.80528258e-01 4.40611667e-01 4.00556061e-01 4.00556061e-01 3.80528258e-01 3.60500455e-01 2.60361440e-01 4.60639470e-01 4.80667273e-01 3.80528258e-01 3.60500455e-01 1.60222424e-01 2.60361440e-01 3.60500455e-01 5.60778485e-01 3.40472652e-01 4.00556061e-01 4.20583864e-01 3.20444849e-01 3.40472652e-01 4.60639470e-01 3.40472652e-01 4.40611667e-01 4.80667273e-01 5.00695076e-01 5.40750682e-01 4.00556061e-01 3.80528258e-01 7.00973106e-01 4.00556061e-01 4.40611667e-01 3.40472652e-01 3.00417046e-01 4.20583864e-01 3.60500455e-01 4.80667273e-01 4.80667273e-01 4.40611667e-01 4.40611667e-01 4.20583864e-01 3.20444849e-01 4.40611667e-01 3.60500455e-01 4.20583864e-01 4.20583864e-01 3.20444849e-01 3.60500455e-01 4.60639470e-01 2.20305833e-01 5.60778485e-01 6.40889697e-01 5.20722879e-01 6.20861894e-01 2.80389243e-01 3.60500455e-01 3.60500455e-01 3.60500455e-01 4.20583864e-01 5.00695076e-01 4.00556061e-01 3.20444849e-01 4.40611667e-01 3.20444849e-01 3.20444849e-01 4.00556061e-01 3.20444849e-01 2.40333637e-01 3.60500455e-01 3.80528258e-01 4.00556061e-01 3.00417046e-01 3.20444849e-01 3.60500455e-01 5.00695076e-01 4.60639470e-01 4.80667273e-01 3.20444849e-01 5.60778485e-01 2.60361440e-01 2.80389243e-01 4.40611667e-01 4.60639470e-01 6.00834091e-01 4.40611667e-01 6.00834091e-01 2.60361440e-01 4.40611667e-01 3.40472652e-01 4.20583864e-01 5.00695076e-01 4.00556061e-01 2.80389243e-01 5.80806288e-01 3.80528258e-01 2.60361440e-01 3.60500455e-01 5.60778485e-01 5.40750682e-01 4.20583864e-01 3.60500455e-01 5.60778485e-01 4.80667273e-01 3.40472652e-01 3.60500455e-01 2.80389243e-01 4.00556061e-01 4.60639470e-01 4.60639470e-01 3.40472652e-01 3.40472652e-01 3.80528258e-01 5.40750682e-01 5.20722879e-01 4.00556061e-01 3.40472652e-01 6.40889697e-01 5.20722879e-01 4.20583864e-01 5.20722879e-01 3.20444849e-01 4.20583864e-01 4.00556061e-01 6.00834091e-01 6.00834091e-01 3.80528258e-01 4.20583864e-01 5.40750682e-01 4.00556061e-01 4.60639470e-01 6.40889697e-01 3.80528258e-01 5.00695076e-01 4.40611667e-01 4.60639470e-01 4.00556061e-01 4.80667273e-01 3.60500455e-01 4.20583864e-01 3.60500455e-01 4.00556061e-01 5.20722879e-01 3.80528258e-01 5.60778485e-01 4.80667273e-01 5.00695076e-01 4.80667273e-01 3.60500455e-01 4.80667273e-01 4.80667273e-01 3.60500455e-01 2.40333637e-01 5.20722879e-01 5.40750682e-01 4.20583864e-01 5.80806288e-01 4.80667273e-01 3.00417046e-01 3.00417046e-01 4.00556061e-01 7.41028713e-01 4.60639470e-01 5.80806288e-01 5.40750682e-01 5.20722879e-01 4.00556061e-01 4.20583864e-01 5.00695076e-01 4.60639470e-01 4.80667273e-01 5.20722879e-01 5.60778485e-01 5.60778485e-01 6.60917500e-01 7.00973106e-01 4.00556061e-01 4.80667273e-01 3.60500455e-01 3.20444849e-01 2.80389243e-01 6.20861894e-01 3.40472652e-01 4.80667273e-01 1.60222424e-01 4.20583864e-01 3.80528258e-01 5.20722879e-01 4.00556061e-01 3.40472652e-01 4.40611667e-01 4.00556061e-01 3.00417046e-01 6.00834091e-01 5.60778485e-01 6.60917500e-01 6.80945303e-01 5.40750682e-01 5.60778485e-01 5.60778485e-01 3.80528258e-01 4.60639470e-01 4.00556061e-01 4.60639470e-01 4.20583864e-01 3.80528258e-01 5.40750682e-01 5.20722879e-01 3.40472652e-01 5.20722879e-01 4.20583864e-01 3.00417046e-01 5.40750682e-01 5.60778485e-01 3.60500455e-01 5.20722879e-01 4.80667273e-01 4.80667273e-01 3.40472652e-01 4.00556061e-01 5.80806288e-01 4.80667273e-01 3.80528258e-01 5.00695076e-01 4.80667273e-01 5.60778485e-01 4.20583864e-01 4.80667273e-01 4.00556061e-01 3.60500455e-01 2.40333637e-01 4.60639470e-01 4.60639470e-01 4.60639470e-01 4.60639470e-01 5.60778485e-01 4.00556061e-01 5.80806288e-01 5.00695076e-01 6.80945303e-01 5.40750682e-01 5.80806288e-01 4.40611667e-01 4.80667273e-01 5.00695076e-01 5.40750682e-01 4.00556061e-01 5.20722879e-01 6.00834091e-01 7.41028713e-01 4.40611667e-01 4.80667273e-01 3.80528258e-01 4.80667273e-01 5.20722879e-01 5.40750682e-01 3.80528258e-01 7.00973106e-01 6.00834091e-01 4.20583864e-01 4.00556061e-01 4.60639470e-01 4.20583864e-01 3.20444849e-01 6.00834091e-01 5.80806288e-01 5.00695076e-01 4.20583864e-01 5.20722879e-01 5.40750682e-01 6.40889697e-01 6.20861894e-01 5.40750682e-01 4.60639470e-01 3.40472652e-01 5.40750682e-01 3.20444849e-01 5.60778485e-01 3.40472652e-01 3.60500455e-01 6.00834091e-01 5.60778485e-01 5.20722879e-01 4.40611667e-01 4.80667273e-01 5.40750682e-01 5.00695076e-01 2.20305833e-01 4.20583864e-01 4.60639470e-01 7.00973106e-01 3.80528258e-01 5.40750682e-01 4.40611667e-01 5.20722879e-01 2.80389243e-01 5.80806288e-01 6.00834091e-01 6.20861894e-01 4.60639470e-01 6.40889697e-01 7.21000910e-01 5.40750682e-01 5.00695076e-01 7.61056516e-01 7.21000910e-01 5.00695076e-01 7.00973106e-01 7.41028713e-01 6.20861894e-01 7.00973106e-01 6.00834091e-01 7.00973106e-01 6.20861894e-01 4.80667273e-01 5.80806288e-01 7.41028713e-01 4.00556061e-01 4.20583864e-01 4.40611667e-01 6.00834091e-01 3.80528258e-01 3.80528258e-01 4.00556061e-01 7.81084319e-01 5.80806288e-01 5.60778485e-01 4.00556061e-01 4.80667273e-01 6.00834091e-01 6.20861894e-01 5.20722879e-01 4.60639470e-01 6.20861894e-01 4.80667273e-01 5.20722879e-01 7.21000910e-01 6.00834091e-01 4.40611667e-01 5.20722879e-01 7.41028713e-01 6.60917500e-01 4.60639470e-01 5.00695076e-01 7.00973106e-01 8.61195531e-01 4.60639470e-01 6.20861894e-01 3.60500455e-01 5.80806288e-01 4.60639470e-01 5.80806288e-01 5.00695076e-01 5.80806288e-01 5.60778485e-01 5.60778485e-01 4.80667273e-01 6.40889697e-01 8.21139925e-01 6.20861894e-01 5.40750682e-01 4.00556061e-01 4.80667273e-01 5.20722879e-01 4.20583864e-01 5.60778485e-01 5.00695076e-01 5.00695076e-01 6.20861894e-01 6.20861894e-01 5.20722879e-01 5.00695076e-01 4.80667273e-01 5.80806288e-01 4.00556061e-01 6.80945303e-01 7.41028713e-01 6.40889697e-01 5.80806288e-01 5.40750682e-01 5.60778485e-01 5.60778485e-01 4.20583864e-01 6.00834091e-01 5.40750682e-01 5.80806288e-01 7.61056516e-01 7.81084319e-01 4.20583864e-01 3.60500455e-01 5.40750682e-01 5.60778485e-01 5.00695076e-01 4.80667273e-01 5.80806288e-01 6.00834091e-01 7.21000910e-01 6.60917500e-01 6.80945303e-01 5.60778485e-01 4.40611667e-01 5.00695076e-01 5.00695076e-01 5.60778485e-01 4.20583864e-01 5.80806288e-01 7.81084319e-01 6.00834091e-01 6.20861894e-01 6.20861894e-01 4.60639470e-01 6.60917500e-01 6.20861894e-01 7.00973106e-01 4.80667273e-01 6.00834091e-01 7.41028713e-01 5.20722879e-01 7.21000910e-01 5.80806288e-01 2.60361440e-01 5.40750682e-01 7.00973106e-01 6.20861894e-01 7.21000910e-01 9.01251137e-01 7.61056516e-01 6.20861894e-01 6.40889697e-01 6.60917500e-01 8.01112122e-01 5.60778485e-01 5.60778485e-01 7.21000910e-01 5.20722879e-01 7.41028713e-01 5.80806288e-01 6.00834091e-01 8.21139925e-01 6.20861894e-01 7.00973106e-01 6.80945303e-01 6.20861894e-01 5.80806288e-01 5.80806288e-01 6.60917500e-01 9.21278940e-01 6.00834091e-01 6.60917500e-01 8.61195531e-01 6.00834091e-01 5.20722879e-01 6.00834091e-01 6.60917500e-01 5.80806288e-01 4.00556061e-01 8.21139925e-01 4.40611667e-01 5.60778485e-01 5.80806288e-01 7.21000910e-01 6.80945303e-01 6.60917500e-01 6.00834091e-01 6.80945303e-01 7.21000910e-01 8.21139925e-01 8.81223334e-01 5.80806288e-01 8.21139925e-01 7.00973106e-01 7.21000910e-01 6.60917500e-01 5.40750682e-01 9.21278940e-01 8.01112122e-01 6.20861894e-01 7.41028713e-01 7.00973106e-01 7.41028713e-01 7.00973106e-01 8.21139925e-01 6.60917500e-01 7.81084319e-01 8.81223334e-01 9.21278940e-01 3.60500455e-01 5.00695076e-01 6.40889697e-01 5.40750682e-01 5.80806288e-01 4.60639470e-01 8.01112122e-01 6.80945303e-01 6.20861894e-01 7.61056516e-01 5.60778485e-01 5.40750682e-01 5.40750682e-01 7.41028713e-01 7.21000910e-01 7.21000910e-01 5.40750682e-01 8.81223334e-01 6.20861894e-01 7.00973106e-01 5.60778485e-01 8.21139925e-01 5.80806288e-01 6.80945303e-01 8.21139925e-01 9.01251137e-01 6.40889697e-01 9.61334546e-01 7.41028713e-01 5.40750682e-01 6.80945303e-01 6.40889697e-01 5.80806288e-01 6.40889697e-01 8.61195531e-01 7.21000910e-01 8.01112122e-01 6.60917500e-01 7.81084319e-01 1.08150136e+00 8.01112122e-01 7.00973106e-01 7.21000910e-01 6.00834091e-01 6.60917500e-01 5.80806288e-01 1.00139015e+00 7.21000910e-01 7.21000910e-01 6.20861894e-01 6.40889697e-01 7.81084319e-01 4.40611667e-01 6.60917500e-01 7.61056516e-01 6.60917500e-01 7.81084319e-01 6.40889697e-01 8.01112122e-01 7.81084319e-01 9.01251137e-01 5.80806288e-01 6.60917500e-01 1.06147356e+00 6.60917500e-01 7.21000910e-01 8.21139925e-01 6.40889697e-01 8.21139925e-01 9.21278940e-01 7.21000910e-01 9.01251137e-01 9.81362349e-01 6.20861894e-01 6.00834091e-01 6.40889697e-01 6.80945303e-01 1.00139015e+00 7.81084319e-01 8.21139925e-01 1.02141796e+00 7.21000910e-01 8.81223334e-01 1.10152917e+00 9.81362349e-01 8.21139925e-01 9.01251137e-01 1.10152917e+00 9.41306743e-01 8.21139925e-01 9.61334546e-01 9.81362349e-01 7.81084319e-01 7.00973106e-01 9.41306743e-01 5.40750682e-01 7.41028713e-01 9.21278940e-01 8.21139925e-01 6.80945303e-01 7.41028713e-01 8.01112122e-01 9.81362349e-01 1.06147356e+00 8.81223334e-01 9.41306743e-01 7.81084319e-01 6.60917500e-01 7.41028713e-01 7.21000910e-01 8.81223334e-01 8.61195531e-01 6.80945303e-01 7.00973106e-01 7.41028713e-01 7.41028713e-01 9.81362349e-01 9.01251137e-01 9.81362349e-01 6.80945303e-01 1.00139015e+00 1.24172379e+00 7.21000910e-01 8.61195531e-01 7.00973106e-01 1.02141796e+00 7.21000910e-01 8.61195531e-01 8.61195531e-01 1.02141796e+00 1.00139015e+00 9.61334546e-01 6.60917500e-01 9.61334546e-01 7.81084319e-01 7.00973106e-01 7.21000910e-01 9.01251137e-01 7.41028713e-01 9.21278940e-01 8.01112122e-01 8.41167728e-01 8.21139925e-01 7.61056516e-01 8.01112122e-01 9.81362349e-01 6.40889697e-01 9.61334546e-01 9.81362349e-01 8.41167728e-01 1.00139015e+00 1.00139015e+00 9.01251137e-01 8.81223334e-01 8.61195531e-01 1.12155697e+00 7.41028713e-01 8.01112122e-01 1.38191841e+00 7.41028713e-01 1.06147356e+00 6.60917500e-01 1.00139015e+00 8.21139925e-01 1.00139015e+00 1.06147356e+00 8.01112122e-01 1.04144576e+00 1.00139015e+00 8.61195531e-01 1.02141796e+00 8.21139925e-01 1.06147356e+00 8.01112122e-01 1.24172379e+00 7.61056516e-01 8.81223334e-01 1.04144576e+00 1.26175159e+00 9.81362349e-01 8.41167728e-01 8.21139925e-01 1.00139015e+00 7.21000910e-01 1.18164038e+00 1.10152917e+00 9.61334546e-01 9.61334546e-01 9.81362349e-01 9.21278940e-01 1.24172379e+00 8.41167728e-01 1.06147356e+00 8.61195531e-01 8.21139925e-01 8.61195531e-01 1.10152917e+00 8.41167728e-01 1.12155697e+00 8.61195531e-01 9.01251137e-01 7.41028713e-01 9.41306743e-01 7.61056516e-01 8.21139925e-01 1.32183500e+00 8.41167728e-01 8.61195531e-01 9.21278940e-01 1.20166818e+00 1.00139015e+00 9.41306743e-01 1.02141796e+00 8.41167728e-01 7.61056516e-01 8.01112122e-01 6.40889697e-01 7.81084319e-01 1.04144576e+00 1.14158477e+00 8.61195531e-01 7.21000910e-01 9.81362349e-01 1.28177939e+00 1.12155697e+00 8.01112122e-01 7.81084319e-01 9.61334546e-01 1.08150136e+00 7.61056516e-01 8.81223334e-01 9.41306743e-01 7.41028713e-01 8.21139925e-01 1.28177939e+00 8.81223334e-01 1.08150136e+00 8.81223334e-01 1.04144576e+00 1.04144576e+00 1.08150136e+00 9.41306743e-01 9.21278940e-01 1.00139015e+00 9.21278940e-01 1.06147356e+00 1.10152917e+00 1.06147356e+00 1.06147356e+00 6.20861894e-01 9.81362349e-01 1.16161258e+00 1.04144576e+00 1.02141796e+00 9.01251137e-01 1.18164038e+00 1.10152917e+00 9.21278940e-01 1.20166818e+00 1.22169599e+00 1.28177939e+00 9.01251137e-01 9.21278940e-01 1.16161258e+00 1.10152917e+00 1.02141796e+00 1.04144576e+00 1.32183500e+00 8.21139925e-01 8.21139925e-01 1.14158477e+00 1.08150136e+00 1.52211303e+00 1.12155697e+00 1.02141796e+00 1.16161258e+00 9.21278940e-01 1.48205743e+00 1.10152917e+00 1.14158477e+00 1.34186280e+00 1.34186280e+00 1.06147356e+00 1.18164038e+00 1.10152917e+00 1.18164038e+00 9.81362349e-01 1.02141796e+00 1.02141796e+00 1.08150136e+00 1.14158477e+00 1.12155697e+00 1.20166818e+00 9.81362349e-01 1.22169599e+00 1.02141796e+00 1.24172379e+00 1.10152917e+00 1.24172379e+00 1.08150136e+00 9.01251137e-01 1.50208523e+00 1.16161258e+00 1.08150136e+00 7.41028713e-01 8.81223334e-01 9.41306743e-01 1.24172379e+00 1.16161258e+00 1.24172379e+00 1.08150136e+00 1.10152917e+00 8.01112122e-01 1.04144576e+00 1.78247447e+00 1.24172379e+00 1.06147356e+00 1.44200182e+00 8.01112122e-01 1.66230765e+00 1.22169599e+00 1.16161258e+00 1.50208523e+00 1.16161258e+00 1.10152917e+00 1.26175159e+00 1.26175159e+00 1.04144576e+00 1.32183500e+00 1.34186280e+00 1.04144576e+00 1.18164038e+00 1.18164038e+00 1.08150136e+00 1.38191841e+00 1.30180720e+00 1.54214083e+00 1.30180720e+00 8.81223334e-01 1.54214083e+00 1.24172379e+00 1.16161258e+00 1.20166818e+00 1.46202962e+00 1.38191841e+00 1.26175159e+00 1.16161258e+00 1.50208523e+00 1.46202962e+00 1.28177939e+00 1.50208523e+00 1.24172379e+00 1.36189061e+00 1.90264129e+00 1.38191841e+00 1.38191841e+00 1.72239106e+00 1.64227985e+00 1.30180720e+00 1.16161258e+00 1.30180720e+00 1.66230765e+00 1.56216864e+00 1.48205743e+00 1.28177939e+00 1.36189061e+00 1.36189061e+00 1.44200182e+00 1.48205743e+00 2.18303053e+00 1.68233546e+00 1.54214083e+00 1.40194621e+00 1.58219644e+00 1.26175159e+00 1.48205743e+00 1.58219644e+00 1.76244667e+00 1.60222424e+00 1.42197402e+00 1.60222424e+00 1.48205743e+00 1.62225205e+00 1.42197402e+00 1.96272470e+00 1.22169599e+00 1.34186280e+00 1.50208523e+00 1.34186280e+00 1.44200182e+00 1.68233546e+00 1.36189061e+00 1.52211303e+00 1.98275250e+00 1.60222424e+00 1.68233546e+00 1.44200182e+00 1.32183500e+00 1.74241886e+00 1.60222424e+00 2.28316955e+00 1.36189061e+00 2.26314174e+00 1.38191841e+00 1.56216864e+00 1.30180720e+00 1.72239106e+00 1.74241886e+00 2.00278030e+00 1.58219644e+00 1.32183500e+00 1.54214083e+00 2.12294712e+00 1.30180720e+00 1.76244667e+00 2.58358659e+00 1.28177939e+00 1.54214083e+00 1.36189061e+00 1.58219644e+00 2.10291932e+00 2.22308614e+00 1.58219644e+00 1.66230765e+00 1.84255788e+00 1.30180720e+00 2.60361440e+00 1.94269690e+00 1.16161258e+00 1.76244667e+00 1.94269690e+00 1.38191841e+00 1.22169599e+00 1.42197402e+00 2.10291932e+00 1.66230765e+00 1.66230765e+00 1.60222424e+00 1.58219644e+00 1.68233546e+00 1.92266909e+00 2.36328076e+00 1.46202962e+00 1.78247447e+00 1.44200182e+00 1.84255788e+00 1.64227985e+00 2.34325296e+00 1.82253008e+00 1.90264129e+00 1.78247447e+00 1.52211303e+00 2.30319735e+00 1.64227985e+00 1.58219644e+00 1.26175159e+00 1.90264129e+00 1.36189061e+00 1.76244667e+00 1.68233546e+00 1.82253008e+00 1.70236326e+00 1.12155697e+00 1.96272470e+00 1.94269690e+00 2.26314174e+00 1.94269690e+00 1.78247447e+00 1.66230765e+00 1.34186280e+00 1.86258568e+00 1.50208523e+00 2.02280811e+00 1.58219644e+00 1.58219644e+00 1.60222424e+00 1.34186280e+00 2.18303053e+00 2.34325296e+00 2.06286371e+00 1.90264129e+00 1.44200182e+00 2.38330856e+00 1.52211303e+00 1.92266909e+00 2.12294712e+00 1.36189061e+00 1.54214083e+00 2.24311394e+00 1.44200182e+00 2.14297493e+00 2.00278030e+00 1.50208523e+00 2.56355879e+00 1.92266909e+00 2.08289152e+00 2.36328076e+00 1.56216864e+00 1.54214083e+00 1.48205743e+00 1.66230765e+00 2.14297493e+00 2.42336417e+00 1.50208523e+00 1.22169599e+00 2.20305833e+00 1.42197402e+00 2.12294712e+00 1.66230765e+00 1.80250227e+00 1.44200182e+00 1.86258568e+00 1.52211303e+00 1.26175159e+00 1.62225205e+00 1.38191841e+00 1.88261349e+00 2.74380902e+00 2.68372561e+00 1.60222424e+00 1.28177939e+00 1.86258568e+00 1.48205743e+00 3.32461531e+00 1.54214083e+00 2.18303053e+00 1.84255788e+00 1.56216864e+00 1.28177939e+00 1.72239106e+00 1.82253008e+00 1.22169599e+00 1.32183500e+00 1.32183500e+00 1.24172379e+00 1.12155697e+00 1.38191841e+00 1.44200182e+00 1.04144576e+00 1.28177939e+00 1.02141796e+00 1.22169599e+00 1.24172379e+00 1.20166818e+00 9.41306743e-01 1.12155697e+00 8.41167728e-01 1.00139015e+00 1.02141796e+00 9.61334546e-01 9.01251137e-01 1.04144576e+00 1.18164038e+00 7.81084319e-01 1.02141796e+00 8.61195531e-01 1.14158477e+00 1.00139015e+00 1.14158477e+00 8.81223334e-01 1.40194621e+00 1.00139015e+00 1.06147356e+00 1.04144576e+00 1.20166818e+00 1.14158477e+00 1.06147356e+00 9.61334546e-01 1.20166818e+00 1.00139015e+00 1.00139015e+00 1.16161258e+00 1.16161258e+00 1.06147356e+00 1.12155697e+00 9.81362349e-01 8.01112122e-01 7.81084319e-01 1.16161258e+00 7.21000910e-01 1.14158477e+00 1.20166818e+00 9.21278940e-01 9.41306743e-01 1.36189061e+00 1.04144576e+00 1.10152917e+00 1.00139015e+00 1.16161258e+00 1.16161258e+00 1.02141796e+00 7.81084319e-01 8.21139925e-01 1.02141796e+00 8.81223334e-01 9.81362349e-01 9.61334546e-01 9.41306743e-01 8.81223334e-01 1.06147356e+00 1.00139015e+00 1.06147356e+00 1.14158477e+00 9.21278940e-01 8.81223334e-01 7.81084319e-01 7.41028713e-01 1.00139015e+00 9.01251137e-01 9.21278940e-01 1.14158477e+00 8.41167728e-01 8.21139925e-01 1.06147356e+00 9.61334546e-01 1.08150136e+00 8.81223334e-01 1.00139015e+00 1.08150136e+00 1.34186280e+00 1.06147356e+00 1.18164038e+00 1.04144576e+00 1.16161258e+00 1.10152917e+00 1.14158477e+00 1.12155697e+00 1.10152917e+00 1.02141796e+00 1.06147356e+00 1.32183500e+00 1.00139015e+00 1.18164038e+00 1.16161258e+00 1.12155697e+00 1.20166818e+00 1.10152917e+00 1.06147356e+00 9.61334546e-01 9.21278940e-01 8.81223334e-01 1.06147356e+00 1.02141796e+00 1.20166818e+00 9.01251137e-01 1.06147356e+00 8.41167728e-01 1.04144576e+00 1.24172379e+00 8.41167728e-01 9.21278940e-01 1.18164038e+00 1.08150136e+00 6.60917500e-01 1.06147356e+00 1.30180720e+00 9.41306743e-01 1.04144576e+00 1.20166818e+00 9.81362349e-01 1.08150136e+00 1.06147356e+00 1.18164038e+00 1.08150136e+00 1.18164038e+00 1.16161258e+00 1.00139015e+00 9.01251137e-01 1.28177939e+00 1.28177939e+00 1.06147356e+00 1.22169599e+00 9.41306743e-01 8.81223334e-01 9.61334546e-01 1.08150136e+00 1.18164038e+00 8.21139925e-01 9.21278940e-01 8.81223334e-01 1.16161258e+00 8.81223334e-01 8.61195531e-01 1.12155697e+00 1.00139015e+00 6.80945303e-01 6.60917500e-01 6.80945303e-01 7.41028713e-01 8.21139925e-01 6.00834091e-01 6.40889697e-01 7.00973106e-01 6.80945303e-01 5.80806288e-01 7.00973106e-01 5.00695076e-01 4.60639470e-01 4.80667273e-01 4.60639470e-01 3.60500455e-01 4.00556061e-01 3.00417046e-01 3.80528258e-01 3.60500455e-01 3.20444849e-01 2.20305833e-01 1.40194621e-01 3.80528258e-01 2.80389243e-01 3.00417046e-01 2.60361440e-01 2.40333637e-01 2.00278030e-01 1.80250227e-01 1.00139015e-01 6.00834091e-02 4.00556061e-02 8.01112122e-02 1.20166818e-01 1.00139015e-01 1.20166818e-01 8.01112122e-02 2.00278030e-02 8.01112122e-02 4.00556061e-02 2.00278030e-02 0.00000000e+00 6.00834091e-02 0.00000000e+00 0.00000000e+00 6.00834091e-02 6.00834091e-02 6.00834091e-02 8.01112122e-02 6.00834091e-02 2.00278030e-02 2.00278030e-02 0.00000000e+00 2.00278030e-02 4.00556061e-02 0.00000000e+00 0.00000000e+00 2.00278030e-02 0.00000000e+00 0.00000000e+00 - - 8.63260114e-02 2.58978034e-01 5.46731406e-01 9.78361463e-01 1.61141888e+00 1.88478458e+00 2.64733102e+00 2.66171868e+00 3.07896107e+00 2.77682003e+00 3.15089942e+00 3.13651175e+00 3.22283776e+00 2.89192138e+00 3.03579807e+00 3.05018574e+00 2.57539267e+00 3.10773641e+00 2.56100500e+00 2.58978034e+00 2.81998304e+00 2.48906666e+00 2.20131329e+00 2.02866127e+00 2.12937495e+00 2.54661734e+00 2.24447630e+00 2.40274065e+00 2.24447630e+00 2.14376262e+00 1.59703121e+00 2.02866127e+00 1.98549826e+00 1.56825587e+00 1.72652023e+00 1.64019422e+00 1.78407090e+00 1.58264354e+00 1.35244085e+00 1.65458189e+00 1.48192986e+00 1.48192986e+00 1.28050250e+00 1.26611483e+00 1.29489017e+00 1.38121618e+00 1.43876686e+00 1.33805318e+00 1.12223815e+00 1.20856416e+00 1.33805318e+00 1.06468747e+00 9.78361463e-01 1.09346281e+00 1.17978882e+00 1.09346281e+00 1.15101349e+00 9.63973794e-01 1.10785048e+00 1.09346281e+00 9.49586125e-01 9.20810788e-01 9.49586125e-01 9.06423120e-01 6.47445085e-01 7.91321771e-01 9.78361463e-01 7.76934103e-01 9.63973794e-01 8.63260114e-01 9.92749131e-01 1.03591214e+00 8.20097108e-01 6.33057417e-01 1.00713680e+00 7.91321771e-01 9.20810788e-01 8.05709440e-01 8.05709440e-01 6.61832754e-01 7.76934103e-01 6.61832754e-01 5.75506743e-01 7.91321771e-01 6.47445085e-01 6.33057417e-01 7.62546434e-01 4.89180731e-01 6.18669748e-01 8.34484777e-01 6.04282080e-01 7.48158765e-01 6.76220423e-01 7.62546434e-01 6.18669748e-01 6.47445085e-01 7.48158765e-01 6.47445085e-01 6.33057417e-01 6.47445085e-01 7.04995760e-01 6.18669748e-01 6.33057417e-01 6.90608091e-01 6.61832754e-01 6.18669748e-01 5.89894411e-01 5.17956068e-01 5.32343737e-01 4.74793063e-01 6.18669748e-01 6.47445085e-01 6.33057417e-01 5.46731406e-01 5.32343737e-01 6.18669748e-01 6.61832754e-01 6.61832754e-01 5.89894411e-01 6.33057417e-01 6.61832754e-01 7.33771097e-01 6.04282080e-01 5.61119074e-01 7.62546434e-01 6.18669748e-01 5.03568400e-01 4.60405394e-01 7.19383428e-01 5.46731406e-01 5.89894411e-01 6.33057417e-01 5.75506743e-01 3.88467051e-01 5.17956068e-01 6.47445085e-01 5.46731406e-01 3.74079383e-01 5.17956068e-01 7.33771097e-01 4.89180731e-01 6.90608091e-01 5.61119074e-01 4.31630057e-01 5.46731406e-01 4.89180731e-01 4.17242388e-01 6.18669748e-01 6.61832754e-01 3.88467051e-01 5.46731406e-01 4.89180731e-01 5.32343737e-01 4.31630057e-01 5.89894411e-01 4.31630057e-01 7.48158765e-01 5.61119074e-01 6.18669748e-01 5.46731406e-01 5.75506743e-01 5.75506743e-01 6.47445085e-01 5.89894411e-01 4.31630057e-01 4.31630057e-01 4.74793063e-01 5.61119074e-01 3.30916377e-01 5.03568400e-01 7.62546434e-01 4.31630057e-01 4.89180731e-01 4.02854720e-01 6.33057417e-01 5.17956068e-01 5.61119074e-01 5.75506743e-01 5.75506743e-01 4.89180731e-01 5.61119074e-01 3.16528708e-01 4.17242388e-01 4.89180731e-01 5.32343737e-01 4.74793063e-01 6.47445085e-01 4.17242388e-01 5.03568400e-01 4.02854720e-01 6.18669748e-01 4.89180731e-01 4.89180731e-01 5.03568400e-01 4.02854720e-01 5.17956068e-01 5.17956068e-01 5.32343737e-01 5.75506743e-01 5.46731406e-01 3.45304046e-01 5.75506743e-01 5.46731406e-01 5.03568400e-01 5.46731406e-01 6.04282080e-01 5.03568400e-01 4.89180731e-01 3.45304046e-01 4.17242388e-01 5.89894411e-01 3.45304046e-01 5.17956068e-01 6.47445085e-01 6.04282080e-01 5.17956068e-01 4.02854720e-01 5.46731406e-01 3.88467051e-01 5.17956068e-01 4.17242388e-01 5.32343737e-01 4.17242388e-01 3.88467051e-01 4.17242388e-01 5.46731406e-01 4.02854720e-01 5.61119074e-01 4.89180731e-01 5.46731406e-01 4.60405394e-01 3.74079383e-01 4.02854720e-01 4.31630057e-01 4.31630057e-01 5.32343737e-01 3.16528708e-01 5.46731406e-01 5.17956068e-01 4.89180731e-01 4.31630057e-01 5.32343737e-01 4.46017726e-01 5.03568400e-01 3.88467051e-01 4.89180731e-01 4.89180731e-01 5.46731406e-01 4.89180731e-01 5.46731406e-01 4.89180731e-01 4.74793063e-01 6.33057417e-01 3.30916377e-01 2.30202697e-01 5.03568400e-01 4.31630057e-01 4.60405394e-01 4.31630057e-01 5.75506743e-01 3.30916377e-01 4.46017726e-01 4.74793063e-01 4.74793063e-01 5.75506743e-01 6.04282080e-01 5.32343737e-01 5.03568400e-01 5.17956068e-01 6.18669748e-01 4.89180731e-01 3.45304046e-01 3.88467051e-01 4.31630057e-01 5.75506743e-01 3.45304046e-01 4.02854720e-01 4.60405394e-01 5.03568400e-01 4.31630057e-01 4.17242388e-01 3.88467051e-01 5.61119074e-01 5.03568400e-01 4.74793063e-01 4.17242388e-01 4.89180731e-01 5.32343737e-01 5.03568400e-01 5.46731406e-01 5.17956068e-01 3.59691714e-01 5.75506743e-01 5.03568400e-01 5.46731406e-01 4.31630057e-01 4.02854720e-01 4.89180731e-01 6.33057417e-01 4.31630057e-01 5.61119074e-01 3.45304046e-01 3.59691714e-01 3.74079383e-01 3.88467051e-01 4.46017726e-01 5.03568400e-01 5.61119074e-01 3.74079383e-01 4.17242388e-01 4.02854720e-01 4.31630057e-01 3.74079383e-01 5.32343737e-01 6.33057417e-01 3.88467051e-01 4.46017726e-01 5.32343737e-01 5.03568400e-01 5.61119074e-01 3.59691714e-01 3.16528708e-01 3.88467051e-01 6.33057417e-01 4.17242388e-01 4.60405394e-01 3.74079383e-01 3.88467051e-01 5.17956068e-01 3.88467051e-01 4.89180731e-01 4.02854720e-01 3.30916377e-01 4.31630057e-01 3.02141040e-01 5.75506743e-01 4.02854720e-01 3.45304046e-01 4.74793063e-01 4.74793063e-01 4.46017726e-01 3.88467051e-01 5.32343737e-01 4.46017726e-01 3.74079383e-01 4.17242388e-01 5.32343737e-01 3.45304046e-01 4.89180731e-01 5.03568400e-01 4.74793063e-01 4.31630057e-01 5.75506743e-01 4.60405394e-01 6.33057417e-01 4.46017726e-01 3.88467051e-01 5.61119074e-01 5.75506743e-01 4.17242388e-01 3.02141040e-01 3.88467051e-01 5.89894411e-01 6.33057417e-01 5.89894411e-01 6.18669748e-01 4.89180731e-01 4.17242388e-01 4.31630057e-01 4.02854720e-01 4.60405394e-01 4.74793063e-01 5.32343737e-01 4.31630057e-01 4.46017726e-01 4.89180731e-01 4.17242388e-01 4.31630057e-01 3.30916377e-01 4.02854720e-01 3.88467051e-01 3.74079383e-01 3.88467051e-01 4.31630057e-01 4.02854720e-01 6.33057417e-01 4.60405394e-01 4.31630057e-01 4.31630057e-01 4.89180731e-01 5.89894411e-01 5.46731406e-01 4.31630057e-01 4.17242388e-01 6.04282080e-01 4.60405394e-01 3.74079383e-01 5.75506743e-01 5.46731406e-01 4.46017726e-01 4.60405394e-01 3.16528708e-01 5.75506743e-01 4.46017726e-01 4.31630057e-01 4.89180731e-01 4.60405394e-01 2.87753371e-01 4.46017726e-01 4.89180731e-01 5.46731406e-01 5.75506743e-01 4.89180731e-01 3.88467051e-01 3.74079383e-01 5.03568400e-01 5.46731406e-01 4.74793063e-01 4.31630057e-01 6.61832754e-01 5.89894411e-01 3.88467051e-01 5.17956068e-01 4.89180731e-01 3.74079383e-01 3.02141040e-01 6.33057417e-01 5.03568400e-01 5.17956068e-01 3.30916377e-01 3.74079383e-01 5.17956068e-01 4.46017726e-01 5.32343737e-01 3.30916377e-01 4.60405394e-01 4.31630057e-01 6.04282080e-01 5.03568400e-01 4.02854720e-01 4.17242388e-01 4.17242388e-01 3.88467051e-01 5.17956068e-01 3.59691714e-01 4.46017726e-01 5.32343737e-01 4.02854720e-01 3.59691714e-01 3.74079383e-01 4.17242388e-01 4.74793063e-01 6.04282080e-01 4.60405394e-01 3.45304046e-01 3.16528708e-01 4.74793063e-01 5.61119074e-01 3.59691714e-01 5.03568400e-01 5.17956068e-01 4.60405394e-01 5.75506743e-01 5.03568400e-01 6.76220423e-01 5.32343737e-01 5.17956068e-01 5.46731406e-01 5.17956068e-01 3.74079383e-01 6.61832754e-01 5.17956068e-01 6.18669748e-01 4.46017726e-01 4.74793063e-01 4.60405394e-01 3.02141040e-01 4.02854720e-01 4.31630057e-01 4.89180731e-01 3.59691714e-01 5.03568400e-01 4.60405394e-01 4.46017726e-01 4.89180731e-01 2.87753371e-01 5.89894411e-01 4.60405394e-01 3.74079383e-01 4.74793063e-01 6.33057417e-01 5.17956068e-01 3.74079383e-01 6.33057417e-01 5.61119074e-01 3.88467051e-01 4.17242388e-01 4.60405394e-01 6.33057417e-01 5.61119074e-01 4.31630057e-01 5.46731406e-01 4.17242388e-01 4.17242388e-01 6.18669748e-01 4.60405394e-01 4.17242388e-01 4.74793063e-01 4.17242388e-01 5.03568400e-01 4.89180731e-01 3.45304046e-01 5.17956068e-01 6.33057417e-01 5.89894411e-01 4.89180731e-01 4.31630057e-01 4.46017726e-01 5.61119074e-01 3.88467051e-01 4.74793063e-01 5.03568400e-01 5.32343737e-01 5.17956068e-01 3.88467051e-01 3.16528708e-01 6.47445085e-01 4.89180731e-01 5.46731406e-01 5.17956068e-01 6.18669748e-01 5.46731406e-01 4.31630057e-01 5.32343737e-01 4.02854720e-01 4.31630057e-01 4.74793063e-01 5.32343737e-01 4.17242388e-01 5.46731406e-01 5.61119074e-01 5.75506743e-01 5.03568400e-01 5.17956068e-01 5.46731406e-01 4.89180731e-01 3.74079383e-01 4.60405394e-01 5.03568400e-01 4.02854720e-01 3.59691714e-01 4.60405394e-01 4.46017726e-01 5.75506743e-01 5.32343737e-01 4.74793063e-01 7.04995760e-01 4.74793063e-01 4.74793063e-01 5.61119074e-01 4.60405394e-01 5.03568400e-01 5.32343737e-01 4.46017726e-01 6.33057417e-01 4.31630057e-01 5.32343737e-01 4.74793063e-01 5.46731406e-01 4.89180731e-01 6.76220423e-01 5.89894411e-01 3.88467051e-01 7.19383428e-01 4.46017726e-01 4.31630057e-01 4.31630057e-01 5.61119074e-01 4.02854720e-01 3.45304046e-01 4.74793063e-01 5.03568400e-01 4.02854720e-01 4.02854720e-01 3.88467051e-01 4.89180731e-01 3.74079383e-01 3.88467051e-01 5.89894411e-01 5.03568400e-01 4.02854720e-01 3.88467051e-01 5.75506743e-01 5.61119074e-01 4.74793063e-01 4.60405394e-01 4.89180731e-01 4.31630057e-01 5.46731406e-01 3.59691714e-01 4.31630057e-01 4.02854720e-01 6.04282080e-01 5.17956068e-01 4.60405394e-01 4.31630057e-01 5.32343737e-01 4.89180731e-01 4.02854720e-01 3.74079383e-01 6.18669748e-01 4.02854720e-01 3.88467051e-01 2.01427360e-01 4.89180731e-01 4.46017726e-01 5.61119074e-01 5.03568400e-01 6.76220423e-01 4.31630057e-01 4.17242388e-01 6.04282080e-01 5.61119074e-01 4.60405394e-01 4.31630057e-01 4.17242388e-01 5.03568400e-01 4.60405394e-01 5.61119074e-01 4.60405394e-01 5.17956068e-01 2.73365703e-01 5.17956068e-01 5.03568400e-01 4.74793063e-01 4.89180731e-01 4.31630057e-01 3.30916377e-01 5.17956068e-01 4.46017726e-01 5.46731406e-01 5.17956068e-01 4.74793063e-01 4.46017726e-01 3.88467051e-01 3.45304046e-01 3.74079383e-01 5.75506743e-01 5.61119074e-01 5.03568400e-01 5.61119074e-01 3.74079383e-01 2.58978034e-01 4.46017726e-01 6.76220423e-01 2.30202697e-01 4.74793063e-01 5.46731406e-01 5.61119074e-01 5.89894411e-01 3.45304046e-01 4.31630057e-01 4.89180731e-01 4.74793063e-01 5.32343737e-01 4.17242388e-01 5.46731406e-01 6.18669748e-01 3.45304046e-01 4.74793063e-01 4.89180731e-01 4.46017726e-01 5.61119074e-01 6.76220423e-01 4.89180731e-01 6.76220423e-01 4.46017726e-01 4.02854720e-01 4.89180731e-01 4.60405394e-01 5.03568400e-01 3.45304046e-01 4.17242388e-01 5.32343737e-01 4.74793063e-01 4.89180731e-01 5.03568400e-01 3.02141040e-01 5.32343737e-01 3.74079383e-01 5.17956068e-01 4.02854720e-01 4.46017726e-01 5.03568400e-01 6.18669748e-01 6.76220423e-01 3.59691714e-01 4.46017726e-01 4.74793063e-01 5.89894411e-01 5.61119074e-01 3.59691714e-01 4.17242388e-01 4.89180731e-01 5.32343737e-01 3.45304046e-01 5.32343737e-01 4.17242388e-01 4.31630057e-01 4.74793063e-01 5.46731406e-01 5.32343737e-01 4.31630057e-01 5.03568400e-01 5.03568400e-01 4.89180731e-01 4.02854720e-01 4.02854720e-01 4.46017726e-01 6.18669748e-01 5.32343737e-01 5.32343737e-01 6.18669748e-01 6.04282080e-01 5.17956068e-01 7.33771097e-01 5.32343737e-01 3.45304046e-01 5.03568400e-01 6.04282080e-01 6.04282080e-01 4.46017726e-01 5.32343737e-01 4.89180731e-01 6.04282080e-01 5.32343737e-01 3.88467051e-01 3.74079383e-01 5.61119074e-01 5.61119074e-01 3.88467051e-01 5.03568400e-01 5.61119074e-01 6.18669748e-01 4.74793063e-01 4.46017726e-01 6.18669748e-01 6.61832754e-01 6.33057417e-01 6.47445085e-01 3.45304046e-01 5.32343737e-01 6.90608091e-01 6.04282080e-01 5.17956068e-01 5.75506743e-01 4.89180731e-01 6.04282080e-01 7.19383428e-01 5.03568400e-01 4.89180731e-01 5.89894411e-01 6.33057417e-01 6.04282080e-01 5.75506743e-01 5.75506743e-01 6.47445085e-01 5.61119074e-01 6.04282080e-01 3.88467051e-01 5.46731406e-01 4.60405394e-01 6.90608091e-01 4.46017726e-01 5.89894411e-01 4.74793063e-01 5.32343737e-01 5.03568400e-01 6.04282080e-01 6.18669748e-01 5.17956068e-01 6.18669748e-01 5.89894411e-01 5.03568400e-01 5.03568400e-01 6.04282080e-01 5.46731406e-01 7.48158765e-01 6.04282080e-01 4.17242388e-01 6.90608091e-01 5.75506743e-01 5.75506743e-01 5.61119074e-01 4.46017726e-01 5.17956068e-01 6.47445085e-01 6.33057417e-01 5.61119074e-01 5.32343737e-01 4.89180731e-01 6.04282080e-01 7.19383428e-01 6.76220423e-01 5.17956068e-01 6.47445085e-01 5.89894411e-01 6.90608091e-01 6.18669748e-01 9.06423120e-01 5.17956068e-01 6.33057417e-01 5.03568400e-01 5.61119074e-01 6.18669748e-01 5.89894411e-01 5.03568400e-01 5.46731406e-01 5.89894411e-01 6.90608091e-01 6.61832754e-01 5.46731406e-01 6.61832754e-01 6.33057417e-01 6.61832754e-01 5.46731406e-01 6.33057417e-01 7.33771097e-01 5.32343737e-01 6.18669748e-01 6.04282080e-01 6.90608091e-01 7.04995760e-01 5.61119074e-01 5.17956068e-01 5.17956068e-01 6.61832754e-01 5.03568400e-01 5.46731406e-01 4.31630057e-01 6.04282080e-01 5.75506743e-01 4.89180731e-01 5.75506743e-01 8.05709440e-01 5.75506743e-01 5.75506743e-01 5.03568400e-01 6.33057417e-01 7.48158765e-01 4.60405394e-01 5.46731406e-01 6.47445085e-01 8.20097108e-01 5.17956068e-01 5.89894411e-01 4.60405394e-01 6.76220423e-01 6.04282080e-01 5.03568400e-01 7.62546434e-01 7.04995760e-01 5.61119074e-01 5.46731406e-01 7.33771097e-01 7.33771097e-01 7.91321771e-01 8.48872445e-01 6.18669748e-01 7.04995760e-01 6.90608091e-01 6.76220423e-01 5.89894411e-01 7.62546434e-01 6.61832754e-01 7.19383428e-01 6.33057417e-01 5.03568400e-01 5.17956068e-01 4.89180731e-01 5.46731406e-01 5.89894411e-01 6.33057417e-01 6.61832754e-01 6.90608091e-01 7.48158765e-01 8.48872445e-01 5.32343737e-01 6.61832754e-01 6.18669748e-01 6.76220423e-01 1.03591214e+00 5.03568400e-01 6.90608091e-01 4.74793063e-01 4.31630057e-01 7.48158765e-01 7.76934103e-01 8.05709440e-01 8.20097108e-01 8.05709440e-01 6.04282080e-01 6.76220423e-01 7.48158765e-01 5.75506743e-01 6.47445085e-01 6.90608091e-01 6.61832754e-01 6.47445085e-01 7.04995760e-01 5.46731406e-01 8.34484777e-01 5.17956068e-01 7.33771097e-01 7.76934103e-01 6.33057417e-01 8.05709440e-01 7.48158765e-01 7.19383428e-01 4.89180731e-01 6.18669748e-01 7.04995760e-01 9.06423120e-01 9.49586125e-01 7.19383428e-01 5.61119074e-01 7.62546434e-01 6.61832754e-01 6.61832754e-01 7.19383428e-01 7.62546434e-01 7.48158765e-01 7.91321771e-01 6.90608091e-01 6.33057417e-01 7.91321771e-01 7.33771097e-01 8.34484777e-01 7.76934103e-01 6.33057417e-01 7.48158765e-01 7.48158765e-01 7.19383428e-01 7.04995760e-01 7.76934103e-01 5.46731406e-01 7.91321771e-01 7.62546434e-01 7.33771097e-01 7.33771097e-01 9.20810788e-01 6.90608091e-01 7.76934103e-01 8.05709440e-01 6.61832754e-01 6.04282080e-01 7.62546434e-01 7.62546434e-01 5.03568400e-01 7.48158765e-01 7.19383428e-01 6.76220423e-01 7.76934103e-01 6.04282080e-01 8.77647783e-01 7.76934103e-01 8.20097108e-01 6.61832754e-01 7.48158765e-01 8.92035451e-01 6.47445085e-01 8.48872445e-01 8.63260114e-01 6.61832754e-01 9.06423120e-01 7.62546434e-01 9.35198457e-01 8.34484777e-01 7.91321771e-01 9.49586125e-01 8.48872445e-01 1.12223815e+00 8.05709440e-01 1.06468747e+00 8.20097108e-01 9.63973794e-01 1.13662582e+00 7.62546434e-01 7.33771097e-01 8.20097108e-01 7.91321771e-01 7.76934103e-01 8.20097108e-01 1.19417649e+00 8.20097108e-01 1.07907514e+00 9.63973794e-01 7.91321771e-01 1.28050250e+00 5.89894411e-01 9.92749131e-01 1.09346281e+00 8.92035451e-01 1.03591214e+00 9.49586125e-01 1.48192986e+00 5.32343737e-01 1.36682851e+00 4.74793063e-01 8.34484777e-01 7.33771097e-01 7.91321771e-01 7.91321771e-01 8.34484777e-01 1.28050250e+00 7.76934103e-01 8.92035451e-01 7.04995760e-01 1.03591214e+00 8.20097108e-01 8.20097108e-01 1.33805318e+00 6.33057417e-01 6.33057417e-01 7.19383428e-01 7.91321771e-01 4.60405394e-01 6.76220423e-01 7.76934103e-01 6.04282080e-01 1.38121618e+00 6.90608091e-01 9.92749131e-01 7.33771097e-01 4.60405394e-01 9.78361463e-01 5.46731406e-01 8.20097108e-01 5.32343737e-01 5.32343737e-01 5.61119074e-01 9.49586125e-01 8.05709440e-01 8.63260114e-01 6.04282080e-01 4.17242388e-01 5.75506743e-01 4.89180731e-01 5.75506743e-01 5.46731406e-01 4.60405394e-01 3.45304046e-01 3.30916377e-01 5.46731406e-01 3.02141040e-01 5.17956068e-01 4.02854720e-01 4.31630057e-01 3.74079383e-01 4.89180731e-01 3.74079383e-01 3.30916377e-01 4.17242388e-01 3.59691714e-01 3.59691714e-01 2.73365703e-01 3.74079383e-01 3.74079383e-01 3.88467051e-01 4.17242388e-01 4.60405394e-01 3.88467051e-01 3.74079383e-01 2.58978034e-01 2.01427360e-01 4.31630057e-01 3.88467051e-01 3.30916377e-01 4.02854720e-01 2.58978034e-01 3.45304046e-01 3.30916377e-01 2.44590366e-01 4.46017726e-01 4.46017726e-01 3.02141040e-01 4.02854720e-01 2.87753371e-01 3.16528708e-01 3.45304046e-01 3.16528708e-01 3.45304046e-01 3.02141040e-01 2.87753371e-01 3.02141040e-01 3.59691714e-01 2.15815028e-01 2.73365703e-01 4.89180731e-01 4.46017726e-01 3.74079383e-01 3.16528708e-01 3.16528708e-01 1.87039691e-01 2.87753371e-01 2.44590366e-01 3.45304046e-01 3.30916377e-01 4.02854720e-01 3.45304046e-01 3.02141040e-01 2.73365703e-01 2.87753371e-01 2.30202697e-01 3.02141040e-01 5.03568400e-01 3.16528708e-01 3.16528708e-01 3.74079383e-01 2.44590366e-01 1.58264354e-01 2.01427360e-01 2.73365703e-01 3.16528708e-01 2.58978034e-01 1.43876686e-01 1.87039691e-01 1.87039691e-01 2.30202697e-01 1.72652023e-01 1.00713680e-01 1.58264354e-01 1.87039691e-01 1.00713680e-01 1.29489017e-01 8.63260114e-02 8.63260114e-02 4.31630057e-02 1.00713680e-01 1.15101349e-01 1.15101349e-01 4.31630057e-02 4.31630057e-02 4.31630057e-02 5.75506743e-02 1.15101349e-01 7.19383428e-02 7.19383428e-02 0.00000000e+00 1.43876686e-02 0.00000000e+00 0.00000000e+00 4.31630057e-02 4.31630057e-02 2.87753371e-02 2.87753371e-02 1.43876686e-02 4.31630057e-02 1.43876686e-02 1.43876686e-02 0.00000000e+00 4.31630057e-02 1.43876686e-02 0.00000000e+00 1.43876686e-02 2.87753371e-02 1.43876686e-02 0.00000000e+00 1.43876686e-02 0.00000000e+00 0.00000000e+00 1.43876686e-02 1.43876686e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.43876686e-02 0.00000000e+00 2.87753371e-02 1.43876686e-02 0.00000000e+00 1.43876686e-02 2.87753371e-02 1.43876686e-02 0.00000000e+00 0.00000000e+00 2.87753371e-02 0.00000000e+00 1.43876686e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.43876686e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.43876686e-02 0.00000000e+00 0.00000000e+00 1.43876686e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.43876686e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.43876686e-02 1.43876686e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.43876686e-02 0.00000000e+00 + + 3.14389383e-01 6.70697351e-01 1.78153984e+00 2.41031860e+00 3.56307968e+00 4.56912570e+00 5.19790447e+00 5.23982305e+00 5.82668323e+00 6.18299120e+00 6.81176997e+00 6.81176997e+00 6.05723545e+00 6.74889209e+00 6.72793280e+00 5.30270093e+00 5.86860182e+00 5.97339828e+00 6.41354342e+00 5.88956111e+00 5.99435757e+00 5.34461951e+00 5.09310801e+00 5.26078234e+00 5.15598588e+00 4.98831155e+00 4.94639296e+00 4.33857349e+00 4.21281773e+00 3.81459118e+00 4.23377703e+00 3.45828321e+00 3.56307968e+00 3.29060888e+00 3.33252746e+00 3.41636463e+00 2.93430091e+00 3.06005666e+00 3.06005666e+00 3.08101595e+00 2.53607436e+00 2.57799294e+00 2.38935931e+00 2.61991153e+00 1.99113276e+00 2.57799294e+00 1.78153984e+00 2.59895223e+00 2.78758586e+00 1.90729559e+00 2.70374870e+00 2.28456285e+00 2.17976639e+00 1.76058055e+00 1.80249913e+00 1.82345842e+00 1.88633630e+00 2.03305134e+00 1.88633630e+00 1.61386550e+00 1.61386550e+00 1.73962125e+00 1.59290621e+00 1.42523187e+00 1.46715045e+00 1.67674338e+00 1.19467966e+00 1.40427258e+00 1.53002833e+00 1.40427258e+00 1.34139470e+00 1.44619116e+00 1.36235399e+00 1.44619116e+00 1.36235399e+00 1.57194692e+00 1.08988319e+00 1.29947612e+00 1.00604603e+00 1.27851682e+00 1.00604603e+00 9.01249565e-01 1.15276107e+00 1.21563895e+00 1.38331329e+00 1.08988319e+00 9.01249565e-01 1.04796461e+00 1.04796461e+00 1.15276107e+00 1.06892390e+00 1.38331329e+00 1.40427258e+00 1.32043541e+00 9.01249565e-01 9.43168149e-01 1.13180178e+00 1.08988319e+00 1.02700532e+00 1.23659824e+00 1.13180178e+00 9.64127442e-01 9.43168149e-01 1.04796461e+00 9.43168149e-01 1.13180178e+00 9.43168149e-01 8.80290273e-01 1.36235399e+00 7.54534520e-01 9.64127442e-01 8.80290273e-01 9.85086734e-01 1.02700532e+00 9.64127442e-01 9.64127442e-01 8.80290273e-01 9.22208857e-01 1.02700532e+00 1.00604603e+00 1.02700532e+00 1.13180178e+00 6.07819474e-01 7.75493812e-01 7.54534520e-01 7.75493812e-01 9.43168149e-01 9.64127442e-01 8.80290273e-01 8.80290273e-01 8.59330981e-01 8.17412396e-01 1.06892390e+00 1.04796461e+00 1.04796461e+00 7.33575227e-01 6.28778766e-01 1.23659824e+00 9.01249565e-01 1.02700532e+00 8.59330981e-01 1.00604603e+00 1.02700532e+00 1.06892390e+00 8.38371688e-01 1.08988319e+00 7.33575227e-01 9.01249565e-01 9.64127442e-01 7.75493812e-01 8.80290273e-01 7.12615935e-01 1.08988319e+00 8.80290273e-01 1.06892390e+00 7.33575227e-01 8.59330981e-01 6.70697351e-01 1.02700532e+00 7.54534520e-01 9.01249565e-01 1.19467966e+00 9.22208857e-01 7.75493812e-01 8.38371688e-01 8.80290273e-01 9.22208857e-01 8.59330981e-01 8.38371688e-01 7.96453104e-01 9.01249565e-01 7.12615935e-01 9.01249565e-01 9.43168149e-01 1.02700532e+00 6.91656643e-01 8.80290273e-01 7.33575227e-01 9.22208857e-01 8.17412396e-01 5.23982305e-01 9.01249565e-01 7.54534520e-01 7.33575227e-01 8.59330981e-01 1.06892390e+00 8.17412396e-01 7.75493812e-01 9.43168149e-01 7.33575227e-01 6.91656643e-01 1.00604603e+00 8.38371688e-01 7.33575227e-01 8.38371688e-01 8.59330981e-01 9.64127442e-01 8.80290273e-01 7.75493812e-01 9.01249565e-01 1.00604603e+00 7.54534520e-01 9.85086734e-01 8.38371688e-01 1.06892390e+00 1.00604603e+00 8.17412396e-01 9.01249565e-01 9.01249565e-01 9.22208857e-01 7.54534520e-01 8.59330981e-01 8.80290273e-01 6.91656643e-01 7.12615935e-01 8.38371688e-01 7.54534520e-01 6.91656643e-01 7.54534520e-01 8.80290273e-01 7.54534520e-01 8.17412396e-01 7.54534520e-01 9.01249565e-01 7.54534520e-01 1.02700532e+00 7.54534520e-01 7.33575227e-01 5.86860182e-01 9.01249565e-01 7.54534520e-01 8.17412396e-01 7.75493812e-01 8.38371688e-01 7.75493812e-01 9.85086734e-01 8.17412396e-01 9.01249565e-01 6.49738059e-01 8.80290273e-01 6.70697351e-01 6.91656643e-01 8.80290273e-01 6.49738059e-01 8.17412396e-01 6.28778766e-01 8.38371688e-01 8.59330981e-01 8.80290273e-01 7.75493812e-01 7.12615935e-01 1.04796461e+00 6.91656643e-01 5.65900890e-01 7.12615935e-01 9.22208857e-01 7.96453104e-01 8.17412396e-01 7.12615935e-01 6.49738059e-01 6.28778766e-01 8.17412396e-01 6.91656643e-01 7.33575227e-01 6.49738059e-01 8.38371688e-01 7.75493812e-01 7.12615935e-01 8.17412396e-01 7.33575227e-01 6.70697351e-01 7.75493812e-01 6.28778766e-01 8.17412396e-01 9.22208857e-01 1.08988319e+00 7.96453104e-01 7.33575227e-01 9.22208857e-01 9.01249565e-01 6.91656643e-01 7.75493812e-01 9.01249565e-01 7.12615935e-01 7.75493812e-01 1.02700532e+00 7.54534520e-01 7.33575227e-01 7.75493812e-01 9.43168149e-01 8.17412396e-01 9.85086734e-01 8.80290273e-01 7.33575227e-01 8.80290273e-01 8.38371688e-01 9.64127442e-01 7.54534520e-01 5.03023013e-01 8.17412396e-01 7.33575227e-01 5.86860182e-01 6.70697351e-01 9.43168149e-01 6.49738059e-01 8.59330981e-01 6.07819474e-01 8.59330981e-01 7.33575227e-01 1.06892390e+00 6.91656643e-01 7.96453104e-01 6.49738059e-01 9.01249565e-01 7.75493812e-01 7.96453104e-01 7.12615935e-01 6.28778766e-01 7.75493812e-01 9.43168149e-01 5.44941597e-01 7.12615935e-01 8.17412396e-01 6.91656643e-01 8.59330981e-01 7.12615935e-01 8.38371688e-01 8.80290273e-01 6.91656643e-01 8.80290273e-01 7.75493812e-01 8.38371688e-01 7.33575227e-01 7.96453104e-01 8.59330981e-01 8.38371688e-01 7.33575227e-01 9.43168149e-01 8.59330981e-01 7.12615935e-01 6.49738059e-01 6.28778766e-01 5.65900890e-01 6.07819474e-01 6.70697351e-01 6.91656643e-01 7.54534520e-01 7.33575227e-01 6.28778766e-01 8.17412396e-01 7.12615935e-01 9.01249565e-01 6.91656643e-01 8.80290273e-01 7.54534520e-01 7.33575227e-01 7.75493812e-01 9.43168149e-01 7.75493812e-01 6.70697351e-01 7.33575227e-01 8.80290273e-01 6.28778766e-01 5.86860182e-01 5.86860182e-01 8.17412396e-01 6.49738059e-01 6.28778766e-01 7.33575227e-01 8.17412396e-01 9.64127442e-01 9.01249565e-01 6.70697351e-01 7.54534520e-01 5.23982305e-01 7.33575227e-01 9.22208857e-01 7.12615935e-01 6.07819474e-01 6.70697351e-01 5.03023013e-01 6.70697351e-01 5.86860182e-01 7.33575227e-01 1.00604603e+00 5.86860182e-01 9.01249565e-01 9.01249565e-01 6.49738059e-01 9.01249565e-01 5.03023013e-01 7.12615935e-01 7.54534520e-01 7.12615935e-01 6.07819474e-01 6.49738059e-01 7.96453104e-01 6.28778766e-01 6.91656643e-01 7.96453104e-01 7.96453104e-01 7.33575227e-01 6.28778766e-01 6.28778766e-01 7.12615935e-01 8.38371688e-01 7.96453104e-01 8.38371688e-01 9.22208857e-01 6.28778766e-01 7.54534520e-01 4.19185844e-01 5.65900890e-01 8.59330981e-01 6.70697351e-01 6.91656643e-01 5.03023013e-01 9.22208857e-01 8.17412396e-01 7.12615935e-01 6.70697351e-01 6.70697351e-01 8.80290273e-01 5.65900890e-01 5.44941597e-01 6.70697351e-01 6.49738059e-01 6.91656643e-01 7.12615935e-01 6.07819474e-01 5.03023013e-01 9.01249565e-01 5.65900890e-01 8.59330981e-01 7.33575227e-01 5.65900890e-01 7.12615935e-01 8.17412396e-01 4.82063721e-01 6.07819474e-01 5.65900890e-01 7.54534520e-01 6.91656643e-01 9.85086734e-01 6.91656643e-01 6.28778766e-01 7.54534520e-01 7.33575227e-01 7.33575227e-01 7.96453104e-01 7.75493812e-01 7.12615935e-01 6.91656643e-01 6.49738059e-01 8.38371688e-01 8.17412396e-01 6.70697351e-01 5.86860182e-01 6.70697351e-01 6.49738059e-01 6.91656643e-01 6.07819474e-01 4.40145136e-01 6.07819474e-01 6.07819474e-01 5.44941597e-01 5.23982305e-01 5.65900890e-01 4.82063721e-01 5.44941597e-01 6.49738059e-01 7.33575227e-01 4.40145136e-01 6.70697351e-01 5.86860182e-01 5.23982305e-01 7.33575227e-01 5.65900890e-01 6.28778766e-01 7.54534520e-01 8.38371688e-01 1.06892390e+00 6.49738059e-01 7.33575227e-01 5.03023013e-01 1.04796461e+00 5.03023013e-01 4.82063721e-01 8.59330981e-01 8.17412396e-01 7.12615935e-01 5.44941597e-01 5.86860182e-01 7.96453104e-01 7.75493812e-01 5.86860182e-01 7.75493812e-01 6.28778766e-01 5.23982305e-01 7.12615935e-01 6.91656643e-01 7.12615935e-01 4.82063721e-01 6.91656643e-01 5.86860182e-01 5.65900890e-01 5.23982305e-01 6.70697351e-01 7.54534520e-01 6.49738059e-01 6.70697351e-01 7.33575227e-01 9.22208857e-01 6.70697351e-01 6.07819474e-01 4.82063721e-01 5.03023013e-01 5.23982305e-01 7.12615935e-01 5.44941597e-01 6.91656643e-01 5.44941597e-01 4.82063721e-01 6.28778766e-01 6.70697351e-01 6.28778766e-01 3.56307968e-01 7.75493812e-01 5.86860182e-01 4.19185844e-01 6.07819474e-01 6.28778766e-01 6.28778766e-01 5.86860182e-01 4.19185844e-01 4.40145136e-01 6.28778766e-01 5.86860182e-01 6.70697351e-01 5.44941597e-01 6.07819474e-01 5.65900890e-01 6.49738059e-01 6.91656643e-01 5.44941597e-01 6.28778766e-01 6.28778766e-01 5.86860182e-01 6.49738059e-01 6.91656643e-01 6.70697351e-01 6.07819474e-01 9.22208857e-01 8.38371688e-01 5.23982305e-01 4.82063721e-01 7.96453104e-01 5.86860182e-01 5.03023013e-01 7.12615935e-01 6.28778766e-01 6.07819474e-01 5.23982305e-01 6.70697351e-01 7.54534520e-01 6.07819474e-01 4.82063721e-01 8.80290273e-01 6.70697351e-01 7.12615935e-01 5.23982305e-01 6.07819474e-01 5.86860182e-01 7.12615935e-01 5.23982305e-01 7.33575227e-01 7.96453104e-01 6.70697351e-01 6.28778766e-01 6.70697351e-01 7.12615935e-01 6.91656643e-01 8.17412396e-01 6.49738059e-01 7.12615935e-01 6.28778766e-01 6.70697351e-01 7.12615935e-01 7.33575227e-01 5.65900890e-01 5.03023013e-01 5.65900890e-01 7.12615935e-01 6.70697351e-01 7.54534520e-01 7.54534520e-01 6.07819474e-01 5.44941597e-01 6.49738059e-01 6.70697351e-01 5.86860182e-01 6.70697351e-01 8.17412396e-01 5.86860182e-01 6.49738059e-01 5.23982305e-01 4.61104429e-01 3.14389383e-01 5.44941597e-01 4.61104429e-01 5.86860182e-01 4.40145136e-01 6.49738059e-01 5.23982305e-01 4.61104429e-01 2.93430091e-01 4.19185844e-01 4.82063721e-01 6.91656643e-01 6.70697351e-01 4.19185844e-01 6.91656643e-01 6.07819474e-01 7.96453104e-01 5.03023013e-01 6.28778766e-01 7.75493812e-01 9.85086734e-01 5.65900890e-01 4.40145136e-01 6.49738059e-01 5.44941597e-01 5.44941597e-01 7.33575227e-01 4.82063721e-01 4.19185844e-01 5.23982305e-01 5.03023013e-01 7.12615935e-01 6.70697351e-01 5.44941597e-01 6.70697351e-01 6.49738059e-01 3.14389383e-01 7.75493812e-01 4.61104429e-01 6.49738059e-01 5.03023013e-01 5.44941597e-01 3.77267260e-01 5.44941597e-01 5.86860182e-01 5.23982305e-01 6.49738059e-01 6.07819474e-01 7.96453104e-01 7.75493812e-01 7.75493812e-01 5.65900890e-01 4.82063721e-01 6.28778766e-01 4.19185844e-01 6.49738059e-01 5.03023013e-01 5.65900890e-01 7.33575227e-01 5.65900890e-01 4.61104429e-01 6.49738059e-01 4.61104429e-01 5.65900890e-01 4.40145136e-01 4.82063721e-01 6.70697351e-01 4.61104429e-01 5.23982305e-01 5.86860182e-01 5.23982305e-01 5.65900890e-01 6.28778766e-01 5.03023013e-01 3.98226552e-01 5.44941597e-01 6.49738059e-01 5.86860182e-01 5.86860182e-01 5.65900890e-01 4.61104429e-01 6.28778766e-01 6.49738059e-01 3.14389383e-01 4.40145136e-01 6.49738059e-01 7.33575227e-01 5.03023013e-01 4.82063721e-01 6.70697351e-01 4.82063721e-01 7.54534520e-01 5.65900890e-01 7.54534520e-01 5.03023013e-01 6.91656643e-01 5.65900890e-01 8.17412396e-01 5.44941597e-01 6.07819474e-01 6.91656643e-01 7.33575227e-01 5.86860182e-01 5.86860182e-01 6.07819474e-01 4.82063721e-01 5.86860182e-01 5.44941597e-01 7.54534520e-01 3.56307968e-01 5.03023013e-01 5.65900890e-01 5.03023013e-01 5.23982305e-01 8.38371688e-01 6.91656643e-01 6.49738059e-01 4.82063721e-01 6.28778766e-01 6.07819474e-01 4.82063721e-01 4.19185844e-01 5.03023013e-01 4.19185844e-01 3.77267260e-01 3.77267260e-01 5.65900890e-01 5.86860182e-01 2.30552214e-01 3.98226552e-01 3.98226552e-01 5.44941597e-01 3.56307968e-01 5.44941597e-01 4.82063721e-01 7.54534520e-01 6.49738059e-01 7.75493812e-01 5.03023013e-01 4.40145136e-01 5.23982305e-01 4.61104429e-01 6.28778766e-01 6.28778766e-01 4.40145136e-01 5.23982305e-01 4.82063721e-01 6.28778766e-01 5.23982305e-01 5.03023013e-01 6.91656643e-01 5.65900890e-01 6.91656643e-01 7.96453104e-01 5.86860182e-01 5.23982305e-01 4.19185844e-01 5.44941597e-01 3.98226552e-01 5.44941597e-01 3.77267260e-01 7.33575227e-01 5.86860182e-01 5.44941597e-01 3.77267260e-01 5.03023013e-01 6.07819474e-01 3.98226552e-01 6.49738059e-01 6.28778766e-01 5.03023013e-01 4.19185844e-01 6.91656643e-01 6.49738059e-01 4.61104429e-01 4.19185844e-01 6.07819474e-01 3.77267260e-01 4.61104429e-01 5.44941597e-01 5.86860182e-01 4.40145136e-01 6.28778766e-01 6.07819474e-01 2.72470799e-01 5.65900890e-01 5.03023013e-01 3.77267260e-01 3.56307968e-01 5.03023013e-01 7.54534520e-01 5.44941597e-01 4.82063721e-01 6.49738059e-01 4.61104429e-01 3.98226552e-01 3.98226552e-01 6.91656643e-01 3.56307968e-01 5.03023013e-01 4.61104429e-01 5.86860182e-01 6.91656643e-01 6.28778766e-01 3.77267260e-01 5.03023013e-01 5.03023013e-01 5.44941597e-01 5.23982305e-01 4.82063721e-01 3.77267260e-01 4.40145136e-01 4.19185844e-01 4.82063721e-01 5.23982305e-01 5.03023013e-01 4.40145136e-01 5.44941597e-01 3.56307968e-01 5.03023013e-01 6.07819474e-01 5.86860182e-01 6.49738059e-01 5.44941597e-01 6.49738059e-01 5.03023013e-01 5.23982305e-01 4.61104429e-01 6.07819474e-01 4.61104429e-01 5.03023013e-01 5.44941597e-01 5.23982305e-01 4.19185844e-01 5.23982305e-01 5.44941597e-01 5.65900890e-01 4.40145136e-01 3.56307968e-01 4.19185844e-01 5.86860182e-01 5.23982305e-01 6.28778766e-01 6.49738059e-01 4.40145136e-01 5.03023013e-01 4.61104429e-01 4.61104429e-01 7.75493812e-01 5.23982305e-01 5.86860182e-01 4.19185844e-01 3.56307968e-01 3.98226552e-01 4.19185844e-01 4.82063721e-01 5.65900890e-01 6.28778766e-01 5.44941597e-01 5.03023013e-01 5.23982305e-01 3.35348675e-01 5.03023013e-01 3.35348675e-01 4.61104429e-01 5.44941597e-01 5.03023013e-01 5.44941597e-01 5.86860182e-01 7.75493812e-01 7.33575227e-01 3.56307968e-01 6.07819474e-01 5.03023013e-01 5.03023013e-01 5.65900890e-01 4.61104429e-01 5.23982305e-01 3.77267260e-01 2.93430091e-01 5.65900890e-01 4.61104429e-01 5.65900890e-01 5.23982305e-01 4.40145136e-01 4.40145136e-01 3.56307968e-01 5.65900890e-01 6.07819474e-01 5.03023013e-01 6.91656643e-01 3.98226552e-01 4.19185844e-01 4.19185844e-01 4.82063721e-01 6.28778766e-01 4.19185844e-01 5.03023013e-01 5.03023013e-01 3.56307968e-01 6.07819474e-01 4.40145136e-01 5.03023013e-01 3.98226552e-01 5.03023013e-01 7.54534520e-01 6.49738059e-01 3.14389383e-01 5.23982305e-01 4.40145136e-01 3.56307968e-01 6.07819474e-01 2.72470799e-01 3.35348675e-01 4.40145136e-01 6.70697351e-01 5.23982305e-01 3.77267260e-01 7.12615935e-01 5.44941597e-01 4.61104429e-01 5.03023013e-01 3.77267260e-01 5.03023013e-01 5.23982305e-01 5.44941597e-01 5.65900890e-01 4.82063721e-01 5.03023013e-01 4.82063721e-01 4.82063721e-01 5.03023013e-01 4.40145136e-01 4.40145136e-01 4.82063721e-01 5.44941597e-01 6.07819474e-01 5.23982305e-01 4.40145136e-01 5.23982305e-01 4.40145136e-01 4.19185844e-01 3.98226552e-01 3.56307968e-01 7.75493812e-01 5.03023013e-01 5.23982305e-01 3.35348675e-01 4.19185844e-01 3.77267260e-01 3.14389383e-01 4.40145136e-01 5.23982305e-01 4.61104429e-01 3.56307968e-01 5.86860182e-01 5.65900890e-01 5.65900890e-01 7.75493812e-01 4.61104429e-01 5.44941597e-01 3.77267260e-01 4.40145136e-01 7.33575227e-01 7.12615935e-01 5.23982305e-01 5.86860182e-01 5.44941597e-01 4.19185844e-01 4.61104429e-01 3.98226552e-01 3.77267260e-01 3.98226552e-01 4.82063721e-01 5.65900890e-01 5.03023013e-01 3.35348675e-01 4.82063721e-01 3.56307968e-01 3.35348675e-01 3.35348675e-01 3.98226552e-01 4.61104429e-01 4.61104429e-01 4.19185844e-01 4.61104429e-01 4.40145136e-01 5.65900890e-01 3.77267260e-01 3.14389383e-01 5.44941597e-01 3.77267260e-01 5.65900890e-01 4.40145136e-01 4.61104429e-01 3.98226552e-01 3.77267260e-01 5.03023013e-01 7.75493812e-01 3.56307968e-01 6.07819474e-01 4.40145136e-01 6.49738059e-01 5.03023013e-01 5.44941597e-01 4.19185844e-01 4.61104429e-01 6.28778766e-01 3.98226552e-01 4.82063721e-01 3.77267260e-01 6.07819474e-01 3.98226552e-01 4.61104429e-01 2.93430091e-01 4.19185844e-01 5.65900890e-01 3.77267260e-01 6.49738059e-01 5.44941597e-01 3.77267260e-01 3.77267260e-01 3.56307968e-01 5.86860182e-01 4.19185844e-01 5.65900890e-01 3.35348675e-01 3.98226552e-01 3.77267260e-01 5.86860182e-01 3.14389383e-01 4.61104429e-01 3.35348675e-01 6.91656643e-01 2.93430091e-01 4.40145136e-01 4.19185844e-01 4.61104429e-01 3.35348675e-01 4.61104429e-01 4.19185844e-01 4.40145136e-01 4.61104429e-01 5.44941597e-01 3.77267260e-01 4.40145136e-01 3.98226552e-01 6.07819474e-01 4.61104429e-01 4.19185844e-01 3.56307968e-01 5.03023013e-01 3.14389383e-01 2.93430091e-01 4.82063721e-01 4.19185844e-01 5.65900890e-01 5.65900890e-01 4.40145136e-01 4.61104429e-01 4.19185844e-01 4.19185844e-01 5.86860182e-01 3.56307968e-01 3.35348675e-01 5.23982305e-01 5.03023013e-01 3.77267260e-01 4.40145136e-01 3.98226552e-01 3.98226552e-01 3.35348675e-01 3.35348675e-01 4.19185844e-01 6.49738059e-01 5.44941597e-01 4.82063721e-01 5.65900890e-01 4.40145136e-01 4.19185844e-01 4.61104429e-01 4.19185844e-01 4.40145136e-01 3.77267260e-01 5.44941597e-01 3.77267260e-01 2.93430091e-01 4.19185844e-01 5.03023013e-01 2.72470799e-01 4.40145136e-01 3.77267260e-01 4.19185844e-01 4.19185844e-01 4.61104429e-01 3.56307968e-01 4.82063721e-01 3.14389383e-01 4.19185844e-01 2.30552214e-01 4.19185844e-01 5.23982305e-01 4.19185844e-01 4.19185844e-01 3.77267260e-01 4.61104429e-01 4.19185844e-01 5.44941597e-01 4.40145136e-01 5.44941597e-01 2.51511507e-01 5.23982305e-01 5.23982305e-01 6.70697351e-01 3.98226552e-01 3.35348675e-01 3.98226552e-01 3.35348675e-01 4.61104429e-01 3.35348675e-01 5.03023013e-01 4.19185844e-01 2.93430091e-01 4.19185844e-01 3.56307968e-01 4.40145136e-01 4.61104429e-01 3.35348675e-01 4.40145136e-01 4.19185844e-01 5.23982305e-01 4.61104429e-01 3.56307968e-01 3.35348675e-01 4.82063721e-01 3.35348675e-01 4.82063721e-01 2.51511507e-01 5.03023013e-01 5.23982305e-01 3.77267260e-01 5.03023013e-01 3.77267260e-01 4.61104429e-01 3.77267260e-01 2.93430091e-01 4.40145136e-01 5.03023013e-01 4.61104429e-01 3.77267260e-01 4.82063721e-01 3.77267260e-01 4.40145136e-01 3.56307968e-01 3.77267260e-01 4.61104429e-01 3.14389383e-01 3.56307968e-01 2.30552214e-01 2.93430091e-01 3.14389383e-01 3.35348675e-01 3.77267260e-01 5.23982305e-01 3.77267260e-01 3.98226552e-01 5.03023013e-01 3.35348675e-01 3.98226552e-01 4.19185844e-01 3.35348675e-01 3.98226552e-01 3.77267260e-01 3.35348675e-01 4.82063721e-01 3.35348675e-01 3.14389383e-01 3.77267260e-01 8.38371688e-01 3.35348675e-01 3.14389383e-01 2.72470799e-01 4.82063721e-01 6.07819474e-01 4.61104429e-01 3.14389383e-01 4.40145136e-01 3.56307968e-01 4.19185844e-01 3.77267260e-01 3.56307968e-01 3.77267260e-01 5.03023013e-01 3.77267260e-01 5.03023013e-01 4.61104429e-01 3.56307968e-01 2.93430091e-01 2.72470799e-01 3.14389383e-01 4.82063721e-01 3.35348675e-01 4.61104429e-01 5.23982305e-01 5.03023013e-01 5.03023013e-01 5.44941597e-01 3.35348675e-01 6.91656643e-01 4.19185844e-01 3.14389383e-01 5.03023013e-01 5.03023013e-01 5.03023013e-01 4.40145136e-01 1.67674338e-01 2.72470799e-01 2.72470799e-01 5.86860182e-01 5.03023013e-01 4.82063721e-01 5.23982305e-01 2.93430091e-01 4.61104429e-01 2.72470799e-01 4.19185844e-01 4.82063721e-01 3.35348675e-01 4.61104429e-01 3.35348675e-01 4.19185844e-01 2.30552214e-01 5.03023013e-01 4.19185844e-01 3.77267260e-01 3.56307968e-01 4.61104429e-01 4.19185844e-01 2.09592922e-01 4.19185844e-01 4.61104429e-01 5.03023013e-01 5.03023013e-01 3.98226552e-01 3.56307968e-01 3.77267260e-01 3.77267260e-01 2.72470799e-01 4.19185844e-01 3.98226552e-01 3.77267260e-01 5.03023013e-01 4.61104429e-01 4.61104429e-01 4.40145136e-01 5.65900890e-01 4.19185844e-01 3.14389383e-01 4.61104429e-01 3.14389383e-01 3.35348675e-01 4.40145136e-01 4.82063721e-01 2.09592922e-01 5.23982305e-01 5.03023013e-01 3.56307968e-01 4.19185844e-01 3.14389383e-01 3.14389383e-01 4.61104429e-01 3.56307968e-01 4.82063721e-01 2.72470799e-01 4.82063721e-01 3.77267260e-01 5.23982305e-01 2.30552214e-01 3.77267260e-01 2.93430091e-01 1.46715045e-01 3.77267260e-01 2.72470799e-01 3.56307968e-01 2.93430091e-01 3.35348675e-01 3.77267260e-01 3.56307968e-01 2.72470799e-01 4.40145136e-01 5.03023013e-01 3.14389383e-01 3.14389383e-01 3.98226552e-01 5.65900890e-01 5.23982305e-01 3.56307968e-01 4.82063721e-01 3.56307968e-01 3.35348675e-01 2.93430091e-01 4.82063721e-01 2.93430091e-01 2.93430091e-01 3.56307968e-01 4.19185844e-01 3.35348675e-01 4.19185844e-01 4.40145136e-01 3.98226552e-01 3.77267260e-01 3.77267260e-01 2.72470799e-01 3.35348675e-01 2.93430091e-01 2.72470799e-01 3.35348675e-01 4.82063721e-01 3.35348675e-01 2.72470799e-01 3.98226552e-01 3.56307968e-01 3.77267260e-01 4.82063721e-01 3.56307968e-01 4.61104429e-01 2.51511507e-01 4.40145136e-01 3.56307968e-01 4.61104429e-01 2.72470799e-01 2.93430091e-01 3.98226552e-01 3.35348675e-01 4.19185844e-01 2.72470799e-01 4.82063721e-01 2.09592922e-01 3.77267260e-01 3.35348675e-01 2.30552214e-01 3.77267260e-01 2.30552214e-01 4.19185844e-01 4.61104429e-01 5.23982305e-01 2.72470799e-01 1.04796461e-01 3.14389383e-01 2.93430091e-01 2.93430091e-01 4.82063721e-01 2.93430091e-01 5.03023013e-01 3.77267260e-01 6.49738059e-01 5.44941597e-01 3.98226552e-01 3.14389383e-01 2.93430091e-01 3.98226552e-01 3.77267260e-01 2.30552214e-01 3.14389383e-01 4.19185844e-01 3.35348675e-01 4.82063721e-01 3.35348675e-01 3.98226552e-01 4.19185844e-01 4.61104429e-01 2.93430091e-01 3.56307968e-01 3.56307968e-01 3.14389383e-01 3.35348675e-01 4.40145136e-01 5.03023013e-01 3.98226552e-01 5.23982305e-01 4.19185844e-01 3.77267260e-01 4.61104429e-01 4.61104429e-01 1.88633630e-01 3.56307968e-01 2.93430091e-01 2.51511507e-01 4.40145136e-01 3.35348675e-01 3.77267260e-01 2.72470799e-01 3.56307968e-01 3.56307968e-01 3.98226552e-01 4.61104429e-01 3.14389383e-01 2.72470799e-01 3.56307968e-01 4.19185844e-01 4.61104429e-01 3.56307968e-01 3.35348675e-01 2.72470799e-01 3.56307968e-01 3.35348675e-01 3.98226552e-01 3.35348675e-01 2.30552214e-01 3.77267260e-01 2.72470799e-01 2.30552214e-01 3.77267260e-01 3.35348675e-01 3.14389383e-01 2.09592922e-01 5.23982305e-01 3.98226552e-01 3.14389383e-01 2.09592922e-01 2.30552214e-01 4.19185844e-01 4.19185844e-01 2.93430091e-01 2.51511507e-01 4.40145136e-01 3.14389383e-01 2.51511507e-01 5.03023013e-01 4.19185844e-01 2.09592922e-01 2.93430091e-01 2.51511507e-01 4.61104429e-01 2.51511507e-01 3.77267260e-01 2.72470799e-01 3.35348675e-01 3.56307968e-01 3.77267260e-01 3.35348675e-01 2.30552214e-01 2.93430091e-01 3.98226552e-01 2.93430091e-01 2.30552214e-01 3.14389383e-01 1.88633630e-01 3.56307968e-01 3.35348675e-01 3.14389383e-01 4.19185844e-01 1.88633630e-01 3.35348675e-01 3.14389383e-01 2.51511507e-01 2.72470799e-01 4.19185844e-01 3.56307968e-01 4.82063721e-01 3.56307968e-01 4.19185844e-01 2.09592922e-01 3.77267260e-01 1.88633630e-01 3.56307968e-01 3.98226552e-01 3.56307968e-01 2.93430091e-01 3.35348675e-01 1.88633630e-01 3.35348675e-01 3.56307968e-01 3.98226552e-01 2.93430091e-01 4.61104429e-01 4.40145136e-01 3.14389383e-01 5.23982305e-01 3.14389383e-01 4.19185844e-01 3.35348675e-01 4.40145136e-01 3.35348675e-01 3.14389383e-01 2.09592922e-01 3.98226552e-01 3.77267260e-01 3.77267260e-01 3.14389383e-01 4.40145136e-01 2.72470799e-01 3.14389383e-01 2.51511507e-01 5.65900890e-01 5.23982305e-01 3.35348675e-01 3.98226552e-01 3.98226552e-01 3.77267260e-01 3.77267260e-01 4.61104429e-01 2.51511507e-01 2.30552214e-01 2.72470799e-01 3.98226552e-01 3.35348675e-01 3.77267260e-01 3.14389383e-01 3.56307968e-01 1.67674338e-01 3.56307968e-01 2.30552214e-01 2.51511507e-01 2.72470799e-01 3.98226552e-01 3.56307968e-01 3.77267260e-01 3.77267260e-01 2.51511507e-01 3.14389383e-01 3.56307968e-01 4.61104429e-01 3.35348675e-01 2.93430091e-01 3.35348675e-01 3.35348675e-01 1.88633630e-01 2.93430091e-01 4.19185844e-01 2.30552214e-01 4.40145136e-01 3.35348675e-01 2.30552214e-01 4.40145136e-01 5.03023013e-01 3.56307968e-01 2.30552214e-01 5.23982305e-01 3.56307968e-01 2.93430091e-01 3.35348675e-01 4.40145136e-01 2.51511507e-01 4.40145136e-01 3.14389383e-01 2.93430091e-01 3.14389383e-01 2.51511507e-01 3.56307968e-01 3.77267260e-01 3.56307968e-01 3.14389383e-01 2.72470799e-01 3.35348675e-01 2.93430091e-01 5.03023013e-01 2.93430091e-01 3.14389383e-01 2.93430091e-01 2.30552214e-01 1.67674338e-01 2.30552214e-01 3.14389383e-01 2.93430091e-01 4.40145136e-01 4.19185844e-01 3.77267260e-01 3.56307968e-01 2.51511507e-01 1.88633630e-01 2.93430091e-01 4.40145136e-01 4.19185844e-01 2.51511507e-01 4.19185844e-01 5.23982305e-01 2.72470799e-01 3.14389383e-01 2.51511507e-01 3.98226552e-01 3.56307968e-01 3.35348675e-01 3.56307968e-01 2.09592922e-01 3.77267260e-01 3.35348675e-01 3.98226552e-01 2.09592922e-01 3.14389383e-01 2.72470799e-01 3.14389383e-01 3.77267260e-01 3.77267260e-01 5.03023013e-01 3.35348675e-01 3.56307968e-01 2.72470799e-01 3.56307968e-01 1.46715045e-01 2.93430091e-01 2.93430091e-01 3.56307968e-01 3.14389383e-01 3.98226552e-01 3.56307968e-01 2.51511507e-01 3.98226552e-01 3.98226552e-01 3.35348675e-01 2.09592922e-01 2.93430091e-01 3.14389383e-01 4.82063721e-01 2.30552214e-01 4.61104429e-01 2.30552214e-01 2.93430091e-01 3.98226552e-01 3.35348675e-01 2.09592922e-01 2.09592922e-01 3.14389383e-01 4.40145136e-01 3.77267260e-01 2.09592922e-01 3.14389383e-01 1.88633630e-01 1.88633630e-01 4.40145136e-01 2.30552214e-01 3.14389383e-01 2.93430091e-01 1.04796461e-01 3.98226552e-01 3.77267260e-01 4.19185844e-01 4.19185844e-01 3.98226552e-01 3.14389383e-01 4.19185844e-01 3.56307968e-01 3.35348675e-01 2.72470799e-01 2.30552214e-01 3.98226552e-01 2.93430091e-01 4.61104429e-01 4.40145136e-01 2.51511507e-01 2.09592922e-01 3.56307968e-01 2.30552214e-01 3.35348675e-01 2.51511507e-01 2.30552214e-01 3.14389383e-01 2.72470799e-01 5.23982305e-01 4.82063721e-01 4.40145136e-01 2.51511507e-01 1.46715045e-01 2.93430091e-01 2.72470799e-01 4.19185844e-01 2.72470799e-01 2.09592922e-01 5.44941597e-01 3.77267260e-01 2.72470799e-01 3.35348675e-01 3.35348675e-01 2.93430091e-01 2.93430091e-01 3.56307968e-01 3.14389383e-01 3.14389383e-01 2.72470799e-01 3.35348675e-01 2.30552214e-01 2.09592922e-01 3.56307968e-01 3.98226552e-01 3.35348675e-01 2.93430091e-01 3.35348675e-01 1.88633630e-01 5.65900890e-01 2.09592922e-01 4.19185844e-01 3.35348675e-01 3.77267260e-01 2.51511507e-01 2.93430091e-01 2.09592922e-01 2.51511507e-01 2.72470799e-01 3.56307968e-01 3.56307968e-01 3.14389383e-01 2.30552214e-01 3.98226552e-01 2.72470799e-01 1.88633630e-01 3.77267260e-01 3.35348675e-01 3.56307968e-01 2.09592922e-01 3.14389383e-01 4.61104429e-01 2.93430091e-01 2.72470799e-01 2.72470799e-01 2.72470799e-01 3.77267260e-01 3.98226552e-01 3.14389383e-01 3.56307968e-01 3.98226552e-01 2.30552214e-01 4.19185844e-01 1.88633630e-01 2.51511507e-01 3.14389383e-01 2.51511507e-01 2.09592922e-01 1.88633630e-01 3.56307968e-01 3.56307968e-01 2.93430091e-01 2.93430091e-01 3.14389383e-01 3.14389383e-01 3.14389383e-01 2.72470799e-01 2.51511507e-01 1.88633630e-01 4.40145136e-01 3.14389383e-01 2.09592922e-01 2.72470799e-01 3.35348675e-01 4.40145136e-01 2.93430091e-01 4.19185844e-01 2.93430091e-01 3.35348675e-01 2.51511507e-01 2.72470799e-01 3.56307968e-01 2.93430091e-01 2.72470799e-01 3.56307968e-01 3.77267260e-01 5.44941597e-01 3.77267260e-01 3.35348675e-01 3.77267260e-01 3.77267260e-01 2.93430091e-01 3.56307968e-01 3.56307968e-01 3.14389383e-01 2.93430091e-01 3.14389383e-01 3.35348675e-01 3.56307968e-01 1.88633630e-01 2.51511507e-01 2.30552214e-01 2.30552214e-01 2.93430091e-01 2.30552214e-01 3.14389383e-01 2.93430091e-01 2.93430091e-01 3.56307968e-01 3.14389383e-01 2.09592922e-01 3.35348675e-01 2.93430091e-01 2.72470799e-01 2.51511507e-01 3.35348675e-01 3.14389383e-01 2.30552214e-01 3.35348675e-01 1.88633630e-01 3.56307968e-01 5.44941597e-01 3.77267260e-01 2.72470799e-01 3.35348675e-01 3.77267260e-01 1.88633630e-01 2.72470799e-01 4.19185844e-01 4.40145136e-01 2.72470799e-01 2.09592922e-01 6.07819474e-01 3.35348675e-01 2.93430091e-01 2.72470799e-01 2.93430091e-01 2.93430091e-01 2.93430091e-01 2.72470799e-01 2.51511507e-01 2.93430091e-01 2.93430091e-01 4.61104429e-01 3.56307968e-01 3.35348675e-01 2.09592922e-01 1.88633630e-01 2.93430091e-01 4.19185844e-01 2.51511507e-01 2.72470799e-01 4.61104429e-01 3.35348675e-01 1.46715045e-01 5.44941597e-01 2.93430091e-01 4.19185844e-01 2.09592922e-01 3.56307968e-01 1.67674338e-01 2.72470799e-01 3.56307968e-01 3.56307968e-01 3.56307968e-01 2.51511507e-01 4.19185844e-01 2.72470799e-01 2.93430091e-01 3.14389383e-01 2.09592922e-01 3.98226552e-01 2.93430091e-01 2.09592922e-01 2.72470799e-01 3.35348675e-01 2.72470799e-01 2.93430091e-01 3.35348675e-01 2.30552214e-01 2.30552214e-01 3.14389383e-01 3.14389383e-01 3.14389383e-01 3.14389383e-01 3.14389383e-01 3.98226552e-01 1.67674338e-01 2.30552214e-01 2.30552214e-01 2.51511507e-01 3.14389383e-01 2.72470799e-01 2.72470799e-01 2.51511507e-01 2.72470799e-01 1.67674338e-01 2.93430091e-01 2.72470799e-01 4.40145136e-01 3.35348675e-01 3.98226552e-01 2.93430091e-01 2.51511507e-01 3.77267260e-01 3.77267260e-01 2.51511507e-01 3.98226552e-01 2.72470799e-01 4.82063721e-01 2.72470799e-01 3.77267260e-01 3.14389383e-01 3.56307968e-01 3.35348675e-01 3.14389383e-01 2.51511507e-01 3.56307968e-01 2.93430091e-01 1.88633630e-01 1.88633630e-01 1.88633630e-01 2.93430091e-01 2.30552214e-01 3.98226552e-01 3.98226552e-01 3.35348675e-01 3.77267260e-01 3.77267260e-01 3.14389383e-01 3.56307968e-01 3.98226552e-01 3.35348675e-01 3.77267260e-01 3.35348675e-01 2.93430091e-01 3.98226552e-01 2.72470799e-01 1.67674338e-01 3.56307968e-01 2.09592922e-01 3.77267260e-01 3.14389383e-01 3.56307968e-01 2.93430091e-01 2.09592922e-01 2.93430091e-01 2.30552214e-01 2.93430091e-01 3.35348675e-01 2.72470799e-01 2.93430091e-01 2.51511507e-01 3.98226552e-01 4.82063721e-01 3.14389383e-01 3.56307968e-01 2.09592922e-01 2.51511507e-01 4.40145136e-01 8.38371688e-02 3.77267260e-01 3.14389383e-01 2.72470799e-01 2.51511507e-01 1.88633630e-01 2.51511507e-01 2.72470799e-01 2.51511507e-01 2.51511507e-01 2.51511507e-01 3.14389383e-01 2.93430091e-01 3.35348675e-01 3.56307968e-01 1.88633630e-01 3.56307968e-01 3.77267260e-01 3.35348675e-01 4.82063721e-01 2.09592922e-01 3.56307968e-01 2.09592922e-01 5.23982305e-01 3.14389383e-01 3.98226552e-01 2.72470799e-01 2.51511507e-01 3.56307968e-01 4.19185844e-01 5.03023013e-01 3.56307968e-01 1.67674338e-01 4.19185844e-01 3.77267260e-01 4.40145136e-01 3.56307968e-01 3.35348675e-01 2.93430091e-01 1.88633630e-01 2.93430091e-01 2.51511507e-01 3.77267260e-01 2.30552214e-01 1.46715045e-01 4.19185844e-01 5.44941597e-01 2.51511507e-01 3.35348675e-01 3.14389383e-01 2.30552214e-01 3.56307968e-01 2.93430091e-01 1.67674338e-01 3.77267260e-01 2.93430091e-01 3.98226552e-01 2.72470799e-01 3.35348675e-01 2.30552214e-01 2.30552214e-01 2.09592922e-01 2.51511507e-01 2.93430091e-01 2.93430091e-01 4.40145136e-01 3.14389383e-01 1.25755753e-01 2.51511507e-01 3.35348675e-01 2.51511507e-01 3.98226552e-01 2.72470799e-01 2.30552214e-01 2.72470799e-01 1.88633630e-01 5.03023013e-01 2.09592922e-01 2.30552214e-01 2.30552214e-01 3.14389383e-01 5.03023013e-01 1.67674338e-01 4.40145136e-01 1.67674338e-01 3.35348675e-01 3.35348675e-01 3.98226552e-01 3.77267260e-01 2.30552214e-01 2.72470799e-01 3.35348675e-01 2.72470799e-01 3.98226552e-01 1.67674338e-01 3.35348675e-01 2.72470799e-01 2.30552214e-01 2.51511507e-01 3.56307968e-01 3.56307968e-01 2.51511507e-01 2.09592922e-01 2.72470799e-01 3.98226552e-01 3.35348675e-01 2.51511507e-01 3.14389383e-01 3.77267260e-01 2.30552214e-01 2.09592922e-01 2.09592922e-01 2.51511507e-01 2.72470799e-01 2.09592922e-01 3.56307968e-01 3.14389383e-01 4.19185844e-01 2.30552214e-01 1.46715045e-01 3.14389383e-01 1.46715045e-01 4.19185844e-01 2.51511507e-01 1.88633630e-01 2.72470799e-01 3.35348675e-01 3.77267260e-01 2.09592922e-01 2.09592922e-01 2.93430091e-01 2.30552214e-01 1.88633630e-01 3.35348675e-01 2.72470799e-01 2.72470799e-01 2.93430091e-01 3.14389383e-01 3.35348675e-01 2.51511507e-01 2.72470799e-01 1.88633630e-01 3.35348675e-01 3.56307968e-01 3.35348675e-01 4.40145136e-01 3.77267260e-01 1.67674338e-01 3.77267260e-01 2.72470799e-01 1.04796461e-01 2.72470799e-01 2.72470799e-01 1.25755753e-01 2.51511507e-01 5.03023013e-01 2.72470799e-01 3.14389383e-01 3.14389383e-01 3.98226552e-01 2.51511507e-01 4.82063721e-01 1.25755753e-01 3.98226552e-01 3.14389383e-01 2.30552214e-01 3.56307968e-01 2.93430091e-01 3.77267260e-01 3.35348675e-01 1.67674338e-01 1.67674338e-01 2.72470799e-01 3.98226552e-01 2.51511507e-01 3.77267260e-01 3.77267260e-01 3.14389383e-01 2.51511507e-01 3.14389383e-01 1.88633630e-01 3.98226552e-01 2.51511507e-01 4.61104429e-01 2.51511507e-01 2.30552214e-01 2.30552214e-01 2.30552214e-01 2.72470799e-01 3.14389383e-01 2.30552214e-01 2.51511507e-01 2.30552214e-01 3.35348675e-01 1.88633630e-01 4.19185844e-01 1.88633630e-01 2.72470799e-01 2.30552214e-01 5.03023013e-01 2.51511507e-01 2.51511507e-01 2.93430091e-01 2.09592922e-01 3.14389383e-01 3.14389383e-01 6.28778766e-02 3.14389383e-01 4.40145136e-01 3.14389383e-01 2.30552214e-01 1.67674338e-01 3.14389383e-01 2.93430091e-01 2.93430091e-01 3.35348675e-01 2.30552214e-01 2.93430091e-01 1.46715045e-01 2.93430091e-01 4.19185844e-01 2.93430091e-01 2.93430091e-01 3.56307968e-01 3.14389383e-01 2.72470799e-01 3.14389383e-01 2.30552214e-01 1.67674338e-01 3.56307968e-01 2.51511507e-01 1.46715045e-01 1.46715045e-01 2.72470799e-01 3.98226552e-01 4.19185844e-01 3.14389383e-01 2.72470799e-01 3.14389383e-01 2.72470799e-01 2.72470799e-01 2.93430091e-01 3.56307968e-01 8.38371688e-02 2.72470799e-01 5.03023013e-01 3.14389383e-01 2.93430091e-01 3.56307968e-01 3.14389383e-01 2.51511507e-01 1.88633630e-01 3.35348675e-01 2.72470799e-01 1.46715045e-01 4.40145136e-01 3.14389383e-01 3.35348675e-01 1.88633630e-01 3.98226552e-01 2.72470799e-01 2.51511507e-01 2.93430091e-01 3.56307968e-01 3.35348675e-01 3.77267260e-01 2.72470799e-01 2.30552214e-01 2.72470799e-01 3.77267260e-01 2.51511507e-01 1.46715045e-01 4.40145136e-01 4.19185844e-01 2.93430091e-01 3.35348675e-01 3.35348675e-01 2.72470799e-01 3.77267260e-01 1.88633630e-01 5.03023013e-01 2.72470799e-01 2.93430091e-01 2.51511507e-01 2.72470799e-01 2.72470799e-01 3.35348675e-01 3.35348675e-01 1.04796461e-01 2.09592922e-01 3.35348675e-01 2.93430091e-01 2.93430091e-01 2.93430091e-01 2.72470799e-01 3.35348675e-01 3.77267260e-01 3.56307968e-01 4.19185844e-01 1.88633630e-01 2.09592922e-01 3.77267260e-01 2.72470799e-01 2.30552214e-01 1.67674338e-01 2.09592922e-01 1.46715045e-01 3.98226552e-01 3.77267260e-01 4.19185844e-01 3.14389383e-01 2.09592922e-01 2.93430091e-01 3.35348675e-01 1.88633630e-01 2.51511507e-01 2.72470799e-01 2.30552214e-01 3.14389383e-01 3.77267260e-01 3.14389383e-01 2.72470799e-01 2.30552214e-01 2.93430091e-01 1.67674338e-01 4.61104429e-01 2.51511507e-01 2.09592922e-01 3.35348675e-01 2.51511507e-01 2.93430091e-01 2.72470799e-01 1.88633630e-01 2.09592922e-01 2.30552214e-01 3.14389383e-01 2.09592922e-01 2.93430091e-01 2.72470799e-01 2.72470799e-01 3.77267260e-01 2.09592922e-01 2.72470799e-01 2.30552214e-01 2.72470799e-01 3.77267260e-01 3.56307968e-01 2.93430091e-01 2.51511507e-01 2.30552214e-01 2.09592922e-01 3.77267260e-01 2.51511507e-01 2.51511507e-01 2.51511507e-01 2.51511507e-01 2.30552214e-01 2.51511507e-01 2.93430091e-01 3.14389383e-01 2.30552214e-01 1.88633630e-01 1.88633630e-01 2.93430091e-01 3.98226552e-01 1.88633630e-01 4.19185844e-01 3.14389383e-01 1.46715045e-01 2.72470799e-01 2.30552214e-01 2.51511507e-01 3.77267260e-01 2.51511507e-01 3.56307968e-01 2.72470799e-01 1.67674338e-01 3.56307968e-01 2.51511507e-01 2.09592922e-01 1.88633630e-01 3.35348675e-01 1.25755753e-01 2.30552214e-01 2.09592922e-01 3.35348675e-01 2.51511507e-01 8.38371688e-02 2.30552214e-01 1.04796461e-01 2.09592922e-01 2.30552214e-01 2.72470799e-01 2.30552214e-01 3.35348675e-01 2.93430091e-01 1.46715045e-01 2.09592922e-01 1.67674338e-01 2.30552214e-01 3.14389383e-01 6.28778766e-02 2.93430091e-01 3.56307968e-01 3.98226552e-01 1.88633630e-01 6.28778766e-02 2.30552214e-01 1.46715045e-01 2.09592922e-01 2.72470799e-01 2.09592922e-01 2.09592922e-01 2.30552214e-01 1.46715045e-01 1.67674338e-01 3.77267260e-01 2.72470799e-01 1.46715045e-01 2.51511507e-01 2.72470799e-01 2.09592922e-01 2.72470799e-01 8.38371688e-02 1.46715045e-01 1.67674338e-01 1.88633630e-01 2.72470799e-01 1.46715045e-01 1.67674338e-01 3.14389383e-01 1.67674338e-01 2.30552214e-01 8.38371688e-02 1.25755753e-01 8.38371688e-02 3.35348675e-01 1.67674338e-01 2.51511507e-01 2.72470799e-01 1.25755753e-01 1.88633630e-01 2.72470799e-01 2.93430091e-01 1.46715045e-01 1.04796461e-01 1.25755753e-01 1.88633630e-01 3.77267260e-01 1.67674338e-01 1.88633630e-01 1.25755753e-01 2.09592922e-02 1.46715045e-01 2.09592922e-01 2.30552214e-01 1.04796461e-01 2.30552214e-01 6.28778766e-02 1.25755753e-01 4.19185844e-02 1.46715045e-01 6.28778766e-02 2.09592922e-01 4.19185844e-02 6.28778766e-02 2.30552214e-01 1.04796461e-01 1.25755753e-01 8.38371688e-02 1.04796461e-01 2.09592922e-02 1.25755753e-01 1.04796461e-01 8.38371688e-02 6.28778766e-02 1.46715045e-01 1.25755753e-01 1.25755753e-01 8.38371688e-02 1.25755753e-01 8.38371688e-02 1.46715045e-01 1.04796461e-01 1.04796461e-01 1.25755753e-01 8.38371688e-02 2.09592922e-02 8.38371688e-02 1.46715045e-01 4.19185844e-02 6.28778766e-02 6.28778766e-02 8.38371688e-02 2.09592922e-02 1.25755753e-01 1.04796461e-01 6.28778766e-02 1.46715045e-01 8.38371688e-02 1.04796461e-01 4.19185844e-02 6.28778766e-02 1.04796461e-01 8.38371688e-02 6.28778766e-02 8.38371688e-02 8.38371688e-02 6.28778766e-02 1.04796461e-01 6.28778766e-02 2.09592922e-02 8.38371688e-02 2.09592922e-02 2.09592922e-02 8.38371688e-02 1.04796461e-01 8.38371688e-02 4.19185844e-02 8.38371688e-02 6.28778766e-02 6.28778766e-02 1.25755753e-01 1.04796461e-01 4.19185844e-02 6.28778766e-02 8.38371688e-02 2.09592922e-02 2.09592922e-02 1.04796461e-01 6.28778766e-02 4.19185844e-02 6.28778766e-02 2.09592922e-02 1.04796461e-01 8.38371688e-02 4.19185844e-02 8.38371688e-02 0.00000000e+00 8.38371688e-02 2.09592922e-02 1.04796461e-01 4.19185844e-02 6.28778766e-02 6.28778766e-02 6.28778766e-02 4.19185844e-02 4.19185844e-02 6.28778766e-02 1.04796461e-01 6.28778766e-02 1.04796461e-01 2.09592922e-02 6.28778766e-02 6.28778766e-02 2.09592922e-02 0.00000000e+00 4.19185844e-02 4.19185844e-02 6.28778766e-02 4.19185844e-02 6.28778766e-02 8.38371688e-02 8.38371688e-02 1.25755753e-01 0.00000000e+00 2.09592922e-02 6.28778766e-02 1.04796461e-01 8.38371688e-02 2.09592922e-02 4.19185844e-02 6.28778766e-02 2.09592922e-02 6.28778766e-02 2.09592922e-02 4.19185844e-02 0.00000000e+00 0.00000000e+00 1.04796461e-01 6.28778766e-02 4.19185844e-02 2.09592922e-02 8.38371688e-02 6.28778766e-02 4.19185844e-02 6.28778766e-02 0.00000000e+00 6.28778766e-02 6.28778766e-02 4.19185844e-02 2.09592922e-02 2.09592922e-02 4.19185844e-02 8.38371688e-02 6.28778766e-02 8.38371688e-02 8.38371688e-02 2.09592922e-02 4.19185844e-02 2.09592922e-02 4.19185844e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.19185844e-02 8.38371688e-02 2.09592922e-02 0.00000000e+00 2.09592922e-02 4.19185844e-02 0.00000000e+00 4.19185844e-02 2.09592922e-02 4.19185844e-02 0.00000000e+00 4.19185844e-02 2.09592922e-02 0.00000000e+00 2.09592922e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.09592922e-02 0.00000000e+00 2.09592922e-02 2.09592922e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.09592922e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.09592922e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.09592922e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_medium_b_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_medium_b_BDTG.weights.xml index c4e33cc02fc7..5eb9bb19edf4 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_medium_b_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_medium_b_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,14 +55,14 @@ - - - - + + + + - - - + + + @@ -73,5903 +73,6002 @@ - - 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 5.83110275e-02 0.00000000e+00 2.91555137e-02 8.74665412e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 8.74665412e-02 8.74665412e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 8.74665412e-02 2.91555137e-02 1.16622055e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 5.83110275e-02 5.83110275e-02 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 8.74665412e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 8.74665412e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 5.83110275e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 5.83110275e-02 8.74665412e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 8.74665412e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 1.16622055e-01 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 8.74665412e-02 0.00000000e+00 2.91555137e-02 1.16622055e-01 0.00000000e+00 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 8.74665412e-02 8.74665412e-02 1.16622055e-01 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 5.83110275e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 5.83110275e-02 1.16622055e-01 5.83110275e-02 5.83110275e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 5.83110275e-02 8.74665412e-02 0.00000000e+00 8.74665412e-02 5.83110275e-02 5.83110275e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 8.74665412e-02 2.91555137e-02 5.83110275e-02 8.74665412e-02 1.45777569e-01 5.83110275e-02 5.83110275e-02 5.83110275e-02 8.74665412e-02 8.74665412e-02 8.74665412e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 5.83110275e-02 5.83110275e-02 5.83110275e-02 5.83110275e-02 1.16622055e-01 5.83110275e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 2.91555137e-02 8.74665412e-02 5.83110275e-02 5.83110275e-02 1.16622055e-01 5.83110275e-02 2.91555137e-02 2.91555137e-02 8.74665412e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 8.74665412e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.74665412e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.74665412e-02 0.00000000e+00 0.00000000e+00 5.83110275e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 8.74665412e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 8.74665412e-02 5.83110275e-02 1.16622055e-01 2.91555137e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 8.74665412e-02 2.91555137e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 1.16622055e-01 0.00000000e+00 2.91555137e-02 5.83110275e-02 5.83110275e-02 5.83110275e-02 5.83110275e-02 5.83110275e-02 1.16622055e-01 8.74665412e-02 5.83110275e-02 8.74665412e-02 1.16622055e-01 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 1.16622055e-01 8.74665412e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 0.00000000e+00 1.16622055e-01 2.91555137e-02 8.74665412e-02 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 5.83110275e-02 5.83110275e-02 0.00000000e+00 5.83110275e-02 0.00000000e+00 5.83110275e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.74665412e-02 5.83110275e-02 2.91555137e-02 1.16622055e-01 0.00000000e+00 5.83110275e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 2.04088596e-01 5.83110275e-02 5.83110275e-02 5.83110275e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 1.16622055e-01 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 1.16622055e-01 2.91555137e-02 0.00000000e+00 0.00000000e+00 5.83110275e-02 8.74665412e-02 0.00000000e+00 2.91555137e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 8.74665412e-02 5.83110275e-02 1.45777569e-01 2.91555137e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 8.74665412e-02 1.16622055e-01 5.83110275e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 1.45777569e-01 5.83110275e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 1.16622055e-01 2.91555137e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 1.16622055e-01 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 5.83110275e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 8.74665412e-02 0.00000000e+00 1.16622055e-01 8.74665412e-02 5.83110275e-02 8.74665412e-02 2.91555137e-02 8.74665412e-02 8.74665412e-02 8.74665412e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 1.16622055e-01 1.74933082e-01 2.91555137e-02 2.91555137e-02 2.04088596e-01 8.74665412e-02 8.74665412e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 8.74665412e-02 5.83110275e-02 1.45777569e-01 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 1.45777569e-01 5.83110275e-02 8.74665412e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 5.83110275e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 8.74665412e-02 2.91555137e-02 1.16622055e-01 8.74665412e-02 1.16622055e-01 8.74665412e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 8.74665412e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 8.74665412e-02 5.83110275e-02 8.74665412e-02 1.74933082e-01 0.00000000e+00 8.74665412e-02 8.74665412e-02 2.91555137e-02 8.74665412e-02 0.00000000e+00 1.74933082e-01 8.74665412e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 1.16622055e-01 0.00000000e+00 5.83110275e-02 8.74665412e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 1.16622055e-01 0.00000000e+00 8.74665412e-02 5.83110275e-02 1.16622055e-01 2.91555137e-02 5.83110275e-02 5.83110275e-02 1.16622055e-01 8.74665412e-02 8.74665412e-02 2.91555137e-02 1.74933082e-01 2.91555137e-02 1.16622055e-01 8.74665412e-02 5.83110275e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 5.83110275e-02 1.16622055e-01 8.74665412e-02 2.91555137e-02 2.91555137e-02 8.74665412e-02 5.83110275e-02 1.16622055e-01 1.74933082e-01 1.74933082e-01 8.74665412e-02 2.91555137e-02 2.91555137e-02 2.04088596e-01 2.91555137e-02 8.74665412e-02 8.74665412e-02 2.91555137e-02 8.74665412e-02 8.74665412e-02 8.74665412e-02 5.83110275e-02 5.83110275e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 0.00000000e+00 5.83110275e-02 8.74665412e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 8.74665412e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 2.91555137e-02 5.83110275e-02 1.45777569e-01 0.00000000e+00 8.74665412e-02 1.16622055e-01 8.74665412e-02 2.91555137e-02 8.74665412e-02 1.16622055e-01 2.33244110e-01 1.45777569e-01 1.16622055e-01 8.74665412e-02 1.16622055e-01 1.16622055e-01 5.83110275e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 5.83110275e-02 0.00000000e+00 8.74665412e-02 0.00000000e+00 5.83110275e-02 5.83110275e-02 8.74665412e-02 8.74665412e-02 1.16622055e-01 8.74665412e-02 2.33244110e-01 2.91555137e-02 2.62399624e-01 1.16622055e-01 8.74665412e-02 8.74665412e-02 5.83110275e-02 2.91555137e-02 2.33244110e-01 2.04088596e-01 0.00000000e+00 1.74933082e-01 2.91555137e-02 1.16622055e-01 5.83110275e-02 5.83110275e-02 2.91555137e-02 8.74665412e-02 8.74665412e-02 2.33244110e-01 8.74665412e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 2.04088596e-01 8.74665412e-02 8.74665412e-02 5.83110275e-02 5.83110275e-02 1.16622055e-01 1.74933082e-01 5.83110275e-02 1.45777569e-01 5.83110275e-02 1.16622055e-01 8.74665412e-02 1.16622055e-01 0.00000000e+00 8.74665412e-02 8.74665412e-02 8.74665412e-02 8.74665412e-02 8.74665412e-02 2.91555137e-02 1.16622055e-01 2.91555137e-02 2.91555137e-02 8.74665412e-02 8.74665412e-02 2.33244110e-01 8.74665412e-02 1.45777569e-01 2.91555137e-02 8.74665412e-02 2.04088596e-01 8.74665412e-02 2.91555137e-02 8.74665412e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 8.74665412e-02 8.74665412e-02 1.45777569e-01 8.74665412e-02 1.16622055e-01 5.83110275e-02 2.04088596e-01 1.16622055e-01 1.45777569e-01 8.74665412e-02 1.16622055e-01 5.83110275e-02 1.74933082e-01 5.83110275e-02 1.16622055e-01 1.74933082e-01 5.83110275e-02 8.74665412e-02 1.74933082e-01 8.74665412e-02 2.04088596e-01 1.45777569e-01 2.91555137e-02 5.83110275e-02 8.74665412e-02 2.33244110e-01 1.45777569e-01 5.83110275e-02 1.16622055e-01 5.83110275e-02 5.83110275e-02 1.16622055e-01 1.16622055e-01 1.74933082e-01 8.74665412e-02 2.04088596e-01 5.83110275e-02 8.74665412e-02 1.16622055e-01 1.16622055e-01 5.83110275e-02 2.91555137e-02 2.91555137e-02 1.16622055e-01 5.83110275e-02 5.83110275e-02 0.00000000e+00 5.83110275e-02 5.83110275e-02 1.16622055e-01 1.16622055e-01 1.45777569e-01 1.16622055e-01 2.04088596e-01 1.45777569e-01 5.83110275e-02 8.74665412e-02 2.91555137e-02 2.91555137e-02 2.33244110e-01 0.00000000e+00 0.00000000e+00 5.83110275e-02 5.83110275e-02 1.16622055e-01 1.16622055e-01 0.00000000e+00 8.74665412e-02 2.04088596e-01 5.83110275e-02 1.16622055e-01 5.83110275e-02 5.83110275e-02 1.74933082e-01 5.83110275e-02 1.45777569e-01 1.74933082e-01 2.91555137e-02 5.83110275e-02 8.74665412e-02 2.04088596e-01 1.45777569e-01 1.74933082e-01 5.83110275e-02 1.45777569e-01 8.74665412e-02 1.16622055e-01 1.16622055e-01 5.83110275e-02 2.04088596e-01 5.83110275e-02 1.74933082e-01 5.83110275e-02 5.83110275e-02 5.83110275e-02 2.91555137e-02 8.74665412e-02 8.74665412e-02 1.45777569e-01 8.74665412e-02 2.33244110e-01 2.04088596e-01 1.45777569e-01 1.45777569e-01 1.45777569e-01 1.16622055e-01 1.74933082e-01 5.83110275e-02 1.45777569e-01 2.91555137e-02 2.04088596e-01 2.33244110e-01 1.45777569e-01 2.04088596e-01 8.74665412e-02 0.00000000e+00 1.74933082e-01 2.33244110e-01 2.91555137e-02 1.74933082e-01 5.83110275e-02 8.74665412e-02 1.16622055e-01 0.00000000e+00 1.16622055e-01 5.83110275e-02 2.33244110e-01 1.45777569e-01 2.62399624e-01 1.74933082e-01 8.74665412e-02 2.91555137e-01 8.74665412e-02 2.33244110e-01 1.45777569e-01 1.45777569e-01 2.04088596e-01 1.45777569e-01 1.16622055e-01 2.04088596e-01 5.83110275e-02 2.91555137e-02 1.45777569e-01 5.83110275e-02 2.62399624e-01 2.04088596e-01 1.45777569e-01 1.16622055e-01 2.91555137e-02 1.16622055e-01 1.16622055e-01 2.62399624e-01 1.74933082e-01 2.04088596e-01 2.04088596e-01 8.74665412e-02 5.83110275e-02 1.74933082e-01 2.04088596e-01 8.74665412e-02 8.74665412e-02 5.83110275e-02 1.45777569e-01 2.62399624e-01 1.74933082e-01 2.62399624e-01 5.83110275e-02 1.45777569e-01 5.83110275e-02 1.45777569e-01 2.91555137e-02 8.74665412e-02 1.16622055e-01 2.04088596e-01 1.16622055e-01 8.74665412e-02 1.74933082e-01 2.91555137e-01 1.74933082e-01 8.74665412e-02 1.74933082e-01 1.45777569e-01 1.45777569e-01 5.83110275e-02 2.04088596e-01 1.16622055e-01 3.79021679e-01 1.16622055e-01 1.74933082e-01 2.91555137e-01 2.62399624e-01 1.45777569e-01 1.16622055e-01 8.74665412e-02 1.74933082e-01 1.45777569e-01 2.04088596e-01 8.74665412e-02 2.91555137e-02 1.45777569e-01 8.74665412e-02 1.45777569e-01 1.74933082e-01 2.33244110e-01 2.62399624e-01 1.45777569e-01 2.04088596e-01 1.16622055e-01 1.45777569e-01 1.74933082e-01 1.45777569e-01 1.74933082e-01 1.74933082e-01 1.16622055e-01 8.74665412e-02 8.74665412e-02 1.74933082e-01 1.45777569e-01 1.74933082e-01 8.74665412e-02 1.74933082e-01 2.62399624e-01 2.62399624e-01 5.83110275e-02 2.33244110e-01 8.74665412e-02 1.45777569e-01 1.74933082e-01 1.16622055e-01 1.16622055e-01 1.74933082e-01 2.04088596e-01 8.74665412e-02 3.20710651e-01 1.16622055e-01 8.74665412e-02 1.45777569e-01 1.45777569e-01 1.16622055e-01 1.74933082e-01 1.74933082e-01 2.33244110e-01 2.33244110e-01 1.16622055e-01 1.74933082e-01 1.74933082e-01 1.74933082e-01 1.74933082e-01 2.04088596e-01 2.33244110e-01 1.16622055e-01 2.91555137e-01 2.62399624e-01 1.45777569e-01 2.91555137e-01 8.74665412e-02 1.45777569e-01 2.62399624e-01 1.74933082e-01 2.91555137e-01 1.16622055e-01 5.83110275e-02 1.45777569e-01 2.04088596e-01 1.16622055e-01 2.04088596e-01 1.74933082e-01 2.33244110e-01 2.62399624e-01 1.16622055e-01 1.74933082e-01 1.74933082e-01 2.04088596e-01 5.83110275e-02 1.74933082e-01 8.74665412e-02 2.33244110e-01 1.16622055e-01 1.16622055e-01 2.62399624e-01 2.91555137e-01 1.16622055e-01 8.74665412e-02 8.74665412e-02 1.45777569e-01 2.33244110e-01 2.33244110e-01 2.62399624e-01 8.74665412e-02 1.45777569e-01 2.04088596e-01 1.45777569e-01 1.74933082e-01 1.74933082e-01 2.04088596e-01 2.62399624e-01 1.45777569e-01 8.74665412e-02 8.74665412e-02 2.62399624e-01 2.04088596e-01 8.74665412e-02 2.04088596e-01 1.45777569e-01 2.62399624e-01 1.74933082e-01 5.83110275e-02 1.16622055e-01 2.33244110e-01 1.16622055e-01 2.33244110e-01 2.04088596e-01 1.45777569e-01 1.45777569e-01 8.74665412e-02 1.74933082e-01 2.33244110e-01 2.04088596e-01 2.04088596e-01 1.45777569e-01 1.16622055e-01 1.16622055e-01 1.16622055e-01 2.04088596e-01 1.74933082e-01 1.45777569e-01 2.91555137e-01 2.33244110e-01 5.83110275e-02 2.04088596e-01 2.33244110e-01 1.74933082e-01 1.74933082e-01 1.16622055e-01 1.16622055e-01 1.45777569e-01 1.16622055e-01 1.16622055e-01 8.74665412e-02 1.45777569e-01 2.91555137e-01 2.91555137e-01 2.33244110e-01 2.33244110e-01 2.91555137e-01 1.74933082e-01 1.74933082e-01 5.83110275e-02 2.33244110e-01 1.45777569e-01 2.33244110e-01 1.45777569e-01 1.74933082e-01 2.91555137e-01 2.04088596e-01 3.49866165e-01 1.74933082e-01 2.04088596e-01 2.62399624e-01 2.04088596e-01 2.04088596e-01 2.62399624e-01 2.04088596e-01 1.16622055e-01 8.74665412e-02 1.16622055e-01 3.20710651e-01 2.62399624e-01 2.04088596e-01 2.62399624e-01 2.04088596e-01 1.45777569e-01 1.74933082e-01 2.62399624e-01 1.16622055e-01 2.04088596e-01 2.04088596e-01 1.45777569e-01 4.37332706e-01 2.91555137e-01 2.62399624e-01 2.62399624e-01 1.16622055e-01 8.74665412e-02 8.74665412e-02 1.74933082e-01 1.45777569e-01 2.91555137e-01 3.49866165e-01 2.04088596e-01 3.20710651e-01 2.04088596e-01 3.20710651e-01 2.04088596e-01 1.45777569e-01 2.04088596e-01 2.62399624e-01 1.45777569e-01 2.04088596e-01 1.74933082e-01 2.62399624e-01 4.37332706e-01 1.45777569e-01 2.33244110e-01 4.08177192e-01 2.33244110e-01 2.04088596e-01 1.45777569e-01 2.91555137e-01 2.62399624e-01 2.33244110e-01 2.91555137e-01 1.45777569e-01 2.04088596e-01 3.20710651e-01 2.91555137e-01 1.74933082e-01 4.37332706e-01 2.62399624e-01 8.74665412e-02 3.79021679e-01 3.20710651e-01 1.45777569e-01 2.33244110e-01 2.04088596e-01 2.91555137e-01 3.20710651e-01 2.91555137e-01 2.33244110e-01 3.20710651e-01 2.33244110e-01 2.62399624e-01 3.20710651e-01 3.20710651e-01 2.62399624e-01 2.33244110e-01 2.04088596e-01 2.33244110e-01 2.62399624e-01 2.91555137e-01 3.20710651e-01 3.20710651e-01 2.62399624e-01 2.62399624e-01 2.62399624e-01 2.04088596e-01 2.33244110e-01 3.20710651e-01 1.74933082e-01 2.33244110e-01 2.33244110e-01 2.33244110e-01 2.33244110e-01 3.20710651e-01 2.62399624e-01 2.91555137e-01 3.49866165e-01 2.33244110e-01 2.04088596e-01 4.66488220e-01 2.62399624e-01 2.33244110e-01 2.33244110e-01 1.74933082e-01 2.91555137e-01 5.24799247e-01 3.79021679e-01 1.74933082e-01 1.45777569e-01 2.33244110e-01 2.91555137e-01 3.49866165e-01 3.20710651e-01 4.37332706e-01 2.62399624e-01 2.91555137e-01 3.49866165e-01 2.62399624e-01 1.45777569e-01 3.20710651e-01 2.04088596e-01 3.49866165e-01 3.20710651e-01 4.08177192e-01 1.74933082e-01 2.62399624e-01 5.53954761e-01 3.49866165e-01 1.45777569e-01 3.79021679e-01 4.66488220e-01 4.37332706e-01 2.62399624e-01 2.62399624e-01 2.04088596e-01 2.33244110e-01 3.49866165e-01 2.62399624e-01 3.79021679e-01 2.62399624e-01 2.91555137e-01 4.37332706e-01 3.79021679e-01 2.91555137e-01 3.79021679e-01 3.79021679e-01 2.91555137e-01 3.49866165e-01 3.49866165e-01 2.91555137e-01 1.45777569e-01 3.49866165e-01 3.49866165e-01 3.49866165e-01 2.62399624e-01 2.91555137e-01 3.49866165e-01 3.79021679e-01 3.20710651e-01 2.91555137e-01 4.08177192e-01 4.08177192e-01 4.95643734e-01 4.66488220e-01 4.66488220e-01 3.49866165e-01 4.95643734e-01 2.33244110e-01 3.79021679e-01 2.62399624e-01 2.91555137e-01 1.16622055e-01 4.95643734e-01 2.91555137e-01 2.33244110e-01 2.33244110e-01 4.37332706e-01 3.79021679e-01 2.91555137e-01 4.08177192e-01 3.49866165e-01 4.08177192e-01 4.66488220e-01 2.04088596e-01 3.20710651e-01 5.83110275e-01 4.08177192e-01 2.62399624e-01 3.79021679e-01 4.37332706e-01 2.33244110e-01 2.91555137e-01 3.79021679e-01 3.20710651e-01 6.12265788e-01 4.37332706e-01 4.66488220e-01 2.91555137e-01 4.08177192e-01 4.95643734e-01 3.79021679e-01 2.91555137e-01 3.49866165e-01 5.24799247e-01 3.20710651e-01 5.24799247e-01 2.33244110e-01 3.20710651e-01 2.91555137e-01 4.08177192e-01 3.20710651e-01 4.37332706e-01 4.37332706e-01 3.49866165e-01 2.91555137e-01 2.91555137e-01 5.53954761e-01 4.37332706e-01 2.91555137e-01 3.20710651e-01 5.24799247e-01 3.49866165e-01 4.66488220e-01 4.66488220e-01 4.08177192e-01 4.66488220e-01 5.53954761e-01 2.91555137e-01 5.53954761e-01 4.66488220e-01 5.83110275e-01 2.62399624e-01 5.24799247e-01 5.53954761e-01 2.62399624e-01 4.37332706e-01 3.20710651e-01 5.24799247e-01 4.95643734e-01 4.37332706e-01 6.12265788e-01 2.91555137e-01 4.37332706e-01 4.08177192e-01 4.08177192e-01 2.91555137e-01 4.95643734e-01 2.62399624e-01 5.24799247e-01 4.66488220e-01 3.79021679e-01 5.83110275e-01 2.91555137e-01 4.37332706e-01 3.49866165e-01 5.83110275e-01 6.12265788e-01 2.91555137e-01 3.20710651e-01 4.08177192e-01 3.20710651e-01 4.37332706e-01 3.20710651e-01 4.95643734e-01 3.79021679e-01 4.37332706e-01 3.79021679e-01 4.08177192e-01 4.66488220e-01 5.53954761e-01 3.20710651e-01 5.24799247e-01 4.08177192e-01 5.83110275e-01 5.24799247e-01 5.53954761e-01 7.28887843e-01 5.83110275e-01 5.24799247e-01 6.12265788e-01 6.41421302e-01 6.70576816e-01 3.49866165e-01 5.24799247e-01 5.83110275e-01 5.24799247e-01 5.83110275e-01 4.66488220e-01 5.24799247e-01 4.08177192e-01 3.79021679e-01 6.41421302e-01 6.12265788e-01 3.20710651e-01 5.53954761e-01 6.41421302e-01 5.53954761e-01 4.37332706e-01 4.66488220e-01 3.79021679e-01 5.53954761e-01 6.12265788e-01 7.87198871e-01 5.53954761e-01 4.37332706e-01 2.91555137e-01 8.45509898e-01 7.87198871e-01 5.24799247e-01 5.83110275e-01 5.24799247e-01 4.95643734e-01 4.08177192e-01 3.49866165e-01 7.58043357e-01 4.95643734e-01 7.28887843e-01 5.83110275e-01 5.53954761e-01 7.28887843e-01 1.02044298e+00 5.24799247e-01 4.37332706e-01 6.99732330e-01 5.53954761e-01 6.41421302e-01 9.91287467e-01 8.45509898e-01 8.16354385e-01 4.37332706e-01 6.12265788e-01 6.70576816e-01 7.87198871e-01 6.99732330e-01 8.16354385e-01 6.41421302e-01 4.37332706e-01 4.95643734e-01 8.16354385e-01 7.87198871e-01 6.12265788e-01 8.16354385e-01 7.28887843e-01 5.83110275e-01 5.24799247e-01 7.58043357e-01 5.53954761e-01 9.03820926e-01 8.45509898e-01 6.41421302e-01 5.24799247e-01 6.99732330e-01 8.74665412e-01 6.41421302e-01 7.28887843e-01 7.58043357e-01 5.83110275e-01 7.87198871e-01 7.28887843e-01 8.45509898e-01 7.58043357e-01 8.45509898e-01 6.12265788e-01 1.02044298e+00 6.99732330e-01 8.16354385e-01 1.10790952e+00 7.87198871e-01 6.41421302e-01 1.13706504e+00 7.58043357e-01 1.04959849e+00 7.28887843e-01 8.45509898e-01 1.04959849e+00 7.87198871e-01 7.28887843e-01 8.16354385e-01 9.03820926e-01 1.02044298e+00 8.16354385e-01 6.70576816e-01 7.58043357e-01 8.74665412e-01 7.87198871e-01 8.45509898e-01 1.02044298e+00 7.87198871e-01 6.70576816e-01 9.91287467e-01 7.87198871e-01 7.58043357e-01 8.74665412e-01 6.41421302e-01 1.25368709e+00 1.10790952e+00 7.28887843e-01 8.74665412e-01 9.91287467e-01 1.07875401e+00 9.03820926e-01 1.31199812e+00 1.22453158e+00 8.16354385e-01 1.07875401e+00 1.16622055e+00 9.91287467e-01 1.19537606e+00 1.10790952e+00 1.31199812e+00 9.32976440e-01 1.07875401e+00 9.03820926e-01 9.91287467e-01 9.32976440e-01 1.28284260e+00 1.45777569e+00 8.16354385e-01 1.07875401e+00 7.87198871e-01 1.13706504e+00 1.13706504e+00 8.16354385e-01 1.45777569e+00 1.10790952e+00 1.80764185e+00 1.39946466e+00 1.10790952e+00 1.02044298e+00 1.04959849e+00 1.22453158e+00 8.45509898e-01 1.22453158e+00 1.22453158e+00 1.69101980e+00 1.31199812e+00 1.31199812e+00 1.69101980e+00 1.37030915e+00 1.13706504e+00 1.28284260e+00 1.28284260e+00 1.22453158e+00 1.54524223e+00 1.74933082e+00 1.63270877e+00 1.13706504e+00 1.57439774e+00 1.69101980e+00 1.69101980e+00 1.42862017e+00 1.69101980e+00 1.60355326e+00 1.13706504e+00 1.98257493e+00 1.83679737e+00 2.01173045e+00 2.04088596e+00 1.39946466e+00 1.95341942e+00 1.66186428e+00 1.51608671e+00 1.45777569e+00 2.18666353e+00 2.09919699e+00 1.95341942e+00 2.01173045e+00 1.72017531e+00 2.21581904e+00 2.36159661e+00 2.21581904e+00 1.74933082e+00 2.39075213e+00 2.21581904e+00 2.21581904e+00 2.53652970e+00 2.68230726e+00 2.74061829e+00 2.65315175e+00 1.98257493e+00 2.53652970e+00 2.74061829e+00 2.44906315e+00 2.50737418e+00 3.06132894e+00 2.59484072e+00 2.97386240e+00 3.09048446e+00 2.79892932e+00 2.71146278e+00 3.81937230e+00 3.20710651e+00 3.70275024e+00 3.00301791e+00 3.03217343e+00 3.46950613e+00 3.73190576e+00 3.49866165e+00 3.99430538e+00 3.52781716e+00 4.11092744e+00 4.14008295e+00 3.93599435e+00 3.76106127e+00 3.87768333e+00 4.48994912e+00 5.21883696e+00 4.57741566e+00 4.95643734e+00 4.57741566e+00 5.51039210e+00 4.92728182e+00 4.48994912e+00 5.18968145e+00 4.98559285e+00 5.94772480e+00 5.56870312e+00 5.13137042e+00 6.00603583e+00 6.18096891e+00 6.79323470e+00 6.70576816e+00 6.90985676e+00 6.88070124e+00 7.05563432e+00 6.73492367e+00 6.35590199e+00 6.64745713e+00 8.60087655e+00 7.37634498e+00 7.69705563e+00 7.69705563e+00 7.69705563e+00 8.01776628e+00 8.04692179e+00 9.73794159e+00 9.56300851e+00 1.00294967e+01 9.32976440e+00 9.24229785e+00 8.95074272e+00 1.00878078e+01 1.01169633e+01 9.53385299e+00 8.80496515e+00 9.41723094e+00 9.44638645e+00 1.09041621e+01 1.06709180e+01 9.32976440e+00 1.08166956e+01 1.11374062e+01 1.09041621e+01 1.15164279e+01 1.06417625e+01 1.02044298e+01 1.11082507e+01 1.09041621e+01 1.02044298e+01 1.05834515e+01 1.17205165e+01 9.91287467e+00 1.11665618e+01 1.09916287e+01 1.08166956e+01 1.02627408e+01 1.04085184e+01 1.14581169e+01 1.00586522e+01 1.12540283e+01 9.18398683e+00 8.86327618e+00 9.27145337e+00 1.12540283e+01 8.42594347e+00 9.44638645e+00 8.97989823e+00 1.00294967e+01 8.60087655e+00 8.83412066e+00 8.28016590e+00 8.36763244e+00 8.36763244e+00 8.30932142e+00 7.11394535e+00 7.72621114e+00 7.52212254e+00 6.61830162e+00 8.42594347e+00 6.47252405e+00 6.47252405e+00 7.05563432e+00 6.96816778e+00 5.86025826e+00 6.41421302e+00 6.82239021e+00 5.65616967e+00 5.74363621e+00 4.92728182e+00 4.89812631e+00 4.89812631e+00 4.63572668e+00 5.04390388e+00 5.21883696e+00 4.46079360e+00 4.31501603e+00 3.87768333e+00 4.60657117e+00 4.02346090e+00 3.70275024e+00 3.11963997e+00 3.55697268e+00 3.32372857e+00 3.14879548e+00 3.23626202e+00 3.03217343e+00 3.23626202e+00 2.88639586e+00 3.17795100e+00 3.44035062e+00 2.79892932e+00 2.94470689e+00 2.71146278e+00 2.53652970e+00 1.95341942e+00 2.71146278e+00 2.12835250e+00 2.33244110e+00 2.07004148e+00 2.04088596e+00 2.39075213e+00 2.04088596e+00 1.72017531e+00 1.39946466e+00 1.66186428e+00 1.77848634e+00 2.07004148e+00 2.04088596e+00 1.45777569e+00 1.89510839e+00 1.63270877e+00 1.34115363e+00 1.39946466e+00 1.34115363e+00 1.60355326e+00 1.34115363e+00 1.16622055e+00 1.25368709e+00 1.25368709e+00 1.25368709e+00 9.03820926e-01 1.34115363e+00 1.13706504e+00 9.62131953e-01 1.22453158e+00 1.34115363e+00 1.31199812e+00 9.91287467e-01 8.45509898e-01 9.32976440e-01 7.28887843e-01 9.03820926e-01 9.32976440e-01 1.07875401e+00 6.70576816e-01 8.16354385e-01 6.99732330e-01 8.45509898e-01 1.13706504e+00 8.74665412e-01 6.70576816e-01 9.62131953e-01 1.16622055e+00 8.16354385e-01 8.16354385e-01 3.79021679e-01 6.99732330e-01 6.99732330e-01 3.49866165e-01 3.20710651e-01 6.41421302e-01 3.20710651e-01 6.12265788e-01 6.41421302e-01 4.66488220e-01 4.08177192e-01 5.83110275e-01 5.24799247e-01 6.41421302e-01 4.37332706e-01 3.49866165e-01 3.79021679e-01 2.33244110e-01 5.24799247e-01 3.20710651e-01 4.37332706e-01 6.12265788e-01 3.20710651e-01 3.49866165e-01 4.66488220e-01 3.49866165e-01 5.53954761e-01 4.95643734e-01 2.91555137e-01 5.24799247e-01 3.49866165e-01 3.20710651e-01 2.62399624e-01 2.04088596e-01 3.49866165e-01 2.62399624e-01 2.04088596e-01 2.62399624e-01 4.08177192e-01 2.04088596e-01 3.79021679e-01 3.79021679e-01 4.08177192e-01 5.83110275e-02 1.74933082e-01 2.04088596e-01 1.74933082e-01 4.08177192e-01 2.04088596e-01 3.20710651e-01 1.45777569e-01 1.74933082e-01 2.62399624e-01 1.16622055e-01 2.62399624e-01 1.45777569e-01 1.74933082e-01 1.16622055e-01 2.04088596e-01 1.74933082e-01 5.83110275e-02 8.74665412e-02 1.45777569e-01 1.16622055e-01 8.74665412e-02 8.74665412e-02 2.04088596e-01 2.04088596e-01 1.16622055e-01 1.16622055e-01 8.74665412e-02 1.45777569e-01 2.33244110e-01 1.45777569e-01 2.04088596e-01 2.04088596e-01 2.62399624e-01 3.20710651e-01 1.16622055e-01 8.74665412e-02 1.45777569e-01 1.16622055e-01 5.83110275e-02 8.74665412e-02 1.74933082e-01 2.91555137e-02 2.04088596e-01 8.74665412e-02 1.45777569e-01 8.74665412e-02 1.74933082e-01 1.16622055e-01 5.83110275e-02 8.74665412e-02 5.83110275e-02 8.74665412e-02 1.16622055e-01 2.91555137e-02 2.91555137e-02 1.16622055e-01 2.91555137e-02 1.74933082e-01 8.74665412e-02 8.74665412e-02 2.04088596e-01 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 1.45777569e-01 8.74665412e-02 5.83110275e-02 8.74665412e-02 5.83110275e-02 2.91555137e-02 1.16622055e-01 1.74933082e-01 5.83110275e-02 2.91555137e-02 2.91555137e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 2.33244110e-01 1.74933082e-01 5.83110275e-02 8.74665412e-02 2.91555137e-02 5.83110275e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 1.16622055e-01 5.83110275e-02 5.83110275e-02 5.83110275e-02 5.83110275e-02 2.91555137e-02 8.74665412e-02 2.91555137e-02 5.83110275e-02 5.83110275e-02 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 1.16622055e-01 5.83110275e-02 8.74665412e-02 2.91555137e-02 2.91555137e-02 8.74665412e-02 0.00000000e+00 2.91555137e-02 5.83110275e-02 0.00000000e+00 5.83110275e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 8.74665412e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 8.74665412e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 2.91555137e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.74665412e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.83110275e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91555137e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.22285329e-02 0.00000000e+00 0.00000000e+00 2.44570658e-02 1.22285329e-02 2.44570658e-02 0.00000000e+00 1.22285329e-02 1.22285329e-02 3.66855986e-02 3.66855986e-02 2.44570658e-02 0.00000000e+00 0.00000000e+00 2.44570658e-02 3.66855986e-02 2.44570658e-02 4.89141315e-02 0.00000000e+00 1.22285329e-02 3.66855986e-02 0.00000000e+00 6.11426644e-02 0.00000000e+00 3.66855986e-02 2.44570658e-02 3.66855986e-02 2.44570658e-02 3.66855986e-02 0.00000000e+00 1.22285329e-02 3.66855986e-02 3.66855986e-02 1.22285329e-02 6.11426644e-02 2.44570658e-02 4.89141315e-02 3.66855986e-02 2.44570658e-02 2.44570658e-02 2.44570658e-02 2.44570658e-02 2.44570658e-02 1.22285329e-02 1.22285329e-02 3.66855986e-02 0.00000000e+00 6.11426644e-02 2.44570658e-02 7.33711973e-02 2.44570658e-02 2.44570658e-02 1.22285329e-02 2.44570658e-02 6.11426644e-02 0.00000000e+00 6.11426644e-02 9.78282631e-02 2.44570658e-02 2.44570658e-02 2.44570658e-02 7.33711973e-02 3.66855986e-02 2.44570658e-02 1.22285329e-02 2.44570658e-02 6.11426644e-02 3.66855986e-02 2.44570658e-02 6.11426644e-02 2.44570658e-02 2.44570658e-02 1.22285329e-02 2.44570658e-02 2.44570658e-02 2.44570658e-02 1.22285329e-02 2.44570658e-02 4.89141315e-02 3.66855986e-02 3.66855986e-02 6.11426644e-02 1.22285329e-02 7.33711973e-02 2.44570658e-02 3.66855986e-02 3.66855986e-02 3.66855986e-02 2.44570658e-02 3.66855986e-02 7.33711973e-02 7.33711973e-02 7.33711973e-02 3.66855986e-02 3.66855986e-02 6.11426644e-02 8.55997302e-02 2.44570658e-02 6.11426644e-02 7.33711973e-02 6.11426644e-02 3.66855986e-02 6.11426644e-02 2.44570658e-02 1.22285329e-02 4.89141315e-02 2.44570658e-02 4.89141315e-02 8.55997302e-02 4.89141315e-02 2.44570658e-02 4.89141315e-02 1.22285329e-02 4.89141315e-02 1.10056796e-01 8.55997302e-02 4.89141315e-02 6.11426644e-02 2.44570658e-02 8.55997302e-02 1.22285329e-02 4.89141315e-02 2.44570658e-02 2.44570658e-02 4.89141315e-02 2.44570658e-02 3.66855986e-02 2.44570658e-02 3.66855986e-02 3.66855986e-02 6.11426644e-02 6.11426644e-02 7.33711973e-02 4.89141315e-02 9.78282631e-02 4.89141315e-02 2.44570658e-02 7.33711973e-02 4.89141315e-02 7.33711973e-02 2.44570658e-02 2.44570658e-02 7.33711973e-02 4.89141315e-02 9.78282631e-02 4.89141315e-02 7.33711973e-02 1.22285329e-02 3.66855986e-02 8.55997302e-02 6.11426644e-02 1.22285329e-02 6.11426644e-02 3.66855986e-02 8.55997302e-02 3.66855986e-02 7.33711973e-02 6.11426644e-02 0.00000000e+00 2.44570658e-02 3.66855986e-02 6.11426644e-02 3.66855986e-02 3.66855986e-02 6.11426644e-02 3.66855986e-02 4.89141315e-02 6.11426644e-02 4.89141315e-02 6.11426644e-02 9.78282631e-02 8.55997302e-02 6.11426644e-02 6.11426644e-02 8.55997302e-02 9.78282631e-02 3.66855986e-02 1.22285329e-01 1.58970927e-01 7.33711973e-02 6.11426644e-02 3.66855986e-02 6.11426644e-02 1.10056796e-01 3.66855986e-02 6.11426644e-02 8.55997302e-02 4.89141315e-02 4.89141315e-02 3.66855986e-02 6.11426644e-02 7.33711973e-02 7.33711973e-02 1.10056796e-01 7.33711973e-02 2.44570658e-02 6.11426644e-02 9.78282631e-02 2.44570658e-02 1.10056796e-01 1.10056796e-01 1.10056796e-01 3.66855986e-02 6.11426644e-02 7.33711973e-02 1.10056796e-01 7.33711973e-02 3.66855986e-02 7.33711973e-02 6.11426644e-02 9.78282631e-02 9.78282631e-02 7.33711973e-02 1.22285329e-01 8.55997302e-02 7.33711973e-02 8.55997302e-02 3.66855986e-02 4.89141315e-02 8.55997302e-02 1.10056796e-01 8.55997302e-02 9.78282631e-02 1.10056796e-01 3.66855986e-02 8.55997302e-02 6.11426644e-02 6.11426644e-02 7.33711973e-02 2.44570658e-02 6.11426644e-02 4.89141315e-02 1.10056796e-01 7.33711973e-02 6.11426644e-02 4.89141315e-02 1.10056796e-01 7.33711973e-02 6.11426644e-02 1.83427993e-01 1.46742395e-01 1.10056796e-01 1.22285329e-01 6.11426644e-02 4.89141315e-02 6.11426644e-02 6.11426644e-02 1.10056796e-01 9.78282631e-02 9.78282631e-02 4.89141315e-02 2.44570658e-02 7.33711973e-02 7.33711973e-02 7.33711973e-02 2.44570658e-02 9.78282631e-02 4.89141315e-02 1.10056796e-01 9.78282631e-02 8.55997302e-02 2.44570658e-02 6.11426644e-02 4.89141315e-02 7.33711973e-02 2.44570658e-02 4.89141315e-02 4.89141315e-02 1.22285329e-02 1.22285329e-01 1.34513862e-01 0.00000000e+00 3.66855986e-02 1.22285329e-01 1.22285329e-01 6.11426644e-02 8.55997302e-02 1.22285329e-01 4.89141315e-02 1.22285329e-01 7.33711973e-02 8.55997302e-02 9.78282631e-02 4.89141315e-02 1.22285329e-01 6.11426644e-02 7.33711973e-02 4.89141315e-02 3.66855986e-02 9.78282631e-02 9.78282631e-02 3.66855986e-02 9.78282631e-02 1.34513862e-01 1.10056796e-01 8.55997302e-02 7.33711973e-02 3.66855986e-02 3.66855986e-02 7.33711973e-02 1.10056796e-01 9.78282631e-02 9.78282631e-02 9.78282631e-02 1.46742395e-01 8.55997302e-02 4.89141315e-02 1.22285329e-01 3.66855986e-02 8.55997302e-02 9.78282631e-02 8.55997302e-02 2.44570658e-02 6.11426644e-02 7.33711973e-02 9.78282631e-02 9.78282631e-02 6.11426644e-02 7.33711973e-02 6.11426644e-02 9.78282631e-02 8.55997302e-02 1.22285329e-01 4.89141315e-02 4.89141315e-02 1.34513862e-01 8.55997302e-02 7.33711973e-02 2.44570658e-02 9.78282631e-02 6.11426644e-02 9.78282631e-02 8.55997302e-02 1.10056796e-01 7.33711973e-02 9.78282631e-02 7.33711973e-02 7.33711973e-02 6.11426644e-02 4.89141315e-02 8.55997302e-02 8.55997302e-02 8.55997302e-02 9.78282631e-02 7.33711973e-02 4.89141315e-02 7.33711973e-02 2.44570658e-02 1.10056796e-01 8.55997302e-02 4.89141315e-02 1.10056796e-01 7.33711973e-02 8.55997302e-02 3.66855986e-02 1.34513862e-01 9.78282631e-02 1.58970927e-01 4.89141315e-02 3.66855986e-02 7.33711973e-02 7.33711973e-02 4.89141315e-02 8.55997302e-02 7.33711973e-02 1.34513862e-01 7.33711973e-02 9.78282631e-02 8.55997302e-02 9.78282631e-02 6.11426644e-02 8.55997302e-02 1.10056796e-01 8.55997302e-02 7.33711973e-02 7.33711973e-02 1.22285329e-01 3.66855986e-02 8.55997302e-02 1.10056796e-01 1.22285329e-01 3.66855986e-02 8.55997302e-02 3.66855986e-02 1.10056796e-01 6.11426644e-02 9.78282631e-02 1.34513862e-01 6.11426644e-02 7.33711973e-02 1.22285329e-01 8.55997302e-02 8.55997302e-02 1.10056796e-01 7.33711973e-02 7.33711973e-02 4.89141315e-02 6.11426644e-02 1.34513862e-01 1.34513862e-01 9.78282631e-02 8.55997302e-02 4.89141315e-02 8.55997302e-02 4.89141315e-02 1.34513862e-01 1.22285329e-01 1.34513862e-01 1.34513862e-01 1.22285329e-01 8.55997302e-02 8.55997302e-02 1.22285329e-02 2.44570658e-02 1.34513862e-01 8.55997302e-02 1.10056796e-01 7.33711973e-02 1.22285329e-01 1.22285329e-01 1.10056796e-01 9.78282631e-02 9.78282631e-02 9.78282631e-02 8.55997302e-02 9.78282631e-02 9.78282631e-02 9.78282631e-02 3.66855986e-02 1.10056796e-01 7.33711973e-02 2.44570658e-02 8.55997302e-02 4.89141315e-02 9.78282631e-02 3.66855986e-02 7.33711973e-02 6.11426644e-02 1.58970927e-01 8.55997302e-02 4.89141315e-02 8.55997302e-02 7.33711973e-02 6.11426644e-02 1.22285329e-01 8.55997302e-02 1.22285329e-01 1.10056796e-01 4.89141315e-02 6.11426644e-02 1.34513862e-01 7.33711973e-02 1.10056796e-01 1.10056796e-01 8.55997302e-02 1.10056796e-01 7.33711973e-02 9.78282631e-02 1.10056796e-01 9.78282631e-02 1.34513862e-01 4.89141315e-02 8.55997302e-02 1.71199460e-01 7.33711973e-02 3.66855986e-02 9.78282631e-02 1.71199460e-01 1.46742395e-01 7.33711973e-02 1.22285329e-01 1.34513862e-01 1.10056796e-01 7.33711973e-02 9.78282631e-02 6.11426644e-02 4.89141315e-02 1.22285329e-01 8.55997302e-02 7.33711973e-02 1.22285329e-01 4.89141315e-02 9.78282631e-02 2.44570658e-02 1.22285329e-01 7.33711973e-02 1.46742395e-01 8.55997302e-02 8.55997302e-02 9.78282631e-02 1.34513862e-01 8.55997302e-02 8.55997302e-02 9.78282631e-02 9.78282631e-02 7.33711973e-02 7.33711973e-02 9.78282631e-02 8.55997302e-02 8.55997302e-02 4.89141315e-02 7.33711973e-02 7.33711973e-02 7.33711973e-02 3.66855986e-02 7.33711973e-02 7.33711973e-02 6.11426644e-02 1.10056796e-01 4.89141315e-02 3.66855986e-02 6.11426644e-02 2.44570658e-02 2.44570658e-02 8.55997302e-02 8.55997302e-02 1.34513862e-01 1.22285329e-01 1.46742395e-01 9.78282631e-02 8.55997302e-02 1.34513862e-01 4.89141315e-02 6.11426644e-02 7.33711973e-02 8.55997302e-02 8.55997302e-02 8.55997302e-02 1.22285329e-01 3.66855986e-02 8.55997302e-02 8.55997302e-02 7.33711973e-02 6.11426644e-02 4.89141315e-02 1.22285329e-01 6.11426644e-02 1.10056796e-01 9.78282631e-02 3.66855986e-02 8.55997302e-02 1.10056796e-01 3.66855986e-02 8.55997302e-02 9.78282631e-02 1.34513862e-01 7.33711973e-02 6.11426644e-02 8.55997302e-02 1.46742395e-01 9.78282631e-02 8.55997302e-02 4.89141315e-02 1.10056796e-01 8.55997302e-02 1.46742395e-01 8.55997302e-02 1.34513862e-01 1.34513862e-01 8.55997302e-02 8.55997302e-02 4.89141315e-02 8.55997302e-02 1.10056796e-01 1.10056796e-01 7.33711973e-02 9.78282631e-02 8.55997302e-02 6.11426644e-02 9.78282631e-02 9.78282631e-02 8.55997302e-02 9.78282631e-02 1.10056796e-01 1.22285329e-01 9.78282631e-02 1.71199460e-01 7.33711973e-02 1.34513862e-01 1.22285329e-01 1.22285329e-01 7.33711973e-02 1.22285329e-01 1.10056796e-01 7.33711973e-02 6.11426644e-02 1.10056796e-01 6.11426644e-02 7.33711973e-02 1.34513862e-01 3.66855986e-02 1.10056796e-01 9.78282631e-02 7.33711973e-02 1.22285329e-01 1.10056796e-01 8.55997302e-02 2.44570658e-02 9.78282631e-02 6.11426644e-02 7.33711973e-02 1.10056796e-01 1.10056796e-01 9.78282631e-02 8.55997302e-02 8.55997302e-02 8.55997302e-02 1.22285329e-01 1.22285329e-01 7.33711973e-02 9.78282631e-02 3.66855986e-02 9.78282631e-02 1.22285329e-01 7.33711973e-02 9.78282631e-02 9.78282631e-02 1.22285329e-01 2.44570658e-02 2.44570658e-02 8.55997302e-02 9.78282631e-02 1.22285329e-01 1.22285329e-01 1.22285329e-01 7.33711973e-02 8.55997302e-02 7.33711973e-02 9.78282631e-02 9.78282631e-02 8.55997302e-02 1.22285329e-01 6.11426644e-02 1.10056796e-01 8.55997302e-02 9.78282631e-02 1.34513862e-01 6.11426644e-02 4.89141315e-02 4.89141315e-02 9.78282631e-02 7.33711973e-02 8.55997302e-02 8.55997302e-02 2.44570658e-02 8.55997302e-02 2.44570658e-02 8.55997302e-02 7.33711973e-02 9.78282631e-02 1.10056796e-01 1.34513862e-01 7.33711973e-02 8.55997302e-02 8.55997302e-02 9.78282631e-02 6.11426644e-02 8.55997302e-02 7.33711973e-02 9.78282631e-02 8.55997302e-02 7.33711973e-02 9.78282631e-02 8.55997302e-02 4.89141315e-02 9.78282631e-02 1.46742395e-01 2.44570658e-02 7.33711973e-02 6.11426644e-02 1.71199460e-01 9.78282631e-02 6.11426644e-02 2.44570658e-02 8.55997302e-02 6.11426644e-02 6.11426644e-02 1.10056796e-01 6.11426644e-02 1.34513862e-01 6.11426644e-02 9.78282631e-02 1.10056796e-01 3.66855986e-02 4.89141315e-02 7.33711973e-02 6.11426644e-02 9.78282631e-02 3.66855986e-02 8.55997302e-02 1.34513862e-01 7.33711973e-02 3.66855986e-02 1.10056796e-01 8.55997302e-02 7.33711973e-02 1.10056796e-01 7.33711973e-02 7.33711973e-02 8.55997302e-02 1.10056796e-01 1.46742395e-01 3.66855986e-02 9.78282631e-02 1.34513862e-01 8.55997302e-02 1.10056796e-01 2.44570658e-02 8.55997302e-02 7.33711973e-02 1.10056796e-01 6.11426644e-02 4.89141315e-02 7.33711973e-02 8.55997302e-02 7.33711973e-02 1.10056796e-01 6.11426644e-02 1.46742395e-01 1.22285329e-01 1.10056796e-01 1.10056796e-01 9.78282631e-02 6.11426644e-02 1.34513862e-01 9.78282631e-02 9.78282631e-02 8.55997302e-02 7.33711973e-02 7.33711973e-02 4.89141315e-02 4.89141315e-02 1.34513862e-01 1.46742395e-01 7.33711973e-02 1.46742395e-01 9.78282631e-02 3.66855986e-02 8.55997302e-02 4.89141315e-02 6.11426644e-02 1.22285329e-01 1.34513862e-01 1.22285329e-01 9.78282631e-02 8.55997302e-02 4.89141315e-02 1.34513862e-01 6.11426644e-02 3.66855986e-02 7.33711973e-02 7.33711973e-02 1.22285329e-01 7.33711973e-02 1.22285329e-01 1.10056796e-01 1.22285329e-01 1.46742395e-01 4.89141315e-02 2.44570658e-02 8.55997302e-02 7.33711973e-02 8.55997302e-02 1.22285329e-01 6.11426644e-02 3.66855986e-02 1.83427993e-01 8.55997302e-02 7.33711973e-02 2.44570658e-02 9.78282631e-02 7.33711973e-02 1.10056796e-01 1.46742395e-01 9.78282631e-02 9.78282631e-02 8.55997302e-02 4.89141315e-02 1.10056796e-01 3.66855986e-02 6.11426644e-02 4.89141315e-02 1.58970927e-01 8.55997302e-02 1.10056796e-01 1.83427993e-01 8.55997302e-02 7.33711973e-02 1.34513862e-01 1.34513862e-01 8.55997302e-02 8.55997302e-02 4.89141315e-02 9.78282631e-02 1.22285329e-01 9.78282631e-02 1.46742395e-01 7.33711973e-02 4.89141315e-02 1.34513862e-01 8.55997302e-02 8.55997302e-02 2.44570658e-02 1.10056796e-01 6.11426644e-02 9.78282631e-02 8.55997302e-02 3.66855986e-02 9.78282631e-02 6.11426644e-02 0.00000000e+00 1.10056796e-01 1.10056796e-01 8.55997302e-02 6.11426644e-02 9.78282631e-02 1.34513862e-01 7.33711973e-02 1.34513862e-01 1.34513862e-01 6.11426644e-02 6.11426644e-02 1.10056796e-01 8.55997302e-02 1.10056796e-01 1.58970927e-01 8.55997302e-02 1.46742395e-01 7.33711973e-02 9.78282631e-02 1.10056796e-01 8.55997302e-02 1.10056796e-01 1.10056796e-01 8.55997302e-02 1.22285329e-01 1.10056796e-01 1.46742395e-01 3.66855986e-02 7.33711973e-02 9.78282631e-02 3.66855986e-02 9.78282631e-02 3.66855986e-02 1.10056796e-01 9.78282631e-02 9.78282631e-02 9.78282631e-02 7.33711973e-02 1.22285329e-01 8.55997302e-02 8.55997302e-02 7.33711973e-02 9.78282631e-02 8.55997302e-02 4.89141315e-02 1.34513862e-01 6.11426644e-02 7.33711973e-02 1.10056796e-01 7.33711973e-02 8.55997302e-02 8.55997302e-02 7.33711973e-02 6.11426644e-02 8.55997302e-02 7.33711973e-02 1.22285329e-01 1.10056796e-01 3.66855986e-02 9.78282631e-02 9.78282631e-02 8.55997302e-02 1.10056796e-01 7.33711973e-02 9.78282631e-02 9.78282631e-02 8.55997302e-02 8.55997302e-02 6.11426644e-02 9.78282631e-02 6.11426644e-02 2.44570658e-02 6.11426644e-02 8.55997302e-02 9.78282631e-02 8.55997302e-02 9.78282631e-02 1.22285329e-01 7.33711973e-02 9.78282631e-02 8.55997302e-02 1.46742395e-01 8.55997302e-02 7.33711973e-02 4.89141315e-02 4.89141315e-02 7.33711973e-02 1.34513862e-01 8.55997302e-02 1.10056796e-01 1.22285329e-01 7.33711973e-02 1.34513862e-01 4.89141315e-02 7.33711973e-02 8.55997302e-02 7.33711973e-02 6.11426644e-02 8.55997302e-02 1.22285329e-01 9.78282631e-02 6.11426644e-02 1.10056796e-01 6.11426644e-02 6.11426644e-02 1.34513862e-01 8.55997302e-02 4.89141315e-02 1.10056796e-01 9.78282631e-02 1.34513862e-01 1.10056796e-01 7.33711973e-02 6.11426644e-02 1.58970927e-01 1.10056796e-01 7.33711973e-02 8.55997302e-02 7.33711973e-02 9.78282631e-02 1.34513862e-01 9.78282631e-02 1.22285329e-01 9.78282631e-02 1.22285329e-02 1.71199460e-01 1.22285329e-02 1.22285329e-01 1.22285329e-01 1.10056796e-01 3.66855986e-02 7.33711973e-02 9.78282631e-02 1.10056796e-01 7.33711973e-02 2.44570658e-02 8.55997302e-02 6.11426644e-02 1.58970927e-01 1.22285329e-01 3.66855986e-02 1.10056796e-01 1.22285329e-01 1.22285329e-01 8.55997302e-02 4.89141315e-02 8.55997302e-02 1.10056796e-01 2.69027723e-01 1.46742395e-01 1.22285329e-01 7.33711973e-02 9.78282631e-02 9.78282631e-02 4.89141315e-02 4.89141315e-02 4.89141315e-02 7.33711973e-02 6.11426644e-02 9.78282631e-02 1.34513862e-01 8.55997302e-02 1.46742395e-01 8.55997302e-02 9.78282631e-02 7.33711973e-02 7.33711973e-02 8.55997302e-02 4.89141315e-02 3.66855986e-02 1.46742395e-01 8.55997302e-02 9.78282631e-02 6.11426644e-02 8.55997302e-02 9.78282631e-02 2.44570658e-02 8.55997302e-02 9.78282631e-02 8.55997302e-02 8.55997302e-02 7.33711973e-02 1.10056796e-01 1.10056796e-01 8.55997302e-02 9.78282631e-02 8.55997302e-02 1.10056796e-01 8.55997302e-02 8.55997302e-02 6.11426644e-02 1.34513862e-01 8.55997302e-02 8.55997302e-02 6.11426644e-02 7.33711973e-02 8.55997302e-02 9.78282631e-02 3.66855986e-02 9.78282631e-02 1.10056796e-01 8.55997302e-02 1.22285329e-01 8.55997302e-02 6.11426644e-02 7.33711973e-02 3.66855986e-02 1.34513862e-01 1.10056796e-01 7.33711973e-02 6.11426644e-02 1.71199460e-01 8.55997302e-02 8.55997302e-02 9.78282631e-02 8.55997302e-02 1.34513862e-01 6.11426644e-02 7.33711973e-02 4.89141315e-02 9.78282631e-02 8.55997302e-02 1.46742395e-01 9.78282631e-02 1.10056796e-01 8.55997302e-02 7.33711973e-02 8.55997302e-02 7.33711973e-02 1.58970927e-01 4.89141315e-02 1.22285329e-01 9.78282631e-02 1.10056796e-01 7.33711973e-02 8.55997302e-02 8.55997302e-02 1.22285329e-01 9.78282631e-02 1.22285329e-02 9.78282631e-02 1.34513862e-01 1.22285329e-01 9.78282631e-02 1.10056796e-01 8.55997302e-02 7.33711973e-02 1.10056796e-01 9.78282631e-02 1.22285329e-01 6.11426644e-02 9.78282631e-02 1.10056796e-01 7.33711973e-02 7.33711973e-02 9.78282631e-02 9.78282631e-02 7.33711973e-02 1.22285329e-01 3.66855986e-02 1.10056796e-01 9.78282631e-02 1.10056796e-01 1.10056796e-01 6.11426644e-02 9.78282631e-02 8.55997302e-02 7.33711973e-02 1.22285329e-01 6.11426644e-02 1.10056796e-01 9.78282631e-02 1.71199460e-01 7.33711973e-02 1.22285329e-01 1.46742395e-01 1.58970927e-01 8.55997302e-02 1.34513862e-01 7.33711973e-02 1.22285329e-01 9.78282631e-02 1.10056796e-01 7.33711973e-02 1.22285329e-01 3.66855986e-02 8.55997302e-02 6.11426644e-02 7.33711973e-02 1.46742395e-01 1.34513862e-01 1.71199460e-01 6.11426644e-02 1.22285329e-01 8.55997302e-02 6.11426644e-02 8.55997302e-02 1.10056796e-01 7.33711973e-02 1.58970927e-01 1.83427993e-01 8.55997302e-02 1.46742395e-01 7.33711973e-02 8.55997302e-02 8.55997302e-02 9.78282631e-02 7.33711973e-02 1.10056796e-01 9.78282631e-02 1.71199460e-01 4.89141315e-02 4.89141315e-02 7.33711973e-02 9.78282631e-02 1.10056796e-01 7.33711973e-02 1.46742395e-01 7.33711973e-02 9.78282631e-02 7.33711973e-02 1.10056796e-01 9.78282631e-02 7.33711973e-02 1.22285329e-01 6.11426644e-02 4.89141315e-02 1.10056796e-01 7.33711973e-02 1.10056796e-01 1.10056796e-01 1.58970927e-01 8.55997302e-02 6.11426644e-02 6.11426644e-02 1.10056796e-01 9.78282631e-02 7.33711973e-02 1.22285329e-01 8.55997302e-02 1.58970927e-01 9.78282631e-02 1.22285329e-01 1.10056796e-01 1.34513862e-01 8.55997302e-02 1.22285329e-01 6.11426644e-02 9.78282631e-02 9.78282631e-02 8.55997302e-02 1.10056796e-01 7.33711973e-02 1.22285329e-01 4.89141315e-02 8.55997302e-02 7.33711973e-02 9.78282631e-02 7.33711973e-02 4.89141315e-02 1.10056796e-01 1.22285329e-01 7.33711973e-02 6.11426644e-02 4.89141315e-02 1.34513862e-01 1.22285329e-01 3.66855986e-02 7.33711973e-02 8.55997302e-02 8.55997302e-02 8.55997302e-02 1.10056796e-01 1.22285329e-01 1.71199460e-01 6.11426644e-02 1.34513862e-01 4.89141315e-02 7.33711973e-02 6.11426644e-02 1.10056796e-01 7.33711973e-02 8.55997302e-02 1.10056796e-01 8.55997302e-02 1.34513862e-01 8.55997302e-02 1.58970927e-01 8.55997302e-02 4.89141315e-02 7.33711973e-02 1.71199460e-01 8.55997302e-02 1.22285329e-01 4.89141315e-02 1.22285329e-01 7.33711973e-02 6.11426644e-02 1.22285329e-01 1.34513862e-01 7.33711973e-02 1.22285329e-01 1.10056796e-01 1.22285329e-01 6.11426644e-02 8.55997302e-02 1.46742395e-01 9.78282631e-02 1.22285329e-01 4.89141315e-02 8.55997302e-02 8.55997302e-02 4.89141315e-02 9.78282631e-02 6.11426644e-02 6.11426644e-02 9.78282631e-02 9.78282631e-02 6.11426644e-02 1.22285329e-01 1.10056796e-01 8.55997302e-02 1.22285329e-01 9.78282631e-02 1.10056796e-01 1.10056796e-01 1.22285329e-01 1.10056796e-01 7.33711973e-02 3.66855986e-02 9.78282631e-02 8.55997302e-02 1.58970927e-01 9.78282631e-02 8.55997302e-02 1.71199460e-01 1.71199460e-01 1.10056796e-01 1.34513862e-01 1.10056796e-01 4.89141315e-02 4.89141315e-02 8.55997302e-02 6.11426644e-02 1.10056796e-01 9.78282631e-02 1.46742395e-01 1.34513862e-01 1.22285329e-01 1.46742395e-01 8.55997302e-02 6.11426644e-02 8.55997302e-02 9.78282631e-02 1.22285329e-01 7.33711973e-02 6.11426644e-02 6.11426644e-02 1.34513862e-01 8.55997302e-02 9.78282631e-02 6.11426644e-02 1.34513862e-01 1.46742395e-01 9.78282631e-02 6.11426644e-02 9.78282631e-02 8.55997302e-02 1.34513862e-01 1.10056796e-01 1.34513862e-01 4.89141315e-02 7.33711973e-02 9.78282631e-02 8.55997302e-02 1.22285329e-01 3.66855986e-02 8.55997302e-02 2.44570658e-02 1.34513862e-01 1.83427993e-01 1.34513862e-01 4.89141315e-02 7.33711973e-02 7.33711973e-02 1.10056796e-01 1.34513862e-01 6.11426644e-02 6.11426644e-02 1.22285329e-01 1.22285329e-01 7.33711973e-02 9.78282631e-02 1.58970927e-01 9.78282631e-02 4.89141315e-02 9.78282631e-02 3.66855986e-02 6.11426644e-02 4.89141315e-02 9.78282631e-02 8.55997302e-02 9.78282631e-02 9.78282631e-02 1.46742395e-01 1.22285329e-01 3.66855986e-02 1.10056796e-01 7.33711973e-02 1.10056796e-01 8.55997302e-02 7.33711973e-02 8.55997302e-02 4.89141315e-02 1.34513862e-01 1.22285329e-01 9.78282631e-02 6.11426644e-02 4.89141315e-02 8.55997302e-02 9.78282631e-02 1.10056796e-01 9.78282631e-02 1.71199460e-01 6.11426644e-02 1.22285329e-01 1.10056796e-01 1.58970927e-01 7.33711973e-02 1.22285329e-01 1.10056796e-01 6.11426644e-02 1.34513862e-01 1.58970927e-01 6.11426644e-02 3.66855986e-02 8.55997302e-02 8.55997302e-02 7.33711973e-02 6.11426644e-02 1.10056796e-01 8.55997302e-02 1.46742395e-01 9.78282631e-02 1.22285329e-01 6.11426644e-02 8.55997302e-02 2.44570658e-02 1.34513862e-01 4.89141315e-02 8.55997302e-02 4.89141315e-02 7.33711973e-02 7.33711973e-02 1.95656526e-01 1.22285329e-01 1.10056796e-01 1.46742395e-01 8.55997302e-02 6.11426644e-02 1.10056796e-01 9.78282631e-02 1.34513862e-01 8.55997302e-02 4.89141315e-02 6.11426644e-02 7.33711973e-02 1.58970927e-01 1.58970927e-01 2.07885059e-01 9.78282631e-02 6.11426644e-02 1.34513862e-01 1.34513862e-01 6.11426644e-02 9.78282631e-02 9.78282631e-02 6.11426644e-02 8.55997302e-02 3.66855986e-02 7.33711973e-02 1.10056796e-01 9.78282631e-02 1.46742395e-01 1.58970927e-01 9.78282631e-02 8.55997302e-02 1.10056796e-01 1.10056796e-01 3.66855986e-02 8.55997302e-02 9.78282631e-02 7.33711973e-02 1.10056796e-01 1.22285329e-01 7.33711973e-02 9.78282631e-02 1.22285329e-01 1.34513862e-01 1.10056796e-01 8.55997302e-02 1.10056796e-01 7.33711973e-02 1.10056796e-01 7.33711973e-02 4.89141315e-02 6.11426644e-02 1.71199460e-01 6.11426644e-02 7.33711973e-02 1.58970927e-01 1.22285329e-01 1.34513862e-01 7.33711973e-02 1.10056796e-01 3.66855986e-02 1.22285329e-01 1.46742395e-01 1.58970927e-01 1.22285329e-02 8.55997302e-02 1.22285329e-01 9.78282631e-02 1.46742395e-01 1.22285329e-01 7.33711973e-02 1.71199460e-01 9.78282631e-02 1.22285329e-01 9.78282631e-02 7.33711973e-02 1.46742395e-01 8.55997302e-02 7.33711973e-02 1.22285329e-01 9.78282631e-02 9.78282631e-02 9.78282631e-02 8.55997302e-02 1.34513862e-01 1.10056796e-01 7.33711973e-02 1.46742395e-01 6.11426644e-02 9.78282631e-02 1.10056796e-01 1.22285329e-01 1.34513862e-01 9.78282631e-02 4.89141315e-02 8.55997302e-02 1.22285329e-01 8.55997302e-02 9.78282631e-02 1.22285329e-01 4.89141315e-02 1.34513862e-01 1.10056796e-01 4.89141315e-02 7.33711973e-02 6.11426644e-02 1.58970927e-01 6.11426644e-02 8.55997302e-02 1.10056796e-01 7.33711973e-02 1.58970927e-01 1.71199460e-01 7.33711973e-02 9.78282631e-02 1.34513862e-01 8.55997302e-02 7.33711973e-02 1.10056796e-01 1.10056796e-01 1.46742395e-01 1.22285329e-01 1.22285329e-01 9.78282631e-02 7.33711973e-02 9.78282631e-02 1.22285329e-01 6.11426644e-02 7.33711973e-02 1.83427993e-01 6.11426644e-02 1.10056796e-01 8.55997302e-02 1.10056796e-01 1.34513862e-01 6.11426644e-02 8.55997302e-02 1.34513862e-01 4.89141315e-02 6.11426644e-02 7.33711973e-02 7.33711973e-02 1.10056796e-01 9.78282631e-02 1.10056796e-01 1.22285329e-01 1.10056796e-01 1.34513862e-01 9.78282631e-02 9.78282631e-02 9.78282631e-02 1.10056796e-01 1.46742395e-01 9.78282631e-02 1.10056796e-01 1.22285329e-01 4.89141315e-02 8.55997302e-02 1.22285329e-01 8.55997302e-02 9.78282631e-02 1.22285329e-01 6.11426644e-02 4.89141315e-02 6.11426644e-02 7.33711973e-02 6.11426644e-02 8.55997302e-02 1.58970927e-01 6.11426644e-02 2.44570658e-02 4.89141315e-02 7.33711973e-02 1.22285329e-01 9.78282631e-02 6.11426644e-02 2.44570658e-02 9.78282631e-02 9.78282631e-02 8.55997302e-02 1.10056796e-01 7.33711973e-02 9.78282631e-02 9.78282631e-02 1.10056796e-01 1.46742395e-01 6.11426644e-02 9.78282631e-02 9.78282631e-02 1.22285329e-01 7.33711973e-02 6.11426644e-02 1.10056796e-01 1.10056796e-01 9.78282631e-02 9.78282631e-02 9.78282631e-02 8.55997302e-02 7.33711973e-02 7.33711973e-02 1.10056796e-01 4.89141315e-02 9.78282631e-02 1.10056796e-01 1.83427993e-01 8.55997302e-02 9.78282631e-02 7.33711973e-02 1.22285329e-01 1.46742395e-01 1.58970927e-01 8.55997302e-02 8.55997302e-02 9.78282631e-02 3.66855986e-02 1.34513862e-01 8.55997302e-02 1.71199460e-01 1.22285329e-01 1.83427993e-01 3.66855986e-02 7.33711973e-02 6.11426644e-02 4.89141315e-02 4.89141315e-02 7.33711973e-02 7.33711973e-02 1.58970927e-01 9.78282631e-02 1.10056796e-01 1.10056796e-01 7.33711973e-02 3.66855986e-02 1.10056796e-01 8.55997302e-02 1.46742395e-01 4.89141315e-02 1.10056796e-01 4.89141315e-02 6.11426644e-02 7.33711973e-02 8.55997302e-02 7.33711973e-02 1.22285329e-01 1.10056796e-01 8.55997302e-02 1.34513862e-01 1.58970927e-01 6.11426644e-02 2.44570658e-02 8.55997302e-02 9.78282631e-02 6.11426644e-02 1.10056796e-01 1.34513862e-01 7.33711973e-02 1.22285329e-01 6.11426644e-02 4.89141315e-02 1.10056796e-01 4.89141315e-02 1.10056796e-01 1.46742395e-01 7.33711973e-02 1.22285329e-01 7.33711973e-02 8.55997302e-02 7.33711973e-02 1.46742395e-01 1.10056796e-01 4.89141315e-02 1.22285329e-01 6.11426644e-02 7.33711973e-02 6.11426644e-02 6.11426644e-02 4.89141315e-02 1.10056796e-01 1.46742395e-01 7.33711973e-02 9.78282631e-02 8.55997302e-02 1.10056796e-01 1.22285329e-01 4.89141315e-02 7.33711973e-02 8.55997302e-02 6.11426644e-02 1.58970927e-01 7.33711973e-02 1.58970927e-01 1.10056796e-01 6.11426644e-02 4.89141315e-02 1.22285329e-01 1.22285329e-01 4.89141315e-02 1.46742395e-01 8.55997302e-02 9.78282631e-02 6.11426644e-02 7.33711973e-02 1.71199460e-01 7.33711973e-02 1.46742395e-01 1.22285329e-01 4.89141315e-02 1.34513862e-01 1.34513862e-01 8.55997302e-02 9.78282631e-02 7.33711973e-02 7.33711973e-02 6.11426644e-02 7.33711973e-02 1.22285329e-01 7.33711973e-02 9.78282631e-02 1.10056796e-01 1.22285329e-01 1.22285329e-01 6.11426644e-02 7.33711973e-02 8.55997302e-02 1.83427993e-01 1.34513862e-01 7.33711973e-02 7.33711973e-02 1.83427993e-01 8.55997302e-02 4.89141315e-02 4.89141315e-02 6.11426644e-02 9.78282631e-02 8.55997302e-02 1.22285329e-01 8.55997302e-02 6.11426644e-02 7.33711973e-02 1.10056796e-01 4.89141315e-02 1.10056796e-01 1.34513862e-01 1.22285329e-01 8.55997302e-02 7.33711973e-02 4.89141315e-02 1.22285329e-01 1.22285329e-01 1.58970927e-01 8.55997302e-02 7.33711973e-02 7.33711973e-02 1.10056796e-01 1.10056796e-01 1.34513862e-01 1.10056796e-01 1.22285329e-01 1.58970927e-01 9.78282631e-02 3.66855986e-02 1.10056796e-01 6.11426644e-02 7.33711973e-02 6.11426644e-02 7.33711973e-02 1.22285329e-01 1.46742395e-01 1.22285329e-01 8.55997302e-02 7.33711973e-02 8.55997302e-02 1.34513862e-01 8.55997302e-02 6.11426644e-02 6.11426644e-02 4.89141315e-02 9.78282631e-02 1.22285329e-01 7.33711973e-02 1.10056796e-01 9.78282631e-02 4.89141315e-02 7.33711973e-02 7.33711973e-02 4.89141315e-02 7.33711973e-02 8.55997302e-02 1.22285329e-01 7.33711973e-02 6.11426644e-02 1.10056796e-01 7.33711973e-02 7.33711973e-02 8.55997302e-02 1.46742395e-01 9.78282631e-02 8.55997302e-02 3.66855986e-02 9.78282631e-02 1.58970927e-01 6.11426644e-02 1.10056796e-01 1.10056796e-01 3.66855986e-02 9.78282631e-02 8.55997302e-02 9.78282631e-02 9.78282631e-02 1.46742395e-01 8.55997302e-02 6.11426644e-02 1.10056796e-01 6.11426644e-02 1.46742395e-01 8.55997302e-02 4.89141315e-02 6.11426644e-02 3.66855986e-02 4.89141315e-02 7.33711973e-02 6.11426644e-02 7.33711973e-02 9.78282631e-02 7.33711973e-02 1.83427993e-01 1.22285329e-01 1.58970927e-01 6.11426644e-02 7.33711973e-02 4.89141315e-02 1.22285329e-01 1.22285329e-01 1.10056796e-01 9.78282631e-02 1.46742395e-01 9.78282631e-02 1.22285329e-01 6.11426644e-02 2.44570658e-02 9.78282631e-02 8.55997302e-02 1.22285329e-01 9.78282631e-02 1.22285329e-01 6.11426644e-02 4.89141315e-02 6.11426644e-02 8.55997302e-02 7.33711973e-02 1.10056796e-01 9.78282631e-02 1.22285329e-01 6.11426644e-02 1.22285329e-01 1.95656526e-01 1.83427993e-01 8.55997302e-02 1.22285329e-01 2.44570658e-02 8.55997302e-02 8.55997302e-02 1.22285329e-01 3.66855986e-02 7.33711973e-02 7.33711973e-02 6.11426644e-02 1.34513862e-01 9.78282631e-02 1.22285329e-01 6.11426644e-02 1.34513862e-01 1.71199460e-01 9.78282631e-02 8.55997302e-02 1.22285329e-01 6.11426644e-02 8.55997302e-02 9.78282631e-02 1.83427993e-01 8.55997302e-02 1.34513862e-01 8.55997302e-02 1.58970927e-01 1.22285329e-01 1.10056796e-01 9.78282631e-02 9.78282631e-02 6.11426644e-02 6.11426644e-02 1.10056796e-01 1.46742395e-01 1.34513862e-01 7.33711973e-02 9.78282631e-02 1.10056796e-01 9.78282631e-02 1.34513862e-01 8.55997302e-02 6.11426644e-02 1.10056796e-01 1.34513862e-01 1.22285329e-01 8.55997302e-02 1.46742395e-01 3.66855986e-02 1.34513862e-01 1.22285329e-01 1.22285329e-01 6.11426644e-02 7.33711973e-02 1.34513862e-01 4.89141315e-02 1.34513862e-01 8.55997302e-02 9.78282631e-02 1.34513862e-01 1.46742395e-01 1.22285329e-01 7.33711973e-02 6.11426644e-02 9.78282631e-02 1.10056796e-01 1.34513862e-01 2.32342125e-01 7.33711973e-02 9.78282631e-02 6.11426644e-02 1.10056796e-01 1.34513862e-01 1.22285329e-01 9.78282631e-02 7.33711973e-02 1.10056796e-01 6.11426644e-02 6.11426644e-02 7.33711973e-02 1.71199460e-01 1.34513862e-01 7.33711973e-02 3.66855986e-02 8.55997302e-02 8.55997302e-02 1.58970927e-01 6.11426644e-02 8.55997302e-02 9.78282631e-02 1.22285329e-01 6.11426644e-02 1.10056796e-01 1.46742395e-01 2.44570658e-02 3.66855986e-02 3.66855986e-02 9.78282631e-02 1.22285329e-01 4.89141315e-02 1.10056796e-01 8.55997302e-02 1.10056796e-01 9.78282631e-02 1.58970927e-01 7.33711973e-02 1.46742395e-01 1.46742395e-01 1.10056796e-01 1.22285329e-01 1.46742395e-01 9.78282631e-02 7.33711973e-02 1.71199460e-01 1.10056796e-01 1.10056796e-01 8.55997302e-02 1.46742395e-01 7.33711973e-02 1.10056796e-01 1.10056796e-01 6.11426644e-02 1.58970927e-01 8.55997302e-02 9.78282631e-02 7.33711973e-02 1.34513862e-01 8.55997302e-02 9.78282631e-02 9.78282631e-02 7.33711973e-02 8.55997302e-02 6.11426644e-02 1.10056796e-01 1.46742395e-01 6.11426644e-02 1.22285329e-01 7.33711973e-02 9.78282631e-02 1.22285329e-02 1.71199460e-01 1.34513862e-01 4.89141315e-02 9.78282631e-02 1.10056796e-01 4.89141315e-02 4.89141315e-02 1.34513862e-01 7.33711973e-02 1.10056796e-01 7.33711973e-02 6.11426644e-02 7.33711973e-02 9.78282631e-02 9.78282631e-02 1.83427993e-01 8.55997302e-02 1.34513862e-01 1.22285329e-01 7.33711973e-02 9.78282631e-02 3.66855986e-02 9.78282631e-02 1.10056796e-01 7.33711973e-02 1.22285329e-01 1.10056796e-01 8.55997302e-02 7.33711973e-02 8.55997302e-02 1.10056796e-01 8.55997302e-02 1.34513862e-01 1.34513862e-01 6.11426644e-02 6.11426644e-02 3.66855986e-02 7.33711973e-02 1.34513862e-01 1.34513862e-01 4.89141315e-02 1.83427993e-01 6.11426644e-02 1.10056796e-01 1.22285329e-01 7.33711973e-02 1.95656526e-01 1.10056796e-01 9.78282631e-02 1.22285329e-01 1.22285329e-01 4.89141315e-02 8.55997302e-02 1.22285329e-01 8.55997302e-02 1.22285329e-01 8.55997302e-02 1.34513862e-01 1.34513862e-01 6.11426644e-02 1.10056796e-01 1.71199460e-01 3.66855986e-02 1.22285329e-01 7.33711973e-02 7.33711973e-02 8.55997302e-02 9.78282631e-02 1.34513862e-01 1.58970927e-01 1.10056796e-01 1.46742395e-01 1.58970927e-01 1.22285329e-01 8.55997302e-02 9.78282631e-02 1.71199460e-01 6.11426644e-02 7.33711973e-02 1.10056796e-01 7.33711973e-02 1.22285329e-01 1.34513862e-01 7.33711973e-02 8.55997302e-02 6.11426644e-02 8.55997302e-02 7.33711973e-02 8.55997302e-02 8.55997302e-02 9.78282631e-02 1.83427993e-01 1.10056796e-01 9.78282631e-02 1.34513862e-01 1.34513862e-01 1.58970927e-01 9.78282631e-02 9.78282631e-02 7.33711973e-02 9.78282631e-02 6.11426644e-02 1.46742395e-01 9.78282631e-02 7.33711973e-02 1.22285329e-02 9.78282631e-02 7.33711973e-02 7.33711973e-02 1.58970927e-01 7.33711973e-02 7.33711973e-02 1.58970927e-01 1.34513862e-01 1.34513862e-01 1.46742395e-01 7.33711973e-02 1.34513862e-01 7.33711973e-02 3.66855986e-02 1.58970927e-01 9.78282631e-02 1.10056796e-01 7.33711973e-02 1.10056796e-01 1.34513862e-01 4.89141315e-02 1.22285329e-01 3.66855986e-02 1.46742395e-01 4.89141315e-02 9.78282631e-02 1.34513862e-01 9.78282631e-02 7.33711973e-02 1.34513862e-01 1.10056796e-01 8.55997302e-02 6.11426644e-02 1.10056796e-01 9.78282631e-02 7.33711973e-02 8.55997302e-02 1.10056796e-01 1.46742395e-01 1.46742395e-01 6.11426644e-02 9.78282631e-02 8.55997302e-02 7.33711973e-02 1.22285329e-01 1.10056796e-01 9.78282631e-02 1.10056796e-01 6.11426644e-02 7.33711973e-02 1.83427993e-01 1.10056796e-01 9.78282631e-02 4.89141315e-02 1.10056796e-01 6.11426644e-02 8.55997302e-02 4.89141315e-02 6.11426644e-02 6.11426644e-02 8.55997302e-02 8.55997302e-02 7.33711973e-02 7.33711973e-02 1.10056796e-01 9.78282631e-02 9.78282631e-02 1.34513862e-01 8.55997302e-02 1.71199460e-01 7.33711973e-02 6.11426644e-02 1.58970927e-01 6.11426644e-02 9.78282631e-02 8.55997302e-02 1.22285329e-01 8.55997302e-02 1.58970927e-01 1.46742395e-01 9.78282631e-02 9.78282631e-02 1.10056796e-01 1.34513862e-01 1.46742395e-01 8.55997302e-02 6.11426644e-02 1.34513862e-01 6.11426644e-02 1.22285329e-01 9.78282631e-02 9.78282631e-02 1.34513862e-01 1.22285329e-01 9.78282631e-02 4.89141315e-02 1.71199460e-01 1.46742395e-01 1.22285329e-01 8.55997302e-02 1.22285329e-01 1.46742395e-01 4.89141315e-02 1.46742395e-01 1.22285329e-01 9.78282631e-02 1.22285329e-01 6.11426644e-02 1.10056796e-01 1.34513862e-01 1.46742395e-01 1.58970927e-01 6.11426644e-02 8.55997302e-02 1.34513862e-01 8.55997302e-02 1.22285329e-01 8.55997302e-02 7.33711973e-02 7.33711973e-02 1.10056796e-01 1.71199460e-01 1.34513862e-01 1.22285329e-01 1.22285329e-01 7.33711973e-02 4.89141315e-02 7.33711973e-02 6.11426644e-02 1.34513862e-01 8.55997302e-02 3.66855986e-02 7.33711973e-02 1.46742395e-01 8.55997302e-02 1.34513862e-01 1.34513862e-01 1.10056796e-01 6.11426644e-02 8.55997302e-02 8.55997302e-02 6.11426644e-02 1.22285329e-01 1.22285329e-01 9.78282631e-02 3.66855986e-02 1.46742395e-01 1.46742395e-01 1.22285329e-01 8.55997302e-02 1.22285329e-01 7.33711973e-02 2.44570658e-02 1.46742395e-01 8.55997302e-02 7.33711973e-02 1.34513862e-01 9.78282631e-02 8.55997302e-02 9.78282631e-02 6.11426644e-02 8.55997302e-02 6.11426644e-02 9.78282631e-02 3.66855986e-02 6.11426644e-02 7.33711973e-02 6.11426644e-02 1.22285329e-01 7.33711973e-02 6.11426644e-02 1.22285329e-01 1.83427993e-01 1.34513862e-01 1.46742395e-01 1.10056796e-01 7.33711973e-02 4.89141315e-02 1.22285329e-01 7.33711973e-02 8.55997302e-02 1.58970927e-01 1.10056796e-01 9.78282631e-02 1.34513862e-01 6.11426644e-02 6.11426644e-02 6.11426644e-02 1.46742395e-01 1.10056796e-01 1.83427993e-01 1.10056796e-01 1.58970927e-01 7.33711973e-02 1.22285329e-01 6.11426644e-02 4.89141315e-02 6.11426644e-02 4.89141315e-02 7.33711973e-02 7.33711973e-02 4.89141315e-02 9.78282631e-02 1.10056796e-01 1.58970927e-01 7.33711973e-02 9.78282631e-02 6.11426644e-02 9.78282631e-02 1.10056796e-01 1.46742395e-01 1.22285329e-01 8.55997302e-02 7.33711973e-02 9.78282631e-02 6.11426644e-02 7.33711973e-02 7.33711973e-02 1.10056796e-01 1.22285329e-01 1.71199460e-01 8.55997302e-02 7.33711973e-02 6.11426644e-02 4.89141315e-02 8.55997302e-02 9.78282631e-02 1.34513862e-01 4.89141315e-02 1.22285329e-01 1.58970927e-01 4.89141315e-02 6.11426644e-02 8.55997302e-02 9.78282631e-02 9.78282631e-02 1.10056796e-01 7.33711973e-02 1.71199460e-01 1.22285329e-01 8.55997302e-02 9.78282631e-02 1.22285329e-01 7.33711973e-02 6.11426644e-02 1.22285329e-01 4.89141315e-02 8.55997302e-02 9.78282631e-02 8.55997302e-02 9.78282631e-02 8.55997302e-02 9.78282631e-02 1.71199460e-01 4.89141315e-02 8.55997302e-02 9.78282631e-02 8.55997302e-02 7.33711973e-02 4.89141315e-02 1.10056796e-01 2.44570658e-02 9.78282631e-02 1.10056796e-01 9.78282631e-02 1.46742395e-01 8.55997302e-02 1.22285329e-01 1.22285329e-01 1.10056796e-01 1.10056796e-01 7.33711973e-02 1.10056796e-01 9.78282631e-02 3.66855986e-02 1.34513862e-01 7.33711973e-02 2.44570658e-02 6.11426644e-02 1.46742395e-01 9.78282631e-02 1.10056796e-01 8.55997302e-02 1.34513862e-01 1.46742395e-01 9.78282631e-02 1.22285329e-01 7.33711973e-02 2.20113592e-01 6.11426644e-02 4.89141315e-02 1.34513862e-01 1.10056796e-01 7.33711973e-02 1.46742395e-01 1.58970927e-01 1.22285329e-01 9.78282631e-02 1.46742395e-01 1.10056796e-01 1.22285329e-01 7.33711973e-02 8.55997302e-02 8.55997302e-02 9.78282631e-02 9.78282631e-02 1.10056796e-01 1.10056796e-01 8.55997302e-02 1.58970927e-01 1.22285329e-01 6.11426644e-02 8.55997302e-02 1.22285329e-01 8.55997302e-02 7.33711973e-02 1.22285329e-01 7.33711973e-02 7.33711973e-02 1.10056796e-01 9.78282631e-02 1.10056796e-01 7.33711973e-02 1.10056796e-01 8.55997302e-02 9.78282631e-02 8.55997302e-02 1.71199460e-01 1.34513862e-01 1.10056796e-01 9.78282631e-02 9.78282631e-02 8.55997302e-02 9.78282631e-02 1.58970927e-01 1.10056796e-01 3.66855986e-02 7.33711973e-02 2.44570658e-02 1.22285329e-01 1.10056796e-01 4.89141315e-02 1.22285329e-01 7.33711973e-02 9.78282631e-02 1.10056796e-01 1.22285329e-01 1.71199460e-01 1.46742395e-01 1.71199460e-01 8.55997302e-02 7.33711973e-02 1.71199460e-01 1.22285329e-01 1.46742395e-01 9.78282631e-02 1.71199460e-01 1.71199460e-01 1.34513862e-01 6.11426644e-02 1.10056796e-01 1.22285329e-01 8.55997302e-02 1.10056796e-01 1.10056796e-01 1.22285329e-01 1.34513862e-01 6.11426644e-02 1.83427993e-01 6.11426644e-02 8.55997302e-02 1.22285329e-01 1.34513862e-01 7.33711973e-02 1.22285329e-01 1.10056796e-01 8.55997302e-02 1.34513862e-01 1.22285329e-01 1.22285329e-01 3.66855986e-02 1.46742395e-01 1.22285329e-01 1.46742395e-01 1.22285329e-01 1.46742395e-01 8.55997302e-02 9.78282631e-02 1.22285329e-01 2.44570658e-02 1.10056796e-01 1.10056796e-01 1.83427993e-01 9.78282631e-02 9.78282631e-02 6.11426644e-02 6.11426644e-02 4.89141315e-02 8.55997302e-02 1.34513862e-01 9.78282631e-02 1.22285329e-01 1.95656526e-01 1.10056796e-01 7.33711973e-02 1.22285329e-01 1.58970927e-01 6.11426644e-02 8.55997302e-02 1.58970927e-01 1.83427993e-01 1.22285329e-01 6.11426644e-02 8.55997302e-02 1.34513862e-01 1.83427993e-01 8.55997302e-02 8.55997302e-02 1.46742395e-01 1.10056796e-01 1.10056796e-01 9.78282631e-02 1.22285329e-01 6.11426644e-02 4.89141315e-02 7.33711973e-02 1.10056796e-01 4.89141315e-02 1.10056796e-01 9.78282631e-02 7.33711973e-02 9.78282631e-02 8.55997302e-02 7.33711973e-02 1.46742395e-01 1.34513862e-01 3.66855986e-02 1.34513862e-01 7.33711973e-02 2.44570658e-02 1.58970927e-01 8.55997302e-02 8.55997302e-02 1.34513862e-01 8.55997302e-02 1.71199460e-01 7.33711973e-02 1.58970927e-01 8.55997302e-02 1.22285329e-01 1.58970927e-01 1.46742395e-01 1.34513862e-01 1.22285329e-01 1.34513862e-01 6.11426644e-02 1.22285329e-01 1.22285329e-02 1.10056796e-01 8.55997302e-02 1.34513862e-01 1.10056796e-01 9.78282631e-02 1.34513862e-01 4.89141315e-02 1.71199460e-01 9.78282631e-02 1.22285329e-01 1.10056796e-01 7.33711973e-02 1.10056796e-01 1.46742395e-01 2.44570658e-02 1.34513862e-01 1.22285329e-01 1.10056796e-01 7.33711973e-02 1.34513862e-01 7.33711973e-02 1.22285329e-01 1.22285329e-01 9.78282631e-02 8.55997302e-02 6.11426644e-02 9.78282631e-02 9.78282631e-02 9.78282631e-02 1.10056796e-01 8.55997302e-02 1.10056796e-01 1.10056796e-01 1.22285329e-01 1.10056796e-01 6.11426644e-02 9.78282631e-02 9.78282631e-02 7.33711973e-02 1.10056796e-01 4.89141315e-02 1.22285329e-01 6.11426644e-02 1.34513862e-01 1.58970927e-01 7.33711973e-02 6.11426644e-02 9.78282631e-02 6.11426644e-02 1.34513862e-01 7.33711973e-02 1.46742395e-01 1.10056796e-01 1.46742395e-01 1.10056796e-01 8.55997302e-02 1.10056796e-01 1.34513862e-01 6.11426644e-02 7.33711973e-02 1.71199460e-01 7.33711973e-02 1.22285329e-01 1.34513862e-01 1.22285329e-01 9.78282631e-02 1.34513862e-01 7.33711973e-02 1.10056796e-01 1.22285329e-01 1.46742395e-01 1.22285329e-01 1.22285329e-01 8.55997302e-02 1.46742395e-01 2.44570658e-02 4.89141315e-02 1.46742395e-01 1.10056796e-01 9.78282631e-02 6.11426644e-02 9.78282631e-02 1.22285329e-01 1.71199460e-01 7.33711973e-02 1.22285329e-01 1.58970927e-01 1.10056796e-01 1.46742395e-01 1.58970927e-01 2.20113592e-01 8.55997302e-02 9.78282631e-02 1.71199460e-01 9.78282631e-02 1.10056796e-01 9.78282631e-02 6.11426644e-02 1.10056796e-01 1.10056796e-01 1.46742395e-01 1.10056796e-01 9.78282631e-02 6.11426644e-02 1.22285329e-01 1.83427993e-01 1.10056796e-01 1.34513862e-01 4.89141315e-02 6.11426644e-02 1.46742395e-01 1.10056796e-01 7.33711973e-02 7.33711973e-02 9.78282631e-02 1.10056796e-01 1.22285329e-01 1.10056796e-01 3.66855986e-02 1.10056796e-01 6.11426644e-02 7.33711973e-02 8.55997302e-02 1.58970927e-01 2.20113592e-01 7.33711973e-02 8.55997302e-02 1.22285329e-01 7.33711973e-02 1.46742395e-01 8.55997302e-02 8.55997302e-02 9.78282631e-02 7.33711973e-02 7.33711973e-02 7.33711973e-02 6.11426644e-02 1.10056796e-01 1.22285329e-01 1.71199460e-01 1.22285329e-01 1.58970927e-01 1.58970927e-01 1.34513862e-01 1.10056796e-01 7.33711973e-02 1.10056796e-01 9.78282631e-02 7.33711973e-02 7.33711973e-02 7.33711973e-02 1.71199460e-01 6.11426644e-02 1.46742395e-01 1.95656526e-01 1.10056796e-01 9.78282631e-02 1.34513862e-01 9.78282631e-02 1.46742395e-01 1.10056796e-01 1.10056796e-01 4.89141315e-02 6.11426644e-02 7.33711973e-02 1.71199460e-01 1.46742395e-01 4.89141315e-02 1.10056796e-01 1.10056796e-01 7.33711973e-02 1.46742395e-01 8.55997302e-02 8.55997302e-02 8.55997302e-02 1.22285329e-01 9.78282631e-02 1.34513862e-01 7.33711973e-02 3.66855986e-02 8.55997302e-02 1.10056796e-01 1.34513862e-01 1.46742395e-01 8.55997302e-02 1.83427993e-01 1.46742395e-01 1.46742395e-01 1.83427993e-01 1.10056796e-01 7.33711973e-02 1.22285329e-01 1.10056796e-01 1.10056796e-01 1.22285329e-01 8.55997302e-02 1.22285329e-01 1.46742395e-01 9.78282631e-02 9.78282631e-02 1.34513862e-01 3.66855986e-02 1.83427993e-01 9.78282631e-02 1.22285329e-01 4.89141315e-02 8.55997302e-02 9.78282631e-02 9.78282631e-02 1.71199460e-01 9.78282631e-02 7.33711973e-02 8.55997302e-02 9.78282631e-02 1.22285329e-01 9.78282631e-02 1.46742395e-01 1.34513862e-01 1.10056796e-01 1.22285329e-01 1.10056796e-01 8.55997302e-02 1.58970927e-01 1.58970927e-01 8.55997302e-02 1.10056796e-01 1.22285329e-01 1.83427993e-01 7.33711973e-02 1.22285329e-01 1.46742395e-01 1.22285329e-01 1.22285329e-01 1.22285329e-01 8.55997302e-02 9.78282631e-02 7.33711973e-02 1.34513862e-01 1.46742395e-01 1.71199460e-01 1.46742395e-01 1.46742395e-01 1.10056796e-01 1.10056796e-01 1.83427993e-01 9.78282631e-02 1.34513862e-01 1.34513862e-01 7.33711973e-02 9.78282631e-02 8.55997302e-02 9.78282631e-02 1.46742395e-01 6.11426644e-02 1.22285329e-01 1.10056796e-01 1.34513862e-01 1.22285329e-01 1.83427993e-01 1.34513862e-01 7.33711973e-02 4.89141315e-02 1.58970927e-01 8.55997302e-02 1.71199460e-01 1.58970927e-01 1.10056796e-01 7.33711973e-02 8.55997302e-02 8.55997302e-02 1.34513862e-01 1.10056796e-01 1.34513862e-01 1.46742395e-01 7.33711973e-02 7.33711973e-02 8.55997302e-02 8.55997302e-02 1.10056796e-01 8.55997302e-02 6.11426644e-02 7.33711973e-02 1.10056796e-01 2.07885059e-01 8.55997302e-02 1.10056796e-01 1.34513862e-01 8.55997302e-02 1.46742395e-01 8.55997302e-02 1.10056796e-01 4.89141315e-02 1.10056796e-01 8.55997302e-02 1.22285329e-01 9.78282631e-02 9.78282631e-02 1.34513862e-01 1.58970927e-01 9.78282631e-02 1.95656526e-01 1.10056796e-01 9.78282631e-02 1.34513862e-01 1.22285329e-01 7.33711973e-02 1.10056796e-01 1.34513862e-01 6.11426644e-02 4.89141315e-02 1.22285329e-01 7.33711973e-02 9.78282631e-02 1.10056796e-01 1.10056796e-01 1.83427993e-01 1.10056796e-01 7.33711973e-02 1.34513862e-01 8.55997302e-02 1.46742395e-01 6.11426644e-02 9.78282631e-02 1.22285329e-01 1.46742395e-01 9.78282631e-02 9.78282631e-02 1.10056796e-01 1.71199460e-01 7.33711973e-02 8.55997302e-02 2.32342125e-01 8.55997302e-02 1.71199460e-01 6.11426644e-02 8.55997302e-02 4.89141315e-02 1.10056796e-01 9.78282631e-02 1.58970927e-01 1.22285329e-01 1.83427993e-01 1.10056796e-01 7.33711973e-02 1.95656526e-01 2.07885059e-01 8.55997302e-02 9.78282631e-02 7.33711973e-02 1.10056796e-01 9.78282631e-02 1.34513862e-01 7.33711973e-02 1.34513862e-01 1.95656526e-01 9.78282631e-02 1.22285329e-01 1.22285329e-01 1.83427993e-01 1.22285329e-01 7.33711973e-02 1.10056796e-01 1.22285329e-01 2.07885059e-01 1.22285329e-01 1.58970927e-01 1.46742395e-01 1.58970927e-01 9.78282631e-02 9.78282631e-02 1.46742395e-01 1.34513862e-01 3.66855986e-02 8.55997302e-02 1.10056796e-01 1.10056796e-01 9.78282631e-02 9.78282631e-02 9.78282631e-02 1.95656526e-01 1.34513862e-01 8.55997302e-02 1.22285329e-01 1.46742395e-01 4.89141315e-02 8.55997302e-02 6.11426644e-02 1.22285329e-01 3.66855986e-02 9.78282631e-02 1.34513862e-01 1.10056796e-01 1.22285329e-01 1.71199460e-01 1.34513862e-01 1.10056796e-01 1.10056796e-01 1.22285329e-01 8.55997302e-02 1.10056796e-01 1.10056796e-01 8.55997302e-02 1.10056796e-01 1.34513862e-01 1.10056796e-01 1.34513862e-01 1.46742395e-01 8.55997302e-02 1.58970927e-01 1.22285329e-01 1.34513862e-01 1.71199460e-01 9.78282631e-02 1.22285329e-01 2.07885059e-01 1.22285329e-01 1.46742395e-01 1.34513862e-01 1.10056796e-01 1.10056796e-01 1.22285329e-01 7.33711973e-02 1.10056796e-01 9.78282631e-02 1.22285329e-01 1.22285329e-01 9.78282631e-02 6.11426644e-02 1.34513862e-01 9.78282631e-02 9.78282631e-02 1.58970927e-01 1.46742395e-01 1.22285329e-01 9.78282631e-02 9.78282631e-02 1.10056796e-01 7.33711973e-02 9.78282631e-02 8.55997302e-02 1.10056796e-01 1.46742395e-01 1.22285329e-01 1.22285329e-01 1.46742395e-01 9.78282631e-02 7.33711973e-02 1.10056796e-01 1.95656526e-01 1.83427993e-01 7.33711973e-02 1.83427993e-01 1.10056796e-01 9.78282631e-02 1.46742395e-01 1.58970927e-01 9.78282631e-02 8.55997302e-02 1.71199460e-01 1.22285329e-01 8.55997302e-02 1.34513862e-01 1.34513862e-01 1.34513862e-01 8.55997302e-02 1.10056796e-01 1.22285329e-01 6.11426644e-02 1.34513862e-01 1.46742395e-01 1.71199460e-01 1.10056796e-01 8.55997302e-02 1.95656526e-01 7.33711973e-02 1.58970927e-01 4.89141315e-02 1.58970927e-01 1.83427993e-01 9.78282631e-02 8.55997302e-02 7.33711973e-02 3.66855986e-02 1.10056796e-01 7.33711973e-02 6.11426644e-02 7.33711973e-02 1.10056796e-01 1.22285329e-01 1.71199460e-01 1.58970927e-01 1.10056796e-01 6.11426644e-02 1.22285329e-01 1.22285329e-01 1.46742395e-01 9.78282631e-02 1.34513862e-01 8.55997302e-02 3.66855986e-02 9.78282631e-02 9.78282631e-02 1.34513862e-01 8.55997302e-02 1.34513862e-01 9.78282631e-02 4.89141315e-02 1.34513862e-01 1.95656526e-01 1.71199460e-01 8.55997302e-02 1.22285329e-01 1.58970927e-01 1.58970927e-01 8.55997302e-02 3.66855986e-02 6.11426644e-02 1.95656526e-01 4.89141315e-02 1.22285329e-01 1.10056796e-01 6.11426644e-02 1.83427993e-01 6.11426644e-02 1.58970927e-01 9.78282631e-02 6.11426644e-02 9.78282631e-02 1.46742395e-01 7.33711973e-02 1.22285329e-01 1.83427993e-01 1.22285329e-01 1.71199460e-01 1.10056796e-01 1.71199460e-01 1.10056796e-01 1.22285329e-01 1.22285329e-01 1.71199460e-01 1.10056796e-01 6.11426644e-02 1.10056796e-01 1.34513862e-01 1.34513862e-01 8.55997302e-02 1.46742395e-01 1.22285329e-01 8.55997302e-02 7.33711973e-02 1.58970927e-01 1.34513862e-01 1.34513862e-01 8.55997302e-02 1.34513862e-01 4.89141315e-02 1.34513862e-01 7.33711973e-02 9.78282631e-02 2.07885059e-01 1.46742395e-01 1.34513862e-01 7.33711973e-02 7.33711973e-02 9.78282631e-02 1.34513862e-01 1.34513862e-01 1.46742395e-01 1.71199460e-01 9.78282631e-02 1.22285329e-01 1.34513862e-01 9.78282631e-02 8.55997302e-02 1.46742395e-01 1.58970927e-01 9.78282631e-02 1.22285329e-01 1.22285329e-01 1.83427993e-01 9.78282631e-02 1.22285329e-01 1.46742395e-01 8.55997302e-02 7.33711973e-02 7.33711973e-02 9.78282631e-02 2.07885059e-01 1.46742395e-01 1.46742395e-01 1.22285329e-01 9.78282631e-02 9.78282631e-02 2.07885059e-01 2.44570658e-02 8.55997302e-02 1.71199460e-01 6.11426644e-02 1.58970927e-01 1.22285329e-01 8.55997302e-02 1.95656526e-01 1.34513862e-01 8.55997302e-02 1.22285329e-02 1.71199460e-01 1.58970927e-01 8.55997302e-02 1.22285329e-01 1.83427993e-01 1.22285329e-01 8.55997302e-02 1.58970927e-01 1.22285329e-01 1.22285329e-01 1.22285329e-01 1.34513862e-01 8.55997302e-02 8.55997302e-02 1.83427993e-01 1.58970927e-01 1.34513862e-01 1.10056796e-01 1.34513862e-01 9.78282631e-02 1.95656526e-01 1.71199460e-01 1.46742395e-01 1.34513862e-01 8.55997302e-02 9.78282631e-02 1.58970927e-01 1.22285329e-01 7.33711973e-02 1.46742395e-01 2.07885059e-01 1.95656526e-01 9.78282631e-02 4.89141315e-02 1.58970927e-01 1.71199460e-01 8.55997302e-02 1.34513862e-01 1.34513862e-01 1.46742395e-01 9.78282631e-02 9.78282631e-02 8.55997302e-02 8.55997302e-02 1.95656526e-01 8.55997302e-02 9.78282631e-02 1.83427993e-01 1.22285329e-01 1.58970927e-01 1.22285329e-01 1.71199460e-01 1.10056796e-01 1.58970927e-01 8.55997302e-02 1.58970927e-01 1.34513862e-01 1.22285329e-01 1.95656526e-01 1.22285329e-01 7.33711973e-02 1.10056796e-01 9.78282631e-02 1.34513862e-01 1.71199460e-01 1.10056796e-01 1.34513862e-01 1.34513862e-01 1.58970927e-01 1.83427993e-01 8.55997302e-02 1.58970927e-01 1.58970927e-01 6.11426644e-02 1.22285329e-01 7.33711973e-02 1.58970927e-01 7.33711973e-02 1.46742395e-01 8.55997302e-02 1.10056796e-01 1.22285329e-01 1.46742395e-01 1.46742395e-01 1.10056796e-01 6.11426644e-02 1.10056796e-01 1.83427993e-01 1.46742395e-01 1.22285329e-01 9.78282631e-02 1.71199460e-01 1.71199460e-01 1.10056796e-01 1.46742395e-01 1.46742395e-01 8.55997302e-02 7.33711973e-02 1.46742395e-01 1.34513862e-01 1.58970927e-01 9.78282631e-02 1.46742395e-01 8.55997302e-02 1.71199460e-01 1.58970927e-01 9.78282631e-02 1.46742395e-01 9.78282631e-02 6.11426644e-02 1.58970927e-01 8.55997302e-02 9.78282631e-02 1.46742395e-01 8.55997302e-02 9.78282631e-02 1.71199460e-01 1.34513862e-01 1.34513862e-01 1.34513862e-01 1.22285329e-01 1.46742395e-01 1.10056796e-01 1.22285329e-01 1.71199460e-01 9.78282631e-02 1.46742395e-01 1.10056796e-01 1.71199460e-01 1.46742395e-01 6.11426644e-02 1.71199460e-01 8.55997302e-02 1.34513862e-01 1.34513862e-01 1.58970927e-01 1.34513862e-01 1.34513862e-01 1.71199460e-01 6.11426644e-02 8.55997302e-02 1.22285329e-01 2.07885059e-01 8.55997302e-02 1.34513862e-01 1.22285329e-01 1.22285329e-01 1.10056796e-01 1.71199460e-01 1.10056796e-01 1.34513862e-01 1.22285329e-01 1.46742395e-01 1.95656526e-01 1.58970927e-01 1.34513862e-01 9.78282631e-02 1.71199460e-01 8.55997302e-02 1.58970927e-01 1.10056796e-01 4.89141315e-02 2.07885059e-01 1.22285329e-01 4.89141315e-02 1.22285329e-01 1.34513862e-01 1.22285329e-01 1.58970927e-01 1.95656526e-01 1.34513862e-01 7.33711973e-02 1.22285329e-01 1.46742395e-01 1.71199460e-01 2.44570658e-01 7.33711973e-02 9.78282631e-02 1.34513862e-01 1.83427993e-01 9.78282631e-02 9.78282631e-02 8.55997302e-02 1.22285329e-01 1.34513862e-01 1.22285329e-01 1.22285329e-01 1.83427993e-01 9.78282631e-02 1.22285329e-01 9.78282631e-02 1.34513862e-01 1.34513862e-01 1.58970927e-01 1.10056796e-01 2.07885059e-01 2.20113592e-01 6.11426644e-02 1.34513862e-01 1.22285329e-01 1.34513862e-01 8.55997302e-02 1.58970927e-01 8.55997302e-02 1.58970927e-01 1.10056796e-01 1.10056796e-01 9.78282631e-02 9.78282631e-02 1.46742395e-01 1.34513862e-01 1.22285329e-01 2.20113592e-01 1.83427993e-01 2.32342125e-01 9.78282631e-02 1.83427993e-01 9.78282631e-02 1.83427993e-01 4.89141315e-02 1.10056796e-01 1.34513862e-01 1.83427993e-01 7.33711973e-02 1.46742395e-01 1.10056796e-01 1.46742395e-01 1.46742395e-01 1.10056796e-01 9.78282631e-02 1.71199460e-01 9.78282631e-02 1.58970927e-01 1.71199460e-01 1.34513862e-01 1.34513862e-01 9.78282631e-02 1.46742395e-01 1.46742395e-01 1.34513862e-01 1.22285329e-01 1.71199460e-01 1.46742395e-01 9.78282631e-02 8.55997302e-02 1.10056796e-01 1.22285329e-01 1.10056796e-01 1.22285329e-01 1.10056796e-01 4.89141315e-02 6.11426644e-02 7.33711973e-02 8.55997302e-02 1.71199460e-01 1.71199460e-01 1.34513862e-01 1.10056796e-01 1.10056796e-01 1.22285329e-01 2.32342125e-01 7.33711973e-02 9.78282631e-02 1.10056796e-01 1.95656526e-01 7.33711973e-02 1.34513862e-01 1.46742395e-01 1.34513862e-01 1.10056796e-01 8.55997302e-02 1.58970927e-01 1.10056796e-01 4.89141315e-02 1.34513862e-01 1.10056796e-01 1.22285329e-01 1.46742395e-01 1.10056796e-01 1.71199460e-01 1.10056796e-01 1.46742395e-01 1.58970927e-01 1.22285329e-01 1.22285329e-01 1.22285329e-01 1.58970927e-01 1.34513862e-01 1.95656526e-01 1.71199460e-01 1.22285329e-01 1.71199460e-01 9.78282631e-02 3.66855986e-02 1.83427993e-01 1.34513862e-01 1.22285329e-01 1.46742395e-01 1.46742395e-01 6.11426644e-02 8.55997302e-02 9.78282631e-02 1.71199460e-01 1.95656526e-01 1.34513862e-01 1.46742395e-01 1.71199460e-01 1.10056796e-01 1.46742395e-01 1.34513862e-01 1.34513862e-01 1.22285329e-01 1.34513862e-01 1.22285329e-01 1.46742395e-01 9.78282631e-02 1.34513862e-01 2.07885059e-01 1.46742395e-01 1.71199460e-01 1.10056796e-01 2.56799191e-01 1.71199460e-01 2.07885059e-01 1.46742395e-01 1.22285329e-01 1.22285329e-01 1.10056796e-01 9.78282631e-02 1.34513862e-01 7.33711973e-02 1.10056796e-01 1.46742395e-01 1.34513862e-01 1.58970927e-01 2.20113592e-01 1.10056796e-01 1.95656526e-01 1.10056796e-01 1.34513862e-01 1.46742395e-01 1.46742395e-01 1.71199460e-01 1.22285329e-01 2.07885059e-01 1.10056796e-01 1.95656526e-01 2.44570658e-01 9.78282631e-02 1.10056796e-01 1.34513862e-01 9.78282631e-02 1.10056796e-01 9.78282631e-02 1.10056796e-01 1.10056796e-01 1.71199460e-01 1.71199460e-01 1.58970927e-01 7.33711973e-02 1.34513862e-01 1.71199460e-01 1.34513862e-01 9.78282631e-02 1.71199460e-01 1.95656526e-01 9.78282631e-02 1.71199460e-01 1.95656526e-01 1.10056796e-01 1.22285329e-01 1.34513862e-01 1.58970927e-01 1.71199460e-01 2.07885059e-01 1.10056796e-01 1.71199460e-01 2.56799191e-01 1.95656526e-01 7.33711973e-02 2.07885059e-01 1.34513862e-01 1.10056796e-01 1.46742395e-01 1.83427993e-01 2.20113592e-01 8.55997302e-02 1.22285329e-01 1.95656526e-01 8.55997302e-02 1.95656526e-01 1.10056796e-01 1.95656526e-01 1.34513862e-01 6.11426644e-02 7.33711973e-02 1.22285329e-01 1.46742395e-01 1.22285329e-01 1.10056796e-01 1.34513862e-01 1.58970927e-01 1.34513862e-01 2.20113592e-01 8.55997302e-02 1.34513862e-01 1.95656526e-01 1.58970927e-01 1.58970927e-01 1.83427993e-01 1.95656526e-01 1.95656526e-01 1.34513862e-01 9.78282631e-02 1.58970927e-01 2.07885059e-01 1.58970927e-01 1.22285329e-01 1.10056796e-01 1.22285329e-01 1.58970927e-01 2.07885059e-01 1.95656526e-01 1.22285329e-01 7.33711973e-02 1.83427993e-01 1.71199460e-01 1.10056796e-01 9.78282631e-02 2.20113592e-01 2.07885059e-01 2.32342125e-01 1.10056796e-01 1.46742395e-01 1.22285329e-01 1.83427993e-01 1.71199460e-01 1.83427993e-01 1.46742395e-01 1.46742395e-01 1.46742395e-01 1.22285329e-01 2.20113592e-01 1.34513862e-01 1.46742395e-01 9.78282631e-02 1.83427993e-01 1.71199460e-01 1.10056796e-01 1.71199460e-01 2.20113592e-01 1.71199460e-01 9.78282631e-02 9.78282631e-02 8.55997302e-02 1.34513862e-01 1.71199460e-01 2.07885059e-01 1.58970927e-01 1.95656526e-01 1.46742395e-01 1.22285329e-01 1.10056796e-01 1.83427993e-01 2.44570658e-01 1.58970927e-01 1.83427993e-01 1.46742395e-01 2.07885059e-01 2.32342125e-01 1.46742395e-01 1.83427993e-01 1.58970927e-01 2.20113592e-01 1.46742395e-01 1.10056796e-01 7.33711973e-02 1.34513862e-01 1.95656526e-01 1.10056796e-01 1.22285329e-01 1.10056796e-01 1.10056796e-01 1.95656526e-01 4.89141315e-02 1.83427993e-01 1.95656526e-01 1.10056796e-01 1.58970927e-01 9.78282631e-02 1.71199460e-01 1.58970927e-01 1.58970927e-01 8.55997302e-02 2.07885059e-01 1.34513862e-01 1.71199460e-01 9.78282631e-02 2.07885059e-01 8.55997302e-02 1.46742395e-01 1.34513862e-01 1.22285329e-01 1.83427993e-01 9.78282631e-02 1.34513862e-01 1.83427993e-01 1.58970927e-01 1.34513862e-01 7.33711973e-02 1.83427993e-01 1.58970927e-01 1.10056796e-01 1.34513862e-01 6.11426644e-02 1.22285329e-01 1.10056796e-01 1.22285329e-01 6.11426644e-02 1.22285329e-01 1.22285329e-01 1.34513862e-01 1.58970927e-01 1.34513862e-01 1.58970927e-01 1.46742395e-01 1.58970927e-01 1.34513862e-01 1.83427993e-01 7.33711973e-02 1.46742395e-01 2.07885059e-01 7.33711973e-02 2.32342125e-01 1.10056796e-01 1.46742395e-01 1.83427993e-01 1.34513862e-01 1.58970927e-01 1.58970927e-01 1.34513862e-01 9.78282631e-02 1.10056796e-01 2.56799191e-01 1.71199460e-01 1.46742395e-01 1.22285329e-01 9.78282631e-02 1.22285329e-01 1.34513862e-01 1.71199460e-01 1.58970927e-01 1.46742395e-01 1.71199460e-01 1.71199460e-01 1.58970927e-01 9.78282631e-02 8.55997302e-02 1.22285329e-01 1.58970927e-01 1.34513862e-01 1.95656526e-01 1.34513862e-01 1.46742395e-01 1.58970927e-01 1.46742395e-01 1.95656526e-01 1.83427993e-01 1.95656526e-01 2.32342125e-01 1.83427993e-01 1.46742395e-01 9.78282631e-02 1.83427993e-01 1.83427993e-01 1.83427993e-01 1.95656526e-01 1.58970927e-01 9.78282631e-02 1.83427993e-01 1.83427993e-01 1.22285329e-01 2.32342125e-01 8.55997302e-02 1.34513862e-01 1.10056796e-01 1.46742395e-01 1.58970927e-01 1.46742395e-01 1.46742395e-01 2.20113592e-01 1.34513862e-01 1.46742395e-01 2.20113592e-01 1.10056796e-01 1.95656526e-01 1.46742395e-01 1.95656526e-01 2.20113592e-01 1.58970927e-01 2.32342125e-01 1.46742395e-01 2.44570658e-01 1.46742395e-01 6.11426644e-02 1.83427993e-01 2.07885059e-01 1.34513862e-01 2.20113592e-01 1.95656526e-01 1.58970927e-01 1.71199460e-01 2.32342125e-01 1.10056796e-01 1.83427993e-01 1.71199460e-01 1.71199460e-01 1.34513862e-01 1.83427993e-01 1.71199460e-01 1.22285329e-01 1.10056796e-01 1.10056796e-01 1.34513862e-01 2.32342125e-01 1.95656526e-01 2.32342125e-01 2.81256256e-01 1.83427993e-01 1.34513862e-01 1.58970927e-01 1.58970927e-01 1.83427993e-01 2.32342125e-01 1.34513862e-01 1.34513862e-01 1.46742395e-01 2.07885059e-01 1.46742395e-01 9.78282631e-02 2.69027723e-01 1.83427993e-01 1.95656526e-01 1.46742395e-01 1.58970927e-01 8.55997302e-02 2.07885059e-01 1.46742395e-01 1.34513862e-01 1.46742395e-01 1.34513862e-01 1.71199460e-01 1.71199460e-01 2.07885059e-01 2.07885059e-01 1.22285329e-01 1.58970927e-01 1.22285329e-01 9.78282631e-02 1.22285329e-01 1.58970927e-01 2.44570658e-01 1.83427993e-01 1.71199460e-01 1.95656526e-01 1.10056796e-01 6.11426644e-02 1.34513862e-01 1.22285329e-01 1.83427993e-01 1.10056796e-01 1.71199460e-01 1.83427993e-01 1.71199460e-01 1.10056796e-01 1.34513862e-01 9.78282631e-02 2.44570658e-01 1.58970927e-01 1.34513862e-01 1.58970927e-01 9.78282631e-02 1.95656526e-01 1.71199460e-01 1.58970927e-01 2.44570658e-01 1.71199460e-01 1.10056796e-01 1.10056796e-01 2.07885059e-01 1.58970927e-01 1.22285329e-01 3.42398921e-01 2.07885059e-01 1.83427993e-01 1.34513862e-01 2.56799191e-01 1.46742395e-01 1.22285329e-01 2.32342125e-01 1.22285329e-01 1.83427993e-01 1.83427993e-01 1.22285329e-01 1.58970927e-01 1.58970927e-01 2.20113592e-01 1.46742395e-01 1.10056796e-01 1.95656526e-01 1.58970927e-01 1.10056796e-01 1.58970927e-01 1.95656526e-01 1.71199460e-01 2.44570658e-01 1.58970927e-01 2.20113592e-01 1.71199460e-01 1.46742395e-01 1.58970927e-01 1.46742395e-01 2.07885059e-01 1.22285329e-01 8.55997302e-02 2.07885059e-01 1.95656526e-01 1.71199460e-01 1.10056796e-01 1.71199460e-01 9.78282631e-02 1.83427993e-01 1.71199460e-01 1.95656526e-01 1.46742395e-01 1.83427993e-01 2.44570658e-01 1.71199460e-01 1.71199460e-01 8.55997302e-02 1.58970927e-01 2.32342125e-01 2.20113592e-01 1.46742395e-01 1.71199460e-01 1.83427993e-01 1.58970927e-01 1.95656526e-01 2.81256256e-01 1.58970927e-01 1.58970927e-01 1.46742395e-01 1.83427993e-01 1.46742395e-01 1.71199460e-01 1.83427993e-01 1.34513862e-01 1.83427993e-01 1.34513862e-01 2.20113592e-01 1.71199460e-01 1.95656526e-01 2.44570658e-01 1.71199460e-01 8.55997302e-02 1.34513862e-01 1.34513862e-01 1.10056796e-01 1.71199460e-01 1.46742395e-01 1.95656526e-01 1.34513862e-01 2.81256256e-01 2.56799191e-01 1.34513862e-01 1.34513862e-01 1.46742395e-01 1.34513862e-01 1.58970927e-01 2.07885059e-01 1.22285329e-01 3.05713322e-01 1.95656526e-01 1.71199460e-01 1.10056796e-01 1.46742395e-01 2.07885059e-01 1.58970927e-01 1.22285329e-01 1.34513862e-01 1.46742395e-01 1.71199460e-01 2.32342125e-01 1.83427993e-01 2.07885059e-01 8.55997302e-02 2.20113592e-01 1.58970927e-01 1.95656526e-01 1.46742395e-01 1.71199460e-01 1.58970927e-01 1.10056796e-01 1.95656526e-01 1.95656526e-01 1.58970927e-01 1.95656526e-01 1.95656526e-01 1.71199460e-01 2.07885059e-01 1.95656526e-01 1.46742395e-01 1.83427993e-01 1.46742395e-01 2.20113592e-01 2.44570658e-01 1.71199460e-01 1.83427993e-01 1.58970927e-01 2.07885059e-01 1.71199460e-01 2.32342125e-01 1.46742395e-01 2.07885059e-01 1.83427993e-01 1.22285329e-01 1.83427993e-01 1.22285329e-01 9.78282631e-02 1.71199460e-01 1.58970927e-01 1.83427993e-01 1.58970927e-01 2.20113592e-01 2.07885059e-01 1.71199460e-01 1.46742395e-01 1.10056796e-01 2.20113592e-01 2.07885059e-01 1.95656526e-01 1.22285329e-01 1.46742395e-01 1.22285329e-01 2.32342125e-01 1.34513862e-01 1.46742395e-01 2.20113592e-01 1.46742395e-01 2.07885059e-01 1.71199460e-01 1.95656526e-01 2.32342125e-01 1.34513862e-01 1.95656526e-01 1.71199460e-01 2.07885059e-01 1.95656526e-01 1.46742395e-01 2.44570658e-01 1.71199460e-01 2.07885059e-01 1.95656526e-01 1.58970927e-01 1.83427993e-01 1.95656526e-01 2.07885059e-01 1.83427993e-01 2.07885059e-01 1.22285329e-01 1.34513862e-01 1.58970927e-01 1.95656526e-01 1.58970927e-01 1.83427993e-01 1.71199460e-01 2.32342125e-01 1.83427993e-01 3.30170388e-01 1.34513862e-01 2.20113592e-01 2.20113592e-01 3.05713322e-01 1.58970927e-01 1.58970927e-01 1.83427993e-01 1.83427993e-01 1.58970927e-01 2.44570658e-01 1.95656526e-01 2.81256256e-01 1.58970927e-01 2.07885059e-01 2.93484789e-01 2.32342125e-01 1.34513862e-01 1.83427993e-01 1.71199460e-01 1.22285329e-01 1.71199460e-01 2.44570658e-01 1.71199460e-01 1.95656526e-01 2.07885059e-01 1.71199460e-01 1.95656526e-01 1.58970927e-01 1.34513862e-01 1.71199460e-01 3.05713322e-01 2.20113592e-01 1.22285329e-01 1.71199460e-01 1.46742395e-01 1.34513862e-01 1.10056796e-01 2.81256256e-01 1.83427993e-01 2.20113592e-01 2.32342125e-01 1.46742395e-01 2.20113592e-01 1.46742395e-01 1.95656526e-01 6.11426644e-02 2.32342125e-01 1.46742395e-01 2.32342125e-01 1.83427993e-01 1.10056796e-01 1.46742395e-01 1.71199460e-01 1.22285329e-01 1.22285329e-01 1.34513862e-01 1.95656526e-01 2.93484789e-01 2.07885059e-01 2.07885059e-01 1.10056796e-01 2.20113592e-01 2.07885059e-01 1.95656526e-01 1.95656526e-01 2.20113592e-01 2.32342125e-01 1.71199460e-01 2.81256256e-01 1.46742395e-01 1.34513862e-01 2.56799191e-01 2.07885059e-01 1.46742395e-01 2.44570658e-01 1.95656526e-01 1.71199460e-01 1.95656526e-01 2.20113592e-01 1.46742395e-01 1.10056796e-01 9.78282631e-02 1.58970927e-01 1.71199460e-01 2.44570658e-01 2.07885059e-01 1.58970927e-01 1.95656526e-01 2.44570658e-01 1.46742395e-01 2.07885059e-01 1.83427993e-01 1.34513862e-01 1.46742395e-01 2.20113592e-01 2.32342125e-01 1.46742395e-01 2.44570658e-01 1.58970927e-01 9.78282631e-02 1.58970927e-01 2.20113592e-01 2.32342125e-01 1.34513862e-01 1.46742395e-01 1.58970927e-01 2.07885059e-01 2.32342125e-01 2.81256256e-01 2.56799191e-01 1.83427993e-01 2.56799191e-01 2.20113592e-01 2.20113592e-01 1.58970927e-01 1.83427993e-01 3.05713322e-01 3.91313052e-01 1.71199460e-01 1.34513862e-01 1.83427993e-01 2.56799191e-01 1.95656526e-01 1.95656526e-01 1.46742395e-01 1.71199460e-01 1.71199460e-01 2.20113592e-01 2.20113592e-01 1.34513862e-01 2.56799191e-01 1.95656526e-01 2.20113592e-01 1.58970927e-01 2.32342125e-01 1.95656526e-01 1.71199460e-01 1.71199460e-01 2.07885059e-01 2.20113592e-01 1.71199460e-01 1.10056796e-01 1.71199460e-01 1.58970927e-01 3.42398921e-01 3.66855986e-01 2.44570658e-01 2.93484789e-01 2.07885059e-01 2.20113592e-01 1.83427993e-01 2.07885059e-01 1.83427993e-01 2.32342125e-01 2.44570658e-01 1.58970927e-01 1.83427993e-01 1.22285329e-01 2.20113592e-01 1.71199460e-01 3.30170388e-01 1.83427993e-01 2.32342125e-01 2.20113592e-01 1.83427993e-01 2.07885059e-01 1.34513862e-01 1.34513862e-01 1.83427993e-01 2.32342125e-01 2.20113592e-01 1.83427993e-01 2.20113592e-01 1.71199460e-01 1.83427993e-01 1.83427993e-01 2.81256256e-01 1.46742395e-01 2.44570658e-01 2.44570658e-01 1.58970927e-01 1.95656526e-01 2.56799191e-01 3.17941855e-01 1.71199460e-01 2.69027723e-01 2.32342125e-01 1.71199460e-01 3.05713322e-01 1.83427993e-01 2.56799191e-01 2.69027723e-01 1.83427993e-01 2.32342125e-01 2.07885059e-01 1.71199460e-01 3.05713322e-01 2.32342125e-01 2.32342125e-01 1.46742395e-01 1.83427993e-01 2.20113592e-01 1.95656526e-01 1.58970927e-01 1.58970927e-01 2.07885059e-01 2.56799191e-01 1.34513862e-01 2.69027723e-01 2.20113592e-01 1.95656526e-01 2.56799191e-01 1.58970927e-01 1.71199460e-01 1.83427993e-01 1.71199460e-01 1.83427993e-01 2.20113592e-01 1.22285329e-01 2.32342125e-01 1.71199460e-01 2.56799191e-01 1.95656526e-01 2.32342125e-01 2.32342125e-01 1.95656526e-01 2.07885059e-01 2.07885059e-01 2.44570658e-01 2.32342125e-01 1.83427993e-01 3.05713322e-01 1.58970927e-01 1.71199460e-01 2.44570658e-01 2.20113592e-01 1.71199460e-01 2.07885059e-01 2.20113592e-01 2.20113592e-01 1.58970927e-01 1.95656526e-01 1.22285329e-01 1.71199460e-01 2.07885059e-01 8.55997302e-02 2.20113592e-01 2.07885059e-01 2.20113592e-01 2.44570658e-01 2.69027723e-01 2.20113592e-01 2.93484789e-01 2.93484789e-01 2.81256256e-01 2.20113592e-01 2.44570658e-01 3.05713322e-01 1.83427993e-01 1.46742395e-01 1.58970927e-01 1.58970927e-01 2.69027723e-01 1.95656526e-01 1.71199460e-01 2.44570658e-01 2.81256256e-01 1.83427993e-01 2.20113592e-01 2.20113592e-01 1.22285329e-01 1.58970927e-01 2.20113592e-01 2.07885059e-01 2.69027723e-01 1.34513862e-01 1.83427993e-01 3.05713322e-01 2.07885059e-01 2.20113592e-01 2.69027723e-01 1.83427993e-01 2.69027723e-01 2.56799191e-01 2.44570658e-01 2.07885059e-01 2.07885059e-01 1.22285329e-01 2.44570658e-01 2.20113592e-01 2.56799191e-01 3.17941855e-01 1.34513862e-01 2.81256256e-01 1.83427993e-01 2.56799191e-01 2.56799191e-01 2.07885059e-01 2.44570658e-01 2.20113592e-01 2.32342125e-01 2.81256256e-01 2.69027723e-01 2.07885059e-01 1.46742395e-01 2.20113592e-01 1.58970927e-01 1.58970927e-01 2.44570658e-01 2.32342125e-01 2.93484789e-01 2.56799191e-01 2.32342125e-01 1.83427993e-01 2.32342125e-01 2.69027723e-01 1.58970927e-01 2.20113592e-01 2.93484789e-01 2.81256256e-01 1.46742395e-01 3.05713322e-01 2.32342125e-01 1.34513862e-01 1.71199460e-01 2.20113592e-01 1.58970927e-01 1.83427993e-01 2.20113592e-01 1.46742395e-01 3.17941855e-01 2.32342125e-01 2.81256256e-01 1.83427993e-01 2.69027723e-01 4.27998651e-01 2.69027723e-01 2.07885059e-01 2.69027723e-01 1.71199460e-01 1.95656526e-01 1.71199460e-01 1.71199460e-01 3.66855986e-01 2.56799191e-01 2.44570658e-01 3.17941855e-01 2.93484789e-01 3.54627454e-01 2.32342125e-01 2.20113592e-01 2.44570658e-01 1.71199460e-01 1.71199460e-01 1.10056796e-01 2.32342125e-01 1.95656526e-01 2.20113592e-01 2.20113592e-01 2.07885059e-01 1.46742395e-01 2.07885059e-01 1.58970927e-01 2.44570658e-01 2.07885059e-01 2.07885059e-01 2.69027723e-01 2.32342125e-01 1.95656526e-01 2.81256256e-01 2.20113592e-01 1.58970927e-01 2.20113592e-01 3.79084519e-01 2.56799191e-01 2.20113592e-01 2.56799191e-01 2.81256256e-01 2.44570658e-01 2.56799191e-01 1.83427993e-01 2.32342125e-01 2.20113592e-01 3.17941855e-01 2.07885059e-01 1.83427993e-01 1.83427993e-01 2.56799191e-01 3.79084519e-01 3.17941855e-01 2.32342125e-01 2.69027723e-01 1.71199460e-01 2.44570658e-01 2.93484789e-01 1.95656526e-01 1.95656526e-01 3.91313052e-01 1.95656526e-01 2.07885059e-01 3.54627454e-01 2.32342125e-01 2.20113592e-01 3.30170388e-01 2.20113592e-01 2.69027723e-01 1.95656526e-01 2.81256256e-01 1.83427993e-01 3.05713322e-01 3.05713322e-01 2.81256256e-01 2.32342125e-01 2.20113592e-01 2.20113592e-01 2.56799191e-01 3.17941855e-01 1.83427993e-01 3.17941855e-01 2.32342125e-01 3.17941855e-01 1.83427993e-01 2.32342125e-01 1.71199460e-01 1.95656526e-01 2.32342125e-01 1.95656526e-01 3.05713322e-01 9.78282631e-02 2.07885059e-01 2.44570658e-01 1.71199460e-01 1.58970927e-01 1.95656526e-01 2.81256256e-01 1.46742395e-01 2.69027723e-01 2.81256256e-01 2.56799191e-01 1.95656526e-01 2.20113592e-01 2.56799191e-01 2.44570658e-01 2.93484789e-01 1.83427993e-01 2.44570658e-01 2.32342125e-01 2.07885059e-01 1.71199460e-01 2.44570658e-01 2.20113592e-01 2.20113592e-01 1.71199460e-01 2.81256256e-01 2.56799191e-01 2.56799191e-01 3.17941855e-01 1.95656526e-01 2.56799191e-01 2.81256256e-01 2.20113592e-01 3.42398921e-01 1.95656526e-01 2.69027723e-01 3.30170388e-01 1.46742395e-01 1.95656526e-01 3.17941855e-01 1.95656526e-01 3.05713322e-01 3.54627454e-01 1.95656526e-01 1.58970927e-01 2.20113592e-01 3.79084519e-01 2.69027723e-01 2.44570658e-01 1.83427993e-01 1.95656526e-01 2.81256256e-01 2.32342125e-01 3.30170388e-01 2.07885059e-01 2.56799191e-01 2.07885059e-01 2.56799191e-01 2.20113592e-01 1.95656526e-01 2.32342125e-01 1.58970927e-01 3.30170388e-01 2.20113592e-01 2.44570658e-01 2.81256256e-01 2.81256256e-01 3.30170388e-01 3.17941855e-01 2.32342125e-01 2.44570658e-01 3.30170388e-01 2.69027723e-01 3.66855986e-01 1.83427993e-01 2.07885059e-01 1.71199460e-01 2.56799191e-01 2.07885059e-01 1.83427993e-01 2.44570658e-01 1.58970927e-01 2.32342125e-01 2.20113592e-01 2.20113592e-01 2.07885059e-01 2.07885059e-01 2.56799191e-01 2.69027723e-01 2.20113592e-01 2.32342125e-01 1.34513862e-01 1.22285329e-01 2.56799191e-01 1.83427993e-01 2.44570658e-01 2.32342125e-01 2.32342125e-01 1.71199460e-01 2.56799191e-01 2.81256256e-01 2.93484789e-01 3.66855986e-01 1.83427993e-01 1.95656526e-01 1.46742395e-01 2.20113592e-01 4.27998651e-01 2.56799191e-01 2.69027723e-01 3.54627454e-01 2.44570658e-01 2.44570658e-01 2.07885059e-01 1.22285329e-01 3.66855986e-01 1.46742395e-01 3.05713322e-01 3.54627454e-01 1.71199460e-01 2.32342125e-01 2.93484789e-01 1.83427993e-01 2.20113592e-01 1.83427993e-01 3.54627454e-01 2.32342125e-01 1.83427993e-01 2.93484789e-01 1.83427993e-01 2.69027723e-01 2.20113592e-01 2.69027723e-01 2.07885059e-01 1.95656526e-01 2.07885059e-01 2.07885059e-01 2.93484789e-01 2.44570658e-01 2.32342125e-01 2.32342125e-01 2.56799191e-01 2.81256256e-01 3.54627454e-01 3.17941855e-01 1.83427993e-01 2.56799191e-01 1.71199460e-01 2.20113592e-01 2.20113592e-01 2.93484789e-01 2.69027723e-01 2.56799191e-01 2.56799191e-01 3.05713322e-01 1.95656526e-01 1.95656526e-01 1.95656526e-01 2.32342125e-01 2.44570658e-01 2.56799191e-01 3.05713322e-01 2.93484789e-01 2.81256256e-01 3.30170388e-01 2.56799191e-01 2.32342125e-01 2.32342125e-01 3.42398921e-01 2.44570658e-01 2.56799191e-01 1.71199460e-01 2.93484789e-01 3.30170388e-01 2.44570658e-01 1.71199460e-01 3.54627454e-01 3.91313052e-01 2.07885059e-01 3.17941855e-01 1.95656526e-01 2.32342125e-01 3.79084519e-01 2.07885059e-01 3.30170388e-01 2.81256256e-01 3.42398921e-01 2.32342125e-01 2.81256256e-01 4.15770118e-01 3.54627454e-01 2.56799191e-01 2.20113592e-01 2.07885059e-01 2.07885059e-01 3.05713322e-01 2.93484789e-01 3.05713322e-01 2.69027723e-01 2.81256256e-01 3.05713322e-01 2.07885059e-01 2.93484789e-01 3.30170388e-01 1.95656526e-01 2.44570658e-01 3.17941855e-01 3.05713322e-01 3.54627454e-01 2.81256256e-01 2.93484789e-01 1.58970927e-01 2.81256256e-01 2.93484789e-01 2.07885059e-01 3.66855986e-01 2.69027723e-01 1.71199460e-01 1.71199460e-01 1.71199460e-01 2.44570658e-01 3.42398921e-01 2.93484789e-01 2.69027723e-01 2.07885059e-01 3.05713322e-01 2.44570658e-01 1.83427993e-01 2.69027723e-01 2.69027723e-01 1.83427993e-01 2.56799191e-01 2.44570658e-01 3.05713322e-01 3.17941855e-01 2.32342125e-01 2.56799191e-01 2.44570658e-01 4.03541585e-01 3.30170388e-01 2.44570658e-01 3.05713322e-01 2.44570658e-01 1.83427993e-01 2.32342125e-01 2.81256256e-01 1.95656526e-01 2.32342125e-01 2.32342125e-01 1.58970927e-01 2.81256256e-01 3.30170388e-01 1.95656526e-01 2.93484789e-01 2.56799191e-01 2.69027723e-01 2.44570658e-01 3.54627454e-01 2.93484789e-01 2.81256256e-01 3.54627454e-01 1.95656526e-01 3.54627454e-01 2.81256256e-01 1.71199460e-01 4.15770118e-01 2.44570658e-01 3.30170388e-01 2.44570658e-01 2.20113592e-01 2.81256256e-01 3.05713322e-01 1.58970927e-01 3.05713322e-01 2.93484789e-01 2.07885059e-01 3.30170388e-01 2.93484789e-01 3.66855986e-01 3.05713322e-01 2.32342125e-01 2.81256256e-01 2.20113592e-01 2.20113592e-01 2.93484789e-01 4.40227184e-01 1.95656526e-01 2.32342125e-01 3.05713322e-01 2.81256256e-01 3.54627454e-01 1.83427993e-01 2.20113592e-01 2.32342125e-01 2.81256256e-01 2.32342125e-01 4.03541585e-01 3.66855986e-01 1.95656526e-01 2.20113592e-01 2.32342125e-01 2.56799191e-01 3.17941855e-01 3.05713322e-01 3.05713322e-01 2.81256256e-01 3.17941855e-01 2.07885059e-01 2.44570658e-01 3.05713322e-01 3.17941855e-01 1.95656526e-01 3.42398921e-01 3.17941855e-01 3.30170388e-01 2.20113592e-01 3.17941855e-01 2.20113592e-01 3.05713322e-01 3.42398921e-01 2.32342125e-01 2.20113592e-01 3.54627454e-01 2.44570658e-01 3.30170388e-01 3.79084519e-01 2.32342125e-01 2.93484789e-01 2.56799191e-01 2.20113592e-01 3.17941855e-01 3.05713322e-01 3.05713322e-01 3.30170388e-01 3.05713322e-01 2.32342125e-01 3.05713322e-01 3.30170388e-01 3.17941855e-01 1.83427993e-01 3.54627454e-01 2.93484789e-01 2.81256256e-01 2.32342125e-01 2.44570658e-01 2.20113592e-01 3.79084519e-01 3.91313052e-01 2.93484789e-01 2.93484789e-01 3.17941855e-01 3.91313052e-01 1.95656526e-01 2.93484789e-01 3.05713322e-01 3.05713322e-01 2.32342125e-01 2.69027723e-01 3.05713322e-01 3.17941855e-01 3.79084519e-01 3.17941855e-01 3.17941855e-01 2.56799191e-01 2.81256256e-01 2.81256256e-01 3.05713322e-01 3.54627454e-01 4.03541585e-01 3.42398921e-01 2.44570658e-01 2.32342125e-01 3.05713322e-01 3.30170388e-01 2.44570658e-01 2.81256256e-01 4.52455717e-01 4.52455717e-01 2.69027723e-01 2.44570658e-01 3.54627454e-01 3.54627454e-01 3.30170388e-01 3.79084519e-01 2.69027723e-01 3.05713322e-01 2.44570658e-01 2.69027723e-01 3.42398921e-01 2.07885059e-01 2.69027723e-01 2.93484789e-01 2.93484789e-01 4.15770118e-01 2.81256256e-01 3.17941855e-01 3.30170388e-01 3.17941855e-01 2.81256256e-01 2.93484789e-01 2.81256256e-01 3.05713322e-01 2.44570658e-01 2.93484789e-01 2.32342125e-01 1.46742395e-01 3.79084519e-01 3.30170388e-01 3.91313052e-01 3.05713322e-01 3.05713322e-01 2.56799191e-01 3.17941855e-01 2.69027723e-01 3.79084519e-01 2.81256256e-01 3.54627454e-01 3.66855986e-01 2.56799191e-01 3.17941855e-01 3.79084519e-01 2.56799191e-01 2.44570658e-01 2.56799191e-01 3.79084519e-01 2.93484789e-01 3.91313052e-01 3.91313052e-01 4.27998651e-01 3.17941855e-01 2.56799191e-01 2.56799191e-01 3.30170388e-01 3.54627454e-01 3.42398921e-01 2.20113592e-01 3.54627454e-01 2.69027723e-01 2.32342125e-01 3.30170388e-01 2.20113592e-01 3.66855986e-01 4.15770118e-01 4.52455717e-01 3.42398921e-01 2.81256256e-01 2.32342125e-01 4.15770118e-01 4.52455717e-01 3.05713322e-01 2.69027723e-01 4.15770118e-01 3.66855986e-01 2.93484789e-01 2.56799191e-01 3.54627454e-01 3.05713322e-01 4.27998651e-01 2.93484789e-01 4.03541585e-01 4.03541585e-01 4.64684250e-01 2.32342125e-01 3.05713322e-01 2.69027723e-01 3.42398921e-01 2.20113592e-01 2.93484789e-01 4.15770118e-01 3.05713322e-01 3.17941855e-01 4.03541585e-01 2.93484789e-01 3.54627454e-01 3.05713322e-01 2.93484789e-01 3.30170388e-01 3.42398921e-01 3.54627454e-01 3.79084519e-01 4.03541585e-01 2.93484789e-01 4.15770118e-01 4.52455717e-01 4.52455717e-01 3.54627454e-01 4.27998651e-01 3.17941855e-01 3.66855986e-01 2.44570658e-01 3.42398921e-01 3.17941855e-01 4.15770118e-01 2.56799191e-01 4.03541585e-01 3.79084519e-01 3.30170388e-01 3.30170388e-01 2.69027723e-01 3.42398921e-01 3.54627454e-01 3.66855986e-01 2.81256256e-01 3.30170388e-01 4.52455717e-01 3.42398921e-01 2.93484789e-01 4.40227184e-01 2.69027723e-01 3.17941855e-01 3.54627454e-01 2.81256256e-01 3.91313052e-01 4.76912782e-01 4.03541585e-01 3.66855986e-01 2.81256256e-01 4.15770118e-01 3.66855986e-01 2.93484789e-01 2.56799191e-01 4.03541585e-01 4.40227184e-01 2.93484789e-01 3.54627454e-01 3.42398921e-01 2.56799191e-01 3.42398921e-01 3.17941855e-01 4.52455717e-01 3.91313052e-01 3.79084519e-01 2.07885059e-01 3.05713322e-01 3.54627454e-01 2.69027723e-01 2.44570658e-01 3.17941855e-01 2.32342125e-01 3.30170388e-01 5.01369848e-01 3.05713322e-01 4.15770118e-01 3.05713322e-01 3.17941855e-01 4.40227184e-01 3.42398921e-01 2.56799191e-01 2.93484789e-01 3.17941855e-01 3.42398921e-01 2.20113592e-01 1.95656526e-01 2.69027723e-01 4.27998651e-01 3.30170388e-01 4.40227184e-01 4.03541585e-01 3.17941855e-01 4.27998651e-01 3.66855986e-01 3.17941855e-01 4.52455717e-01 3.91313052e-01 3.42398921e-01 3.79084519e-01 3.79084519e-01 3.42398921e-01 4.76912782e-01 3.91313052e-01 2.93484789e-01 3.17941855e-01 3.42398921e-01 3.54627454e-01 3.05713322e-01 4.03541585e-01 3.66855986e-01 3.91313052e-01 5.01369848e-01 5.01369848e-01 4.27998651e-01 3.17941855e-01 3.17941855e-01 3.66855986e-01 3.42398921e-01 5.13598381e-01 4.27998651e-01 3.79084519e-01 3.30170388e-01 3.79084519e-01 4.03541585e-01 4.03541585e-01 3.30170388e-01 4.27998651e-01 2.56799191e-01 3.79084519e-01 3.17941855e-01 3.66855986e-01 3.05713322e-01 4.03541585e-01 3.91313052e-01 4.40227184e-01 3.66855986e-01 2.69027723e-01 3.17941855e-01 2.32342125e-01 2.93484789e-01 3.91313052e-01 3.66855986e-01 3.54627454e-01 3.79084519e-01 3.54627454e-01 3.17941855e-01 3.42398921e-01 5.25826914e-01 4.89141315e-01 4.03541585e-01 5.01369848e-01 3.91313052e-01 4.76912782e-01 5.01369848e-01 3.79084519e-01 4.40227184e-01 3.91313052e-01 3.79084519e-01 3.79084519e-01 3.79084519e-01 3.54627454e-01 3.54627454e-01 4.76912782e-01 3.79084519e-01 2.56799191e-01 4.52455717e-01 2.69027723e-01 4.40227184e-01 4.03541585e-01 3.54627454e-01 4.15770118e-01 4.03541585e-01 3.42398921e-01 3.54627454e-01 3.66855986e-01 4.76912782e-01 3.54627454e-01 3.91313052e-01 3.79084519e-01 3.79084519e-01 5.38055447e-01 4.89141315e-01 3.66855986e-01 3.91313052e-01 3.42398921e-01 3.91313052e-01 3.54627454e-01 5.01369848e-01 3.05713322e-01 2.69027723e-01 3.91313052e-01 4.27998651e-01 2.69027723e-01 3.91313052e-01 2.32342125e-01 2.81256256e-01 3.66855986e-01 3.66855986e-01 3.79084519e-01 4.27998651e-01 4.76912782e-01 2.56799191e-01 3.54627454e-01 4.52455717e-01 3.79084519e-01 3.54627454e-01 3.42398921e-01 3.91313052e-01 3.91313052e-01 3.54627454e-01 3.66855986e-01 4.03541585e-01 3.66855986e-01 4.76912782e-01 3.42398921e-01 4.40227184e-01 4.52455717e-01 5.01369848e-01 4.76912782e-01 3.66855986e-01 3.91313052e-01 4.52455717e-01 3.91313052e-01 3.79084519e-01 3.30170388e-01 3.42398921e-01 5.25826914e-01 4.27998651e-01 4.40227184e-01 4.15770118e-01 4.03541585e-01 4.64684250e-01 4.15770118e-01 4.76912782e-01 3.66855986e-01 3.66855986e-01 4.03541585e-01 4.03541585e-01 4.89141315e-01 4.27998651e-01 4.03541585e-01 3.79084519e-01 4.03541585e-01 5.13598381e-01 4.03541585e-01 4.40227184e-01 4.89141315e-01 3.79084519e-01 4.76912782e-01 3.79084519e-01 4.52455717e-01 4.40227184e-01 5.01369848e-01 4.76912782e-01 3.79084519e-01 4.27998651e-01 5.38055447e-01 4.15770118e-01 3.42398921e-01 2.44570658e-01 3.17941855e-01 3.91313052e-01 3.42398921e-01 4.76912782e-01 3.30170388e-01 4.64684250e-01 5.38055447e-01 4.03541585e-01 4.15770118e-01 6.11426644e-01 4.15770118e-01 5.50283980e-01 5.25826914e-01 5.13598381e-01 4.76912782e-01 3.91313052e-01 4.52455717e-01 3.54627454e-01 4.52455717e-01 3.79084519e-01 4.15770118e-01 5.13598381e-01 5.13598381e-01 4.40227184e-01 3.91313052e-01 4.03541585e-01 3.91313052e-01 4.76912782e-01 5.01369848e-01 6.23655177e-01 2.93484789e-01 5.13598381e-01 4.52455717e-01 4.27998651e-01 3.91313052e-01 4.89141315e-01 3.30170388e-01 4.40227184e-01 3.66855986e-01 5.01369848e-01 4.40227184e-01 3.79084519e-01 4.89141315e-01 4.89141315e-01 5.13598381e-01 4.03541585e-01 4.03541585e-01 5.01369848e-01 5.38055447e-01 4.64684250e-01 3.42398921e-01 3.79084519e-01 3.30170388e-01 3.91313052e-01 4.64684250e-01 5.38055447e-01 4.52455717e-01 4.76912782e-01 5.01369848e-01 6.35883710e-01 4.64684250e-01 4.89141315e-01 5.50283980e-01 4.40227184e-01 3.05713322e-01 4.03541585e-01 4.15770118e-01 4.76912782e-01 4.64684250e-01 4.89141315e-01 4.76912782e-01 5.13598381e-01 3.91313052e-01 4.76912782e-01 4.40227184e-01 5.38055447e-01 4.03541585e-01 4.89141315e-01 4.03541585e-01 5.38055447e-01 3.79084519e-01 3.91313052e-01 5.13598381e-01 5.86969578e-01 5.74741045e-01 7.21483440e-01 5.25826914e-01 5.01369848e-01 4.89141315e-01 5.01369848e-01 4.15770118e-01 5.74741045e-01 4.52455717e-01 4.64684250e-01 4.27998651e-01 4.03541585e-01 4.52455717e-01 4.40227184e-01 3.91313052e-01 5.25826914e-01 4.03541585e-01 4.27998651e-01 3.05713322e-01 3.66855986e-01 6.11426644e-01 5.38055447e-01 4.89141315e-01 4.52455717e-01 5.50283980e-01 4.15770118e-01 4.64684250e-01 5.13598381e-01 4.52455717e-01 4.76912782e-01 4.64684250e-01 5.01369848e-01 3.42398921e-01 5.74741045e-01 3.54627454e-01 5.38055447e-01 4.89141315e-01 4.27998651e-01 5.13598381e-01 5.38055447e-01 4.89141315e-01 4.52455717e-01 5.01369848e-01 4.40227184e-01 4.03541585e-01 4.76912782e-01 5.99198111e-01 4.89141315e-01 5.25826914e-01 4.15770118e-01 5.01369848e-01 4.64684250e-01 5.01369848e-01 5.74741045e-01 5.13598381e-01 4.52455717e-01 4.40227184e-01 5.13598381e-01 4.15770118e-01 4.89141315e-01 5.50283980e-01 5.62512513e-01 6.60340776e-01 5.50283980e-01 5.86969578e-01 5.38055447e-01 4.89141315e-01 6.84797841e-01 4.64684250e-01 5.86969578e-01 6.72569309e-01 5.13598381e-01 4.64684250e-01 6.35883710e-01 5.50283980e-01 5.38055447e-01 5.01369848e-01 6.60340776e-01 4.52455717e-01 5.50283980e-01 5.86969578e-01 4.76912782e-01 4.03541585e-01 3.54627454e-01 4.52455717e-01 4.76912782e-01 4.52455717e-01 5.13598381e-01 5.74741045e-01 4.64684250e-01 5.50283980e-01 4.64684250e-01 4.15770118e-01 5.25826914e-01 4.64684250e-01 4.15770118e-01 6.11426644e-01 4.76912782e-01 4.64684250e-01 5.99198111e-01 6.11426644e-01 5.01369848e-01 4.27998651e-01 5.13598381e-01 5.50283980e-01 6.23655177e-01 4.76912782e-01 5.25826914e-01 5.50283980e-01 5.99198111e-01 5.25826914e-01 5.01369848e-01 5.50283980e-01 5.38055447e-01 5.99198111e-01 5.99198111e-01 6.72569309e-01 7.45940506e-01 4.76912782e-01 7.45940506e-01 5.01369848e-01 7.21483440e-01 4.89141315e-01 6.23655177e-01 5.38055447e-01 5.25826914e-01 6.11426644e-01 5.13598381e-01 5.50283980e-01 4.40227184e-01 5.74741045e-01 6.60340776e-01 5.38055447e-01 5.62512513e-01 5.38055447e-01 6.60340776e-01 6.48112243e-01 4.40227184e-01 4.76912782e-01 4.52455717e-01 4.52455717e-01 6.72569309e-01 7.33711973e-01 4.89141315e-01 5.99198111e-01 5.62512513e-01 5.50283980e-01 7.82626104e-01 5.50283980e-01 5.13598381e-01 5.38055447e-01 4.52455717e-01 5.62512513e-01 4.89141315e-01 4.64684250e-01 4.76912782e-01 6.11426644e-01 5.38055447e-01 6.23655177e-01 4.64684250e-01 5.86969578e-01 5.50283980e-01 6.23655177e-01 6.23655177e-01 7.45940506e-01 6.35883710e-01 5.62512513e-01 6.35883710e-01 6.11426644e-01 4.89141315e-01 5.25826914e-01 6.97026374e-01 5.13598381e-01 4.64684250e-01 4.64684250e-01 6.60340776e-01 6.11426644e-01 5.62512513e-01 6.23655177e-01 5.86969578e-01 7.21483440e-01 8.07083170e-01 6.72569309e-01 6.11426644e-01 5.38055447e-01 5.86969578e-01 5.74741045e-01 4.76912782e-01 7.33711973e-01 6.48112243e-01 5.38055447e-01 5.62512513e-01 6.60340776e-01 7.09254907e-01 5.86969578e-01 6.48112243e-01 7.33711973e-01 5.50283980e-01 7.21483440e-01 6.11426644e-01 7.82626104e-01 6.11426644e-01 5.99198111e-01 7.58169039e-01 6.84797841e-01 6.48112243e-01 5.74741045e-01 6.48112243e-01 7.58169039e-01 5.38055447e-01 7.21483440e-01 6.35883710e-01 5.74741045e-01 5.99198111e-01 8.19311703e-01 6.97026374e-01 7.33711973e-01 5.25826914e-01 6.84797841e-01 7.33711973e-01 6.84797841e-01 5.99198111e-01 8.31540236e-01 5.99198111e-01 7.09254907e-01 5.38055447e-01 6.11426644e-01 5.13598381e-01 7.45940506e-01 7.21483440e-01 6.84797841e-01 7.33711973e-01 6.23655177e-01 5.50283980e-01 6.97026374e-01 6.97026374e-01 6.23655177e-01 8.07083170e-01 5.38055447e-01 7.33711973e-01 7.58169039e-01 6.48112243e-01 4.76912782e-01 6.97026374e-01 6.23655177e-01 6.35883710e-01 8.68225835e-01 7.21483440e-01 6.60340776e-01 6.84797841e-01 8.55997302e-01 7.09254907e-01 7.21483440e-01 6.97026374e-01 8.68225835e-01 8.55997302e-01 7.70397572e-01 7.33711973e-01 7.09254907e-01 7.09254907e-01 7.09254907e-01 5.99198111e-01 7.09254907e-01 6.84797841e-01 8.19311703e-01 7.09254907e-01 6.97026374e-01 8.31540236e-01 7.94854637e-01 6.48112243e-01 6.60340776e-01 7.33711973e-01 7.33711973e-01 5.74741045e-01 6.97026374e-01 7.21483440e-01 8.55997302e-01 8.68225835e-01 6.35883710e-01 8.68225835e-01 7.94854637e-01 6.60340776e-01 6.72569309e-01 7.33711973e-01 5.74741045e-01 7.21483440e-01 6.97026374e-01 8.80454368e-01 6.97026374e-01 8.92682900e-01 6.84797841e-01 7.58169039e-01 8.80454368e-01 7.82626104e-01 8.31540236e-01 8.31540236e-01 7.70397572e-01 8.31540236e-01 8.92682900e-01 7.58169039e-01 7.33711973e-01 5.86969578e-01 7.09254907e-01 9.66054098e-01 6.60340776e-01 7.21483440e-01 7.45940506e-01 9.66054098e-01 6.72569309e-01 6.97026374e-01 7.58169039e-01 7.58169039e-01 7.58169039e-01 7.94854637e-01 9.17139966e-01 6.72569309e-01 8.43768769e-01 8.80454368e-01 7.09254907e-01 8.43768769e-01 7.70397572e-01 7.82626104e-01 8.07083170e-01 8.80454368e-01 6.35883710e-01 1.06388236e+00 9.17139966e-01 1.16171062e+00 7.09254907e-01 8.07083170e-01 7.09254907e-01 8.92682900e-01 1.05165383e+00 7.70397572e-01 8.31540236e-01 9.04911433e-01 8.43768769e-01 8.80454368e-01 8.92682900e-01 7.33711973e-01 7.33711973e-01 7.94854637e-01 8.55997302e-01 7.58169039e-01 8.19311703e-01 8.55997302e-01 9.41597032e-01 7.58169039e-01 6.23655177e-01 8.55997302e-01 8.68225835e-01 9.17139966e-01 7.33711973e-01 7.33711973e-01 1.00273970e+00 9.41597032e-01 7.21483440e-01 7.33711973e-01 9.29368499e-01 7.58169039e-01 9.04911433e-01 8.80454368e-01 1.11279649e+00 6.84797841e-01 8.55997302e-01 1.16171062e+00 9.29368499e-01 1.07611089e+00 1.00273970e+00 9.29368499e-01 8.19311703e-01 1.00273970e+00 8.55997302e-01 8.19311703e-01 9.17139966e-01 9.04911433e-01 1.22285329e+00 1.10056796e+00 1.05165383e+00 6.72569309e-01 8.43768769e-01 8.92682900e-01 1.00273970e+00 9.41597032e-01 1.10056796e+00 9.78282631e-01 1.01496823e+00 9.04911433e-01 9.04911433e-01 1.03942530e+00 8.07083170e-01 9.04911433e-01 1.16171062e+00 8.19311703e-01 1.01496823e+00 9.78282631e-01 9.41597032e-01 8.92682900e-01 8.31540236e-01 1.02719676e+00 9.90511163e-01 1.05165383e+00 9.29368499e-01 1.10056796e+00 1.02719676e+00 9.90511163e-01 1.03942530e+00 8.68225835e-01 8.43768769e-01 8.68225835e-01 1.12502503e+00 8.31540236e-01 1.05165383e+00 9.53825565e-01 1.06388236e+00 7.58169039e-01 1.14948209e+00 1.06388236e+00 9.78282631e-01 1.08833943e+00 1.19839622e+00 1.16171062e+00 9.78282631e-01 9.90511163e-01 1.03942530e+00 1.19839622e+00 1.08833943e+00 8.92682900e-01 7.33711973e-01 1.00273970e+00 1.03942530e+00 8.19311703e-01 1.03942530e+00 9.78282631e-01 9.78282631e-01 1.21062476e+00 1.40628128e+00 9.41597032e-01 1.05165383e+00 1.05165383e+00 1.02719676e+00 1.24731035e+00 9.90511163e-01 9.41597032e-01 1.16171062e+00 1.11279649e+00 8.07083170e-01 1.02719676e+00 7.94854637e-01 1.25953889e+00 9.53825565e-01 1.32068155e+00 9.90511163e-01 1.05165383e+00 1.17393916e+00 1.17393916e+00 9.78282631e-01 1.18616769e+00 1.06388236e+00 1.43073835e+00 1.10056796e+00 1.02719676e+00 1.14948209e+00 1.16171062e+00 9.78282631e-01 1.08833943e+00 9.90511163e-01 1.01496823e+00 1.36959568e+00 9.78282631e-01 9.78282631e-01 1.24731035e+00 1.46742395e+00 1.00273970e+00 1.30845302e+00 1.10056796e+00 1.11279649e+00 1.21062476e+00 1.11279649e+00 1.01496823e+00 1.46742395e+00 1.30845302e+00 1.24731035e+00 1.29622449e+00 1.07611089e+00 1.25953889e+00 1.28399595e+00 1.21062476e+00 1.32068155e+00 1.01496823e+00 1.10056796e+00 1.25953889e+00 1.27176742e+00 1.12502503e+00 1.30845302e+00 1.21062476e+00 1.58970927e+00 1.33291008e+00 1.25953889e+00 1.29622449e+00 1.25953889e+00 1.45519541e+00 1.18616769e+00 1.08833943e+00 1.12502503e+00 1.07611089e+00 1.17393916e+00 1.16171062e+00 1.44296688e+00 1.35736715e+00 1.39405275e+00 1.35736715e+00 1.43073835e+00 1.41850981e+00 1.28399595e+00 1.17393916e+00 1.65085194e+00 1.27176742e+00 1.52856661e+00 1.27176742e+00 1.41850981e+00 1.43073835e+00 1.30845302e+00 1.08833943e+00 1.32068155e+00 1.43073835e+00 1.40628128e+00 1.24731035e+00 1.50410954e+00 1.28399595e+00 1.44296688e+00 1.30845302e+00 1.39405275e+00 1.38182422e+00 1.56525221e+00 1.45519541e+00 1.50410954e+00 1.46742395e+00 1.43073835e+00 1.36959568e+00 1.60193781e+00 1.24731035e+00 1.63862341e+00 1.57748074e+00 1.87096553e+00 1.35736715e+00 1.44296688e+00 1.69976607e+00 1.47965248e+00 1.77313727e+00 1.43073835e+00 1.47965248e+00 1.55302368e+00 1.65085194e+00 2.04216499e+00 1.43073835e+00 1.38182422e+00 1.63862341e+00 1.49188101e+00 1.34513862e+00 1.78536580e+00 1.71199460e+00 1.58970927e+00 1.54079514e+00 1.73645167e+00 1.46742395e+00 1.82205140e+00 1.71199460e+00 1.36959568e+00 1.55302368e+00 1.78536580e+00 1.67530900e+00 1.60193781e+00 1.57748074e+00 1.76090874e+00 1.56525221e+00 1.73645167e+00 1.82205140e+00 1.60193781e+00 1.69976607e+00 1.65085194e+00 1.63862341e+00 1.54079514e+00 1.71199460e+00 1.72422314e+00 1.82205140e+00 1.93210820e+00 1.90765113e+00 1.52856661e+00 1.82205140e+00 1.58970927e+00 1.67530900e+00 1.87096553e+00 1.45519541e+00 1.78536580e+00 1.91987966e+00 1.84650847e+00 1.69976607e+00 1.98102233e+00 1.94433673e+00 1.57748074e+00 1.76090874e+00 2.05439352e+00 2.11553619e+00 2.36010685e+00 1.62639487e+00 2.13999325e+00 1.56525221e+00 2.01770793e+00 1.84650847e+00 2.13999325e+00 2.01770793e+00 2.00547939e+00 1.98102233e+00 1.79759433e+00 2.22559298e+00 2.31119271e+00 1.93210820e+00 1.99325086e+00 1.71199460e+00 2.10330766e+00 1.80982287e+00 1.94433673e+00 1.88319406e+00 2.62913457e+00 2.00547939e+00 1.88319406e+00 2.33564978e+00 1.84650847e+00 2.09107912e+00 2.50684924e+00 1.79759433e+00 2.13999325e+00 1.91987966e+00 2.32342125e+00 2.22559298e+00 2.15222179e+00 1.74868020e+00 2.17667885e+00 2.05439352e+00 2.49462071e+00 2.15222179e+00 2.17667885e+00 2.56799191e+00 2.32342125e+00 2.32342125e+00 2.36010685e+00 2.75141990e+00 2.12776472e+00 2.64136310e+00 1.77313727e+00 2.36010685e+00 2.45793511e+00 2.36010685e+00 2.64136310e+00 2.75141990e+00 2.61690604e+00 2.89816229e+00 2.42124951e+00 2.42124951e+00 2.77587696e+00 2.43347804e+00 2.27450712e+00 2.43347804e+00 2.91039083e+00 2.53130631e+00 2.70250577e+00 2.32342125e+00 2.70250577e+00 2.83701963e+00 2.86147669e+00 2.44570658e+00 2.76364843e+00 2.67804870e+00 2.56799191e+00 3.03267615e+00 2.87370523e+00 2.73919137e+00 2.60467750e+00 2.86147669e+00 3.21610415e+00 2.87370523e+00 2.94707642e+00 3.03267615e+00 2.99599056e+00 3.53404600e+00 3.14273295e+00 3.30170388e+00 3.36284654e+00 3.14273295e+00 3.00821909e+00 3.53404600e+00 2.93484789e+00 3.24056121e+00 3.32616094e+00 3.24056121e+00 3.87644492e+00 3.24056121e+00 3.48513187e+00 3.31393241e+00 3.71747400e+00 3.26501828e+00 3.48513187e+00 3.57073160e+00 3.44844627e+00 3.53404600e+00 3.77861666e+00 3.46067481e+00 3.44844627e+00 3.28947535e+00 4.26775798e+00 4.08432998e+00 3.81530226e+00 3.79084519e+00 4.13324411e+00 3.66855986e+00 4.07210145e+00 3.86421639e+00 3.66855986e+00 3.66855986e+00 3.53404600e+00 3.72970253e+00 3.88867346e+00 4.39004330e+00 3.98650172e+00 3.93758759e+00 3.60741720e+00 4.75689929e+00 4.45118597e+00 4.45118597e+00 4.14547265e+00 4.65907103e+00 3.91313052e+00 4.63461396e+00 3.94981612e+00 4.65907103e+00 4.30444357e+00 4.59792836e+00 4.50010010e+00 4.46341450e+00 5.03815555e+00 5.39278300e+00 4.70798516e+00 5.12375528e+00 4.74467076e+00 5.40501153e+00 4.72021369e+00 5.45392567e+00 4.75689929e+00 5.53952540e+00 5.18489794e+00 4.84249902e+00 4.68352809e+00 5.13598381e+00 5.67403926e+00 6.45666536e+00 5.95529551e+00 5.46615420e+00 5.40501153e+00 4.84249902e+00 5.67403926e+00 6.26100884e+00 6.01643818e+00 6.37106563e+00 5.82078165e+00 6.62786482e+00 6.54226509e+00 5.73518192e+00 6.79906428e+00 6.54226509e+00 6.50557949e+00 6.21209470e+00 5.95529551e+00 6.83574988e+00 5.99198111e+00 7.48386212e+00 7.64283305e+00 6.17540911e+00 6.87243548e+00 6.48112243e+00 7.01917787e+00 7.72843278e+00 8.20534556e+00 7.11700614e+00 6.59117922e+00 7.67951865e+00 7.32489120e+00 7.87517518e+00 7.22706293e+00 7.86294664e+00 7.83848958e+00 8.49883035e+00 7.91186078e+00 7.93631784e+00 8.75562954e+00 8.95128607e+00 8.89014341e+00 7.97300344e+00 8.60888715e+00 7.98523197e+00 9.58716978e+00 9.39151325e+00 8.48660182e+00 1.02230535e+01 9.33037059e+00 9.95402577e+00 9.34259912e+00 1.06021380e+01 1.10179081e+01 1.02964247e+01 1.02719676e+01 9.78282631e+00 9.47711298e+00 9.84396897e+00 1.15559636e+01 1.11157364e+01 1.10423652e+01 1.05899095e+01 1.18005342e+01 1.41117269e+01 1.18127628e+01 1.04920812e+01 1.23630467e+01 1.18861340e+01 1.07855660e+01 9.66054098e+00 1.30478446e+01 1.29500163e+01 1.06999663e+01 1.03331103e+01 1.35981286e+01 1.29744734e+01 9.88065457e+00 1.33535579e+01 1.42217837e+01 1.14459068e+01 1.17393916e+01 1.64473767e+01 1.20084193e+01 9.77059777e+00 1.26932171e+01 1.35614430e+01 1.01129967e+01 1.24853321e+01 1.19472766e+01 1.15559636e+01 1.56402936e+01 1.28888737e+01 8.91460047e+00 1.37937851e+01 1.55669224e+01 1.20451049e+01 1.31945870e+01 1.15559636e+01 1.23630467e+01 1.64840623e+01 1.08222516e+01 1.09323084e+01 1.65452050e+01 1.13358500e+01 1.09934511e+01 2.00670225e+01 9.51379858e+00 2.13387899e+01 1.75846303e+01 8.25425970e+00 1.22040758e+01 8.78008661e+00 1.25953889e+01 7.16592027e+00 1.13969926e+01 2.19135309e+01 7.82626104e+00 3.98650172e+00 1.23019041e+01 1.12747073e+01 2.89816229e+00 1.74745735e+01 6.94580668e+00 4.10878705e+00 9.46488445e+00 4.19438678e+00 1.62150346e+01 2.70250577e+00 4.47564304e+00 5.86969578e+00 1.16537918e+01 9.17139966e+00 7.48386212e+00 8.43768769e-01 1.02719676e+00 1.07611089e+00 4.76912782e-01 6.11426644e-02 6.11426644e-02 1.22285329e-02 0.00000000e+00 - - 4.75426580e-01 1.35313719e+00 1.90170632e+00 3.10855841e+00 3.36455733e+00 4.04112593e+00 4.24226794e+00 4.60798070e+00 4.97369345e+00 4.86397962e+00 4.84569399e+00 4.77255143e+00 4.97369345e+00 4.57140942e+00 4.55312378e+00 4.58969506e+00 4.18741103e+00 4.84569399e+00 4.35198177e+00 3.93141210e+00 3.71198445e+00 3.36455733e+00 3.52912807e+00 3.36455733e+00 3.25484351e+00 3.38284297e+00 3.47427116e+00 3.09027277e+00 2.57827491e+00 3.09027277e+00 2.92570203e+00 2.72456001e+00 2.61484619e+00 2.45027545e+00 2.66970310e+00 2.63313183e+00 2.66970310e+00 2.23084780e+00 2.23084780e+00 1.97484887e+00 2.10284833e+00 2.23084780e+00 1.95656323e+00 1.79199249e+00 1.68227867e+00 1.95656323e+00 2.10284833e+00 1.88342068e+00 2.15770525e+00 1.88342068e+00 1.79199249e+00 1.44456538e+00 1.49942229e+00 1.49942229e+00 1.84684941e+00 1.70056430e+00 1.53599357e+00 1.40799410e+00 1.40799410e+00 1.59085048e+00 1.33485155e+00 1.20685209e+00 1.46285101e+00 1.17028081e+00 1.57256484e+00 1.15199517e+00 1.27999464e+00 1.53599357e+00 1.37142283e+00 1.13370954e+00 1.00571007e+00 1.29828028e+00 1.18856645e+00 1.17028081e+00 1.02399571e+00 1.09713826e+00 1.07885262e+00 1.26170900e+00 1.37142283e+00 1.06056699e+00 1.24342336e+00 1.07885262e+00 1.11542390e+00 1.18856645e+00 9.50853159e-01 1.11542390e+00 1.07885262e+00 1.00571007e+00 1.44456538e+00 9.14281884e-01 9.50853159e-01 9.32567522e-01 8.59424971e-01 8.95996246e-01 6.03426043e-01 1.18856645e+00 8.77710609e-01 7.86282420e-01 8.41139333e-01 8.41139333e-01 1.17028081e+00 6.39997319e-01 5.66854768e-01 8.22853696e-01 7.86282420e-01 1.06056699e+00 7.86282420e-01 8.22853696e-01 7.67996783e-01 7.13139870e-01 8.22853696e-01 7.67996783e-01 7.31425507e-01 8.77710609e-01 7.67996783e-01 7.31425507e-01 6.39997319e-01 8.04568058e-01 7.86282420e-01 7.67996783e-01 6.76568594e-01 5.66854768e-01 7.13139870e-01 7.67996783e-01 8.22853696e-01 5.66854768e-01 6.94854232e-01 6.76568594e-01 6.76568594e-01 6.76568594e-01 5.11997855e-01 5.48569130e-01 5.66854768e-01 9.32567522e-01 7.31425507e-01 8.22853696e-01 5.66854768e-01 8.41139333e-01 8.77710609e-01 7.67996783e-01 5.66854768e-01 5.85140406e-01 6.58282956e-01 6.21711681e-01 6.39997319e-01 6.03426043e-01 5.85140406e-01 7.13139870e-01 5.66854768e-01 7.31425507e-01 5.85140406e-01 5.85140406e-01 4.93712217e-01 4.75426580e-01 4.38855304e-01 6.21711681e-01 6.03426043e-01 5.85140406e-01 5.48569130e-01 5.85140406e-01 6.58282956e-01 6.03426043e-01 5.30283493e-01 5.85140406e-01 6.76568594e-01 8.41139333e-01 6.03426043e-01 5.48569130e-01 5.11997855e-01 5.85140406e-01 4.57140942e-01 3.83998391e-01 5.30283493e-01 4.93712217e-01 6.76568594e-01 5.85140406e-01 6.76568594e-01 4.57140942e-01 5.30283493e-01 5.30283493e-01 4.20569667e-01 5.11997855e-01 6.21711681e-01 5.11997855e-01 4.20569667e-01 3.83998391e-01 6.76568594e-01 6.21711681e-01 5.66854768e-01 6.76568594e-01 4.20569667e-01 3.83998391e-01 4.20569667e-01 4.57140942e-01 4.38855304e-01 4.20569667e-01 4.38855304e-01 6.58282956e-01 3.65712754e-01 4.02284029e-01 4.57140942e-01 6.39997319e-01 4.75426580e-01 5.48569130e-01 3.65712754e-01 2.74284565e-01 4.75426580e-01 3.83998391e-01 3.83998391e-01 4.38855304e-01 4.75426580e-01 3.29141478e-01 4.20569667e-01 3.47427116e-01 3.65712754e-01 4.02284029e-01 4.38855304e-01 3.83998391e-01 4.75426580e-01 3.47427116e-01 5.11997855e-01 4.02284029e-01 4.93712217e-01 4.75426580e-01 3.47427116e-01 5.30283493e-01 4.20569667e-01 5.11997855e-01 3.10855841e-01 4.57140942e-01 4.02284029e-01 2.92570203e-01 2.37713290e-01 4.20569667e-01 5.11997855e-01 2.19427652e-01 3.83998391e-01 4.75426580e-01 4.38855304e-01 3.47427116e-01 3.10855841e-01 5.11997855e-01 4.75426580e-01 4.38855304e-01 3.29141478e-01 3.29141478e-01 4.38855304e-01 5.48569130e-01 2.92570203e-01 2.74284565e-01 5.11997855e-01 3.65712754e-01 4.38855304e-01 2.19427652e-01 3.65712754e-01 2.01142014e-01 5.11997855e-01 4.75426580e-01 3.65712754e-01 3.29141478e-01 2.92570203e-01 3.10855841e-01 3.47427116e-01 4.20569667e-01 3.10855841e-01 4.93712217e-01 2.92570203e-01 3.29141478e-01 3.10855841e-01 2.92570203e-01 5.66854768e-01 5.11997855e-01 4.02284029e-01 5.48569130e-01 2.19427652e-01 4.38855304e-01 2.92570203e-01 3.10855841e-01 2.19427652e-01 4.57140942e-01 2.55998928e-01 3.83998391e-01 1.64570739e-01 2.55998928e-01 2.92570203e-01 3.10855841e-01 4.38855304e-01 4.20569667e-01 2.74284565e-01 2.92570203e-01 4.02284029e-01 2.55998928e-01 2.55998928e-01 3.65712754e-01 3.47427116e-01 1.82856377e-01 2.74284565e-01 4.93712217e-01 3.10855841e-01 3.47427116e-01 5.30283493e-01 4.38855304e-01 2.01142014e-01 3.83998391e-01 3.10855841e-01 3.10855841e-01 1.82856377e-01 2.55998928e-01 3.29141478e-01 3.47427116e-01 4.02284029e-01 2.55998928e-01 4.02284029e-01 1.64570739e-01 3.83998391e-01 4.57140942e-01 3.65712754e-01 4.02284029e-01 3.29141478e-01 3.83998391e-01 2.55998928e-01 3.83998391e-01 2.92570203e-01 3.29141478e-01 2.74284565e-01 4.20569667e-01 2.55998928e-01 3.10855841e-01 3.10855841e-01 4.57140942e-01 4.02284029e-01 1.46285101e-01 1.46285101e-01 2.55998928e-01 2.01142014e-01 3.29141478e-01 3.10855841e-01 2.92570203e-01 3.83998391e-01 1.82856377e-01 2.92570203e-01 2.74284565e-01 3.47427116e-01 3.47427116e-01 3.65712754e-01 3.29141478e-01 3.65712754e-01 3.29141478e-01 3.10855841e-01 3.29141478e-01 2.92570203e-01 2.74284565e-01 3.47427116e-01 2.92570203e-01 3.10855841e-01 2.37713290e-01 4.93712217e-01 3.10855841e-01 2.37713290e-01 2.92570203e-01 2.19427652e-01 2.55998928e-01 2.37713290e-01 3.65712754e-01 2.37713290e-01 2.55998928e-01 2.92570203e-01 2.55998928e-01 2.37713290e-01 3.29141478e-01 1.64570739e-01 3.10855841e-01 2.19427652e-01 2.37713290e-01 3.10855841e-01 2.19427652e-01 3.47427116e-01 3.10855841e-01 3.47427116e-01 2.01142014e-01 4.20569667e-01 2.92570203e-01 3.47427116e-01 2.74284565e-01 3.29141478e-01 3.47427116e-01 2.74284565e-01 2.92570203e-01 2.92570203e-01 2.19427652e-01 2.37713290e-01 2.92570203e-01 3.29141478e-01 2.74284565e-01 1.82856377e-01 2.74284565e-01 2.37713290e-01 2.55998928e-01 3.10855841e-01 5.11997855e-01 1.82856377e-01 2.92570203e-01 1.64570739e-01 2.74284565e-01 2.01142014e-01 2.55998928e-01 2.74284565e-01 2.74284565e-01 2.74284565e-01 2.19427652e-01 2.74284565e-01 2.92570203e-01 2.55998928e-01 2.92570203e-01 2.92570203e-01 3.29141478e-01 2.92570203e-01 2.37713290e-01 3.29141478e-01 3.47427116e-01 3.47427116e-01 2.92570203e-01 3.29141478e-01 2.55998928e-01 1.82856377e-01 3.65712754e-01 2.37713290e-01 2.01142014e-01 3.29141478e-01 2.55998928e-01 2.37713290e-01 2.37713290e-01 1.82856377e-01 2.55998928e-01 1.46285101e-01 1.27999464e-01 3.10855841e-01 1.46285101e-01 2.55998928e-01 2.19427652e-01 2.92570203e-01 1.64570739e-01 3.47427116e-01 2.92570203e-01 2.19427652e-01 3.83998391e-01 1.64570739e-01 2.55998928e-01 1.82856377e-01 2.37713290e-01 3.29141478e-01 3.10855841e-01 1.82856377e-01 2.37713290e-01 2.37713290e-01 2.74284565e-01 1.64570739e-01 2.01142014e-01 1.46285101e-01 3.65712754e-01 2.55998928e-01 2.01142014e-01 2.55998928e-01 3.29141478e-01 3.47427116e-01 3.83998391e-01 2.01142014e-01 1.82856377e-01 2.37713290e-01 3.83998391e-01 3.10855841e-01 2.37713290e-01 2.37713290e-01 2.55998928e-01 2.19427652e-01 3.29141478e-01 2.19427652e-01 1.82856377e-01 2.19427652e-01 1.64570739e-01 3.47427116e-01 2.55998928e-01 2.01142014e-01 5.48569130e-02 3.10855841e-01 2.55998928e-01 2.37713290e-01 1.64570739e-01 2.55998928e-01 2.74284565e-01 3.47427116e-01 2.37713290e-01 1.64570739e-01 1.46285101e-01 1.64570739e-01 2.01142014e-01 2.19427652e-01 1.82856377e-01 1.09713826e-01 7.31425507e-02 2.92570203e-01 2.55998928e-01 3.65712754e-01 1.82856377e-01 2.19427652e-01 3.10855841e-01 3.10855841e-01 3.83998391e-01 2.19427652e-01 1.64570739e-01 1.46285101e-01 2.74284565e-01 1.64570739e-01 1.82856377e-01 2.19427652e-01 1.46285101e-01 2.19427652e-01 1.46285101e-01 1.64570739e-01 2.55998928e-01 2.92570203e-01 2.37713290e-01 1.64570739e-01 1.64570739e-01 2.55998928e-01 2.92570203e-01 2.01142014e-01 3.83998391e-01 2.19427652e-01 1.64570739e-01 1.82856377e-01 3.83998391e-01 1.64570739e-01 2.74284565e-01 2.19427652e-01 2.55998928e-01 2.74284565e-01 1.46285101e-01 2.01142014e-01 2.37713290e-01 2.19427652e-01 1.09713826e-01 2.74284565e-01 1.64570739e-01 1.64570739e-01 2.01142014e-01 2.37713290e-01 2.19427652e-01 2.92570203e-01 2.37713290e-01 3.47427116e-01 3.29141478e-01 1.64570739e-01 2.55998928e-01 2.37713290e-01 1.82856377e-01 2.19427652e-01 1.09713826e-01 1.09713826e-01 2.37713290e-01 2.19427652e-01 1.64570739e-01 2.55998928e-01 2.92570203e-01 2.37713290e-01 2.19427652e-01 2.19427652e-01 1.82856377e-01 2.01142014e-01 2.01142014e-01 3.10855841e-01 1.82856377e-01 2.74284565e-01 1.82856377e-01 2.74284565e-01 2.55998928e-01 1.27999464e-01 2.74284565e-01 1.82856377e-01 2.01142014e-01 3.65712754e-01 2.37713290e-01 2.74284565e-01 2.37713290e-01 1.46285101e-01 2.92570203e-01 2.37713290e-01 1.46285101e-01 3.47427116e-01 3.10855841e-01 1.64570739e-01 1.46285101e-01 1.46285101e-01 2.55998928e-01 2.74284565e-01 2.37713290e-01 1.64570739e-01 1.82856377e-01 1.27999464e-01 2.74284565e-01 2.37713290e-01 1.64570739e-01 1.46285101e-01 1.82856377e-01 3.29141478e-01 2.55998928e-01 1.64570739e-01 2.55998928e-01 1.27999464e-01 2.01142014e-01 2.74284565e-01 2.19427652e-01 1.64570739e-01 1.82856377e-01 2.19427652e-01 2.19427652e-01 1.82856377e-01 2.19427652e-01 2.37713290e-01 2.19427652e-01 2.01142014e-01 1.46285101e-01 1.64570739e-01 1.64570739e-01 1.09713826e-01 2.01142014e-01 2.92570203e-01 2.01142014e-01 9.14281884e-02 1.64570739e-01 2.19427652e-01 1.64570739e-01 1.82856377e-01 1.82856377e-01 2.55998928e-01 2.01142014e-01 2.74284565e-01 2.55998928e-01 2.92570203e-01 2.55998928e-01 1.27999464e-01 9.14281884e-02 1.82856377e-01 1.09713826e-01 2.19427652e-01 1.82856377e-01 1.46285101e-01 1.46285101e-01 2.19427652e-01 2.92570203e-01 2.19427652e-01 3.47427116e-01 3.47427116e-01 1.82856377e-01 2.19427652e-01 3.29141478e-01 1.82856377e-01 2.19427652e-01 3.10855841e-01 2.74284565e-01 2.74284565e-01 2.01142014e-01 2.92570203e-01 2.19427652e-01 1.27999464e-01 2.37713290e-01 1.09713826e-01 2.01142014e-01 1.46285101e-01 2.01142014e-01 3.10855841e-01 2.01142014e-01 1.27999464e-01 2.74284565e-01 1.27999464e-01 2.55998928e-01 1.64570739e-01 3.47427116e-01 2.92570203e-01 3.29141478e-01 3.29141478e-01 1.82856377e-01 1.27999464e-01 2.55998928e-01 2.92570203e-01 4.38855304e-01 1.27999464e-01 2.55998928e-01 1.82856377e-01 2.19427652e-01 1.82856377e-01 2.55998928e-01 2.55998928e-01 1.46285101e-01 1.64570739e-01 9.14281884e-02 1.82856377e-01 2.37713290e-01 1.64570739e-01 2.74284565e-01 1.27999464e-01 9.14281884e-02 1.64570739e-01 2.19427652e-01 3.10855841e-01 1.09713826e-01 1.64570739e-01 2.92570203e-01 3.65712754e-01 2.01142014e-01 2.55998928e-01 2.01142014e-01 2.92570203e-01 2.01142014e-01 3.29141478e-01 2.01142014e-01 1.82856377e-01 2.19427652e-01 2.74284565e-01 1.82856377e-01 2.19427652e-01 2.92570203e-01 1.09713826e-01 2.55998928e-01 1.82856377e-01 2.19427652e-01 2.37713290e-01 1.82856377e-01 3.10855841e-01 2.19427652e-01 2.37713290e-01 3.83998391e-01 1.46285101e-01 2.19427652e-01 1.46285101e-01 2.92570203e-01 4.20569667e-01 2.01142014e-01 2.37713290e-01 2.19427652e-01 1.27999464e-01 2.01142014e-01 1.64570739e-01 2.01142014e-01 2.19427652e-01 1.64570739e-01 2.01142014e-01 2.55998928e-01 2.37713290e-01 2.74284565e-01 3.10855841e-01 2.19427652e-01 1.82856377e-01 1.27999464e-01 1.82856377e-01 2.55998928e-01 3.83998391e-01 2.55998928e-01 2.92570203e-01 3.10855841e-01 2.55998928e-01 2.55998928e-01 1.82856377e-01 1.46285101e-01 2.01142014e-01 2.74284565e-01 1.27999464e-01 2.92570203e-01 3.10855841e-01 1.27999464e-01 1.82856377e-01 1.82856377e-01 2.19427652e-01 1.46285101e-01 2.55998928e-01 2.01142014e-01 9.14281884e-02 1.82856377e-01 2.19427652e-01 2.55998928e-01 2.37713290e-01 1.64570739e-01 2.19427652e-01 1.46285101e-01 2.01142014e-01 1.27999464e-01 2.74284565e-01 1.64570739e-01 2.55998928e-01 1.46285101e-01 1.46285101e-01 2.37713290e-01 2.92570203e-01 1.64570739e-01 2.19427652e-01 2.19427652e-01 3.29141478e-01 1.64570739e-01 2.19427652e-01 2.19427652e-01 3.65712754e-01 3.29141478e-01 1.64570739e-01 3.47427116e-01 1.46285101e-01 2.74284565e-01 1.82856377e-01 2.55998928e-01 2.37713290e-01 1.82856377e-01 3.10855841e-01 9.14281884e-02 2.37713290e-01 2.37713290e-01 2.19427652e-01 2.19427652e-01 2.01142014e-01 2.19427652e-01 1.27999464e-01 2.55998928e-01 2.92570203e-01 1.64570739e-01 1.64570739e-01 1.64570739e-01 3.47427116e-01 2.55998928e-01 2.19427652e-01 3.10855841e-01 2.37713290e-01 2.55998928e-01 2.19427652e-01 2.55998928e-01 2.01142014e-01 1.64570739e-01 2.19427652e-01 2.55998928e-01 1.64570739e-01 1.09713826e-01 2.01142014e-01 2.19427652e-01 1.27999464e-01 2.55998928e-01 2.92570203e-01 1.09713826e-01 1.82856377e-01 2.74284565e-01 2.01142014e-01 2.01142014e-01 2.01142014e-01 2.92570203e-01 2.55998928e-01 1.64570739e-01 2.01142014e-01 3.10855841e-01 2.37713290e-01 1.09713826e-01 1.46285101e-01 1.82856377e-01 2.01142014e-01 2.19427652e-01 1.82856377e-01 2.19427652e-01 2.37713290e-01 1.09713826e-01 2.01142014e-01 2.55998928e-01 2.55998928e-01 1.46285101e-01 2.74284565e-01 1.82856377e-01 1.46285101e-01 9.14281884e-02 1.64570739e-01 2.74284565e-01 2.01142014e-01 2.37713290e-01 2.37713290e-01 2.01142014e-01 1.82856377e-01 1.27999464e-01 2.37713290e-01 1.82856377e-01 1.82856377e-01 2.19427652e-01 2.92570203e-01 1.64570739e-01 2.01142014e-01 2.19427652e-01 1.82856377e-01 2.74284565e-01 2.19427652e-01 1.46285101e-01 2.19427652e-01 2.19427652e-01 1.82856377e-01 1.82856377e-01 2.37713290e-01 2.37713290e-01 3.10855841e-01 2.74284565e-01 1.64570739e-01 2.19427652e-01 1.82856377e-01 2.19427652e-01 3.47427116e-01 2.19427652e-01 2.37713290e-01 2.37713290e-01 2.37713290e-01 1.46285101e-01 2.55998928e-01 1.46285101e-01 2.37713290e-01 1.27999464e-01 2.55998928e-01 1.09713826e-01 2.74284565e-01 2.37713290e-01 1.64570739e-01 1.82856377e-01 2.19427652e-01 2.55998928e-01 2.01142014e-01 1.64570739e-01 2.19427652e-01 2.92570203e-01 1.82856377e-01 1.82856377e-01 2.19427652e-01 1.82856377e-01 2.01142014e-01 3.29141478e-01 2.55998928e-01 2.37713290e-01 2.55998928e-01 3.47427116e-01 1.64570739e-01 1.82856377e-01 1.82856377e-01 3.29141478e-01 2.01142014e-01 1.09713826e-01 1.46285101e-01 2.37713290e-01 2.19427652e-01 2.92570203e-01 2.92570203e-01 2.55998928e-01 2.37713290e-01 1.64570739e-01 2.19427652e-01 2.01142014e-01 2.55998928e-01 2.55998928e-01 1.82856377e-01 2.37713290e-01 1.27999464e-01 2.74284565e-01 2.92570203e-01 2.92570203e-01 2.92570203e-01 2.37713290e-01 1.64570739e-01 2.37713290e-01 2.19427652e-01 2.01142014e-01 1.46285101e-01 2.19427652e-01 2.92570203e-01 2.37713290e-01 2.55998928e-01 1.82856377e-01 1.82856377e-01 1.64570739e-01 2.19427652e-01 2.74284565e-01 2.92570203e-01 1.82856377e-01 2.92570203e-01 1.64570739e-01 1.82856377e-01 2.37713290e-01 2.01142014e-01 1.64570739e-01 2.55998928e-01 1.82856377e-01 2.01142014e-01 2.01142014e-01 1.82856377e-01 2.19427652e-01 2.55998928e-01 2.92570203e-01 4.02284029e-01 1.82856377e-01 9.14281884e-02 1.82856377e-01 2.19427652e-01 2.19427652e-01 3.10855841e-01 2.37713290e-01 2.74284565e-01 2.19427652e-01 3.29141478e-01 2.37713290e-01 1.46285101e-01 2.92570203e-01 2.55998928e-01 2.37713290e-01 2.55998928e-01 7.31425507e-02 2.37713290e-01 2.55998928e-01 3.47427116e-01 2.92570203e-01 2.37713290e-01 1.64570739e-01 2.74284565e-01 9.14281884e-02 1.27999464e-01 2.92570203e-01 4.02284029e-01 1.27999464e-01 2.37713290e-01 2.55998928e-01 3.10855841e-01 2.74284565e-01 2.92570203e-01 2.92570203e-01 1.82856377e-01 2.74284565e-01 2.74284565e-01 2.92570203e-01 2.19427652e-01 2.01142014e-01 3.10855841e-01 1.82856377e-01 1.64570739e-01 2.01142014e-01 2.19427652e-01 2.55998928e-01 2.37713290e-01 2.19427652e-01 2.74284565e-01 3.10855841e-01 2.19427652e-01 2.37713290e-01 2.74284565e-01 3.65712754e-01 1.82856377e-01 2.92570203e-01 2.37713290e-01 1.64570739e-01 2.37713290e-01 2.37713290e-01 3.10855841e-01 2.01142014e-01 2.01142014e-01 2.74284565e-01 3.29141478e-01 2.37713290e-01 2.74284565e-01 2.74284565e-01 3.65712754e-01 2.37713290e-01 2.19427652e-01 2.92570203e-01 2.37713290e-01 3.29141478e-01 2.37713290e-01 1.82856377e-01 2.74284565e-01 2.19427652e-01 2.92570203e-01 2.01142014e-01 1.82856377e-01 1.82856377e-01 1.64570739e-01 2.74284565e-01 2.19427652e-01 2.92570203e-01 2.55998928e-01 2.37713290e-01 2.74284565e-01 1.64570739e-01 3.65712754e-01 3.10855841e-01 2.92570203e-01 2.37713290e-01 1.64570739e-01 2.55998928e-01 1.64570739e-01 3.29141478e-01 3.65712754e-01 3.10855841e-01 1.64570739e-01 2.55998928e-01 3.47427116e-01 3.65712754e-02 3.29141478e-01 2.01142014e-01 2.37713290e-01 2.55998928e-01 3.10855841e-01 2.92570203e-01 2.55998928e-01 2.74284565e-01 3.10855841e-01 3.29141478e-01 2.92570203e-01 1.82856377e-01 1.46285101e-01 1.27999464e-01 2.92570203e-01 2.19427652e-01 1.64570739e-01 1.27999464e-01 2.19427652e-01 2.74284565e-01 3.10855841e-01 3.83998391e-01 1.46285101e-01 2.01142014e-01 1.82856377e-01 2.19427652e-01 1.82856377e-01 2.37713290e-01 1.27999464e-01 1.82856377e-01 2.55998928e-01 3.10855841e-01 3.65712754e-01 1.46285101e-01 2.92570203e-01 2.19427652e-01 3.29141478e-01 3.47427116e-01 2.19427652e-01 3.10855841e-01 2.19427652e-01 2.37713290e-01 1.82856377e-01 2.74284565e-01 1.64570739e-01 2.74284565e-01 2.55998928e-01 2.01142014e-01 1.64570739e-01 2.37713290e-01 3.29141478e-01 3.10855841e-01 2.92570203e-01 1.64570739e-01 2.92570203e-01 3.29141478e-01 2.74284565e-01 2.92570203e-01 1.64570739e-01 2.92570203e-01 1.64570739e-01 2.37713290e-01 2.74284565e-01 2.01142014e-01 1.82856377e-01 4.02284029e-01 2.92570203e-01 2.19427652e-01 1.82856377e-01 2.19427652e-01 3.10855841e-01 2.92570203e-01 1.46285101e-01 2.55998928e-01 2.01142014e-01 2.74284565e-01 1.82856377e-01 1.64570739e-01 2.55998928e-01 2.92570203e-01 2.74284565e-01 2.74284565e-01 3.65712754e-01 3.10855841e-01 3.10855841e-01 1.82856377e-01 3.47427116e-01 3.10855841e-01 3.47427116e-01 2.37713290e-01 2.19427652e-01 2.55998928e-01 1.46285101e-01 2.37713290e-01 3.47427116e-01 2.92570203e-01 3.10855841e-01 2.74284565e-01 2.74284565e-01 4.02284029e-01 2.74284565e-01 2.01142014e-01 1.09713826e-01 1.82856377e-01 1.64570739e-01 2.01142014e-01 3.29141478e-01 2.74284565e-01 2.37713290e-01 2.55998928e-01 3.10855841e-01 2.37713290e-01 2.37713290e-01 3.29141478e-01 3.47427116e-01 2.74284565e-01 1.46285101e-01 2.01142014e-01 1.82856377e-01 2.74284565e-01 2.92570203e-01 3.47427116e-01 2.19427652e-01 2.37713290e-01 2.37713290e-01 2.92570203e-01 3.29141478e-01 2.19427652e-01 3.29141478e-01 1.09713826e-01 3.83998391e-01 3.29141478e-01 3.47427116e-01 3.47427116e-01 2.92570203e-01 2.92570203e-01 2.37713290e-01 3.29141478e-01 7.31425507e-02 2.37713290e-01 2.74284565e-01 2.74284565e-01 4.02284029e-01 2.01142014e-01 2.55998928e-01 2.19427652e-01 2.55998928e-01 2.19427652e-01 2.19427652e-01 2.01142014e-01 2.19427652e-01 2.01142014e-01 4.02284029e-01 2.01142014e-01 3.65712754e-01 3.29141478e-01 3.29141478e-01 3.47427116e-01 3.65712754e-01 3.65712754e-01 2.92570203e-01 2.55998928e-01 2.92570203e-01 4.38855304e-01 3.29141478e-01 2.19427652e-01 2.74284565e-01 2.74284565e-01 3.47427116e-01 4.02284029e-01 4.02284029e-01 2.74284565e-01 1.64570739e-01 2.37713290e-01 3.29141478e-01 2.92570203e-01 2.19427652e-01 1.46285101e-01 1.82856377e-01 1.64570739e-01 3.29141478e-01 2.55998928e-01 2.55998928e-01 2.55998928e-01 4.57140942e-01 1.09713826e-01 3.65712754e-01 1.82856377e-01 2.55998928e-01 3.47427116e-01 2.74284565e-01 2.74284565e-01 3.29141478e-01 4.38855304e-01 3.29141478e-01 4.20569667e-01 1.82856377e-01 3.47427116e-01 2.92570203e-01 2.37713290e-01 2.01142014e-01 2.37713290e-01 2.19427652e-01 3.10855841e-01 3.29141478e-01 1.82856377e-01 1.64570739e-01 4.38855304e-01 4.02284029e-01 4.38855304e-01 3.47427116e-01 3.47427116e-01 2.74284565e-01 2.01142014e-01 3.29141478e-01 3.29141478e-01 2.55998928e-01 1.64570739e-01 2.92570203e-01 3.10855841e-01 3.29141478e-01 2.01142014e-01 2.74284565e-01 3.83998391e-01 2.74284565e-01 3.83998391e-01 5.48569130e-01 3.83998391e-01 2.55998928e-01 3.29141478e-01 3.10855841e-01 3.47427116e-01 3.83998391e-01 3.83998391e-01 4.02284029e-01 2.01142014e-01 2.37713290e-01 2.74284565e-01 3.65712754e-01 3.65712754e-01 3.83998391e-01 2.74284565e-01 2.55998928e-01 3.29141478e-01 2.37713290e-01 3.29141478e-01 2.01142014e-01 3.83998391e-01 2.37713290e-01 3.83998391e-01 2.19427652e-01 4.20569667e-01 3.65712754e-01 3.83998391e-01 3.47427116e-01 2.92570203e-01 2.92570203e-01 3.29141478e-01 3.29141478e-01 5.48569130e-01 3.47427116e-01 2.92570203e-01 4.20569667e-01 3.47427116e-01 2.92570203e-01 4.57140942e-01 4.93712217e-01 3.10855841e-01 3.10855841e-01 3.10855841e-01 3.65712754e-01 3.47427116e-01 2.37713290e-01 2.37713290e-01 4.57140942e-01 4.38855304e-01 4.20569667e-01 4.38855304e-01 5.11997855e-01 2.74284565e-01 3.29141478e-01 1.64570739e-01 2.37713290e-01 5.48569130e-01 2.74284565e-01 3.29141478e-01 2.19427652e-01 2.37713290e-01 2.19427652e-01 4.75426580e-01 4.20569667e-01 3.47427116e-01 3.83998391e-01 3.65712754e-01 2.92570203e-01 4.38855304e-01 3.47427116e-01 4.02284029e-01 2.74284565e-01 2.37713290e-01 3.83998391e-01 3.83998391e-01 3.65712754e-01 3.47427116e-01 2.37713290e-01 3.65712754e-01 3.65712754e-01 2.74284565e-01 4.20569667e-01 4.75426580e-01 3.65712754e-01 2.55998928e-01 3.47427116e-01 2.92570203e-01 3.65712754e-01 4.20569667e-01 3.29141478e-01 3.83998391e-01 3.47427116e-01 4.02284029e-01 3.47427116e-01 4.75426580e-01 3.83998391e-01 3.10855841e-01 4.02284029e-01 4.57140942e-01 3.29141478e-01 3.10855841e-01 2.01142014e-01 2.55998928e-01 5.11997855e-01 3.10855841e-01 3.83998391e-01 4.75426580e-01 3.83998391e-01 4.02284029e-01 3.29141478e-01 3.47427116e-01 4.20569667e-01 3.65712754e-01 2.92570203e-01 5.11997855e-01 3.10855841e-01 2.92570203e-01 4.02284029e-01 5.48569130e-01 4.57140942e-01 3.83998391e-01 4.57140942e-01 4.20569667e-01 3.10855841e-01 4.57140942e-01 4.02284029e-01 3.47427116e-01 2.01142014e-01 3.47427116e-01 4.38855304e-01 4.38855304e-01 3.47427116e-01 4.57140942e-01 5.11997855e-01 4.57140942e-01 4.02284029e-01 4.93712217e-01 4.02284029e-01 3.65712754e-01 3.65712754e-01 4.38855304e-01 4.75426580e-01 3.83998391e-01 5.11997855e-01 4.57140942e-01 5.48569130e-01 4.02284029e-01 4.20569667e-01 4.20569667e-01 3.29141478e-01 3.10855841e-01 5.30283493e-01 3.10855841e-01 3.47427116e-01 4.02284029e-01 2.92570203e-01 3.65712754e-01 4.93712217e-01 4.38855304e-01 4.02284029e-01 5.48569130e-01 4.02284029e-01 4.93712217e-01 4.38855304e-01 3.29141478e-01 5.11997855e-01 4.93712217e-01 4.57140942e-01 4.02284029e-01 4.57140942e-01 6.03426043e-01 4.93712217e-01 3.65712754e-01 4.93712217e-01 3.83998391e-01 3.47427116e-01 4.38855304e-01 4.57140942e-01 4.93712217e-01 4.02284029e-01 4.57140942e-01 4.38855304e-01 4.93712217e-01 5.30283493e-01 3.47427116e-01 4.20569667e-01 4.20569667e-01 3.47427116e-01 7.13139870e-01 4.02284029e-01 3.65712754e-01 5.11997855e-01 4.20569667e-01 4.75426580e-01 3.29141478e-01 3.29141478e-01 6.21711681e-01 6.21711681e-01 5.11997855e-01 4.93712217e-01 4.20569667e-01 4.38855304e-01 4.93712217e-01 3.47427116e-01 5.11997855e-01 5.30283493e-01 4.57140942e-01 6.76568594e-01 6.39997319e-01 4.93712217e-01 5.48569130e-01 4.38855304e-01 4.02284029e-01 5.11997855e-01 5.30283493e-01 5.48569130e-01 6.39997319e-01 6.39997319e-01 6.21711681e-01 3.83998391e-01 3.83998391e-01 4.75426580e-01 6.03426043e-01 4.20569667e-01 4.75426580e-01 5.11997855e-01 4.57140942e-01 5.66854768e-01 6.58282956e-01 5.11997855e-01 6.21711681e-01 7.86282420e-01 3.65712754e-01 5.48569130e-01 4.38855304e-01 5.66854768e-01 6.03426043e-01 4.57140942e-01 5.48569130e-01 6.21711681e-01 7.13139870e-01 5.48569130e-01 4.20569667e-01 5.66854768e-01 7.31425507e-01 7.86282420e-01 6.21711681e-01 6.94854232e-01 6.39997319e-01 6.03426043e-01 7.86282420e-01 7.31425507e-01 6.94854232e-01 6.94854232e-01 8.41139333e-01 6.39997319e-01 7.13139870e-01 6.21711681e-01 5.66854768e-01 7.13139870e-01 7.86282420e-01 8.04568058e-01 7.13139870e-01 5.85140406e-01 7.67996783e-01 5.48569130e-01 6.39997319e-01 6.58282956e-01 5.48569130e-01 8.59424971e-01 8.41139333e-01 6.58282956e-01 7.13139870e-01 6.94854232e-01 8.04568058e-01 7.67996783e-01 6.39997319e-01 6.94854232e-01 6.94854232e-01 8.04568058e-01 8.22853696e-01 7.13139870e-01 8.77710609e-01 7.13139870e-01 8.22853696e-01 8.41139333e-01 9.32567522e-01 6.03426043e-01 7.49711145e-01 9.69138797e-01 7.49711145e-01 1.00571007e+00 7.86282420e-01 6.94854232e-01 7.67996783e-01 7.86282420e-01 9.32567522e-01 9.32567522e-01 9.69138797e-01 6.94854232e-01 8.77710609e-01 1.17028081e+00 8.95996246e-01 8.41139333e-01 1.20685209e+00 8.95996246e-01 9.32567522e-01 6.21711681e-01 8.77710609e-01 7.67996783e-01 1.00571007e+00 9.32567522e-01 8.22853696e-01 1.09713826e+00 8.04568058e-01 8.22853696e-01 1.06056699e+00 1.09713826e+00 1.00571007e+00 9.87424435e-01 9.50853159e-01 1.00571007e+00 9.50853159e-01 1.07885262e+00 1.15199517e+00 1.09713826e+00 9.14281884e-01 1.11542390e+00 1.64570739e+00 7.86282420e-01 1.15199517e+00 1.48113665e+00 9.69138797e-01 1.09713826e+00 1.27999464e+00 1.07885262e+00 8.59424971e-01 1.33485155e+00 9.87424435e-01 1.35313719e+00 1.18856645e+00 1.49942229e+00 1.22513772e+00 1.37142283e+00 1.13370954e+00 1.44456538e+00 1.44456538e+00 1.68227867e+00 1.29828028e+00 1.55427920e+00 1.38970846e+00 1.26170900e+00 1.59085048e+00 1.37142283e+00 1.46285101e+00 1.42627974e+00 1.59085048e+00 1.26170900e+00 1.68227867e+00 1.77370685e+00 1.60913612e+00 1.48113665e+00 2.02970578e+00 1.70056430e+00 1.90170632e+00 1.71884994e+00 2.28570471e+00 1.97484887e+00 1.71884994e+00 1.99313451e+00 2.37713290e+00 2.06627706e+00 2.19427652e+00 2.48684672e+00 2.19427652e+00 2.34056162e+00 2.02970578e+00 2.32227599e+00 2.28570471e+00 1.91999196e+00 2.48684672e+00 2.90741639e+00 2.52341800e+00 2.63313183e+00 3.05370149e+00 2.74284565e+00 2.45027545e+00 2.35884726e+00 2.76113129e+00 2.92570203e+00 2.77941693e+00 2.65141746e+00 3.21827223e+00 3.45598552e+00 2.77941693e+00 3.09027277e+00 3.19998659e+00 3.71198445e+00 3.87655519e+00 3.78512700e+00 3.71198445e+00 3.85826955e+00 3.94969774e+00 4.22398230e+00 4.33369613e+00 4.13255412e+00 4.09598284e+00 4.29712485e+00 4.69940888e+00 4.42512432e+00 4.68112325e+00 4.60798070e+00 4.71769452e+00 4.88226526e+00 4.95540781e+00 4.97369345e+00 5.92454661e+00 5.68683332e+00 5.24797801e+00 5.50397694e+00 5.83311842e+00 5.52226258e+00 5.15654983e+00 6.60111520e+00 5.88797533e+00 6.10740299e+00 6.61940084e+00 5.43083439e+00 6.74740030e+00 6.29025936e+00 6.23540245e+00 6.43654446e+00 6.45483010e+00 6.18054554e+00 6.82054285e+00 6.74740030e+00 6.27197372e+00 6.60111520e+00 6.76568594e+00 7.09482742e+00 7.71653910e+00 6.61940084e+00 6.72911467e+00 7.11311306e+00 6.85711413e+00 6.63768648e+00 7.40568326e+00 6.49140138e+00 6.32683064e+00 6.01597480e+00 6.74740030e+00 5.74169023e+00 5.79654714e+00 6.08911735e+00 5.99768916e+00 6.25368809e+00 6.29025936e+00 5.66854768e+00 6.01597480e+00 5.17483546e+00 6.71082903e+00 5.61369077e+00 6.36340191e+00 4.82740835e+00 5.65026204e+00 5.26626365e+00 4.97369345e+00 5.33940620e+00 4.37026741e+00 4.55312378e+00 4.00455465e+00 4.68112325e+00 4.38855304e+00 3.73027009e+00 4.33369613e+00 4.46169559e+00 4.04112593e+00 4.18741103e+00 3.21827223e+00 3.49255680e+00 3.03541585e+00 3.25484351e+00 3.40112861e+00 2.99884458e+00 3.45598552e+00 2.96227330e+00 2.63313183e+00 2.66970310e+00 3.01713022e+00 2.57827491e+00 2.39541854e+00 2.21256216e+00 2.19427652e+00 2.76113129e+00 2.04799142e+00 2.50513236e+00 2.04799142e+00 2.04799142e+00 1.95656323e+00 1.82856377e+00 1.82856377e+00 2.08456270e+00 1.57256484e+00 1.48113665e+00 1.17028081e+00 1.60913612e+00 1.49942229e+00 1.62742175e+00 1.51770793e+00 1.49942229e+00 1.53599357e+00 1.04228135e+00 1.26170900e+00 1.22513772e+00 9.32567522e-01 1.04228135e+00 1.09713826e+00 1.09713826e+00 1.26170900e+00 8.95996246e-01 1.15199517e+00 8.59424971e-01 8.41139333e-01 1.04228135e+00 1.09713826e+00 7.31425507e-01 8.77710609e-01 7.31425507e-01 8.77710609e-01 7.13139870e-01 8.77710609e-01 6.21711681e-01 7.86282420e-01 4.75426580e-01 5.66854768e-01 6.76568594e-01 7.49711145e-01 5.66854768e-01 6.76568594e-01 6.03426043e-01 5.48569130e-01 6.58282956e-01 5.85140406e-01 5.48569130e-01 4.57140942e-01 4.38855304e-01 4.38855304e-01 4.20569667e-01 5.66854768e-01 4.75426580e-01 4.02284029e-01 3.65712754e-01 4.57140942e-01 3.83998391e-01 4.57140942e-01 4.93712217e-01 3.65712754e-01 4.02284029e-01 3.65712754e-01 5.30283493e-01 2.74284565e-01 3.83998391e-01 3.83998391e-01 3.47427116e-01 2.74284565e-01 3.65712754e-01 2.37713290e-01 2.92570203e-01 4.38855304e-01 2.37713290e-01 2.92570203e-01 1.27999464e-01 2.37713290e-01 9.14281884e-02 2.01142014e-01 2.74284565e-01 2.01142014e-01 3.29141478e-01 2.01142014e-01 2.74284565e-01 2.01142014e-01 2.19427652e-01 1.46285101e-01 2.01142014e-01 1.27999464e-01 3.29141478e-01 1.46285101e-01 1.09713826e-01 1.82856377e-01 1.09713826e-01 1.46285101e-01 2.01142014e-01 9.14281884e-02 1.64570739e-01 9.14281884e-02 1.64570739e-01 1.27999464e-01 2.19427652e-01 1.46285101e-01 9.14281884e-02 1.27999464e-01 2.37713290e-01 1.46285101e-01 1.27999464e-01 7.31425507e-02 1.09713826e-01 7.31425507e-02 1.27999464e-01 5.48569130e-02 2.19427652e-01 1.27999464e-01 5.48569130e-02 1.09713826e-01 5.48569130e-02 1.09713826e-01 1.46285101e-01 7.31425507e-02 7.31425507e-02 3.65712754e-02 9.14281884e-02 9.14281884e-02 5.48569130e-02 9.14281884e-02 1.82856377e-02 1.82856377e-02 1.09713826e-01 0.00000000e+00 1.82856377e-02 1.09713826e-01 1.27999464e-01 9.14281884e-02 7.31425507e-02 0.00000000e+00 5.48569130e-02 3.65712754e-02 5.48569130e-02 5.48569130e-02 5.48569130e-02 1.82856377e-02 3.65712754e-02 3.65712754e-02 1.82856377e-02 9.14281884e-02 7.31425507e-02 3.65712754e-02 1.82856377e-02 3.65712754e-02 1.09713826e-01 5.48569130e-02 9.14281884e-02 0.00000000e+00 1.82856377e-02 3.65712754e-02 1.82856377e-02 1.82856377e-02 5.48569130e-02 3.65712754e-02 5.48569130e-02 1.82856377e-02 5.48569130e-02 3.65712754e-02 1.82856377e-02 5.48569130e-02 1.82856377e-02 1.82856377e-02 0.00000000e+00 5.48569130e-02 0.00000000e+00 0.00000000e+00 3.65712754e-02 3.65712754e-02 7.31425507e-02 1.82856377e-02 1.82856377e-02 3.65712754e-02 0.00000000e+00 1.82856377e-02 1.82856377e-02 1.82856377e-02 3.65712754e-02 1.82856377e-02 1.82856377e-02 0.00000000e+00 1.82856377e-02 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.65712754e-02 1.82856377e-02 5.48569130e-02 1.82856377e-02 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 1.82856377e-02 1.82856377e-02 1.82856377e-02 1.82856377e-02 5.48569130e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 5.48569130e-02 1.82856377e-02 0.00000000e+00 3.65712754e-02 0.00000000e+00 0.00000000e+00 5.48569130e-02 1.82856377e-02 0.00000000e+00 1.82856377e-02 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.65712754e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 1.82856377e-02 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 1.82856377e-02 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82856377e-02 1.82856377e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 4.08069585e-01 1.69057400e+00 2.68160013e+00 4.08069585e+00 7.63673081e+00 1.02017396e+01 1.58564182e+01 2.12196184e+01 2.39595142e+01 2.72240709e+01 2.94976015e+01 2.96141928e+01 3.22957929e+01 2.94393058e+01 3.06635146e+01 3.21209059e+01 3.17128363e+01 3.03720363e+01 3.04303319e+01 3.11881755e+01 2.68160013e+01 2.55334969e+01 2.54169056e+01 2.59415665e+01 2.42509925e+01 2.34931490e+01 2.19774620e+01 2.01702966e+01 2.04617749e+01 1.98205227e+01 1.87129053e+01 1.62061921e+01 1.73138096e+01 1.55649399e+01 1.69057400e+01 1.59730095e+01 1.50402790e+01 1.26501571e+01 1.31165224e+01 1.25335658e+01 1.29416354e+01 1.14842440e+01 1.02017396e+01 1.23586789e+01 1.08429918e+01 1.06681049e+01 9.79367005e+00 8.68605260e+00 8.91923522e+00 8.86093957e+00 1.00268527e+01 8.56946129e+00 9.26900915e+00 8.74434826e+00 8.80264391e+00 9.15241784e+00 7.57843516e+00 8.10309605e+00 7.86991343e+00 8.68605260e+00 8.27798302e+00 6.70400033e+00 7.69502647e+00 7.11206992e+00 8.04480040e+00 6.82059164e+00 7.69502647e+00 6.12104378e+00 6.41252206e+00 5.47979157e+00 5.88786116e+00 6.17933944e+00 6.64570468e+00 5.13001764e+00 5.42149592e+00 4.95513068e+00 6.17933944e+00 6.12104378e+00 6.47081771e+00 5.24660895e+00 5.01342633e+00 5.30490461e+00 6.35422640e+00 5.65467854e+00 6.47081771e+00 5.01342633e+00 4.78024371e+00 5.88786116e+00 4.25558282e+00 4.13899151e+00 4.66365240e+00 5.88786116e+00 4.48876544e+00 4.95513068e+00 4.83853937e+00 5.59638289e+00 4.66365240e+00 5.07172199e+00 5.59638289e+00 4.31387847e+00 4.54706109e+00 3.96410454e+00 4.08069585e+00 4.83853937e+00 5.13001764e+00 4.78024371e+00 5.13001764e+00 4.95513068e+00 3.38114799e+00 3.84751323e+00 4.13899151e+00 3.90580889e+00 4.95513068e+00 4.19728716e+00 4.89683502e+00 4.37217413e+00 4.31387847e+00 3.26455668e+00 4.66365240e+00 3.61433061e+00 3.90580889e+00 4.83853937e+00 3.84751323e+00 4.83853937e+00 3.49773930e+00 4.19728716e+00 3.73092192e+00 3.84751323e+00 3.49773930e+00 4.02240020e+00 3.61433061e+00 3.43944365e+00 3.43944365e+00 3.84751323e+00 3.78921758e+00 3.67262627e+00 4.13899151e+00 3.49773930e+00 3.26455668e+00 3.43944365e+00 3.73092192e+00 3.78921758e+00 2.97307841e+00 3.49773930e+00 3.67262627e+00 3.90580889e+00 3.26455668e+00 2.56500882e+00 2.73989579e+00 2.39012186e+00 3.55603496e+00 2.85648710e+00 3.67262627e+00 2.15693924e+00 3.20626103e+00 3.08966972e+00 2.68160013e+00 3.49773930e+00 3.08966972e+00 2.62330448e+00 3.38114799e+00 2.56500882e+00 3.78921758e+00 3.49773930e+00 2.91478275e+00 3.20626103e+00 3.03137406e+00 3.49773930e+00 3.14796537e+00 2.97307841e+00 3.20626103e+00 2.68160013e+00 2.91478275e+00 2.44841751e+00 4.02240020e+00 2.50671317e+00 2.79819144e+00 2.85648710e+00 2.15693924e+00 2.85648710e+00 2.91478275e+00 3.26455668e+00 2.04034793e+00 3.03137406e+00 2.91478275e+00 2.21523489e+00 2.73989579e+00 2.15693924e+00 2.33182620e+00 2.97307841e+00 3.03137406e+00 2.33182620e+00 2.56500882e+00 2.79819144e+00 1.92375662e+00 2.39012186e+00 2.50671317e+00 2.68160013e+00 2.44841751e+00 2.39012186e+00 2.09864358e+00 3.08966972e+00 1.98205227e+00 2.39012186e+00 2.56500882e+00 2.27353055e+00 2.62330448e+00 2.73989579e+00 3.14796537e+00 2.73989579e+00 2.15693924e+00 3.14796537e+00 2.39012186e+00 2.09864358e+00 1.92375662e+00 2.56500882e+00 1.98205227e+00 1.98205227e+00 2.68160013e+00 2.44841751e+00 2.15693924e+00 1.63227834e+00 2.04034793e+00 2.04034793e+00 1.80716531e+00 2.21523489e+00 2.04034793e+00 2.44841751e+00 2.04034793e+00 2.56500882e+00 3.14796537e+00 2.33182620e+00 2.68160013e+00 2.33182620e+00 1.98205227e+00 1.57398269e+00 1.92375662e+00 1.92375662e+00 1.74886965e+00 2.39012186e+00 2.62330448e+00 2.68160013e+00 1.98205227e+00 1.80716531e+00 2.04034793e+00 1.45739138e+00 2.68160013e+00 2.50671317e+00 2.09864358e+00 2.39012186e+00 1.98205227e+00 2.27353055e+00 2.15693924e+00 1.92375662e+00 1.39909572e+00 1.74886965e+00 1.86546096e+00 2.62330448e+00 1.80716531e+00 1.69057400e+00 2.04034793e+00 2.09864358e+00 2.15693924e+00 2.27353055e+00 2.04034793e+00 1.92375662e+00 1.92375662e+00 1.63227834e+00 9.91026136e-01 2.09864358e+00 1.57398269e+00 2.09864358e+00 2.73989579e+00 1.86546096e+00 1.74886965e+00 1.98205227e+00 1.57398269e+00 1.74886965e+00 1.45739138e+00 1.80716531e+00 1.98205227e+00 1.86546096e+00 1.80716531e+00 1.69057400e+00 1.80716531e+00 1.34080007e+00 1.04932179e+00 9.91026136e-01 1.45739138e+00 1.45739138e+00 1.63227834e+00 1.80716531e+00 1.92375662e+00 2.04034793e+00 1.28250441e+00 1.80716531e+00 1.69057400e+00 2.39012186e+00 1.86546096e+00 1.57398269e+00 1.74886965e+00 1.69057400e+00 2.09864358e+00 1.45739138e+00 2.09864358e+00 1.34080007e+00 2.33182620e+00 1.69057400e+00 1.34080007e+00 1.57398269e+00 1.74886965e+00 1.92375662e+00 1.34080007e+00 1.39909572e+00 2.09864358e+00 1.10761745e+00 1.63227834e+00 1.45739138e+00 1.04932179e+00 1.92375662e+00 1.45739138e+00 1.57398269e+00 1.28250441e+00 1.34080007e+00 1.45739138e+00 1.92375662e+00 1.63227834e+00 1.92375662e+00 1.28250441e+00 1.80716531e+00 1.80716531e+00 1.04932179e+00 1.69057400e+00 2.04034793e+00 1.74886965e+00 1.34080007e+00 1.10761745e+00 1.80716531e+00 1.98205227e+00 1.22420876e+00 1.28250441e+00 1.69057400e+00 1.39909572e+00 1.28250441e+00 1.28250441e+00 1.63227834e+00 1.39909572e+00 1.69057400e+00 1.74886965e+00 1.04932179e+00 1.63227834e+00 1.63227834e+00 1.69057400e+00 1.39909572e+00 1.34080007e+00 1.39909572e+00 1.28250441e+00 1.63227834e+00 1.45739138e+00 1.74886965e+00 1.28250441e+00 8.74434826e-01 1.39909572e+00 1.80716531e+00 1.22420876e+00 1.51568703e+00 1.22420876e+00 1.63227834e+00 1.51568703e+00 1.10761745e+00 1.63227834e+00 1.45739138e+00 1.45739138e+00 1.45739138e+00 1.34080007e+00 1.04932179e+00 1.22420876e+00 1.80716531e+00 1.80716531e+00 1.74886965e+00 1.39909572e+00 7.57843516e-01 1.28250441e+00 1.28250441e+00 8.74434826e-01 9.91026136e-01 1.22420876e+00 1.80716531e+00 1.22420876e+00 1.04932179e+00 8.74434826e-01 1.51568703e+00 1.10761745e+00 1.22420876e+00 1.45739138e+00 1.16591310e+00 7.57843516e-01 9.91026136e-01 1.74886965e+00 1.16591310e+00 8.16139171e-01 1.28250441e+00 1.28250441e+00 9.32730481e-01 1.51568703e+00 1.63227834e+00 1.22420876e+00 1.22420876e+00 8.74434826e-01 1.10761745e+00 1.34080007e+00 1.63227834e+00 1.04932179e+00 1.51568703e+00 1.28250441e+00 1.22420876e+00 1.04932179e+00 1.04932179e+00 1.63227834e+00 1.10761745e+00 1.04932179e+00 1.16591310e+00 1.28250441e+00 1.34080007e+00 1.10761745e+00 1.04932179e+00 9.32730481e-01 1.28250441e+00 8.16139171e-01 6.41252206e-01 9.91026136e-01 9.91026136e-01 1.04932179e+00 1.10761745e+00 1.04932179e+00 1.28250441e+00 7.57843516e-01 1.28250441e+00 8.74434826e-01 1.39909572e+00 1.16591310e+00 1.28250441e+00 8.74434826e-01 9.91026136e-01 1.16591310e+00 9.32730481e-01 1.04932179e+00 1.34080007e+00 1.34080007e+00 9.32730481e-01 1.04932179e+00 1.16591310e+00 7.57843516e-01 8.74434826e-01 1.04932179e+00 1.22420876e+00 1.10761745e+00 8.74434826e-01 1.04932179e+00 8.16139171e-01 9.32730481e-01 9.32730481e-01 1.16591310e+00 9.91026136e-01 6.99547861e-01 1.45739138e+00 6.99547861e-01 1.04932179e+00 7.57843516e-01 6.99547861e-01 9.91026136e-01 8.74434826e-01 1.16591310e+00 8.16139171e-01 6.99547861e-01 1.16591310e+00 7.57843516e-01 8.16139171e-01 9.91026136e-01 1.10761745e+00 1.22420876e+00 8.74434826e-01 1.39909572e+00 8.16139171e-01 8.16139171e-01 6.99547861e-01 8.16139171e-01 7.57843516e-01 8.16139171e-01 9.32730481e-01 8.16139171e-01 1.39909572e+00 8.74434826e-01 8.16139171e-01 7.57843516e-01 1.16591310e+00 9.32730481e-01 9.91026136e-01 6.99547861e-01 1.28250441e+00 8.16139171e-01 1.28250441e+00 8.16139171e-01 1.16591310e+00 7.57843516e-01 1.34080007e+00 8.74434826e-01 6.41252206e-01 9.32730481e-01 8.74434826e-01 8.16139171e-01 5.82956551e-01 9.32730481e-01 5.24660895e-01 6.99547861e-01 3.49773930e-01 6.41252206e-01 5.82956551e-01 9.32730481e-01 1.04932179e+00 3.49773930e-01 1.34080007e+00 6.99547861e-01 7.57843516e-01 4.66365240e-01 9.91026136e-01 9.91026136e-01 7.57843516e-01 6.99547861e-01 1.10761745e+00 1.04932179e+00 1.22420876e+00 1.16591310e+00 1.22420876e+00 5.82956551e-01 1.04932179e+00 6.99547861e-01 1.10761745e+00 8.74434826e-01 5.82956551e-01 8.16139171e-01 8.74434826e-01 4.66365240e-01 4.08069585e-01 5.24660895e-01 7.57843516e-01 7.57843516e-01 1.04932179e+00 1.10761745e+00 1.04932179e+00 9.32730481e-01 6.41252206e-01 6.99547861e-01 8.16139171e-01 1.10761745e+00 1.04932179e+00 9.32730481e-01 8.74434826e-01 6.99547861e-01 6.41252206e-01 6.99547861e-01 1.22420876e+00 9.91026136e-01 7.57843516e-01 1.04932179e+00 8.16139171e-01 8.74434826e-01 7.57843516e-01 9.91026136e-01 1.04932179e+00 7.57843516e-01 9.32730481e-01 1.22420876e+00 5.82956551e-01 1.28250441e+00 7.57843516e-01 6.99547861e-01 6.41252206e-01 6.99547861e-01 6.41252206e-01 6.41252206e-01 6.99547861e-01 9.32730481e-01 7.57843516e-01 1.16591310e+00 8.74434826e-01 1.16591310e+00 1.22420876e+00 7.57843516e-01 4.66365240e-01 6.41252206e-01 5.82956551e-01 4.66365240e-01 9.32730481e-01 7.57843516e-01 6.41252206e-01 9.91026136e-01 9.32730481e-01 6.41252206e-01 9.91026136e-01 8.74434826e-01 9.32730481e-01 7.57843516e-01 5.24660895e-01 5.82956551e-01 3.49773930e-01 9.32730481e-01 6.99547861e-01 9.91026136e-01 8.16139171e-01 7.57843516e-01 9.32730481e-01 7.57843516e-01 8.16139171e-01 4.08069585e-01 8.74434826e-01 5.82956551e-01 5.24660895e-01 9.32730481e-01 6.41252206e-01 5.24660895e-01 5.82956551e-01 6.41252206e-01 9.32730481e-01 5.24660895e-01 9.32730481e-01 4.08069585e-01 8.16139171e-01 5.24660895e-01 6.99547861e-01 6.99547861e-01 5.82956551e-01 7.57843516e-01 3.49773930e-01 6.99547861e-01 6.41252206e-01 5.24660895e-01 8.16139171e-01 4.08069585e-01 9.91026136e-01 8.16139171e-01 6.99547861e-01 6.41252206e-01 5.82956551e-01 4.08069585e-01 6.99547861e-01 5.82956551e-01 8.74434826e-01 7.57843516e-01 6.41252206e-01 8.16139171e-01 5.82956551e-01 6.99547861e-01 8.16139171e-01 4.66365240e-01 5.24660895e-01 8.74434826e-01 7.57843516e-01 5.24660895e-01 7.57843516e-01 7.57843516e-01 5.24660895e-01 3.49773930e-01 5.82956551e-01 4.66365240e-01 8.74434826e-01 5.82956551e-01 7.57843516e-01 4.08069585e-01 1.04932179e+00 5.82956551e-01 6.99547861e-01 2.91478275e-01 7.57843516e-01 6.99547861e-01 5.24660895e-01 3.49773930e-01 5.82956551e-01 1.16591310e+00 5.24660895e-01 6.41252206e-01 7.57843516e-01 4.08069585e-01 4.66365240e-01 6.99547861e-01 4.66365240e-01 9.32730481e-01 4.66365240e-01 4.08069585e-01 5.82956551e-01 5.82956551e-01 3.49773930e-01 6.41252206e-01 3.49773930e-01 6.99547861e-01 5.24660895e-01 8.74434826e-01 6.99547861e-01 6.99547861e-01 1.16591310e+00 7.57843516e-01 4.66365240e-01 9.32730481e-01 6.41252206e-01 3.49773930e-01 6.99547861e-01 6.99547861e-01 1.04932179e+00 9.32730481e-01 6.41252206e-01 6.41252206e-01 6.41252206e-01 8.16139171e-01 3.49773930e-01 6.99547861e-01 5.82956551e-01 6.41252206e-01 5.82956551e-01 5.24660895e-01 9.91026136e-01 4.66365240e-01 8.16139171e-01 5.82956551e-01 7.57843516e-01 9.32730481e-01 5.24660895e-01 7.57843516e-01 9.32730481e-01 6.41252206e-01 2.33182620e-01 8.74434826e-01 1.16591310e-01 5.24660895e-01 5.82956551e-01 5.24660895e-01 1.04932179e+00 6.99547861e-01 4.66365240e-01 6.99547861e-01 5.82956551e-01 2.91478275e-01 9.91026136e-01 3.49773930e-01 7.57843516e-01 6.41252206e-01 6.41252206e-01 5.82956551e-01 8.16139171e-01 5.82956551e-01 6.99547861e-01 4.66365240e-01 7.57843516e-01 9.32730481e-01 6.99547861e-01 6.41252206e-01 4.66365240e-01 4.66365240e-01 6.99547861e-01 7.57843516e-01 4.66365240e-01 5.24660895e-01 5.82956551e-01 6.99547861e-01 3.49773930e-01 3.49773930e-01 4.66365240e-01 6.41252206e-01 2.91478275e-01 1.74886965e-01 3.49773930e-01 1.04932179e+00 5.82956551e-01 5.82956551e-01 6.41252206e-01 7.57843516e-01 6.41252206e-01 4.66365240e-01 8.16139171e-01 3.49773930e-01 8.16139171e-01 6.99547861e-01 2.91478275e-01 8.16139171e-01 6.41252206e-01 5.82956551e-01 2.91478275e-01 4.08069585e-01 1.16591310e-01 6.99547861e-01 5.82956551e-01 4.08069585e-01 4.08069585e-01 5.82956551e-01 6.41252206e-01 3.49773930e-01 8.16139171e-01 4.08069585e-01 8.16139171e-01 6.99547861e-01 5.82956551e-01 5.82956551e-01 5.82956551e-01 7.57843516e-01 9.32730481e-01 4.66365240e-01 5.82956551e-01 4.08069585e-01 5.24660895e-01 2.91478275e-01 4.08069585e-01 5.24660895e-01 5.82956551e-01 5.82956551e-01 2.33182620e-01 5.82956551e-01 4.66365240e-01 6.41252206e-01 5.24660895e-01 6.41252206e-01 6.41252206e-01 4.08069585e-01 5.24660895e-01 5.82956551e-01 4.08069585e-01 7.57843516e-01 6.41252206e-01 8.74434826e-01 2.33182620e-01 4.08069585e-01 6.41252206e-01 6.41252206e-01 6.41252206e-01 5.24660895e-01 5.82956551e-01 5.24660895e-01 7.57843516e-01 6.99547861e-01 5.24660895e-01 5.82956551e-01 4.08069585e-01 6.99547861e-01 4.08069585e-01 3.49773930e-01 5.24660895e-01 7.57843516e-01 4.66365240e-01 6.99547861e-01 4.66365240e-01 2.91478275e-01 5.24660895e-01 3.49773930e-01 2.91478275e-01 7.57843516e-01 4.08069585e-01 6.99547861e-01 5.24660895e-01 4.66365240e-01 2.91478275e-01 5.24660895e-01 4.08069585e-01 3.49773930e-01 7.57843516e-01 5.82956551e-01 4.66365240e-01 6.41252206e-01 5.24660895e-01 5.82956551e-01 4.08069585e-01 2.33182620e-01 6.99547861e-01 5.82956551e-01 6.41252206e-01 5.82956551e-01 4.08069585e-01 4.66365240e-01 6.41252206e-01 5.82956551e-01 3.49773930e-01 2.33182620e-01 4.66365240e-01 4.66365240e-01 5.24660895e-01 4.08069585e-01 2.91478275e-01 5.24660895e-01 2.33182620e-01 5.82956551e-01 1.74886965e-01 2.91478275e-01 4.66365240e-01 6.99547861e-01 1.16591310e-01 7.57843516e-01 4.66365240e-01 4.08069585e-01 5.24660895e-01 6.99547861e-01 5.82956551e-01 7.57843516e-01 5.24660895e-01 4.66365240e-01 3.49773930e-01 5.24660895e-01 5.24660895e-01 5.82956551e-01 4.08069585e-01 6.41252206e-01 8.16139171e-01 4.66365240e-01 2.91478275e-01 6.99547861e-01 5.82956551e-01 4.08069585e-01 4.08069585e-01 6.99547861e-01 4.08069585e-01 4.66365240e-01 6.99547861e-01 3.49773930e-01 4.08069585e-01 8.74434826e-01 7.57843516e-01 3.49773930e-01 5.24660895e-01 4.66365240e-01 7.57843516e-01 4.08069585e-01 6.41252206e-01 2.33182620e-01 2.33182620e-01 4.08069585e-01 8.16139171e-01 3.49773930e-01 2.91478275e-01 2.91478275e-01 2.91478275e-01 2.33182620e-01 5.82956551e-01 2.91478275e-01 3.49773930e-01 3.49773930e-01 3.49773930e-01 3.49773930e-01 2.33182620e-01 1.16591310e+00 2.91478275e-01 4.08069585e-01 2.91478275e-01 2.33182620e-01 5.24660895e-01 4.66365240e-01 3.49773930e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 2.91478275e-01 5.24660895e-01 5.82956551e-01 6.99547861e-01 2.91478275e-01 5.24660895e-01 6.41252206e-01 3.49773930e-01 2.33182620e-01 4.08069585e-01 2.33182620e-01 6.41252206e-01 5.24660895e-01 2.91478275e-01 4.66365240e-01 2.91478275e-01 4.08069585e-01 6.41252206e-01 5.24660895e-01 4.08069585e-01 2.91478275e-01 2.33182620e-01 6.41252206e-01 4.66365240e-01 4.08069585e-01 3.49773930e-01 4.08069585e-01 5.82956551e-01 5.24660895e-01 4.08069585e-01 6.99547861e-01 4.66365240e-01 1.74886965e-01 8.74434826e-01 6.41252206e-01 4.08069585e-01 3.49773930e-01 1.16591310e-01 4.08069585e-01 6.99547861e-01 4.66365240e-01 2.91478275e-01 2.91478275e-01 2.91478275e-01 8.16139171e-01 5.24660895e-01 5.24660895e-01 1.16591310e-01 5.82956551e-01 5.82956551e-01 8.16139171e-01 4.08069585e-01 5.24660895e-01 6.99547861e-01 2.33182620e-01 5.82956551e-01 5.24660895e-01 5.24660895e-01 5.82956551e-01 4.08069585e-01 8.16139171e-01 3.49773930e-01 5.82956551e-01 5.24660895e-01 2.91478275e-01 3.49773930e-01 6.99547861e-01 5.24660895e-01 5.24660895e-01 4.66365240e-01 4.66365240e-01 5.24660895e-01 2.91478275e-01 4.08069585e-01 4.66365240e-01 3.49773930e-01 3.49773930e-01 3.49773930e-01 3.49773930e-01 2.91478275e-01 6.41252206e-01 3.49773930e-01 5.82956551e-01 2.91478275e-01 3.49773930e-01 2.33182620e-01 5.82956551e-01 2.91478275e-01 2.91478275e-01 2.91478275e-01 1.74886965e-01 4.66365240e-01 4.08069585e-01 8.74434826e-01 6.99547861e-01 4.08069585e-01 2.91478275e-01 4.08069585e-01 2.91478275e-01 2.91478275e-01 4.08069585e-01 4.66365240e-01 1.74886965e-01 5.82956551e-01 4.08069585e-01 4.66365240e-01 2.91478275e-01 4.66365240e-01 2.91478275e-01 3.49773930e-01 3.49773930e-01 2.91478275e-01 2.91478275e-01 2.33182620e-01 5.82956551e-01 4.08069585e-01 2.33182620e-01 4.66365240e-01 4.08069585e-01 5.24660895e-01 4.66365240e-01 5.82956551e-01 3.49773930e-01 3.49773930e-01 1.74886965e-01 2.91478275e-01 3.49773930e-01 1.74886965e-01 4.08069585e-01 4.66365240e-01 2.33182620e-01 2.33182620e-01 5.82956551e-01 2.33182620e-01 4.66365240e-01 2.91478275e-01 2.33182620e-01 3.49773930e-01 3.49773930e-01 6.41252206e-01 4.66365240e-01 4.08069585e-01 5.24660895e-01 6.99547861e-01 4.66365240e-01 5.24660895e-01 3.49773930e-01 3.49773930e-01 2.33182620e-01 5.24660895e-01 5.24660895e-01 4.08069585e-01 2.33182620e-01 5.24660895e-01 6.41252206e-01 5.24660895e-01 2.91478275e-01 1.74886965e-01 4.08069585e-01 4.08069585e-01 3.49773930e-01 4.66365240e-01 5.24660895e-01 5.82956551e-01 3.49773930e-01 2.91478275e-01 2.33182620e-01 2.91478275e-01 3.49773930e-01 4.66365240e-01 2.91478275e-01 6.99547861e-01 1.74886965e-01 5.82956551e-01 2.33182620e-01 1.74886965e-01 2.91478275e-01 4.08069585e-01 2.91478275e-01 2.33182620e-01 2.91478275e-01 4.08069585e-01 3.49773930e-01 4.66365240e-01 5.82956551e-01 1.74886965e-01 2.33182620e-01 5.82956551e-02 4.66365240e-01 2.33182620e-01 5.24660895e-01 5.82956551e-01 1.74886965e-01 5.24660895e-01 2.33182620e-01 2.91478275e-01 5.82956551e-01 4.66365240e-01 3.49773930e-01 4.66365240e-01 2.91478275e-01 3.49773930e-01 4.08069585e-01 1.74886965e-01 5.24660895e-01 4.66365240e-01 5.24660895e-01 6.99547861e-01 5.82956551e-01 4.66365240e-01 1.16591310e-01 2.33182620e-01 3.49773930e-01 2.91478275e-01 4.66365240e-01 2.91478275e-01 6.99547861e-01 1.74886965e-01 6.99547861e-01 1.74886965e-01 5.24660895e-01 4.08069585e-01 5.24660895e-01 4.08069585e-01 4.08069585e-01 2.33182620e-01 4.66365240e-01 6.41252206e-01 2.91478275e-01 5.24660895e-01 4.08069585e-01 2.33182620e-01 2.33182620e-01 4.66365240e-01 1.74886965e-01 3.49773930e-01 1.74886965e-01 4.08069585e-01 4.66365240e-01 2.33182620e-01 2.91478275e-01 4.08069585e-01 2.91478275e-01 4.08069585e-01 2.33182620e-01 2.91478275e-01 4.66365240e-01 4.66365240e-01 2.33182620e-01 7.57843516e-01 4.66365240e-01 2.33182620e-01 2.33182620e-01 2.91478275e-01 2.33182620e-01 1.74886965e-01 2.91478275e-01 2.91478275e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 6.99547861e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 6.41252206e-01 3.49773930e-01 2.91478275e-01 5.82956551e-01 4.08069585e-01 3.49773930e-01 3.49773930e-01 3.49773930e-01 3.49773930e-01 2.91478275e-01 4.08069585e-01 2.33182620e-01 4.08069585e-01 2.91478275e-01 1.16591310e-01 6.99547861e-01 2.91478275e-01 2.91478275e-01 2.91478275e-01 2.91478275e-01 4.66365240e-01 3.49773930e-01 2.91478275e-01 1.74886965e-01 2.91478275e-01 3.49773930e-01 5.82956551e-01 1.74886965e-01 3.49773930e-01 2.33182620e-01 4.08069585e-01 2.33182620e-01 2.91478275e-01 1.74886965e-01 2.91478275e-01 2.33182620e-01 3.49773930e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 4.08069585e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 4.08069585e-01 1.74886965e-01 2.91478275e-01 4.08069585e-01 3.49773930e-01 2.91478275e-01 3.49773930e-01 0.00000000e+00 4.08069585e-01 4.66365240e-01 3.49773930e-01 4.08069585e-01 3.49773930e-01 5.24660895e-01 1.74886965e-01 3.49773930e-01 6.99547861e-01 2.91478275e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 2.91478275e-01 9.32730481e-01 2.91478275e-01 4.08069585e-01 3.49773930e-01 1.74886965e-01 3.49773930e-01 2.91478275e-01 0.00000000e+00 2.33182620e-01 1.16591310e-01 5.24660895e-01 5.24660895e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 3.49773930e-01 5.24660895e-01 4.66365240e-01 2.91478275e-01 2.33182620e-01 2.33182620e-01 4.66365240e-01 2.33182620e-01 2.91478275e-01 2.91478275e-01 5.82956551e-02 5.82956551e-02 4.08069585e-01 2.33182620e-01 5.82956551e-01 2.91478275e-01 5.82956551e-02 4.08069585e-01 6.41252206e-01 2.91478275e-01 2.91478275e-01 4.08069585e-01 2.91478275e-01 3.49773930e-01 2.33182620e-01 4.08069585e-01 3.49773930e-01 2.33182620e-01 1.74886965e-01 5.24660895e-01 3.49773930e-01 1.16591310e-01 2.91478275e-01 5.82956551e-02 2.33182620e-01 2.91478275e-01 2.91478275e-01 2.91478275e-01 5.24660895e-01 2.91478275e-01 1.74886965e-01 2.33182620e-01 3.49773930e-01 2.91478275e-01 5.24660895e-01 5.24660895e-01 1.74886965e-01 3.49773930e-01 1.16591310e-01 4.08069585e-01 3.49773930e-01 2.91478275e-01 4.08069585e-01 2.33182620e-01 2.33182620e-01 3.49773930e-01 4.08069585e-01 4.08069585e-01 4.66365240e-01 2.91478275e-01 5.24660895e-01 2.91478275e-01 2.91478275e-01 4.08069585e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 2.91478275e-01 2.33182620e-01 3.49773930e-01 2.91478275e-01 4.66365240e-01 2.91478275e-01 4.66365240e-01 2.91478275e-01 3.49773930e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 2.91478275e-01 1.16591310e-01 3.49773930e-01 4.08069585e-01 3.49773930e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 3.49773930e-01 3.49773930e-01 4.66365240e-01 2.33182620e-01 5.82956551e-02 4.08069585e-01 5.24660895e-01 5.82956551e-02 2.91478275e-01 3.49773930e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 5.24660895e-01 2.91478275e-01 2.33182620e-01 2.91478275e-01 2.33182620e-01 4.08069585e-01 1.16591310e-01 4.08069585e-01 4.08069585e-01 2.91478275e-01 5.24660895e-01 1.74886965e-01 1.16591310e-01 2.91478275e-01 1.16591310e-01 3.49773930e-01 2.33182620e-01 2.91478275e-01 3.49773930e-01 4.08069585e-01 2.91478275e-01 2.91478275e-01 2.91478275e-01 3.49773930e-01 4.08069585e-01 1.74886965e-01 3.49773930e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 6.99547861e-01 3.49773930e-01 4.66365240e-01 1.16591310e-01 3.49773930e-01 3.49773930e-01 2.33182620e-01 3.49773930e-01 2.33182620e-01 2.33182620e-01 1.74886965e-01 3.49773930e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 5.82956551e-01 4.66365240e-01 5.24660895e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 4.08069585e-01 2.91478275e-01 2.91478275e-01 5.82956551e-02 2.33182620e-01 1.16591310e-01 3.49773930e-01 4.66365240e-01 4.66365240e-01 1.74886965e-01 3.49773930e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 4.66365240e-01 2.91478275e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 4.66365240e-01 1.74886965e-01 2.33182620e-01 2.91478275e-01 3.49773930e-01 2.91478275e-01 0.00000000e+00 4.66365240e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 2.91478275e-01 1.74886965e-01 3.49773930e-01 6.41252206e-01 3.49773930e-01 1.74886965e-01 2.91478275e-01 1.74886965e-01 6.41252206e-01 1.74886965e-01 1.74886965e-01 4.08069585e-01 3.49773930e-01 2.33182620e-01 3.49773930e-01 3.49773930e-01 1.16591310e-01 4.66365240e-01 3.49773930e-01 2.33182620e-01 4.08069585e-01 4.66365240e-01 5.24660895e-01 1.74886965e-01 2.91478275e-01 0.00000000e+00 0.00000000e+00 2.33182620e-01 4.08069585e-01 2.91478275e-01 4.08069585e-01 1.74886965e-01 2.33182620e-01 3.49773930e-01 2.33182620e-01 2.91478275e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 3.49773930e-01 4.66365240e-01 2.33182620e-01 5.82956551e-02 6.41252206e-01 6.41252206e-01 2.33182620e-01 3.49773930e-01 5.82956551e-02 2.33182620e-01 2.91478275e-01 3.49773930e-01 4.08069585e-01 2.91478275e-01 5.82956551e-02 2.91478275e-01 2.33182620e-01 2.33182620e-01 2.91478275e-01 5.82956551e-01 4.08069585e-01 2.91478275e-01 4.08069585e-01 3.49773930e-01 2.33182620e-01 3.49773930e-01 4.66365240e-01 3.49773930e-01 1.74886965e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 3.49773930e-01 2.33182620e-01 2.91478275e-01 5.82956551e-02 1.74886965e-01 3.49773930e-01 4.08069585e-01 1.74886965e-01 6.41252206e-01 2.91478275e-01 6.41252206e-01 1.74886965e-01 4.66365240e-01 2.33182620e-01 1.16591310e-01 2.91478275e-01 2.91478275e-01 3.49773930e-01 3.49773930e-01 4.08069585e-01 2.33182620e-01 2.91478275e-01 2.33182620e-01 1.74886965e-01 2.91478275e-01 2.33182620e-01 3.49773930e-01 2.91478275e-01 1.16591310e-01 2.91478275e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 3.49773930e-01 2.33182620e-01 2.91478275e-01 3.49773930e-01 1.16591310e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 5.24660895e-01 1.16591310e-01 2.91478275e-01 2.91478275e-01 2.91478275e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 3.49773930e-01 2.91478275e-01 2.91478275e-01 2.33182620e-01 4.66365240e-01 1.74886965e-01 2.33182620e-01 4.08069585e-01 3.49773930e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 4.08069585e-01 4.66365240e-01 2.91478275e-01 1.16591310e-01 0.00000000e+00 3.49773930e-01 2.33182620e-01 4.08069585e-01 1.74886965e-01 2.91478275e-01 2.33182620e-01 2.91478275e-01 2.91478275e-01 3.49773930e-01 1.74886965e-01 2.33182620e-01 3.49773930e-01 1.16591310e-01 2.91478275e-01 1.16591310e-01 2.91478275e-01 3.49773930e-01 2.91478275e-01 1.16591310e-01 1.16591310e-01 5.82956551e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 3.49773930e-01 1.16591310e-01 4.08069585e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 2.33182620e-01 3.49773930e-01 4.08069585e-01 3.49773930e-01 3.49773930e-01 2.91478275e-01 1.16591310e-01 2.91478275e-01 4.08069585e-01 2.91478275e-01 0.00000000e+00 2.33182620e-01 3.49773930e-01 1.74886965e-01 2.91478275e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 2.91478275e-01 3.49773930e-01 2.91478275e-01 1.16591310e-01 2.33182620e-01 2.33182620e-01 4.08069585e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 2.91478275e-01 2.33182620e-01 2.33182620e-01 3.49773930e-01 5.82956551e-02 4.66365240e-01 2.91478275e-01 2.91478275e-01 1.74886965e-01 1.16591310e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 4.66365240e-01 3.49773930e-01 2.91478275e-01 2.91478275e-01 2.91478275e-01 3.49773930e-01 2.91478275e-01 1.16591310e-01 2.91478275e-01 2.33182620e-01 5.82956551e-02 4.08069585e-01 5.82956551e-01 1.16591310e-01 1.16591310e-01 3.49773930e-01 4.66365240e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 4.08069585e-01 2.91478275e-01 5.82956551e-02 2.91478275e-01 1.16591310e-01 2.91478275e-01 1.74886965e-01 1.74886965e-01 3.49773930e-01 1.74886965e-01 1.74886965e-01 4.66365240e-01 2.33182620e-01 5.82956551e-01 2.33182620e-01 1.16591310e-01 4.08069585e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.91478275e-01 3.49773930e-01 1.74886965e-01 4.08069585e-01 3.49773930e-01 1.74886965e-01 4.08069585e-01 2.33182620e-01 0.00000000e+00 3.49773930e-01 2.91478275e-01 1.16591310e-01 2.91478275e-01 5.82956551e-02 3.49773930e-01 4.08069585e-01 5.82956551e-02 5.24660895e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 1.74886965e-01 3.49773930e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 3.49773930e-01 2.91478275e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 2.33182620e-01 2.91478275e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 2.91478275e-01 2.33182620e-01 0.00000000e+00 1.16591310e-01 2.91478275e-01 2.91478275e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 4.08069585e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.74886965e-01 2.91478275e-01 2.91478275e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.91478275e-01 1.16591310e-01 2.33182620e-01 4.08069585e-01 4.08069585e-01 3.49773930e-01 1.74886965e-01 1.16591310e-01 4.08069585e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 3.49773930e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 2.33182620e-01 3.49773930e-01 4.08069585e-01 2.91478275e-01 4.08069585e-01 2.91478275e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 5.82956551e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.74886965e-01 2.91478275e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 4.08069585e-01 1.16591310e-01 1.16591310e-01 2.91478275e-01 2.91478275e-01 4.08069585e-01 2.91478275e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 2.91478275e-01 3.49773930e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 5.82956551e-02 4.08069585e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.74886965e-01 3.49773930e-01 2.91478275e-01 2.91478275e-01 2.33182620e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 4.08069585e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 4.66365240e-01 2.91478275e-01 4.66365240e-01 1.74886965e-01 4.66365240e-01 1.16591310e-01 1.74886965e-01 4.08069585e-01 2.91478275e-01 2.91478275e-01 3.49773930e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 2.91478275e-01 3.49773930e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 4.08069585e-01 2.91478275e-01 1.74886965e-01 3.49773930e-01 2.91478275e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 3.49773930e-01 0.00000000e+00 5.24660895e-01 2.91478275e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.16591310e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 2.91478275e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 2.91478275e-01 5.82956551e-02 5.82956551e-02 2.91478275e-01 2.91478275e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 1.74886965e-01 2.91478275e-01 5.82956551e-02 1.16591310e-01 2.91478275e-01 1.74886965e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 4.08069585e-01 1.16591310e-01 1.74886965e-01 4.66365240e-01 5.82956551e-02 0.00000000e+00 3.49773930e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 2.33182620e-01 2.91478275e-01 1.74886965e-01 4.08069585e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 4.08069585e-01 2.91478275e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 2.91478275e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.74886965e-01 3.49773930e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 2.91478275e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 2.91478275e-01 2.91478275e-01 4.08069585e-01 4.08069585e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 4.08069585e-01 1.16591310e-01 2.91478275e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 2.33182620e-01 2.33182620e-01 2.91478275e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 2.33182620e-01 3.49773930e-01 1.74886965e-01 2.91478275e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 2.91478275e-01 1.16591310e-01 3.49773930e-01 5.82956551e-02 3.49773930e-01 3.49773930e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 2.91478275e-01 2.33182620e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 4.08069585e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 2.91478275e-01 1.74886965e-01 1.74886965e-01 2.91478275e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 2.33182620e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 4.66365240e-01 1.16591310e-01 3.49773930e-01 1.74886965e-01 5.82956551e-01 2.33182620e-01 1.74886965e-01 3.49773930e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.91478275e-01 1.16591310e-01 2.91478275e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 2.33182620e-01 0.00000000e+00 1.74886965e-01 2.91478275e-01 5.82956551e-02 2.91478275e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 2.33182620e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 4.66365240e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 1.16591310e-01 2.91478275e-01 2.33182620e-01 2.33182620e-01 5.82956551e-02 2.91478275e-01 5.24660895e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 2.91478275e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 2.91478275e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 2.91478275e-01 1.74886965e-01 2.33182620e-01 2.33182620e-01 3.49773930e-01 0.00000000e+00 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 2.91478275e-01 2.91478275e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 2.33182620e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 2.91478275e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 3.49773930e-01 2.91478275e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 3.49773930e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 2.91478275e-01 1.74886965e-01 2.33182620e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 0.00000000e+00 2.33182620e-01 1.74886965e-01 2.91478275e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.33182620e-01 2.33182620e-01 1.74886965e-01 2.91478275e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 3.49773930e-01 1.74886965e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 2.91478275e-01 2.91478275e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 1.74886965e-01 4.66365240e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 2.91478275e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 0.00000000e+00 2.91478275e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 3.49773930e-01 2.91478275e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 3.49773930e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 2.91478275e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 2.33182620e-01 1.74886965e-01 3.49773930e-01 1.74886965e-01 2.91478275e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 0.00000000e+00 2.33182620e-01 2.33182620e-01 5.82956551e-02 4.66365240e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 2.33182620e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 2.33182620e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 3.49773930e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 2.33182620e-01 1.74886965e-01 4.08069585e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.91478275e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 3.49773930e-01 1.74886965e-01 1.74886965e-01 2.33182620e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 1.74886965e-01 2.33182620e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 2.33182620e-01 1.74886965e-01 1.74886965e-01 2.91478275e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 2.91478275e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.24660895e-01 2.33182620e-01 5.82956551e-02 2.91478275e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.16591310e-01 2.91478275e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 2.33182620e-01 0.00000000e+00 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 2.91478275e-01 0.00000000e+00 4.66365240e-01 2.91478275e-01 5.24660895e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 2.91478275e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 3.49773930e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 3.49773930e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 2.33182620e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 5.82956551e-02 2.91478275e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 3.49773930e-01 2.91478275e-01 1.74886965e-01 4.08069585e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.74886965e-01 3.49773930e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.91478275e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 1.16591310e-01 2.91478275e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 2.91478275e-01 5.82956551e-02 2.91478275e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 2.33182620e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 0.00000000e+00 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.74886965e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 4.08069585e-01 2.91478275e-01 1.74886965e-01 1.74886965e-01 2.33182620e-01 0.00000000e+00 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 2.91478275e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 1.74886965e-01 1.16591310e-01 4.08069585e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.16591310e-01 2.33182620e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 2.91478275e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.74886965e-01 2.91478275e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.91478275e-01 0.00000000e+00 1.16591310e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.33182620e-01 2.33182620e-01 0.00000000e+00 1.74886965e-01 2.91478275e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 2.33182620e-01 2.33182620e-01 2.33182620e-01 2.33182620e-01 2.33182620e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 0.00000000e+00 3.49773930e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 2.33182620e-01 2.33182620e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 2.91478275e-01 1.74886965e-01 1.16591310e-01 2.91478275e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 2.91478275e-01 1.74886965e-01 1.74886965e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 0.00000000e+00 2.33182620e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 5.82956551e-02 2.33182620e-01 0.00000000e+00 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 3.49773930e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 2.33182620e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 3.49773930e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.74886965e-01 2.91478275e-01 2.91478275e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 2.91478275e-01 1.16591310e-01 0.00000000e+00 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.91478275e-01 2.91478275e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 3.49773930e-01 1.16591310e-01 2.91478275e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 5.82956551e-02 2.91478275e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 2.91478275e-01 1.74886965e-01 1.74886965e-01 3.49773930e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 2.33182620e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 0.00000000e+00 5.82956551e-02 2.33182620e-01 1.16591310e-01 4.08069585e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 2.91478275e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.74886965e-01 3.49773930e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 2.91478275e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 2.91478275e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 3.49773930e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 4.08069585e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 2.91478275e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 2.91478275e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 2.91478275e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 2.91478275e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 2.33182620e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 2.33182620e-01 2.33182620e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 2.33182620e-01 2.33182620e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 0.00000000e+00 2.33182620e-01 1.16591310e-01 0.00000000e+00 2.33182620e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 3.49773930e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 3.49773930e-01 1.16591310e-01 2.91478275e-01 5.82956551e-02 1.74886965e-01 4.08069585e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 0.00000000e+00 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 2.33182620e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 2.91478275e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.33182620e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 2.91478275e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.74886965e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.91478275e-01 3.49773930e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 5.82956551e-02 2.91478275e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 2.91478275e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.74886965e-01 2.33182620e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.74886965e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.74886965e-01 0.00000000e+00 3.49773930e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 4.66365240e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.91478275e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.74886965e-01 2.91478275e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.74886965e-01 2.33182620e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 2.33182620e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.24660895e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 2.33182620e-01 3.49773930e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 2.33182620e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 2.91478275e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.74886965e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 2.33182620e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.74886965e-01 2.91478275e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.16591310e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.91478275e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.91478275e-01 2.33182620e-01 0.00000000e+00 5.82956551e-02 0.00000000e+00 2.91478275e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.74886965e-01 2.33182620e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 4.08069585e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 2.91478275e-01 2.33182620e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 5.82956551e-02 2.33182620e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 2.33182620e-01 2.33182620e-01 5.82956551e-02 2.91478275e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.16591310e-01 2.91478275e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 2.91478275e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.74886965e-01 2.91478275e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 2.91478275e-01 2.91478275e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 2.33182620e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 2.33182620e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 0.00000000e+00 1.74886965e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 3.49773930e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.91478275e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 5.82956551e-02 0.00000000e+00 2.33182620e-01 5.82956551e-02 2.33182620e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.74886965e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.74886965e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 3.49773930e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 2.33182620e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 2.91478275e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 2.33182620e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 2.91478275e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 2.33182620e-01 5.82956551e-02 2.33182620e-01 0.00000000e+00 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 5.82956551e-02 3.49773930e-01 0.00000000e+00 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.74886965e-01 2.33182620e-01 2.33182620e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.74886965e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 2.33182620e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.74886965e-01 2.91478275e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.91478275e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 2.91478275e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 2.33182620e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 2.33182620e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.74886965e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 2.91478275e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 4.08069585e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 2.91478275e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.33182620e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.74886965e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 2.91478275e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 2.91478275e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.33182620e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 2.91478275e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 4.08069585e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 2.91478275e-01 0.00000000e+00 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.74886965e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 2.33182620e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.33182620e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 1.16591310e-01 2.91478275e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 2.91478275e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 2.33182620e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.33182620e-01 0.00000000e+00 1.74886965e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 2.33182620e-01 2.91478275e-01 2.33182620e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 2.33182620e-01 0.00000000e+00 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 0.00000000e+00 2.33182620e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 2.33182620e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 2.91478275e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 2.91478275e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.33182620e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 0.00000000e+00 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 2.91478275e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 2.91478275e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.91478275e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 3.49773930e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 4.08069585e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 0.00000000e+00 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 0.00000000e+00 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 0.00000000e+00 5.82956551e-02 2.33182620e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 2.91478275e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 2.91478275e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 2.91478275e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 2.33182620e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 0.00000000e+00 2.33182620e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 2.91478275e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 2.91478275e-01 5.82956551e-02 2.33182620e-01 1.74886965e-01 2.91478275e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 2.91478275e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 5.82956551e-02 4.08069585e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 0.00000000e+00 2.33182620e-01 5.82956551e-02 2.33182620e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 3.49773930e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 5.24660895e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.74886965e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 2.33182620e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 2.91478275e-01 4.08069585e-01 1.74886965e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 0.00000000e+00 5.82956551e-02 1.16591310e-01 2.33182620e-01 2.91478275e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.91478275e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 4.66365240e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.16591310e-01 2.91478275e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.74886965e-01 5.82956551e-02 5.82956551e-02 2.91478275e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.91478275e-01 1.16591310e-01 2.33182620e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.74886965e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 2.33182620e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 0.00000000e+00 0.00000000e+00 5.82956551e-02 1.16591310e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.16591310e-01 2.33182620e-01 3.49773930e-01 0.00000000e+00 4.08069585e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.74886965e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 5.82956551e-02 2.33182620e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.16591310e-01 2.91478275e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 1.16591310e-01 4.08069585e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 2.33182620e-01 3.49773930e-01 2.33182620e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 2.91478275e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 2.33182620e-01 1.74886965e-01 2.33182620e-01 5.82956551e-02 2.33182620e-01 2.91478275e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 1.74886965e-01 3.49773930e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.74886965e-01 2.91478275e-01 2.33182620e-01 5.82956551e-02 1.74886965e-01 0.00000000e+00 3.49773930e-01 1.16591310e-01 1.16591310e-01 2.91478275e-01 4.66365240e-01 0.00000000e+00 1.16591310e-01 1.74886965e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 2.33182620e-01 5.82956551e-02 2.91478275e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.74886965e-01 1.74886965e-01 1.16591310e-01 0.00000000e+00 1.16591310e-01 1.16591310e-01 1.16591310e-01 1.16591310e-01 2.91478275e-01 1.16591310e-01 0.00000000e+00 0.00000000e+00 1.16591310e-01 2.91478275e-01 0.00000000e+00 5.82956551e-02 2.33182620e-01 2.33182620e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 0.00000000e+00 2.91478275e-01 2.91478275e-01 1.74886965e-01 4.08069585e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 1.16591310e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 1.16591310e-01 1.74886965e-01 3.49773930e-01 1.16591310e-01 1.16591310e-01 2.33182620e-01 3.49773930e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 2.33182620e-01 2.33182620e-01 2.33182620e-01 2.91478275e-01 2.91478275e-01 2.33182620e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 5.82956551e-02 1.16591310e-01 1.74886965e-01 1.16591310e-01 2.91478275e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 2.91478275e-01 1.16591310e-01 2.33182620e-01 5.82956551e-02 5.82956551e-02 1.16591310e-01 0.00000000e+00 2.33182620e-01 1.74886965e-01 2.91478275e-01 5.82956551e-02 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.16591310e-01 5.82956551e-02 1.74886965e-01 2.33182620e-01 5.82956551e-02 3.49773930e-01 1.74886965e-01 5.82956551e-02 2.33182620e-01 1.74886965e-01 2.33182620e-01 1.16591310e-01 2.33182620e-01 2.91478275e-01 2.33182620e-01 4.08069585e-01 1.74886965e-01 2.33182620e-01 2.33182620e-01 2.33182620e-01 1.16591310e-01 1.74886965e-01 2.33182620e-01 2.91478275e-01 3.49773930e-01 1.74886965e-01 0.00000000e+00 2.33182620e-01 1.74886965e-01 3.49773930e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.74886965e-01 2.91478275e-01 1.74886965e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 0.00000000e+00 5.82956551e-02 1.16591310e-01 1.16591310e-01 2.91478275e-01 2.91478275e-01 1.16591310e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 2.33182620e-01 2.33182620e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 1.16591310e-01 5.82956551e-02 1.16591310e-01 3.49773930e-01 1.74886965e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.74886965e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 1.16591310e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.74886965e-01 1.74886965e-01 0.00000000e+00 5.82956551e-02 2.33182620e-01 0.00000000e+00 5.82956551e-02 1.74886965e-01 5.82956551e-02 5.82956551e-02 2.33182620e-01 1.16591310e-01 2.33182620e-01 1.74886965e-01 0.00000000e+00 1.16591310e-01 0.00000000e+00 1.74886965e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.16591310e-01 1.74886965e-01 5.82956551e-02 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.82956551e-02 0.00000000e+00 0.00000000e+00 1.74886965e-01 5.82956551e-02 5.82956551e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_medium_e_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_medium_e_BDTG.weights.xml index 623aca8e7ec7..15702d2a0ffa 100644 --- a/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_medium_e_BDTG.weights.xml +++ b/CMGTools/TTHAnalysis/data/leptonMVA/susy/mu_pteta_medium_e_BDTG.weights.xml @@ -4,11 +4,11 @@ - + - - - + + + @@ -20,7 +20,7 @@ - + @@ -55,15 +55,15 @@ - + - - - - - - - + + + + + + + @@ -73,5867 +73,5981 @@ - - 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 6.26032147e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 6.26032147e-02 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 3.13016073e-02 6.26032147e-02 0.00000000e+00 6.26032147e-02 3.13016073e-02 0.00000000e+00 6.26032147e-02 0.00000000e+00 0.00000000e+00 6.26032147e-02 3.13016073e-02 3.13016073e-02 0.00000000e+00 0.00000000e+00 3.13016073e-02 3.13016073e-02 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 3.13016073e-02 0.00000000e+00 6.26032147e-02 3.13016073e-02 3.13016073e-02 3.13016073e-02 3.13016073e-02 0.00000000e+00 3.13016073e-02 9.39048220e-02 0.00000000e+00 3.13016073e-02 3.13016073e-02 3.13016073e-02 3.13016073e-02 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 9.39048220e-02 6.26032147e-02 0.00000000e+00 3.13016073e-02 3.13016073e-02 6.26032147e-02 9.39048220e-02 0.00000000e+00 0.00000000e+00 6.26032147e-02 3.13016073e-02 3.13016073e-02 0.00000000e+00 6.26032147e-02 3.13016073e-02 3.13016073e-02 0.00000000e+00 0.00000000e+00 9.39048220e-02 0.00000000e+00 6.26032147e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 9.39048220e-02 6.26032147e-02 0.00000000e+00 6.26032147e-02 0.00000000e+00 3.13016073e-02 0.00000000e+00 9.39048220e-02 0.00000000e+00 3.13016073e-02 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.87809644e-01 0.00000000e+00 9.39048220e-02 3.13016073e-02 6.26032147e-02 6.26032147e-02 6.26032147e-02 0.00000000e+00 6.26032147e-02 3.13016073e-02 3.13016073e-02 6.26032147e-02 3.13016073e-02 0.00000000e+00 0.00000000e+00 6.26032147e-02 0.00000000e+00 3.13016073e-02 3.13016073e-02 3.13016073e-02 6.26032147e-02 3.13016073e-02 9.39048220e-02 6.26032147e-02 3.13016073e-02 3.13016073e-02 0.00000000e+00 3.13016073e-02 3.13016073e-02 9.39048220e-02 0.00000000e+00 0.00000000e+00 3.13016073e-02 6.26032147e-02 6.26032147e-02 9.39048220e-02 6.26032147e-02 0.00000000e+00 9.39048220e-02 3.13016073e-02 3.13016073e-02 3.13016073e-02 0.00000000e+00 3.13016073e-02 9.39048220e-02 9.39048220e-02 6.26032147e-02 3.13016073e-02 3.13016073e-02 3.13016073e-02 1.87809644e-01 6.26032147e-02 6.26032147e-02 3.13016073e-02 1.56508037e-01 9.39048220e-02 3.13016073e-02 1.25206429e-01 9.39048220e-02 0.00000000e+00 3.13016073e-02 6.26032147e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.26032147e-02 0.00000000e+00 6.26032147e-02 6.26032147e-02 3.13016073e-02 3.13016073e-02 6.26032147e-02 3.13016073e-02 1.25206429e-01 6.26032147e-02 9.39048220e-02 1.25206429e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.25206429e-01 0.00000000e+00 6.26032147e-02 1.25206429e-01 9.39048220e-02 0.00000000e+00 1.25206429e-01 3.13016073e-02 6.26032147e-02 1.25206429e-01 0.00000000e+00 6.26032147e-02 9.39048220e-02 9.39048220e-02 9.39048220e-02 1.56508037e-01 2.50412859e-01 3.13016073e-02 3.13016073e-02 6.26032147e-02 9.39048220e-02 3.13016073e-02 3.13016073e-02 6.26032147e-02 3.13016073e-02 0.00000000e+00 1.56508037e-01 6.26032147e-02 6.26032147e-02 3.13016073e-02 9.39048220e-02 1.25206429e-01 1.56508037e-01 9.39048220e-02 6.26032147e-02 0.00000000e+00 6.26032147e-02 9.39048220e-02 9.39048220e-02 0.00000000e+00 3.13016073e-02 9.39048220e-02 0.00000000e+00 1.25206429e-01 9.39048220e-02 1.87809644e-01 3.13016073e-02 1.25206429e-01 3.13016073e-02 9.39048220e-02 6.26032147e-02 3.13016073e-02 1.87809644e-01 1.25206429e-01 3.13016073e-02 6.26032147e-02 0.00000000e+00 3.13016073e-02 1.25206429e-01 0.00000000e+00 1.25206429e-01 3.13016073e-02 2.19111251e-01 1.25206429e-01 6.26032147e-02 1.25206429e-01 9.39048220e-02 1.25206429e-01 9.39048220e-02 1.25206429e-01 1.25206429e-01 1.56508037e-01 9.39048220e-02 6.26032147e-02 3.13016073e-02 1.25206429e-01 9.39048220e-02 9.39048220e-02 1.56508037e-01 1.25206429e-01 9.39048220e-02 1.25206429e-01 6.26032147e-02 9.39048220e-02 6.26032147e-02 1.25206429e-01 9.39048220e-02 9.39048220e-02 1.25206429e-01 9.39048220e-02 1.25206429e-01 0.00000000e+00 9.39048220e-02 3.13016073e-02 6.26032147e-02 6.26032147e-02 1.25206429e-01 1.87809644e-01 2.19111251e-01 1.25206429e-01 1.25206429e-01 6.26032147e-02 1.56508037e-01 1.25206429e-01 9.39048220e-02 6.26032147e-02 9.39048220e-02 9.39048220e-02 6.26032147e-02 1.25206429e-01 6.26032147e-02 1.25206429e-01 9.39048220e-02 1.25206429e-01 9.39048220e-02 6.26032147e-02 1.56508037e-01 1.25206429e-01 1.25206429e-01 1.56508037e-01 9.39048220e-02 1.25206429e-01 1.25206429e-01 1.56508037e-01 6.26032147e-02 6.26032147e-02 1.87809644e-01 3.13016073e-02 2.19111251e-01 1.56508037e-01 1.56508037e-01 1.25206429e-01 1.56508037e-01 2.19111251e-01 6.26032147e-02 6.26032147e-02 3.13016073e-02 1.25206429e-01 6.26032147e-02 9.39048220e-02 6.26032147e-02 6.26032147e-02 3.13016073e-02 1.87809644e-01 9.39048220e-02 2.50412859e-01 2.19111251e-01 1.25206429e-01 6.26032147e-02 1.56508037e-01 1.87809644e-01 1.87809644e-01 1.25206429e-01 9.39048220e-02 1.87809644e-01 6.26032147e-02 1.56508037e-01 2.50412859e-01 1.56508037e-01 1.25206429e-01 1.56508037e-01 6.26032147e-02 2.19111251e-01 2.81714466e-01 1.56508037e-01 9.39048220e-02 9.39048220e-02 9.39048220e-02 1.56508037e-01 6.26032147e-02 9.39048220e-02 0.00000000e+00 1.25206429e-01 6.26032147e-02 9.39048220e-02 1.56508037e-01 1.56508037e-01 6.26032147e-02 2.19111251e-01 1.87809644e-01 9.39048220e-02 1.56508037e-01 1.56508037e-01 2.19111251e-01 9.39048220e-02 1.56508037e-01 9.39048220e-02 2.50412859e-01 6.26032147e-02 1.87809644e-01 2.19111251e-01 3.44317681e-01 1.25206429e-01 1.25206429e-01 2.19111251e-01 6.26032147e-02 1.25206429e-01 2.19111251e-01 2.50412859e-01 1.87809644e-01 2.50412859e-01 1.56508037e-01 3.13016073e-01 1.87809644e-01 2.81714466e-01 2.19111251e-01 1.56508037e-01 2.19111251e-01 2.50412859e-01 1.25206429e-01 1.87809644e-01 2.19111251e-01 9.39048220e-02 3.13016073e-01 9.39048220e-02 3.75619288e-01 2.50412859e-01 2.50412859e-01 9.39048220e-02 1.87809644e-01 6.26032147e-02 2.81714466e-01 1.56508037e-01 3.13016073e-01 1.87809644e-01 2.19111251e-01 2.81714466e-01 9.39048220e-02 2.19111251e-01 4.38222503e-01 2.81714466e-01 4.06920895e-01 2.81714466e-01 3.44317681e-01 2.50412859e-01 3.13016073e-01 1.87809644e-01 9.39048220e-02 3.13016073e-01 1.25206429e-01 2.50412859e-01 6.26032147e-02 2.50412859e-01 3.44317681e-01 3.13016073e-01 5.00825717e-01 2.19111251e-01 4.06920895e-01 9.39048220e-02 2.81714466e-01 6.26032147e-02 2.19111251e-01 2.50412859e-01 1.87809644e-01 2.50412859e-01 1.87809644e-01 1.25206429e-01 2.81714466e-01 2.50412859e-01 1.56508037e-01 2.19111251e-01 1.25206429e-01 1.25206429e-01 1.25206429e-01 1.56508037e-01 1.25206429e-01 2.50412859e-01 3.75619288e-01 2.19111251e-01 1.87809644e-01 2.50412859e-01 3.75619288e-01 2.50412859e-01 2.50412859e-01 3.13016073e-01 2.81714466e-01 3.75619288e-01 2.19111251e-01 2.19111251e-01 3.44317681e-01 2.81714466e-01 4.06920895e-01 2.81714466e-01 4.69524110e-01 1.25206429e-01 2.50412859e-01 4.06920895e-01 3.13016073e-01 3.13016073e-01 2.81714466e-01 3.75619288e-01 3.13016073e-01 3.44317681e-01 3.44317681e-01 3.44317681e-01 2.50412859e-01 3.75619288e-01 2.19111251e-01 4.38222503e-01 3.44317681e-01 3.75619288e-01 1.87809644e-01 4.69524110e-01 4.69524110e-01 1.87809644e-01 3.44317681e-01 4.38222503e-01 4.69524110e-01 3.13016073e-01 4.38222503e-01 3.13016073e-01 3.13016073e-01 3.13016073e-01 2.19111251e-01 5.00825717e-01 2.81714466e-01 4.06920895e-01 4.38222503e-01 3.44317681e-01 5.00825717e-01 5.94730539e-01 1.56508037e-01 4.06920895e-01 3.13016073e-01 4.38222503e-01 4.38222503e-01 3.75619288e-01 5.00825717e-01 5.00825717e-01 5.00825717e-01 3.75619288e-01 4.69524110e-01 7.51238576e-01 5.00825717e-01 3.44317681e-01 6.57333754e-01 4.69524110e-01 5.63428932e-01 7.82540183e-01 3.75619288e-01 5.00825717e-01 6.88635361e-01 6.26032147e-01 7.82540183e-01 6.26032147e-01 3.44317681e-01 5.94730539e-01 4.06920895e-01 4.38222503e-01 6.57333754e-01 5.63428932e-01 5.63428932e-01 5.00825717e-01 5.94730539e-01 4.38222503e-01 4.69524110e-01 8.13841791e-01 6.57333754e-01 6.57333754e-01 8.13841791e-01 6.88635361e-01 9.70349827e-01 7.51238576e-01 5.94730539e-01 8.13841791e-01 8.76445005e-01 8.76445005e-01 6.88635361e-01 7.51238576e-01 8.13841791e-01 9.70349827e-01 9.70349827e-01 6.88635361e-01 9.39048220e-01 1.18946108e+00 1.18946108e+00 1.00165143e+00 7.19936969e-01 9.70349827e-01 1.00165143e+00 9.07746613e-01 1.18946108e+00 1.15815947e+00 1.18946108e+00 1.18946108e+00 1.12685786e+00 8.76445005e-01 1.15815947e+00 1.09555626e+00 8.13841791e-01 1.28336590e+00 1.34596912e+00 1.31466751e+00 1.78419162e+00 1.40857233e+00 1.90939805e+00 1.62768358e+00 1.78419162e+00 1.37727072e+00 1.56508037e+00 1.75289001e+00 1.94069965e+00 2.03460448e+00 2.19111251e+00 1.75289001e+00 2.44152537e+00 2.15981091e+00 2.47282698e+00 2.72323984e+00 2.03460448e+00 2.59803341e+00 2.66063662e+00 2.53543019e+00 2.59803341e+00 2.37892216e+00 2.72323984e+00 3.31797038e+00 3.75619288e+00 2.94235109e+00 2.72323984e+00 4.16311377e+00 4.53873306e+00 3.66228806e+00 4.44482824e+00 4.85174914e+00 4.85174914e+00 5.03955878e+00 5.35257485e+00 5.82209896e+00 5.94730539e+00 4.44482824e+00 5.13346360e+00 6.51073432e+00 5.94730539e+00 6.69854397e+00 6.60463915e+00 7.35587772e+00 6.32292468e+00 6.57333754e+00 6.91765522e+00 7.91930665e+00 7.32457612e+00 6.82375040e+00 7.88800505e+00 7.26197290e+00 7.82540183e+00 7.38717933e+00 6.98025843e+00 8.04451308e+00 7.73149701e+00 6.51073432e+00 7.51238576e+00 6.13511504e+00 6.82375040e+00 7.44978254e+00 6.26032147e+00 5.38387646e+00 5.22736842e+00 5.60298771e+00 5.75949575e+00 5.28997164e+00 5.28997164e+00 5.13346360e+00 4.25701860e+00 3.97530413e+00 4.03790735e+00 4.31962181e+00 3.53708163e+00 2.59803341e+00 3.38057359e+00 3.19276395e+00 3.16146234e+00 2.56673180e+00 3.09885913e+00 2.62933502e+00 2.00330287e+00 2.28501734e+00 2.41022376e+00 1.90939805e+00 1.81549323e+00 1.84679483e+00 1.78419162e+00 2.03460448e+00 2.15981091e+00 1.90939805e+00 1.37727072e+00 1.37727072e+00 1.56508037e+00 8.13841791e-01 1.31466751e+00 1.15815947e+00 8.45143398e-01 8.76445005e-01 9.07746613e-01 5.00825717e-01 9.39048220e-01 9.39048220e-01 9.07746613e-01 4.38222503e-01 8.45143398e-01 5.32127325e-01 5.32127325e-01 7.82540183e-01 6.26032147e-01 7.82540183e-01 5.63428932e-01 2.50412859e-01 5.94730539e-01 3.75619288e-01 4.38222503e-01 3.13016073e-01 2.81714466e-01 3.44317681e-01 5.63428932e-01 4.06920895e-01 4.06920895e-01 2.50412859e-01 2.19111251e-01 2.81714466e-01 2.81714466e-01 1.25206429e-01 3.44317681e-01 2.81714466e-01 1.87809644e-01 3.44317681e-01 3.44317681e-01 1.25206429e-01 1.56508037e-01 1.25206429e-01 2.19111251e-01 2.50412859e-01 9.39048220e-02 1.87809644e-01 9.39048220e-02 2.19111251e-01 1.25206429e-01 9.39048220e-02 1.25206429e-01 1.56508037e-01 1.87809644e-01 9.39048220e-02 9.39048220e-02 1.56508037e-01 1.25206429e-01 6.26032147e-02 3.13016073e-02 9.39048220e-02 3.13016073e-02 1.25206429e-01 3.13016073e-02 1.56508037e-01 6.26032147e-02 3.13016073e-02 9.39048220e-02 6.26032147e-02 6.26032147e-02 0.00000000e+00 1.25206429e-01 3.13016073e-02 3.13016073e-02 6.26032147e-02 1.56508037e-01 6.26032147e-02 3.13016073e-02 3.13016073e-02 6.26032147e-02 9.39048220e-02 3.13016073e-02 9.39048220e-02 6.26032147e-02 3.13016073e-02 3.13016073e-02 3.13016073e-02 0.00000000e+00 6.26032147e-02 0.00000000e+00 3.13016073e-02 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 3.13016073e-02 3.13016073e-02 6.26032147e-02 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 1.25206429e-01 3.13016073e-02 6.26032147e-02 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.26032147e-02 6.26032147e-02 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 6.26032147e-02 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.26032147e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 3.13016073e-02 3.13016073e-02 0.00000000e+00 9.39048220e-02 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.26032147e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.13016073e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.24095508e-02 1.24095508e-02 1.24095508e-02 2.48191017e-02 3.72286525e-02 3.72286525e-02 2.48191017e-02 4.96382033e-02 0.00000000e+00 3.72286525e-02 2.48191017e-02 6.20477542e-02 3.72286525e-02 1.24095508e-02 1.24095508e-02 2.48191017e-02 3.72286525e-02 3.72286525e-02 1.24095508e-02 2.48191017e-02 3.72286525e-02 2.48191017e-02 7.44573050e-02 6.20477542e-02 2.48191017e-02 2.48191017e-02 7.44573050e-02 4.96382033e-02 4.96382033e-02 2.48191017e-02 3.72286525e-02 6.20477542e-02 6.20477542e-02 2.48191017e-02 4.96382033e-02 6.20477542e-02 4.96382033e-02 3.72286525e-02 1.36505059e-01 1.24095508e-02 6.20477542e-02 7.44573050e-02 1.24095508e-02 6.20477542e-02 4.96382033e-02 4.96382033e-02 1.24095508e-01 8.68668558e-02 8.68668558e-02 4.96382033e-02 6.20477542e-02 6.20477542e-02 1.24095508e-02 6.20477542e-02 7.44573050e-02 7.44573050e-02 9.92764067e-02 8.68668558e-02 8.68668558e-02 2.48191017e-02 8.68668558e-02 3.72286525e-02 6.20477542e-02 7.44573050e-02 3.72286525e-02 6.20477542e-02 8.68668558e-02 4.96382033e-02 4.96382033e-02 1.24095508e-01 9.92764067e-02 1.24095508e-01 8.68668558e-02 2.48191017e-02 8.68668558e-02 7.44573050e-02 8.68668558e-02 1.24095508e-01 4.96382033e-02 1.11685957e-01 8.68668558e-02 4.96382033e-02 8.68668558e-02 6.20477542e-02 1.24095508e-01 7.44573050e-02 4.96382033e-02 4.96382033e-02 7.44573050e-02 1.11685957e-01 4.96382033e-02 9.92764067e-02 8.68668558e-02 7.44573050e-02 7.44573050e-02 9.92764067e-02 1.11685957e-01 9.92764067e-02 1.11685957e-01 4.96382033e-02 7.44573050e-02 7.44573050e-02 2.48191017e-02 7.44573050e-02 8.68668558e-02 9.92764067e-02 6.20477542e-02 6.20477542e-02 7.44573050e-02 1.11685957e-01 8.68668558e-02 6.20477542e-02 1.24095508e-01 8.68668558e-02 8.68668558e-02 6.20477542e-02 4.96382033e-02 1.11685957e-01 1.73733712e-01 1.36505059e-01 8.68668558e-02 7.44573050e-02 8.68668558e-02 1.24095508e-01 1.24095508e-01 1.24095508e-01 9.92764067e-02 4.96382033e-02 6.20477542e-02 8.68668558e-02 7.44573050e-02 1.24095508e-01 1.11685957e-01 1.24095508e-01 1.24095508e-01 7.44573050e-02 3.72286525e-02 8.68668558e-02 7.44573050e-02 1.24095508e-01 1.24095508e-02 1.11685957e-01 4.96382033e-02 9.92764067e-02 1.24095508e-01 8.68668558e-02 4.96382033e-02 6.20477542e-02 9.92764067e-02 9.92764067e-02 1.36505059e-01 6.20477542e-02 1.61324161e-01 7.44573050e-02 1.11685957e-01 1.48914610e-01 1.24095508e-01 9.92764067e-02 1.11685957e-01 8.68668558e-02 7.44573050e-02 7.44573050e-02 1.48914610e-01 1.11685957e-01 8.68668558e-02 1.24095508e-01 1.11685957e-01 8.68668558e-02 4.96382033e-02 7.44573050e-02 1.61324161e-01 8.68668558e-02 1.24095508e-01 4.96382033e-02 7.44573050e-02 9.92764067e-02 1.11685957e-01 4.96382033e-02 7.44573050e-02 7.44573050e-02 3.72286525e-02 1.24095508e-01 7.44573050e-02 1.61324161e-01 1.11685957e-01 9.92764067e-02 9.92764067e-02 1.73733712e-01 7.44573050e-02 9.92764067e-02 7.44573050e-02 1.48914610e-01 1.48914610e-01 8.68668558e-02 4.96382033e-02 4.96382033e-02 8.68668558e-02 7.44573050e-02 8.68668558e-02 1.36505059e-01 8.68668558e-02 4.96382033e-02 1.11685957e-01 8.68668558e-02 6.20477542e-02 7.44573050e-02 7.44573050e-02 1.36505059e-01 1.11685957e-01 1.36505059e-01 6.20477542e-02 1.11685957e-01 8.68668558e-02 1.11685957e-01 8.68668558e-02 4.96382033e-02 1.24095508e-01 1.24095508e-01 6.20477542e-02 8.68668558e-02 7.44573050e-02 7.44573050e-02 8.68668558e-02 8.68668558e-02 1.61324161e-01 1.48914610e-01 1.48914610e-01 4.96382033e-02 9.92764067e-02 1.36505059e-01 7.44573050e-02 1.36505059e-01 1.11685957e-01 1.11685957e-01 1.48914610e-01 4.96382033e-02 8.68668558e-02 1.24095508e-01 8.68668558e-02 8.68668558e-02 4.96382033e-02 1.61324161e-01 1.36505059e-01 8.68668558e-02 8.68668558e-02 1.36505059e-01 1.11685957e-01 1.36505059e-01 8.68668558e-02 1.24095508e-01 9.92764067e-02 1.36505059e-01 1.36505059e-01 1.24095508e-01 1.11685957e-01 1.36505059e-01 2.48191017e-02 7.44573050e-02 8.68668558e-02 1.24095508e-01 8.68668558e-02 8.68668558e-02 1.11685957e-01 7.44573050e-02 1.11685957e-01 4.96382033e-02 9.92764067e-02 7.44573050e-02 6.20477542e-02 9.92764067e-02 1.36505059e-01 1.11685957e-01 7.44573050e-02 1.24095508e-01 7.44573050e-02 7.44573050e-02 1.11685957e-01 8.68668558e-02 1.24095508e-01 6.20477542e-02 6.20477542e-02 1.36505059e-01 7.44573050e-02 7.44573050e-02 1.61324161e-01 1.48914610e-01 7.44573050e-02 2.48191017e-02 1.48914610e-01 1.48914610e-01 1.24095508e-01 4.96382033e-02 8.68668558e-02 9.92764067e-02 1.36505059e-01 6.20477542e-02 8.68668558e-02 6.20477542e-02 9.92764067e-02 1.11685957e-01 8.68668558e-02 7.44573050e-02 4.96382033e-02 8.68668558e-02 8.68668558e-02 1.36505059e-01 8.68668558e-02 6.20477542e-02 1.24095508e-01 6.20477542e-02 1.36505059e-01 8.68668558e-02 4.96382033e-02 6.20477542e-02 8.68668558e-02 1.98552813e-01 1.24095508e-01 7.44573050e-02 1.48914610e-01 1.36505059e-01 1.11685957e-01 1.61324161e-01 1.11685957e-01 1.24095508e-01 9.92764067e-02 8.68668558e-02 4.96382033e-02 6.20477542e-02 8.68668558e-02 1.11685957e-01 1.24095508e-01 8.68668558e-02 4.96382033e-02 1.11685957e-01 1.11685957e-01 9.92764067e-02 7.44573050e-02 9.92764067e-02 6.20477542e-02 6.20477542e-02 8.68668558e-02 6.20477542e-02 1.24095508e-01 1.11685957e-01 4.96382033e-02 1.61324161e-01 1.36505059e-01 1.36505059e-01 1.86143262e-01 4.96382033e-02 7.44573050e-02 1.36505059e-01 1.36505059e-01 8.68668558e-02 4.96382033e-02 9.92764067e-02 1.24095508e-01 8.68668558e-02 1.24095508e-01 8.68668558e-02 6.20477542e-02 1.11685957e-01 1.24095508e-01 6.20477542e-02 7.44573050e-02 8.68668558e-02 1.11685957e-01 9.92764067e-02 1.24095508e-01 9.92764067e-02 7.44573050e-02 8.68668558e-02 1.11685957e-01 8.68668558e-02 1.11685957e-01 1.11685957e-01 1.11685957e-01 9.92764067e-02 7.44573050e-02 4.96382033e-02 7.44573050e-02 9.92764067e-02 1.24095508e-01 7.44573050e-02 2.48191017e-02 8.68668558e-02 7.44573050e-02 8.68668558e-02 9.92764067e-02 6.20477542e-02 7.44573050e-02 7.44573050e-02 1.24095508e-01 6.20477542e-02 6.20477542e-02 8.68668558e-02 8.68668558e-02 1.73733712e-01 8.68668558e-02 1.11685957e-01 1.11685957e-01 9.92764067e-02 1.73733712e-01 1.48914610e-01 8.68668558e-02 8.68668558e-02 8.68668558e-02 7.44573050e-02 9.92764067e-02 9.92764067e-02 1.11685957e-01 7.44573050e-02 8.68668558e-02 1.61324161e-01 1.36505059e-01 9.92764067e-02 1.48914610e-01 1.11685957e-01 7.44573050e-02 4.96382033e-02 2.48191017e-02 1.36505059e-01 1.11685957e-01 6.20477542e-02 3.72286525e-02 4.96382033e-02 4.96382033e-02 6.20477542e-02 6.20477542e-02 9.92764067e-02 1.24095508e-01 1.11685957e-01 4.96382033e-02 1.36505059e-01 1.36505059e-01 7.44573050e-02 1.11685957e-01 3.72286525e-02 7.44573050e-02 1.36505059e-01 8.68668558e-02 1.48914610e-01 9.92764067e-02 6.20477542e-02 8.68668558e-02 6.20477542e-02 1.24095508e-01 1.61324161e-01 9.92764067e-02 8.68668558e-02 1.24095508e-01 1.36505059e-01 1.36505059e-01 1.48914610e-01 9.92764067e-02 7.44573050e-02 9.92764067e-02 1.11685957e-01 7.44573050e-02 1.24095508e-01 1.48914610e-01 1.24095508e-01 1.36505059e-01 1.73733712e-01 9.92764067e-02 8.68668558e-02 3.72286525e-02 1.11685957e-01 1.11685957e-01 8.68668558e-02 8.68668558e-02 9.92764067e-02 8.68668558e-02 8.68668558e-02 1.11685957e-01 4.96382033e-02 3.72286525e-02 7.44573050e-02 1.11685957e-01 7.44573050e-02 1.48914610e-01 1.48914610e-01 8.68668558e-02 8.68668558e-02 9.92764067e-02 9.92764067e-02 9.92764067e-02 1.24095508e-01 1.11685957e-01 6.20477542e-02 8.68668558e-02 1.36505059e-01 3.72286525e-02 1.11685957e-01 1.24095508e-01 9.92764067e-02 8.68668558e-02 7.44573050e-02 1.48914610e-01 1.36505059e-01 9.92764067e-02 2.48191017e-02 1.36505059e-01 8.68668558e-02 9.92764067e-02 8.68668558e-02 7.44573050e-02 1.24095508e-01 1.11685957e-01 9.92764067e-02 1.73733712e-01 9.92764067e-02 4.96382033e-02 1.36505059e-01 1.11685957e-01 3.72286525e-02 1.36505059e-01 1.48914610e-01 1.11685957e-01 1.24095508e-01 6.20477542e-02 1.48914610e-01 1.36505059e-01 7.44573050e-02 9.92764067e-02 1.36505059e-01 8.68668558e-02 1.24095508e-01 1.36505059e-01 4.96382033e-02 9.92764067e-02 7.44573050e-02 8.68668558e-02 1.61324161e-01 7.44573050e-02 8.68668558e-02 2.10962364e-01 9.92764067e-02 8.68668558e-02 1.24095508e-01 8.68668558e-02 9.92764067e-02 7.44573050e-02 8.68668558e-02 1.11685957e-01 1.24095508e-01 1.61324161e-01 6.20477542e-02 6.20477542e-02 8.68668558e-02 7.44573050e-02 1.24095508e-01 1.24095508e-01 7.44573050e-02 1.11685957e-01 1.24095508e-01 8.68668558e-02 8.68668558e-02 9.92764067e-02 1.48914610e-01 1.48914610e-01 9.92764067e-02 8.68668558e-02 7.44573050e-02 9.92764067e-02 6.20477542e-02 3.72286525e-02 6.20477542e-02 1.11685957e-01 1.24095508e-01 9.92764067e-02 9.92764067e-02 1.11685957e-01 9.92764067e-02 3.72286525e-02 1.11685957e-01 9.92764067e-02 1.36505059e-01 8.68668558e-02 1.73733712e-01 1.48914610e-01 4.96382033e-02 1.61324161e-01 6.20477542e-02 6.20477542e-02 1.36505059e-01 1.73733712e-01 6.20477542e-02 8.68668558e-02 1.36505059e-01 1.11685957e-01 9.92764067e-02 1.36505059e-01 4.96382033e-02 1.61324161e-01 1.11685957e-01 8.68668558e-02 9.92764067e-02 9.92764067e-02 1.24095508e-02 9.92764067e-02 7.44573050e-02 4.96382033e-02 1.73733712e-01 7.44573050e-02 9.92764067e-02 1.73733712e-01 1.61324161e-01 1.11685957e-01 7.44573050e-02 7.44573050e-02 7.44573050e-02 8.68668558e-02 9.92764067e-02 1.24095508e-01 9.92764067e-02 1.11685957e-01 4.96382033e-02 1.11685957e-01 8.68668558e-02 8.68668558e-02 8.68668558e-02 8.68668558e-02 1.11685957e-01 1.24095508e-01 4.96382033e-02 4.96382033e-02 1.24095508e-01 6.20477542e-02 1.36505059e-01 1.11685957e-01 1.36505059e-01 1.36505059e-01 7.44573050e-02 1.48914610e-01 7.44573050e-02 8.68668558e-02 9.92764067e-02 1.48914610e-01 9.92764067e-02 1.36505059e-01 1.36505059e-01 1.48914610e-01 9.92764067e-02 9.92764067e-02 1.24095508e-01 1.24095508e-01 7.44573050e-02 8.68668558e-02 1.24095508e-01 1.61324161e-01 9.92764067e-02 1.36505059e-01 4.96382033e-02 8.68668558e-02 1.48914610e-01 1.36505059e-01 8.68668558e-02 1.61324161e-01 1.36505059e-01 8.68668558e-02 1.11685957e-01 9.92764067e-02 9.92764067e-02 8.68668558e-02 1.36505059e-01 6.20477542e-02 1.61324161e-01 9.92764067e-02 8.68668558e-02 1.11685957e-01 1.24095508e-01 1.98552813e-01 4.96382033e-02 1.11685957e-01 1.11685957e-01 8.68668558e-02 6.20477542e-02 1.98552813e-01 6.20477542e-02 8.68668558e-02 1.73733712e-01 1.61324161e-01 6.20477542e-02 8.68668558e-02 8.68668558e-02 1.24095508e-01 1.11685957e-01 8.68668558e-02 7.44573050e-02 8.68668558e-02 1.11685957e-01 1.11685957e-01 1.73733712e-01 8.68668558e-02 1.11685957e-01 7.44573050e-02 4.96382033e-02 6.20477542e-02 1.36505059e-01 6.20477542e-02 8.68668558e-02 1.61324161e-01 8.68668558e-02 3.72286525e-02 1.48914610e-01 1.36505059e-01 6.20477542e-02 1.11685957e-01 4.96382033e-02 1.11685957e-01 9.92764067e-02 1.36505059e-01 1.24095508e-01 7.44573050e-02 6.20477542e-02 1.73733712e-01 6.20477542e-02 1.11685957e-01 8.68668558e-02 1.61324161e-01 4.96382033e-02 1.36505059e-01 1.36505059e-01 1.48914610e-01 9.92764067e-02 1.11685957e-01 1.48914610e-01 1.11685957e-01 1.24095508e-01 6.20477542e-02 9.92764067e-02 1.36505059e-01 1.11685957e-01 8.68668558e-02 1.86143262e-01 1.11685957e-01 2.10962364e-01 1.11685957e-01 7.44573050e-02 8.68668558e-02 1.24095508e-01 7.44573050e-02 7.44573050e-02 1.36505059e-01 1.48914610e-01 1.36505059e-01 9.92764067e-02 4.96382033e-02 1.73733712e-01 1.24095508e-01 2.10962364e-01 9.92764067e-02 1.11685957e-01 9.92764067e-02 1.36505059e-01 1.24095508e-01 8.68668558e-02 8.68668558e-02 3.72286525e-02 6.20477542e-02 1.86143262e-01 9.92764067e-02 1.24095508e-01 1.11685957e-01 1.73733712e-01 1.48914610e-01 1.36505059e-01 1.48914610e-01 1.36505059e-01 1.61324161e-01 3.72286525e-02 8.68668558e-02 2.48191017e-02 9.92764067e-02 1.24095508e-01 1.48914610e-01 1.11685957e-01 1.11685957e-01 1.48914610e-01 6.20477542e-02 9.92764067e-02 1.48914610e-01 1.61324161e-01 7.44573050e-02 9.92764067e-02 8.68668558e-02 1.36505059e-01 6.20477542e-02 9.92764067e-02 6.20477542e-02 9.92764067e-02 1.61324161e-01 1.48914610e-01 8.68668558e-02 8.68668558e-02 9.92764067e-02 1.11685957e-01 9.92764067e-02 8.68668558e-02 9.92764067e-02 1.73733712e-01 8.68668558e-02 1.24095508e-01 1.24095508e-01 7.44573050e-02 1.24095508e-01 8.68668558e-02 8.68668558e-02 1.61324161e-01 3.72286525e-02 1.36505059e-01 9.92764067e-02 1.11685957e-01 1.48914610e-01 9.92764067e-02 8.68668558e-02 3.72286525e-02 8.68668558e-02 9.92764067e-02 9.92764067e-02 1.11685957e-01 9.92764067e-02 1.11685957e-01 9.92764067e-02 1.11685957e-01 7.44573050e-02 1.61324161e-01 1.11685957e-01 7.44573050e-02 7.44573050e-02 6.20477542e-02 9.92764067e-02 7.44573050e-02 1.24095508e-01 6.20477542e-02 1.61324161e-01 8.68668558e-02 9.92764067e-02 1.48914610e-01 8.68668558e-02 9.92764067e-02 1.61324161e-01 1.48914610e-01 1.11685957e-01 1.48914610e-01 7.44573050e-02 8.68668558e-02 1.61324161e-01 1.11685957e-01 8.68668558e-02 6.20477542e-02 4.96382033e-02 6.20477542e-02 2.23371915e-01 9.92764067e-02 1.48914610e-01 1.48914610e-01 1.24095508e-01 7.44573050e-02 1.24095508e-01 1.36505059e-01 8.68668558e-02 7.44573050e-02 6.20477542e-02 1.11685957e-01 1.73733712e-01 3.72286525e-02 1.48914610e-01 1.98552813e-01 1.61324161e-01 1.11685957e-01 8.68668558e-02 1.11685957e-01 6.20477542e-02 1.11685957e-01 7.44573050e-02 1.48914610e-01 1.24095508e-01 9.92764067e-02 1.86143262e-01 8.68668558e-02 1.48914610e-01 1.11685957e-01 2.23371915e-01 1.48914610e-01 9.92764067e-02 9.92764067e-02 7.44573050e-02 3.72286525e-02 1.48914610e-01 1.24095508e-01 1.48914610e-01 3.72286525e-02 6.20477542e-02 9.92764067e-02 7.44573050e-02 1.24095508e-01 8.68668558e-02 1.36505059e-01 1.61324161e-01 8.68668558e-02 7.44573050e-02 1.24095508e-01 1.24095508e-01 1.11685957e-01 1.61324161e-01 9.92764067e-02 1.11685957e-01 7.44573050e-02 9.92764067e-02 1.24095508e-01 1.48914610e-01 8.68668558e-02 1.61324161e-01 9.92764067e-02 4.96382033e-02 4.96382033e-02 1.73733712e-01 8.68668558e-02 1.86143262e-01 1.36505059e-01 1.24095508e-01 1.11685957e-01 7.44573050e-02 8.68668558e-02 1.11685957e-01 1.11685957e-01 8.68668558e-02 6.20477542e-02 8.68668558e-02 1.11685957e-01 7.44573050e-02 1.36505059e-01 6.20477542e-02 1.11685957e-01 1.11685957e-01 1.98552813e-01 3.72286525e-02 1.48914610e-01 1.36505059e-01 8.68668558e-02 7.44573050e-02 9.92764067e-02 9.92764067e-02 1.73733712e-01 1.48914610e-01 8.68668558e-02 1.86143262e-01 1.24095508e-01 1.36505059e-01 9.92764067e-02 1.11685957e-01 1.48914610e-01 1.11685957e-01 9.92764067e-02 1.36505059e-01 1.48914610e-01 9.92764067e-02 8.68668558e-02 9.92764067e-02 1.48914610e-01 1.36505059e-01 1.11685957e-01 8.68668558e-02 1.48914610e-01 1.36505059e-01 7.44573050e-02 1.24095508e-01 1.48914610e-01 1.73733712e-01 1.11685957e-01 1.24095508e-01 1.24095508e-01 1.11685957e-01 4.96382033e-02 1.24095508e-01 1.11685957e-01 1.36505059e-01 1.86143262e-01 1.48914610e-01 9.92764067e-02 1.11685957e-01 1.48914610e-01 1.36505059e-01 9.92764067e-02 6.20477542e-02 7.44573050e-02 1.11685957e-01 1.36505059e-01 1.11685957e-01 1.48914610e-01 1.11685957e-01 1.73733712e-01 1.61324161e-01 6.20477542e-02 1.86143262e-01 8.68668558e-02 9.92764067e-02 7.44573050e-02 1.73733712e-01 8.68668558e-02 1.24095508e-01 8.68668558e-02 1.86143262e-01 1.24095508e-01 1.36505059e-01 1.48914610e-01 1.11685957e-01 1.36505059e-01 9.92764067e-02 1.11685957e-01 1.36505059e-01 9.92764067e-02 1.11685957e-01 1.48914610e-01 7.44573050e-02 1.11685957e-01 2.35781466e-01 9.92764067e-02 1.24095508e-01 8.68668558e-02 1.36505059e-01 9.92764067e-02 1.48914610e-01 1.73733712e-01 8.68668558e-02 1.61324161e-01 1.24095508e-01 8.68668558e-02 1.24095508e-01 7.44573050e-02 1.73733712e-01 8.68668558e-02 1.36505059e-01 9.92764067e-02 1.73733712e-01 8.68668558e-02 1.36505059e-01 1.36505059e-01 1.73733712e-01 1.48914610e-01 1.24095508e-01 8.68668558e-02 1.61324161e-01 1.48914610e-01 1.11685957e-01 1.11685957e-01 1.61324161e-01 1.98552813e-01 1.73733712e-01 1.24095508e-01 1.86143262e-01 8.68668558e-02 1.24095508e-01 1.36505059e-01 1.48914610e-01 1.24095508e-01 9.92764067e-02 1.61324161e-01 7.44573050e-02 1.24095508e-01 1.61324161e-01 1.36505059e-01 1.48914610e-01 1.11685957e-01 1.11685957e-01 7.44573050e-02 1.86143262e-01 9.92764067e-02 1.61324161e-01 1.36505059e-01 1.24095508e-01 2.97829220e-01 1.48914610e-01 9.92764067e-02 8.68668558e-02 8.68668558e-02 1.11685957e-01 1.36505059e-01 1.61324161e-01 2.48191017e-01 1.24095508e-01 9.92764067e-02 1.11685957e-01 1.11685957e-01 1.98552813e-01 1.86143262e-01 1.48914610e-01 1.86143262e-01 1.61324161e-01 9.92764067e-02 1.11685957e-01 3.72286525e-02 1.24095508e-01 1.24095508e-01 1.36505059e-01 1.48914610e-01 1.24095508e-01 1.36505059e-01 6.20477542e-02 1.61324161e-01 1.24095508e-01 8.68668558e-02 1.61324161e-01 1.98552813e-01 9.92764067e-02 1.36505059e-01 1.73733712e-01 1.48914610e-01 1.73733712e-01 8.68668558e-02 1.61324161e-01 1.11685957e-01 1.48914610e-01 1.48914610e-01 1.24095508e-01 1.11685957e-01 1.48914610e-01 8.68668558e-02 1.86143262e-01 1.36505059e-01 8.68668558e-02 2.10962364e-01 8.68668558e-02 1.11685957e-01 1.73733712e-01 1.11685957e-01 1.48914610e-01 9.92764067e-02 9.92764067e-02 1.36505059e-01 1.24095508e-01 1.86143262e-01 6.20477542e-02 9.92764067e-02 1.48914610e-01 1.36505059e-01 1.73733712e-01 1.48914610e-01 1.73733712e-01 1.98552813e-01 9.92764067e-02 1.36505059e-01 1.61324161e-01 2.35781466e-01 1.36505059e-01 9.92764067e-02 1.73733712e-01 1.61324161e-01 1.11685957e-01 1.36505059e-01 1.11685957e-01 1.61324161e-01 1.48914610e-01 8.68668558e-02 1.48914610e-01 1.11685957e-01 2.10962364e-01 1.86143262e-01 9.92764067e-02 1.24095508e-01 2.35781466e-01 1.11685957e-01 1.73733712e-01 8.68668558e-02 1.48914610e-01 1.36505059e-01 1.61324161e-01 1.11685957e-01 1.11685957e-01 1.24095508e-01 1.48914610e-01 4.96382033e-02 1.24095508e-01 1.73733712e-01 1.48914610e-01 1.73733712e-01 2.48191017e-01 2.23371915e-01 1.73733712e-01 6.20477542e-02 1.61324161e-01 7.44573050e-02 1.24095508e-01 1.24095508e-01 1.11685957e-01 2.10962364e-01 9.92764067e-02 1.48914610e-01 1.24095508e-01 9.92764067e-02 7.44573050e-02 6.20477542e-02 2.23371915e-01 1.98552813e-01 1.36505059e-01 1.86143262e-01 9.92764067e-02 1.61324161e-01 1.48914610e-01 1.98552813e-01 1.73733712e-01 2.60600567e-01 1.86143262e-01 1.48914610e-01 1.48914610e-01 1.48914610e-01 1.73733712e-01 2.10962364e-01 1.98552813e-01 1.48914610e-01 1.36505059e-01 1.36505059e-01 2.23371915e-01 1.36505059e-01 1.36505059e-01 1.11685957e-01 9.92764067e-02 1.98552813e-01 6.20477542e-02 1.48914610e-01 2.35781466e-01 2.10962364e-01 1.61324161e-01 1.48914610e-01 1.86143262e-01 1.36505059e-01 1.86143262e-01 1.24095508e-01 1.73733712e-01 1.36505059e-01 1.36505059e-01 1.86143262e-01 2.35781466e-01 9.92764067e-02 1.61324161e-01 1.11685957e-01 1.24095508e-01 1.61324161e-01 1.98552813e-01 1.11685957e-01 2.10962364e-01 1.73733712e-01 1.48914610e-01 2.48191017e-01 1.61324161e-01 9.92764067e-02 2.10962364e-01 2.35781466e-01 2.10962364e-01 3.10238771e-01 1.73733712e-01 1.61324161e-01 2.10962364e-01 7.44573050e-02 1.24095508e-01 1.98552813e-01 1.86143262e-01 1.73733712e-01 2.10962364e-01 1.86143262e-01 1.61324161e-01 1.98552813e-01 1.86143262e-01 2.10962364e-01 1.98552813e-01 1.36505059e-01 1.73733712e-01 1.61324161e-01 1.73733712e-01 1.73733712e-01 1.73733712e-01 1.48914610e-01 6.20477542e-02 1.11685957e-01 2.23371915e-01 2.10962364e-01 2.35781466e-01 7.44573050e-02 1.11685957e-01 1.61324161e-01 2.10962364e-01 1.36505059e-01 1.48914610e-01 1.61324161e-01 8.68668558e-02 1.61324161e-01 1.24095508e-01 1.73733712e-01 2.10962364e-01 2.60600567e-01 1.61324161e-01 1.73733712e-01 2.35781466e-01 1.86143262e-01 1.48914610e-01 1.11685957e-01 2.97829220e-01 1.24095508e-01 2.35781466e-01 1.98552813e-01 1.48914610e-01 1.24095508e-01 1.73733712e-01 1.73733712e-01 1.98552813e-01 1.61324161e-01 1.11685957e-01 1.98552813e-01 2.35781466e-01 1.36505059e-01 1.86143262e-01 1.98552813e-01 2.48191017e-01 2.48191017e-01 2.10962364e-01 9.92764067e-02 1.73733712e-01 2.35781466e-01 1.48914610e-01 1.48914610e-01 1.73733712e-01 2.10962364e-01 1.61324161e-01 1.24095508e-01 1.36505059e-01 2.10962364e-01 1.86143262e-01 1.36505059e-01 2.23371915e-01 2.10962364e-01 1.24095508e-01 1.98552813e-01 1.86143262e-01 2.73010118e-01 9.92764067e-02 1.86143262e-01 1.48914610e-01 1.36505059e-01 1.48914610e-01 2.10962364e-01 2.85419669e-01 1.24095508e-01 9.92764067e-02 8.68668558e-02 1.61324161e-01 1.61324161e-01 1.61324161e-01 2.48191017e-01 1.11685957e-01 1.48914610e-01 1.48914610e-01 1.86143262e-01 2.23371915e-01 2.10962364e-01 1.11685957e-01 2.10962364e-01 2.48191017e-01 1.11685957e-01 1.61324161e-01 2.48191017e-01 2.97829220e-01 1.73733712e-01 1.61324161e-01 2.10962364e-01 2.85419669e-01 2.23371915e-01 1.98552813e-01 2.48191017e-01 1.86143262e-01 2.10962364e-01 2.10962364e-01 1.61324161e-01 2.35781466e-01 2.48191017e-01 1.48914610e-01 1.73733712e-01 1.61324161e-01 1.73733712e-01 1.86143262e-01 2.23371915e-01 1.11685957e-01 2.60600567e-01 6.20477542e-02 1.36505059e-01 1.86143262e-01 4.96382033e-02 2.10962364e-01 1.98552813e-01 2.48191017e-01 1.61324161e-01 1.48914610e-01 2.48191017e-01 1.48914610e-01 1.98552813e-01 1.73733712e-01 1.86143262e-01 1.86143262e-01 1.98552813e-01 2.35781466e-01 2.85419669e-01 2.23371915e-01 2.60600567e-01 2.23371915e-01 1.86143262e-01 3.10238771e-01 1.73733712e-01 2.97829220e-01 1.73733712e-01 2.73010118e-01 1.73733712e-01 3.22648322e-01 1.86143262e-01 2.10962364e-01 1.73733712e-01 1.61324161e-01 1.61324161e-01 1.98552813e-01 1.48914610e-01 1.98552813e-01 1.98552813e-01 1.86143262e-01 2.10962364e-01 1.48914610e-01 2.85419669e-01 1.86143262e-01 2.97829220e-01 2.85419669e-01 2.73010118e-01 2.10962364e-01 1.36505059e-01 2.23371915e-01 1.86143262e-01 2.35781466e-01 2.35781466e-01 2.23371915e-01 2.10962364e-01 1.61324161e-01 2.23371915e-01 2.23371915e-01 1.73733712e-01 2.10962364e-01 2.60600567e-01 1.98552813e-01 2.23371915e-01 1.98552813e-01 2.23371915e-01 2.35781466e-01 1.48914610e-01 2.85419669e-01 1.98552813e-01 2.10962364e-01 2.35781466e-01 2.48191017e-01 2.35781466e-01 2.35781466e-01 1.48914610e-01 2.48191017e-01 2.10962364e-01 1.73733712e-01 2.23371915e-01 1.24095508e-01 2.48191017e-01 1.61324161e-01 1.48914610e-01 2.23371915e-01 1.73733712e-01 2.23371915e-01 2.35781466e-01 2.73010118e-01 2.97829220e-01 1.98552813e-01 2.23371915e-01 1.48914610e-01 2.23371915e-01 1.86143262e-01 1.61324161e-01 2.35781466e-01 2.73010118e-01 1.73733712e-01 2.23371915e-01 2.35781466e-01 2.35781466e-01 1.86143262e-01 1.24095508e-01 1.98552813e-01 2.35781466e-01 2.35781466e-01 1.98552813e-01 1.98552813e-01 2.97829220e-01 2.48191017e-01 2.23371915e-01 2.97829220e-01 2.48191017e-01 2.23371915e-01 2.35781466e-01 1.73733712e-01 2.10962364e-01 2.23371915e-01 2.73010118e-01 2.35781466e-01 2.10962364e-01 1.73733712e-01 2.23371915e-01 2.10962364e-01 2.48191017e-01 2.35781466e-01 2.10962364e-01 1.98552813e-01 2.73010118e-01 2.35781466e-01 1.98552813e-01 2.60600567e-01 1.48914610e-01 1.86143262e-01 1.61324161e-01 2.23371915e-01 1.73733712e-01 2.35781466e-01 3.72286525e-01 1.86143262e-01 2.73010118e-01 2.97829220e-01 2.35781466e-01 1.36505059e-01 1.86143262e-01 2.60600567e-01 3.10238771e-01 1.98552813e-01 1.48914610e-01 2.73010118e-01 1.98552813e-01 3.35057872e-01 2.97829220e-01 3.35057872e-01 1.24095508e-01 2.48191017e-01 3.35057872e-01 2.23371915e-01 2.23371915e-01 2.48191017e-01 3.35057872e-01 2.48191017e-01 3.47467423e-01 2.73010118e-01 3.22648322e-01 1.73733712e-01 1.48914610e-01 2.23371915e-01 2.60600567e-01 2.23371915e-01 1.73733712e-01 2.10962364e-01 2.35781466e-01 2.73010118e-01 2.10962364e-01 1.61324161e-01 2.23371915e-01 1.61324161e-01 1.98552813e-01 1.86143262e-01 1.73733712e-01 2.10962364e-01 2.35781466e-01 2.35781466e-01 3.10238771e-01 2.73010118e-01 2.35781466e-01 3.35057872e-01 1.98552813e-01 3.97105627e-01 2.48191017e-01 2.10962364e-01 2.23371915e-01 3.35057872e-01 2.97829220e-01 2.35781466e-01 2.60600567e-01 2.23371915e-01 2.35781466e-01 2.60600567e-01 3.72286525e-01 1.86143262e-01 2.23371915e-01 2.97829220e-01 2.60600567e-01 2.73010118e-01 2.73010118e-01 3.59876974e-01 2.85419669e-01 3.59876974e-01 3.22648322e-01 3.10238771e-01 2.48191017e-01 1.86143262e-01 3.10238771e-01 2.35781466e-01 1.98552813e-01 2.23371915e-01 2.10962364e-01 3.35057872e-01 2.85419669e-01 3.47467423e-01 1.73733712e-01 2.10962364e-01 2.60600567e-01 3.10238771e-01 1.98552813e-01 3.84696076e-01 2.97829220e-01 2.60600567e-01 2.85419669e-01 3.59876974e-01 2.10962364e-01 4.21924728e-01 2.73010118e-01 3.22648322e-01 1.73733712e-01 4.09515177e-01 4.21924728e-01 2.23371915e-01 2.10962364e-01 1.73733712e-01 2.60600567e-01 1.86143262e-01 3.10238771e-01 2.97829220e-01 2.73010118e-01 1.86143262e-01 2.23371915e-01 3.10238771e-01 2.35781466e-01 2.73010118e-01 2.35781466e-01 2.48191017e-01 3.47467423e-01 2.10962364e-01 2.23371915e-01 2.73010118e-01 3.59876974e-01 1.61324161e-01 3.10238771e-01 2.85419669e-01 3.72286525e-01 2.10962364e-01 3.72286525e-01 2.35781466e-01 3.10238771e-01 3.22648322e-01 3.35057872e-01 2.35781466e-01 3.10238771e-01 3.22648322e-01 2.35781466e-01 3.84696076e-01 2.73010118e-01 2.73010118e-01 2.35781466e-01 3.72286525e-01 2.85419669e-01 3.22648322e-01 3.97105627e-01 2.73010118e-01 3.22648322e-01 3.35057872e-01 1.98552813e-01 3.47467423e-01 2.85419669e-01 2.97829220e-01 2.85419669e-01 1.98552813e-01 3.10238771e-01 4.71562932e-01 2.48191017e-01 2.97829220e-01 2.73010118e-01 2.85419669e-01 2.60600567e-01 3.10238771e-01 3.59876974e-01 3.84696076e-01 2.48191017e-01 4.46743830e-01 3.35057872e-01 3.47467423e-01 3.10238771e-01 3.47467423e-01 3.84696076e-01 3.84696076e-01 3.35057872e-01 2.23371915e-01 2.97829220e-01 3.59876974e-01 3.10238771e-01 3.47467423e-01 3.97105627e-01 3.22648322e-01 3.22648322e-01 3.22648322e-01 3.22648322e-01 2.48191017e-01 3.22648322e-01 2.48191017e-01 2.48191017e-01 3.59876974e-01 3.84696076e-01 3.47467423e-01 3.47467423e-01 2.85419669e-01 2.73010118e-01 2.35781466e-01 3.35057872e-01 3.22648322e-01 3.47467423e-01 3.59876974e-01 4.21924728e-01 3.35057872e-01 3.59876974e-01 3.59876974e-01 3.97105627e-01 2.73010118e-01 3.84696076e-01 3.97105627e-01 3.47467423e-01 4.34334279e-01 4.46743830e-01 4.21924728e-01 4.96382033e-01 3.22648322e-01 2.73010118e-01 4.21924728e-01 2.97829220e-01 3.10238771e-01 3.22648322e-01 3.47467423e-01 3.35057872e-01 3.59876974e-01 2.35781466e-01 3.22648322e-01 3.59876974e-01 3.35057872e-01 3.84696076e-01 3.22648322e-01 4.46743830e-01 4.34334279e-01 3.97105627e-01 4.21924728e-01 3.84696076e-01 3.97105627e-01 3.22648322e-01 5.70839338e-01 3.72286525e-01 4.46743830e-01 3.10238771e-01 3.22648322e-01 3.59876974e-01 3.72286525e-01 3.35057872e-01 3.47467423e-01 4.46743830e-01 4.71562932e-01 3.97105627e-01 3.22648322e-01 4.46743830e-01 4.09515177e-01 3.35057872e-01 3.59876974e-01 3.97105627e-01 4.34334279e-01 4.21924728e-01 3.10238771e-01 4.59153381e-01 3.59876974e-01 4.34334279e-01 4.71562932e-01 6.32887092e-01 3.97105627e-01 4.34334279e-01 4.21924728e-01 4.83972482e-01 5.21201135e-01 4.83972482e-01 4.83972482e-01 4.34334279e-01 5.46020237e-01 4.21924728e-01 4.96382033e-01 4.83972482e-01 4.71562932e-01 5.08791584e-01 6.08067991e-01 3.97105627e-01 5.70839338e-01 4.34334279e-01 4.71562932e-01 5.21201135e-01 4.34334279e-01 5.33610686e-01 4.46743830e-01 4.34334279e-01 4.96382033e-01 5.83248889e-01 4.59153381e-01 4.59153381e-01 5.21201135e-01 4.21924728e-01 3.59876974e-01 4.21924728e-01 5.83248889e-01 4.09515177e-01 4.46743830e-01 4.71562932e-01 5.21201135e-01 6.45296643e-01 4.46743830e-01 5.21201135e-01 5.95658440e-01 5.46020237e-01 5.46020237e-01 5.21201135e-01 4.83972482e-01 5.46020237e-01 4.34334279e-01 4.46743830e-01 4.83972482e-01 6.45296643e-01 5.21201135e-01 4.34334279e-01 6.20477542e-01 5.21201135e-01 4.09515177e-01 4.59153381e-01 5.33610686e-01 5.21201135e-01 5.70839338e-01 5.46020237e-01 5.08791584e-01 5.33610686e-01 4.83972482e-01 5.83248889e-01 5.95658440e-01 5.21201135e-01 4.46743830e-01 4.83972482e-01 4.21924728e-01 5.33610686e-01 7.32163499e-01 4.59153381e-01 5.21201135e-01 5.70839338e-01 7.44573050e-01 5.58429787e-01 5.33610686e-01 5.08791584e-01 4.46743830e-01 6.94934847e-01 5.83248889e-01 5.83248889e-01 7.32163499e-01 4.71562932e-01 5.95658440e-01 4.71562932e-01 6.82525296e-01 4.59153381e-01 7.19753948e-01 6.82525296e-01 6.57706194e-01 6.20477542e-01 6.32887092e-01 7.32163499e-01 5.46020237e-01 5.21201135e-01 7.19753948e-01 5.70839338e-01 5.70839338e-01 7.19753948e-01 5.83248889e-01 7.32163499e-01 6.45296643e-01 6.70115745e-01 5.70839338e-01 6.45296643e-01 7.32163499e-01 6.70115745e-01 5.95658440e-01 6.32887092e-01 8.56259007e-01 7.32163499e-01 7.44573050e-01 5.70839338e-01 8.31439906e-01 6.45296643e-01 6.57706194e-01 7.94211253e-01 5.33610686e-01 7.69392152e-01 7.94211253e-01 6.82525296e-01 7.07344397e-01 7.94211253e-01 7.81801702e-01 7.32163499e-01 9.30716312e-01 7.44573050e-01 8.68668558e-01 7.44573050e-01 6.45296643e-01 8.43849457e-01 6.70115745e-01 7.19753948e-01 7.81801702e-01 6.70115745e-01 7.56982601e-01 8.31439906e-01 7.44573050e-01 8.31439906e-01 7.19753948e-01 5.95658440e-01 6.70115745e-01 7.56982601e-01 7.81801702e-01 6.57706194e-01 7.81801702e-01 8.19030355e-01 9.43125863e-01 7.07344397e-01 9.80354516e-01 8.06620804e-01 8.56259007e-01 8.43849457e-01 9.67944965e-01 7.94211253e-01 9.80354516e-01 9.92764067e-01 9.80354516e-01 7.81801702e-01 8.31439906e-01 8.43849457e-01 7.56982601e-01 8.81078109e-01 7.19753948e-01 8.06620804e-01 7.69392152e-01 1.02999272e+00 8.68668558e-01 7.81801702e-01 1.01758317e+00 8.19030355e-01 7.56982601e-01 8.81078109e-01 1.00517362e+00 9.67944965e-01 8.81078109e-01 1.05481182e+00 8.68668558e-01 7.07344397e-01 9.55535414e-01 9.43125863e-01 9.18306762e-01 1.20372643e+00 1.01758317e+00 8.93487660e-01 9.18306762e-01 1.07963092e+00 1.26577418e+00 1.01758317e+00 1.05481182e+00 1.06722137e+00 1.12926913e+00 1.04240227e+00 1.16649778e+00 1.22854553e+00 1.05481182e+00 1.14167868e+00 8.93487660e-01 1.24095508e+00 1.07963092e+00 1.11685957e+00 1.20372643e+00 1.45191745e+00 1.00517362e+00 1.14167868e+00 1.26577418e+00 1.09204047e+00 1.38986969e+00 1.27818374e+00 1.29059329e+00 1.25336463e+00 1.27818374e+00 1.14167868e+00 1.40227924e+00 1.43950790e+00 1.12926913e+00 1.29059329e+00 1.29059329e+00 1.25336463e+00 1.25336463e+00 1.27818374e+00 1.56360340e+00 1.25336463e+00 1.20372643e+00 1.70010846e+00 1.34023149e+00 1.34023149e+00 1.48914610e+00 1.34023149e+00 1.27818374e+00 1.67528936e+00 1.37746014e+00 1.62565116e+00 1.41468879e+00 1.65047026e+00 1.43950790e+00 1.35264104e+00 1.50155565e+00 1.78697532e+00 1.65047026e+00 1.60083206e+00 1.74974667e+00 1.92348038e+00 1.63806071e+00 1.58842251e+00 1.57601296e+00 1.55119385e+00 1.83661352e+00 1.87384218e+00 2.05998544e+00 2.03516634e+00 1.97311858e+00 1.92348038e+00 2.01034723e+00 2.19649050e+00 1.98552813e+00 2.01034723e+00 2.13444274e+00 2.17167140e+00 2.30817645e+00 2.05998544e+00 2.23371915e+00 2.27094780e+00 2.19649050e+00 2.10962364e+00 2.05998544e+00 2.24612870e+00 2.41986241e+00 2.04757589e+00 2.17167140e+00 2.64323433e+00 2.48191017e+00 2.65564388e+00 2.69287253e+00 2.44468151e+00 2.50672927e+00 2.79214894e+00 2.55636747e+00 2.54395792e+00 2.51913882e+00 3.18925456e+00 2.66805343e+00 2.82937759e+00 2.80455849e+00 2.94106355e+00 3.12720681e+00 3.15202591e+00 3.38780738e+00 3.21407367e+00 3.13961636e+00 3.31335007e+00 3.76009390e+00 3.43744558e+00 3.84696076e+00 4.21924728e+00 3.92141806e+00 3.84696076e+00 3.94623716e+00 3.78491300e+00 3.49949333e+00 4.08274222e+00 4.72803887e+00 4.62876246e+00 4.10756133e+00 4.71562932e+00 4.69081021e+00 4.86454393e+00 5.33610686e+00 5.22442090e+00 5.54706922e+00 4.91418213e+00 5.11273494e+00 5.48502147e+00 6.36609958e+00 6.13031811e+00 6.34128048e+00 6.34128048e+00 6.63910970e+00 6.41573778e+00 7.24717769e+00 6.24200407e+00 6.30405182e+00 7.02380577e+00 7.13549173e+00 7.35886364e+00 8.51295187e+00 7.55741646e+00 7.94211253e+00 8.17789400e+00 8.27717041e+00 8.26476085e+00 8.82319064e+00 8.31439906e+00 8.93487660e+00 9.13342941e+00 8.94728615e+00 9.17065807e+00 8.43849457e+00 9.55535414e+00 9.69185920e+00 9.87800246e+00 9.82836426e+00 9.53053504e+00 8.97210525e+00 8.33921816e+00 9.00933390e+00 9.10861031e+00 9.40643953e+00 8.84800974e+00 8.59981873e+00 8.32680861e+00 8.89764795e+00 9.43125863e+00 8.57499963e+00 7.97934119e+00 7.50777825e+00 8.31439906e+00 8.71150468e+00 6.63910970e+00 6.93693892e+00 5.72080293e+00 6.01863215e+00 4.03310402e+00 3.47467423e+00 4.38057144e+00 3.41262648e+00 1.42709835e+00 1.14167868e+00 9.92764067e-01 9.92764067e-02 1.73733712e-01 3.72286525e-02 3.72286525e-02 - - 7.93545619e-01 2.28616714e+00 3.34422797e+00 3.24975825e+00 3.07971276e+00 3.13639459e+00 3.17418248e+00 2.98524304e+00 2.72072784e+00 2.94745516e+00 2.28616714e+00 2.39953080e+00 2.47510657e+00 2.49400052e+00 2.17280348e+00 2.02165193e+00 1.77603067e+00 1.96497010e+00 1.87050039e+00 1.58709124e+00 1.81381856e+00 1.53040941e+00 1.47372758e+00 1.39815180e+00 1.39815180e+00 1.05806083e+00 1.22810631e+00 1.19031843e+00 1.37925786e+00 9.25803222e-01 1.28478814e+00 1.00137900e+00 1.07695477e+00 1.09584871e+00 8.50227449e-01 1.05806083e+00 8.88015335e-01 7.55757732e-01 1.03916688e+00 9.63591109e-01 7.74651676e-01 1.03916688e+00 8.31333505e-01 1.13363660e+00 8.12439562e-01 9.63591109e-01 6.80181959e-01 9.25803222e-01 8.69121392e-01 1.02027294e+00 4.72348583e-01 6.80181959e-01 5.66818299e-01 7.93545619e-01 8.12439562e-01 4.53454639e-01 7.36863789e-01 6.99075902e-01 9.06909279e-01 6.04606186e-01 6.99075902e-01 7.17969846e-01 5.29030413e-01 4.34560696e-01 5.66818299e-01 8.12439562e-01 7.36863789e-01 4.34560696e-01 6.04606186e-01 4.72348583e-01 5.47924356e-01 5.85712243e-01 3.77878866e-01 5.29030413e-01 5.47924356e-01 5.47924356e-01 4.34560696e-01 5.85712243e-01 7.55757732e-01 4.72348583e-01 4.34560696e-01 6.23500129e-01 6.99075902e-01 4.72348583e-01 4.34560696e-01 3.21197036e-01 4.34560696e-01 5.47924356e-01 4.15666753e-01 4.15666753e-01 5.29030413e-01 4.72348583e-01 3.96772809e-01 4.91242526e-01 5.29030413e-01 4.34560696e-01 3.40090980e-01 5.85712243e-01 5.66818299e-01 5.10136469e-01 2.64515206e-01 4.53454639e-01 4.34560696e-01 3.40090980e-01 5.29030413e-01 4.34560696e-01 4.15666753e-01 5.29030413e-01 3.58984923e-01 4.53454639e-01 4.53454639e-01 4.72348583e-01 4.53454639e-01 4.15666753e-01 4.72348583e-01 5.29030413e-01 4.34560696e-01 2.07833376e-01 4.34560696e-01 3.77878866e-01 4.91242526e-01 3.96772809e-01 2.83409150e-01 3.21197036e-01 3.96772809e-01 4.53454639e-01 4.53454639e-01 3.96772809e-01 3.02303093e-01 1.88939433e-01 3.96772809e-01 3.77878866e-01 3.02303093e-01 3.58984923e-01 4.15666753e-01 4.53454639e-01 3.58984923e-01 2.83409150e-01 3.21197036e-01 2.45621263e-01 3.21197036e-01 3.02303093e-01 3.58984923e-01 3.77878866e-01 2.07833376e-01 2.83409150e-01 3.96772809e-01 1.88939433e-01 2.45621263e-01 2.64515206e-01 3.02303093e-01 3.77878866e-01 4.34560696e-01 3.58984923e-01 4.15666753e-01 2.07833376e-01 2.07833376e-01 2.45621263e-01 2.45621263e-01 3.21197036e-01 2.26727320e-01 3.21197036e-01 2.83409150e-01 3.02303093e-01 2.64515206e-01 2.07833376e-01 3.77878866e-01 2.07833376e-01 3.21197036e-01 2.64515206e-01 2.83409150e-01 3.02303093e-01 2.83409150e-01 2.83409150e-01 2.26727320e-01 3.21197036e-01 2.26727320e-01 3.40090980e-01 3.58984923e-01 3.58984923e-01 3.58984923e-01 1.70045490e-01 2.83409150e-01 3.02303093e-01 2.07833376e-01 3.02303093e-01 3.58984923e-01 3.02303093e-01 1.88939433e-01 2.64515206e-01 2.26727320e-01 2.64515206e-01 1.70045490e-01 1.51151546e-01 3.58984923e-01 3.02303093e-01 2.83409150e-01 3.02303093e-01 3.58984923e-01 1.70045490e-01 2.83409150e-01 2.07833376e-01 3.02303093e-01 2.45621263e-01 3.02303093e-01 3.21197036e-01 2.83409150e-01 1.88939433e-01 2.64515206e-01 2.45621263e-01 1.88939433e-01 1.88939433e-01 1.70045490e-01 2.64515206e-01 2.83409150e-01 3.77878866e-01 2.45621263e-01 1.70045490e-01 1.13363660e-01 1.51151546e-01 2.26727320e-01 2.07833376e-01 1.70045490e-01 3.02303093e-01 2.45621263e-01 4.15666753e-01 3.77878866e-01 2.45621263e-01 3.40090980e-01 2.07833376e-01 2.64515206e-01 2.07833376e-01 3.21197036e-01 1.51151546e-01 3.58984923e-01 1.70045490e-01 2.07833376e-01 1.70045490e-01 1.70045490e-01 2.45621263e-01 1.51151546e-01 2.83409150e-01 1.70045490e-01 2.83409150e-01 2.83409150e-01 3.77878866e-01 3.02303093e-01 1.51151546e-01 1.70045490e-01 1.13363660e-01 1.70045490e-01 3.40090980e-01 2.83409150e-01 4.34560696e-01 3.02303093e-01 3.58984923e-01 2.07833376e-01 1.32257603e-01 2.26727320e-01 3.40090980e-01 2.83409150e-01 1.32257603e-01 2.45621263e-01 2.45621263e-01 2.07833376e-01 2.45621263e-01 9.44697165e-02 1.88939433e-01 1.70045490e-01 1.13363660e-01 3.21197036e-01 2.07833376e-01 3.21197036e-01 2.26727320e-01 1.32257603e-01 2.26727320e-01 2.26727320e-01 3.21197036e-01 2.07833376e-01 3.58984923e-01 1.88939433e-01 2.07833376e-01 1.51151546e-01 2.26727320e-01 2.07833376e-01 1.70045490e-01 2.83409150e-01 2.83409150e-01 2.64515206e-01 1.32257603e-01 3.21197036e-01 2.26727320e-01 1.88939433e-01 1.88939433e-01 1.88939433e-01 2.64515206e-01 1.51151546e-01 2.83409150e-01 2.45621263e-01 2.26727320e-01 1.88939433e-01 2.83409150e-01 2.45621263e-01 2.45621263e-01 1.70045490e-01 2.45621263e-01 2.45621263e-01 2.07833376e-01 2.45621263e-01 1.70045490e-01 1.32257603e-01 2.07833376e-01 2.07833376e-01 2.45621263e-01 2.83409150e-01 2.26727320e-01 3.40090980e-01 2.26727320e-01 2.64515206e-01 2.64515206e-01 2.45621263e-01 1.70045490e-01 1.88939433e-01 3.21197036e-01 1.70045490e-01 1.70045490e-01 2.45621263e-01 2.83409150e-01 1.51151546e-01 2.83409150e-01 1.88939433e-01 1.51151546e-01 2.45621263e-01 2.26727320e-01 2.07833376e-01 2.45621263e-01 1.88939433e-01 2.26727320e-01 2.26727320e-01 2.45621263e-01 1.70045490e-01 1.13363660e-01 1.88939433e-01 2.07833376e-01 2.83409150e-01 2.07833376e-01 1.70045490e-01 3.58984923e-01 2.45621263e-01 2.83409150e-01 3.02303093e-01 3.58984923e-01 1.88939433e-01 2.45621263e-01 2.45621263e-01 1.88939433e-01 2.83409150e-01 2.26727320e-01 2.83409150e-01 1.70045490e-01 2.83409150e-01 2.07833376e-01 3.40090980e-01 9.44697165e-02 3.58984923e-01 2.83409150e-01 1.88939433e-01 2.45621263e-01 1.88939433e-01 2.83409150e-01 2.64515206e-01 2.64515206e-01 2.45621263e-01 2.26727320e-01 2.64515206e-01 3.77878866e-01 1.88939433e-01 3.77878866e-01 4.34560696e-01 2.64515206e-01 2.83409150e-01 2.07833376e-01 2.07833376e-01 3.58984923e-01 1.88939433e-01 2.64515206e-01 3.40090980e-01 3.21197036e-01 2.45621263e-01 1.88939433e-01 4.53454639e-01 3.58984923e-01 1.70045490e-01 1.32257603e-01 2.64515206e-01 2.45621263e-01 2.26727320e-01 2.45621263e-01 3.58984923e-01 2.45621263e-01 2.83409150e-01 1.88939433e-01 1.88939433e-01 2.26727320e-01 1.70045490e-01 2.83409150e-01 1.70045490e-01 1.88939433e-01 3.40090980e-01 3.02303093e-01 2.07833376e-01 2.64515206e-01 1.70045490e-01 2.64515206e-01 2.45621263e-01 1.70045490e-01 2.64515206e-01 2.26727320e-01 2.83409150e-01 3.21197036e-01 2.26727320e-01 1.70045490e-01 1.32257603e-01 3.21197036e-01 3.58984923e-01 3.58984923e-01 3.58984923e-01 3.40090980e-01 3.58984923e-01 2.45621263e-01 3.40090980e-01 1.70045490e-01 3.40090980e-01 4.34560696e-01 3.40090980e-01 4.15666753e-01 4.15666753e-01 2.45621263e-01 2.26727320e-01 1.51151546e-01 1.13363660e-01 2.45621263e-01 4.34560696e-01 3.58984923e-01 1.51151546e-01 2.64515206e-01 2.64515206e-01 2.07833376e-01 2.64515206e-01 2.45621263e-01 3.77878866e-01 3.02303093e-01 3.21197036e-01 2.83409150e-01 2.45621263e-01 3.21197036e-01 2.07833376e-01 2.64515206e-01 2.45621263e-01 2.45621263e-01 3.77878866e-01 3.96772809e-01 2.83409150e-01 3.02303093e-01 2.45621263e-01 2.26727320e-01 2.64515206e-01 3.40090980e-01 2.26727320e-01 2.26727320e-01 2.45621263e-01 3.21197036e-01 3.58984923e-01 3.21197036e-01 2.83409150e-01 5.10136469e-01 3.96772809e-01 2.64515206e-01 4.53454639e-01 2.07833376e-01 3.96772809e-01 3.96772809e-01 2.83409150e-01 1.88939433e-01 1.70045490e-01 2.83409150e-01 4.34560696e-01 4.91242526e-01 2.07833376e-01 3.21197036e-01 4.15666753e-01 4.15666753e-01 2.83409150e-01 3.58984923e-01 2.45621263e-01 1.88939433e-01 3.96772809e-01 3.58984923e-01 3.21197036e-01 3.02303093e-01 3.58984923e-01 3.77878866e-01 2.83409150e-01 3.02303093e-01 3.21197036e-01 2.64515206e-01 3.21197036e-01 1.70045490e-01 3.58984923e-01 3.21197036e-01 3.58984923e-01 3.40090980e-01 4.72348583e-01 3.96772809e-01 4.53454639e-01 3.77878866e-01 3.21197036e-01 3.02303093e-01 5.10136469e-01 3.77878866e-01 5.47924356e-01 4.15666753e-01 3.02303093e-01 3.96772809e-01 3.21197036e-01 4.72348583e-01 4.34560696e-01 2.83409150e-01 3.58984923e-01 3.21197036e-01 2.83409150e-01 4.53454639e-01 4.53454639e-01 4.15666753e-01 2.45621263e-01 4.15666753e-01 3.96772809e-01 3.40090980e-01 3.96772809e-01 5.85712243e-01 2.83409150e-01 4.15666753e-01 4.34560696e-01 5.85712243e-01 4.34560696e-01 3.96772809e-01 4.72348583e-01 5.10136469e-01 5.66818299e-01 4.72348583e-01 4.72348583e-01 4.72348583e-01 5.47924356e-01 3.58984923e-01 3.58984923e-01 4.53454639e-01 5.47924356e-01 5.66818299e-01 5.10136469e-01 5.47924356e-01 6.42394072e-01 6.42394072e-01 4.53454639e-01 6.23500129e-01 5.29030413e-01 4.91242526e-01 6.04606186e-01 6.04606186e-01 4.72348583e-01 5.10136469e-01 6.61288016e-01 5.10136469e-01 6.80181959e-01 5.85712243e-01 6.80181959e-01 6.61288016e-01 8.31333505e-01 6.99075902e-01 6.80181959e-01 5.47924356e-01 7.55757732e-01 7.36863789e-01 9.82485052e-01 1.02027294e+00 8.88015335e-01 6.99075902e-01 9.06909279e-01 7.93545619e-01 7.17969846e-01 9.82485052e-01 8.31333505e-01 8.88015335e-01 1.05806083e+00 9.06909279e-01 8.69121392e-01 9.44697165e-01 1.03916688e+00 1.22810631e+00 7.36863789e-01 1.03916688e+00 1.17142449e+00 1.20921237e+00 1.32257603e+00 1.20921237e+00 9.82485052e-01 1.11474266e+00 1.34146997e+00 1.30368209e+00 1.26589420e+00 1.36036392e+00 1.34146997e+00 1.36036392e+00 1.26589420e+00 1.60598518e+00 1.73824278e+00 1.45483363e+00 1.32257603e+00 1.56819729e+00 1.98386405e+00 1.81381856e+00 1.62487912e+00 1.81381856e+00 1.83271250e+00 1.87050039e+00 2.02165193e+00 2.39953080e+00 2.49400052e+00 2.43731869e+00 2.53178840e+00 2.47510657e+00 2.68293995e+00 2.92856121e+00 2.79630361e+00 2.77740967e+00 2.98524304e+00 2.96634910e+00 3.32533402e+00 3.41980374e+00 3.00413699e+00 3.43869768e+00 3.77878866e+00 3.64653106e+00 4.13777358e+00 3.77878866e+00 3.74100077e+00 4.17556147e+00 5.02578892e+00 4.04330387e+00 4.61012217e+00 4.32671302e+00 4.59122822e+00 4.38339485e+00 4.42118273e+00 4.09998570e+00 4.06219781e+00 4.53454639e+00 4.87463737e+00 4.04330387e+00 4.76127371e+00 3.96772809e+00 4.32671302e+00 4.28892513e+00 4.64791005e+00 4.11887964e+00 4.30781907e+00 3.40090980e+00 3.66542500e+00 3.43869768e+00 2.96634910e+00 3.49537951e+00 3.41980374e+00 2.94745516e+00 3.11750065e+00 2.64515206e+00 2.28616714e+00 2.43731869e+00 2.34284897e+00 2.21059137e+00 2.02165193e+00 1.88939433e+00 1.56819729e+00 1.43593969e+00 1.45483363e+00 1.53040941e+00 1.51151546e+00 1.17142449e+00 1.11474266e+00 1.19031843e+00 8.88015335e-01 1.02027294e+00 9.63591109e-01 9.25803222e-01 7.74651676e-01 7.55757732e-01 8.69121392e-01 6.23500129e-01 5.66818299e-01 6.80181959e-01 4.34560696e-01 7.36863789e-01 6.23500129e-01 4.15666753e-01 4.72348583e-01 4.34560696e-01 4.15666753e-01 4.15666753e-01 2.83409150e-01 3.21197036e-01 3.96772809e-01 2.26727320e-01 3.58984923e-01 1.70045490e-01 4.34560696e-01 2.07833376e-01 2.26727320e-01 2.45621263e-01 2.07833376e-01 1.51151546e-01 1.70045490e-01 1.51151546e-01 1.32257603e-01 2.26727320e-01 1.51151546e-01 1.32257603e-01 2.45621263e-01 1.13363660e-01 7.55757732e-02 1.51151546e-01 9.44697165e-02 1.70045490e-01 1.13363660e-01 1.32257603e-01 1.88939433e-02 1.13363660e-01 7.55757732e-02 7.55757732e-02 1.13363660e-01 7.55757732e-02 5.66818299e-02 1.88939433e-02 9.44697165e-02 3.77878866e-02 1.88939433e-02 1.88939433e-02 1.88939433e-02 1.88939433e-02 5.66818299e-02 3.77878866e-02 0.00000000e+00 1.88939433e-02 3.77878866e-02 1.88939433e-02 7.55757732e-02 3.77878866e-02 1.88939433e-02 1.88939433e-02 1.88939433e-02 1.88939433e-02 5.66818299e-02 0.00000000e+00 3.77878866e-02 0.00000000e+00 3.77878866e-02 1.88939433e-02 0.00000000e+00 1.88939433e-02 0.00000000e+00 0.00000000e+00 3.77878866e-02 1.88939433e-02 1.88939433e-02 0.00000000e+00 1.88939433e-02 0.00000000e+00 0.00000000e+00 5.66818299e-02 1.88939433e-02 1.88939433e-02 0.00000000e+00 0.00000000e+00 1.88939433e-02 1.88939433e-02 1.88939433e-02 0.00000000e+00 1.88939433e-02 0.00000000e+00 1.88939433e-02 0.00000000e+00 1.88939433e-02 1.88939433e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.77878866e-02 3.77878866e-02 1.88939433e-02 1.88939433e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.88939433e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.88939433e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.88939433e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.88939433e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.88939433e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + 1.93958514e+00 5.92651014e+00 1.12603693e+01 1.25534260e+01 1.53011716e+01 1.49240301e+01 1.63248416e+01 1.78872851e+01 1.55166811e+01 1.70252473e+01 1.67558605e+01 1.49240301e+01 1.50856622e+01 1.43313791e+01 1.35232186e+01 1.24995487e+01 1.09371051e+01 1.16375108e+01 1.08832277e+01 9.91343514e+00 9.21302940e+00 9.10527467e+00 8.40486892e+00 8.56650102e+00 6.84242534e+00 6.46528379e+00 7.70446318e+00 6.03426487e+00 6.30365169e+00 6.24977433e+00 6.84242534e+00 5.65712331e+00 5.17222703e+00 4.95671757e+00 4.36406656e+00 5.27998176e+00 4.20243446e+00 5.33385913e+00 5.27998176e+00 4.52569865e+00 5.27998176e+00 4.90284021e+00 5.11834967e+00 3.98692500e+00 3.44815135e+00 3.82529291e+00 4.31018919e+00 3.82529291e+00 3.60978345e+00 3.55590608e+00 3.44815135e+00 4.20243446e+00 4.25631183e+00 3.17876453e+00 3.71753818e+00 2.96325507e+00 2.80162297e+00 3.60978345e+00 3.23264189e+00 4.79508548e+00 3.23264189e+00 2.80162297e+00 3.01713243e+00 4.04080237e+00 3.34039662e+00 3.44815135e+00 2.96325507e+00 3.17876453e+00 3.44815135e+00 3.17876453e+00 1.83183041e+00 2.80162297e+00 2.04733987e+00 2.58611352e+00 2.96325507e+00 2.96325507e+00 2.69386825e+00 2.53223615e+00 3.55590608e+00 2.63999088e+00 2.47835879e+00 2.80162297e+00 2.20897196e+00 2.47835879e+00 2.42448142e+00 2.20897196e+00 2.31672669e+00 2.74774561e+00 2.37060406e+00 1.72407568e+00 2.47835879e+00 2.10121723e+00 2.47835879e+00 1.72407568e+00 1.77795304e+00 2.10121723e+00 2.31672669e+00 2.15509460e+00 1.72407568e+00 1.93958514e+00 2.04733987e+00 1.93958514e+00 2.04733987e+00 2.31672669e+00 1.93958514e+00 2.04733987e+00 2.20897196e+00 1.99346250e+00 1.45468885e+00 2.15509460e+00 1.83183041e+00 1.40081149e+00 1.67019831e+00 1.18530203e+00 1.07754730e+00 1.93958514e+00 1.67019831e+00 1.93958514e+00 2.04733987e+00 1.72407568e+00 1.61632095e+00 1.83183041e+00 1.61632095e+00 1.29305676e+00 1.93958514e+00 2.04733987e+00 1.93958514e+00 1.72407568e+00 1.45468885e+00 1.67019831e+00 1.50856622e+00 1.40081149e+00 9.69792568e-01 1.23917939e+00 1.34693412e+00 1.45468885e+00 9.69792568e-01 1.50856622e+00 1.34693412e+00 1.34693412e+00 1.61632095e+00 1.40081149e+00 1.18530203e+00 1.45468885e+00 1.50856622e+00 1.13142466e+00 7.00405744e-01 1.18530203e+00 1.29305676e+00 1.50856622e+00 1.45468885e+00 1.29305676e+00 1.02366993e+00 1.40081149e+00 1.07754730e+00 9.15915203e-01 1.45468885e+00 8.62037838e-01 1.50856622e+00 7.54283109e-01 9.69792568e-01 1.07754730e+00 1.13142466e+00 1.18530203e+00 1.02366993e+00 1.23917939e+00 1.67019831e+00 1.23917939e+00 1.45468885e+00 1.40081149e+00 8.08160474e-01 1.18530203e+00 1.18530203e+00 1.07754730e+00 1.18530203e+00 1.07754730e+00 1.07754730e+00 9.15915203e-01 1.13142466e+00 9.69792568e-01 9.15915203e-01 1.13142466e+00 1.07754730e+00 7.00405744e-01 8.62037838e-01 7.54283109e-01 7.54283109e-01 7.54283109e-01 1.13142466e+00 5.92651014e-01 6.46528379e-01 1.02366993e+00 1.13142466e+00 9.69792568e-01 1.23917939e+00 1.13142466e+00 5.38773649e-01 1.18530203e+00 8.08160474e-01 1.13142466e+00 6.46528379e-01 1.18530203e+00 5.92651014e-01 1.23917939e+00 7.54283109e-01 7.54283109e-01 9.15915203e-01 4.84896284e-01 7.54283109e-01 5.38773649e-01 1.07754730e+00 5.38773649e-01 5.92651014e-01 9.69792568e-01 5.92651014e-01 5.92651014e-01 8.08160474e-01 6.46528379e-01 5.92651014e-01 8.08160474e-01 1.07754730e+00 9.15915203e-01 9.15915203e-01 7.00405744e-01 8.62037838e-01 1.07754730e+00 1.13142466e+00 9.15915203e-01 7.00405744e-01 6.46528379e-01 7.54283109e-01 9.15915203e-01 9.15915203e-01 1.13142466e+00 1.02366993e+00 1.29305676e+00 7.00405744e-01 7.00405744e-01 9.15915203e-01 4.84896284e-01 5.38773649e-01 9.69792568e-01 8.08160474e-01 4.84896284e-01 1.23917939e+00 5.92651014e-01 1.07754730e+00 5.38773649e-01 4.84896284e-01 3.77141554e-01 8.08160474e-01 3.77141554e-01 7.54283109e-01 7.54283109e-01 7.00405744e-01 8.62037838e-01 8.08160474e-01 4.31018919e-01 8.62037838e-01 8.08160474e-01 8.62037838e-01 9.69792568e-01 6.46528379e-01 7.00405744e-01 6.46528379e-01 7.54283109e-01 8.62037838e-01 6.46528379e-01 8.08160474e-01 8.08160474e-01 7.00405744e-01 1.61632095e-01 5.38773649e-01 1.07754730e+00 4.84896284e-01 7.00405744e-01 5.92651014e-01 6.46528379e-01 6.46528379e-01 3.23264189e-01 7.54283109e-01 4.31018919e-01 8.62037838e-01 8.08160474e-01 4.31018919e-01 3.77141554e-01 4.84896284e-01 8.08160474e-01 4.84896284e-01 7.54283109e-01 3.77141554e-01 5.92651014e-01 7.54283109e-01 1.02366993e+00 5.38773649e-01 6.46528379e-01 7.54283109e-01 6.46528379e-01 5.38773649e-01 3.77141554e-01 6.46528379e-01 5.38773649e-01 5.38773649e-01 3.23264189e-01 7.00405744e-01 6.46528379e-01 5.92651014e-01 6.46528379e-01 4.84896284e-01 5.38773649e-01 4.31018919e-01 6.46528379e-01 5.92651014e-01 4.31018919e-01 6.46528379e-01 5.38773649e-01 5.38773649e-01 6.46528379e-01 5.92651014e-01 5.92651014e-01 2.15509460e-01 3.77141554e-01 5.38773649e-01 3.77141554e-01 4.84896284e-01 5.38773649e-01 4.31018919e-01 5.38773649e-01 6.46528379e-01 5.92651014e-01 3.77141554e-01 5.92651014e-01 7.00405744e-01 1.61632095e-01 3.77141554e-01 2.69386825e-01 5.92651014e-01 4.84896284e-01 3.23264189e-01 4.84896284e-01 6.46528379e-01 4.84896284e-01 7.00405744e-01 5.92651014e-01 3.23264189e-01 3.77141554e-01 2.69386825e-01 3.23264189e-01 7.54283109e-01 5.92651014e-01 3.23264189e-01 7.00405744e-01 4.84896284e-01 3.23264189e-01 3.77141554e-01 4.31018919e-01 3.23264189e-01 3.23264189e-01 2.69386825e-01 4.31018919e-01 4.84896284e-01 5.92651014e-01 5.92651014e-01 4.31018919e-01 3.23264189e-01 6.46528379e-01 5.38773649e-01 3.23264189e-01 2.69386825e-01 4.31018919e-01 6.46528379e-01 4.84896284e-01 4.31018919e-01 3.77141554e-01 3.23264189e-01 3.23264189e-01 2.15509460e-01 5.38773649e-01 3.77141554e-01 2.15509460e-01 4.84896284e-01 4.84896284e-01 4.31018919e-01 4.31018919e-01 2.15509460e-01 3.23264189e-01 7.54283109e-01 2.69386825e-01 3.77141554e-01 5.38773649e-02 3.77141554e-01 6.46528379e-01 4.31018919e-01 2.69386825e-01 4.31018919e-01 2.15509460e-01 5.92651014e-01 3.77141554e-01 5.38773649e-01 4.84896284e-01 4.31018919e-01 3.77141554e-01 8.08160474e-01 2.15509460e-01 5.92651014e-01 7.00405744e-01 5.92651014e-01 5.38773649e-01 1.61632095e-01 7.00405744e-01 3.77141554e-01 4.84896284e-01 3.23264189e-01 1.07754730e-01 3.23264189e-01 4.31018919e-01 2.69386825e-01 3.23264189e-01 6.46528379e-01 4.31018919e-01 2.15509460e-01 2.69386825e-01 3.23264189e-01 1.07754730e-01 4.84896284e-01 3.23264189e-01 2.15509460e-01 4.31018919e-01 2.15509460e-01 4.84896284e-01 2.15509460e-01 6.46528379e-01 8.08160474e-01 3.23264189e-01 4.31018919e-01 4.31018919e-01 2.15509460e-01 1.07754730e-01 3.77141554e-01 4.31018919e-01 8.08160474e-01 1.07754730e-01 1.61632095e-01 3.77141554e-01 2.69386825e-01 2.15509460e-01 3.23264189e-01 4.84896284e-01 4.31018919e-01 3.23264189e-01 3.77141554e-01 3.23264189e-01 3.77141554e-01 1.61632095e-01 5.92651014e-01 3.77141554e-01 4.31018919e-01 3.23264189e-01 3.77141554e-01 3.77141554e-01 2.15509460e-01 2.69386825e-01 4.31018919e-01 3.77141554e-01 2.69386825e-01 4.84896284e-01 2.69386825e-01 2.69386825e-01 4.84896284e-01 1.07754730e-01 3.23264189e-01 4.31018919e-01 2.15509460e-01 5.92651014e-01 7.00405744e-01 5.38773649e-02 4.31018919e-01 3.77141554e-01 2.15509460e-01 3.23264189e-01 3.77141554e-01 5.92651014e-01 4.31018919e-01 1.61632095e-01 3.77141554e-01 4.31018919e-01 4.84896284e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 5.38773649e-01 5.38773649e-01 4.31018919e-01 4.84896284e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 1.61632095e-01 3.23264189e-01 1.07754730e-01 3.23264189e-01 4.84896284e-01 1.61632095e-01 1.61632095e-01 3.23264189e-01 1.07754730e-01 2.69386825e-01 2.15509460e-01 2.69386825e-01 3.77141554e-01 2.15509460e-01 3.23264189e-01 2.69386825e-01 1.07754730e-01 3.77141554e-01 1.07754730e-01 2.15509460e-01 1.07754730e-01 3.23264189e-01 4.84896284e-01 2.69386825e-01 1.07754730e-01 2.15509460e-01 2.69386825e-01 2.69386825e-01 2.69386825e-01 3.77141554e-01 2.15509460e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 3.23264189e-01 4.84896284e-01 1.61632095e-01 3.23264189e-01 2.15509460e-01 1.61632095e-01 1.61632095e-01 2.15509460e-01 2.69386825e-01 3.77141554e-01 1.61632095e-01 2.69386825e-01 1.61632095e-01 3.23264189e-01 2.15509460e-01 3.23264189e-01 2.69386825e-01 1.61632095e-01 2.69386825e-01 2.69386825e-01 2.69386825e-01 1.07754730e-01 2.15509460e-01 1.07754730e-01 2.15509460e-01 2.15509460e-01 5.38773649e-01 2.69386825e-01 4.31018919e-01 3.23264189e-01 3.77141554e-01 3.23264189e-01 3.23264189e-01 3.23264189e-01 2.69386825e-01 2.15509460e-01 1.07754730e-01 3.77141554e-01 1.07754730e-01 2.15509460e-01 1.61632095e-01 2.69386825e-01 3.77141554e-01 1.07754730e-01 3.77141554e-01 1.07754730e-01 3.23264189e-01 1.07754730e-01 1.61632095e-01 4.31018919e-01 3.23264189e-01 3.77141554e-01 1.61632095e-01 2.69386825e-01 2.15509460e-01 1.61632095e-01 2.69386825e-01 3.23264189e-01 3.23264189e-01 2.15509460e-01 2.69386825e-01 3.77141554e-01 5.38773649e-01 3.23264189e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 3.23264189e-01 1.61632095e-01 2.15509460e-01 3.23264189e-01 1.61632095e-01 3.23264189e-01 1.61632095e-01 2.69386825e-01 4.84896284e-01 3.77141554e-01 1.07754730e-01 3.23264189e-01 2.15509460e-01 2.69386825e-01 1.61632095e-01 1.61632095e-01 3.23264189e-01 2.15509460e-01 2.69386825e-01 4.31018919e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 5.38773649e-01 3.23264189e-01 3.77141554e-01 1.61632095e-01 2.15509460e-01 0.00000000e+00 1.61632095e-01 3.77141554e-01 1.07754730e-01 2.15509460e-01 2.15509460e-01 3.23264189e-01 5.38773649e-02 1.61632095e-01 3.23264189e-01 1.61632095e-01 3.77141554e-01 3.77141554e-01 6.46528379e-01 1.61632095e-01 2.69386825e-01 1.07754730e-01 1.61632095e-01 3.23264189e-01 1.07754730e-01 1.61632095e-01 3.77141554e-01 2.15509460e-01 3.23264189e-01 2.69386825e-01 4.31018919e-01 2.69386825e-01 2.69386825e-01 2.15509460e-01 1.07754730e-01 3.77141554e-01 1.61632095e-01 1.61632095e-01 2.15509460e-01 3.23264189e-01 1.07754730e-01 3.23264189e-01 2.15509460e-01 1.61632095e-01 1.61632095e-01 3.23264189e-01 2.69386825e-01 3.23264189e-01 3.23264189e-01 1.61632095e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 1.07754730e-01 1.61632095e-01 1.61632095e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 1.61632095e-01 2.15509460e-01 1.07754730e-01 3.23264189e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 3.77141554e-01 1.07754730e-01 3.77141554e-01 1.07754730e-01 2.69386825e-01 2.15509460e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 2.15509460e-01 5.38773649e-02 1.61632095e-01 1.07754730e-01 0.00000000e+00 5.38773649e-02 2.15509460e-01 2.15509460e-01 1.07754730e-01 2.69386825e-01 2.69386825e-01 1.61632095e-01 2.15509460e-01 3.23264189e-01 1.07754730e-01 1.61632095e-01 1.61632095e-01 3.23264189e-01 2.15509460e-01 5.38773649e-02 1.07754730e-01 3.23264189e-01 1.61632095e-01 5.38773649e-02 3.77141554e-01 4.31018919e-01 1.07754730e-01 2.69386825e-01 3.77141554e-01 2.15509460e-01 3.23264189e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 2.15509460e-01 2.69386825e-01 1.07754730e-01 3.23264189e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 3.23264189e-01 1.07754730e-01 1.61632095e-01 0.00000000e+00 2.69386825e-01 2.15509460e-01 2.15509460e-01 2.15509460e-01 1.61632095e-01 2.69386825e-01 1.61632095e-01 2.69386825e-01 1.61632095e-01 2.69386825e-01 5.38773649e-02 2.69386825e-01 5.38773649e-02 5.38773649e-01 2.69386825e-01 1.61632095e-01 0.00000000e+00 1.07754730e-01 1.07754730e-01 2.15509460e-01 5.38773649e-02 1.61632095e-01 4.31018919e-01 1.07754730e-01 1.61632095e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 5.38773649e-02 2.15509460e-01 2.69386825e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 2.15509460e-01 1.07754730e-01 3.23264189e-01 0.00000000e+00 2.69386825e-01 2.69386825e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 2.15509460e-01 1.61632095e-01 3.23264189e-01 5.38773649e-02 5.38773649e-02 2.15509460e-01 2.69386825e-01 1.61632095e-01 3.77141554e-01 1.61632095e-01 1.07754730e-01 3.23264189e-01 2.69386825e-01 2.15509460e-01 0.00000000e+00 2.69386825e-01 3.77141554e-01 1.61632095e-01 4.84896284e-01 2.15509460e-01 2.69386825e-01 2.15509460e-01 2.69386825e-01 5.38773649e-02 2.15509460e-01 4.31018919e-01 1.61632095e-01 2.69386825e-01 5.38773649e-02 2.15509460e-01 2.69386825e-01 2.15509460e-01 1.07754730e-01 5.38773649e-02 2.15509460e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 2.69386825e-01 2.69386825e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 1.07754730e-01 2.15509460e-01 1.07754730e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 2.69386825e-01 2.69386825e-01 2.15509460e-01 1.07754730e-01 2.69386825e-01 2.15509460e-01 2.15509460e-01 2.69386825e-01 3.77141554e-01 2.15509460e-01 3.77141554e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.61632095e-01 0.00000000e+00 5.38773649e-02 0.00000000e+00 1.61632095e-01 2.69386825e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 2.69386825e-01 3.23264189e-01 0.00000000e+00 2.15509460e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 0.00000000e+00 1.07754730e-01 2.15509460e-01 2.15509460e-01 1.07754730e-01 1.07754730e-01 2.15509460e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 2.69386825e-01 2.15509460e-01 3.23264189e-01 1.61632095e-01 5.38773649e-02 2.69386825e-01 2.15509460e-01 2.15509460e-01 0.00000000e+00 1.61632095e-01 2.15509460e-01 1.61632095e-01 3.23264189e-01 2.15509460e-01 2.15509460e-01 1.07754730e-01 5.38773649e-02 1.07754730e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.61632095e-01 1.07754730e-01 1.61632095e-01 2.15509460e-01 2.69386825e-01 0.00000000e+00 2.15509460e-01 5.38773649e-02 1.07754730e-01 2.15509460e-01 1.61632095e-01 3.23264189e-01 2.15509460e-01 2.15509460e-01 3.23264189e-01 2.15509460e-01 1.61632095e-01 2.15509460e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.07754730e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 2.15509460e-01 5.38773649e-02 1.07754730e-01 5.38773649e-02 1.07754730e-01 2.15509460e-01 5.38773649e-02 2.15509460e-01 1.07754730e-01 2.69386825e-01 5.38773649e-02 3.23264189e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 2.69386825e-01 0.00000000e+00 1.07754730e-01 1.61632095e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 0.00000000e+00 3.77141554e-01 1.07754730e-01 2.15509460e-01 1.61632095e-01 1.07754730e-01 3.77141554e-01 5.38773649e-02 1.07754730e-01 3.77141554e-01 2.15509460e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 0.00000000e+00 1.61632095e-01 5.38773649e-02 2.69386825e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 5.38773649e-02 2.15509460e-01 1.61632095e-01 1.07754730e-01 1.61632095e-01 0.00000000e+00 1.07754730e-01 0.00000000e+00 2.15509460e-01 1.07754730e-01 1.07754730e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 5.38773649e-02 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.61632095e-01 1.07754730e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 0.00000000e+00 5.38773649e-02 2.69386825e-01 2.15509460e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 1.61632095e-01 2.69386825e-01 2.15509460e-01 5.38773649e-02 0.00000000e+00 5.38773649e-02 1.61632095e-01 1.07754730e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 1.61632095e-01 2.69386825e-01 1.07754730e-01 2.15509460e-01 1.07754730e-01 5.38773649e-02 1.07754730e-01 3.23264189e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.61632095e-01 1.61632095e-01 2.69386825e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 5.38773649e-02 2.15509460e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 2.69386825e-01 3.77141554e-01 1.07754730e-01 1.07754730e-01 2.15509460e-01 1.07754730e-01 1.61632095e-01 2.69386825e-01 2.69386825e-01 0.00000000e+00 1.07754730e-01 1.07754730e-01 5.38773649e-02 2.15509460e-01 1.61632095e-01 1.61632095e-01 1.61632095e-01 2.69386825e-01 3.77141554e-01 2.15509460e-01 1.61632095e-01 2.69386825e-01 1.61632095e-01 5.38773649e-02 2.15509460e-01 2.69386825e-01 1.61632095e-01 1.61632095e-01 2.15509460e-01 0.00000000e+00 5.38773649e-02 0.00000000e+00 1.07754730e-01 1.07754730e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.61632095e-01 2.15509460e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 0.00000000e+00 1.61632095e-01 2.15509460e-01 1.61632095e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 5.38773649e-02 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 2.15509460e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 2.69386825e-01 2.15509460e-01 3.77141554e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 0.00000000e+00 5.38773649e-02 1.07754730e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.61632095e-01 1.61632095e-01 2.15509460e-01 1.07754730e-01 1.07754730e-01 2.15509460e-01 2.15509460e-01 5.38773649e-02 5.38773649e-02 2.15509460e-01 1.07754730e-01 2.15509460e-01 2.15509460e-01 1.07754730e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 3.77141554e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 2.69386825e-01 1.07754730e-01 1.07754730e-01 2.69386825e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 2.15509460e-01 1.07754730e-01 1.61632095e-01 3.23264189e-01 5.38773649e-02 1.61632095e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 2.15509460e-01 2.15509460e-01 2.15509460e-01 2.69386825e-01 1.07754730e-01 1.07754730e-01 1.61632095e-01 0.00000000e+00 5.38773649e-02 0.00000000e+00 5.38773649e-02 2.15509460e-01 5.38773649e-02 2.69386825e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 0.00000000e+00 5.38773649e-02 5.38773649e-02 1.61632095e-01 3.77141554e-01 2.15509460e-01 5.38773649e-02 1.07754730e-01 3.23264189e-01 5.38773649e-02 0.00000000e+00 3.23264189e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.61632095e-01 2.69386825e-01 5.38773649e-02 1.07754730e-01 0.00000000e+00 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 2.15509460e-01 5.38773649e-02 1.07754730e-01 1.61632095e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 2.15509460e-01 5.38773649e-02 1.61632095e-01 1.07754730e-01 2.15509460e-01 0.00000000e+00 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.07754730e-01 2.69386825e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 2.15509460e-01 2.69386825e-01 1.07754730e-01 2.15509460e-01 5.38773649e-02 2.69386825e-01 5.38773649e-02 1.61632095e-01 0.00000000e+00 1.07754730e-01 1.07754730e-01 1.07754730e-01 2.69386825e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 2.15509460e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 1.61632095e-01 5.38773649e-02 3.77141554e-01 5.38773649e-02 0.00000000e+00 5.38773649e-02 3.23264189e-01 1.61632095e-01 1.07754730e-01 0.00000000e+00 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.61632095e-01 1.61632095e-01 0.00000000e+00 5.38773649e-02 1.07754730e-01 1.61632095e-01 5.38773649e-02 0.00000000e+00 0.00000000e+00 2.15509460e-01 1.07754730e-01 2.69386825e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.07754730e-01 2.15509460e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 5.38773649e-02 5.38773649e-02 5.38773649e-02 1.61632095e-01 0.00000000e+00 5.38773649e-02 5.38773649e-02 3.23264189e-01 2.69386825e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 1.61632095e-01 1.07754730e-01 1.61632095e-01 2.15509460e-01 1.07754730e-01 1.07754730e-01 0.00000000e+00 5.38773649e-02 1.07754730e-01 1.07754730e-01 2.69386825e-01 1.07754730e-01 3.23264189e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.07754730e-01 0.00000000e+00 1.61632095e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 5.38773649e-02 0.00000000e+00 1.07754730e-01 5.38773649e-02 1.07754730e-01 0.00000000e+00 1.07754730e-01 3.23264189e-01 2.15509460e-01 2.15509460e-01 1.07754730e-01 1.61632095e-01 0.00000000e+00 2.69386825e-01 3.23264189e-01 1.07754730e-01 0.00000000e+00 1.61632095e-01 1.61632095e-01 0.00000000e+00 5.38773649e-02 1.07754730e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 0.00000000e+00 5.38773649e-02 1.07754730e-01 2.15509460e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.07754730e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 0.00000000e+00 5.38773649e-02 5.38773649e-02 1.61632095e-01 0.00000000e+00 1.61632095e-01 0.00000000e+00 2.69386825e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 2.15509460e-01 0.00000000e+00 1.61632095e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 2.69386825e-01 2.15509460e-01 0.00000000e+00 5.38773649e-02 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 2.15509460e-01 0.00000000e+00 1.07754730e-01 2.15509460e-01 1.07754730e-01 5.38773649e-02 1.07754730e-01 1.61632095e-01 0.00000000e+00 2.15509460e-01 0.00000000e+00 2.15509460e-01 1.07754730e-01 2.15509460e-01 5.38773649e-02 1.61632095e-01 2.15509460e-01 5.38773649e-02 1.07754730e-01 2.69386825e-01 0.00000000e+00 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 1.61632095e-01 0.00000000e+00 1.61632095e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 5.38773649e-02 1.07754730e-01 1.61632095e-01 5.38773649e-02 2.15509460e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 2.69386825e-01 5.38773649e-02 1.07754730e-01 0.00000000e+00 1.07754730e-01 5.38773649e-02 1.61632095e-01 2.15509460e-01 5.38773649e-02 1.61632095e-01 1.07754730e-01 5.38773649e-02 0.00000000e+00 1.07754730e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.61632095e-01 1.61632095e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 0.00000000e+00 2.15509460e-01 5.38773649e-02 0.00000000e+00 1.07754730e-01 5.38773649e-02 0.00000000e+00 5.38773649e-02 2.15509460e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 1.61632095e-01 1.07754730e-01 2.15509460e-01 1.07754730e-01 2.15509460e-01 5.38773649e-02 1.61632095e-01 0.00000000e+00 0.00000000e+00 1.07754730e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 2.15509460e-01 5.38773649e-02 1.07754730e-01 0.00000000e+00 1.61632095e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 1.61632095e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 0.00000000e+00 1.07754730e-01 1.61632095e-01 1.61632095e-01 1.07754730e-01 0.00000000e+00 1.07754730e-01 2.15509460e-01 5.38773649e-02 0.00000000e+00 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 1.61632095e-01 0.00000000e+00 1.61632095e-01 0.00000000e+00 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 1.07754730e-01 2.69386825e-01 5.38773649e-02 3.23264189e-01 5.38773649e-02 1.61632095e-01 0.00000000e+00 1.07754730e-01 1.61632095e-01 1.61632095e-01 1.61632095e-01 0.00000000e+00 5.38773649e-02 1.07754730e-01 0.00000000e+00 5.38773649e-02 1.07754730e-01 0.00000000e+00 0.00000000e+00 1.61632095e-01 2.69386825e-01 2.15509460e-01 0.00000000e+00 1.07754730e-01 2.15509460e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 5.38773649e-02 2.15509460e-01 1.07754730e-01 0.00000000e+00 5.38773649e-02 1.61632095e-01 1.07754730e-01 0.00000000e+00 1.07754730e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 0.00000000e+00 1.07754730e-01 1.07754730e-01 0.00000000e+00 1.07754730e-01 1.07754730e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 2.15509460e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 5.38773649e-02 5.38773649e-02 2.15509460e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 1.61632095e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.61632095e-01 0.00000000e+00 5.38773649e-02 5.38773649e-02 0.00000000e+00 2.69386825e-01 1.07754730e-01 0.00000000e+00 1.07754730e-01 0.00000000e+00 0.00000000e+00 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 1.61632095e-01 2.15509460e-01 0.00000000e+00 0.00000000e+00 5.38773649e-02 2.15509460e-01 5.38773649e-02 0.00000000e+00 5.38773649e-02 0.00000000e+00 2.15509460e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 5.38773649e-02 5.38773649e-02 1.61632095e-01 1.07754730e-01 3.23264189e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 1.61632095e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 1.61632095e-01 1.61632095e-01 5.38773649e-02 0.00000000e+00 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.61632095e-01 1.61632095e-01 1.07754730e-01 1.61632095e-01 1.07754730e-01 2.69386825e-01 5.38773649e-02 0.00000000e+00 1.61632095e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 5.38773649e-02 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 2.15509460e-01 0.00000000e+00 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.07754730e-01 1.61632095e-01 1.61632095e-01 1.07754730e-01 0.00000000e+00 2.15509460e-01 3.23264189e-01 5.38773649e-02 1.61632095e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 2.69386825e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 0.00000000e+00 2.15509460e-01 0.00000000e+00 0.00000000e+00 1.61632095e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 5.38773649e-02 1.07754730e-01 0.00000000e+00 5.38773649e-02 5.38773649e-02 2.15509460e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 0.00000000e+00 1.07754730e-01 2.15509460e-01 1.07754730e-01 5.38773649e-02 0.00000000e+00 1.07754730e-01 0.00000000e+00 5.38773649e-02 5.38773649e-02 2.15509460e-01 2.69386825e-01 5.38773649e-02 0.00000000e+00 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 0.00000000e+00 5.38773649e-02 2.69386825e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 5.38773649e-02 2.69386825e-01 0.00000000e+00 1.61632095e-01 1.07754730e-01 2.15509460e-01 1.61632095e-01 2.15509460e-01 5.38773649e-02 0.00000000e+00 5.38773649e-02 5.38773649e-02 0.00000000e+00 1.07754730e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 2.15509460e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 1.07754730e-01 2.15509460e-01 0.00000000e+00 1.07754730e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 2.69386825e-01 0.00000000e+00 0.00000000e+00 1.07754730e-01 1.07754730e-01 0.00000000e+00 1.07754730e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 5.38773649e-02 2.15509460e-01 5.38773649e-02 1.61632095e-01 0.00000000e+00 1.61632095e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 0.00000000e+00 5.38773649e-02 5.38773649e-02 0.00000000e+00 1.61632095e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 1.07754730e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 2.15509460e-01 1.07754730e-01 0.00000000e+00 5.38773649e-02 1.07754730e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 0.00000000e+00 3.23264189e-01 1.61632095e-01 2.69386825e-01 1.61632095e-01 5.38773649e-02 1.07754730e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 5.38773649e-02 2.15509460e-01 5.38773649e-02 2.15509460e-01 1.07754730e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 2.15509460e-01 2.15509460e-01 1.61632095e-01 2.15509460e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 2.15509460e-01 1.07754730e-01 0.00000000e+00 0.00000000e+00 1.61632095e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 1.61632095e-01 2.15509460e-01 1.07754730e-01 3.23264189e-01 1.07754730e-01 2.15509460e-01 1.07754730e-01 1.61632095e-01 3.23264189e-01 1.07754730e-01 5.38773649e-02 0.00000000e+00 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 5.38773649e-02 5.38773649e-02 0.00000000e+00 1.07754730e-01 1.07754730e-01 1.07754730e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 5.38773649e-02 5.38773649e-02 2.15509460e-01 1.07754730e-01 5.38773649e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.07754730e-01 2.15509460e-01 1.61632095e-01 2.15509460e-01 5.38773649e-02 0.00000000e+00 3.23264189e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 1.07754730e-01 0.00000000e+00 0.00000000e+00 1.07754730e-01 1.61632095e-01 5.38773649e-02 2.15509460e-01 2.69386825e-01 5.38773649e-02 2.15509460e-01 2.15509460e-01 1.61632095e-01 1.61632095e-01 1.07754730e-01 5.38773649e-02 1.07754730e-01 5.38773649e-02 1.61632095e-01 3.23264189e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 0.00000000e+00 1.07754730e-01 1.07754730e-01 5.38773649e-02 2.69386825e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 2.69386825e-01 1.07754730e-01 5.38773649e-02 2.15509460e-01 2.15509460e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 2.15509460e-01 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.07754730e-01 1.61632095e-01 1.07754730e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 2.15509460e-01 3.77141554e-01 0.00000000e+00 5.38773649e-02 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.07754730e-01 3.23264189e-01 5.38773649e-02 1.61632095e-01 0.00000000e+00 5.38773649e-02 1.61632095e-01 0.00000000e+00 1.07754730e-01 0.00000000e+00 2.15509460e-01 2.69386825e-01 1.61632095e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 2.69386825e-01 1.07754730e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 4.31018919e-01 5.38773649e-02 1.07754730e-01 5.38773649e-02 1.07754730e-01 2.15509460e-01 1.07754730e-01 1.61632095e-01 1.61632095e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 1.07754730e-01 2.69386825e-01 5.38773649e-02 5.38773649e-02 2.69386825e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.61632095e-01 1.61632095e-01 1.61632095e-01 1.61632095e-01 4.31018919e-01 1.07754730e-01 1.07754730e-01 5.38773649e-02 1.61632095e-01 2.69386825e-01 1.07754730e-01 0.00000000e+00 1.61632095e-01 3.77141554e-01 3.23264189e-01 1.61632095e-01 1.07754730e-01 1.61632095e-01 2.15509460e-01 5.38773649e-02 1.07754730e-01 5.38773649e-02 2.15509460e-01 1.07754730e-01 1.07754730e-01 2.69386825e-01 2.15509460e-01 1.07754730e-01 2.69386825e-01 3.23264189e-01 2.15509460e-01 3.23264189e-01 2.69386825e-01 2.15509460e-01 3.23264189e-01 1.61632095e-01 2.15509460e-01 2.69386825e-01 2.69386825e-01 3.77141554e-01 2.15509460e-01 1.61632095e-01 3.23264189e-01 1.07754730e-01 0.00000000e+00 1.61632095e-01 3.23264189e-01 2.15509460e-01 2.15509460e-01 2.15509460e-01 2.15509460e-01 5.38773649e-02 1.07754730e-01 1.61632095e-01 2.15509460e-01 2.15509460e-01 2.69386825e-01 5.38773649e-02 2.15509460e-01 1.61632095e-01 1.61632095e-01 0.00000000e+00 1.07754730e-01 1.07754730e-01 1.61632095e-01 1.07754730e-01 0.00000000e+00 1.07754730e-01 5.38773649e-02 1.07754730e-01 1.07754730e-01 5.38773649e-02 5.38773649e-02 5.38773649e-02 5.38773649e-02 1.07754730e-01 0.00000000e+00 5.38773649e-02 5.38773649e-02 1.07754730e-01 5.38773649e-02 5.38773649e-02 1.07754730e-01 0.00000000e+00 5.38773649e-02 5.38773649e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + + + + + - - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - + + + + + + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - + + + + - - - + + + - - - - - - - - + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_high_cb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_high_cb_BDTG.weights.xml new file mode 100644 index 000000000000..cf79f44811b1 --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_high_cb_BDTG.weights.xml @@ -0,0 +1,6037 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 1.21489454e-01 6.07447270e-02 1.21489454e-01 0.00000000e+00 6.07447270e-02 1.82234181e-01 6.07447270e-02 0.00000000e+00 1.21489454e-01 1.21489454e-01 1.21489454e-01 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 2.42978908e-01 2.42978908e-01 0.00000000e+00 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 1.21489454e-01 6.07447270e-02 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 0.00000000e+00 1.82234181e-01 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 1.21489454e-01 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 1.21489454e-01 1.21489454e-01 6.07447270e-02 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 6.07447270e-02 2.42978908e-01 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 1.21489454e-01 6.07447270e-02 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 0.00000000e+00 6.07447270e-02 1.82234181e-01 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 6.07447270e-02 1.21489454e-01 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 1.21489454e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 6.07447270e-02 1.21489454e-01 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 1.82234181e-01 6.07447270e-02 0.00000000e+00 1.82234181e-01 0.00000000e+00 1.82234181e-01 6.07447270e-02 0.00000000e+00 1.21489454e-01 6.07447270e-02 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 0.00000000e+00 2.42978908e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 1.21489454e-01 1.21489454e-01 1.21489454e-01 6.07447270e-02 0.00000000e+00 6.07447270e-02 1.21489454e-01 1.21489454e-01 6.07447270e-02 1.21489454e-01 6.07447270e-02 0.00000000e+00 6.07447270e-02 1.21489454e-01 6.07447270e-02 6.07447270e-02 1.82234181e-01 1.21489454e-01 6.07447270e-02 6.07447270e-02 1.21489454e-01 0.00000000e+00 1.21489454e-01 0.00000000e+00 6.07447270e-02 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 1.82234181e-01 1.21489454e-01 0.00000000e+00 6.07447270e-02 1.21489454e-01 1.82234181e-01 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.21489454e-01 6.07447270e-02 1.21489454e-01 1.21489454e-01 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 1.82234181e-01 6.07447270e-02 1.82234181e-01 0.00000000e+00 1.21489454e-01 0.00000000e+00 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 1.21489454e-01 0.00000000e+00 6.07447270e-02 0.00000000e+00 1.21489454e-01 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 1.82234181e-01 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 1.21489454e-01 1.82234181e-01 0.00000000e+00 0.00000000e+00 6.07447270e-02 1.82234181e-01 1.21489454e-01 1.82234181e-01 1.82234181e-01 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.21489454e-01 1.82234181e-01 0.00000000e+00 0.00000000e+00 6.07447270e-02 1.82234181e-01 1.21489454e-01 0.00000000e+00 6.07447270e-02 0.00000000e+00 2.42978908e-01 1.21489454e-01 1.21489454e-01 1.21489454e-01 1.21489454e-01 1.82234181e-01 0.00000000e+00 1.21489454e-01 0.00000000e+00 6.07447270e-02 0.00000000e+00 1.21489454e-01 1.21489454e-01 6.07447270e-02 3.03723635e-01 0.00000000e+00 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 1.21489454e-01 0.00000000e+00 6.07447270e-02 6.07447270e-02 0.00000000e+00 6.07447270e-02 3.03723635e-01 1.82234181e-01 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 6.07447270e-02 1.21489454e-01 1.21489454e-01 6.07447270e-02 1.82234181e-01 0.00000000e+00 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 0.00000000e+00 1.21489454e-01 1.21489454e-01 6.07447270e-02 0.00000000e+00 1.82234181e-01 0.00000000e+00 6.07447270e-02 1.21489454e-01 1.21489454e-01 1.82234181e-01 1.21489454e-01 6.07447270e-02 1.21489454e-01 1.21489454e-01 6.07447270e-02 6.07447270e-02 1.82234181e-01 0.00000000e+00 6.07447270e-02 1.82234181e-01 0.00000000e+00 1.21489454e-01 1.21489454e-01 0.00000000e+00 0.00000000e+00 1.82234181e-01 6.07447270e-02 6.07447270e-02 1.21489454e-01 6.07447270e-02 1.82234181e-01 0.00000000e+00 2.42978908e-01 0.00000000e+00 3.64468362e-01 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 3.03723635e-01 6.07447270e-02 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 1.82234181e-01 0.00000000e+00 6.07447270e-02 6.07447270e-02 1.21489454e-01 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.82234181e-01 1.21489454e-01 0.00000000e+00 2.42978908e-01 6.07447270e-02 1.21489454e-01 0.00000000e+00 1.21489454e-01 1.21489454e-01 1.21489454e-01 1.82234181e-01 6.07447270e-02 1.21489454e-01 0.00000000e+00 1.82234181e-01 1.82234181e-01 6.07447270e-02 1.21489454e-01 1.21489454e-01 6.07447270e-02 6.07447270e-02 0.00000000e+00 1.82234181e-01 0.00000000e+00 1.21489454e-01 1.21489454e-01 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 0.00000000e+00 6.07447270e-02 6.07447270e-02 6.07447270e-02 0.00000000e+00 6.07447270e-02 0.00000000e+00 1.21489454e-01 1.21489454e-01 0.00000000e+00 0.00000000e+00 6.07447270e-02 1.21489454e-01 1.21489454e-01 0.00000000e+00 6.07447270e-02 1.21489454e-01 1.82234181e-01 1.21489454e-01 0.00000000e+00 1.21489454e-01 6.07447270e-02 6.07447270e-02 6.07447270e-02 1.21489454e-01 0.00000000e+00 1.82234181e-01 6.07447270e-02 1.21489454e-01 0.00000000e+00 0.00000000e+00 1.21489454e-01 1.82234181e-01 1.21489454e-01 1.82234181e-01 6.07447270e-02 3.64468362e-01 6.07447270e-02 6.07447270e-02 1.21489454e-01 0.00000000e+00 6.07447270e-02 6.07447270e-02 1.21489454e-01 6.07447270e-02 6.07447270e-02 6.07447270e-02 1.21489454e-01 2.42978908e-01 1.21489454e-01 6.07447270e-02 1.21489454e-01 0.00000000e+00 1.21489454e-01 2.42978908e-01 6.07447270e-02 1.82234181e-01 0.00000000e+00 1.21489454e-01 6.07447270e-02 6.07447270e-02 3.03723635e-01 1.21489454e-01 0.00000000e+00 1.21489454e-01 1.21489454e-01 1.21489454e-01 1.82234181e-01 0.00000000e+00 0.00000000e+00 1.82234181e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.07447270e-02 6.07447270e-02 1.82234181e-01 1.21489454e-01 1.21489454e-01 0.00000000e+00 6.07447270e-02 0.00000000e+00 1.21489454e-01 6.07447270e-02 6.07447270e-02 1.21489454e-01 6.07447270e-02 6.07447270e-02 0.00000000e+00 0.00000000e+00 1.82234181e-01 1.21489454e-01 6.07447270e-02 0.00000000e+00 1.21489454e-01 6.07447270e-02 0.00000000e+00 6.07447270e-02 2.42978908e-01 1.21489454e-01 1.82234181e-01 0.00000000e+00 1.21489454e-01 1.21489454e-01 4.25213089e-01 6.07447270e-02 1.21489454e-01 1.21489454e-01 0.00000000e+00 0.00000000e+00 6.07447270e-02 1.82234181e-01 6.07447270e-02 0.00000000e+00 3.03723635e-01 1.82234181e-01 0.00000000e+00 1.21489454e-01 1.82234181e-01 1.21489454e-01 0.00000000e+00 0.00000000e+00 6.07447270e-02 0.00000000e+00 1.82234181e-01 6.07447270e-02 6.07447270e-02 1.82234181e-01 2.42978908e-01 6.07447270e-02 1.82234181e-01 6.07447270e-02 1.21489454e-01 6.07447270e-02 0.00000000e+00 2.42978908e-01 6.07447270e-02 0.00000000e+00 1.82234181e-01 2.42978908e-01 1.21489454e-01 1.21489454e-01 3.03723635e-01 1.21489454e-01 0.00000000e+00 1.82234181e-01 0.00000000e+00 0.00000000e+00 6.07447270e-02 1.21489454e-01 6.07447270e-02 3.03723635e-01 1.21489454e-01 2.42978908e-01 1.21489454e-01 1.82234181e-01 1.21489454e-01 6.07447270e-02 3.03723635e-01 1.82234181e-01 1.82234181e-01 6.07447270e-02 0.00000000e+00 3.64468362e-01 1.21489454e-01 1.82234181e-01 6.07447270e-02 6.07447270e-02 6.07447270e-02 1.21489454e-01 0.00000000e+00 1.21489454e-01 6.07447270e-02 3.03723635e-01 1.21489454e-01 1.82234181e-01 1.21489454e-01 1.21489454e-01 2.42978908e-01 2.42978908e-01 1.21489454e-01 6.07447270e-02 1.82234181e-01 1.21489454e-01 1.82234181e-01 2.42978908e-01 3.03723635e-01 1.82234181e-01 1.21489454e-01 1.21489454e-01 1.82234181e-01 1.82234181e-01 2.42978908e-01 1.82234181e-01 1.21489454e-01 1.21489454e-01 1.21489454e-01 1.21489454e-01 1.21489454e-01 3.64468362e-01 1.21489454e-01 1.82234181e-01 6.07447270e-02 1.21489454e-01 6.07447270e-02 2.42978908e-01 1.21489454e-01 2.42978908e-01 6.07447270e-02 1.21489454e-01 0.00000000e+00 0.00000000e+00 6.07447270e-02 3.03723635e-01 1.21489454e-01 3.03723635e-01 3.03723635e-01 6.07447270e-02 2.42978908e-01 1.21489454e-01 0.00000000e+00 1.21489454e-01 1.21489454e-01 1.82234181e-01 1.21489454e-01 1.82234181e-01 0.00000000e+00 0.00000000e+00 1.82234181e-01 6.07447270e-02 6.07447270e-02 3.03723635e-01 1.82234181e-01 2.42978908e-01 1.82234181e-01 1.82234181e-01 0.00000000e+00 1.82234181e-01 3.03723635e-01 6.07447270e-02 3.03723635e-01 2.42978908e-01 1.21489454e-01 6.07447270e-02 1.82234181e-01 2.42978908e-01 3.03723635e-01 2.42978908e-01 1.21489454e-01 6.07447270e-02 1.21489454e-01 3.03723635e-01 2.42978908e-01 3.03723635e-01 1.21489454e-01 2.42978908e-01 3.64468362e-01 1.82234181e-01 2.42978908e-01 2.42978908e-01 1.21489454e-01 3.03723635e-01 2.42978908e-01 1.21489454e-01 1.21489454e-01 6.07447270e-02 2.42978908e-01 6.07447270e-02 3.03723635e-01 0.00000000e+00 1.21489454e-01 2.42978908e-01 4.25213089e-01 1.82234181e-01 6.07447270e-02 2.42978908e-01 4.25213089e-01 1.82234181e-01 1.82234181e-01 1.21489454e-01 3.03723635e-01 3.03723635e-01 6.07447270e-02 6.07447270e-02 6.07447270e-01 6.07447270e-02 3.64468362e-01 4.85957816e-01 3.64468362e-01 2.42978908e-01 6.07447270e-02 2.42978908e-01 3.03723635e-01 4.25213089e-01 2.42978908e-01 2.42978908e-01 4.25213089e-01 3.03723635e-01 2.42978908e-01 6.68191997e-01 1.21489454e-01 3.03723635e-01 4.85957816e-01 1.82234181e-01 1.21489454e-01 3.03723635e-01 2.42978908e-01 3.64468362e-01 3.03723635e-01 4.85957816e-01 2.42978908e-01 5.46702543e-01 3.03723635e-01 4.85957816e-01 3.03723635e-01 3.03723635e-01 6.07447270e-02 6.07447270e-02 2.42978908e-01 3.64468362e-01 4.85957816e-01 3.64468362e-01 3.64468362e-01 1.21489454e-01 3.64468362e-01 3.03723635e-01 4.85957816e-01 6.07447270e-02 6.07447270e-02 5.46702543e-01 3.03723635e-01 3.03723635e-01 5.46702543e-01 4.85957816e-01 3.03723635e-01 1.82234181e-01 3.03723635e-01 2.42978908e-01 3.64468362e-01 3.64468362e-01 2.42978908e-01 3.03723635e-01 4.25213089e-01 3.03723635e-01 6.07447270e-02 2.42978908e-01 6.07447270e-02 7.28936724e-01 3.64468362e-01 1.21489454e-01 6.07447270e-01 6.68191997e-01 5.46702543e-01 4.25213089e-01 1.21489454e-01 3.64468362e-01 3.64468362e-01 1.82234181e-01 4.85957816e-01 8.50426178e-01 5.46702543e-01 4.85957816e-01 3.64468362e-01 4.25213089e-01 5.46702543e-01 4.85957816e-01 3.64468362e-01 6.07447270e-01 4.85957816e-01 4.25213089e-01 4.25213089e-01 1.82234181e-01 4.85957816e-01 3.64468362e-01 1.15414981e+00 6.07447270e-01 7.28936724e-01 4.25213089e-01 5.46702543e-01 4.85957816e-01 4.85957816e-01 5.46702543e-01 1.03266036e+00 9.11170905e-01 7.28936724e-01 9.71915632e-01 6.68191997e-01 7.89681451e-01 5.46702543e-01 6.07447270e-01 1.09340509e+00 1.27563927e+00 6.07447270e-01 8.50426178e-01 1.21489454e+00 7.89681451e-01 8.50426178e-01 1.15414981e+00 8.50426178e-01 1.03266036e+00 9.11170905e-01 8.50426178e-01 1.15414981e+00 1.03266036e+00 1.51861817e+00 1.27563927e+00 1.03266036e+00 1.70085236e+00 1.33638399e+00 1.03266036e+00 1.57936290e+00 9.71915632e-01 1.76159708e+00 1.45787345e+00 1.57936290e+00 1.45787345e+00 1.45787345e+00 1.76159708e+00 1.57936290e+00 2.24755490e+00 1.33638399e+00 2.12606544e+00 1.51861817e+00 2.30829963e+00 2.49053381e+00 2.18681017e+00 2.18681017e+00 2.73351271e+00 2.42978908e+00 2.24755490e+00 3.64468362e+00 3.21947053e+00 4.00915198e+00 3.34095998e+00 3.09798108e+00 3.76617307e+00 3.28021526e+00 4.79883343e+00 4.67734398e+00 4.85957816e+00 4.31287562e+00 4.67734398e+00 5.40628070e+00 6.49968579e+00 6.37819633e+00 8.13979342e+00 7.53234615e+00 8.38277232e+00 9.17245377e+00 1.15414981e+01 1.12985192e+01 1.24526690e+01 1.40927767e+01 1.48217134e+01 1.51861817e+01 1.57328843e+01 1.63403316e+01 1.76159708e+01 1.82234181e+01 1.41535214e+01 1.75552261e+01 1.24526690e+01 2.61202326e+00 7.28936724e-01 3.03723635e-01 + + + + + 3.88829254e+01 4.35224337e+01 3.01207453e+01 2.25124325e+01 1.79089826e+01 1.55291313e+01 1.26204240e+01 1.07453896e+01 1.00122030e+01 8.56986888e+00 7.30782648e+00 7.00734019e+00 6.28617310e+00 5.76933669e+00 5.38471424e+00 4.59143045e+00 4.55537210e+00 4.36306087e+00 3.91834117e+00 4.11065239e+00 3.61785488e+00 3.32938805e+00 3.59381598e+00 2.98082396e+00 2.80053219e+00 2.72841548e+00 2.50004590e+00 2.58418206e+00 2.25965687e+00 2.31975413e+00 1.83897607e+00 2.03128729e+00 1.92311223e+00 2.12744290e+00 1.85099552e+00 1.80291772e+00 2.01926784e+00 1.93513168e+00 1.74282046e+00 1.51445088e+00 1.58656759e+00 1.41829527e+00 1.59858704e+00 1.62262594e+00 1.11780898e+00 1.15386734e+00 1.34617856e+00 1.47839253e+00 1.31012021e+00 1.22598405e+00 1.29810076e+00 1.34617856e+00 1.05771173e+00 9.49536664e-01 1.04569228e+00 1.05771173e+00 1.00963392e+00 8.89439407e-01 9.25497761e-01 8.17322698e-01 9.37517212e-01 7.45205989e-01 9.13478309e-01 8.65400504e-01 1.05771173e+00 9.13478309e-01 9.97614469e-01 7.33186538e-01 8.77419955e-01 8.53381052e-01 8.41361601e-01 6.61069829e-01 6.61069829e-01 7.21167086e-01 6.97128183e-01 9.25497761e-01 7.09147635e-01 6.97128183e-01 7.09147635e-01 6.12992023e-01 5.64914218e-01 6.61069829e-01 6.00972572e-01 6.00972572e-01 5.16836412e-01 6.25011475e-01 6.61069829e-01 5.40875315e-01 5.76933669e-01 6.12992023e-01 6.12992023e-01 5.64914218e-01 5.76933669e-01 7.21167086e-01 4.20680800e-01 4.92797509e-01 4.08661349e-01 5.04816960e-01 5.28855863e-01 5.28855863e-01 5.88953121e-01 5.64914218e-01 5.28855863e-01 5.28855863e-01 3.72602995e-01 4.44719703e-01 3.12505737e-01 7.57225441e-01 3.60583543e-01 5.16836412e-01 4.20680800e-01 5.52894766e-01 4.56739155e-01 3.96641897e-01 4.08661349e-01 4.32700252e-01 4.56739155e-01 5.28855863e-01 3.84622446e-01 5.04816960e-01 3.96641897e-01 3.48564092e-01 4.44719703e-01 3.60583543e-01 2.52408480e-01 4.44719703e-01 4.20680800e-01 4.80778058e-01 3.72602995e-01 4.20680800e-01 4.20680800e-01 4.20680800e-01 3.24525189e-01 4.20680800e-01 3.96641897e-01 4.32700252e-01 2.76447383e-01 3.96641897e-01 4.32700252e-01 3.12505737e-01 2.64427932e-01 3.12505737e-01 3.12505737e-01 2.76447383e-01 3.60583543e-01 3.36544640e-01 3.48564092e-01 2.64427932e-01 3.36544640e-01 3.72602995e-01 2.28369577e-01 2.76447383e-01 3.48564092e-01 3.48564092e-01 1.56252869e-01 2.64427932e-01 2.76447383e-01 3.48564092e-01 3.24525189e-01 3.36544640e-01 2.76447383e-01 3.36544640e-01 2.88466835e-01 3.72602995e-01 3.00486286e-01 2.40389029e-01 2.16350126e-01 3.00486286e-01 3.36544640e-01 1.80291772e-01 1.80291772e-01 2.52408480e-01 1.92311223e-01 3.36544640e-01 2.76447383e-01 1.80291772e-01 2.52408480e-01 3.96641897e-01 3.48564092e-01 1.80291772e-01 1.68272320e-01 2.52408480e-01 2.04330674e-01 1.68272320e-01 2.76447383e-01 2.88466835e-01 2.16350126e-01 2.16350126e-01 1.80291772e-01 2.64427932e-01 2.52408480e-01 2.16350126e-01 2.16350126e-01 2.28369577e-01 3.12505737e-01 2.64427932e-01 2.28369577e-01 2.64427932e-01 2.40389029e-01 2.28369577e-01 1.92311223e-01 2.64427932e-01 2.40389029e-01 1.44233417e-01 1.80291772e-01 1.56252869e-01 1.44233417e-01 2.16350126e-01 1.80291772e-01 2.16350126e-01 2.28369577e-01 1.80291772e-01 2.52408480e-01 2.16350126e-01 2.04330674e-01 2.52408480e-01 1.44233417e-01 1.56252869e-01 2.52408480e-01 1.32213966e-01 2.28369577e-01 2.04330674e-01 1.44233417e-01 2.64427932e-01 3.00486286e-01 1.68272320e-01 1.92311223e-01 2.28369577e-01 2.28369577e-01 2.16350126e-01 1.80291772e-01 1.92311223e-01 2.04330674e-01 2.04330674e-01 2.04330674e-01 1.92311223e-01 1.80291772e-01 1.56252869e-01 1.56252869e-01 2.52408480e-01 1.08175063e-01 8.41361601e-02 1.68272320e-01 1.80291772e-01 1.08175063e-01 1.56252869e-01 1.20194514e-01 1.92311223e-01 1.32213966e-01 2.40389029e-01 4.80778058e-02 1.80291772e-01 1.80291772e-01 1.20194514e-01 1.68272320e-01 1.08175063e-01 2.28369577e-01 1.32213966e-01 1.08175063e-01 1.68272320e-01 2.04330674e-01 2.28369577e-01 9.61556115e-02 2.28369577e-01 2.64427932e-01 1.56252869e-01 1.44233417e-01 1.20194514e-01 1.08175063e-01 1.20194514e-01 2.16350126e-01 1.56252869e-01 1.32213966e-01 1.32213966e-01 8.41361601e-02 1.56252869e-01 1.80291772e-01 1.20194514e-01 9.61556115e-02 1.68272320e-01 1.32213966e-01 1.56252869e-01 1.68272320e-01 1.08175063e-01 1.20194514e-01 1.32213966e-01 1.80291772e-01 1.32213966e-01 1.44233417e-01 9.61556115e-02 1.44233417e-01 9.61556115e-02 1.32213966e-01 2.16350126e-01 7.21167086e-02 1.80291772e-01 2.40389029e-01 1.80291772e-01 1.44233417e-01 7.21167086e-02 1.56252869e-01 1.32213966e-01 9.61556115e-02 1.56252869e-01 1.32213966e-01 1.20194514e-01 2.28369577e-01 1.08175063e-01 1.08175063e-01 6.00972572e-02 8.41361601e-02 7.21167086e-02 8.41361601e-02 1.56252869e-01 1.08175063e-01 1.08175063e-01 1.80291772e-01 4.80778058e-02 1.68272320e-01 7.21167086e-02 1.08175063e-01 8.41361601e-02 1.44233417e-01 1.56252869e-01 1.20194514e-01 1.68272320e-01 1.44233417e-01 9.61556115e-02 1.20194514e-01 1.56252869e-01 1.32213966e-01 1.20194514e-01 1.08175063e-01 1.20194514e-01 1.44233417e-01 8.41361601e-02 1.08175063e-01 9.61556115e-02 6.00972572e-02 8.41361601e-02 1.08175063e-01 1.08175063e-01 1.20194514e-01 4.80778058e-02 1.08175063e-01 1.08175063e-01 1.08175063e-01 1.20194514e-01 1.08175063e-01 1.80291772e-01 8.41361601e-02 9.61556115e-02 9.61556115e-02 9.61556115e-02 1.68272320e-01 1.20194514e-01 8.41361601e-02 1.08175063e-01 6.00972572e-02 9.61556115e-02 9.61556115e-02 9.61556115e-02 8.41361601e-02 8.41361601e-02 9.61556115e-02 8.41361601e-02 8.41361601e-02 1.68272320e-01 1.08175063e-01 9.61556115e-02 1.08175063e-01 3.60583543e-02 9.61556115e-02 6.00972572e-02 1.08175063e-01 6.00972572e-02 1.20194514e-01 1.32213966e-01 9.61556115e-02 1.08175063e-01 4.80778058e-02 6.00972572e-02 1.56252869e-01 1.32213966e-01 9.61556115e-02 1.68272320e-01 7.21167086e-02 6.00972572e-02 1.20194514e-01 1.68272320e-01 9.61556115e-02 6.00972572e-02 9.61556115e-02 4.80778058e-02 6.00972572e-02 4.80778058e-02 6.00972572e-02 4.80778058e-02 9.61556115e-02 1.08175063e-01 9.61556115e-02 1.08175063e-01 7.21167086e-02 3.60583543e-02 4.80778058e-02 1.08175063e-01 8.41361601e-02 6.00972572e-02 3.60583543e-02 8.41361601e-02 3.60583543e-02 7.21167086e-02 9.61556115e-02 3.60583543e-02 6.00972572e-02 1.32213966e-01 1.32213966e-01 1.32213966e-01 1.08175063e-01 2.40389029e-02 2.40389029e-02 6.00972572e-02 6.00972572e-02 9.61556115e-02 4.80778058e-02 8.41361601e-02 9.61556115e-02 8.41361601e-02 1.20194514e-01 1.08175063e-01 4.80778058e-02 7.21167086e-02 1.32213966e-01 7.21167086e-02 7.21167086e-02 4.80778058e-02 1.44233417e-01 6.00972572e-02 3.60583543e-02 8.41361601e-02 9.61556115e-02 1.20194514e-01 1.08175063e-01 8.41361601e-02 8.41361601e-02 4.80778058e-02 9.61556115e-02 1.08175063e-01 9.61556115e-02 8.41361601e-02 6.00972572e-02 1.44233417e-01 1.08175063e-01 8.41361601e-02 6.00972572e-02 8.41361601e-02 7.21167086e-02 1.20194514e-01 7.21167086e-02 3.60583543e-02 1.44233417e-01 9.61556115e-02 6.00972572e-02 7.21167086e-02 2.40389029e-02 7.21167086e-02 6.00972572e-02 7.21167086e-02 4.80778058e-02 9.61556115e-02 1.20194514e-02 7.21167086e-02 6.00972572e-02 1.44233417e-01 8.41361601e-02 1.56252869e-01 1.20194514e-01 6.00972572e-02 7.21167086e-02 1.08175063e-01 3.60583543e-02 9.61556115e-02 9.61556115e-02 3.60583543e-02 4.80778058e-02 4.80778058e-02 4.80778058e-02 1.68272320e-01 3.60583543e-02 8.41361601e-02 8.41361601e-02 6.00972572e-02 4.80778058e-02 2.40389029e-02 6.00972572e-02 7.21167086e-02 3.60583543e-02 6.00972572e-02 4.80778058e-02 3.60583543e-02 4.80778058e-02 2.40389029e-02 1.08175063e-01 3.60583543e-02 2.40389029e-02 6.00972572e-02 8.41361601e-02 1.08175063e-01 4.80778058e-02 4.80778058e-02 6.00972572e-02 9.61556115e-02 3.60583543e-02 9.61556115e-02 4.80778058e-02 1.08175063e-01 3.60583543e-02 1.20194514e-02 3.60583543e-02 2.40389029e-02 2.40389029e-02 3.60583543e-02 7.21167086e-02 6.00972572e-02 1.08175063e-01 1.08175063e-01 4.80778058e-02 4.80778058e-02 1.08175063e-01 4.80778058e-02 7.21167086e-02 6.00972572e-02 2.40389029e-02 3.60583543e-02 6.00972572e-02 6.00972572e-02 3.60583543e-02 6.00972572e-02 8.41361601e-02 7.21167086e-02 2.40389029e-02 1.32213966e-01 8.41361601e-02 4.80778058e-02 1.20194514e-01 3.60583543e-02 4.80778058e-02 6.00972572e-02 4.80778058e-02 7.21167086e-02 7.21167086e-02 3.60583543e-02 1.20194514e-01 7.21167086e-02 2.40389029e-02 3.60583543e-02 4.80778058e-02 3.60583543e-02 7.21167086e-02 7.21167086e-02 7.21167086e-02 1.20194514e-01 3.60583543e-02 6.00972572e-02 6.00972572e-02 7.21167086e-02 7.21167086e-02 3.60583543e-02 4.80778058e-02 4.80778058e-02 6.00972572e-02 3.60583543e-02 1.20194514e-02 6.00972572e-02 1.08175063e-01 6.00972572e-02 7.21167086e-02 4.80778058e-02 6.00972572e-02 2.40389029e-02 7.21167086e-02 7.21167086e-02 9.61556115e-02 2.40389029e-02 4.80778058e-02 4.80778058e-02 1.20194514e-02 1.44233417e-01 1.08175063e-01 4.80778058e-02 6.00972572e-02 6.00972572e-02 7.21167086e-02 8.41361601e-02 1.20194514e-01 6.00972572e-02 8.41361601e-02 9.61556115e-02 4.80778058e-02 4.80778058e-02 8.41361601e-02 4.80778058e-02 7.21167086e-02 1.08175063e-01 6.00972572e-02 3.60583543e-02 3.60583543e-02 1.32213966e-01 6.00972572e-02 2.40389029e-02 2.40389029e-02 6.00972572e-02 9.61556115e-02 2.40389029e-02 4.80778058e-02 4.80778058e-02 7.21167086e-02 4.80778058e-02 4.80778058e-02 4.80778058e-02 2.40389029e-02 4.80778058e-02 4.80778058e-02 2.40389029e-02 3.60583543e-02 3.60583543e-02 3.60583543e-02 3.60583543e-02 6.00972572e-02 4.80778058e-02 4.80778058e-02 3.60583543e-02 4.80778058e-02 6.00972572e-02 6.00972572e-02 6.00972572e-02 4.80778058e-02 4.80778058e-02 3.60583543e-02 8.41361601e-02 7.21167086e-02 4.80778058e-02 7.21167086e-02 1.20194514e-02 4.80778058e-02 1.20194514e-02 2.40389029e-02 1.20194514e-02 4.80778058e-02 4.80778058e-02 2.40389029e-02 1.32213966e-01 2.40389029e-02 1.20194514e-02 4.80778058e-02 2.40389029e-02 4.80778058e-02 1.20194514e-02 9.61556115e-02 6.00972572e-02 4.80778058e-02 3.60583543e-02 4.80778058e-02 6.00972572e-02 6.00972572e-02 4.80778058e-02 7.21167086e-02 1.20194514e-01 6.00972572e-02 7.21167086e-02 8.41361601e-02 9.61556115e-02 1.08175063e-01 3.60583543e-02 4.80778058e-02 4.80778058e-02 7.21167086e-02 3.60583543e-02 4.80778058e-02 3.60583543e-02 7.21167086e-02 6.00972572e-02 7.21167086e-02 8.41361601e-02 6.00972572e-02 1.20194514e-01 6.00972572e-02 3.60583543e-02 1.08175063e-01 7.21167086e-02 3.60583543e-02 8.41361601e-02 7.21167086e-02 2.40389029e-02 1.20194514e-02 4.80778058e-02 6.00972572e-02 1.32213966e-01 7.21167086e-02 4.80778058e-02 4.80778058e-02 7.21167086e-02 3.60583543e-02 7.21167086e-02 8.41361601e-02 4.80778058e-02 3.60583543e-02 9.61556115e-02 2.40389029e-02 9.61556115e-02 9.61556115e-02 2.40389029e-02 4.80778058e-02 7.21167086e-02 1.20194514e-02 8.41361601e-02 3.60583543e-02 4.80778058e-02 6.00972572e-02 6.00972572e-02 4.80778058e-02 8.41361601e-02 4.80778058e-02 2.40389029e-02 4.80778058e-02 1.44233417e-01 7.21167086e-02 4.80778058e-02 9.61556115e-02 1.20194514e-01 4.80778058e-02 4.80778058e-02 4.80778058e-02 7.21167086e-02 2.40389029e-02 6.00972572e-02 6.00972572e-02 6.00972572e-02 4.80778058e-02 6.00972572e-02 0.00000000e+00 7.21167086e-02 9.61556115e-02 4.80778058e-02 9.61556115e-02 4.80778058e-02 6.00972572e-02 3.60583543e-02 6.00972572e-02 8.41361601e-02 6.00972572e-02 6.00972572e-02 8.41361601e-02 9.61556115e-02 4.80778058e-02 9.61556115e-02 6.00972572e-02 3.60583543e-02 6.00972572e-02 8.41361601e-02 4.80778058e-02 4.80778058e-02 6.00972572e-02 4.80778058e-02 1.32213966e-01 6.00972572e-02 1.32213966e-01 6.00972572e-02 9.61556115e-02 3.60583543e-02 6.00972572e-02 1.08175063e-01 7.21167086e-02 9.61556115e-02 7.21167086e-02 7.21167086e-02 4.80778058e-02 4.80778058e-02 3.60583543e-02 9.61556115e-02 3.60583543e-02 1.08175063e-01 4.80778058e-02 6.00972572e-02 6.00972572e-02 7.21167086e-02 8.41361601e-02 7.21167086e-02 3.60583543e-02 6.00972572e-02 4.80778058e-02 6.00972572e-02 2.40389029e-02 7.21167086e-02 6.00972572e-02 6.00972572e-02 4.80778058e-02 6.00972572e-02 6.00972572e-02 9.61556115e-02 4.80778058e-02 4.80778058e-02 1.08175063e-01 2.40389029e-02 1.20194514e-02 3.60583543e-02 6.00972572e-02 4.80778058e-02 8.41361601e-02 6.00972572e-02 7.21167086e-02 3.60583543e-02 4.80778058e-02 4.80778058e-02 3.60583543e-02 7.21167086e-02 7.21167086e-02 8.41361601e-02 7.21167086e-02 9.61556115e-02 7.21167086e-02 7.21167086e-02 3.60583543e-02 4.80778058e-02 1.08175063e-01 4.80778058e-02 4.80778058e-02 6.00972572e-02 8.41361601e-02 3.60583543e-02 6.00972572e-02 1.08175063e-01 3.60583543e-02 7.21167086e-02 1.08175063e-01 8.41361601e-02 7.21167086e-02 6.00972572e-02 3.60583543e-02 1.32213966e-01 8.41361601e-02 7.21167086e-02 8.41361601e-02 4.80778058e-02 8.41361601e-02 1.08175063e-01 1.08175063e-01 9.61556115e-02 7.21167086e-02 6.00972572e-02 9.61556115e-02 1.32213966e-01 1.56252869e-01 6.00972572e-02 8.41361601e-02 7.21167086e-02 1.08175063e-01 2.04330674e-01 8.41361601e-02 8.41361601e-02 1.32213966e-01 1.08175063e-01 1.20194514e-01 6.00972572e-02 6.00972572e-02 6.00972572e-02 9.61556115e-02 8.41361601e-02 1.08175063e-01 1.44233417e-01 4.80778058e-02 1.32213966e-01 1.68272320e-01 1.08175063e-01 8.41361601e-02 9.61556115e-02 1.20194514e-01 6.00972572e-02 8.41361601e-02 1.20194514e-01 7.21167086e-02 1.32213966e-01 1.32213966e-01 6.00972572e-02 1.20194514e-01 8.41361601e-02 1.08175063e-01 1.32213966e-01 1.68272320e-01 1.56252869e-01 1.08175063e-01 1.56252869e-01 2.04330674e-01 1.56252869e-01 1.68272320e-01 1.32213966e-01 1.44233417e-01 8.41361601e-02 1.32213966e-01 1.56252869e-01 1.80291772e-01 1.44233417e-01 1.32213966e-01 4.80778058e-02 9.61556115e-02 9.61556115e-02 1.20194514e-01 7.21167086e-02 7.21167086e-02 9.61556115e-02 3.60583543e-02 2.40389029e-02 3.60583543e-02 2.40389029e-02 0.00000000e+00 1.20194514e-02 0.00000000e+00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_high_ec_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_high_ec_BDTG.weights.xml new file mode 100644 index 000000000000..92cf371a8c70 --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_high_ec_BDTG.weights.xml @@ -0,0 +1,6079 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.08972459e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 3.08972459e-01 1.54486229e-01 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 3.08972459e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.08972459e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 3.08972459e-01 0.00000000e+00 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 4.63458688e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.08972459e-01 1.54486229e-01 3.08972459e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 4.63458688e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.08972459e-01 1.54486229e-01 3.08972459e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.08972459e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 3.08972459e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 3.08972459e-01 3.08972459e-01 3.08972459e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 3.08972459e-01 0.00000000e+00 3.08972459e-01 0.00000000e+00 3.08972459e-01 0.00000000e+00 3.08972459e-01 1.54486229e-01 0.00000000e+00 3.08972459e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 3.08972459e-01 0.00000000e+00 1.54486229e-01 3.08972459e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.63458688e-01 0.00000000e+00 3.08972459e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 3.08972459e-01 0.00000000e+00 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 3.08972459e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 3.08972459e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.17944917e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 3.08972459e-01 0.00000000e+00 1.54486229e-01 6.17944917e-01 0.00000000e+00 1.54486229e-01 4.63458688e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 4.63458688e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 3.08972459e-01 4.63458688e-01 0.00000000e+00 4.63458688e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 0.00000000e+00 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.08972459e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 4.63458688e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 3.08972459e-01 0.00000000e+00 1.54486229e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 3.08972459e-01 1.54486229e-01 1.54486229e-01 0.00000000e+00 4.63458688e-01 3.08972459e-01 3.08972459e-01 1.54486229e-01 4.63458688e-01 1.54486229e-01 1.54486229e-01 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.08972459e-01 1.54486229e-01 0.00000000e+00 3.08972459e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 3.08972459e-01 3.08972459e-01 1.54486229e-01 0.00000000e+00 0.00000000e+00 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 6.17944917e-01 4.63458688e-01 4.63458688e-01 7.72431146e-01 1.54486229e-01 1.54486229e-01 3.08972459e-01 0.00000000e+00 4.63458688e-01 3.08972459e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.17944917e-01 0.00000000e+00 3.08972459e-01 3.08972459e-01 4.63458688e-01 1.54486229e-01 0.00000000e+00 1.54486229e-01 4.63458688e-01 0.00000000e+00 3.08972459e-01 1.54486229e-01 1.54486229e-01 3.08972459e-01 3.08972459e-01 3.08972459e-01 4.63458688e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 3.08972459e-01 4.63458688e-01 3.08972459e-01 0.00000000e+00 6.17944917e-01 3.08972459e-01 1.54486229e-01 3.08972459e-01 3.08972459e-01 1.54486229e-01 4.63458688e-01 6.17944917e-01 1.54486229e-01 4.63458688e-01 9.26917376e-01 1.54486229e-01 1.54486229e-01 3.08972459e-01 7.72431146e-01 0.00000000e+00 1.54486229e-01 3.08972459e-01 4.63458688e-01 1.54486229e-01 7.72431146e-01 4.63458688e-01 1.54486229e-01 4.63458688e-01 3.08972459e-01 1.54486229e-01 0.00000000e+00 3.08972459e-01 6.17944917e-01 3.08972459e-01 3.08972459e-01 1.08140361e+00 6.17944917e-01 4.63458688e-01 6.17944917e-01 1.54486229e-01 3.08972459e-01 6.17944917e-01 4.63458688e-01 3.08972459e-01 7.72431146e-01 3.08972459e-01 4.63458688e-01 3.08972459e-01 0.00000000e+00 4.63458688e-01 6.17944917e-01 3.08972459e-01 1.54486229e-01 4.63458688e-01 4.63458688e-01 6.17944917e-01 4.63458688e-01 9.26917376e-01 6.17944917e-01 3.08972459e-01 4.63458688e-01 7.72431146e-01 9.26917376e-01 1.54486229e-01 1.08140361e+00 7.72431146e-01 4.63458688e-01 3.08972459e-01 4.63458688e-01 7.72431146e-01 4.63458688e-01 9.26917376e-01 4.63458688e-01 4.63458688e-01 1.54486229e-01 1.54486229e-01 1.54486229e-01 9.26917376e-01 3.08972459e-01 6.17944917e-01 7.72431146e-01 6.17944917e-01 9.26917376e-01 7.72431146e-01 9.26917376e-01 4.63458688e-01 7.72431146e-01 7.72431146e-01 9.26917376e-01 1.54486229e+00 1.08140361e+00 7.72431146e-01 7.72431146e-01 1.39037606e+00 1.08140361e+00 6.17944917e-01 7.72431146e-01 1.39037606e+00 1.23588983e+00 6.17944917e-01 1.39037606e+00 1.08140361e+00 1.08140361e+00 2.16280721e+00 1.54486229e+00 1.08140361e+00 1.08140361e+00 2.00832098e+00 1.39037606e+00 2.00832098e+00 1.85383475e+00 1.23588983e+00 6.17944917e-01 9.26917376e-01 9.26917376e-01 2.31729344e+00 2.16280721e+00 1.08140361e+00 1.08140361e+00 1.08140361e+00 2.62626590e+00 1.08140361e+00 6.17944917e-01 2.78075213e+00 2.47177967e+00 2.00832098e+00 1.54486229e+00 1.69934852e+00 2.31729344e+00 3.08972459e+00 2.31729344e+00 2.31729344e+00 3.08972459e+00 1.69934852e+00 3.08972459e+00 3.08972459e+00 2.31729344e+00 4.32561442e+00 2.78075213e+00 3.08972459e+00 4.17112819e+00 2.16280721e+00 3.08972459e+00 2.00832098e+00 4.94355934e+00 4.17112819e+00 6.48842163e+00 5.40701803e+00 3.55318327e+00 4.32561442e+00 5.25253180e+00 8.80571507e+00 6.02496294e+00 7.72431146e+00 7.26085278e+00 7.10636655e+00 8.34225638e+00 6.79739409e+00 8.65122884e+00 1.35947882e+01 1.14319810e+01 1.22044121e+01 1.22044121e+01 6.33393540e+00 1.12774947e+01 1.26678708e+01 1.54486229e-01 3.08972459e-01 3.08972459e-01 + + + + + 2.17146798e+00 7.94757280e+00 1.20516473e+01 1.42122579e+01 1.41145419e+01 1.30179505e+01 1.22687941e+01 1.05967637e+01 9.41331369e+00 9.36988433e+00 8.72930127e+00 7.86071408e+00 6.48183192e+00 6.55783329e+00 6.34068650e+00 6.11268236e+00 4.94008965e+00 5.14637911e+00 4.32122128e+00 5.10294975e+00 4.46236670e+00 3.85435566e+00 3.95207172e+00 3.26805931e+00 3.21377261e+00 3.17034325e+00 2.98576847e+00 2.68176295e+00 2.98576847e+00 3.01834049e+00 2.61661891e+00 2.63833359e+00 2.39947212e+00 2.07375192e+00 2.17146798e+00 2.24746936e+00 1.98689320e+00 1.75888906e+00 2.16061064e+00 1.69374502e+00 1.75888906e+00 1.60688630e+00 1.90003448e+00 1.80231842e+00 1.82403310e+00 1.40059685e+00 1.31373813e+00 1.58517162e+00 1.37888217e+00 1.53088492e+00 1.37888217e+00 1.27030877e+00 1.41145419e+00 1.15087803e+00 1.28116611e+00 1.22687941e+00 1.08573399e+00 1.14002069e+00 1.18345005e+00 1.09659133e+00 8.57729851e-01 1.14002069e+00 9.44588571e-01 9.33731231e-01 8.03443152e-01 1.03144729e+00 1.05316197e+00 9.88017930e-01 8.68587191e-01 8.14300492e-01 1.09659133e+00 8.03443152e-01 9.22873891e-01 7.81728472e-01 8.25157832e-01 7.60013792e-01 8.46872512e-01 7.60013792e-01 7.16584433e-01 7.49156453e-01 8.25157832e-01 8.03443152e-01 8.25157832e-01 8.57729851e-01 6.62297733e-01 6.08011034e-01 6.73155073e-01 5.32009655e-01 4.99437635e-01 5.75439014e-01 6.73155073e-01 7.05727093e-01 7.49156453e-01 6.62297733e-01 6.08011034e-01 6.94869753e-01 4.77722955e-01 6.18868374e-01 6.29725714e-01 5.21152315e-01 4.88580295e-01 5.53724334e-01 4.99437635e-01 5.53724334e-01 3.90864236e-01 5.75439014e-01 4.99437635e-01 5.75439014e-01 3.36577537e-01 2.82290837e-01 4.23436256e-01 4.23436256e-01 4.88580295e-01 5.42866995e-01 4.99437635e-01 3.90864236e-01 4.56008275e-01 5.42866995e-01 3.69149556e-01 4.77722955e-01 5.21152315e-01 3.80006896e-01 4.01721576e-01 3.80006896e-01 2.82290837e-01 3.80006896e-01 4.34293596e-01 5.10294975e-01 3.69149556e-01 2.82290837e-01 4.34293596e-01 5.53724334e-01 4.01721576e-01 3.80006896e-01 2.93148177e-01 3.80006896e-01 4.01721576e-01 4.66865615e-01 3.58292216e-01 4.77722955e-01 2.82290837e-01 2.49718818e-01 3.36577537e-01 2.82290837e-01 4.23436256e-01 4.12578916e-01 2.38861478e-01 3.14862857e-01 2.49718818e-01 3.25720197e-01 3.04005517e-01 4.23436256e-01 3.80006896e-01 4.01721576e-01 2.82290837e-01 3.14862857e-01 2.06289458e-01 4.45150936e-01 2.49718818e-01 2.28004138e-01 2.38861478e-01 2.71433497e-01 2.93148177e-01 3.04005517e-01 2.49718818e-01 2.93148177e-01 3.36577537e-01 3.25720197e-01 2.82290837e-01 2.49718818e-01 3.14862857e-01 2.38861478e-01 2.82290837e-01 3.14862857e-01 2.28004138e-01 2.71433497e-01 2.82290837e-01 2.38861478e-01 3.36577537e-01 2.49718818e-01 2.71433497e-01 2.49718818e-01 2.49718818e-01 2.28004138e-01 3.04005517e-01 1.95432118e-01 2.38861478e-01 2.82290837e-01 2.71433497e-01 2.06289458e-01 2.38861478e-01 4.01721576e-01 2.38861478e-01 2.17146798e-01 2.28004138e-01 2.93148177e-01 3.04005517e-01 3.14862857e-01 2.28004138e-01 1.73717438e-01 1.62860098e-01 1.08573399e-01 1.84574778e-01 2.60576157e-01 1.84574778e-01 2.17146798e-01 1.95432118e-01 2.38861478e-01 2.60576157e-01 2.38861478e-01 2.71433497e-01 1.52002758e-01 2.38861478e-01 2.06289458e-01 2.38861478e-01 2.38861478e-01 1.95432118e-01 2.06289458e-01 1.95432118e-01 2.28004138e-01 2.28004138e-01 2.06289458e-01 2.82290837e-01 1.73717438e-01 1.19430739e-01 2.93148177e-01 2.28004138e-01 1.52002758e-01 1.62860098e-01 2.06289458e-01 2.38861478e-01 1.73717438e-01 2.28004138e-01 2.49718818e-01 1.73717438e-01 2.06289458e-01 1.95432118e-01 2.71433497e-01 1.73717438e-01 7.60013792e-02 1.30288079e-01 1.62860098e-01 2.17146798e-01 1.30288079e-01 1.62860098e-01 1.30288079e-01 1.08573399e-01 1.52002758e-01 1.62860098e-01 1.73717438e-01 1.62860098e-01 1.08573399e-01 1.95432118e-01 1.41145419e-01 1.84574778e-01 1.62860098e-01 1.73717438e-01 1.41145419e-01 1.41145419e-01 1.52002758e-01 1.73717438e-01 2.06289458e-01 2.60576157e-01 1.30288079e-01 1.30288079e-01 1.30288079e-01 1.08573399e-01 5.42866995e-02 1.19430739e-01 1.19430739e-01 1.84574778e-01 9.77160590e-02 1.08573399e-01 1.41145419e-01 1.19430739e-01 1.73717438e-01 2.06289458e-01 8.68587191e-02 1.19430739e-01 1.30288079e-01 1.52002758e-01 1.08573399e-01 1.30288079e-01 1.19430739e-01 1.95432118e-01 1.30288079e-01 9.77160590e-02 2.17146798e-01 1.30288079e-01 1.30288079e-01 1.52002758e-01 1.41145419e-01 1.95432118e-01 1.95432118e-01 7.60013792e-02 1.30288079e-01 1.41145419e-01 1.62860098e-01 1.19430739e-01 1.30288079e-01 1.52002758e-01 1.95432118e-01 1.62860098e-01 1.19430739e-01 2.17146798e-01 1.41145419e-01 1.62860098e-01 1.30288079e-01 8.68587191e-02 7.60013792e-02 1.52002758e-01 1.30288079e-01 1.08573399e-01 7.60013792e-02 6.51440394e-02 1.62860098e-01 1.08573399e-01 1.19430739e-01 1.30288079e-01 1.62860098e-01 1.52002758e-01 1.73717438e-01 8.68587191e-02 1.19430739e-01 9.77160590e-02 1.30288079e-01 5.42866995e-02 1.19430739e-01 8.68587191e-02 1.19430739e-01 5.42866995e-02 5.42866995e-02 1.52002758e-01 1.41145419e-01 1.52002758e-01 9.77160590e-02 1.41145419e-01 1.41145419e-01 1.08573399e-01 7.60013792e-02 6.51440394e-02 7.60013792e-02 6.51440394e-02 1.08573399e-01 5.42866995e-02 1.19430739e-01 1.41145419e-01 8.68587191e-02 5.42866995e-02 1.73717438e-01 1.73717438e-01 8.68587191e-02 1.41145419e-01 9.77160590e-02 1.30288079e-01 8.68587191e-02 6.51440394e-02 1.08573399e-01 1.30288079e-01 9.77160590e-02 1.30288079e-01 8.68587191e-02 1.19430739e-01 5.42866995e-02 1.52002758e-01 7.60013792e-02 1.30288079e-01 1.08573399e-01 9.77160590e-02 8.68587191e-02 9.77160590e-02 4.34293596e-02 7.60013792e-02 9.77160590e-02 8.68587191e-02 1.19430739e-01 9.77160590e-02 1.19430739e-01 5.42866995e-02 7.60013792e-02 6.51440394e-02 1.08573399e-01 7.60013792e-02 1.08573399e-01 8.68587191e-02 1.52002758e-01 8.68587191e-02 7.60013792e-02 1.08573399e-01 1.08573399e-01 7.60013792e-02 3.25720197e-02 1.19430739e-01 9.77160590e-02 1.30288079e-01 7.60013792e-02 1.19430739e-01 1.08573399e-01 1.19430739e-01 1.08573399e-01 8.68587191e-02 6.51440394e-02 6.51440394e-02 8.68587191e-02 7.60013792e-02 6.51440394e-02 8.68587191e-02 4.34293596e-02 1.08573399e-01 6.51440394e-02 1.30288079e-01 8.68587191e-02 7.60013792e-02 5.42866995e-02 3.25720197e-02 8.68587191e-02 9.77160590e-02 1.52002758e-01 7.60013792e-02 1.30288079e-01 7.60013792e-02 6.51440394e-02 1.30288079e-01 5.42866995e-02 3.25720197e-02 3.25720197e-02 8.68587191e-02 8.68587191e-02 9.77160590e-02 8.68587191e-02 6.51440394e-02 7.60013792e-02 9.77160590e-02 1.19430739e-01 5.42866995e-02 1.08573399e-01 3.25720197e-02 7.60013792e-02 9.77160590e-02 4.34293596e-02 1.30288079e-01 8.68587191e-02 9.77160590e-02 1.08573399e-01 8.68587191e-02 8.68587191e-02 1.30288079e-01 4.34293596e-02 5.42866995e-02 7.60013792e-02 1.08573399e-01 4.34293596e-02 8.68587191e-02 8.68587191e-02 6.51440394e-02 6.51440394e-02 6.51440394e-02 5.42866995e-02 7.60013792e-02 6.51440394e-02 6.51440394e-02 6.51440394e-02 1.84574778e-01 1.19430739e-01 1.73717438e-01 8.68587191e-02 1.30288079e-01 2.17146798e-02 5.42866995e-02 4.34293596e-02 9.77160590e-02 8.68587191e-02 7.60013792e-02 5.42866995e-02 7.60013792e-02 1.08573399e-01 6.51440394e-02 7.60013792e-02 6.51440394e-02 1.30288079e-01 5.42866995e-02 5.42866995e-02 8.68587191e-02 7.60013792e-02 8.68587191e-02 1.52002758e-01 4.34293596e-02 8.68587191e-02 6.51440394e-02 4.34293596e-02 6.51440394e-02 2.17146798e-02 7.60013792e-02 6.51440394e-02 7.60013792e-02 5.42866995e-02 4.34293596e-02 5.42866995e-02 6.51440394e-02 6.51440394e-02 3.25720197e-02 8.68587191e-02 1.08573399e-01 9.77160590e-02 8.68587191e-02 7.60013792e-02 6.51440394e-02 1.41145419e-01 2.17146798e-02 4.34293596e-02 9.77160590e-02 8.68587191e-02 1.08573399e-01 8.68587191e-02 7.60013792e-02 9.77160590e-02 6.51440394e-02 1.08573399e-02 6.51440394e-02 1.19430739e-01 1.62860098e-01 5.42866995e-02 4.34293596e-02 4.34293596e-02 1.62860098e-01 7.60013792e-02 9.77160590e-02 8.68587191e-02 1.19430739e-01 9.77160590e-02 7.60013792e-02 4.34293596e-02 9.77160590e-02 6.51440394e-02 6.51440394e-02 7.60013792e-02 8.68587191e-02 7.60013792e-02 1.52002758e-01 1.08573399e-01 7.60013792e-02 8.68587191e-02 9.77160590e-02 5.42866995e-02 9.77160590e-02 1.30288079e-01 1.08573399e-01 1.30288079e-01 3.25720197e-02 6.51440394e-02 7.60013792e-02 7.60013792e-02 1.08573399e-01 3.25720197e-02 4.34293596e-02 7.60013792e-02 3.25720197e-02 3.25720197e-02 7.60013792e-02 7.60013792e-02 1.08573399e-01 6.51440394e-02 7.60013792e-02 1.08573399e-01 1.19430739e-01 6.51440394e-02 1.41145419e-01 3.25720197e-02 6.51440394e-02 8.68587191e-02 8.68587191e-02 7.60013792e-02 8.68587191e-02 5.42866995e-02 1.41145419e-01 5.42866995e-02 6.51440394e-02 1.41145419e-01 1.08573399e-01 9.77160590e-02 8.68587191e-02 7.60013792e-02 8.68587191e-02 6.51440394e-02 5.42866995e-02 8.68587191e-02 7.60013792e-02 9.77160590e-02 7.60013792e-02 6.51440394e-02 4.34293596e-02 1.30288079e-01 7.60013792e-02 8.68587191e-02 3.25720197e-02 1.73717438e-01 4.34293596e-02 9.77160590e-02 5.42866995e-02 8.68587191e-02 6.51440394e-02 8.68587191e-02 7.60013792e-02 1.30288079e-01 9.77160590e-02 1.52002758e-01 1.30288079e-01 7.60013792e-02 9.77160590e-02 9.77160590e-02 6.51440394e-02 4.34293596e-02 8.68587191e-02 8.68587191e-02 9.77160590e-02 9.77160590e-02 6.51440394e-02 1.19430739e-01 1.19430739e-01 9.77160590e-02 5.42866995e-02 4.34293596e-02 1.41145419e-01 6.51440394e-02 9.77160590e-02 1.19430739e-01 7.60013792e-02 1.08573399e-01 8.68587191e-02 9.77160590e-02 1.41145419e-01 6.51440394e-02 1.84574778e-01 9.77160590e-02 1.30288079e-01 6.51440394e-02 1.41145419e-01 7.60013792e-02 4.34293596e-02 1.08573399e-01 8.68587191e-02 1.08573399e-01 9.77160590e-02 6.51440394e-02 8.68587191e-02 1.19430739e-01 8.68587191e-02 8.68587191e-02 1.30288079e-01 7.60013792e-02 1.30288079e-01 1.08573399e-01 8.68587191e-02 1.08573399e-01 1.08573399e-01 1.41145419e-01 9.77160590e-02 5.42866995e-02 7.60013792e-02 1.84574778e-01 1.19430739e-01 6.51440394e-02 1.08573399e-01 1.62860098e-01 1.08573399e-01 1.30288079e-01 1.08573399e-01 3.25720197e-02 1.41145419e-01 1.52002758e-01 2.06289458e-01 1.19430739e-01 1.62860098e-01 1.41145419e-01 1.41145419e-01 8.68587191e-02 1.19430739e-01 7.60013792e-02 1.30288079e-01 8.68587191e-02 1.84574778e-01 7.60013792e-02 1.41145419e-01 6.51440394e-02 1.30288079e-01 1.19430739e-01 1.52002758e-01 1.30288079e-01 9.77160590e-02 8.68587191e-02 1.84574778e-01 5.42866995e-02 1.52002758e-01 1.52002758e-01 1.19430739e-01 7.60013792e-02 1.30288079e-01 7.60013792e-02 1.30288079e-01 8.68587191e-02 1.84574778e-01 1.19430739e-01 6.51440394e-02 9.77160590e-02 1.19430739e-01 1.84574778e-01 1.95432118e-01 1.62860098e-01 1.62860098e-01 1.73717438e-01 1.52002758e-01 8.68587191e-02 1.41145419e-01 1.19430739e-01 1.30288079e-01 2.06289458e-01 5.42866995e-02 1.08573399e-01 9.77160590e-02 9.77160590e-02 1.41145419e-01 5.42866995e-02 3.25720197e-02 8.68587191e-02 4.34293596e-02 1.08573399e-01 6.51440394e-02 5.42866995e-02 1.08573399e-01 7.60013792e-02 8.68587191e-02 2.17146798e-02 6.51440394e-02 2.17146798e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_high_fb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_high_fb_BDTG.weights.xml new file mode 100644 index 000000000000..16263b8bca28 --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_high_fb_BDTG.weights.xml @@ -0,0 +1,6007 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 7.53963232e-02 1.50792646e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 0.00000000e+00 7.53963232e-02 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 1.50792646e-01 3.01585293e-01 1.50792646e-01 1.50792646e-01 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 7.53963232e-02 0.00000000e+00 7.53963232e-02 1.50792646e-01 0.00000000e+00 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.50792646e-01 2.26188970e-01 7.53963232e-02 1.50792646e-01 0.00000000e+00 0.00000000e+00 1.50792646e-01 7.53963232e-02 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 0.00000000e+00 1.50792646e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.50792646e-01 7.53963232e-02 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 2.26188970e-01 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 1.50792646e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 0.00000000e+00 1.50792646e-01 1.50792646e-01 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 0.00000000e+00 7.53963232e-02 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.53963232e-02 1.50792646e-01 0.00000000e+00 0.00000000e+00 7.53963232e-02 1.50792646e-01 1.50792646e-01 1.50792646e-01 7.53963232e-02 1.50792646e-01 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 0.00000000e+00 1.50792646e-01 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 2.26188970e-01 0.00000000e+00 7.53963232e-02 7.53963232e-02 2.26188970e-01 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 0.00000000e+00 7.53963232e-02 7.53963232e-02 0.00000000e+00 7.53963232e-02 0.00000000e+00 1.50792646e-01 0.00000000e+00 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 0.00000000e+00 7.53963232e-02 0.00000000e+00 1.50792646e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.53963232e-02 0.00000000e+00 7.53963232e-02 7.53963232e-02 2.26188970e-01 0.00000000e+00 0.00000000e+00 7.53963232e-02 7.53963232e-02 2.26188970e-01 7.53963232e-02 1.50792646e-01 7.53963232e-02 7.53963232e-02 0.00000000e+00 7.53963232e-02 7.53963232e-02 0.00000000e+00 0.00000000e+00 1.50792646e-01 0.00000000e+00 7.53963232e-02 1.50792646e-01 1.50792646e-01 7.53963232e-02 7.53963232e-02 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 1.50792646e-01 0.00000000e+00 0.00000000e+00 1.50792646e-01 7.53963232e-02 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.53963232e-02 2.26188970e-01 7.53963232e-02 0.00000000e+00 2.26188970e-01 7.53963232e-02 0.00000000e+00 0.00000000e+00 2.26188970e-01 1.50792646e-01 0.00000000e+00 7.53963232e-02 1.50792646e-01 0.00000000e+00 7.53963232e-02 7.53963232e-02 1.50792646e-01 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 7.53963232e-02 7.53963232e-02 7.53963232e-02 0.00000000e+00 1.50792646e-01 7.53963232e-02 7.53963232e-02 7.53963232e-02 7.53963232e-02 7.53963232e-02 7.53963232e-02 0.00000000e+00 0.00000000e+00 1.50792646e-01 7.53963232e-02 0.00000000e+00 3.76981616e-01 0.00000000e+00 7.53963232e-02 2.26188970e-01 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 1.50792646e-01 0.00000000e+00 1.50792646e-01 7.53963232e-02 7.53963232e-02 7.53963232e-02 1.50792646e-01 2.26188970e-01 1.50792646e-01 3.01585293e-01 7.53963232e-02 7.53963232e-02 0.00000000e+00 1.50792646e-01 0.00000000e+00 0.00000000e+00 7.53963232e-02 0.00000000e+00 7.53963232e-02 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 3.76981616e-01 7.53963232e-02 7.53963232e-02 0.00000000e+00 1.50792646e-01 7.53963232e-02 0.00000000e+00 1.50792646e-01 2.26188970e-01 7.53963232e-02 1.50792646e-01 2.26188970e-01 7.53963232e-02 1.50792646e-01 2.26188970e-01 7.53963232e-02 2.26188970e-01 7.53963232e-02 7.53963232e-02 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 7.53963232e-02 2.26188970e-01 0.00000000e+00 7.53963232e-02 1.50792646e-01 0.00000000e+00 0.00000000e+00 2.26188970e-01 2.26188970e-01 0.00000000e+00 1.50792646e-01 1.50792646e-01 1.50792646e-01 0.00000000e+00 7.53963232e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.26188970e-01 0.00000000e+00 7.53963232e-02 2.26188970e-01 7.53963232e-02 0.00000000e+00 7.53963232e-02 7.53963232e-02 0.00000000e+00 2.26188970e-01 7.53963232e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.50792646e-01 3.01585293e-01 7.53963232e-02 3.01585293e-01 7.53963232e-02 1.50792646e-01 3.01585293e-01 7.53963232e-02 7.53963232e-02 1.50792646e-01 2.26188970e-01 7.53963232e-02 1.50792646e-01 7.53963232e-02 1.50792646e-01 1.50792646e-01 1.50792646e-01 7.53963232e-02 2.26188970e-01 1.50792646e-01 7.53963232e-02 3.76981616e-01 1.50792646e-01 7.53963232e-02 1.50792646e-01 7.53963232e-02 1.50792646e-01 2.26188970e-01 0.00000000e+00 1.50792646e-01 1.50792646e-01 1.50792646e-01 1.50792646e-01 1.50792646e-01 7.53963232e-02 0.00000000e+00 1.50792646e-01 7.53963232e-02 1.50792646e-01 0.00000000e+00 7.53963232e-02 7.53963232e-02 2.26188970e-01 2.26188970e-01 0.00000000e+00 0.00000000e+00 7.53963232e-02 1.50792646e-01 7.53963232e-02 7.53963232e-02 2.26188970e-01 3.76981616e-01 1.50792646e-01 2.26188970e-01 7.53963232e-02 3.76981616e-01 7.53963232e-02 0.00000000e+00 2.26188970e-01 1.50792646e-01 7.53963232e-02 0.00000000e+00 0.00000000e+00 2.26188970e-01 0.00000000e+00 2.26188970e-01 7.53963232e-02 7.53963232e-02 1.50792646e-01 1.50792646e-01 1.50792646e-01 7.53963232e-02 2.26188970e-01 1.50792646e-01 7.53963232e-02 1.50792646e-01 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 0.00000000e+00 1.50792646e-01 2.26188970e-01 7.53963232e-02 0.00000000e+00 7.53963232e-02 7.53963232e-02 7.53963232e-02 1.50792646e-01 0.00000000e+00 7.53963232e-02 7.53963232e-02 3.01585293e-01 3.76981616e-01 1.50792646e-01 3.01585293e-01 1.50792646e-01 1.50792646e-01 1.50792646e-01 3.76981616e-01 7.53963232e-02 2.26188970e-01 2.26188970e-01 2.26188970e-01 3.01585293e-01 7.53963232e-02 3.01585293e-01 7.53963232e-02 3.01585293e-01 0.00000000e+00 3.01585293e-01 0.00000000e+00 1.50792646e-01 1.50792646e-01 1.50792646e-01 1.50792646e-01 3.01585293e-01 2.26188970e-01 3.76981616e-01 7.53963232e-02 1.50792646e-01 7.53963232e-02 7.53963232e-02 2.26188970e-01 2.26188970e-01 2.26188970e-01 7.53963232e-02 7.53963232e-02 1.50792646e-01 3.01585293e-01 1.50792646e-01 2.26188970e-01 2.26188970e-01 2.26188970e-01 7.53963232e-02 0.00000000e+00 2.26188970e-01 0.00000000e+00 0.00000000e+00 4.52377939e-01 7.53963232e-02 1.50792646e-01 1.50792646e-01 3.76981616e-01 2.26188970e-01 0.00000000e+00 6.03170586e-01 7.53963232e-02 7.53963232e-02 1.50792646e-01 7.53963232e-02 7.53963232e-02 3.01585293e-01 3.01585293e-01 7.53963232e-02 7.53963232e-02 1.50792646e-01 3.76981616e-01 7.53963232e-02 2.26188970e-01 3.01585293e-01 3.76981616e-01 7.53963232e-02 2.26188970e-01 7.53963232e-02 1.50792646e-01 1.50792646e-01 2.26188970e-01 3.01585293e-01 3.01585293e-01 1.50792646e-01 7.53963232e-02 7.53963232e-02 1.50792646e-01 6.03170586e-01 1.50792646e-01 2.26188970e-01 2.26188970e-01 3.76981616e-01 2.26188970e-01 3.01585293e-01 1.50792646e-01 7.53963232e-02 2.26188970e-01 2.26188970e-01 5.27774262e-01 6.03170586e-01 7.53963232e-02 0.00000000e+00 1.50792646e-01 7.53963232e-02 1.50792646e-01 3.01585293e-01 6.03170586e-01 3.01585293e-01 1.50792646e-01 2.26188970e-01 4.52377939e-01 3.01585293e-01 5.27774262e-01 1.50792646e-01 7.53963232e-02 2.26188970e-01 3.01585293e-01 3.76981616e-01 3.01585293e-01 7.53963232e-02 3.01585293e-01 4.52377939e-01 4.52377939e-01 3.01585293e-01 2.26188970e-01 3.01585293e-01 3.76981616e-01 6.03170586e-01 5.27774262e-01 4.52377939e-01 2.26188970e-01 4.52377939e-01 2.26188970e-01 4.52377939e-01 3.76981616e-01 6.03170586e-01 5.27774262e-01 4.52377939e-01 6.03170586e-01 5.27774262e-01 6.03170586e-01 3.01585293e-01 4.52377939e-01 6.78566909e-01 3.01585293e-01 1.50792646e-01 5.27774262e-01 5.27774262e-01 4.52377939e-01 6.03170586e-01 6.03170586e-01 5.27774262e-01 5.27774262e-01 7.53963232e-01 4.52377939e-01 3.76981616e-01 5.27774262e-01 3.01585293e-01 4.52377939e-01 4.52377939e-01 7.53963232e-01 6.03170586e-01 6.03170586e-01 6.03170586e-01 4.52377939e-01 6.78566909e-01 2.26188970e-01 7.53963232e-01 9.80152202e-01 9.04755878e-01 6.03170586e-01 6.78566909e-01 4.52377939e-01 1.05554852e+00 1.20634117e+00 6.03170586e-01 1.20634117e+00 9.80152202e-01 4.52377939e-01 1.05554852e+00 7.53963232e-01 1.35713382e+00 1.73411543e+00 9.04755878e-01 8.29359555e-01 1.05554852e+00 1.28173749e+00 6.03170586e-01 9.04755878e-01 9.04755878e-01 1.13094485e+00 1.35713382e+00 1.43253014e+00 6.78566909e-01 1.05554852e+00 9.80152202e-01 1.35713382e+00 1.13094485e+00 1.13094485e+00 1.13094485e+00 1.58332279e+00 1.58332279e+00 1.88490808e+00 2.26188970e+00 1.80951176e+00 1.58332279e+00 2.26188970e+00 1.96030440e+00 2.11109705e+00 1.80951176e+00 1.80951176e+00 2.33728602e+00 2.33728602e+00 2.33728602e+00 3.16664557e+00 2.86506028e+00 3.09124925e+00 3.39283454e+00 4.29759042e+00 3.76981616e+00 4.22219410e+00 4.22219410e+00 4.82536468e+00 5.05155365e+00 4.67457204e+00 4.29759042e+00 5.95630953e+00 7.61502864e+00 5.95630953e+00 7.38883967e+00 7.99201026e+00 7.61502864e+00 1.13848448e+01 1.08570705e+01 1.13094485e+01 1.25911860e+01 1.25157897e+01 1.32697529e+01 1.20634117e+01 1.05554852e+01 9.04755878e+00 3.99600513e+00 7.53963232e-01 0.00000000e+00 + + + + + 1.67463002e+01 2.70232281e+01 2.10630729e+01 1.66421422e+01 1.44663962e+01 1.20244685e+01 9.87186877e+00 8.47152161e+00 7.84657330e+00 6.72398095e+00 6.34206809e+00 5.80970471e+00 5.13846393e+00 4.90700159e+00 4.50194250e+00 3.99272535e+00 3.49508132e+00 3.39092327e+00 3.02058353e+00 2.92799859e+00 2.77754807e+00 2.70810937e+00 2.53451261e+00 2.53451261e+00 2.26833092e+00 2.44192768e+00 2.39563521e+00 2.38406209e+00 1.93271053e+00 1.90956430e+00 1.74754066e+00 1.92113742e+00 1.78226001e+00 1.88641806e+00 1.50450520e+00 1.43506650e+00 1.36562780e+00 1.40034715e+00 1.29618910e+00 1.34248157e+00 1.43506650e+00 1.24989663e+00 1.36562780e+00 1.08787299e+00 1.20360416e+00 9.37422474e-01 9.60568708e-01 1.20360416e+00 1.16888481e+00 1.01843429e+00 9.02703123e-01 1.08787299e+00 9.37422474e-01 9.83714942e-01 9.60568708e-01 9.83714942e-01 8.79556889e-01 8.21691304e-01 7.29106368e-01 7.05960134e-01 9.72141825e-01 8.21691304e-01 7.05960134e-01 8.44837538e-01 6.94387018e-01 8.33264421e-01 6.94387018e-01 6.94387018e-01 5.32363380e-01 6.94387018e-01 6.36521433e-01 6.01802082e-01 6.71240784e-01 6.82813901e-01 6.13375199e-01 5.32363380e-01 6.24948316e-01 7.86971953e-01 6.94387018e-01 5.90228965e-01 4.62924678e-01 5.90228965e-01 4.74497795e-01 3.70339743e-01 5.09217146e-01 6.36521433e-01 4.39778444e-01 4.51351561e-01 5.32363380e-01 5.09217146e-01 3.58766626e-01 5.32363380e-01 3.58766626e-01 4.74497795e-01 5.43936497e-01 3.58766626e-01 4.86070912e-01 4.16632211e-01 4.05059094e-01 3.93485977e-01 3.93485977e-01 4.74497795e-01 4.16632211e-01 3.12474158e-01 3.81912860e-01 3.47193509e-01 2.77754807e-01 4.28205327e-01 4.39778444e-01 4.51351561e-01 4.16632211e-01 3.35620392e-01 4.39778444e-01 3.35620392e-01 3.12474158e-01 3.70339743e-01 3.35620392e-01 3.47193509e-01 3.35620392e-01 3.93485977e-01 3.70339743e-01 4.51351561e-01 3.70339743e-01 2.89327924e-01 3.35620392e-01 2.31462339e-01 3.70339743e-01 2.31462339e-01 3.47193509e-01 3.70339743e-01 3.00901041e-01 2.19889222e-01 2.77754807e-01 3.35620392e-01 2.66181690e-01 2.77754807e-01 2.77754807e-01 3.12474158e-01 3.58766626e-01 3.47193509e-01 2.77754807e-01 3.93485977e-01 3.24047275e-01 3.00901041e-01 2.31462339e-01 2.19889222e-01 2.08316105e-01 3.35620392e-01 2.31462339e-01 2.31462339e-01 2.19889222e-01 2.43035456e-01 2.19889222e-01 3.00901041e-01 2.89327924e-01 1.62023637e-01 3.24047275e-01 3.93485977e-01 2.19889222e-01 2.31462339e-01 2.54608573e-01 1.85169871e-01 1.62023637e-01 2.31462339e-01 1.96742988e-01 2.77754807e-01 1.38877404e-01 3.24047275e-01 2.08316105e-01 1.96742988e-01 2.08316105e-01 2.31462339e-01 2.31462339e-01 1.73596754e-01 1.73596754e-01 3.35620392e-01 1.27304287e-01 1.73596754e-01 2.08316105e-01 1.27304287e-01 2.19889222e-01 2.08316105e-01 1.96742988e-01 2.54608573e-01 2.43035456e-01 1.62023637e-01 2.19889222e-01 1.38877404e-01 1.96742988e-01 2.54608573e-01 1.85169871e-01 2.08316105e-01 2.08316105e-01 2.08316105e-01 1.73596754e-01 1.73596754e-01 3.24047275e-01 2.08316105e-01 2.43035456e-01 1.85169871e-01 1.04158053e-01 2.19889222e-01 1.85169871e-01 1.62023637e-01 1.15731170e-01 1.73596754e-01 1.73596754e-01 1.50450520e-01 1.96742988e-01 1.38877404e-01 1.62023637e-01 1.27304287e-01 1.73596754e-01 1.50450520e-01 1.85169871e-01 2.08316105e-01 1.38877404e-01 1.04158053e-01 1.85169871e-01 1.50450520e-01 1.38877404e-01 1.85169871e-01 1.27304287e-01 1.27304287e-01 1.62023637e-01 1.50450520e-01 1.15731170e-01 1.73596754e-01 1.15731170e-01 1.85169871e-01 1.50450520e-01 8.10118187e-02 1.62023637e-01 1.62023637e-01 1.38877404e-01 1.62023637e-01 1.04158053e-01 2.08316105e-01 3.47193509e-02 1.04158053e-01 1.85169871e-01 6.94387018e-02 1.85169871e-01 2.08316105e-01 1.85169871e-01 1.38877404e-01 1.04158053e-01 1.15731170e-01 1.38877404e-01 1.04158053e-01 1.04158053e-01 1.04158053e-01 1.73596754e-01 1.38877404e-01 1.27304287e-01 1.38877404e-01 9.25849357e-02 1.27304287e-01 6.94387018e-02 6.94387018e-02 2.08316105e-01 1.27304287e-01 1.04158053e-01 6.94387018e-02 8.10118187e-02 1.15731170e-01 1.15731170e-01 1.73596754e-01 2.19889222e-01 5.78655848e-02 1.85169871e-01 1.15731170e-01 1.50450520e-01 1.27304287e-01 2.19889222e-01 9.25849357e-02 1.50450520e-01 1.15731170e-01 1.62023637e-01 1.38877404e-01 8.10118187e-02 1.85169871e-01 1.85169871e-01 1.38877404e-01 1.27304287e-01 5.78655848e-02 2.08316105e-01 6.94387018e-02 6.94387018e-02 1.62023637e-01 1.15731170e-01 8.10118187e-02 1.15731170e-01 6.94387018e-02 8.10118187e-02 1.15731170e-01 1.15731170e-01 1.04158053e-01 4.62924678e-02 1.62023637e-01 1.04158053e-01 8.10118187e-02 1.04158053e-01 1.04158053e-01 1.27304287e-01 9.25849357e-02 1.85169871e-01 1.15731170e-01 1.38877404e-01 1.15731170e-01 1.04158053e-01 8.10118187e-02 1.27304287e-01 1.38877404e-01 1.38877404e-01 9.25849357e-02 1.15731170e-01 2.08316105e-01 5.78655848e-02 1.38877404e-01 6.94387018e-02 6.94387018e-02 1.50450520e-01 1.04158053e-01 1.27304287e-01 6.94387018e-02 1.04158053e-01 9.25849357e-02 1.15731170e-01 1.27304287e-01 8.10118187e-02 8.10118187e-02 1.15731170e-01 8.10118187e-02 1.50450520e-01 8.10118187e-02 1.27304287e-01 8.10118187e-02 9.25849357e-02 5.78655848e-02 8.10118187e-02 9.25849357e-02 1.04158053e-01 8.10118187e-02 1.04158053e-01 6.94387018e-02 8.10118187e-02 5.78655848e-02 6.94387018e-02 1.27304287e-01 1.04158053e-01 5.78655848e-02 1.04158053e-01 6.94387018e-02 9.25849357e-02 6.94387018e-02 4.62924678e-02 8.10118187e-02 8.10118187e-02 6.94387018e-02 4.62924678e-02 8.10118187e-02 5.78655848e-02 5.78655848e-02 1.15731170e-01 1.04158053e-01 8.10118187e-02 5.78655848e-02 1.04158053e-01 5.78655848e-02 5.78655848e-02 1.15731170e-01 1.15731170e-01 1.15731170e-01 9.25849357e-02 1.15731170e-01 9.25849357e-02 9.25849357e-02 6.94387018e-02 6.94387018e-02 1.27304287e-01 1.15731170e-01 8.10118187e-02 4.62924678e-02 6.94387018e-02 5.78655848e-02 5.78655848e-02 9.25849357e-02 1.15731170e-01 8.10118187e-02 3.47193509e-02 1.15731170e-01 8.10118187e-02 4.62924678e-02 1.04158053e-01 6.94387018e-02 2.31462339e-02 8.10118187e-02 1.38877404e-01 8.10118187e-02 9.25849357e-02 5.78655848e-02 6.94387018e-02 6.94387018e-02 6.94387018e-02 6.94387018e-02 4.62924678e-02 5.78655848e-02 8.10118187e-02 4.62924678e-02 8.10118187e-02 9.25849357e-02 1.04158053e-01 9.25849357e-02 5.78655848e-02 8.10118187e-02 9.25849357e-02 9.25849357e-02 1.04158053e-01 5.78655848e-02 8.10118187e-02 1.50450520e-01 6.94387018e-02 6.94387018e-02 3.47193509e-02 1.38877404e-01 9.25849357e-02 9.25849357e-02 6.94387018e-02 9.25849357e-02 6.94387018e-02 5.78655848e-02 9.25849357e-02 5.78655848e-02 5.78655848e-02 1.15731170e-02 6.94387018e-02 5.78655848e-02 4.62924678e-02 3.47193509e-02 5.78655848e-02 4.62924678e-02 1.04158053e-01 8.10118187e-02 6.94387018e-02 2.31462339e-02 8.10118187e-02 9.25849357e-02 5.78655848e-02 5.78655848e-02 4.62924678e-02 9.25849357e-02 1.15731170e-02 6.94387018e-02 1.38877404e-01 4.62924678e-02 9.25849357e-02 1.15731170e-01 8.10118187e-02 9.25849357e-02 4.62924678e-02 3.47193509e-02 5.78655848e-02 1.15731170e-02 8.10118187e-02 4.62924678e-02 1.27304287e-01 1.04158053e-01 3.47193509e-02 5.78655848e-02 1.04158053e-01 3.47193509e-02 5.78655848e-02 9.25849357e-02 8.10118187e-02 8.10118187e-02 1.15731170e-01 9.25849357e-02 2.31462339e-02 9.25849357e-02 8.10118187e-02 6.94387018e-02 8.10118187e-02 5.78655848e-02 6.94387018e-02 1.15731170e-02 8.10118187e-02 1.15731170e-02 4.62924678e-02 9.25849357e-02 5.78655848e-02 8.10118187e-02 4.62924678e-02 4.62924678e-02 4.62924678e-02 4.62924678e-02 9.25849357e-02 8.10118187e-02 5.78655848e-02 8.10118187e-02 1.27304287e-01 3.47193509e-02 1.15731170e-01 3.47193509e-02 6.94387018e-02 9.25849357e-02 2.31462339e-02 5.78655848e-02 6.94387018e-02 8.10118187e-02 1.15731170e-02 4.62924678e-02 8.10118187e-02 6.94387018e-02 8.10118187e-02 9.25849357e-02 6.94387018e-02 8.10118187e-02 1.04158053e-01 8.10118187e-02 5.78655848e-02 8.10118187e-02 9.25849357e-02 6.94387018e-02 4.62924678e-02 2.31462339e-02 8.10118187e-02 1.27304287e-01 6.94387018e-02 9.25849357e-02 5.78655848e-02 9.25849357e-02 2.31462339e-02 8.10118187e-02 6.94387018e-02 5.78655848e-02 4.62924678e-02 1.04158053e-01 3.47193509e-02 2.31462339e-02 3.47193509e-02 5.78655848e-02 3.47193509e-02 6.94387018e-02 8.10118187e-02 6.94387018e-02 6.94387018e-02 1.15731170e-01 8.10118187e-02 9.25849357e-02 9.25849357e-02 6.94387018e-02 6.94387018e-02 4.62924678e-02 8.10118187e-02 4.62924678e-02 1.15731170e-02 4.62924678e-02 4.62924678e-02 3.47193509e-02 1.15731170e-01 1.04158053e-01 9.25849357e-02 9.25849357e-02 5.78655848e-02 6.94387018e-02 4.62924678e-02 6.94387018e-02 4.62924678e-02 4.62924678e-02 3.47193509e-02 8.10118187e-02 9.25849357e-02 9.25849357e-02 9.25849357e-02 1.15731170e-01 1.15731170e-01 9.25849357e-02 8.10118187e-02 8.10118187e-02 8.10118187e-02 5.78655848e-02 4.62924678e-02 5.78655848e-02 1.04158053e-01 1.27304287e-01 9.25849357e-02 4.62924678e-02 8.10118187e-02 9.25849357e-02 4.62924678e-02 6.94387018e-02 1.15731170e-01 8.10118187e-02 6.94387018e-02 1.38877404e-01 6.94387018e-02 6.94387018e-02 1.27304287e-01 1.38877404e-01 1.27304287e-01 8.10118187e-02 9.25849357e-02 3.47193509e-02 8.10118187e-02 1.15731170e-01 6.94387018e-02 5.78655848e-02 6.94387018e-02 1.04158053e-01 4.62924678e-02 9.25849357e-02 8.10118187e-02 3.47193509e-02 6.94387018e-02 4.62924678e-02 1.15731170e-01 1.15731170e-01 1.15731170e-01 9.25849357e-02 1.04158053e-01 1.38877404e-01 1.38877404e-01 1.04158053e-01 4.62924678e-02 4.62924678e-02 9.25849357e-02 2.31462339e-02 6.94387018e-02 8.10118187e-02 1.27304287e-01 9.25849357e-02 1.62023637e-01 1.04158053e-01 4.62924678e-02 3.47193509e-02 1.04158053e-01 9.25849357e-02 4.62924678e-02 6.94387018e-02 1.15731170e-01 1.73596754e-01 6.94387018e-02 9.25849357e-02 1.38877404e-01 1.50450520e-01 1.15731170e-01 5.78655848e-02 8.10118187e-02 1.85169871e-01 1.15731170e-01 1.38877404e-01 8.10118187e-02 9.25849357e-02 9.25849357e-02 1.27304287e-01 1.15731170e-01 5.78655848e-02 4.62924678e-02 8.10118187e-02 1.15731170e-01 1.50450520e-01 6.94387018e-02 1.27304287e-01 5.78655848e-02 1.27304287e-01 6.94387018e-02 5.78655848e-02 2.31462339e-02 5.78655848e-02 4.62924678e-02 3.47193509e-02 3.47193509e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_low_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_low_BDTG.weights.xml new file mode 100644 index 000000000000..592bcea1def8 --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_low_BDTG.weights.xml @@ -0,0 +1,6088 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.23627923e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 1.85441885e+00 1.23627923e+00 0.00000000e+00 1.23627923e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 1.23627923e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 6.18139616e-01 1.23627923e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.85441885e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 1.23627923e+00 1.23627923e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 6.18139616e-01 6.18139616e-01 0.00000000e+00 1.23627923e+00 0.00000000e+00 1.85441885e+00 1.23627923e+00 2.47255847e+00 6.18139616e-01 6.18139616e-01 6.18139616e-01 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 1.85441885e+00 1.23627923e+00 1.23627923e+00 6.18139616e-01 0.00000000e+00 1.85441885e+00 6.18139616e-01 0.00000000e+00 1.23627923e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.85441885e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.18139616e-01 0.00000000e+00 1.85441885e+00 6.18139616e-01 1.23627923e+00 6.18139616e-01 1.23627923e+00 6.18139616e-01 1.23627923e+00 1.23627923e+00 6.18139616e-01 6.18139616e-01 1.23627923e+00 1.23627923e+00 6.18139616e-01 1.23627923e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 1.23627923e+00 6.18139616e-01 0.00000000e+00 1.85441885e+00 1.23627923e+00 6.18139616e-01 6.18139616e-01 6.18139616e-01 1.85441885e+00 0.00000000e+00 1.23627923e+00 0.00000000e+00 1.23627923e+00 1.23627923e+00 6.18139616e-01 1.23627923e+00 6.18139616e-01 6.18139616e-01 2.47255847e+00 1.23627923e+00 0.00000000e+00 1.23627923e+00 6.18139616e-01 1.23627923e+00 6.18139616e-01 1.23627923e+00 1.23627923e+00 0.00000000e+00 1.23627923e+00 6.18139616e-01 2.47255847e+00 1.23627923e+00 1.23627923e+00 6.18139616e-01 0.00000000e+00 6.18139616e-01 0.00000000e+00 6.18139616e-01 0.00000000e+00 0.00000000e+00 6.18139616e-01 1.23627923e+00 1.85441885e+00 1.23627923e+00 1.23627923e+00 0.00000000e+00 0.00000000e+00 1.23627923e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.85441885e+00 2.47255847e+00 1.23627923e+00 6.18139616e-01 3.09069808e+00 2.47255847e+00 6.18139616e-01 1.23627923e+00 2.47255847e+00 1.85441885e+00 0.00000000e+00 1.23627923e+00 1.23627923e+00 6.18139616e-01 1.85441885e+00 2.47255847e+00 3.09069808e+00 3.09069808e+00 2.47255847e+00 1.85441885e+00 2.47255847e+00 1.85441885e+00 3.09069808e+00 3.70883770e+00 2.47255847e+00 3.70883770e+00 1.23627923e+00 4.32697732e+00 6.18139616e-01 2.47255847e+00 1.23627923e+00 3.09069808e+00 3.09069808e+00 2.47255847e+00 3.70883770e+00 2.47255847e+00 2.47255847e+00 4.94511693e+00 6.79953578e+00 1.85441885e+00 2.47255847e+00 1.85441885e+00 1.85441885e+00 2.47255847e+00 1.85441885e+00 1.23627923e+00 5.56325655e+00 4.32697732e+00 1.11265131e+01 0.00000000e+00 + + + + + 6.18050260e-02 1.97776083e-01 3.46108145e-01 7.54021317e-01 8.15826343e-01 9.51797400e-01 1.32262756e+00 1.06304645e+00 1.24846152e+00 1.38443258e+00 1.59456967e+00 1.85415078e+00 1.84178977e+00 1.65637470e+00 1.86651178e+00 1.85415078e+00 1.65637470e+00 1.50804263e+00 1.70581872e+00 1.64401369e+00 1.73054073e+00 1.47095962e+00 1.40915459e+00 1.60693068e+00 1.52040364e+00 1.64401369e+00 1.50804263e+00 1.55748665e+00 1.59456967e+00 1.75526274e+00 1.65637470e+00 1.49568163e+00 1.49568163e+00 1.39679359e+00 1.48332062e+00 1.37207158e+00 1.45859861e+00 1.61929168e+00 1.34734957e+00 1.31026655e+00 1.37207158e+00 1.48332062e+00 1.48332062e+00 1.29790555e+00 1.28554454e+00 1.43387660e+00 1.39679359e+00 1.50804263e+00 1.13721248e+00 1.27318354e+00 1.16193449e+00 1.00124142e+00 1.39679359e+00 1.28554454e+00 1.21137851e+00 1.27318354e+00 1.31026655e+00 1.13721248e+00 1.19901750e+00 1.23610052e+00 9.76519410e-01 1.12485147e+00 1.19901750e+00 1.26082253e+00 1.29790555e+00 1.08776846e+00 1.13721248e+00 1.18665650e+00 1.13721248e+00 1.14957348e+00 1.16193449e+00 1.00124142e+00 1.05068544e+00 9.51797400e-01 1.17429549e+00 1.02596343e+00 1.07540745e+00 1.02596343e+00 1.01360243e+00 1.19901750e+00 1.02596343e+00 7.04577296e-01 1.03832444e+00 9.64158405e-01 9.27075390e-01 8.89992374e-01 1.01360243e+00 1.01360243e+00 9.14714384e-01 9.14714384e-01 1.08776846e+00 9.76519410e-01 6.67494281e-01 8.65270364e-01 8.89992374e-01 8.65270364e-01 9.27075390e-01 7.78743327e-01 7.41660312e-01 8.40548353e-01 8.03465338e-01 7.41660312e-01 7.78743327e-01 7.29299307e-01 7.41660312e-01 8.89992374e-01 9.51797400e-01 8.40548353e-01 8.65270364e-01 8.40548353e-01 7.66382322e-01 7.91104333e-01 7.66382322e-01 8.40548353e-01 6.92216291e-01 7.91104333e-01 8.15826343e-01 6.42772270e-01 7.54021317e-01 7.04577296e-01 6.67494281e-01 7.78743327e-01 7.16938301e-01 7.91104333e-01 6.42772270e-01 7.04577296e-01 6.18050260e-01 5.80967244e-01 7.41660312e-01 7.91104333e-01 3.70830156e-01 7.66382322e-01 4.94440208e-01 6.67494281e-01 5.19162218e-01 5.93328249e-01 7.78743327e-01 5.19162218e-01 6.18050260e-01 6.67494281e-01 6.67494281e-01 4.57357192e-01 6.55133275e-01 6.18050260e-01 5.31523223e-01 5.06801213e-01 4.94440208e-01 7.16938301e-01 6.42772270e-01 6.79855286e-01 5.31523223e-01 3.83191161e-01 4.82079203e-01 4.82079203e-01 6.42772270e-01 6.92216291e-01 6.79855286e-01 5.93328249e-01 4.69718197e-01 4.94440208e-01 4.94440208e-01 6.05689255e-01 5.43884229e-01 4.07913171e-01 5.43884229e-01 5.68606239e-01 5.31523223e-01 5.06801213e-01 5.06801213e-01 5.31523223e-01 4.94440208e-01 5.06801213e-01 5.19162218e-01 6.05689255e-01 6.18050260e-01 5.56245234e-01 6.18050260e-01 4.32635182e-01 3.95552166e-01 4.82079203e-01 5.06801213e-01 5.80967244e-01 5.06801213e-01 3.95552166e-01 4.32635182e-01 4.57357192e-01 4.94440208e-01 5.56245234e-01 3.70830156e-01 3.83191161e-01 5.43884229e-01 4.44996187e-01 4.07913171e-01 4.32635182e-01 4.82079203e-01 5.56245234e-01 3.46108145e-01 3.09025130e-01 4.94440208e-01 4.94440208e-01 4.44996187e-01 4.20274177e-01 3.95552166e-01 5.56245234e-01 3.46108145e-01 4.69718197e-01 6.05689255e-01 5.68606239e-01 4.32635182e-01 4.07913171e-01 3.33747140e-01 5.19162218e-01 5.68606239e-01 3.58469151e-01 6.05689255e-01 5.43884229e-01 3.58469151e-01 3.46108145e-01 5.68606239e-01 4.20274177e-01 4.57357192e-01 4.57357192e-01 4.20274177e-01 4.57357192e-01 3.21386135e-01 3.95552166e-01 5.06801213e-01 4.32635182e-01 5.43884229e-01 3.70830156e-01 2.71942114e-01 3.33747140e-01 4.82079203e-01 4.69718197e-01 3.95552166e-01 5.06801213e-01 3.21386135e-01 3.83191161e-01 3.21386135e-01 2.71942114e-01 3.70830156e-01 4.44996187e-01 3.46108145e-01 2.96664125e-01 3.95552166e-01 4.20274177e-01 4.82079203e-01 4.32635182e-01 3.58469151e-01 3.58469151e-01 4.44996187e-01 5.06801213e-01 4.82079203e-01 3.46108145e-01 4.07913171e-01 4.57357192e-01 4.44996187e-01 4.82079203e-01 3.46108145e-01 3.95552166e-01 4.20274177e-01 3.95552166e-01 4.32635182e-01 3.70830156e-01 4.44996187e-01 3.83191161e-01 4.20274177e-01 3.33747140e-01 3.46108145e-01 4.57357192e-01 2.59581109e-01 2.59581109e-01 4.44996187e-01 2.47220104e-01 3.33747140e-01 2.96664125e-01 3.70830156e-01 2.34859099e-01 3.58469151e-01 3.46108145e-01 4.57357192e-01 3.58469151e-01 2.22498094e-01 2.84303120e-01 2.71942114e-01 4.57357192e-01 3.83191161e-01 3.09025130e-01 4.07913171e-01 2.84303120e-01 2.71942114e-01 3.70830156e-01 2.59581109e-01 3.21386135e-01 2.34859099e-01 3.95552166e-01 2.59581109e-01 2.47220104e-01 3.70830156e-01 2.59581109e-01 3.95552166e-01 4.44996187e-01 2.71942114e-01 3.09025130e-01 2.34859099e-01 3.58469151e-01 2.71942114e-01 3.21386135e-01 2.34859099e-01 2.96664125e-01 3.09025130e-01 4.32635182e-01 2.47220104e-01 2.59581109e-01 3.70830156e-01 4.20274177e-01 3.70830156e-01 2.71942114e-01 3.09025130e-01 2.71942114e-01 3.21386135e-01 3.33747140e-01 3.95552166e-01 3.33747140e-01 4.20274177e-01 4.07913171e-01 2.59581109e-01 4.82079203e-01 4.32635182e-01 2.22498094e-01 2.47220104e-01 2.47220104e-01 3.95552166e-01 4.07913171e-01 2.96664125e-01 2.84303120e-01 2.84303120e-01 2.10137088e-01 2.71942114e-01 3.21386135e-01 3.21386135e-01 2.71942114e-01 2.47220104e-01 2.10137088e-01 1.48332062e-01 2.47220104e-01 2.47220104e-01 1.97776083e-01 1.97776083e-01 4.82079203e-01 2.47220104e-01 2.84303120e-01 3.46108145e-01 3.09025130e-01 2.34859099e-01 2.59581109e-01 1.85415078e-01 3.33747140e-01 3.95552166e-01 3.46108145e-01 3.21386135e-01 1.23610052e-01 2.71942114e-01 2.34859099e-01 2.96664125e-01 2.34859099e-01 3.21386135e-01 2.71942114e-01 2.47220104e-01 2.22498094e-01 3.09025130e-01 2.10137088e-01 1.48332062e-01 2.71942114e-01 1.73054073e-01 3.33747140e-01 2.47220104e-01 2.71942114e-01 1.97776083e-01 2.59581109e-01 2.22498094e-01 3.46108145e-01 2.84303120e-01 3.46108145e-01 5.19162218e-01 3.21386135e-01 1.73054073e-01 3.33747140e-01 2.84303120e-01 2.96664125e-01 4.07913171e-01 3.33747140e-01 5.19162218e-01 2.22498094e-01 2.34859099e-01 3.33747140e-01 3.46108145e-01 1.97776083e-01 2.22498094e-01 4.82079203e-01 3.95552166e-01 2.34859099e-01 2.34859099e-01 1.85415078e-01 2.71942114e-01 3.09025130e-01 1.97776083e-01 4.94440208e-02 1.97776083e-01 2.71942114e-01 3.58469151e-01 4.69718197e-01 3.83191161e-01 2.34859099e-01 1.85415078e-01 8.65270364e-02 7.41660312e-02 1.60693068e-01 1.85415078e-01 2.59581109e-01 3.83191161e-01 5.19162218e-01 0.00000000e+00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_medium_cb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_medium_cb_BDTG.weights.xml new file mode 100644 index 000000000000..33e2d60966aa --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_medium_cb_BDTG.weights.xml @@ -0,0 +1,6058 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 3.25484707e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.25484707e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 0.00000000e+00 3.25484707e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 4.88227061e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 3.25484707e-01 3.25484707e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 3.25484707e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 3.25484707e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 3.25484707e-01 0.00000000e+00 3.25484707e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 4.88227061e-01 4.88227061e-01 1.62742354e-01 0.00000000e+00 3.25484707e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.25484707e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 4.88227061e-01 0.00000000e+00 0.00000000e+00 3.25484707e-01 0.00000000e+00 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.25484707e-01 4.88227061e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 8.13711768e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 3.25484707e-01 4.88227061e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.88227061e-01 0.00000000e+00 0.00000000e+00 3.25484707e-01 0.00000000e+00 4.88227061e-01 1.62742354e-01 3.25484707e-01 3.25484707e-01 0.00000000e+00 0.00000000e+00 3.25484707e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 4.88227061e-01 0.00000000e+00 3.25484707e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 1.62742354e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 6.50969414e-01 4.88227061e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 3.25484707e-01 0.00000000e+00 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.25484707e-01 3.25484707e-01 1.62742354e-01 3.25484707e-01 3.25484707e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.88227061e-01 3.25484707e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 1.62742354e-01 4.88227061e-01 3.25484707e-01 0.00000000e+00 3.25484707e-01 3.25484707e-01 1.62742354e-01 3.25484707e-01 4.88227061e-01 1.62742354e-01 1.62742354e-01 4.88227061e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 4.88227061e-01 1.62742354e-01 6.50969414e-01 3.25484707e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 3.25484707e-01 1.62742354e-01 1.62742354e-01 6.50969414e-01 1.62742354e-01 4.88227061e-01 0.00000000e+00 4.88227061e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 3.25484707e-01 3.25484707e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.25484707e-01 9.76454121e-01 3.25484707e-01 3.25484707e-01 4.88227061e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 1.62742354e-01 6.50969414e-01 1.62742354e-01 0.00000000e+00 6.50969414e-01 1.62742354e-01 8.13711768e-01 3.25484707e-01 3.25484707e-01 4.88227061e-01 0.00000000e+00 0.00000000e+00 1.62742354e-01 1.62742354e-01 3.25484707e-01 3.25484707e-01 3.25484707e-01 3.25484707e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.62742354e-01 0.00000000e+00 3.25484707e-01 1.62742354e-01 0.00000000e+00 0.00000000e+00 4.88227061e-01 3.25484707e-01 4.88227061e-01 4.88227061e-01 4.88227061e-01 8.13711768e-01 1.62742354e-01 6.50969414e-01 3.25484707e-01 3.25484707e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 4.88227061e-01 0.00000000e+00 3.25484707e-01 1.62742354e-01 3.25484707e-01 1.62742354e-01 3.25484707e-01 3.25484707e-01 1.62742354e-01 1.62742354e-01 3.25484707e-01 3.25484707e-01 0.00000000e+00 4.88227061e-01 1.62742354e-01 3.25484707e-01 1.62742354e-01 1.62742354e-01 3.25484707e-01 6.50969414e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 1.62742354e-01 3.25484707e-01 1.62742354e-01 1.62742354e-01 0.00000000e+00 1.62742354e-01 0.00000000e+00 9.76454121e-01 1.30193883e+00 1.62742354e-01 0.00000000e+00 0.00000000e+00 3.25484707e-01 3.25484707e-01 4.88227061e-01 3.25484707e-01 3.25484707e-01 1.62742354e-01 1.62742354e-01 4.88227061e-01 1.62742354e-01 3.25484707e-01 4.88227061e-01 9.76454121e-01 1.62742354e-01 0.00000000e+00 4.88227061e-01 6.50969414e-01 1.62742354e-01 6.50969414e-01 3.25484707e-01 8.13711768e-01 3.25484707e-01 3.25484707e-01 1.62742354e-01 4.88227061e-01 0.00000000e+00 0.00000000e+00 8.13711768e-01 4.88227061e-01 4.88227061e-01 0.00000000e+00 3.25484707e-01 3.25484707e-01 8.13711768e-01 6.50969414e-01 6.50969414e-01 6.50969414e-01 3.25484707e-01 3.25484707e-01 4.88227061e-01 1.62742354e-01 4.88227061e-01 3.25484707e-01 3.25484707e-01 1.62742354e-01 4.88227061e-01 6.50969414e-01 0.00000000e+00 6.50969414e-01 3.25484707e-01 6.50969414e-01 1.62742354e-01 6.50969414e-01 8.13711768e-01 4.88227061e-01 3.25484707e-01 6.50969414e-01 3.25484707e-01 4.88227061e-01 3.25484707e-01 1.62742354e-01 3.25484707e-01 6.50969414e-01 4.88227061e-01 1.62742354e-01 6.50969414e-01 3.25484707e-01 3.25484707e-01 3.25484707e-01 3.25484707e-01 3.25484707e-01 6.50969414e-01 1.62742354e-01 8.13711768e-01 6.50969414e-01 6.50969414e-01 1.62742354e-01 4.88227061e-01 8.13711768e-01 4.88227061e-01 1.62742354e-01 6.50969414e-01 4.88227061e-01 4.88227061e-01 6.50969414e-01 4.88227061e-01 6.50969414e-01 4.88227061e-01 8.13711768e-01 4.88227061e-01 1.62742354e-01 1.30193883e+00 1.46468118e+00 4.88227061e-01 8.13711768e-01 6.50969414e-01 6.50969414e-01 1.13919647e+00 3.25484707e-01 8.13711768e-01 8.13711768e-01 1.13919647e+00 0.00000000e+00 9.76454121e-01 9.76454121e-01 4.88227061e-01 1.62742354e-01 6.50969414e-01 6.50969414e-01 9.76454121e-01 4.88227061e-01 6.50969414e-01 3.25484707e-01 1.13919647e+00 8.13711768e-01 9.76454121e-01 8.13711768e-01 8.13711768e-01 1.62742354e-01 1.30193883e+00 6.50969414e-01 8.13711768e-01 8.13711768e-01 3.25484707e-01 6.50969414e-01 6.50969414e-01 1.62742354e+00 1.46468118e+00 9.76454121e-01 8.13711768e-01 4.88227061e-01 1.30193883e+00 1.62742354e+00 6.50969414e-01 9.76454121e-01 1.13919647e+00 1.79016589e+00 1.13919647e+00 1.46468118e+00 4.88227061e-01 1.13919647e+00 1.46468118e+00 1.13919647e+00 8.13711768e-01 1.46468118e+00 1.13919647e+00 2.11565060e+00 1.62742354e+00 9.76454121e-01 1.13919647e+00 1.46468118e+00 1.95290824e+00 1.62742354e+00 1.79016589e+00 1.46468118e+00 2.27839295e+00 1.46468118e+00 1.62742354e+00 1.30193883e+00 1.79016589e+00 1.46468118e+00 1.79016589e+00 2.60387766e+00 1.46468118e+00 1.95290824e+00 2.44113530e+00 2.60387766e+00 2.76662001e+00 2.76662001e+00 1.13919647e+00 3.25484707e+00 1.62742354e+00 2.76662001e+00 2.60387766e+00 3.90581648e+00 3.74307413e+00 3.41758942e+00 2.76662001e+00 3.41758942e+00 3.74307413e+00 5.20775531e+00 4.71952825e+00 5.37049767e+00 4.39404355e+00 4.23130119e+00 4.71952825e+00 5.04501296e+00 5.04501296e+00 6.50969414e+00 5.53324002e+00 4.39404355e+00 5.20775531e+00 5.85872473e+00 8.46260238e+00 9.76454121e+00 2.11565060e+00 7.32340591e+00 4.06855884e+00 + + + + + 6.28416813e-01 3.77050088e+00 7.58510118e+00 9.73494818e+00 9.37112792e+00 9.73494818e+00 8.07019486e+00 7.58510118e+00 6.55978954e+00 6.05264615e+00 5.29193106e+00 4.75171310e+00 4.23354485e+00 4.36584312e+00 3.84767487e+00 3.32950662e+00 3.60512803e+00 3.16413378e+00 3.45078004e+00 2.83338809e+00 2.73416438e+00 2.91056208e+00 2.65699039e+00 2.57981639e+00 2.54674182e+00 2.21599613e+00 2.52469211e+00 2.23804584e+00 1.99549900e+00 2.11677242e+00 1.91832501e+00 1.95139958e+00 1.71987759e+00 1.77500188e+00 1.79705159e+00 1.80807645e+00 1.78602673e+00 1.54347989e+00 1.62065389e+00 1.26785848e+00 1.54347989e+00 1.45528104e+00 1.17965963e+00 1.43323133e+00 1.20170934e+00 1.40015676e+00 1.37810705e+00 1.21273420e+00 1.14658506e+00 1.21273420e+00 1.19068449e+00 1.02531164e+00 9.48137648e-01 1.06941107e+00 9.26087935e-01 1.04736136e+00 9.37112792e-01 1.22375906e+00 1.12453535e+00 1.01428679e+00 1.09146078e+00 1.11351049e+00 7.82764802e-01 8.93013366e-01 8.15839372e-01 8.81988510e-01 8.04814515e-01 1.02531164e+00 8.81988510e-01 1.04736136e+00 8.37889084e-01 8.37889084e-01 9.26087935e-01 7.93789659e-01 7.71739946e-01 9.26087935e-01 7.93789659e-01 8.59938797e-01 6.39441670e-01 7.82764802e-01 8.59938797e-01 8.70963653e-01 7.16615664e-01 7.05590808e-01 8.04814515e-01 7.93789659e-01 7.49690233e-01 6.83541095e-01 7.05590808e-01 5.84317388e-01 7.93789659e-01 7.93789659e-01 6.83541095e-01 5.62267675e-01 7.82764802e-01 6.39441670e-01 7.71739946e-01 7.27640521e-01 7.27640521e-01 6.06367100e-01 5.40217962e-01 6.94565951e-01 6.83541095e-01 6.06367100e-01 4.96118537e-01 6.17391957e-01 6.39441670e-01 5.62267675e-01 6.83541095e-01 6.39441670e-01 6.06367100e-01 6.17391957e-01 5.51242819e-01 6.28416813e-01 6.39441670e-01 4.85093680e-01 5.95342244e-01 5.73292531e-01 4.85093680e-01 3.74845117e-01 5.40217962e-01 4.96118537e-01 4.29969399e-01 5.95342244e-01 5.18168249e-01 4.52019111e-01 4.07919686e-01 4.40994255e-01 5.18168249e-01 4.96118537e-01 3.63820260e-01 3.74845117e-01 4.96118537e-01 3.74845117e-01 4.96118537e-01 3.96894829e-01 4.96118537e-01 4.85093680e-01 4.29969399e-01 5.84317388e-01 3.30745691e-01 3.08695978e-01 3.96894829e-01 4.29969399e-01 4.63043968e-01 2.86646266e-01 4.52019111e-01 4.96118537e-01 3.63820260e-01 4.18944542e-01 3.08695978e-01 4.07919686e-01 4.40994255e-01 5.29193106e-01 3.30745691e-01 3.41770548e-01 4.18944542e-01 3.96894829e-01 4.96118537e-01 3.96894829e-01 4.63043968e-01 3.30745691e-01 3.74845117e-01 4.07919686e-01 5.07143393e-01 3.74845117e-01 3.96894829e-01 3.41770548e-01 3.63820260e-01 3.52795404e-01 3.52795404e-01 3.52795404e-01 3.63820260e-01 3.52795404e-01 4.07919686e-01 3.30745691e-01 3.30745691e-01 2.97671122e-01 4.29969399e-01 3.08695978e-01 3.63820260e-01 4.07919686e-01 3.74845117e-01 4.29969399e-01 3.19720835e-01 3.41770548e-01 3.74845117e-01 3.19720835e-01 3.30745691e-01 2.97671122e-01 2.86646266e-01 3.52795404e-01 2.75621409e-01 2.75621409e-01 3.96894829e-01 2.86646266e-01 2.86646266e-01 3.08695978e-01 3.85869973e-01 2.20497127e-01 3.74845117e-01 3.19720835e-01 3.19720835e-01 2.53571697e-01 2.53571697e-01 2.09472271e-01 2.86646266e-01 3.74845117e-01 3.19720835e-01 2.64596553e-01 2.75621409e-01 3.96894829e-01 2.86646266e-01 2.42546840e-01 2.75621409e-01 3.08695978e-01 2.97671122e-01 2.42546840e-01 3.74845117e-01 2.97671122e-01 2.86646266e-01 2.86646266e-01 2.31521984e-01 2.53571697e-01 2.42546840e-01 3.52795404e-01 3.08695978e-01 2.42546840e-01 3.85869973e-01 2.86646266e-01 2.42546840e-01 1.98447415e-01 1.98447415e-01 2.75621409e-01 2.75621409e-01 1.54347989e-01 2.97671122e-01 2.75621409e-01 2.31521984e-01 2.75621409e-01 3.19720835e-01 1.87422558e-01 2.86646266e-01 2.09472271e-01 1.87422558e-01 2.31521984e-01 3.08695978e-01 2.53571697e-01 1.98447415e-01 2.97671122e-01 2.53571697e-01 2.31521984e-01 3.08695978e-01 2.42546840e-01 2.53571697e-01 2.09472271e-01 2.31521984e-01 2.97671122e-01 2.97671122e-01 3.08695978e-01 2.64596553e-01 2.09472271e-01 1.98447415e-01 2.64596553e-01 1.54347989e-01 2.42546840e-01 1.87422558e-01 2.42546840e-01 2.53571697e-01 2.20497127e-01 2.20497127e-01 1.98447415e-01 1.98447415e-01 2.31521984e-01 1.76397702e-01 2.64596553e-01 2.53571697e-01 2.53571697e-01 1.65372846e-01 2.53571697e-01 2.42546840e-01 2.09472271e-01 2.20497127e-01 1.76397702e-01 2.20497127e-01 2.97671122e-01 2.20497127e-01 1.54347989e-01 1.32298276e-01 1.43323133e-01 1.76397702e-01 1.76397702e-01 1.65372846e-01 1.65372846e-01 2.53571697e-01 2.42546840e-01 1.76397702e-01 1.43323133e-01 2.09472271e-01 2.09472271e-01 2.53571697e-01 1.54347989e-01 1.32298276e-01 1.10248564e-01 2.31521984e-01 2.75621409e-01 1.76397702e-01 2.53571697e-01 1.10248564e-01 2.42546840e-01 1.76397702e-01 1.76397702e-01 2.31521984e-01 1.21273420e-01 1.43323133e-01 1.98447415e-01 2.20497127e-01 2.20497127e-01 1.98447415e-01 2.09472271e-01 1.54347989e-01 1.43323133e-01 1.87422558e-01 2.20497127e-01 1.32298276e-01 1.54347989e-01 1.21273420e-01 1.87422558e-01 1.76397702e-01 1.87422558e-01 2.09472271e-01 1.43323133e-01 1.87422558e-01 1.54347989e-01 2.75621409e-01 1.43323133e-01 1.65372846e-01 1.87422558e-01 2.09472271e-01 1.98447415e-01 1.76397702e-01 2.31521984e-01 2.42546840e-01 2.64596553e-01 1.76397702e-01 2.64596553e-01 1.32298276e-01 1.65372846e-01 1.76397702e-01 2.09472271e-01 2.53571697e-01 1.87422558e-01 2.53571697e-01 2.64596553e-01 1.32298276e-01 1.65372846e-01 2.20497127e-01 9.92237074e-02 2.20497127e-01 2.09472271e-01 2.20497127e-01 1.54347989e-01 1.54347989e-01 2.20497127e-01 1.32298276e-01 8.81988510e-02 2.42546840e-01 1.65372846e-01 1.87422558e-01 1.87422558e-01 9.92237074e-02 1.21273420e-01 1.43323133e-01 2.09472271e-01 1.32298276e-01 1.65372846e-01 1.76397702e-01 1.76397702e-01 9.92237074e-02 1.21273420e-01 9.92237074e-02 8.81988510e-02 2.53571697e-01 2.64596553e-01 2.20497127e-01 1.87422558e-01 2.75621409e-01 1.98447415e-01 1.87422558e-01 1.87422558e-01 1.54347989e-01 1.43323133e-01 2.20497127e-01 1.65372846e-01 1.43323133e-01 1.65372846e-01 1.10248564e-01 1.87422558e-01 1.54347989e-01 2.31521984e-01 1.21273420e-01 1.21273420e-01 2.09472271e-01 1.76397702e-01 9.92237074e-02 1.65372846e-01 1.76397702e-01 1.43323133e-01 1.87422558e-01 1.10248564e-01 1.10248564e-01 1.87422558e-01 1.21273420e-01 1.87422558e-01 2.53571697e-01 1.65372846e-01 1.32298276e-01 2.20497127e-01 1.21273420e-01 1.65372846e-01 1.87422558e-01 1.32298276e-01 1.32298276e-01 1.21273420e-01 1.54347989e-01 1.98447415e-01 1.98447415e-01 1.54347989e-01 1.21273420e-01 1.87422558e-01 1.21273420e-01 8.81988510e-02 1.10248564e-01 1.43323133e-01 1.76397702e-01 1.32298276e-01 1.21273420e-01 1.32298276e-01 1.54347989e-01 2.31521984e-01 1.76397702e-01 9.92237074e-02 1.76397702e-01 1.54347989e-01 1.10248564e-01 1.76397702e-01 1.32298276e-01 1.21273420e-01 1.32298276e-01 7.71739946e-02 8.81988510e-02 1.10248564e-01 1.32298276e-01 1.54347989e-01 1.10248564e-01 2.86646266e-01 1.10248564e-01 1.43323133e-01 1.43323133e-01 1.87422558e-01 1.76397702e-01 8.81988510e-02 6.61491382e-02 1.98447415e-01 2.09472271e-01 2.42546840e-01 9.92237074e-02 9.92237074e-02 9.92237074e-02 1.65372846e-01 7.71739946e-02 1.76397702e-01 1.43323133e-01 7.71739946e-02 2.20497127e-01 1.32298276e-01 1.32298276e-01 1.43323133e-01 1.65372846e-01 2.42546840e-01 2.42546840e-01 1.76397702e-01 2.20497127e-01 1.21273420e-01 2.31521984e-01 1.32298276e-01 1.65372846e-01 6.61491382e-02 1.43323133e-01 1.21273420e-01 1.76397702e-01 1.32298276e-01 1.21273420e-01 1.54347989e-01 1.21273420e-01 1.32298276e-01 1.65372846e-01 1.54347989e-01 1.65372846e-01 1.98447415e-01 1.10248564e-01 1.43323133e-01 1.65372846e-01 1.32298276e-01 1.21273420e-01 2.31521984e-01 1.54347989e-01 1.32298276e-01 1.76397702e-01 1.43323133e-01 1.87422558e-01 2.09472271e-01 7.71739946e-02 1.21273420e-01 1.32298276e-01 2.42546840e-01 1.10248564e-01 9.92237074e-02 1.65372846e-01 1.65372846e-01 1.54347989e-01 1.65372846e-01 4.40994255e-02 1.43323133e-01 1.65372846e-01 1.65372846e-01 1.32298276e-01 1.43323133e-01 9.92237074e-02 1.76397702e-01 1.21273420e-01 1.43323133e-01 1.43323133e-01 1.32298276e-01 1.87422558e-01 1.54347989e-01 2.09472271e-01 1.43323133e-01 1.21273420e-01 6.61491382e-02 6.61491382e-02 7.71739946e-02 1.10248564e-01 1.32298276e-01 1.32298276e-01 9.92237074e-02 1.76397702e-01 1.76397702e-01 1.32298276e-01 1.43323133e-01 1.32298276e-01 9.92237074e-02 1.76397702e-01 1.65372846e-01 1.54347989e-01 1.54347989e-01 1.10248564e-01 1.65372846e-01 1.32298276e-01 8.81988510e-02 1.32298276e-01 1.43323133e-01 1.43323133e-01 1.43323133e-01 1.98447415e-01 1.54347989e-01 8.81988510e-02 1.32298276e-01 9.92237074e-02 1.21273420e-01 1.54347989e-01 1.76397702e-01 9.92237074e-02 1.65372846e-01 1.65372846e-01 1.43323133e-01 2.09472271e-01 9.92237074e-02 1.32298276e-01 2.20497127e-01 1.76397702e-01 1.21273420e-01 1.32298276e-01 8.81988510e-02 1.43323133e-01 1.32298276e-01 1.10248564e-01 1.54347989e-01 1.21273420e-01 1.21273420e-01 1.76397702e-01 1.54347989e-01 8.81988510e-02 1.87422558e-01 2.20497127e-01 1.43323133e-01 1.87422558e-01 1.43323133e-01 1.21273420e-01 1.32298276e-01 1.21273420e-01 1.54347989e-01 1.65372846e-01 1.87422558e-01 2.09472271e-01 2.09472271e-01 1.98447415e-01 1.54347989e-01 1.76397702e-01 1.43323133e-01 1.65372846e-01 1.32298276e-01 1.54347989e-01 9.92237074e-02 1.43323133e-01 1.65372846e-01 1.21273420e-01 9.92237074e-02 1.10248564e-01 1.21273420e-01 1.43323133e-01 7.71739946e-02 1.32298276e-01 1.10248564e-01 7.71739946e-02 4.40994255e-02 6.61491382e-02 0.00000000e+00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_medium_ec_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_medium_ec_BDTG.weights.xml new file mode 100644 index 000000000000..a28218ca08ba --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_medium_ec_BDTG.weights.xml @@ -0,0 +1,6088 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 6.31236571e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.31236571e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.31236571e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 6.31236571e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 6.31236571e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 6.31236571e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 9.46854856e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 3.15618285e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 6.31236571e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 6.31236571e-01 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 1.26247314e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.31236571e-01 3.15618285e-01 3.15618285e-01 6.31236571e-01 3.15618285e-01 9.46854856e-01 3.15618285e-01 6.31236571e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 3.15618285e-01 9.46854856e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.31236571e-01 0.00000000e+00 6.31236571e-01 0.00000000e+00 3.15618285e-01 3.15618285e-01 3.15618285e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 6.31236571e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 6.31236571e-01 3.15618285e-01 3.15618285e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 6.31236571e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 3.15618285e-01 6.31236571e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 9.46854856e-01 6.31236571e-01 0.00000000e+00 3.15618285e-01 6.31236571e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 9.46854856e-01 3.15618285e-01 9.46854856e-01 3.15618285e-01 6.31236571e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 6.31236571e-01 3.15618285e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 3.15618285e-01 6.31236571e-01 6.31236571e-01 1.26247314e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 3.15618285e-01 6.31236571e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 6.31236571e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 3.15618285e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 6.31236571e-01 6.31236571e-01 0.00000000e+00 3.15618285e-01 6.31236571e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 6.31236571e-01 9.46854856e-01 0.00000000e+00 1.57809143e+00 1.57809143e+00 9.46854856e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 6.31236571e-01 3.15618285e-01 6.31236571e-01 6.31236571e-01 9.46854856e-01 6.31236571e-01 3.15618285e-01 3.15618285e-01 6.31236571e-01 3.15618285e-01 3.15618285e-01 3.15618285e-01 3.15618285e-01 9.46854856e-01 3.15618285e-01 6.31236571e-01 6.31236571e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.15618285e-01 3.15618285e-01 3.15618285e-01 9.46854856e-01 1.57809143e+00 6.31236571e-01 0.00000000e+00 3.15618285e-01 6.31236571e-01 3.15618285e-01 3.15618285e-01 0.00000000e+00 6.31236571e-01 0.00000000e+00 9.46854856e-01 6.31236571e-01 0.00000000e+00 9.46854856e-01 3.15618285e-01 1.26247314e+00 6.31236571e-01 0.00000000e+00 9.46854856e-01 6.31236571e-01 1.26247314e+00 3.15618285e-01 6.31236571e-01 6.31236571e-01 0.00000000e+00 0.00000000e+00 3.15618285e-01 6.31236571e-01 1.57809143e+00 6.31236571e-01 1.57809143e+00 0.00000000e+00 1.26247314e+00 3.15618285e-01 6.31236571e-01 0.00000000e+00 3.15618285e-01 0.00000000e+00 1.26247314e+00 9.46854856e-01 9.46854856e-01 6.31236571e-01 1.57809143e+00 9.46854856e-01 0.00000000e+00 1.26247314e+00 3.15618285e-01 3.15618285e-01 6.31236571e-01 6.31236571e-01 0.00000000e+00 1.57809143e+00 3.15618285e-01 3.15618285e-01 9.46854856e-01 1.57809143e+00 3.15618285e-01 1.26247314e+00 3.15618285e-01 1.26247314e+00 9.46854856e-01 6.31236571e-01 9.46854856e-01 3.15618285e-01 1.26247314e+00 9.46854856e-01 0.00000000e+00 9.46854856e-01 3.15618285e-01 1.89370971e+00 1.26247314e+00 9.46854856e-01 6.31236571e-01 1.26247314e+00 9.46854856e-01 9.46854856e-01 2.20932800e+00 3.15618285e-01 1.26247314e+00 1.57809143e+00 9.46854856e-01 1.26247314e+00 2.52494628e+00 1.26247314e+00 6.31236571e-01 3.15618285e-01 1.89370971e+00 1.26247314e+00 2.84056457e+00 1.89370971e+00 2.20932800e+00 1.57809143e+00 2.52494628e+00 1.26247314e+00 2.52494628e+00 1.57809143e+00 1.26247314e+00 9.46854856e-01 1.26247314e+00 2.84056457e+00 6.31236571e-01 6.31236571e-01 2.52494628e+00 1.57809143e+00 1.89370971e+00 2.20932800e+00 9.46854856e-01 1.89370971e+00 2.52494628e+00 1.89370971e+00 2.20932800e+00 2.84056457e+00 2.84056457e+00 2.20932800e+00 3.15618285e+00 1.57809143e+00 1.57809143e+00 9.46854856e-01 1.57809143e+00 2.84056457e+00 2.52494628e+00 3.78741942e+00 7.57483885e+00 3.47180114e+00 5.04989257e+00 3.47180114e+00 2.84056457e+00 2.52494628e+00 3.15618285e+00 6.62798399e+00 6.31236571e+00 1.57809143e+00 1.57809143e+00 7.25922056e+00 6.62798399e+00 1.89370971e+00 3.15618285e+00 3.15618285e+00 1.23091131e+01 + + + + + 1.22280106e-01 6.44749649e-01 1.61187412e+00 2.08987817e+00 3.16816638e+00 3.60170493e+00 3.84626514e+00 3.86849789e+00 4.25757095e+00 3.81291602e+00 3.86849789e+00 4.06859261e+00 4.06859261e+00 3.71286867e+00 3.37937747e+00 3.67951955e+00 3.05700264e+00 2.93472254e+00 3.23486462e+00 3.06811902e+00 2.90137342e+00 2.95695528e+00 2.69016233e+00 2.57899859e+00 2.26774014e+00 2.77909331e+00 2.35667113e+00 2.63458046e+00 2.77909331e+00 2.69016233e+00 2.21215828e+00 2.24550740e+00 2.15657641e+00 1.88978345e+00 2.20104190e+00 1.95648169e+00 2.03429630e+00 2.15657641e+00 2.00094719e+00 1.91201620e+00 1.84531796e+00 1.77861972e+00 1.83420159e+00 1.46736127e+00 1.72303785e+00 1.50071039e+00 1.62299049e+00 1.84531796e+00 1.25615018e+00 1.62299049e+00 1.26726655e+00 1.34508116e+00 1.62299049e+00 1.31173204e+00 1.32284842e+00 1.32284842e+00 1.36731391e+00 1.47847764e+00 1.31173204e+00 1.32284842e+00 1.15610282e+00 1.16721919e+00 1.31173204e+00 1.05605546e+00 1.16721919e+00 1.17833556e+00 9.11542607e-01 1.20056831e+00 9.67124473e-01 1.00047359e+00 8.67077114e-01 9.33775353e-01 1.05605546e+00 8.89309860e-01 9.00426233e-01 8.67077114e-01 9.00426233e-01 8.22611621e-01 8.33727994e-01 8.89309860e-01 7.33680635e-01 8.11495247e-01 1.01158997e+00 8.78193487e-01 8.89309860e-01 7.55913381e-01 8.55960740e-01 7.89262501e-01 8.11495247e-01 8.22611621e-01 6.89215142e-01 7.55913381e-01 6.78098768e-01 7.78146128e-01 6.89215142e-01 6.66982395e-01 7.78146128e-01 6.00284156e-01 8.11495247e-01 7.00331515e-01 7.78146128e-01 7.78146128e-01 8.33727994e-01 6.00284156e-01 6.00284156e-01 6.55866022e-01 5.89167782e-01 7.44797008e-01 7.11447888e-01 7.00331515e-01 6.66982395e-01 5.33585916e-01 5.89167782e-01 5.78051409e-01 6.33633275e-01 5.89167782e-01 6.00284156e-01 5.89167782e-01 5.66935036e-01 6.55866022e-01 5.22469543e-01 6.55866022e-01 6.22516902e-01 4.78004050e-01 6.89215142e-01 6.00284156e-01 5.00236796e-01 4.55771303e-01 6.55866022e-01 3.89073064e-01 6.55866022e-01 5.78051409e-01 5.00236796e-01 7.44797008e-01 4.89120423e-01 5.22469543e-01 4.78004050e-01 5.22469543e-01 4.33538557e-01 5.44702289e-01 5.11353170e-01 5.33585916e-01 4.66887677e-01 5.44702289e-01 5.00236796e-01 4.00189437e-01 4.22422184e-01 4.22422184e-01 4.55771303e-01 4.11305810e-01 5.55818663e-01 5.22469543e-01 4.89120423e-01 5.22469543e-01 3.77956691e-01 3.77956691e-01 4.33538557e-01 4.55771303e-01 2.89025705e-01 4.33538557e-01 4.33538557e-01 4.22422184e-01 4.22422184e-01 5.22469543e-01 4.78004050e-01 4.44654930e-01 3.55723944e-01 4.33538557e-01 4.33538557e-01 3.89073064e-01 4.11305810e-01 4.00189437e-01 3.33491198e-01 2.55676585e-01 4.66887677e-01 4.78004050e-01 4.22422184e-01 4.11305810e-01 4.22422184e-01 2.55676585e-01 4.22422184e-01 3.66840317e-01 3.66840317e-01 4.33538557e-01 4.33538557e-01 4.89120423e-01 4.11305810e-01 3.55723944e-01 2.77909331e-01 3.11258451e-01 4.33538557e-01 4.00189437e-01 2.77909331e-01 4.22422184e-01 3.66840317e-01 3.55723944e-01 4.22422184e-01 5.00236796e-01 3.33491198e-01 2.89025705e-01 3.44607571e-01 3.89073064e-01 3.22374824e-01 4.11305810e-01 3.89073064e-01 3.33491198e-01 3.22374824e-01 3.00142078e-01 3.77956691e-01 3.55723944e-01 3.89073064e-01 3.66840317e-01 4.55771303e-01 3.00142078e-01 3.11258451e-01 3.44607571e-01 4.22422184e-01 3.00142078e-01 2.22327465e-01 3.11258451e-01 2.55676585e-01 2.66792958e-01 4.00189437e-01 3.00142078e-01 3.55723944e-01 2.66792958e-01 2.33443838e-01 3.66840317e-01 2.22327465e-01 2.44560212e-01 3.22374824e-01 4.78004050e-01 3.89073064e-01 2.00094719e-01 3.11258451e-01 3.77956691e-01 1.77861972e-01 2.22327465e-01 3.22374824e-01 3.33491198e-01 2.33443838e-01 3.00142078e-01 3.66840317e-01 3.77956691e-01 1.55629226e-01 3.55723944e-01 3.77956691e-01 3.66840317e-01 2.44560212e-01 2.66792958e-01 3.44607571e-01 2.33443838e-01 2.89025705e-01 2.11211092e-01 3.55723944e-01 2.44560212e-01 3.33491198e-01 2.33443838e-01 3.00142078e-01 2.00094719e-01 2.44560212e-01 3.22374824e-01 2.11211092e-01 2.66792958e-01 2.33443838e-01 3.22374824e-01 2.44560212e-01 2.77909331e-01 2.55676585e-01 2.22327465e-01 2.89025705e-01 2.11211092e-01 1.88978345e-01 2.55676585e-01 1.77861972e-01 1.88978345e-01 1.77861972e-01 2.33443838e-01 2.77909331e-01 2.77909331e-01 1.66745599e-01 2.33443838e-01 1.44512852e-01 1.88978345e-01 2.22327465e-01 2.89025705e-01 2.66792958e-01 2.33443838e-01 2.00094719e-01 2.11211092e-01 1.88978345e-01 1.66745599e-01 2.00094719e-01 1.55629226e-01 1.66745599e-01 1.77861972e-01 2.22327465e-01 2.22327465e-01 3.00142078e-01 2.33443838e-01 2.44560212e-01 2.66792958e-01 1.22280106e-01 2.00094719e-01 1.88978345e-01 2.66792958e-01 3.33491198e-01 2.55676585e-01 1.22280106e-01 1.88978345e-01 2.00094719e-01 1.66745599e-01 1.22280106e-01 1.66745599e-01 2.11211092e-01 2.00094719e-01 2.00094719e-01 8.89309860e-02 1.00047359e-01 1.22280106e-01 2.00094719e-01 1.88978345e-01 1.88978345e-01 2.22327465e-01 1.77861972e-01 1.44512852e-01 1.88978345e-01 2.22327465e-01 2.55676585e-01 1.66745599e-01 1.44512852e-01 1.66745599e-01 1.66745599e-01 1.55629226e-01 1.55629226e-01 1.00047359e-01 2.22327465e-01 2.33443838e-01 1.66745599e-01 1.66745599e-01 1.77861972e-01 1.66745599e-01 1.77861972e-01 2.00094719e-01 1.77861972e-01 2.22327465e-01 1.88978345e-01 1.44512852e-01 1.11163733e-01 1.55629226e-01 1.11163733e-01 2.22327465e-01 2.66792958e-01 1.33396479e-01 1.55629226e-01 1.44512852e-01 1.44512852e-01 1.44512852e-01 2.44560212e-01 1.88978345e-01 1.66745599e-01 1.33396479e-01 2.55676585e-01 2.33443838e-01 2.00094719e-01 1.66745599e-01 2.22327465e-01 7.78146128e-02 2.44560212e-01 1.77861972e-01 2.33443838e-01 1.66745599e-01 2.11211092e-01 2.22327465e-01 1.22280106e-01 1.55629226e-01 1.66745599e-01 1.11163733e-01 1.44512852e-01 1.66745599e-01 8.89309860e-02 1.44512852e-01 5.55818663e-02 1.66745599e-01 1.55629226e-01 1.55629226e-01 1.33396479e-01 1.66745599e-01 1.33396479e-01 1.55629226e-01 2.11211092e-01 1.55629226e-01 2.00094719e-01 1.44512852e-01 1.88978345e-01 1.88978345e-01 1.22280106e-01 1.77861972e-01 1.66745599e-01 2.55676585e-01 1.44512852e-01 1.77861972e-01 1.11163733e-01 1.88978345e-01 1.88978345e-01 1.77861972e-01 1.22280106e-01 1.00047359e-01 1.33396479e-01 1.33396479e-01 1.44512852e-01 2.11211092e-01 2.11211092e-01 1.44512852e-01 2.00094719e-01 7.78146128e-02 2.55676585e-01 1.33396479e-01 4.44654930e-02 1.11163733e-01 1.00047359e-01 1.55629226e-01 1.44512852e-01 2.00094719e-01 2.33443838e-01 2.22327465e-01 1.22280106e-01 1.88978345e-01 1.66745599e-01 2.22327465e-01 1.44512852e-01 1.77861972e-01 1.44512852e-01 1.44512852e-01 1.55629226e-01 1.44512852e-01 1.44512852e-01 4.44654930e-02 2.11211092e-01 2.11211092e-01 1.33396479e-01 7.78146128e-02 1.55629226e-01 2.33443838e-01 2.00094719e-01 2.11211092e-01 2.11211092e-01 1.88978345e-01 8.89309860e-02 1.00047359e-01 1.44512852e-01 1.11163733e-01 2.22327465e-01 1.77861972e-01 1.00047359e-01 1.88978345e-01 1.22280106e-01 2.22327465e-01 1.88978345e-01 1.33396479e-01 1.44512852e-01 1.22280106e-01 1.88978345e-01 1.55629226e-01 1.22280106e-01 2.22327465e-01 1.44512852e-01 1.88978345e-01 1.55629226e-01 1.00047359e-01 8.89309860e-02 1.22280106e-01 2.00094719e-01 1.66745599e-01 1.44512852e-01 1.33396479e-01 1.33396479e-01 1.44512852e-01 1.44512852e-01 1.33396479e-01 2.44560212e-01 1.55629226e-01 2.22327465e-01 1.55629226e-01 1.44512852e-01 2.11211092e-01 1.44512852e-01 4.44654930e-02 1.77861972e-01 1.33396479e-01 1.66745599e-01 1.33396479e-01 1.11163733e-01 1.77861972e-01 1.77861972e-01 1.22280106e-01 2.22327465e-01 1.55629226e-01 1.00047359e-01 1.33396479e-01 1.44512852e-01 1.66745599e-01 2.22327465e-01 5.55818663e-02 1.33396479e-01 1.55629226e-01 1.33396479e-01 2.00094719e-01 1.55629226e-01 2.11211092e-01 1.33396479e-01 1.22280106e-01 1.88978345e-01 1.22280106e-01 1.33396479e-01 1.77861972e-01 1.33396479e-01 2.33443838e-01 2.55676585e-01 2.00094719e-01 1.55629226e-01 1.88978345e-01 1.66745599e-01 1.55629226e-01 1.55629226e-01 2.11211092e-01 1.11163733e-01 2.00094719e-01 1.44512852e-01 6.66982395e-02 5.55818663e-02 1.11163733e-01 1.11163733e-01 1.11163733e-01 6.66982395e-02 8.89309860e-02 1.33396479e-01 1.55629226e-01 6.66982395e-02 4.44654930e-02 2.22327465e-02 1.33396479e-01 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_medium_fb_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_medium_fb_BDTG.weights.xml new file mode 100644 index 000000000000..d5378f9dadef --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/el_pteta_medium_fb_BDTG.weights.xml @@ -0,0 +1,6022 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 1.86744307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 1.86744307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.60232920e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 3.73488614e-01 1.86744307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.60232920e-01 0.00000000e+00 1.86744307e-01 0.00000000e+00 1.86744307e-01 0.00000000e+00 1.86744307e-01 1.86744307e-01 5.60232920e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 1.86744307e-01 1.86744307e-01 3.73488614e-01 1.86744307e-01 3.73488614e-01 1.86744307e-01 0.00000000e+00 3.73488614e-01 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 1.86744307e-01 0.00000000e+00 1.86744307e-01 3.73488614e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 1.86744307e-01 1.86744307e-01 1.86744307e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.73488614e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 5.60232920e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 1.86744307e-01 0.00000000e+00 1.86744307e-01 5.60232920e-01 3.73488614e-01 1.86744307e-01 0.00000000e+00 3.73488614e-01 1.86744307e-01 1.86744307e-01 1.86744307e-01 3.73488614e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.73488614e-01 3.73488614e-01 0.00000000e+00 5.60232920e-01 3.73488614e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 1.86744307e-01 1.86744307e-01 1.86744307e-01 0.00000000e+00 3.73488614e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 0.00000000e+00 1.86744307e-01 0.00000000e+00 1.86744307e-01 1.86744307e-01 1.86744307e-01 1.86744307e-01 1.86744307e-01 1.86744307e-01 0.00000000e+00 1.86744307e-01 1.86744307e-01 5.60232920e-01 3.73488614e-01 1.86744307e-01 3.73488614e-01 3.73488614e-01 5.60232920e-01 3.73488614e-01 1.86744307e-01 0.00000000e+00 1.86744307e-01 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 1.86744307e-01 1.86744307e-01 0.00000000e+00 3.73488614e-01 3.73488614e-01 3.73488614e-01 1.86744307e-01 1.86744307e-01 0.00000000e+00 1.86744307e-01 1.86744307e-01 3.73488614e-01 0.00000000e+00 5.60232920e-01 7.46977227e-01 1.86744307e-01 3.73488614e-01 3.73488614e-01 3.73488614e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 3.73488614e-01 1.86744307e-01 3.73488614e-01 1.86744307e-01 1.86744307e-01 1.86744307e-01 0.00000000e+00 1.86744307e-01 0.00000000e+00 1.86744307e-01 1.86744307e-01 3.73488614e-01 1.86744307e-01 5.60232920e-01 0.00000000e+00 1.86744307e-01 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.86744307e-01 1.86744307e-01 5.60232920e-01 0.00000000e+00 1.86744307e-01 1.86744307e-01 0.00000000e+00 0.00000000e+00 3.73488614e-01 1.86744307e-01 0.00000000e+00 5.60232920e-01 3.73488614e-01 0.00000000e+00 3.73488614e-01 0.00000000e+00 1.86744307e-01 7.46977227e-01 1.86744307e-01 1.86744307e-01 1.86744307e-01 1.86744307e-01 5.60232920e-01 1.86744307e-01 1.86744307e-01 0.00000000e+00 7.46977227e-01 1.86744307e-01 0.00000000e+00 1.86744307e-01 1.86744307e-01 1.86744307e-01 3.73488614e-01 3.73488614e-01 1.86744307e-01 1.30721015e+00 1.86744307e-01 0.00000000e+00 0.00000000e+00 1.12046584e+00 3.73488614e-01 1.86744307e-01 0.00000000e+00 1.86744307e-01 1.30721015e+00 1.86744307e-01 1.86744307e-01 1.86744307e-01 1.86744307e-01 3.73488614e-01 7.46977227e-01 1.86744307e-01 0.00000000e+00 5.60232920e-01 3.73488614e-01 7.46977227e-01 0.00000000e+00 0.00000000e+00 3.73488614e-01 5.60232920e-01 0.00000000e+00 1.86744307e-01 1.86744307e-01 5.60232920e-01 3.73488614e-01 7.46977227e-01 3.73488614e-01 1.86744307e-01 3.73488614e-01 3.73488614e-01 1.86744307e-01 7.46977227e-01 1.86744307e-01 1.86744307e-01 5.60232920e-01 1.86744307e-01 0.00000000e+00 5.60232920e-01 3.73488614e-01 1.12046584e+00 1.86744307e-01 5.60232920e-01 5.60232920e-01 5.60232920e-01 1.86744307e-01 5.60232920e-01 1.86744307e-01 9.33721534e-01 1.86744307e-01 5.60232920e-01 9.33721534e-01 3.73488614e-01 5.60232920e-01 3.73488614e-01 5.60232920e-01 5.60232920e-01 5.60232920e-01 1.86744307e-01 3.73488614e-01 5.60232920e-01 9.33721534e-01 3.73488614e-01 5.60232920e-01 0.00000000e+00 7.46977227e-01 7.46977227e-01 7.46977227e-01 7.46977227e-01 1.12046584e+00 3.73488614e-01 1.86744307e-01 7.46977227e-01 5.60232920e-01 3.73488614e-01 5.60232920e-01 1.12046584e+00 5.60232920e-01 1.86744307e-01 3.73488614e-01 3.73488614e-01 7.46977227e-01 5.60232920e-01 0.00000000e+00 7.46977227e-01 5.60232920e-01 9.33721534e-01 7.46977227e-01 7.46977227e-01 5.60232920e-01 9.33721534e-01 9.33721534e-01 1.49395445e+00 9.33721534e-01 5.60232920e-01 7.46977227e-01 5.60232920e-01 5.60232920e-01 9.33721534e-01 7.46977227e-01 5.60232920e-01 3.73488614e-01 3.73488614e-01 7.46977227e-01 5.60232920e-01 7.46977227e-01 7.46977227e-01 2.24093168e+00 1.30721015e+00 1.12046584e+00 1.49395445e+00 1.49395445e+00 1.49395445e+00 9.33721534e-01 1.49395445e+00 1.12046584e+00 1.49395445e+00 1.30721015e+00 1.12046584e+00 3.73488614e-01 1.12046584e+00 1.12046584e+00 7.46977227e-01 1.49395445e+00 2.24093168e+00 1.68069876e+00 1.12046584e+00 1.12046584e+00 2.24093168e+00 1.12046584e+00 2.98790891e+00 2.05418737e+00 1.30721015e+00 2.61442029e+00 2.80116460e+00 2.42767599e+00 1.86744307e+00 2.61442029e+00 2.42767599e+00 2.24093168e+00 1.86744307e+00 2.98790891e+00 2.24093168e+00 5.22884059e+00 3.73488614e+00 3.92163044e+00 4.66860767e+00 4.48186336e+00 5.22884059e+00 3.54814183e+00 3.17465322e+00 6.16256212e+00 4.66860767e+00 4.29511906e+00 3.92163044e+00 5.78907351e+00 4.29511906e+00 6.90953935e+00 1.04576812e+01 + + + + + 4.26472203e+00 1.02221430e+01 9.46372594e+00 9.09001319e+00 7.66111148e+00 5.66064908e+00 5.33090253e+00 4.56149392e+00 4.26472203e+00 3.91299238e+00 3.68216979e+00 3.01168514e+00 2.97871049e+00 3.16556687e+00 2.58301463e+00 2.62698084e+00 2.63797239e+00 2.40714980e+00 2.14335257e+00 2.17632722e+00 2.19831032e+00 2.07740326e+00 1.84658067e+00 1.72567360e+00 1.93451308e+00 1.59377498e+00 1.64873274e+00 1.97847929e+00 1.25303688e+00 1.38493550e+00 1.17609602e+00 1.45088481e+00 1.31898619e+00 1.39592706e+00 1.56080033e+00 1.22006223e+00 1.11014671e+00 1.32997775e+00 1.05518896e+00 1.18708757e+00 1.06618051e+00 8.57341026e-01 1.03320585e+00 9.01307233e-01 9.56264991e-01 8.79324129e-01 1.18708757e+00 1.07717206e+00 8.24366371e-01 7.36433958e-01 7.25442407e-01 9.67256542e-01 9.78248094e-01 7.25442407e-01 9.12298784e-01 9.67256542e-01 7.91391716e-01 7.03459303e-01 7.14450855e-01 6.70484649e-01 7.14450855e-01 8.57341026e-01 7.03459303e-01 9.12298784e-01 6.92467752e-01 9.12298784e-01 6.48501545e-01 6.48501545e-01 7.03459303e-01 4.72636720e-01 7.25442407e-01 7.36433958e-01 6.48501545e-01 5.93543787e-01 5.93543787e-01 5.82552236e-01 6.04535339e-01 5.16602926e-01 5.49577581e-01 7.14450855e-01 5.05611374e-01 6.04535339e-01 5.49577581e-01 5.60569132e-01 6.04535339e-01 6.04535339e-01 6.04535339e-01 5.27594478e-01 4.83628271e-01 3.51729652e-01 5.60569132e-01 4.72636720e-01 5.16602926e-01 4.94619823e-01 5.05611374e-01 6.26518442e-01 5.60569132e-01 5.16602926e-01 4.72636720e-01 4.94619823e-01 4.83628271e-01 6.26518442e-01 5.71560684e-01 5.60569132e-01 3.73712755e-01 4.94619823e-01 6.70484649e-01 5.71560684e-01 5.82552236e-01 4.50653616e-01 3.29746549e-01 4.94619823e-01 4.72636720e-01 4.06687410e-01 3.84704307e-01 4.72636720e-01 3.62721203e-01 3.95695858e-01 3.84704307e-01 3.95695858e-01 4.72636720e-01 3.84704307e-01 3.62721203e-01 5.49577581e-01 4.39662065e-01 3.40738100e-01 3.84704307e-01 3.95695858e-01 3.95695858e-01 2.30822584e-01 4.28670513e-01 2.96771894e-01 4.28670513e-01 3.73712755e-01 3.29746549e-01 3.29746549e-01 2.74788790e-01 4.06687410e-01 3.62721203e-01 3.73712755e-01 3.84704307e-01 2.30822584e-01 1.97847929e-01 2.74788790e-01 3.95695858e-01 3.95695858e-01 2.52805687e-01 2.96771894e-01 2.19831032e-01 4.28670513e-01 2.74788790e-01 2.74788790e-01 3.62721203e-01 2.41814136e-01 1.75864826e-01 2.96771894e-01 4.06687410e-01 2.74788790e-01 3.07763445e-01 2.30822584e-01 2.52805687e-01 2.30822584e-01 2.85780342e-01 2.19831032e-01 1.97847929e-01 2.74788790e-01 1.75864826e-01 3.73712755e-01 3.40738100e-01 2.52805687e-01 2.52805687e-01 2.19831032e-01 2.41814136e-01 3.40738100e-01 1.86856377e-01 2.41814136e-01 2.19831032e-01 2.08839481e-01 2.96771894e-01 2.96771894e-01 2.74788790e-01 3.51729652e-01 2.52805687e-01 2.52805687e-01 2.41814136e-01 1.64873274e-01 1.64873274e-01 2.52805687e-01 1.64873274e-01 2.30822584e-01 2.41814136e-01 2.19831032e-01 2.30822584e-01 1.86856377e-01 2.08839481e-01 1.86856377e-01 2.19831032e-01 1.75864826e-01 1.42890171e-01 1.75864826e-01 1.75864826e-01 1.31898619e-01 2.19831032e-01 2.08839481e-01 2.63797239e-01 1.53881723e-01 1.75864826e-01 1.86856377e-01 1.86856377e-01 2.08839481e-01 2.41814136e-01 1.53881723e-01 1.64873274e-01 1.75864826e-01 2.30822584e-01 2.41814136e-01 1.64873274e-01 1.20907068e-01 1.53881723e-01 1.86856377e-01 1.97847929e-01 2.85780342e-01 2.08839481e-01 2.30822584e-01 1.42890171e-01 2.74788790e-01 1.64873274e-01 1.42890171e-01 1.75864826e-01 1.75864826e-01 2.08839481e-01 2.19831032e-01 1.97847929e-01 1.86856377e-01 2.08839481e-01 1.86856377e-01 2.30822584e-01 2.52805687e-01 1.09915516e-01 1.64873274e-01 1.20907068e-01 1.09915516e-01 1.31898619e-01 2.30822584e-01 2.52805687e-01 1.20907068e-01 1.75864826e-01 1.53881723e-01 1.86856377e-01 1.75864826e-01 1.64873274e-01 2.08839481e-01 1.53881723e-01 2.63797239e-01 1.86856377e-01 1.64873274e-01 1.42890171e-01 1.75864826e-01 1.97847929e-01 1.53881723e-01 1.09915516e-01 1.86856377e-01 1.75864826e-01 1.42890171e-01 7.69408613e-02 1.42890171e-01 1.64873274e-01 1.53881723e-01 1.53881723e-01 1.64873274e-01 2.63797239e-01 1.42890171e-01 2.08839481e-01 1.64873274e-01 1.86856377e-01 2.19831032e-01 1.20907068e-01 2.19831032e-01 1.20907068e-01 1.75864826e-01 6.59493097e-02 1.86856377e-01 1.31898619e-01 2.08839481e-01 8.79324129e-02 1.86856377e-01 7.69408613e-02 1.31898619e-01 1.75864826e-01 7.69408613e-02 1.09915516e-01 8.79324129e-02 1.75864826e-01 1.20907068e-01 1.31898619e-01 8.79324129e-02 1.53881723e-01 1.97847929e-01 1.20907068e-01 1.20907068e-01 1.09915516e-01 2.85780342e-01 1.75864826e-01 1.97847929e-01 1.86856377e-01 1.09915516e-01 8.79324129e-02 1.31898619e-01 1.31898619e-01 1.42890171e-01 1.20907068e-01 1.31898619e-01 1.20907068e-01 8.79324129e-02 8.79324129e-02 1.20907068e-01 1.20907068e-01 1.20907068e-01 9.89239646e-02 1.97847929e-01 1.64873274e-01 1.31898619e-01 1.53881723e-01 1.97847929e-01 2.08839481e-01 1.86856377e-01 1.42890171e-01 1.86856377e-01 8.79324129e-02 2.30822584e-01 1.86856377e-01 1.53881723e-01 1.53881723e-01 5.49577581e-02 1.86856377e-01 1.97847929e-01 1.86856377e-01 1.20907068e-01 1.86856377e-01 1.64873274e-01 1.53881723e-01 1.64873274e-01 1.20907068e-01 1.75864826e-01 1.75864826e-01 8.79324129e-02 9.89239646e-02 1.86856377e-01 9.89239646e-02 2.08839481e-01 1.09915516e-01 1.53881723e-01 1.64873274e-01 5.49577581e-02 1.64873274e-01 1.97847929e-01 1.86856377e-01 1.75864826e-01 1.42890171e-01 1.75864826e-01 1.97847929e-01 9.89239646e-02 1.64873274e-01 1.53881723e-01 1.42890171e-01 1.75864826e-01 1.31898619e-01 9.89239646e-02 1.42890171e-01 1.31898619e-01 1.86856377e-01 1.53881723e-01 1.86856377e-01 8.79324129e-02 1.53881723e-01 1.42890171e-01 7.69408613e-02 1.42890171e-01 1.97847929e-01 7.69408613e-02 1.31898619e-01 1.75864826e-01 1.42890171e-01 1.64873274e-01 1.64873274e-01 1.31898619e-01 1.20907068e-01 2.19831032e-01 1.86856377e-01 1.53881723e-01 1.53881723e-01 1.09915516e-01 1.64873274e-01 1.75864826e-01 1.20907068e-01 2.19831032e-01 1.09915516e-01 1.86856377e-01 2.30822584e-01 2.30822584e-01 1.97847929e-01 1.31898619e-01 1.20907068e-01 1.75864826e-01 2.08839481e-01 1.64873274e-01 1.42890171e-01 2.08839481e-01 1.75864826e-01 1.53881723e-01 2.30822584e-01 2.08839481e-01 1.86856377e-01 2.30822584e-01 1.86856377e-01 1.20907068e-01 1.42890171e-01 2.08839481e-01 1.42890171e-01 2.08839481e-01 1.64873274e-01 1.64873274e-01 1.86856377e-01 1.97847929e-01 1.75864826e-01 1.86856377e-01 2.74788790e-01 2.19831032e-01 1.75864826e-01 1.75864826e-01 1.86856377e-01 9.89239646e-02 1.53881723e-01 1.53881723e-01 2.30822584e-01 1.86856377e-01 1.20907068e-01 7.69408613e-02 1.31898619e-01 1.42890171e-01 1.42890171e-01 1.42890171e-01 2.19831032e-01 1.42890171e-01 1.20907068e-01 1.64873274e-01 1.42890171e-01 2.08839481e-01 9.89239646e-02 1.09915516e-01 1.09915516e-01 8.79324129e-02 4.39662065e-02 7.69408613e-02 1.20907068e-01 1.31898619e-01 9.89239646e-02 1.09915516e-01 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_high_b_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_high_b_BDTG.weights.xml new file mode 100644 index 000000000000..dfb7ae825861 --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_high_b_BDTG.weights.xml @@ -0,0 +1,6010 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4.42859187e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 8.85718375e-02 8.85718375e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 8.85718375e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 2.21429594e-01 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 0.00000000e+00 8.85718375e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 8.85718375e-02 1.32857756e-01 4.42859187e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.85718375e-02 4.42859187e-02 8.85718375e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 1.77143675e-01 1.32857756e-01 4.42859187e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 1.77143675e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 8.85718375e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 1.77143675e-01 0.00000000e+00 0.00000000e+00 8.85718375e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 8.85718375e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 0.00000000e+00 1.32857756e-01 0.00000000e+00 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 1.32857756e-01 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 8.85718375e-02 8.85718375e-02 4.42859187e-02 4.42859187e-02 8.85718375e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 8.85718375e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 3.10001431e-01 4.42859187e-02 0.00000000e+00 8.85718375e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 8.85718375e-02 1.32857756e-01 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 0.00000000e+00 0.00000000e+00 1.77143675e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.85718375e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 1.32857756e-01 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 1.32857756e-01 0.00000000e+00 0.00000000e+00 1.77143675e-01 0.00000000e+00 4.42859187e-02 8.85718375e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 1.32857756e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 1.32857756e-01 8.85718375e-02 0.00000000e+00 4.42859187e-02 8.85718375e-02 8.85718375e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 8.85718375e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 4.42859187e-02 8.85718375e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 8.85718375e-02 1.32857756e-01 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 8.85718375e-02 4.42859187e-02 1.77143675e-01 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.32857756e-01 0.00000000e+00 8.85718375e-02 1.32857756e-01 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 8.85718375e-02 1.32857756e-01 8.85718375e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 8.85718375e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 1.32857756e-01 4.42859187e-02 4.42859187e-02 8.85718375e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 8.85718375e-02 8.85718375e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 1.77143675e-01 0.00000000e+00 4.42859187e-02 8.85718375e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 8.85718375e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 1.32857756e-01 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 8.85718375e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 4.42859187e-02 8.85718375e-02 0.00000000e+00 0.00000000e+00 1.32857756e-01 0.00000000e+00 4.42859187e-02 1.32857756e-01 4.42859187e-02 4.42859187e-02 1.32857756e-01 8.85718375e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.85718375e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 2.65715512e-01 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 8.85718375e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 1.32857756e-01 4.42859187e-02 4.42859187e-02 0.00000000e+00 8.85718375e-02 8.85718375e-02 4.42859187e-02 4.42859187e-02 1.32857756e-01 4.42859187e-02 1.32857756e-01 8.85718375e-02 8.85718375e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 1.32857756e-01 0.00000000e+00 0.00000000e+00 4.42859187e-02 1.32857756e-01 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 8.85718375e-02 0.00000000e+00 8.85718375e-02 1.32857756e-01 0.00000000e+00 1.32857756e-01 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 8.85718375e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 1.32857756e-01 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 8.85718375e-02 8.85718375e-02 0.00000000e+00 8.85718375e-02 1.32857756e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.32857756e-01 4.42859187e-02 8.85718375e-02 8.85718375e-02 8.85718375e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.32857756e-01 4.42859187e-02 8.85718375e-02 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 8.85718375e-02 1.32857756e-01 4.42859187e-02 0.00000000e+00 1.32857756e-01 4.42859187e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 1.32857756e-01 8.85718375e-02 4.42859187e-02 8.85718375e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 1.77143675e-01 4.42859187e-02 0.00000000e+00 1.77143675e-01 0.00000000e+00 1.32857756e-01 8.85718375e-02 1.32857756e-01 0.00000000e+00 4.42859187e-02 1.77143675e-01 4.42859187e-02 0.00000000e+00 2.21429594e-01 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 1.32857756e-01 4.42859187e-02 0.00000000e+00 4.42859187e-02 8.85718375e-02 4.42859187e-02 0.00000000e+00 8.85718375e-02 1.32857756e-01 0.00000000e+00 0.00000000e+00 4.42859187e-02 8.85718375e-02 0.00000000e+00 8.85718375e-02 0.00000000e+00 4.42859187e-02 8.85718375e-02 4.42859187e-02 8.85718375e-02 0.00000000e+00 8.85718375e-02 1.77143675e-01 4.42859187e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 4.42859187e-02 4.42859187e-02 8.85718375e-02 8.85718375e-02 8.85718375e-02 4.42859187e-02 0.00000000e+00 1.32857756e-01 1.32857756e-01 4.42859187e-02 1.77143675e-01 0.00000000e+00 4.42859187e-02 4.42859187e-02 1.32857756e-01 8.85718375e-02 0.00000000e+00 2.21429594e-01 4.42859187e-02 8.85718375e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 8.85718375e-02 1.32857756e-01 1.32857756e-01 4.42859187e-02 0.00000000e+00 0.00000000e+00 4.42859187e-02 1.32857756e-01 1.32857756e-01 0.00000000e+00 1.77143675e-01 0.00000000e+00 4.42859187e-02 4.42859187e-02 4.42859187e-02 1.32857756e-01 0.00000000e+00 4.42859187e-02 0.00000000e+00 8.85718375e-02 1.32857756e-01 0.00000000e+00 8.85718375e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 4.42859187e-02 1.32857756e-01 1.32857756e-01 0.00000000e+00 4.42859187e-02 8.85718375e-02 1.32857756e-01 8.85718375e-02 4.42859187e-02 8.85718375e-02 8.85718375e-02 8.85718375e-02 8.85718375e-02 1.77143675e-01 0.00000000e+00 1.77143675e-01 1.32857756e-01 2.21429594e-01 4.42859187e-02 4.42859187e-02 1.77143675e-01 1.32857756e-01 0.00000000e+00 1.32857756e-01 8.85718375e-02 4.42859187e-02 0.00000000e+00 1.77143675e-01 8.85718375e-02 4.42859187e-02 1.32857756e-01 0.00000000e+00 1.32857756e-01 8.85718375e-02 1.32857756e-01 8.85718375e-02 4.42859187e-02 2.21429594e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.42859187e-02 0.00000000e+00 1.32857756e-01 4.42859187e-02 1.32857756e-01 4.42859187e-02 4.42859187e-02 0.00000000e+00 8.85718375e-02 1.77143675e-01 4.42859187e-02 8.85718375e-02 0.00000000e+00 4.42859187e-02 8.85718375e-02 1.32857756e-01 8.85718375e-02 1.32857756e-01 4.42859187e-02 8.85718375e-02 8.85718375e-02 8.85718375e-02 1.77143675e-01 8.85718375e-02 0.00000000e+00 1.32857756e-01 4.42859187e-02 8.85718375e-02 1.32857756e-01 4.42859187e-02 1.32857756e-01 8.85718375e-02 4.42859187e-02 8.85718375e-02 1.32857756e-01 8.85718375e-02 4.42859187e-02 4.42859187e-02 8.85718375e-02 2.21429594e-01 1.77143675e-01 2.21429594e-01 4.42859187e-02 1.32857756e-01 0.00000000e+00 1.32857756e-01 8.85718375e-02 0.00000000e+00 1.77143675e-01 4.42859187e-02 4.42859187e-02 8.85718375e-02 0.00000000e+00 1.32857756e-01 1.32857756e-01 1.32857756e-01 4.42859187e-02 8.85718375e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 8.85718375e-02 8.85718375e-02 4.42859187e-02 4.42859187e-02 8.85718375e-02 1.32857756e-01 8.85718375e-02 1.32857756e-01 0.00000000e+00 8.85718375e-02 0.00000000e+00 8.85718375e-02 4.42859187e-02 8.85718375e-02 4.42859187e-02 4.42859187e-02 4.42859187e-02 8.85718375e-02 8.85718375e-02 8.85718375e-02 4.42859187e-02 1.77143675e-01 1.32857756e-01 8.85718375e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.85718375e-02 8.85718375e-02 4.42859187e-02 3.10001431e-01 8.85718375e-02 8.85718375e-02 1.77143675e-01 8.85718375e-02 1.32857756e-01 1.77143675e-01 1.77143675e-01 4.42859187e-02 1.32857756e-01 8.85718375e-02 0.00000000e+00 8.85718375e-02 8.85718375e-02 1.32857756e-01 1.32857756e-01 4.42859187e-02 4.42859187e-02 4.42859187e-02 1.77143675e-01 1.77143675e-01 8.85718375e-02 1.32857756e-01 8.85718375e-02 4.42859187e-02 8.85718375e-02 4.42859187e-02 1.77143675e-01 8.85718375e-02 8.85718375e-02 4.42859187e-02 1.32857756e-01 8.85718375e-02 0.00000000e+00 1.77143675e-01 1.32857756e-01 8.85718375e-02 8.85718375e-02 0.00000000e+00 1.32857756e-01 8.85718375e-02 8.85718375e-02 2.21429594e-01 8.85718375e-02 1.32857756e-01 1.32857756e-01 4.42859187e-02 4.42859187e-02 4.42859187e-02 8.85718375e-02 4.42859187e-02 4.42859187e-02 0.00000000e+00 2.65715512e-01 8.85718375e-02 4.42859187e-02 1.77143675e-01 1.32857756e-01 8.85718375e-02 8.85718375e-02 8.85718375e-02 4.42859187e-02 8.85718375e-02 2.21429594e-01 2.21429594e-01 1.77143675e-01 8.85718375e-02 8.85718375e-02 1.77143675e-01 3.54287350e-01 4.42859187e-02 1.32857756e-01 0.00000000e+00 1.32857756e-01 8.85718375e-02 1.77143675e-01 1.77143675e-01 1.77143675e-01 1.32857756e-01 2.21429594e-01 8.85718375e-02 8.85718375e-02 1.32857756e-01 1.77143675e-01 3.10001431e-01 8.85718375e-02 2.65715512e-01 4.42859187e-02 8.85718375e-02 1.32857756e-01 8.85718375e-02 2.65715512e-01 1.77143675e-01 8.85718375e-02 8.85718375e-02 8.85718375e-02 0.00000000e+00 1.32857756e-01 8.85718375e-02 2.21429594e-01 1.77143675e-01 3.54287350e-01 8.85718375e-02 1.32857756e-01 4.42859187e-02 1.77143675e-01 4.42859187e-02 8.85718375e-02 4.42859187e-02 1.32857756e-01 3.10001431e-01 8.85718375e-02 2.65715512e-01 4.42859187e-02 1.32857756e-01 8.85718375e-02 1.32857756e-01 1.32857756e-01 1.77143675e-01 4.42859187e-02 8.85718375e-02 1.32857756e-01 2.21429594e-01 2.21429594e-01 2.65715512e-01 8.85718375e-02 8.85718375e-02 1.77143675e-01 4.42859187e-02 1.77143675e-01 1.32857756e-01 1.77143675e-01 8.85718375e-02 8.85718375e-02 2.21429594e-01 1.77143675e-01 4.42859187e-02 4.42859187e-02 1.77143675e-01 4.42859187e-02 4.42859187e-02 3.10001431e-01 1.32857756e-01 1.77143675e-01 1.32857756e-01 2.21429594e-01 2.21429594e-01 1.32857756e-01 1.32857756e-01 1.77143675e-01 1.77143675e-01 2.65715512e-01 8.85718375e-02 2.21429594e-01 2.65715512e-01 8.85718375e-02 2.21429594e-01 1.32857756e-01 2.21429594e-01 8.85718375e-02 2.21429594e-01 3.54287350e-01 2.65715512e-01 2.65715512e-01 8.85718375e-02 2.21429594e-01 2.21429594e-01 2.21429594e-01 2.21429594e-01 8.85718375e-02 2.21429594e-01 4.87145106e-01 3.54287350e-01 3.54287350e-01 3.54287350e-01 1.32857756e-01 2.65715512e-01 1.32857756e-01 3.10001431e-01 2.65715512e-01 1.77143675e-01 3.10001431e-01 8.85718375e-02 6.20002862e-01 2.21429594e-01 3.54287350e-01 1.77143675e-01 3.98573269e-01 3.54287350e-01 4.87145106e-01 1.77143675e-01 3.10001431e-01 2.21429594e-01 4.42859187e-02 3.54287350e-01 8.85718375e-02 3.10001431e-01 2.65715512e-01 1.77143675e-01 3.10001431e-01 4.87145106e-01 3.10001431e-01 1.32857756e-01 3.54287350e-01 4.42859187e-01 3.10001431e-01 2.21429594e-01 2.65715512e-01 2.21429594e-01 1.77143675e-01 3.10001431e-01 3.10001431e-01 3.98573269e-01 3.54287350e-01 4.42859187e-01 3.98573269e-01 2.21429594e-01 2.65715512e-01 2.65715512e-01 3.98573269e-01 1.77143675e-01 5.31431025e-01 3.54287350e-01 3.54287350e-01 2.65715512e-01 2.21429594e-01 1.32857756e-01 3.10001431e-01 3.54287350e-01 2.21429594e-01 4.87145106e-01 3.54287350e-01 4.87145106e-01 3.54287350e-01 4.42859187e-01 5.31431025e-01 3.54287350e-01 2.65715512e-01 6.20002862e-01 3.10001431e-01 4.42859187e-01 3.54287350e-01 3.98573269e-01 3.98573269e-01 2.65715512e-01 6.64288781e-01 4.42859187e-01 5.31431025e-01 6.64288781e-01 5.31431025e-01 6.64288781e-01 7.97146537e-01 4.87145106e-01 6.64288781e-01 4.87145106e-01 3.10001431e-01 5.31431025e-01 7.97146537e-01 6.20002862e-01 4.87145106e-01 4.42859187e-01 5.75716944e-01 5.75716944e-01 3.10001431e-01 1.15143389e+00 9.30004293e-01 7.97146537e-01 3.10001431e-01 7.08574700e-01 5.75716944e-01 3.98573269e-01 7.08574700e-01 7.08574700e-01 4.87145106e-01 8.41432456e-01 5.31431025e-01 7.08574700e-01 6.20002862e-01 8.41432456e-01 1.06286205e+00 6.64288781e-01 8.85718375e-01 5.75716944e-01 8.41432456e-01 1.06286205e+00 1.10714797e+00 5.31431025e-01 9.74290212e-01 1.15143389e+00 1.15143389e+00 1.46143532e+00 7.52860618e-01 9.74290212e-01 1.19571981e+00 1.19571981e+00 9.74290212e-01 1.77143675e+00 1.10714797e+00 1.37286348e+00 9.74290212e-01 1.59429307e+00 1.55000716e+00 1.77143675e+00 1.10714797e+00 1.15143389e+00 1.50572124e+00 1.81572267e+00 2.08143818e+00 1.55000716e+00 2.52429737e+00 1.77143675e+00 2.25858186e+00 2.48001145e+00 2.03715226e+00 2.70144104e+00 3.05572839e+00 3.10001431e+00 2.83429880e+00 3.54287350e+00 3.58715942e+00 3.23287207e+00 3.94144677e+00 4.42859187e+00 4.65002147e+00 4.69430739e+00 5.89002719e+00 5.62431168e+00 6.06717087e+00 7.66146394e+00 7.83860762e+00 1.04514768e+01 1.10714797e+01 1.44814954e+01 1.65186477e+01 2.01943789e+01 2.93615641e+01 3.82630338e+01 4.91130839e+01 6.34617215e+01 8.37446723e+01 1.37286348e+00 1.32857756e-01 0.00000000e+00 + + + + + 1.22813359e+02 6.65255166e+01 3.98533417e+01 2.68141855e+01 1.93909035e+01 1.60213790e+01 1.27680450e+01 1.14512193e+01 9.74709199e+00 8.59809704e+00 7.46201214e+00 6.90687975e+00 6.45502781e+00 5.57714402e+00 5.07365186e+00 4.51851946e+00 4.22158819e+00 4.09248763e+00 3.69227590e+00 3.25333401e+00 3.76973624e+00 2.90476251e+00 2.86603235e+00 2.95640274e+00 2.68529157e+00 2.51746084e+00 2.59492118e+00 2.49164073e+00 2.16888934e+00 2.25925973e+00 1.87195806e+00 1.91068823e+00 2.02687873e+00 1.98814856e+00 1.74285751e+00 1.63957706e+00 1.74285751e+00 1.63957706e+00 1.39428601e+00 1.31682567e+00 1.49756645e+00 1.12317484e+00 1.16190501e+00 1.30391562e+00 1.36846589e+00 1.32973573e+00 1.05862456e+00 1.21354523e+00 1.26518545e+00 1.30391562e+00 1.18772512e+00 1.09735473e+00 1.11026478e+00 1.11026478e+00 1.17481506e+00 1.16190501e+00 7.61693281e-01 9.03703893e-01 9.68254171e-01 8.52063670e-01 1.09735473e+00 8.90793837e-01 9.03703893e-01 8.90793837e-01 6.97143003e-01 8.90793837e-01 8.90793837e-01 8.52063670e-01 8.39153615e-01 8.00423448e-01 8.77883782e-01 8.52063670e-01 8.00423448e-01 5.03492169e-01 4.51851946e-01 7.22963114e-01 6.06772614e-01 6.45502781e-01 6.97143003e-01 6.58412836e-01 7.22963114e-01 5.29312280e-01 4.38941891e-01 5.55132391e-01 5.93862558e-01 6.32592725e-01 5.42222336e-01 4.51851946e-01 5.55132391e-01 5.16402224e-01 6.19682669e-01 4.51851946e-01 4.26031835e-01 4.90582113e-01 4.64762002e-01 4.51851946e-01 5.16402224e-01 4.38941891e-01 5.16402224e-01 3.48571502e-01 4.00211724e-01 5.68042447e-01 3.48571502e-01 3.61481557e-01 5.16402224e-01 4.51851946e-01 4.38941891e-01 4.38941891e-01 4.38941891e-01 4.38941891e-01 3.35661446e-01 4.51851946e-01 4.51851946e-01 4.90582113e-01 3.35661446e-01 4.00211724e-01 3.61481557e-01 3.61481557e-01 3.48571502e-01 4.38941891e-01 3.22751390e-01 3.35661446e-01 3.61481557e-01 3.35661446e-01 3.35661446e-01 3.09841335e-01 3.22751390e-01 2.32381001e-01 4.77672058e-01 3.61481557e-01 3.87301668e-01 3.87301668e-01 4.13121780e-01 3.22751390e-01 2.96931279e-01 2.96931279e-01 2.45291057e-01 4.38941891e-01 3.48571502e-01 3.22751390e-01 3.61481557e-01 2.19470945e-01 2.58201112e-01 2.84021223e-01 2.19470945e-01 2.84021223e-01 2.96931279e-01 2.84021223e-01 2.32381001e-01 1.80740779e-01 2.71111168e-01 3.35661446e-01 1.54920667e-01 2.58201112e-01 2.58201112e-01 2.45291057e-01 2.19470945e-01 3.09841335e-01 1.80740779e-01 3.22751390e-01 3.35661446e-01 2.71111168e-01 2.71111168e-01 2.06560890e-01 1.93650834e-01 2.84021223e-01 1.54920667e-01 1.80740779e-01 3.22751390e-01 1.93650834e-01 1.67830723e-01 1.54920667e-01 2.32381001e-01 2.06560890e-01 2.06560890e-01 2.19470945e-01 1.93650834e-01 1.54920667e-01 1.54920667e-01 1.03280445e-01 1.93650834e-01 1.67830723e-01 2.45291057e-01 2.19470945e-01 1.93650834e-01 3.09841335e-01 2.32381001e-01 2.45291057e-01 2.32381001e-01 1.03280445e-01 2.19470945e-01 1.67830723e-01 1.03280445e-01 9.03703893e-02 1.42010612e-01 2.06560890e-01 1.42010612e-01 1.54920667e-01 1.67830723e-01 2.32381001e-01 2.71111168e-01 1.54920667e-01 1.16190501e-01 1.93650834e-01 2.84021223e-01 1.29100556e-01 2.06560890e-01 1.42010612e-01 2.19470945e-01 1.93650834e-01 2.58201112e-01 1.67830723e-01 1.93650834e-01 1.67830723e-01 2.19470945e-01 1.29100556e-01 1.54920667e-01 1.67830723e-01 9.03703893e-02 1.42010612e-01 1.54920667e-01 1.80740779e-01 1.54920667e-01 1.93650834e-01 2.06560890e-01 1.16190501e-01 1.42010612e-01 1.03280445e-01 2.32381001e-01 1.93650834e-01 6.45502781e-02 1.80740779e-01 1.93650834e-01 1.54920667e-01 2.06560890e-01 1.54920667e-01 1.54920667e-01 1.29100556e-01 1.16190501e-01 1.54920667e-01 1.54920667e-01 1.42010612e-01 1.80740779e-01 1.67830723e-01 1.54920667e-01 1.67830723e-01 1.54920667e-01 1.54920667e-01 1.29100556e-01 9.03703893e-02 1.16190501e-01 1.29100556e-01 1.67830723e-01 2.19470945e-01 1.54920667e-01 9.03703893e-02 7.74603337e-02 1.54920667e-01 1.16190501e-01 1.03280445e-01 1.42010612e-01 1.93650834e-01 1.03280445e-01 1.29100556e-01 1.93650834e-01 1.42010612e-01 7.74603337e-02 1.16190501e-01 1.54920667e-01 9.03703893e-02 1.16190501e-01 5.16402224e-02 7.74603337e-02 1.03280445e-01 1.54920667e-01 1.03280445e-01 1.16190501e-01 7.74603337e-02 1.29100556e-01 1.42010612e-01 1.29100556e-01 1.29100556e-01 1.93650834e-01 6.45502781e-02 1.03280445e-01 1.54920667e-01 1.29100556e-01 1.16190501e-01 1.16190501e-01 1.54920667e-01 1.16190501e-01 1.67830723e-01 7.74603337e-02 1.29100556e-01 1.16190501e-01 7.74603337e-02 1.16190501e-01 9.03703893e-02 9.03703893e-02 1.03280445e-01 1.29100556e-01 1.42010612e-01 1.16190501e-01 1.93650834e-01 5.16402224e-02 2.58201112e-02 1.67830723e-01 1.42010612e-01 9.03703893e-02 1.03280445e-01 1.42010612e-01 3.87301668e-02 1.29100556e-01 1.03280445e-01 1.29100556e-01 1.42010612e-01 1.42010612e-01 1.16190501e-01 9.03703893e-02 6.45502781e-02 7.74603337e-02 1.16190501e-01 7.74603337e-02 1.29100556e-01 1.29100556e-01 9.03703893e-02 1.03280445e-01 6.45502781e-02 6.45502781e-02 2.06560890e-01 9.03703893e-02 1.29100556e-01 7.74603337e-02 3.87301668e-02 9.03703893e-02 1.29100556e-01 1.29100556e-01 3.87301668e-02 7.74603337e-02 6.45502781e-02 7.74603337e-02 7.74603337e-02 2.58201112e-02 3.87301668e-02 7.74603337e-02 6.45502781e-02 1.03280445e-01 1.03280445e-01 1.16190501e-01 1.29100556e-01 1.29100556e-01 7.74603337e-02 1.03280445e-01 1.16190501e-01 5.16402224e-02 1.16190501e-01 9.03703893e-02 6.45502781e-02 6.45502781e-02 3.87301668e-02 9.03703893e-02 5.16402224e-02 3.87301668e-02 9.03703893e-02 6.45502781e-02 6.45502781e-02 9.03703893e-02 9.03703893e-02 7.74603337e-02 1.29100556e-01 9.03703893e-02 9.03703893e-02 7.74603337e-02 9.03703893e-02 7.74603337e-02 1.03280445e-01 5.16402224e-02 6.45502781e-02 9.03703893e-02 1.03280445e-01 5.16402224e-02 7.74603337e-02 1.03280445e-01 1.16190501e-01 2.58201112e-02 1.16190501e-01 9.03703893e-02 9.03703893e-02 5.16402224e-02 6.45502781e-02 9.03703893e-02 9.03703893e-02 7.74603337e-02 1.29100556e-01 1.16190501e-01 6.45502781e-02 2.58201112e-02 3.87301668e-02 1.03280445e-01 6.45502781e-02 5.16402224e-02 6.45502781e-02 9.03703893e-02 6.45502781e-02 9.03703893e-02 7.74603337e-02 9.03703893e-02 6.45502781e-02 6.45502781e-02 6.45502781e-02 9.03703893e-02 1.03280445e-01 9.03703893e-02 3.87301668e-02 3.87301668e-02 1.29100556e-01 7.74603337e-02 1.16190501e-01 5.16402224e-02 7.74603337e-02 5.16402224e-02 6.45502781e-02 5.16402224e-02 3.87301668e-02 6.45502781e-02 7.74603337e-02 3.87301668e-02 5.16402224e-02 7.74603337e-02 7.74603337e-02 7.74603337e-02 9.03703893e-02 3.87301668e-02 9.03703893e-02 6.45502781e-02 2.58201112e-02 6.45502781e-02 3.87301668e-02 1.16190501e-01 5.16402224e-02 5.16402224e-02 1.16190501e-01 3.87301668e-02 5.16402224e-02 7.74603337e-02 6.45502781e-02 2.58201112e-02 7.74603337e-02 9.03703893e-02 2.58201112e-02 1.29100556e-02 6.45502781e-02 9.03703893e-02 5.16402224e-02 3.87301668e-02 1.80740779e-01 7.74603337e-02 6.45502781e-02 7.74603337e-02 2.58201112e-02 3.87301668e-02 1.03280445e-01 7.74603337e-02 6.45502781e-02 7.74603337e-02 3.87301668e-02 5.16402224e-02 7.74603337e-02 7.74603337e-02 7.74603337e-02 5.16402224e-02 2.58201112e-02 1.29100556e-02 5.16402224e-02 3.87301668e-02 5.16402224e-02 6.45502781e-02 6.45502781e-02 5.16402224e-02 3.87301668e-02 6.45502781e-02 5.16402224e-02 9.03703893e-02 2.58201112e-02 7.74603337e-02 3.87301668e-02 2.58201112e-02 5.16402224e-02 3.87301668e-02 1.29100556e-02 2.58201112e-02 6.45502781e-02 2.58201112e-02 0.00000000e+00 1.29100556e-02 3.87301668e-02 9.03703893e-02 2.58201112e-02 9.03703893e-02 1.16190501e-01 2.58201112e-02 6.45502781e-02 5.16402224e-02 3.87301668e-02 0.00000000e+00 3.87301668e-02 1.29100556e-02 6.45502781e-02 3.87301668e-02 3.87301668e-02 5.16402224e-02 2.58201112e-02 5.16402224e-02 1.54920667e-01 0.00000000e+00 5.16402224e-02 2.58201112e-02 3.87301668e-02 5.16402224e-02 5.16402224e-02 3.87301668e-02 6.45502781e-02 5.16402224e-02 5.16402224e-02 6.45502781e-02 5.16402224e-02 7.74603337e-02 9.03703893e-02 1.29100556e-02 7.74603337e-02 1.03280445e-01 5.16402224e-02 0.00000000e+00 5.16402224e-02 3.87301668e-02 5.16402224e-02 2.58201112e-02 2.58201112e-02 3.87301668e-02 3.87301668e-02 5.16402224e-02 5.16402224e-02 5.16402224e-02 6.45502781e-02 1.16190501e-01 3.87301668e-02 2.58201112e-02 3.87301668e-02 3.87301668e-02 3.87301668e-02 5.16402224e-02 5.16402224e-02 5.16402224e-02 2.58201112e-02 5.16402224e-02 0.00000000e+00 3.87301668e-02 3.87301668e-02 2.58201112e-02 5.16402224e-02 5.16402224e-02 2.58201112e-02 2.58201112e-02 2.58201112e-02 2.58201112e-02 3.87301668e-02 6.45502781e-02 2.58201112e-02 3.87301668e-02 9.03703893e-02 3.87301668e-02 1.29100556e-02 9.03703893e-02 5.16402224e-02 6.45502781e-02 2.58201112e-02 3.87301668e-02 5.16402224e-02 1.29100556e-02 3.87301668e-02 5.16402224e-02 3.87301668e-02 5.16402224e-02 6.45502781e-02 7.74603337e-02 1.42010612e-01 1.29100556e-02 9.03703893e-02 2.58201112e-02 6.45502781e-02 3.87301668e-02 2.58201112e-02 6.45502781e-02 2.58201112e-02 3.87301668e-02 7.74603337e-02 3.87301668e-02 3.87301668e-02 6.45502781e-02 6.45502781e-02 2.58201112e-02 6.45502781e-02 6.45502781e-02 3.87301668e-02 2.58201112e-02 9.03703893e-02 2.58201112e-02 6.45502781e-02 9.03703893e-02 3.87301668e-02 1.29100556e-02 3.87301668e-02 2.58201112e-02 1.29100556e-02 2.58201112e-02 2.58201112e-02 2.58201112e-02 3.87301668e-02 6.45502781e-02 2.58201112e-02 6.45502781e-02 5.16402224e-02 0.00000000e+00 5.16402224e-02 3.87301668e-02 3.87301668e-02 3.87301668e-02 6.45502781e-02 1.29100556e-02 5.16402224e-02 5.16402224e-02 5.16402224e-02 3.87301668e-02 5.16402224e-02 3.87301668e-02 6.45502781e-02 3.87301668e-02 1.29100556e-02 5.16402224e-02 5.16402224e-02 3.87301668e-02 3.87301668e-02 3.87301668e-02 7.74603337e-02 6.45502781e-02 3.87301668e-02 7.74603337e-02 5.16402224e-02 6.45502781e-02 1.29100556e-02 3.87301668e-02 0.00000000e+00 7.74603337e-02 3.87301668e-02 2.58201112e-02 5.16402224e-02 2.58201112e-02 5.16402224e-02 2.58201112e-02 6.45502781e-02 2.58201112e-02 5.16402224e-02 6.45502781e-02 2.58201112e-02 1.29100556e-02 7.74603337e-02 2.58201112e-02 1.29100556e-02 7.74603337e-02 5.16402224e-02 6.45502781e-02 2.58201112e-02 5.16402224e-02 0.00000000e+00 1.29100556e-02 5.16402224e-02 2.58201112e-02 3.87301668e-02 6.45502781e-02 3.87301668e-02 3.87301668e-02 2.58201112e-02 3.87301668e-02 2.58201112e-02 6.45502781e-02 1.29100556e-02 6.45502781e-02 2.58201112e-02 6.45502781e-02 5.16402224e-02 2.58201112e-02 3.87301668e-02 2.58201112e-02 5.16402224e-02 7.74603337e-02 5.16402224e-02 6.45502781e-02 5.16402224e-02 3.87301668e-02 2.58201112e-02 9.03703893e-02 3.87301668e-02 3.87301668e-02 6.45502781e-02 5.16402224e-02 1.03280445e-01 7.74603337e-02 1.29100556e-02 5.16402224e-02 2.58201112e-02 1.29100556e-02 2.58201112e-02 7.74603337e-02 6.45502781e-02 1.29100556e-02 5.16402224e-02 2.58201112e-02 5.16402224e-02 0.00000000e+00 1.29100556e-02 1.29100556e-02 3.87301668e-02 3.87301668e-02 3.87301668e-02 2.58201112e-02 3.87301668e-02 2.58201112e-02 5.16402224e-02 1.29100556e-02 3.87301668e-02 1.29100556e-02 5.16402224e-02 2.58201112e-02 2.58201112e-02 2.58201112e-02 1.29100556e-02 0.00000000e+00 6.45502781e-02 3.87301668e-02 2.58201112e-02 2.58201112e-02 6.45502781e-02 2.58201112e-02 2.58201112e-02 1.29100556e-02 2.58201112e-02 3.87301668e-02 3.87301668e-02 6.45502781e-02 5.16402224e-02 1.29100556e-02 5.16402224e-02 2.58201112e-02 2.58201112e-02 1.03280445e-01 6.45502781e-02 1.29100556e-02 1.29100556e-02 1.29100556e-02 5.16402224e-02 3.87301668e-02 6.45502781e-02 1.29100556e-02 5.16402224e-02 7.74603337e-02 3.87301668e-02 1.29100556e-02 2.58201112e-02 1.29100556e-02 2.58201112e-02 1.29100556e-02 5.16402224e-02 1.29100556e-02 3.87301668e-02 2.58201112e-02 1.29100556e-02 3.87301668e-02 5.16402224e-02 3.87301668e-02 3.87301668e-02 2.58201112e-02 6.45502781e-02 7.74603337e-02 2.58201112e-02 1.29100556e-02 2.58201112e-02 0.00000000e+00 5.16402224e-02 2.58201112e-02 3.87301668e-02 6.45502781e-02 3.87301668e-02 1.29100556e-02 3.87301668e-02 6.45502781e-02 0.00000000e+00 3.87301668e-02 0.00000000e+00 5.16402224e-02 7.74603337e-02 3.87301668e-02 1.29100556e-02 3.87301668e-02 2.58201112e-02 2.58201112e-02 5.16402224e-02 2.58201112e-02 3.87301668e-02 5.16402224e-02 5.16402224e-02 6.45502781e-02 6.45502781e-02 3.87301668e-02 7.74603337e-02 2.58201112e-02 5.16402224e-02 6.45502781e-02 1.16190501e-01 7.74603337e-02 6.45502781e-02 0.00000000e+00 5.16402224e-02 0.00000000e+00 3.87301668e-02 3.87301668e-02 1.03280445e-01 2.58201112e-02 2.58201112e-02 5.16402224e-02 3.87301668e-02 1.29100556e-02 2.58201112e-02 2.58201112e-02 2.58201112e-02 0.00000000e+00 9.03703893e-02 5.16402224e-02 1.29100556e-02 6.45502781e-02 0.00000000e+00 3.87301668e-02 2.58201112e-02 1.29100556e-02 3.87301668e-02 5.16402224e-02 2.58201112e-02 3.87301668e-02 5.16402224e-02 3.87301668e-02 1.29100556e-02 5.16402224e-02 2.58201112e-02 2.58201112e-02 5.16402224e-02 0.00000000e+00 2.58201112e-02 0.00000000e+00 0.00000000e+00 5.16402224e-02 3.87301668e-02 7.74603337e-02 0.00000000e+00 2.58201112e-02 5.16402224e-02 6.45502781e-02 1.29100556e-02 3.87301668e-02 5.16402224e-02 2.58201112e-02 2.58201112e-02 0.00000000e+00 1.29100556e-02 2.58201112e-02 3.87301668e-02 3.87301668e-02 0.00000000e+00 3.87301668e-02 6.45502781e-02 9.03703893e-02 5.16402224e-02 6.45502781e-02 3.87301668e-02 1.29100556e-02 5.16402224e-02 1.29100556e-02 7.74603337e-02 3.87301668e-02 1.29100556e-02 7.74603337e-02 5.16402224e-02 2.58201112e-02 2.58201112e-02 3.87301668e-02 0.00000000e+00 1.29100556e-02 5.16402224e-02 2.58201112e-02 1.29100556e-02 2.58201112e-02 1.29100556e-02 3.87301668e-02 0.00000000e+00 5.16402224e-02 6.45502781e-02 2.58201112e-02 1.29100556e-02 2.58201112e-02 2.58201112e-02 2.58201112e-02 0.00000000e+00 3.87301668e-02 5.16402224e-02 1.29100556e-02 6.45502781e-02 7.74603337e-02 5.16402224e-02 3.87301668e-02 5.16402224e-02 3.87301668e-02 2.58201112e-02 2.58201112e-02 2.58201112e-02 2.58201112e-02 2.58201112e-02 3.87301668e-02 1.29100556e-02 5.16402224e-02 6.45502781e-02 3.87301668e-02 2.58201112e-02 2.58201112e-02 0.00000000e+00 3.87301668e-02 2.58201112e-02 5.16402224e-02 7.74603337e-02 7.74603337e-02 5.16402224e-02 2.58201112e-02 5.16402224e-02 1.03280445e-01 7.74603337e-02 3.87301668e-02 5.16402224e-02 2.58201112e-02 7.74603337e-02 1.29100556e-02 1.29100556e-02 1.29100556e-02 3.87301668e-02 2.58201112e-02 2.58201112e-02 1.29100556e-02 1.29100556e-02 2.58201112e-02 2.58201112e-02 0.00000000e+00 1.29100556e-02 6.45502781e-02 1.29100556e-02 7.74603337e-02 3.87301668e-02 3.87301668e-02 1.29100556e-02 3.87301668e-02 2.58201112e-02 7.74603337e-02 2.58201112e-02 5.16402224e-02 0.00000000e+00 3.87301668e-02 1.29100556e-01 5.16402224e-02 3.87301668e-02 3.87301668e-02 3.87301668e-02 3.87301668e-02 6.45502781e-02 3.87301668e-02 1.29100556e-02 5.16402224e-02 1.03280445e-01 6.45502781e-02 1.29100556e-02 3.87301668e-02 5.16402224e-02 7.74603337e-02 5.16402224e-02 1.29100556e-02 1.29100556e-02 1.29100556e-02 3.87301668e-02 2.58201112e-02 6.45502781e-02 6.45502781e-02 2.58201112e-02 2.58201112e-02 3.87301668e-02 3.87301668e-02 2.58201112e-02 1.29100556e-02 3.87301668e-02 3.87301668e-02 2.58201112e-02 5.16402224e-02 3.87301668e-02 2.58201112e-02 6.45502781e-02 3.87301668e-02 2.58201112e-02 2.58201112e-02 3.87301668e-02 5.16402224e-02 3.87301668e-02 9.03703893e-02 7.74603337e-02 6.45502781e-02 9.03703893e-02 5.16402224e-02 6.45502781e-02 3.87301668e-02 1.29100556e-02 2.58201112e-02 6.45502781e-02 2.58201112e-02 1.29100556e-02 5.16402224e-02 1.29100556e-02 7.74603337e-02 2.58201112e-02 2.58201112e-02 3.87301668e-02 9.03703893e-02 3.87301668e-02 1.29100556e-02 5.16402224e-02 7.74603337e-02 6.45502781e-02 1.03280445e-01 6.45502781e-02 7.74603337e-02 5.16402224e-02 9.03703893e-02 1.29100556e-02 5.16402224e-02 1.29100556e-02 1.29100556e-02 2.58201112e-02 5.16402224e-02 6.45502781e-02 5.16402224e-02 2.58201112e-02 6.45502781e-02 3.87301668e-02 3.87301668e-02 6.45502781e-02 2.58201112e-02 5.16402224e-02 3.87301668e-02 5.16402224e-02 6.45502781e-02 5.16402224e-02 2.58201112e-02 7.74603337e-02 6.45502781e-02 6.45502781e-02 3.87301668e-02 2.58201112e-02 0.00000000e+00 1.03280445e-01 5.16402224e-02 3.87301668e-02 6.45502781e-02 2.58201112e-02 1.29100556e-02 3.87301668e-02 5.16402224e-02 3.87301668e-02 2.58201112e-02 3.87301668e-02 3.87301668e-02 7.74603337e-02 5.16402224e-02 5.16402224e-02 9.03703893e-02 7.74603337e-02 9.03703893e-02 6.45502781e-02 6.45502781e-02 7.74603337e-02 3.87301668e-02 5.16402224e-02 1.03280445e-01 7.74603337e-02 2.58201112e-02 9.03703893e-02 1.03280445e-01 6.45502781e-02 3.87301668e-02 1.16190501e-01 5.16402224e-02 5.16402224e-02 5.16402224e-02 6.45502781e-02 1.03280445e-01 6.45502781e-02 3.87301668e-02 5.16402224e-02 9.03703893e-02 9.03703893e-02 1.03280445e-01 1.29100556e-01 9.03703893e-02 1.29100556e-01 1.29100556e-01 1.03280445e-01 7.74603337e-02 6.45502781e-02 7.74603337e-02 9.03703893e-02 1.54920667e-01 1.03280445e-01 1.67830723e-01 1.67830723e-01 1.29100556e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_high_e_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_high_e_BDTG.weights.xml new file mode 100644 index 000000000000..44e8d7c1ebdd --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_high_e_BDTG.weights.xml @@ -0,0 +1,5956 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.00000000e+00 0.00000000e+00 5.68417071e-02 5.68417071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.70525121e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.68417071e-02 0.00000000e+00 1.13683414e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.70525121e-01 5.68417071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.68417071e-02 0.00000000e+00 0.00000000e+00 1.13683414e-01 1.13683414e-01 5.68417071e-02 0.00000000e+00 5.68417071e-02 0.00000000e+00 5.68417071e-02 0.00000000e+00 5.68417071e-02 0.00000000e+00 5.68417071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.68417071e-02 5.68417071e-02 1.13683414e-01 1.13683414e-01 5.68417071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.68417071e-02 0.00000000e+00 1.13683414e-01 1.13683414e-01 5.68417071e-02 0.00000000e+00 1.13683414e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.13683414e-01 5.68417071e-02 0.00000000e+00 1.70525121e-01 0.00000000e+00 5.68417071e-02 1.13683414e-01 5.68417071e-02 1.13683414e-01 5.68417071e-02 0.00000000e+00 5.68417071e-02 5.68417071e-02 0.00000000e+00 5.68417071e-02 0.00000000e+00 5.68417071e-02 0.00000000e+00 0.00000000e+00 5.68417071e-02 5.68417071e-02 1.13683414e-01 0.00000000e+00 1.13683414e-01 0.00000000e+00 5.68417071e-02 1.13683414e-01 5.68417071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.68417071e-02 0.00000000e+00 5.68417071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.68417071e-02 5.68417071e-02 0.00000000e+00 1.13683414e-01 0.00000000e+00 5.68417071e-02 1.70525121e-01 5.68417071e-02 0.00000000e+00 1.70525121e-01 5.68417071e-02 0.00000000e+00 5.68417071e-02 0.00000000e+00 1.13683414e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.68417071e-02 5.68417071e-02 5.68417071e-02 5.68417071e-02 0.00000000e+00 5.68417071e-02 0.00000000e+00 5.68417071e-02 5.68417071e-02 0.00000000e+00 5.68417071e-02 0.00000000e+00 0.00000000e+00 1.13683414e-01 5.68417071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 5.68417071e-02 5.68417071e-02 1.13683414e-01 1.70525121e-01 1.13683414e-01 0.00000000e+00 5.68417071e-02 5.68417071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.13683414e-01 5.68417071e-02 5.68417071e-02 0.00000000e+00 1.70525121e-01 5.68417071e-02 0.00000000e+00 1.13683414e-01 5.68417071e-02 1.13683414e-01 0.00000000e+00 0.00000000e+00 5.68417071e-02 1.13683414e-01 0.00000000e+00 0.00000000e+00 5.68417071e-02 5.68417071e-02 5.68417071e-02 1.13683414e-01 1.13683414e-01 5.68417071e-02 0.00000000e+00 0.00000000e+00 1.13683414e-01 0.00000000e+00 0.00000000e+00 5.68417071e-02 1.13683414e-01 5.68417071e-02 5.68417071e-02 1.70525121e-01 1.70525121e-01 1.13683414e-01 1.13683414e-01 5.68417071e-02 2.27366828e-01 1.13683414e-01 1.13683414e-01 1.70525121e-01 1.13683414e-01 0.00000000e+00 1.13683414e-01 0.00000000e+00 5.68417071e-02 5.68417071e-02 5.68417071e-02 5.68417071e-02 1.13683414e-01 5.68417071e-02 2.27366828e-01 0.00000000e+00 0.00000000e+00 2.84208535e-01 1.70525121e-01 0.00000000e+00 0.00000000e+00 1.13683414e-01 1.13683414e-01 5.68417071e-02 2.27366828e-01 1.13683414e-01 5.68417071e-02 1.13683414e-01 5.68417071e-02 1.70525121e-01 1.70525121e-01 0.00000000e+00 3.41050243e-01 0.00000000e+00 5.68417071e-02 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.27366828e-01 1.13683414e-01 0.00000000e+00 5.68417071e-02 1.13683414e-01 2.84208535e-01 2.27366828e-01 2.27366828e-01 3.41050243e-01 5.68417071e-02 1.13683414e-01 1.70525121e-01 5.68417071e-02 2.84208535e-01 5.68417071e-02 0.00000000e+00 1.70525121e-01 2.27366828e-01 1.13683414e-01 2.84208535e-01 5.68417071e-02 1.13683414e-01 0.00000000e+00 5.68417071e-02 1.13683414e-01 1.70525121e-01 1.13683414e-01 2.27366828e-01 5.68417071e-02 1.13683414e-01 2.84208535e-01 1.13683414e-01 1.70525121e-01 2.84208535e-01 1.13683414e-01 5.68417071e-02 5.68417071e-02 5.68417071e-02 1.70525121e-01 3.97891950e-01 2.27366828e-01 5.68417071e-02 5.68417071e-02 1.70525121e-01 1.13683414e-01 1.13683414e-01 2.27366828e-01 2.27366828e-01 2.27366828e-01 5.68417071e-02 2.27366828e-01 2.27366828e-01 3.97891950e-01 1.13683414e-01 1.13683414e-01 2.27366828e-01 2.27366828e-01 1.13683414e-01 3.41050243e-01 1.70525121e-01 3.97891950e-01 3.41050243e-01 5.68417071e-01 4.54733657e-01 4.54733657e-01 3.41050243e-01 1.70525121e-01 2.84208535e-01 3.41050243e-01 6.25258778e-01 6.82100485e-01 3.41050243e-01 7.95783899e-01 5.11575364e-01 6.82100485e-01 5.68417071e-01 9.09467314e-01 9.09467314e-01 7.95783899e-01 1.30735926e+00 1.07999243e+00 1.25051756e+00 1.13683414e+00 1.07999243e+00 1.30735926e+00 1.25051756e+00 1.76209292e+00 1.81893463e+00 2.04630146e+00 2.04630146e+00 2.55787682e+00 2.72840194e+00 4.20628633e+00 3.46734413e+00 4.20628633e+00 6.19574607e+00 8.29888924e+00 1.64272534e+01 2.84208535e+01 3.57534338e+01 + + + + + 5.85464137e+01 1.77936371e+01 9.86914842e+00 6.34445255e+00 4.81303297e+00 4.10809380e+00 3.36669226e+00 2.58882834e+00 2.52805772e+00 2.34574587e+00 2.10266339e+00 1.81096443e+00 1.48280309e+00 1.37341597e+00 1.10602525e+00 1.13033350e+00 1.03310051e+00 1.05740876e+00 1.09387113e+00 7.77863915e-01 7.53555667e-01 7.17093296e-01 8.75096904e-01 6.92785049e-01 6.92785049e-01 5.46935565e-01 5.95552060e-01 6.80630925e-01 7.17093296e-01 5.10473194e-01 5.71243812e-01 4.49702576e-01 4.13240205e-01 4.61856699e-01 4.01086081e-01 5.10473194e-01 4.25394328e-01 4.61856699e-01 4.74010823e-01 3.64623710e-01 3.76777834e-01 3.28161339e-01 2.30928350e-01 3.40315463e-01 2.55236597e-01 4.01086081e-01 2.67390721e-01 2.79544844e-01 2.06620102e-01 4.13240205e-01 2.79544844e-01 2.67390721e-01 2.18774226e-01 2.67390721e-01 2.06620102e-01 3.40315463e-01 2.43082473e-01 1.82311855e-01 2.30928350e-01 2.43082473e-01 2.43082473e-01 2.55236597e-01 2.06620102e-01 1.58003608e-01 1.94465979e-01 1.58003608e-01 2.30928350e-01 1.94465979e-01 2.06620102e-01 1.82311855e-01 1.45849484e-01 1.21541237e-01 1.21541237e-01 6.07706183e-02 1.21541237e-01 2.79544844e-01 1.33695360e-01 1.33695360e-01 9.72329893e-02 1.58003608e-01 1.45849484e-01 2.18774226e-01 1.45849484e-01 1.45849484e-01 1.82311855e-01 1.94465979e-01 1.09387113e-01 1.21541237e-01 1.09387113e-01 6.07706183e-02 4.86164947e-02 1.21541237e-01 7.29247420e-02 7.29247420e-02 1.33695360e-01 9.72329893e-02 1.82311855e-01 6.07706183e-02 8.50788657e-02 1.33695360e-01 1.09387113e-01 1.09387113e-01 1.70157731e-01 1.09387113e-01 8.50788657e-02 1.09387113e-01 1.21541237e-01 1.33695360e-01 7.29247420e-02 7.29247420e-02 8.50788657e-02 6.07706183e-02 7.29247420e-02 1.45849484e-01 1.58003608e-01 8.50788657e-02 3.64623710e-02 1.33695360e-01 8.50788657e-02 1.21541237e-01 4.86164947e-02 4.86164947e-02 1.09387113e-01 2.43082473e-02 9.72329893e-02 6.07706183e-02 4.86164947e-02 8.50788657e-02 7.29247420e-02 6.07706183e-02 7.29247420e-02 7.29247420e-02 1.33695360e-01 2.43082473e-02 1.09387113e-01 7.29247420e-02 2.43082473e-02 4.86164947e-02 9.72329893e-02 4.86164947e-02 6.07706183e-02 4.86164947e-02 1.09387113e-01 4.86164947e-02 7.29247420e-02 9.72329893e-02 6.07706183e-02 6.07706183e-02 1.21541237e-02 6.07706183e-02 9.72329893e-02 8.50788657e-02 7.29247420e-02 7.29247420e-02 7.29247420e-02 4.86164947e-02 7.29247420e-02 1.21541237e-02 4.86164947e-02 4.86164947e-02 3.64623710e-02 9.72329893e-02 2.43082473e-02 4.86164947e-02 4.86164947e-02 3.64623710e-02 6.07706183e-02 2.43082473e-02 9.72329893e-02 2.43082473e-02 3.64623710e-02 7.29247420e-02 2.43082473e-02 4.86164947e-02 3.64623710e-02 6.07706183e-02 6.07706183e-02 7.29247420e-02 6.07706183e-02 2.43082473e-02 6.07706183e-02 8.50788657e-02 1.21541237e-02 0.00000000e+00 0.00000000e+00 1.21541237e-02 2.43082473e-02 1.09387113e-01 7.29247420e-02 7.29247420e-02 3.64623710e-02 3.64623710e-02 3.64623710e-02 8.50788657e-02 4.86164947e-02 3.64623710e-02 3.64623710e-02 8.50788657e-02 6.07706183e-02 4.86164947e-02 4.86164947e-02 3.64623710e-02 3.64623710e-02 1.21541237e-02 0.00000000e+00 4.86164947e-02 7.29247420e-02 7.29247420e-02 1.21541237e-02 3.64623710e-02 4.86164947e-02 3.64623710e-02 7.29247420e-02 4.86164947e-02 1.21541237e-02 2.43082473e-02 2.43082473e-02 4.86164947e-02 0.00000000e+00 4.86164947e-02 7.29247420e-02 6.07706183e-02 2.43082473e-02 1.21541237e-02 6.07706183e-02 1.21541237e-02 2.43082473e-02 4.86164947e-02 2.43082473e-02 2.43082473e-02 3.64623710e-02 4.86164947e-02 1.21541237e-02 3.64623710e-02 2.43082473e-02 2.43082473e-02 4.86164947e-02 1.21541237e-02 4.86164947e-02 0.00000000e+00 2.43082473e-02 8.50788657e-02 1.21541237e-02 2.43082473e-02 3.64623710e-02 4.86164947e-02 1.21541237e-02 4.86164947e-02 2.43082473e-02 1.21541237e-02 4.86164947e-02 4.86164947e-02 2.43082473e-02 4.86164947e-02 3.64623710e-02 1.09387113e-01 3.64623710e-02 3.64623710e-02 6.07706183e-02 4.86164947e-02 1.21541237e-02 2.43082473e-02 0.00000000e+00 1.21541237e-02 7.29247420e-02 1.21541237e-02 6.07706183e-02 4.86164947e-02 3.64623710e-02 2.43082473e-02 6.07706183e-02 6.07706183e-02 3.64623710e-02 7.29247420e-02 7.29247420e-02 1.21541237e-02 6.07706183e-02 2.43082473e-02 1.21541237e-02 4.86164947e-02 9.72329893e-02 3.64623710e-02 2.43082473e-02 1.21541237e-02 6.07706183e-02 9.72329893e-02 7.29247420e-02 2.43082473e-02 6.07706183e-02 7.29247420e-02 4.86164947e-02 4.86164947e-02 6.07706183e-02 4.86164947e-02 2.43082473e-02 3.64623710e-02 6.07706183e-02 3.64623710e-02 3.64623710e-02 3.64623710e-02 6.07706183e-02 4.86164947e-02 7.29247420e-02 3.64623710e-02 9.72329893e-02 6.07706183e-02 3.64623710e-02 3.64623710e-02 4.86164947e-02 8.50788657e-02 2.43082473e-02 2.43082473e-02 4.86164947e-02 2.43082473e-02 1.70157731e-01 6.07706183e-02 8.50788657e-02 1.33695360e-01 2.43082473e-02 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_low_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_low_BDTG.weights.xml new file mode 100644 index 000000000000..af8b2ec7dd98 --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_low_BDTG.weights.xml @@ -0,0 +1,6088 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.46867056e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 1.64578037e+00 8.22890186e-01 0.00000000e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 1.64578037e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 1.64578037e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 2.46867056e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 1.64578037e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 3.29156075e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 1.64578037e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 3.29156075e+00 0.00000000e+00 8.22890186e-01 2.46867056e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.46867056e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 8.22890186e-01 1.64578037e+00 1.64578037e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 1.64578037e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 1.64578037e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 4.11445093e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 2.46867056e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 1.64578037e+00 8.22890186e-01 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 1.64578037e+00 0.00000000e+00 8.22890186e-01 1.64578037e+00 8.22890186e-01 2.46867056e+00 2.46867056e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 3.29156075e+00 3.29156075e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 3.29156075e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 2.46867056e+00 0.00000000e+00 1.64578037e+00 2.46867056e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 2.46867056e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 1.64578037e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 1.64578037e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 4.93734112e+00 2.46867056e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 1.64578037e+00 1.64578037e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 2.46867056e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 8.22890186e-01 1.64578037e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 8.22890186e-01 1.64578037e+00 2.46867056e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.29156075e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 1.64578037e+00 2.46867056e+00 8.22890186e-01 8.22890186e-01 1.64578037e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 2.46867056e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 3.29156075e+00 8.22890186e-01 6.58312149e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 1.64578037e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 4.93734112e+00 1.64578037e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 1.64578037e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 5.76023130e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 1.64578037e+00 1.64578037e+00 5.76023130e+00 4.11445093e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 1.64578037e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 2.46867056e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 8.22890186e-01 0.00000000e+00 4.11445093e+00 1.64578037e+00 1.64578037e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.46867056e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 2.46867056e+00 8.22890186e-01 8.22890186e-01 1.64578037e+00 2.46867056e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 1.64578037e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 2.46867056e+00 8.22890186e-01 2.46867056e+00 0.00000000e+00 1.64578037e+00 2.46867056e+00 0.00000000e+00 2.46867056e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 3.29156075e+00 2.46867056e+00 8.22890186e-01 0.00000000e+00 1.64578037e+00 1.64578037e+00 2.46867056e+00 2.46867056e+00 0.00000000e+00 3.29156075e+00 8.22890186e-01 8.22890186e-01 1.64578037e+00 8.22890186e-01 8.22890186e+00 2.46867056e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 2.46867056e+00 8.22890186e-01 3.29156075e+00 1.64578037e+00 8.22890186e-01 4.93734112e+00 8.22890186e-01 7.40601168e+00 0.00000000e+00 8.22890186e-01 8.22890186e-01 2.46867056e+00 0.00000000e+00 5.76023130e+00 8.22890186e-01 4.93734112e+00 1.64578037e+00 0.00000000e+00 4.11445093e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 3.29156075e+00 4.93734112e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.46867056e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.64578037e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.29156075e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 3.29156075e+00 1.97493645e+01 2.46867056e+00 8.22890186e-01 0.00000000e+00 0.00000000e+00 1.64578037e+00 8.22890186e-01 0.00000000e+00 8.22890186e-01 2.46867056e+00 8.22890186e-01 8.22890186e-01 0.00000000e+00 8.22890186e-01 0.00000000e+00 1.64578037e+00 8.22890186e-01 4.11445093e+00 4.11445093e+00 2.46867056e+00 1.64578037e+00 1.64578037e+00 2.46867056e+00 0.00000000e+00 2.46867056e+00 8.22890186e-01 6.58312149e+00 0.00000000e+00 4.11445093e+00 8.22890186e+00 0.00000000e+00 2.46867056e+00 0.00000000e+00 0.00000000e+00 4.11445093e+00 8.22890186e+00 2.46867056e+00 8.22890186e-01 8.22890186e-01 2.46867056e+00 4.93734112e+00 1.64578037e+00 0.00000000e+00 3.29156075e+00 2.46867056e+00 1.64578037e+00 0.00000000e+00 3.29156075e+00 2.46867056e+00 2.38638154e+01 8.22890186e-01 4.93734112e+00 8.22890186e-01 0.00000000e+00 1.64578037e+00 2.71553761e+01 1.64578037e+00 1.39891332e+01 8.22890186e-01 6.58312149e+00 8.22890186e-01 0.00000000e+00 6.58312149e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 6.58312149e+00 0.00000000e+00 1.56349135e+01 0.00000000e+00 2.55095958e+01 0.00000000e+00 0.00000000e+00 7.40601168e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.22890186e-01 0.00000000e+00 + + + + + 7.86215778e-02 6.55179815e-02 5.24143852e-02 1.04828770e-01 4.58625871e-01 9.56562530e-01 1.25794525e+00 1.16622007e+00 2.29312935e+00 2.42416532e+00 2.75175522e+00 1.36277402e+00 2.17519699e+00 3.15796671e+00 2.72554803e+00 1.99174664e+00 2.28002576e+00 2.18830058e+00 2.80416961e+00 3.24969188e+00 2.51589049e+00 2.39795812e+00 1.92622866e+00 2.97451636e+00 2.48968330e+00 2.31933655e+00 2.69934084e+00 2.41106172e+00 3.13175952e+00 2.12278260e+00 2.60761566e+00 1.99174664e+00 3.60348898e+00 2.52899409e+00 2.48968330e+00 1.62484594e+00 2.83037680e+00 1.28415244e+00 2.67313365e+00 2.96141276e+00 1.62484594e+00 3.19727750e+00 1.95243585e+00 1.65105313e+00 1.62484594e+00 1.52001717e+00 1.92622866e+00 1.70346752e+00 1.87381427e+00 1.63794954e+00 1.72967471e+00 2.05726462e+00 1.74277831e+00 2.01795383e+00 1.44139559e+00 1.66415673e+00 1.49380998e+00 1.65105313e+00 1.72967471e+00 1.49380998e+00 1.41518840e+00 1.33656682e+00 1.02208051e+00 1.37587761e+00 9.43458934e-01 1.17932367e+00 9.56562530e-01 8.38630163e-01 1.45449919e+00 1.82139989e+00 1.44139559e+00 1.33656682e+00 1.11380569e+00 1.21863446e+00 1.02208051e+00 1.48070638e+00 7.99319375e-01 1.06139130e+00 9.95873319e-01 1.27104884e+00 1.38898121e+00 9.04148145e-01 8.91044549e-01 9.95873319e-01 7.99319375e-01 8.77940952e-01 1.08759849e+00 7.33801393e-01 7.73112182e-01 9.95873319e-01 1.10070209e+00 5.89661834e-01 8.51733760e-01 6.94490604e-01 7.46904989e-01 8.38630163e-01 7.33801393e-01 8.38630163e-01 1.08759849e+00 6.68283412e-01 7.86215778e-01 6.55179815e-01 6.28972623e-01 7.07594200e-01 7.33801393e-01 6.94490604e-01 5.37247448e-01 7.20697797e-01 7.60008586e-01 8.25526567e-01 8.12422971e-01 9.82769723e-01 6.55179815e-01 4.19315082e-01 8.77940952e-01 7.07594200e-01 9.82769723e-01 7.73112182e-01 5.50351045e-01 5.37247448e-01 7.07594200e-01 7.73112182e-01 9.69666127e-01 5.76558237e-01 9.30355338e-01 7.60008586e-01 8.38630163e-01 9.69666127e-01 6.68283412e-01 5.24143852e-01 8.12422971e-01 6.42076219e-01 9.56562530e-01 8.51733760e-01 3.53797100e-01 7.86215778e-01 6.15869026e-01 7.60008586e-01 5.37247448e-01 4.97936660e-01 6.81387008e-01 9.04148145e-01 7.73112182e-01 4.97936660e-01 5.11040256e-01 5.89661834e-01 5.24143852e-01 6.42076219e-01 7.33801393e-01 7.73112182e-01 5.37247448e-01 5.89661834e-01 7.46904989e-01 6.81387008e-01 5.24143852e-01 7.46904989e-01 6.28972623e-01 5.63454641e-01 4.32418678e-01 5.76558237e-01 6.02765430e-01 3.93107889e-01 5.37247448e-01 5.11040256e-01 6.68283412e-01 4.97936660e-01 7.07594200e-01 6.02765430e-01 4.84833063e-01 4.71729467e-01 4.71729467e-01 6.42076219e-01 5.11040256e-01 4.06211485e-01 5.89661834e-01 6.42076219e-01 3.40693504e-01 6.94490604e-01 6.55179815e-01 5.50351045e-01 9.30355338e-01 6.94490604e-01 7.60008586e-01 5.50351045e-01 8.38630163e-01 7.99319375e-01 7.20697797e-01 7.99319375e-01 7.99319375e-01 5.11040256e-01 6.68283412e-01 4.71729467e-01 8.64837356e-01 1.03518411e+00 7.60008586e-01 7.33801393e-01 4.84833063e-01 6.94490604e-01 5.37247448e-01 5.63454641e-01 7.46904989e-01 9.95873319e-01 5.89661834e-01 7.86215778e-01 4.32418678e-01 6.02765430e-01 5.76558237e-01 7.60008586e-01 9.04148145e-01 7.46904989e-01 4.19315082e-01 7.99319375e-01 7.73112182e-01 5.37247448e-01 7.07594200e-01 6.55179815e-01 6.81387008e-01 6.55179815e-01 5.89661834e-01 4.84833063e-01 7.07594200e-01 6.94490604e-01 1.07449490e+00 6.42076219e-01 7.73112182e-01 8.12422971e-01 6.94490604e-01 7.20697797e-01 5.11040256e-01 6.42076219e-01 6.81387008e-01 5.24143852e-01 5.37247448e-01 7.33801393e-01 5.76558237e-01 6.81387008e-01 5.11040256e-01 4.32418678e-01 8.38630163e-01 7.46904989e-01 5.63454641e-01 7.46904989e-01 6.15869026e-01 7.99319375e-01 5.11040256e-01 9.04148145e-01 7.20697797e-01 5.50351045e-01 7.46904989e-01 7.07594200e-01 5.24143852e-01 5.37247448e-01 5.63454641e-01 6.02765430e-01 9.04148145e-01 9.95873319e-01 6.28972623e-01 6.02765430e-01 9.69666127e-01 7.60008586e-01 6.55179815e-01 7.86215778e-01 6.94490604e-01 6.02765430e-01 6.28972623e-01 1.37587761e+00 9.82769723e-01 7.60008586e-01 7.07594200e-01 8.77940952e-01 7.46904989e-01 5.37247448e-01 7.60008586e-01 5.24143852e-01 5.37247448e-01 4.32418678e-01 1.04828770e+00 7.07594200e-01 7.60008586e-01 5.24143852e-01 6.28972623e-01 4.45522274e-01 6.15869026e-01 8.77940952e-01 6.15869026e-01 3.93107889e-01 4.71729467e-01 5.89661834e-01 6.02765430e-01 4.97936660e-01 6.94490604e-01 5.76558237e-01 5.50351045e-01 4.97936660e-01 6.15869026e-01 4.84833063e-01 7.33801393e-01 6.55179815e-01 4.84833063e-01 5.63454641e-01 7.99319375e-01 4.97936660e-01 6.55179815e-01 7.07594200e-01 6.28972623e-01 3.93107889e-01 4.45522274e-01 4.58625871e-01 6.68283412e-01 6.02765430e-01 5.24143852e-01 9.43458934e-01 6.02765430e-01 6.02765430e-01 5.11040256e-01 9.56562530e-01 5.63454641e-01 7.33801393e-01 5.50351045e-01 6.15869026e-01 7.20697797e-01 4.19315082e-01 6.81387008e-01 9.17251741e-01 8.64837356e-01 5.11040256e-01 8.91044549e-01 7.33801393e-01 7.99319375e-01 5.24143852e-01 9.69666127e-01 4.45522274e-01 5.76558237e-01 4.32418678e-01 4.58625871e-01 5.63454641e-01 7.20697797e-01 6.55179815e-01 7.33801393e-01 5.76558237e-01 3.66900697e-01 7.60008586e-01 4.45522274e-01 4.71729467e-01 5.37247448e-01 5.63454641e-01 7.20697797e-01 3.01382715e-01 5.24143852e-01 4.58625871e-01 7.46904989e-01 7.07594200e-01 5.37247448e-01 6.02765430e-01 7.07594200e-01 4.32418678e-01 5.11040256e-01 5.50351045e-01 5.63454641e-01 5.24143852e-01 5.24143852e-01 5.76558237e-01 5.63454641e-01 4.06211485e-01 5.50351045e-01 4.32418678e-01 4.45522274e-01 6.28972623e-01 6.68283412e-01 5.76558237e-01 5.89661834e-01 5.63454641e-01 6.42076219e-01 6.02765430e-01 6.81387008e-01 4.45522274e-01 6.28972623e-01 4.58625871e-01 6.94490604e-01 4.84833063e-01 5.76558237e-01 4.45522274e-01 5.76558237e-01 5.63454641e-01 3.80004293e-01 5.11040256e-01 5.50351045e-01 6.02765430e-01 6.02765430e-01 7.33801393e-01 5.89661834e-01 9.30355338e-01 8.64837356e-01 8.12422971e-01 4.97936660e-01 5.37247448e-01 6.81387008e-01 5.89661834e-01 4.45522274e-01 6.28972623e-01 6.68283412e-01 6.55179815e-01 6.55179815e-01 4.97936660e-01 6.15869026e-01 5.50351045e-01 5.89661834e-01 6.42076219e-01 7.46904989e-01 5.24143852e-01 5.50351045e-01 6.42076219e-01 5.89661834e-01 4.45522274e-01 6.28972623e-01 1.27104884e+00 5.50351045e-01 5.24143852e-01 6.68283412e-01 8.25526567e-01 7.86215778e-01 6.94490604e-01 8.12422971e-01 6.15869026e-01 7.60008586e-01 1.12690928e+00 6.02765430e-01 4.45522274e-01 5.37247448e-01 7.86215778e-01 7.46904989e-01 6.02765430e-01 7.20697797e-01 8.12422971e-01 8.25526567e-01 5.50351045e-01 9.17251741e-01 3.93107889e-01 6.15869026e-01 6.28972623e-01 4.97936660e-01 5.63454641e-01 9.43458934e-01 6.81387008e-01 6.42076219e-01 7.07594200e-01 5.50351045e-01 6.94490604e-01 6.55179815e-01 7.86215778e-01 5.63454641e-01 5.24143852e-01 5.37247448e-01 5.24143852e-01 5.24143852e-01 6.42076219e-01 3.66900697e-01 7.07594200e-01 6.28972623e-01 5.50351045e-01 5.89661834e-01 6.02765430e-01 4.58625871e-01 7.20697797e-01 7.20697797e-01 8.64837356e-01 6.02765430e-01 3.66900697e-01 6.55179815e-01 5.50351045e-01 3.53797100e-01 1.27104884e+00 7.99319375e-01 5.89661834e-01 1.06139130e+00 5.24143852e-01 6.68283412e-01 4.97936660e-01 5.89661834e-01 7.46904989e-01 5.24143852e-01 7.99319375e-01 9.95873319e-01 5.63454641e-01 7.46904989e-01 6.94490604e-01 1.14001288e+00 9.56562530e-01 4.58625871e-01 1.00897692e+00 1.78208910e+00 5.37247448e-01 6.55179815e-01 6.94490604e-01 6.15869026e-01 6.28972623e-01 8.64837356e-01 4.97936660e-01 1.07449490e+00 6.28972623e-01 5.11040256e-01 1.21863446e+00 7.20697797e-01 9.82769723e-01 6.02765430e-01 3.14486311e-01 1.25794525e+00 7.99319375e-01 8.77940952e-01 7.60008586e-01 6.55179815e-01 7.60008586e-01 4.84833063e-01 1.20553086e+00 5.24143852e-01 6.02765430e-01 7.86215778e-01 7.46904989e-01 8.25526567e-01 5.24143852e-01 5.76558237e-01 7.07594200e-01 8.12422971e-01 8.25526567e-01 6.15869026e-01 7.99319375e-01 8.51733760e-01 1.23173805e+00 6.02765430e-01 6.15869026e-01 3.93107889e-01 4.84833063e-01 5.11040256e-01 2.75175522e-01 6.42076219e-01 6.28972623e-01 4.06211485e-01 4.84833063e-01 7.33801393e-01 4.58625871e-01 6.15869026e-01 7.86215778e-01 6.42076219e-01 8.77940952e-01 4.32418678e-01 1.84760708e+00 5.37247448e-01 6.94490604e-01 5.50351045e-01 5.37247448e-01 6.94490604e-01 7.86215778e-01 6.81387008e-01 1.06139130e+00 5.11040256e-01 5.11040256e-01 7.20697797e-01 4.71729467e-01 5.37247448e-01 7.99319375e-01 1.07449490e+00 6.68283412e-01 7.46904989e-01 7.86215778e-01 8.77940952e-01 6.15869026e-01 7.33801393e-01 7.99319375e-01 6.55179815e-01 7.46904989e-01 4.32418678e-01 1.29725603e+00 6.68283412e-01 5.89661834e-01 4.58625871e-01 1.17932367e+00 6.42076219e-01 2.48968330e-01 5.24143852e-01 1.15311647e+00 6.02765430e-01 9.43458934e-01 5.37247448e-01 1.21863446e+00 6.68283412e-01 9.04148145e-01 5.76558237e-01 5.89661834e-01 6.68283412e-01 4.32418678e-01 5.89661834e-01 9.56562530e-01 4.71729467e-01 5.76558237e-01 5.11040256e-01 5.50351045e-01 4.06211485e-01 3.80004293e-01 3.27589908e-01 5.63454641e-01 5.24143852e-01 3.53797100e-01 2.88279119e-01 9.04148145e-01 5.37247448e-01 1.10070209e+00 6.55179815e-01 4.58625871e-01 6.02765430e-01 3.53797100e-01 3.80004293e-01 4.32418678e-01 4.84833063e-01 4.71729467e-01 4.84833063e-01 4.71729467e-01 4.97936660e-01 3.80004293e-01 4.06211485e-01 6.55179815e-01 4.45522274e-01 1.12690928e+00 2.75175522e-01 4.71729467e-01 3.14486311e-01 3.14486311e-01 4.71729467e-01 3.66900697e-01 5.11040256e-01 3.27589908e-01 6.02765430e-01 4.19315082e-01 4.45522274e-01 4.97936660e-01 3.93107889e-01 6.02765430e-01 4.71729467e-01 7.20697797e-01 6.42076219e-01 2.35864733e-01 1.49380998e+00 4.84833063e-01 4.45522274e-01 4.71729467e-01 9.82769723e-01 4.58625871e-01 4.97936660e-01 4.19315082e-01 4.97936660e-01 4.84833063e-01 4.06211485e-01 3.93107889e-01 5.37247448e-01 4.97936660e-01 3.27589908e-01 4.19315082e-01 4.06211485e-01 5.89661834e-01 4.58625871e-01 4.97936660e-01 3.53797100e-01 5.89661834e-01 4.06211485e-01 6.55179815e-01 7.46904989e-01 1.83450348e-01 3.93107889e-01 4.06211485e-01 3.93107889e-01 3.80004293e-01 2.35864733e-01 5.24143852e-01 3.27589908e-01 4.45522274e-01 4.45522274e-01 3.66900697e-01 8.12422971e-01 4.84833063e-01 3.80004293e-01 7.33801393e-01 8.64837356e-01 4.84833063e-01 5.76558237e-01 5.89661834e-01 4.58625871e-01 2.88279119e-01 9.56562530e-01 7.86215778e-01 4.19315082e-01 4.45522274e-01 4.84833063e-01 6.15869026e-01 5.63454641e-01 8.64837356e-01 8.25526567e-01 6.28972623e-01 4.97936660e-01 6.28972623e-01 3.27589908e-01 5.76558237e-01 9.69666127e-01 5.24143852e-01 3.40693504e-01 5.89661834e-01 1.29725603e+00 4.97936660e-01 4.97936660e-01 4.19315082e-01 7.86215778e-01 6.55179815e-01 5.89661834e-01 4.32418678e-01 2.09657541e-01 7.73112182e-01 4.58625871e-01 6.68283412e-01 3.66900697e-01 6.15869026e-01 3.14486311e-01 7.99319375e-01 6.42076219e-01 4.45522274e-01 4.71729467e-01 5.63454641e-01 3.80004293e-01 4.45522274e-01 6.02765430e-01 5.24143852e-01 1.00897692e+00 5.24143852e-01 5.37247448e-01 5.76558237e-01 4.19315082e-01 4.97936660e-01 6.28972623e-01 4.06211485e-01 7.99319375e-01 4.71729467e-01 4.97936660e-01 7.20697797e-01 6.28972623e-01 5.63454641e-01 8.12422971e-01 7.46904989e-01 6.42076219e-01 5.11040256e-01 5.89661834e-01 5.89661834e-01 1.74277831e+00 4.32418678e-01 7.33801393e-01 6.94490604e-01 5.37247448e-01 4.71729467e-01 4.71729467e-01 3.53797100e-01 1.17932367e+00 3.14486311e-01 5.89661834e-01 7.20697797e-01 1.02208051e+00 3.27589908e-01 6.15869026e-01 6.68283412e-01 3.80004293e-01 3.01382715e-01 5.89661834e-01 9.56562530e-01 2.88279119e-01 3.40693504e-01 3.80004293e-01 9.04148145e-01 1.20553086e+00 2.62071926e-01 6.02765430e-01 5.11040256e-01 4.06211485e-01 7.73112182e-01 6.15869026e-01 6.68283412e-01 3.27589908e-01 5.37247448e-01 5.76558237e-01 4.71729467e-01 8.77940952e-01 1.17932367e+00 3.53797100e-01 6.28972623e-01 1.57243156e+00 3.53797100e-01 1.06139130e+00 2.88279119e-01 5.37247448e-01 2.88279119e-01 1.41518840e+00 5.50351045e-01 8.38630163e-01 3.93107889e-01 4.97936660e-01 9.82769723e-01 6.15869026e-01 1.03518411e+00 2.75175522e-01 6.28972623e-01 2.88279119e-01 8.25526567e-01 3.27589908e-01 7.73112182e-01 8.64837356e-01 4.97936660e-01 5.11040256e-01 4.32418678e-01 1.75588190e+00 4.58625871e-01 4.32418678e-01 6.15869026e-01 3.40693504e-01 6.15869026e-01 8.51733760e-01 1.57243156e-01 5.24143852e-01 9.56562530e-01 6.81387008e-01 3.01382715e-01 4.71729467e-01 5.63454641e-01 4.32418678e-01 4.97936660e-01 3.66900697e-01 2.62071926e-01 5.24143852e-01 6.02765430e-01 4.58625871e-01 5.89661834e-01 2.88279119e-01 3.40693504e-01 4.71729467e-01 7.46904989e-01 4.45522274e-01 4.71729467e-01 5.24143852e-01 2.09657541e-01 4.84833063e-01 8.38630163e-01 3.01382715e-01 4.06211485e-01 1.40208480e+00 4.19315082e-01 4.97936660e-01 4.71729467e-01 8.25526567e-01 7.07594200e-01 3.40693504e-01 1.10070209e+00 1.07449490e+00 7.46904989e-01 3.93107889e-01 3.27589908e-01 4.19315082e-01 8.91044549e-01 4.71729467e-01 3.80004293e-01 4.97936660e-01 4.45522274e-01 4.32418678e-01 3.40693504e-01 4.58625871e-01 2.75175522e-01 3.53797100e-01 7.33801393e-01 4.97936660e-01 1.96553945e-01 7.46904989e-01 2.88279119e-01 5.63454641e-01 5.11040256e-01 3.66900697e-01 5.24143852e-01 6.42076219e-01 4.71729467e-01 5.50351045e-01 5.89661834e-01 2.62071926e-01 6.68283412e-01 6.02765430e-01 4.97936660e-01 5.24143852e-01 4.19315082e-01 5.11040256e-01 3.14486311e-01 1.11380569e+00 4.45522274e-01 6.81387008e-01 3.27589908e-01 2.62071926e-01 6.81387008e-01 6.02765430e-01 5.11040256e-01 4.84833063e-01 5.11040256e-01 3.80004293e-01 3.93107889e-01 8.12422971e-01 1.16622007e+00 3.01382715e-01 3.53797100e-01 3.93107889e-01 2.88279119e-01 4.06211485e-01 4.06211485e-01 5.11040256e-01 3.14486311e-01 5.50351045e-01 5.37247448e-01 2.88279119e-01 3.80004293e-01 3.93107889e-01 3.93107889e-01 3.27589908e-01 3.93107889e-01 3.66900697e-01 4.84833063e-01 1.16622007e+00 1.44139559e-01 1.15311647e+00 6.94490604e-01 1.96553945e-01 2.75175522e-01 2.62071926e-01 4.45522274e-01 7.60008586e-01 3.53797100e-01 2.62071926e-01 3.27589908e-01 8.38630163e-01 3.40693504e-01 2.88279119e-01 5.11040256e-01 1.96553945e-01 3.80004293e-01 3.80004293e-01 4.32418678e-01 2.62071926e-01 3.40693504e-01 3.01382715e-01 2.48968330e-01 4.58625871e-01 5.89661834e-01 3.93107889e-01 3.40693504e-01 3.14486311e-01 4.45522274e-01 5.63454641e-01 2.75175522e-01 1.84760708e+00 2.13588620e+00 3.14486311e-01 2.35864733e-01 5.37247448e-01 5.11040256e-01 6.55179815e-01 3.93107889e-01 7.20697797e-01 2.62071926e-01 9.95873319e-01 5.76558237e-01 2.48968330e-01 6.55179815e-01 5.76558237e-01 1.44139559e-01 5.11040256e-01 3.01382715e-01 9.17251741e-02 4.19315082e-01 2.48968330e-01 2.48968330e-01 7.46904989e-01 5.89661834e-01 2.35864733e-01 6.15869026e-01 3.93107889e-01 2.48968330e-01 6.81387008e-01 2.62071926e-01 2.62071926e-01 1.15311647e+00 5.24143852e-01 3.27589908e-01 2.88279119e-01 7.60008586e-01 3.80004293e-01 6.42076219e-01 3.66900697e-01 4.71729467e-01 3.14486311e-01 4.97936660e-01 5.50351045e-01 3.93107889e-01 5.89661834e-01 9.17251741e-01 4.84833063e-01 2.35864733e-01 1.57243156e-01 3.14486311e-01 3.01382715e-01 1.44139559e-01 4.84833063e-01 4.58625871e-01 5.11040256e-01 1.44139559e-01 5.37247448e-01 3.66900697e-01 2.88279119e-01 2.48968330e-01 1.21863446e+00 4.06211485e-01 1.96553945e-01 1.17932367e-01 3.14486311e-01 1.04828770e-01 4.97936660e-01 8.64837356e-01 4.32418678e-01 2.09657541e-01 1.83450348e-01 1.31035963e-01 5.89661834e-01 1.08759849e+00 2.22761137e-01 1.63794954e+00 2.75175522e-01 1.96553945e-01 2.75175522e-01 5.24143852e-01 1.57243156e-01 9.95873319e-01 7.46904989e-01 2.88279119e-01 3.27589908e-01 1.70346752e-01 2.48968330e-01 3.80004293e-01 4.58625871e-01 1.57243156e-01 1.83450348e-01 7.86215778e-02 1.17932367e-01 2.75175522e-01 4.58625871e-01 1.31035963e-01 3.53797100e-01 1.70346752e-01 6.55179815e-02 1.44139559e-01 3.14486311e-01 9.17251741e-02 1.31035963e-01 2.35864733e-01 1.33656682e+00 6.02765430e-01 1.44139559e-01 4.84833063e-01 2.09657541e-01 7.86215778e-02 2.33244014e+00 9.82769723e-01 1.17932367e-01 2.88279119e-01 6.55179815e-02 1.57243156e-01 1.70346752e-01 1.17932367e-01 1.44139559e-01 2.35864733e-01 1.17932367e-01 1.31035963e-01 2.75175522e-01 1.31035963e-01 2.88279119e-01 1.83450348e-01 7.86215778e-02 4.32418678e-01 2.09657541e-01 1.17932367e-01 3.40693504e-01 2.75175522e-01 3.14486311e-01 1.83450348e-01 2.22761137e-01 3.66900697e-01 3.80004293e-01 2.48968330e-01 1.83450348e-01 3.27589908e-01 1.17932367e-01 4.32418678e-01 3.40693504e-01 9.17251741e-02 3.01382715e-01 3.66900697e-01 1.44139559e-01 1.83450348e-01 1.17932367e-01 3.40693504e-01 1.83450348e-01 1.83450348e-01 3.93107889e-02 2.75175522e-01 1.57243156e-01 1.31035963e-01 3.01382715e-01 7.73112182e-01 5.89661834e-01 1.96553945e-01 1.04828770e-01 7.86215778e-02 4.58625871e-01 2.22761137e-01 3.14486311e-01 1.83450348e-01 1.83450348e-01 2.35864733e-01 3.93107889e-01 1.83450348e-01 8.12422971e-01 2.88279119e-01 4.45522274e-01 3.53797100e-01 6.02765430e-01 3.40693504e-01 2.88279119e-01 5.24143852e-01 7.07594200e-01 3.53797100e-01 5.76558237e-01 2.48968330e-01 3.01382715e-01 4.45522274e-01 1.96553945e-01 5.63454641e-01 6.55179815e-02 2.62071926e-01 5.76558237e-01 5.76558237e-01 6.94490604e-01 2.88279119e-01 1.57243156e-01 4.19315082e-01 5.37247448e-01 3.66900697e-01 2.35864733e-01 7.86215778e-02 4.84833063e-01 2.22761137e-01 4.45522274e-01 3.66900697e-01 7.86215778e-02 2.58140847e+00 1.00897692e+00 1.04828770e-01 1.57243156e-01 1.04828770e-01 2.75175522e-01 9.17251741e-02 4.32418678e-01 1.17932367e-01 2.35864733e-01 4.97936660e-01 2.22761137e-01 1.37587761e+00 1.04828770e-01 3.93107889e-02 1.44139559e-01 3.27589908e-01 2.22761137e-01 1.29725603e+00 4.71729467e-01 8.91044549e-01 1.83450348e-01 7.86215778e-02 8.38630163e-01 1.57243156e-01 3.93107889e-02 5.11040256e-01 9.17251741e-02 2.62071926e-01 3.01382715e-01 2.22761137e-01 1.61174235e+00 7.86215778e-02 3.14486311e-01 3.14486311e-01 1.70346752e-01 1.57243156e-01 2.09657541e-01 3.66900697e-01 2.35864733e-01 1.83450348e-01 2.22761137e-01 1.83450348e-01 2.62071926e-02 4.58625871e-01 3.66900697e-01 1.04828770e-01 1.96553945e-01 1.17932367e-01 1.96553945e-01 2.75175522e-01 1.31035963e-01 1.57243156e-01 5.24143852e-01 2.62071926e-01 6.68283412e-01 2.35864733e-01 2.09657541e-01 2.88279119e-01 4.97936660e-01 3.11865592e+00 1.83450348e-01 1.31035963e-01 1.83450348e-01 1.44139559e-01 1.70346752e-01 1.04828770e-01 2.09657541e-01 4.06211485e-01 2.88279119e-01 2.09657541e-01 1.57243156e-01 1.17932367e-01 2.62071926e-01 2.48968330e-01 7.20697797e-01 9.17251741e-02 9.04148145e-01 7.86215778e-01 1.83450348e-01 1.70346752e-01 3.80004293e-01 5.50351045e-01 5.24143852e-02 1.12690928e+00 2.22761137e-01 1.14001288e+00 1.70346752e-01 6.15869026e-01 6.81387008e-01 1.31035963e-01 6.28972623e-01 1.83450348e-01 4.06211485e-01 7.60008586e-01 8.91044549e-01 1.31035963e-01 2.62071926e-01 3.14486311e-01 1.57243156e-01 1.07449490e+00 9.17251741e-02 2.48968330e-01 3.01382715e-01 2.22761137e-01 5.37247448e-01 1.17932367e-01 3.40693504e-01 1.00897692e+00 3.11865592e+00 3.53797100e-01 7.73112182e-01 5.24143852e-02 1.04828770e-01 1.70346752e-01 4.86143423e+00 1.04828770e-01 2.28002576e+00 2.62071926e-02 4.32418678e-01 3.14486311e-01 1.31035963e-02 6.28972623e-01 0.00000000e+00 3.93107889e-01 0.00000000e+00 3.53797100e-01 1.31035963e-02 1.34967042e+00 0.00000000e+00 3.47245302e+00 0.00000000e+00 0.00000000e+00 8.25526567e-01 0.00000000e+00 0.00000000e+00 6.55179815e-02 1.31035963e-02 1.31035963e-02 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_medium_b_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_medium_b_BDTG.weights.xml new file mode 100644 index 000000000000..4427772d2791 --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_medium_b_BDTG.weights.xml @@ -0,0 +1,6079 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.30967370e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 3.30967370e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 6.61934740e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.30967370e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 4.96451055e-01 3.30967370e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 3.30967370e-01 1.65483685e-01 1.65483685e-01 3.30967370e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.30967370e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 4.96451055e-01 1.65483685e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 3.30967370e-01 1.65483685e-01 1.65483685e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 1.65483685e-01 0.00000000e+00 3.30967370e-01 1.65483685e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 4.96451055e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 4.96451055e-01 0.00000000e+00 4.96451055e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 3.30967370e-01 3.30967370e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 3.30967370e-01 0.00000000e+00 3.30967370e-01 1.65483685e-01 3.30967370e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 3.30967370e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 0.00000000e+00 0.00000000e+00 3.30967370e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 0.00000000e+00 0.00000000e+00 3.30967370e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.30967370e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 4.96451055e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 4.96451055e-01 3.30967370e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 3.30967370e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 4.96451055e-01 4.96451055e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 3.30967370e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 3.30967370e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 3.30967370e-01 0.00000000e+00 1.65483685e-01 4.96451055e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 3.30967370e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 6.61934740e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 4.96451055e-01 1.65483685e-01 1.65483685e-01 4.96451055e-01 0.00000000e+00 4.96451055e-01 3.30967370e-01 3.30967370e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 3.30967370e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 4.96451055e-01 1.65483685e-01 0.00000000e+00 3.30967370e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 4.96451055e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.30967370e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 6.61934740e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 1.65483685e-01 8.27418425e-01 4.96451055e-01 1.65483685e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 3.30967370e-01 1.65483685e-01 3.30967370e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 4.96451055e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.30967370e-01 3.30967370e-01 3.30967370e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.96451055e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 1.65483685e-01 1.65483685e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.65483685e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 3.30967370e-01 0.00000000e+00 1.65483685e-01 4.96451055e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 3.30967370e-01 1.65483685e-01 3.30967370e-01 1.65483685e-01 0.00000000e+00 0.00000000e+00 3.30967370e-01 4.96451055e-01 0.00000000e+00 0.00000000e+00 3.30967370e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 4.96451055e-01 1.65483685e-01 0.00000000e+00 3.30967370e-01 0.00000000e+00 0.00000000e+00 3.30967370e-01 3.30967370e-01 0.00000000e+00 8.27418425e-01 0.00000000e+00 4.96451055e-01 6.61934740e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 3.30967370e-01 4.96451055e-01 1.65483685e-01 0.00000000e+00 4.96451055e-01 0.00000000e+00 4.96451055e-01 1.65483685e-01 0.00000000e+00 4.96451055e-01 4.96451055e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 3.30967370e-01 4.96451055e-01 3.30967370e-01 0.00000000e+00 6.61934740e-01 0.00000000e+00 4.96451055e-01 3.30967370e-01 4.96451055e-01 0.00000000e+00 1.65483685e-01 1.65483685e-01 3.30967370e-01 3.30967370e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 6.61934740e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 1.65483685e-01 4.96451055e-01 1.65483685e-01 3.30967370e-01 4.96451055e-01 1.65483685e-01 9.92902110e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 1.65483685e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 1.65483685e-01 1.65483685e-01 4.96451055e-01 0.00000000e+00 1.65483685e-01 6.61934740e-01 3.30967370e-01 3.30967370e-01 1.65483685e-01 1.65483685e-01 3.30967370e-01 3.30967370e-01 0.00000000e+00 3.30967370e-01 1.65483685e-01 4.96451055e-01 4.96451055e-01 0.00000000e+00 3.30967370e-01 3.30967370e-01 1.65483685e-01 3.30967370e-01 3.30967370e-01 3.30967370e-01 3.30967370e-01 4.96451055e-01 3.30967370e-01 4.96451055e-01 4.96451055e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.30967370e-01 3.30967370e-01 3.30967370e-01 1.65483685e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 3.30967370e-01 4.96451055e-01 0.00000000e+00 3.30967370e-01 3.30967370e-01 1.65483685e-01 6.61934740e-01 3.30967370e-01 1.65483685e-01 6.61934740e-01 3.30967370e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 3.30967370e-01 3.30967370e-01 1.65483685e-01 3.30967370e-01 4.96451055e-01 0.00000000e+00 8.27418425e-01 1.65483685e-01 1.65483685e-01 0.00000000e+00 4.96451055e-01 3.30967370e-01 0.00000000e+00 1.65483685e-01 3.30967370e-01 1.65483685e-01 6.61934740e-01 3.30967370e-01 3.30967370e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 4.96451055e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 3.30967370e-01 4.96451055e-01 3.30967370e-01 1.65483685e-01 1.65483685e-01 3.30967370e-01 3.30967370e-01 8.27418425e-01 1.65483685e-01 1.65483685e-01 6.61934740e-01 1.65483685e-01 6.61934740e-01 4.96451055e-01 6.61934740e-01 1.65483685e-01 8.27418425e-01 3.30967370e-01 4.96451055e-01 1.65483685e-01 4.96451055e-01 0.00000000e+00 3.30967370e-01 0.00000000e+00 1.65483685e-01 0.00000000e+00 0.00000000e+00 1.65483685e-01 6.61934740e-01 1.65483685e-01 0.00000000e+00 3.30967370e-01 3.30967370e-01 4.96451055e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 1.65483685e-01 6.61934740e-01 3.30967370e-01 1.65483685e-01 3.30967370e-01 1.65483685e-01 4.96451055e-01 8.27418425e-01 1.65483685e-01 6.61934740e-01 1.65483685e-01 6.61934740e-01 3.30967370e-01 4.96451055e-01 1.65483685e-01 3.30967370e-01 3.30967370e-01 1.65483685e-01 8.27418425e-01 3.30967370e-01 3.30967370e-01 8.27418425e-01 6.61934740e-01 1.65483685e-01 4.96451055e-01 3.30967370e-01 4.96451055e-01 4.96451055e-01 4.96451055e-01 0.00000000e+00 1.65483685e-01 8.27418425e-01 4.96451055e-01 1.65483685e-01 1.65483685e-01 4.96451055e-01 1.65483685e-01 4.96451055e-01 0.00000000e+00 3.30967370e-01 1.65483685e-01 3.30967370e-01 3.30967370e-01 4.96451055e-01 6.61934740e-01 1.65483685e-01 1.15838579e+00 6.61934740e-01 4.96451055e-01 1.65483685e-01 3.30967370e-01 3.30967370e-01 6.61934740e-01 4.96451055e-01 1.65483685e-01 4.96451055e-01 1.15838579e+00 1.15838579e+00 4.96451055e-01 4.96451055e-01 6.61934740e-01 1.65483685e-01 4.96451055e-01 1.15838579e+00 3.30967370e-01 3.30967370e-01 3.30967370e-01 6.61934740e-01 4.96451055e-01 3.30967370e-01 3.30967370e-01 4.96451055e-01 8.27418425e-01 3.30967370e-01 6.61934740e-01 1.65483685e-01 8.27418425e-01 8.27418425e-01 6.61934740e-01 9.92902110e-01 6.61934740e-01 8.27418425e-01 8.27418425e-01 1.65483685e-01 4.96451055e-01 3.30967370e-01 4.96451055e-01 8.27418425e-01 4.96451055e-01 6.61934740e-01 9.92902110e-01 3.30967370e-01 8.27418425e-01 6.61934740e-01 9.92902110e-01 6.61934740e-01 4.96451055e-01 4.96451055e-01 4.96451055e-01 3.30967370e-01 8.27418425e-01 4.96451055e-01 6.61934740e-01 4.96451055e-01 3.30967370e-01 8.27418425e-01 6.61934740e-01 8.27418425e-01 6.61934740e-01 6.61934740e-01 6.61934740e-01 1.48935316e+00 8.27418425e-01 8.27418425e-01 8.27418425e-01 6.61934740e-01 8.27418425e-01 1.15838579e+00 8.27418425e-01 1.65483685e+00 1.65483685e-01 1.15838579e+00 1.48935316e+00 6.61934740e-01 9.92902110e-01 1.82032053e+00 3.30967370e-01 1.15838579e+00 8.27418425e-01 8.27418425e-01 6.61934740e-01 1.65483685e+00 8.27418425e-01 6.61934740e-01 1.32386948e+00 8.27418425e-01 8.27418425e-01 0.00000000e+00 1.15838579e+00 6.61934740e-01 8.27418425e-01 1.32386948e+00 6.61934740e-01 1.15838579e+00 1.48935316e+00 4.96451055e-01 1.32386948e+00 9.92902110e-01 8.27418425e-01 6.61934740e-01 9.92902110e-01 9.92902110e-01 1.15838579e+00 6.61934740e-01 8.27418425e-01 1.48935316e+00 1.15838579e+00 1.32386948e+00 1.65483685e+00 1.32386948e+00 1.15838579e+00 8.27418425e-01 1.32386948e+00 8.27418425e-01 1.15838579e+00 9.92902110e-01 1.98580422e+00 4.96451055e-01 9.92902110e-01 4.96451055e-01 1.98580422e+00 1.65483685e+00 2.15128790e+00 1.15838579e+00 1.98580422e+00 2.15128790e+00 1.32386948e+00 1.65483685e+00 3.30967370e-01 1.15838579e+00 2.15128790e+00 1.65483685e+00 1.48935316e+00 9.92902110e-01 9.92902110e-01 9.92902110e-01 1.82032053e+00 1.48935316e+00 9.92902110e-01 1.48935316e+00 1.98580422e+00 1.15838579e+00 1.15838579e+00 1.32386948e+00 1.48935316e+00 1.98580422e+00 1.65483685e+00 1.48935316e+00 1.65483685e+00 1.82032053e+00 1.98580422e+00 3.64064107e+00 1.82032053e+00 1.82032053e+00 2.15128790e+00 1.98580422e+00 1.15838579e+00 2.64773896e+00 9.92902110e-01 2.31677159e+00 1.65483685e+00 2.81322264e+00 1.98580422e+00 1.98580422e+00 2.31677159e+00 1.48935316e+00 2.15128790e+00 2.15128790e+00 2.97870633e+00 2.15128790e+00 1.82032053e+00 2.64773896e+00 2.48225527e+00 2.81322264e+00 2.31677159e+00 2.64773896e+00 3.14419001e+00 2.81322264e+00 3.47515738e+00 3.64064107e+00 3.97160844e+00 2.97870633e+00 3.97160844e+00 3.14419001e+00 4.79902686e+00 4.30257581e+00 3.80612475e+00 4.46805949e+00 4.46805949e+00 4.63354318e+00 5.95741266e+00 5.46096160e+00 5.46096160e+00 7.77773319e+00 7.77773319e+00 8.27418425e+00 7.44676582e+00 6.61934740e+00 6.95031477e+00 8.27418425e+00 8.77063530e+00 9.26708636e+00 7.28128214e+00 1.09219232e+01 1.20803090e+01 1.91961075e+01 1.14183743e+01 8.93611899e+00 1.02599885e+01 2.01890096e+01 + + + + + 1.43147836e-01 2.74183163e+00 7.31155101e+00 1.04167579e+01 1.60655918e+01 1.97433900e+01 1.68033537e+01 1.48653522e+01 1.34779193e+01 1.18262135e+01 1.04938375e+01 9.71203011e+00 8.77606349e+00 7.97223333e+00 7.45469885e+00 6.52974360e+00 6.44165262e+00 6.29850479e+00 5.64883384e+00 6.14434558e+00 5.28545856e+00 5.14231073e+00 4.94410603e+00 5.02118563e+00 4.38252606e+00 4.54769664e+00 4.15128725e+00 3.40251395e+00 3.87600295e+00 3.75487785e+00 3.34745709e+00 3.51262767e+00 3.73285511e+00 3.73285511e+00 3.60071865e+00 3.18228651e+00 2.90700221e+00 3.16026377e+00 2.98408181e+00 2.90700221e+00 2.76385437e+00 2.56564968e+00 2.46654733e+00 2.43351321e+00 2.40047910e+00 2.43351321e+00 2.47755870e+00 2.07013794e+00 2.38946773e+00 2.47755870e+00 2.01508108e+00 2.02609245e+00 1.75080815e+00 1.91597873e+00 1.99305833e+00 1.86092187e+00 1.80586501e+00 1.72878540e+00 1.51956934e+00 1.50855796e+00 1.53058071e+00 1.86092187e+00 1.65170580e+00 1.43147836e+00 1.56361482e+00 1.27731915e+00 1.34338738e+00 1.22226229e+00 1.33237601e+00 1.42046699e+00 1.26630778e+00 1.29934190e+00 1.20023955e+00 1.15619406e+00 1.31035327e+00 1.31035327e+00 1.12315994e+00 1.03506897e+00 1.01304622e+00 1.21125092e+00 1.12315994e+00 1.13417132e+00 1.23327366e+00 8.25852900e-01 8.58887016e-01 1.05709171e+00 9.46977992e-01 1.04608034e+00 9.69000736e-01 8.80909760e-01 6.82705064e-01 7.92818784e-01 8.91921132e-01 8.14841528e-01 9.02932504e-01 8.91921132e-01 9.69000736e-01 9.02932504e-01 7.48773296e-01 6.38659576e-01 1.00203485e+00 8.14841528e-01 8.03830156e-01 7.48773296e-01 6.49670948e-01 8.25852900e-01 7.15739180e-01 1.00203485e+00 8.14841528e-01 6.82705064e-01 7.59784668e-01 7.04727808e-01 6.49670948e-01 5.83602716e-01 5.83602716e-01 7.92818784e-01 7.81807412e-01 7.04727808e-01 7.15739180e-01 6.60682320e-01 8.58887016e-01 7.70796040e-01 7.26750552e-01 7.04727808e-01 8.25852900e-01 7.15739180e-01 8.47875644e-01 7.59784668e-01 6.27648204e-01 6.71693692e-01 6.16636832e-01 6.05625460e-01 7.04727808e-01 5.61579972e-01 5.72591344e-01 6.27648204e-01 6.71693692e-01 6.38659576e-01 5.06523112e-01 5.83602716e-01 4.51466252e-01 6.05625460e-01 5.39557228e-01 6.27648204e-01 6.82705064e-01 6.16636832e-01 6.82705064e-01 5.72591344e-01 4.07420764e-01 7.70796040e-01 5.61579972e-01 4.84500368e-01 5.39557228e-01 5.17534484e-01 6.82705064e-01 3.96409392e-01 5.17534484e-01 5.61579972e-01 3.85398020e-01 6.27648204e-01 5.61579972e-01 4.73488996e-01 4.51466252e-01 4.73488996e-01 6.16636832e-01 5.50568600e-01 4.62477624e-01 4.07420764e-01 5.61579972e-01 4.29443508e-01 5.28545856e-01 4.62477624e-01 4.07420764e-01 2.97307044e-01 5.39557228e-01 5.72591344e-01 5.28545856e-01 5.61579972e-01 5.28545856e-01 5.06523112e-01 4.95511740e-01 3.85398020e-01 4.62477624e-01 5.17534484e-01 4.62477624e-01 4.40454880e-01 4.29443508e-01 5.06523112e-01 5.61579972e-01 4.18432136e-01 4.18432136e-01 4.29443508e-01 4.62477624e-01 4.73488996e-01 4.29443508e-01 5.06523112e-01 3.74386648e-01 3.52363904e-01 3.96409392e-01 3.52363904e-01 5.17534484e-01 5.61579972e-01 3.52363904e-01 4.29443508e-01 3.63375276e-01 4.07420764e-01 4.18432136e-01 3.85398020e-01 4.95511740e-01 4.07420764e-01 3.52363904e-01 3.52363904e-01 3.96409392e-01 3.19329788e-01 4.95511740e-01 4.18432136e-01 4.73488996e-01 3.74386648e-01 4.95511740e-01 3.19329788e-01 4.84500368e-01 3.08318416e-01 3.74386648e-01 3.30341160e-01 4.29443508e-01 4.73488996e-01 4.29443508e-01 4.84500368e-01 4.62477624e-01 3.74386648e-01 5.61579972e-01 4.07420764e-01 3.52363904e-01 4.07420764e-01 4.62477624e-01 3.30341160e-01 2.86295672e-01 4.18432136e-01 4.51466252e-01 3.96409392e-01 2.97307044e-01 3.08318416e-01 3.74386648e-01 4.73488996e-01 4.07420764e-01 4.29443508e-01 4.95511740e-01 3.19329788e-01 2.86295672e-01 4.18432136e-01 3.85398020e-01 3.63375276e-01 3.08318416e-01 2.20227440e-01 2.53261556e-01 3.63375276e-01 2.86295672e-01 3.08318416e-01 2.97307044e-01 2.97307044e-01 4.07420764e-01 4.40454880e-01 2.64272928e-01 3.74386648e-01 2.42250184e-01 3.74386648e-01 2.75284300e-01 3.74386648e-01 4.18432136e-01 2.97307044e-01 2.97307044e-01 3.74386648e-01 2.86295672e-01 2.97307044e-01 3.85398020e-01 3.30341160e-01 3.63375276e-01 2.42250184e-01 3.52363904e-01 3.41352532e-01 2.75284300e-01 3.08318416e-01 2.53261556e-01 2.86295672e-01 3.19329788e-01 3.41352532e-01 3.52363904e-01 2.75284300e-01 3.30341160e-01 3.63375276e-01 2.42250184e-01 3.19329788e-01 3.74386648e-01 3.52363904e-01 3.52363904e-01 3.08318416e-01 2.64272928e-01 3.52363904e-01 3.08318416e-01 3.52363904e-01 2.86295672e-01 2.42250184e-01 2.42250184e-01 1.76181952e-01 2.64272928e-01 2.75284300e-01 3.08318416e-01 2.09216068e-01 3.19329788e-01 3.52363904e-01 3.63375276e-01 3.08318416e-01 3.30341160e-01 2.42250184e-01 2.86295672e-01 3.41352532e-01 1.98204696e-01 2.64272928e-01 2.75284300e-01 3.19329788e-01 2.09216068e-01 2.42250184e-01 3.08318416e-01 1.98204696e-01 1.87193324e-01 2.86295672e-01 2.53261556e-01 1.54159208e-01 3.52363904e-01 2.75284300e-01 2.86295672e-01 2.42250184e-01 2.75284300e-01 2.42250184e-01 3.52363904e-01 2.97307044e-01 3.19329788e-01 3.63375276e-01 2.53261556e-01 3.41352532e-01 2.86295672e-01 3.19329788e-01 1.87193324e-01 9.91023480e-02 2.53261556e-01 2.86295672e-01 2.53261556e-01 2.20227440e-01 3.19329788e-01 2.64272928e-01 2.86295672e-01 2.86295672e-01 3.19329788e-01 2.75284300e-01 1.65170580e-01 2.09216068e-01 2.42250184e-01 2.75284300e-01 4.07420764e-01 2.97307044e-01 2.75284300e-01 3.74386648e-01 2.64272928e-01 3.52363904e-01 2.09216068e-01 2.75284300e-01 3.52363904e-01 2.31238812e-01 1.54159208e-01 3.52363904e-01 3.08318416e-01 2.86295672e-01 2.20227440e-01 2.09216068e-01 3.19329788e-01 1.54159208e-01 3.08318416e-01 3.19329788e-01 2.75284300e-01 2.64272928e-01 2.42250184e-01 2.31238812e-01 4.29443508e-01 1.32136464e-01 1.98204696e-01 2.20227440e-01 2.09216068e-01 2.64272928e-01 1.98204696e-01 2.53261556e-01 2.42250184e-01 2.31238812e-01 3.19329788e-01 2.20227440e-01 2.20227440e-01 2.42250184e-01 2.75284300e-01 2.97307044e-01 2.42250184e-01 1.76181952e-01 1.65170580e-01 2.97307044e-01 1.87193324e-01 1.87193324e-01 2.75284300e-01 2.53261556e-01 2.53261556e-01 1.76181952e-01 2.31238812e-01 2.09216068e-01 2.42250184e-01 3.08318416e-01 1.98204696e-01 1.87193324e-01 2.31238812e-01 1.65170580e-01 2.31238812e-01 2.97307044e-01 1.98204696e-01 1.76181952e-01 1.98204696e-01 1.65170580e-01 1.98204696e-01 2.86295672e-01 2.42250184e-01 1.87193324e-01 2.64272928e-01 1.98204696e-01 1.65170580e-01 2.75284300e-01 2.86295672e-01 2.20227440e-01 1.87193324e-01 2.64272928e-01 2.97307044e-01 1.87193324e-01 3.74386648e-01 2.42250184e-01 3.41352532e-01 1.65170580e-01 2.31238812e-01 2.09216068e-01 2.42250184e-01 2.20227440e-01 3.19329788e-01 1.76181952e-01 1.32136464e-01 2.09216068e-01 2.31238812e-01 2.42250184e-01 1.32136464e-01 1.87193324e-01 1.76181952e-01 2.53261556e-01 2.20227440e-01 1.98204696e-01 1.87193324e-01 2.42250184e-01 2.64272928e-01 2.42250184e-01 1.76181952e-01 1.76181952e-01 1.54159208e-01 2.42250184e-01 2.86295672e-01 2.31238812e-01 1.98204696e-01 1.76181952e-01 2.86295672e-01 1.10113720e-01 2.64272928e-01 2.75284300e-01 1.43147836e-01 1.54159208e-01 1.98204696e-01 2.53261556e-01 1.65170580e-01 1.43147836e-01 9.91023480e-02 1.76181952e-01 2.20227440e-01 1.87193324e-01 1.65170580e-01 2.53261556e-01 1.32136464e-01 1.76181952e-01 2.09216068e-01 1.76181952e-01 1.21125092e-01 2.75284300e-01 1.32136464e-01 1.21125092e-01 2.31238812e-01 2.53261556e-01 1.87193324e-01 2.31238812e-01 2.09216068e-01 1.98204696e-01 1.32136464e-01 1.65170580e-01 1.98204696e-01 1.54159208e-01 2.09216068e-01 1.87193324e-01 2.31238812e-01 1.98204696e-01 1.21125092e-01 1.21125092e-01 1.21125092e-01 1.87193324e-01 1.65170580e-01 2.09216068e-01 2.09216068e-01 1.21125092e-01 1.76181952e-01 1.98204696e-01 1.76181952e-01 1.43147836e-01 1.65170580e-01 1.43147836e-01 2.09216068e-01 2.09216068e-01 1.43147836e-01 2.42250184e-01 1.76181952e-01 1.98204696e-01 1.10113720e-01 1.98204696e-01 2.31238812e-01 1.54159208e-01 1.87193324e-01 1.65170580e-01 1.87193324e-01 1.10113720e-01 1.65170580e-01 1.98204696e-01 1.65170580e-01 2.09216068e-01 1.98204696e-01 1.65170580e-01 1.87193324e-01 9.91023480e-02 1.21125092e-01 2.42250184e-01 2.09216068e-01 1.65170580e-01 2.20227440e-01 1.87193324e-01 1.21125092e-01 1.98204696e-01 1.76181952e-01 2.31238812e-01 1.98204696e-01 1.54159208e-01 1.76181952e-01 1.76181952e-01 2.09216068e-01 1.21125092e-01 1.32136464e-01 9.91023480e-02 1.98204696e-01 1.65170580e-01 1.21125092e-01 2.09216068e-01 1.76181952e-01 1.54159208e-01 1.65170580e-01 1.43147836e-01 1.54159208e-01 1.43147836e-01 1.32136464e-01 1.43147836e-01 1.65170580e-01 1.65170580e-01 1.32136464e-01 1.54159208e-01 1.87193324e-01 2.31238812e-01 1.87193324e-01 1.43147836e-01 1.54159208e-01 1.32136464e-01 9.91023480e-02 1.76181952e-01 9.91023480e-02 1.10113720e-01 1.21125092e-01 1.76181952e-01 1.32136464e-01 1.43147836e-01 1.10113720e-01 2.31238812e-01 1.98204696e-01 1.87193324e-01 1.21125092e-01 7.70796040e-02 7.70796040e-02 1.76181952e-01 2.20227440e-01 1.54159208e-01 1.21125092e-01 1.32136464e-01 1.54159208e-01 1.65170580e-01 1.21125092e-01 1.98204696e-01 1.54159208e-01 1.10113720e-01 1.54159208e-01 2.09216068e-01 8.80909760e-02 2.64272928e-01 1.65170580e-01 1.32136464e-01 1.10113720e-01 9.91023480e-02 1.43147836e-01 1.43147836e-01 1.32136464e-01 1.98204696e-01 1.21125092e-01 1.98204696e-01 1.54159208e-01 1.43147836e-01 6.60682320e-02 9.91023480e-02 2.09216068e-01 1.43147836e-01 8.80909760e-02 6.60682320e-02 1.76181952e-01 1.98204696e-01 9.91023480e-02 1.32136464e-01 7.70796040e-02 1.87193324e-01 1.43147836e-01 9.91023480e-02 2.20227440e-01 1.10113720e-01 1.10113720e-01 1.65170580e-01 1.32136464e-01 1.21125092e-01 1.32136464e-01 1.10113720e-01 1.21125092e-01 1.21125092e-01 8.80909760e-02 1.76181952e-01 1.76181952e-01 1.43147836e-01 1.76181952e-01 1.98204696e-01 1.65170580e-01 8.80909760e-02 1.76181952e-01 1.32136464e-01 1.32136464e-01 1.21125092e-01 1.54159208e-01 8.80909760e-02 1.54159208e-01 8.80909760e-02 1.10113720e-01 5.50568600e-02 1.10113720e-01 1.76181952e-01 1.54159208e-01 1.43147836e-01 1.10113720e-01 1.98204696e-01 1.65170580e-01 1.32136464e-01 1.87193324e-01 1.32136464e-01 1.98204696e-01 1.54159208e-01 1.54159208e-01 1.21125092e-01 1.87193324e-01 1.43147836e-01 1.54159208e-01 1.21125092e-01 1.10113720e-01 1.10113720e-01 1.43147836e-01 1.43147836e-01 8.80909760e-02 1.87193324e-01 1.43147836e-01 1.10113720e-01 1.87193324e-01 1.32136464e-01 1.65170580e-01 1.32136464e-01 1.98204696e-01 1.10113720e-01 1.32136464e-01 9.91023480e-02 1.87193324e-01 1.32136464e-01 1.54159208e-01 1.54159208e-01 1.76181952e-01 1.76181952e-01 1.32136464e-01 1.43147836e-01 1.43147836e-01 1.54159208e-01 1.21125092e-01 5.50568600e-02 1.32136464e-01 1.43147836e-01 1.76181952e-01 1.32136464e-01 1.76181952e-01 1.65170580e-01 1.54159208e-01 9.91023480e-02 7.70796040e-02 2.31238812e-01 2.09216068e-01 1.10113720e-01 1.76181952e-01 1.21125092e-01 1.21125092e-01 1.98204696e-01 1.32136464e-01 1.65170580e-01 2.31238812e-01 1.21125092e-01 1.21125092e-01 1.10113720e-01 1.32136464e-01 9.91023480e-02 2.09216068e-01 8.80909760e-02 1.54159208e-01 9.91023480e-02 1.21125092e-01 1.54159208e-01 1.32136464e-01 1.76181952e-01 1.21125092e-01 1.43147836e-01 1.10113720e-01 1.21125092e-01 6.60682320e-02 1.65170580e-01 2.42250184e-01 7.70796040e-02 1.10113720e-01 1.65170580e-01 1.76181952e-01 8.80909760e-02 2.09216068e-01 9.91023480e-02 1.32136464e-01 2.09216068e-01 1.43147836e-01 1.65170580e-01 1.10113720e-01 1.32136464e-01 1.87193324e-01 1.43147836e-01 1.21125092e-01 7.70796040e-02 8.80909760e-02 8.80909760e-02 1.10113720e-01 8.80909760e-02 2.31238812e-01 1.76181952e-01 7.70796040e-02 1.21125092e-01 1.76181952e-01 1.10113720e-01 9.91023480e-02 9.91023480e-02 1.21125092e-01 2.31238812e-01 1.21125092e-01 8.80909760e-02 1.65170580e-01 1.43147836e-01 1.98204696e-01 1.32136464e-01 6.60682320e-02 1.43147836e-01 1.32136464e-01 1.54159208e-01 1.43147836e-01 1.43147836e-01 1.32136464e-01 1.87193324e-01 1.65170580e-01 9.91023480e-02 1.21125092e-01 9.91023480e-02 1.21125092e-01 1.65170580e-01 1.43147836e-01 1.10113720e-01 1.10113720e-01 6.60682320e-02 1.32136464e-01 1.21125092e-01 1.10113720e-01 1.54159208e-01 1.98204696e-01 1.54159208e-01 1.32136464e-01 1.32136464e-01 8.80909760e-02 1.54159208e-01 1.21125092e-01 8.80909760e-02 1.10113720e-01 7.70796040e-02 1.32136464e-01 1.76181952e-01 1.43147836e-01 9.91023480e-02 1.32136464e-01 1.10113720e-01 1.87193324e-01 1.32136464e-01 1.65170580e-01 1.21125092e-01 1.54159208e-01 7.70796040e-02 1.21125092e-01 1.54159208e-01 1.10113720e-01 1.54159208e-01 1.10113720e-01 1.43147836e-01 1.32136464e-01 7.70796040e-02 1.43147836e-01 6.60682320e-02 1.43147836e-01 9.91023480e-02 1.43147836e-01 6.60682320e-02 1.43147836e-01 1.76181952e-01 1.43147836e-01 1.43147836e-01 9.91023480e-02 1.32136464e-01 1.65170580e-01 7.70796040e-02 1.32136464e-01 7.70796040e-02 7.70796040e-02 1.76181952e-01 1.10113720e-01 1.10113720e-01 1.32136464e-01 1.10113720e-01 1.21125092e-01 1.54159208e-01 1.43147836e-01 1.32136464e-01 1.21125092e-01 1.54159208e-01 1.10113720e-01 9.91023480e-02 1.21125092e-01 1.76181952e-01 1.54159208e-01 1.21125092e-01 1.32136464e-01 1.43147836e-01 1.21125092e-01 1.10113720e-01 1.10113720e-01 1.32136464e-01 1.32136464e-01 1.10113720e-01 7.70796040e-02 1.43147836e-01 2.09216068e-01 1.10113720e-01 9.91023480e-02 1.65170580e-01 1.54159208e-01 1.65170580e-01 9.91023480e-02 1.43147836e-01 1.76181952e-01 1.76181952e-01 1.32136464e-01 1.21125092e-01 9.91023480e-02 1.87193324e-01 1.98204696e-01 1.54159208e-01 1.21125092e-01 9.91023480e-02 1.43147836e-01 1.21125092e-01 1.21125092e-01 2.20227440e-01 9.91023480e-02 1.76181952e-01 1.43147836e-01 1.32136464e-01 1.32136464e-01 1.43147836e-01 1.21125092e-01 1.54159208e-01 1.65170580e-01 8.80909760e-02 5.50568600e-02 8.80909760e-02 1.65170580e-01 1.43147836e-01 8.80909760e-02 5.50568600e-02 5.50568600e-02 1.43147836e-01 1.21125092e-01 6.60682320e-02 1.87193324e-01 1.10113720e-01 8.80909760e-02 1.21125092e-01 1.32136464e-01 1.65170580e-01 1.32136464e-01 1.65170580e-01 1.54159208e-01 1.32136464e-01 1.76181952e-01 1.10113720e-01 1.21125092e-01 1.65170580e-01 1.10113720e-01 8.80909760e-02 1.43147836e-01 9.91023480e-02 8.80909760e-02 1.54159208e-01 1.76181952e-01 1.54159208e-01 1.21125092e-01 8.80909760e-02 1.43147836e-01 8.80909760e-02 1.10113720e-01 1.54159208e-01 8.80909760e-02 9.91023480e-02 1.21125092e-01 9.91023480e-02 1.21125092e-01 8.80909760e-02 1.21125092e-01 1.21125092e-01 1.32136464e-01 1.76181952e-01 1.43147836e-01 9.91023480e-02 1.32136464e-01 1.32136464e-01 1.43147836e-01 1.87193324e-01 1.76181952e-01 1.10113720e-01 1.21125092e-01 1.65170580e-01 1.54159208e-01 1.43147836e-01 1.10113720e-01 9.91023480e-02 8.80909760e-02 1.10113720e-01 1.32136464e-01 7.70796040e-02 1.54159208e-01 1.65170580e-01 1.32136464e-01 1.32136464e-01 1.21125092e-01 1.43147836e-01 1.87193324e-01 1.21125092e-01 1.65170580e-01 1.32136464e-01 9.91023480e-02 1.43147836e-01 1.21125092e-01 8.80909760e-02 1.10113720e-01 1.43147836e-01 1.76181952e-01 2.20227440e-01 1.87193324e-01 1.43147836e-01 1.76181952e-01 1.10113720e-01 7.70796040e-02 1.65170580e-01 1.54159208e-01 1.21125092e-01 1.32136464e-01 1.76181952e-01 1.76181952e-01 1.65170580e-01 1.43147836e-01 1.32136464e-01 1.21125092e-01 1.54159208e-01 1.98204696e-01 1.32136464e-01 1.32136464e-01 1.87193324e-01 7.70796040e-02 2.09216068e-01 1.76181952e-01 1.43147836e-01 2.09216068e-01 9.91023480e-02 9.91023480e-02 1.43147836e-01 1.65170580e-01 1.54159208e-01 1.21125092e-01 1.54159208e-01 1.43147836e-01 1.43147836e-01 6.60682320e-02 1.43147836e-01 1.54159208e-01 9.91023480e-02 1.43147836e-01 8.80909760e-02 9.91023480e-02 1.87193324e-01 7.70796040e-02 6.60682320e-02 1.10113720e-01 9.91023480e-02 1.76181952e-01 1.21125092e-01 1.32136464e-01 1.54159208e-01 1.65170580e-01 1.98204696e-01 1.65170580e-01 1.43147836e-01 9.91023480e-02 8.80909760e-02 1.21125092e-01 5.50568600e-02 1.21125092e-01 1.10113720e-01 1.21125092e-01 1.54159208e-01 1.32136464e-01 1.43147836e-01 2.31238812e-01 1.54159208e-01 1.32136464e-01 1.10113720e-01 1.65170580e-01 1.10113720e-01 1.65170580e-01 1.76181952e-01 2.20227440e-01 1.21125092e-01 1.21125092e-01 1.32136464e-01 1.54159208e-01 1.98204696e-01 1.32136464e-01 1.43147836e-01 1.54159208e-01 2.20227440e-01 1.21125092e-01 1.21125092e-01 1.65170580e-01 1.54159208e-01 1.10113720e-01 1.43147836e-01 6.60682320e-02 2.42250184e-01 1.54159208e-01 1.65170580e-01 1.43147836e-01 1.21125092e-01 9.91023480e-02 1.65170580e-01 1.76181952e-01 1.21125092e-01 1.65170580e-01 1.21125092e-01 1.32136464e-01 1.87193324e-01 1.65170580e-01 7.70796040e-02 9.91023480e-02 1.43147836e-01 6.60682320e-02 1.87193324e-01 1.76181952e-01 1.76181952e-01 1.98204696e-01 1.32136464e-01 9.91023480e-02 1.43147836e-01 1.76181952e-01 2.31238812e-01 1.54159208e-01 1.87193324e-01 2.64272928e-01 1.76181952e-01 7.70796040e-02 2.97307044e-01 1.32136464e-01 1.21125092e-01 1.76181952e-01 1.32136464e-01 1.76181952e-01 1.54159208e-01 2.09216068e-01 1.98204696e-01 1.21125092e-01 1.21125092e-01 1.76181952e-01 2.75284300e-01 1.54159208e-01 1.32136464e-01 1.65170580e-01 1.43147836e-01 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_medium_e_BDTG.weights.xml b/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_medium_e_BDTG.weights.xml new file mode 100644 index 000000000000..aa0569202048 --- /dev/null +++ b/CMGTools/TTHAnalysis/data/leptonMVA/tth/mu_pteta_medium_e_BDTG.weights.xml @@ -0,0 +1,5989 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 3.85859856e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.85859856e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 3.85859856e-01 0.00000000e+00 1.92929928e-01 1.92929928e-01 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 1.92929928e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 1.92929928e-01 0.00000000e+00 1.92929928e-01 0.00000000e+00 1.92929928e-01 0.00000000e+00 1.92929928e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.85859856e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 1.92929928e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 3.85859856e-01 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 3.85859856e-01 1.92929928e-01 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.85859856e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 1.92929928e-01 0.00000000e+00 1.92929928e-01 0.00000000e+00 1.92929928e-01 0.00000000e+00 1.92929928e-01 3.85859856e-01 5.78789784e-01 3.85859856e-01 0.00000000e+00 0.00000000e+00 3.85859856e-01 0.00000000e+00 1.92929928e-01 1.92929928e-01 1.92929928e-01 0.00000000e+00 1.92929928e-01 0.00000000e+00 0.00000000e+00 3.85859856e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 1.92929928e-01 1.92929928e-01 0.00000000e+00 1.92929928e-01 1.92929928e-01 3.85859856e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 5.78789784e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.85859856e-01 3.85859856e-01 3.85859856e-01 0.00000000e+00 3.85859856e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 3.85859856e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 3.85859856e-01 3.85859856e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 5.78789784e-01 1.92929928e-01 3.85859856e-01 1.92929928e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 1.92929928e-01 1.92929928e-01 1.92929928e-01 1.92929928e-01 3.85859856e-01 5.78789784e-01 1.92929928e-01 0.00000000e+00 1.92929928e-01 3.85859856e-01 3.85859856e-01 1.92929928e-01 3.85859856e-01 1.92929928e-01 0.00000000e+00 3.85859856e-01 3.85859856e-01 0.00000000e+00 5.78789784e-01 0.00000000e+00 0.00000000e+00 1.92929928e-01 1.92929928e-01 1.92929928e-01 0.00000000e+00 1.92929928e-01 1.92929928e-01 3.85859856e-01 1.92929928e-01 1.92929928e-01 3.85859856e-01 1.92929928e-01 0.00000000e+00 5.78789784e-01 3.85859856e-01 1.92929928e-01 3.85859856e-01 0.00000000e+00 3.85859856e-01 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 1.92929928e-01 1.92929928e-01 1.92929928e-01 3.85859856e-01 1.92929928e-01 1.92929928e-01 3.85859856e-01 0.00000000e+00 1.92929928e-01 1.92929928e-01 1.92929928e-01 3.85859856e-01 1.92929928e-01 3.85859856e-01 1.92929928e-01 5.78789784e-01 0.00000000e+00 1.92929928e-01 1.15757957e+00 0.00000000e+00 0.00000000e+00 1.92929928e-01 0.00000000e+00 9.64649640e-01 9.64649640e-01 7.71719712e-01 3.85859856e-01 0.00000000e+00 1.92929928e-01 3.85859856e-01 0.00000000e+00 0.00000000e+00 3.85859856e-01 0.00000000e+00 5.78789784e-01 3.85859856e-01 1.92929928e-01 1.92929928e-01 1.92929928e-01 0.00000000e+00 3.85859856e-01 0.00000000e+00 1.15757957e+00 3.85859856e-01 1.92929928e-01 3.85859856e-01 0.00000000e+00 1.92929928e-01 1.92929928e-01 3.85859856e-01 1.92929928e-01 5.78789784e-01 1.92929928e-01 9.64649640e-01 3.85859856e-01 1.92929928e-01 5.78789784e-01 3.85859856e-01 3.85859856e-01 1.92929928e-01 3.85859856e-01 3.85859856e-01 0.00000000e+00 9.64649640e-01 3.85859856e-01 9.64649640e-01 5.78789784e-01 5.78789784e-01 3.85859856e-01 5.78789784e-01 5.78789784e-01 0.00000000e+00 7.71719712e-01 3.85859856e-01 3.85859856e-01 1.92929928e-01 1.92929928e-01 7.71719712e-01 3.85859856e-01 1.92929928e-01 5.78789784e-01 1.92929928e-01 3.85859856e-01 7.71719712e-01 1.92929928e-01 7.71719712e-01 5.78789784e-01 7.71719712e-01 3.85859856e-01 3.85859856e-01 3.85859856e-01 9.64649640e-01 1.15757957e+00 1.15757957e+00 1.92929928e-01 5.78789784e-01 7.71719712e-01 9.64649640e-01 9.64649640e-01 5.78789784e-01 9.64649640e-01 3.85859856e-01 9.64649640e-01 3.85859856e-01 1.35050950e+00 5.78789784e-01 1.54343942e+00 9.64649640e-01 3.85859856e-01 1.15757957e+00 1.35050950e+00 9.64649640e-01 1.15757957e+00 1.35050950e+00 9.64649640e-01 9.64649640e-01 9.64649640e-01 9.64649640e-01 1.15757957e+00 1.73636935e+00 1.15757957e+00 2.50808906e+00 7.71719712e-01 1.73636935e+00 2.70101899e+00 1.15757957e+00 2.50808906e+00 9.64649640e-01 2.12222921e+00 2.50808906e+00 2.31515914e+00 2.50808906e+00 1.92929928e+00 1.73636935e+00 3.47273871e+00 2.31515914e+00 1.92929928e+00 2.70101899e+00 3.08687885e+00 5.01617813e+00 2.70101899e+00 3.85859856e+00 3.08687885e+00 3.85859856e+00 3.27980878e+00 6.36668763e+00 3.66566863e+00 5.20910806e+00 4.63031827e+00 5.40203799e+00 6.94547741e+00 7.13840734e+00 3.27980878e+00 6.17375770e+00 8.68184676e+00 6.75254748e+00 1.73636935e+00 0.00000000e+00 5.78789784e-01 + + + + + 2.15691646e+00 1.03052675e+01 1.27454155e+01 1.13510452e+01 1.06211795e+01 8.62766585e+00 7.05899933e+00 6.15483738e+00 5.47943929e+00 4.68421252e+00 3.93255981e+00 4.09596257e+00 3.38788394e+00 2.99571731e+00 2.78874048e+00 2.62533771e+00 2.28763867e+00 2.46193495e+00 2.15691646e+00 1.89547204e+00 1.91725908e+00 1.77564335e+00 1.45973134e+00 1.41615727e+00 1.61224059e+00 1.26364803e+00 1.36168969e+00 1.47062486e+00 1.33990265e+00 1.10024527e+00 1.36168969e+00 9.91310091e-01 1.04577768e+00 1.07845823e+00 8.71481399e-01 9.58629539e-01 7.95226776e-01 9.58629539e-01 7.40759189e-01 9.36842504e-01 9.69523056e-01 6.42717532e-01 8.60587881e-01 9.15055469e-01 6.31824014e-01 8.93268434e-01 5.55569392e-01 7.95226776e-01 7.62546224e-01 7.51652706e-01 7.08078636e-01 5.33782357e-01 5.77356427e-01 6.10036979e-01 5.88249944e-01 5.55569392e-01 4.57527734e-01 7.40759189e-01 5.01101804e-01 5.44675874e-01 5.44675874e-01 4.24847182e-01 4.79314769e-01 5.55569392e-01 5.33782357e-01 5.66462909e-01 4.57527734e-01 4.57527734e-01 5.77356427e-01 3.37699042e-01 5.66462909e-01 4.13953664e-01 4.46634217e-01 4.90208287e-01 5.01101804e-01 4.79314769e-01 3.70379594e-01 3.81273112e-01 4.35740699e-01 4.46634217e-01 4.03060147e-01 4.13953664e-01 3.15912007e-01 4.03060147e-01 4.13953664e-01 3.70379594e-01 3.26805525e-01 2.39657385e-01 3.37699042e-01 2.94124972e-01 4.13953664e-01 4.03060147e-01 4.13953664e-01 3.70379594e-01 2.83231455e-01 4.46634217e-01 3.59486077e-01 2.61444420e-01 4.68421252e-01 4.03060147e-01 3.70379594e-01 4.03060147e-01 3.59486077e-01 3.81273112e-01 3.70379594e-01 3.15912007e-01 3.48592559e-01 4.68421252e-01 3.81273112e-01 4.46634217e-01 4.13953664e-01 3.15912007e-01 3.48592559e-01 3.37699042e-01 2.39657385e-01 2.61444420e-01 2.72337937e-01 2.83231455e-01 3.05018490e-01 2.50550902e-01 1.85189797e-01 4.03060147e-01 2.61444420e-01 2.72337937e-01 2.50550902e-01 2.28763867e-01 3.26805525e-01 2.17870350e-01 3.05018490e-01 2.17870350e-01 2.72337937e-01 2.06976832e-01 2.28763867e-01 2.50550902e-01 2.50550902e-01 2.61444420e-01 2.72337937e-01 2.06976832e-01 3.15912007e-01 1.74296280e-01 2.50550902e-01 3.26805525e-01 2.17870350e-01 2.72337937e-01 2.72337937e-01 2.83231455e-01 1.41615727e-01 2.72337937e-01 2.28763867e-01 1.30722210e-01 2.17870350e-01 2.94124972e-01 1.96083315e-01 2.17870350e-01 1.52509245e-01 1.41615727e-01 2.28763867e-01 2.50550902e-01 1.30722210e-01 1.08935175e-01 1.63402762e-01 2.28763867e-01 2.28763867e-01 3.05018490e-01 3.05018490e-01 2.72337937e-01 1.85189797e-01 3.15912007e-01 1.96083315e-01 1.74296280e-01 1.74296280e-01 2.06976832e-01 1.08935175e-01 2.17870350e-01 2.72337937e-01 1.74296280e-01 2.06976832e-01 1.85189797e-01 2.83231455e-01 1.08935175e-01 2.39657385e-01 1.85189797e-01 1.85189797e-01 1.52509245e-01 1.63402762e-01 2.06976832e-01 1.85189797e-01 8.71481399e-02 2.39657385e-01 1.85189797e-01 1.63402762e-01 2.94124972e-01 1.41615727e-01 1.74296280e-01 1.41615727e-01 1.96083315e-01 1.74296280e-01 1.52509245e-01 1.41615727e-01 1.85189797e-01 2.06976832e-01 1.96083315e-01 2.83231455e-01 1.30722210e-01 2.61444420e-01 1.63402762e-01 1.08935175e-01 1.63402762e-01 1.63402762e-01 1.63402762e-01 9.80416574e-02 1.63402762e-01 2.17870350e-01 1.85189797e-01 1.63402762e-01 1.30722210e-01 2.28763867e-01 1.63402762e-01 1.52509245e-01 1.41615727e-01 7.62546224e-02 1.52509245e-01 2.39657385e-01 2.06976832e-01 1.30722210e-01 1.41615727e-01 1.41615727e-01 1.08935175e-01 2.28763867e-01 1.41615727e-01 8.71481399e-02 8.71481399e-02 1.08935175e-01 8.71481399e-02 2.17870350e-01 1.19828692e-01 1.30722210e-01 2.28763867e-01 1.30722210e-01 1.41615727e-01 1.08935175e-01 1.08935175e-01 1.63402762e-01 1.30722210e-01 1.52509245e-01 1.74296280e-01 1.74296280e-01 1.52509245e-01 1.08935175e-01 1.96083315e-01 1.30722210e-01 9.80416574e-02 1.41615727e-01 1.19828692e-01 2.17870350e-01 7.62546224e-02 2.06976832e-01 1.41615727e-01 9.80416574e-02 1.63402762e-01 1.96083315e-01 1.08935175e-01 1.52509245e-01 1.96083315e-01 1.19828692e-01 9.80416574e-02 1.19828692e-01 1.74296280e-01 2.50550902e-01 1.52509245e-01 1.85189797e-01 1.41615727e-01 1.96083315e-01 6.53611049e-02 1.52509245e-01 9.80416574e-02 1.30722210e-01 6.53611049e-02 9.80416574e-02 1.85189797e-01 1.85189797e-01 8.71481399e-02 1.19828692e-01 1.52509245e-01 1.85189797e-01 1.30722210e-01 1.19828692e-01 1.74296280e-01 1.52509245e-01 1.19828692e-01 1.52509245e-01 1.08935175e-01 1.74296280e-01 1.63402762e-01 1.52509245e-01 1.52509245e-01 9.80416574e-02 9.80416574e-02 1.08935175e-01 1.41615727e-01 1.63402762e-01 1.19828692e-01 1.74296280e-01 1.41615727e-01 1.52509245e-01 9.80416574e-02 1.41615727e-01 1.19828692e-01 8.71481399e-02 1.19828692e-01 1.08935175e-01 9.80416574e-02 1.52509245e-01 8.71481399e-02 9.80416574e-02 1.41615727e-01 1.19828692e-01 1.30722210e-01 2.28763867e-01 1.19828692e-01 8.71481399e-02 1.52509245e-01 2.06976832e-01 7.62546224e-02 1.74296280e-01 1.19828692e-01 1.52509245e-01 1.19828692e-01 1.19828692e-01 9.80416574e-02 1.96083315e-01 8.71481399e-02 1.74296280e-01 3.26805525e-02 1.41615727e-01 1.19828692e-01 1.52509245e-01 2.17870350e-01 1.74296280e-01 1.63402762e-01 1.96083315e-01 1.52509245e-01 2.06976832e-01 7.62546224e-02 2.06976832e-01 1.63402762e-01 1.52509245e-01 1.74296280e-01 1.41615727e-01 1.52509245e-01 1.08935175e-01 1.85189797e-01 1.08935175e-01 1.30722210e-01 7.62546224e-02 1.30722210e-01 7.62546224e-02 1.74296280e-01 1.41615727e-01 1.08935175e-01 9.80416574e-02 1.19828692e-01 1.30722210e-01 2.06976832e-01 1.19828692e-01 1.30722210e-01 2.17870350e-01 1.74296280e-01 1.30722210e-01 2.06976832e-01 1.74296280e-01 1.30722210e-01 9.80416574e-02 1.41615727e-01 1.41615727e-01 1.63402762e-01 1.30722210e-01 1.63402762e-01 1.19828692e-01 1.63402762e-01 2.06976832e-01 1.85189797e-01 1.85189797e-01 1.63402762e-01 2.06976832e-01 1.96083315e-01 1.96083315e-01 1.74296280e-01 1.85189797e-01 1.19828692e-01 1.41615727e-01 1.63402762e-01 1.85189797e-01 1.74296280e-01 1.74296280e-01 1.30722210e-01 1.96083315e-01 1.85189797e-01 1.19828692e-01 3.15912007e-01 1.30722210e-01 1.08935175e-01 2.61444420e-01 1.52509245e-01 1.52509245e-01 1.63402762e-01 1.30722210e-01 1.41615727e-01 1.85189797e-01 1.52509245e-01 1.96083315e-01 1.08935175e-01 2.06976832e-01 9.80416574e-02 1.52509245e-01 1.85189797e-01 1.08935175e-01 1.85189797e-01 1.08935175e-01 8.71481399e-02 9.80416574e-02 1.41615727e-01 4.35740699e-02 0.00000000e+00 0.00000000e+00 1.08935175e-02 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CMGTools/TTHAnalysis/interface/SignedImpactParameter.h b/CMGTools/TTHAnalysis/interface/SignedImpactParameter.h index f25f4ca8c663..e5bc66b8d546 100644 --- a/CMGTools/TTHAnalysis/interface/SignedImpactParameter.h +++ b/CMGTools/TTHAnalysis/interface/SignedImpactParameter.h @@ -20,6 +20,13 @@ class SignedImpactParameter { Measurement1D signedIP3D(const reco::Track &tk, const reco::Vertex &vtx, const reco::Track::Vector jetdir) const ; Measurement1D signedIP3D(const reco::Track &tk, const reco::VertexCompositePtrCandidate &vtx, const reco::Track::Vector jetdir) const ; + Measurement1D signedIP2D(const reco::Track &tk, const reco::Vertex &vtx, const reco::Track::Vector jetdir) const ; + Measurement1D signedIP2D(const reco::Track &tk, const reco::VertexCompositePtrCandidate &vtx, const reco::Track::Vector jetdir) const ; + Measurement1D IP3D(const reco::Track &tk, const reco::Vertex &vtx) const ; + Measurement1D IP3D(const reco::Track &tk, const reco::VertexCompositePtrCandidate &vtx) const ; + Measurement1D IP2D(const reco::Track &tk, const reco::Vertex &vtx) const ; + Measurement1D IP2D(const reco::Track &tk, const reco::VertexCompositePtrCandidate &vtx) const ; + std::pair twoTrackChi2(const reco::Track &tk1, const reco::Track &tk2) const ; //For the vertex related variables diff --git a/CMGTools/TTHAnalysis/macros/leptons/.gitignore b/CMGTools/TTHAnalysis/macros/leptons/.gitignore new file mode 100644 index 000000000000..e5dcc7b2661b --- /dev/null +++ b/CMGTools/TTHAnalysis/macros/leptons/.gitignore @@ -0,0 +1,3 @@ +*_cc.d +*_cc.so +*.o diff --git a/CMGTools/TTHAnalysis/macros/leptons/cutstudy.cc b/CMGTools/TTHAnalysis/macros/leptons/cutstudy.cc new file mode 100644 index 000000000000..1b7014fdaf3e --- /dev/null +++ b/CMGTools/TTHAnalysis/macros/leptons/cutstudy.cc @@ -0,0 +1,291 @@ +TString base = "1"; +TString scut = "1"; +TString bcut = "1"; +TTree *stree = 0, *btree = 0; +Long64_t nMax = 999999999; +const int nrocs = 5, nwps = 10; +TGraph *rocs[nrocs]; TString lrocs[nrocs]; +TGraph *wps[nwps]; TString lwps[nwps]; +TH1 *frame = new TH1F("frame","frame;eff(background);eff(signal)",1000,0,1); +TLegend *legend = new TLegend(.5,.5,.8,.2); + +void reset() { + for (int i = 0; i < nrocs; ++i) rocs[i] = 0; + for (int i = 0; i < nwps; ++i) wps[i] = 0; +} +void redraw() { + legend->Clear(); + frame->Draw(); + for (int i = 0; i < nrocs; ++i) if (rocs[i]) { + rocs[i]->Draw("L"); + legend->AddEntry(rocs[i],rocs[i]->GetTitle(),"L"); + } + for (int i = 0; i < nwps; ++i) if (wps[i]) { + wps[i]->Draw("P"); + legend->AddEntry(wps[i],wps[i]->GetTitle(),"P"); + } + legend->Draw(); +} + +void opt1d_bins_fixEff(float effTarget, TString expr, bool highIsGood) { + TString signal = base+"&&"+scut; + TString background = base+"&&"+bcut; + double nS = stree->Draw(expr, signal, "", nMax); + TH2F *hS = (TH2*) gROOT->FindObject("htemp")->Clone("hS"); + if (expr.Contains(">>htemp")) btree->Draw(expr, background, "", nMax); + else btree->Draw(expr+TString::Format(">>htemp(%d,%g,%g)", hS->GetNbinsX(), hS->GetXaxis()->GetXmin(), hS->GetXaxis()->GetXmax(),hS->GetNbinsY(), hS->GetYaxis()->GetXmin(), hS->GetYaxis()->GetXmax()), background, "", nMax); + TH2F *hB = (TH1*) gROOT->FindObject("htemp")->Clone("hB"); + float totS = hS->GetEntries(), totB = hB->GetEntries(); + for (unsigned int ix = 1, nx = hS->GetNbinsX(); ix <= nx; ++ix) { + for (unsigned int iy = 1, ny = hS->GetNbinsY(); iy <= ny+1; ++iy) { + unsigned int ybin = (!highIsGood ? iy : ny-iy+1), yprev = (!highIsGood ? ybin-1 : ybin+1); + hS->SetBinContent(ix, ybin, hS->GetBinContent(ix,ybin) + hS->GetBinContent(ix,yprev)); + hB->SetBinContent(ix, ybin, hB->GetBinContent(ix,ybin) + hB->GetBinContent(ix,yprev)); + } + for (unsigned int iy = 1, ny = hS->GetNbinsY(); iy <= ny; ++iy) { + unsigned int ybin = (!highIsGood ? iy : ny-iy+1), ylast = (!highIsGood ? ny+1 : 0); + hS->SetBinContent(ix, ybin, hS->GetBinContent(ix,ybin)/hS->GetBinContent(ix,ylast)); + hB->SetBinContent(ix, ybin, hB->GetBinContent(ix,ybin)/hB->GetBinContent(ix,ylast)); + //printf("for X bin %2d, Y bin %2d: sig eff = %.3f, bkg eff = %.3f, stot = %.0f, btot = %.0f\n", ix, ybin, hS->GetBinContent(ix,ybin),hB->GetBinContent(ix,ybin),hS->GetBinContent(ix,ylast),hB->GetBinContent(ix,ylast)); + } + } + float selS = 0, selB = 0; + for (unsigned int ix = 1, nx = hS->GetNbinsX(); ix <= nx; ++ix) { + for (unsigned int iy = 1, ny = hS->GetNbinsY(); iy <= ny; ++iy) { + unsigned int ybin = (highIsGood ? iy : ny-iy+1), yprev = (highIsGood ? ybin-1 : ybin+1), ylast = (!highIsGood ? ny+1 : 0); + //printf("for X bin %2d: Y bin %2d: sig eff = %.3f (prev bin %d eff = %.3f)\n", ix, ybin, hS->GetBinContent(ix,ybin), yprev, yprev != ylast ? hS->GetBinContent(ix,yprev) : 1.0); + if (hS->GetBinContent(ix,ybin) < effTarget && (yprev == ylast || hS->GetBinContent(ix,yprev) >= effTarget)) { + float ycut = !highIsGood ? hS->GetYaxis()->GetBinUpEdge(yprev) : hS->GetYaxis()->GetBinLowEdge(yprev); + float effS = hS->GetBinContent(ix,yprev), evS = hS->GetBinContent(ix,ylast); + float effB = hB->GetBinContent(ix,yprev), evB = hB->GetBinContent(ix,ylast); + printf("for X bin %2d: Y bin %2d: cut Y at %8.3f: sig eff = %.3f, bkg eff = %.3f, log(S/B) = %.4f (before cut: %.4f)\n", ix, yprev, ycut, effS, effB, log((effS*evS)/(effB*evB)), log(evS/evB)); + selS += effS*evS; selB += effB*evB; + break; + } + } + } + printf("overall: sig eff = %.3f, bkg eff = %.3f, S/B = %.4f (before cut: %.4f)\n", selS/totS, selB/totB, log(selS/selB), log(totS/totB)); +} +void opt1d_2bins_BF(float effTarget, TString expr, bool highIsGood) { + TString signal = base+"&&"+scut; + TString background = base+"&&"+bcut; + double nS = stree->Draw(expr, signal, "", nMax); + TH2F *hS = (TH2*) gROOT->FindObject("htemp")->Clone("hS"); + if (hs->GetNbinsX() != 2) { std::cerr << "This macro assumes only two X bins" << std::endl; return; } + if (expr.Contains(">>htemp")) btree->Draw(expr, background, "", nMax); + else btree->Draw(expr+TString::Format(">>htemp(%d,%g,%g)", hS->GetNbinsX(), hS->GetXaxis()->GetXmin(), hS->GetXaxis()->GetXmax(),hS->GetNbinsY(), hS->GetYaxis()->GetXmin(), hS->GetYaxis()->GetXmax()), background, "", nMax); + TH2F *hB = (TH1*) gROOT->FindObject("htemp")->Clone("hB"); + float totS = hS->GetEntries(), totB = hB->GetEntries(); + unsigned int nx = hS->GetNbinsX(), ny = hS->GetNbinsY(), ylast = (!highIsGood ? ny+1 : 0), yfirst = (!highIsGood ? 0 : ny+1); + for (unsigned int ix = 1; ix <= nx; ++ix) { + for (unsigned int iy = 1; iy <= ny+1; ++iy) { + unsigned int ybin = (!highIsGood ? iy : ny-iy+1), yprev = (!highIsGood ? ybin-1 : ybin+1); + hS->SetBinContent(ix, ybin, hS->GetBinContent(ix,ybin) + hS->GetBinContent(ix,yprev)); + hB->SetBinContent(ix, ybin, hB->GetBinContent(ix,ybin) + hB->GetBinContent(ix,yprev)); + } + } + float selS = 0, selB = 0; + float targetS = effTarget * totS; + float bestSOB = 0; unsigned int best_ybin[4]; + for (unsigned int iy = 1; iy <= ny; ++iy) { + unsigned int ybin1 = (!highIsGood ? iy : ny-iy+1); + float selS1 = hS->GetBinContent(1, ybin1); + //printf("for X bin %2d: Y bin %2d: sig eff = %.3f\n", 1, ybin1, selS1/totS); + for (unsigned int iy2 = 1; iy2 <= ny; ++iy2) { + unsigned int ybin2 = (!highIsGood ? iy2 : ny-iy2+1); + float selS2 = hS->GetBinContent(2, ybin2); + selS = selS1 + selS2; + //printf(" for X bin %2d: Y bin %2d: sig eff = %.3f, total = %.3f\n", 2, ybin2, selS2/totS, selS/totS); + if (selS < targetS) continue; + float selB = hB->GetBinContent(1, ybin1) + hB->GetBinContent(2, ybin2); + //printf(" bkg eff = %.3f, log(S/B) = %.3f\n", selB, log((selS/selB))); + if (selS/selB > bestSOB) { + bestSOB = selS/selB; best_ybin[1] = ybin1; best_ybin[2] = ybin2; + } + break; + } + } + + selS = 0; selB = 0; + for (unsigned int ix = 1; ix <= nx; ++ix) { + unsigned int yprev = (!highIsGood ? best_ybin[ix]-1 : best_ybin[ix]+1); + float ycut = !highIsGood ? hS->GetYaxis()->GetBinUpEdge(yprev) : hS->GetYaxis()->GetBinLowEdge(yprev); + float myS = hS->GetBinContent(ix,yprev); float mytotS = hS->GetBinContent(ix,ylast); + float myB = hB->GetBinContent(ix,yprev); float mytotB = hB->GetBinContent(ix,ylast); + selS += myS; selB += myB; + printf("for X bin %2d: Y bin %2d: cut Y at %8.3f: sig eff = %.3f, bkg eff = %.3f, log(S/B) = %.4f (before cut: %.4f)\n", ix, best_ybin[ix], ycut, myS/mytotS, myB/mytotB, log(myS/myB), log(mytotS/mytotB)); + } + printf("overall: sig eff = %.3f, bkg eff = %.3f, S/B = %.4f (before cut: %.4f)\n", selS/totS, selB/totB, log(selS/selB), log(totS/totB)); +} + +void opt2d_fixEff(float effTarget, TString expr, bool highXIsGood, bool highYIsGood, bool doAnd=true) { + if (!doAnd) { std::cerr << "Sorry, only AND supported for now." << std::endl; return; } + TString signal = base+"&&"+scut; + TString background = base+"&&"+bcut; + double nS = stree->Draw(expr, signal, "", nMax); + TH2F *hS = (TH2*) gROOT->FindObject("htemp")->Clone("hS"); + if (expr.Contains(">>htemp")) btree->Draw(expr, background, "", nMax); + else btree->Draw(expr+TString::Format(">>htemp(%d,%g,%g)", hS->GetNbinsX(), hS->GetXaxis()->GetXmin(), hS->GetXaxis()->GetXmax(),hS->GetNbinsY(), hS->GetYaxis()->GetXmin(), hS->GetYaxis()->GetXmax()), background, "", nMax); + TH2F *hB = (TH1*) gROOT->FindObject("htemp")->Clone("hB"); + double totS = hS->GetEntries(), totB = hB->GetEntries(); + double starget = totS * effTarget; + unsigned int x0 = highXIsGood ? hS->GetNbinsX() : 1, dx = highXIsGood ? -1 : +1, xend = highXIsGood ? 0 : hS->GetNbinsX()+1; + unsigned int y0 = highYIsGood ? hS->GetNbinsY() : 1, dy = highYIsGood ? -1 : +1, yend = highYIsGood ? 0 : hS->GetNbinsY()+1; + //printf("\n---- PASS 0 ----\n"); + //for (unsigned int ix = x0-dx; ix != xend; ix += dx) { + // for (unsigned int iy = y0; iy != yend; iy += dy) { + // printf("for X bin %2d, Y bin %2d: sig = %.3f, bkg = %.3f\n", ix, iy, hS->GetBinContent(ix,iy),hB->GetBinContent(ix,iy)); + // } + //} + //printf("\n---- PASS 1 ----\n"); + for (unsigned int ix = x0-dx; ix != xend; ix += dx) { + for (unsigned int iy = y0; iy != yend; iy += dy) { + hS->SetBinContent(ix, iy, hS->GetBinContent(ix,iy) + hS->GetBinContent(ix,iy-dy)); + hB->SetBinContent(ix, iy, hB->GetBinContent(ix,iy) + hB->GetBinContent(ix,iy-dy)); + //printf("for X bin %2d, Y bin %2d: sig = %.3f, bkg = %.3f\n", ix, iy, hS->GetBinContent(ix,iy),hB->GetBinContent(ix,iy)); + } + } + //printf("\n---- PASS 2 ----\n"); + for (unsigned int iy = y0-dy; iy != yend; iy += dy) { + for (unsigned int ix = x0; ix != xend; ix += dx) { + hS->SetBinContent(ix, iy, hS->GetBinContent(ix,iy) + hS->GetBinContent(ix-dx,iy)); + hB->SetBinContent(ix, iy, hB->GetBinContent(ix,iy) + hB->GetBinContent(ix-dx,iy)); + //printf("for X bin %2d, Y bin %2d: sig = %.3f, bkg = %.3f\n", ix, iy, hS->GetBinContent(ix,iy),hB->GetBinContent(ix,iy)); + } + } + //printf("\n---- PASS 3 ----\n"); + unsigned int bestx = x0, besty = y0; double bestb = totB, bests = 0; + for (unsigned int ix = dx; ix != xend; ix += dx) { + for (unsigned int iy = y0; iy != yend; iy += dy) { + if (hS->GetBinContent(ix,iy) >= starget) { + if (hB->GetBinContent(ix,iy) < bestb) { + bestx = ix; besty = iy; + bestb = hB->GetBinContent(ix,iy); + bests = hS->GetBinContent(ix,iy); + //printf("for X bin %2d, Y bin %2d: sig = %.3f, bkg = %.3f\n", ix, iy, hS->GetBinContent(ix,iy),hB->GetBinContent(ix,iy)); + } + } + } + } + printf("Optimal point: x %s %.4f %s y %s %.4f: sig eff = %.3f, bkg eff = %.3f, S/B = %.4f (before cut: %.4f)\n", + highXIsGood ? ">=" : "<=", highXIsGood ? hS->GetXaxis()->GetBinLowEdge(bestx) : hS->GetXaxis()->GetBinUpEdge(bestx), + doAnd ? "&&" : "||", + highYIsGood ? ">=" : "<=", highYIsGood ? hS->GetYaxis()->GetBinLowEdge(besty) : hS->GetYaxis()->GetBinUpEdge(besty), + bests/totS, bestb/totB, log(bests/bestb), log(totS/totB)); +} + +float _getEffS(TString expr) { + double nS = stree->Draw(expr+">>htemp(2,-0.5,1.5)", base+"&&"+scut, "GOFF", nMax); + TH1* htemp = (TH1*) gROOT->FindObject("htemp"); + return htemp->GetBinContent(2)/(htemp->GetBinContent(1)+htemp->GetBinContent(2)); +} +float _getEffB(TString expr) { + double nS = btree->Draw(expr+">>htemp(2,-0.5,1.5)", base+"&&"+bcut, "GOFF", nMax); + TH1* htemp = (TH1*) gROOT->FindObject("htemp"); + return htemp->GetBinContent(2)/(htemp->GetBinContent(1)+htemp->GetBinContent(2)); +} +TString _makeExpr(TString templ, int nparams, float *vals) { + char buff0[4],buff1[100]; + TString ret = templ.Data(); + for (int i = 0; i < nparams; ++i) { + sprintf(buff0,"{%d}",i); + sprintf(buff1,vals[i] < 0 ? "(%g)" : "%g",vals[i]); + ret.ReplaceAll(buff0,buff1); + } + return ret; +} + +void optND_bf_fixEff(float effTarget, TString expr, int nparams, TString params, TString algo="Random", int steps=20,int verbose=1) { + float xval[10],xmin[10],xmax[10],best[10],bestB=1.0; + TObjArray *splits = params.Tokenize(";"); + if (nparams > 10) { std::cout << "Error: more than 10 params." << std::endl; return; } + if (splits->GetEntries() != nparams) { std::cout << "Error: found " << splits->GetEntries() << " tokens for " << nparams << " params." << std::endl; return; } + for (int i = 0; i < nparams; ++i) { + TString sparam = ((TObjString*) splits->At(i))->GetString(); + std::string str = sparam.Data(); + int i1 = str.find(','); + if (i1 == int(std::string::npos)) { std::cerr << "Error: bad token " << str << std::endl; return; } + int i2 = str.find(',',i1+1); + if (i2 == int(std::string::npos)) { std::cerr << "Error: bad token " << str << std::endl; return; } + xval[i] = atof(str.substr(0,i1).c_str()); + xmin[i] = atof(str.substr(i1+1,i2-i1-1).c_str()); + xmax[i] = atof(str.substr(i2+1).c_str()); + printf("param %d: %g [ %g , %g ]\n",i,xval[i],xmin[i],xmax[i]); + } + delete splits; + // Get starting point + if (algo == "Random") { + for (int iter = 0; iter < steps; ++iter) { + if (verbose>1) printf("iteration %d\n",iter); + for (int i = 0; i < nparams; ++i) { + xval[i] = xmin[i] + gRandom->Rndm()*(xmax[i]-xmin[i]); + if (verbose>1) printf("\tparam %d: %g [ %g , %g ]\n",i,xval[i],xmin[i],xmax[i]); + } + TString myexpr = _makeExpr(expr,nparams,xval); + float effS = _getEffS(myexpr); + if (verbose>1) printf("\teff S: %.4f\n", effS); + if (effS < effTarget) continue; + float effB = _getEffB(myexpr); + if (verbose>1) printf("\teff B: %.4f\n", effB); + if (effB < bestB) { + bestB = effB; + for (int i = 0; i < nparams; ++i) best[i] = xval[i]; + if (verbose == 1) { + printf("\titer %4d: eff. sig = %.4f (target: %.4f), eff. bkg = %.4f, cut: %s\n", iter,effS,effTarget,effB,myexpr.Data()); + } + } + }; + } else if (algo == "ScanND") { + int xpoints = ceil(pow(steps,1.0/nparams)); + int npoints = pow(xpoints,nparams); + for (int iter = 0; iter < npoints; ++iter) { + if (verbose>1) printf("iteration %d\n",iter); + int icoord = iter; + for (int i = 0; i < nparams; ++i) { + int imy = icoord % xpoints; icoord /= nparams; + xval[i] = xmin[i] + (imy+0.5)/xpoints*(xmax[i]-xmin[i]); + if (verbose>1) printf("\tparam %d: %g [ %g , %g ]\n",i,xval[i],xmin[i],xmax[i]); + } + TString myexpr = _makeExpr(expr,nparams,xval); + float effS = _getEffS(myexpr); + if (verbose>1) printf("\teff S: %.4f\n", effS); + if (effS < effTarget) continue; + float effB = _getEffB(myexpr); + if (verbose>1) printf("\teff B: %.4f\n", effB); + if (effB < bestB) { + bestB = effB; + for (int i = 0; i < nparams; ++i) best[i] = xval[i]; + if (verbose == 1) { + printf("\titer %4d: eff. sig = %.4f (target: %.4f), eff. bkg = %.4f, cut: %s\n", iter,effS,effTarget,effB,myexpr.Data()); + } + } + } + } + std::cout << "Best cut: " << _makeExpr(expr,nparams,best) << " with background efficiency " << bestB << std::endl; +} + + +void cutstudy() { + reset(); + frame->GetYaxis()->SetRangeUser(0,1); + legend->SetTextFont(42); + legend->SetTextSize(0.04); + legend->SetFillColor(0); +} + +void newRoc(int iroc, TString expr, bool highIsGood, TString label, int color, int width=2, int style=1) { + rocs[iroc] = rocCurve2(expr,stree,base+" && "+scut,btree,base+" && "+bcut, highIsGood, nMax); + rocs[iroc]->SetTitle(label); + rocs[iroc]->SetLineColor(color); + rocs[iroc]->SetLineWidth(width); + rocs[iroc]->SetLineStyle(style); + redraw(); +} +void newWP(int iwp, TString expr, TString label, int color, float size=1.2, int style=20) { + wps[iwp] = rocCurve2(expr,stree,base+" && "+scut,btree,base+" && "+bcut, 1, nMax); + wps[iwp]->SetTitle(label); + wps[iwp]->SetMarkerColor(color); + wps[iwp]->SetMarkerSize(size); + wps[iwp]->SetMarkerStyle(style); + redraw(); +} diff --git a/CMGTools/TTHAnalysis/macros/leptons/fitEACorrections.py b/CMGTools/TTHAnalysis/macros/leptons/fitEACorrections.py new file mode 100644 index 000000000000..f603c04c90f2 --- /dev/null +++ b/CMGTools/TTHAnalysis/macros/leptons/fitEACorrections.py @@ -0,0 +1,249 @@ +import ROOT, os + +from CMGTools.TTHAnalysis.plotter.rocCurves import hist2ROC1d +if "/rhoCorrections_cc.so" not in ROOT.gSystem.GetLibraries(): + ROOT.gROOT.ProcessLine(".L %s/src/CMGTools/TTHAnalysis/macros/leptons/rhoCorrections.cc+" % os.environ['CMSSW_BASE']); + +def _histToEff(hist2d,graph,fout=None): + cpcalc = ROOT.TEfficiency.ClopperPearson + for b in xrange(1,hist2d.GetNbinsX()+1): + x0 = hist2d.GetXaxis().GetBinCenter(b) + xmin, xmax = hist2d.GetXaxis().GetBinLowEdge(b), hist2d.GetXaxis().GetBinUpEdge(b) + passing = int(hist2d.GetBinContent(b,2)) + total = int(hist2d.GetBinContent(b,1) + passing) + y0 = passing/float(total) if total else -99 + ymax = cpcalc(total,passing,0.6827,True ) if total else -99 + ymin = cpcalc(total,passing,0.6827,False) if total else -99 + graph.SetPoint(b-1, x0, y0) + graph.SetPointError(b-1, x0-xmin, xmax-x0, y0-ymin,ymax-y0) + if fout: + fout.write("%8.4f %8.4f %.4f -%.4f/+%.4f\n" % (xmin,xmax, y0, y0-ymin,ymax-y0) ) + +class EAFitter: + def __init__(self,tree,options): + self.options = options + self.tree = tree + self.c1 = ROOT.TCanvas("c1", "c1", 600, 600) + self.c1.Draw() + self.fout = ROOT.TFile.Open("%s/EA.root" % self.options.printDir, "RECREATE") + def fitEAEtaBins(self,name,radius,selection,etabins,rhovar,rhobins,func="pol1",param=1,verbose=False): + if ROOT.gROOT.FindObject("htemp") != None: ROOT.gROOT.FindObject("htemp").Delete() + from array import array + hist2d = ROOT.TProfile2D("htemp","htemp",len(etabins)-1,array('d',etabins),len(rhobins)-1,array('d',rhobins)) + hist1d = ROOT.TH1D("h1d","h1d;%s;" % (rhovar,radius),len(rhobins)-1,array('d',rhobins)) + self.tree.Draw("(LepGood_absRawNeutralIso%s):(%s):abs(LepGood_eta)>>htemp" % (radius,rhovar), selection, "prof goff") + ret = [] + for i in xrange(1,len(etabins)): + for b in xrange(1,len(rhobins)): + hist1d.SetBinContent(b, hist2d.GetBinContent(i,b)) + hist1d.SetBinError(b, hist2d.GetBinError(i,b)) + hist1d.Fit(func,"Q"); + if verbose: + hist1d.GetYaxis().SetRangeUser(0,1.5*hist2d.GetMaximum()) + hist1d.GetYaxis().SetDecimals(True) + self.c1.Print("%s/%s_eta%d.png" % (self.options.printDir, name, i) ); + myf = hist1d.GetFunction(func) + ret.append((etabins[i-1],etabins[i], myf.GetParameter(param), myf.GetParError(param))) + histEA = ROOT.TH1D(name,name+";|#eta|;EA",len(etabins)-1,array('d',etabins)) + fout = open("%s/%s.txt"%(self.options.printDir,name),"w") + fout.write(" e_min e_max EA +- err\n"); + print " e_min e_max EA +- err"; + for i,(etamin, etamax, ea,eaerr) in enumerate(ret): + histEA.SetBinContent(i+1,ea) + histEA.SetBinError(i+1,eaerr) + print " %.3f %.3f %6.4f %.4f" % (etamin,etamax,ea,eaerr) + fout.write(" %.3f %.3f %6.4f %.4f\n" % (etamin,etamax,ea,eaerr)) + histEA.GetYaxis().SetRangeUser(0,1.5*histEA.GetMaximum()) + histEA.GetYaxis().SetDecimals(True) + histEA.Draw("E"); + self.c1.Print("%s/%s.png" % (self.options.printDir, name) ); + self.c1.Print("%s/%s.pdf" % (self.options.printDir, name) ); + self.c1.Print("%s/%s.eps" % (self.options.printDir, name) ); + self.fout.WriteTObject(histEA.Clone()); + return ret + def doEAResiduals(self,name,radius,selection,etabins,rhovar,vtxbins,func="pol1",param=1,verbose=False): + if ROOT.gROOT.FindObject("htemp") != None: ROOT.gROOT.FindObject("htemp").Delete() + from array import array + hist2d = ROOT.TProfile2D("htemp","htemp",len(etabins)-1,array('d',etabins),len(vtxbins)-1,array('d',vtxbins)) + hist1d = ROOT.TH1D("h1d","h1d;N(vtx);" % (radius),len(vtxbins)-1,array('d',vtxbins)) + histEA = self.fout.Get(name) + histR = ROOT.TH1D(name+"R", name+";|#eta|;Residual",len(etabins)-1,array('d',etabins)) + histRR = ROOT.TH1D(name+"RR",name+";|#eta|;Residual/EA",len(etabins)-1,array('d',etabins)) + ret = [] + for i in xrange(1,len(etabins)): + mysel = "(%s) && %f <= abs(LepGood_eta) && abs(LepGood_eta)<%f " % (selection,etabins[i-1],etabins[i]) + ea = histEA.GetBinContent(i) + self.tree.Draw("max(LepGood_absRawNeutralIso{R}-{rho}*{ea},0):nVert:abs(LepGood_eta)>>+htemp".format(R=radius,rho=rhovar,ea=ea), mysel, "prof goff") + for b in xrange(1,len(vtxbins)): + hist1d.SetBinContent(b, hist2d.GetBinContent(i,b)) + hist1d.SetBinError(b, hist2d.GetBinError(i,b)) + hist1d.Fit(func,"Q"); + if verbose: + hist1d.GetYaxis().SetRangeUser(0,1.5*hist2d.GetMaximum()) + hist1d.GetYaxis().SetDecimals(True) + self.c1.Print("%s/%s_eta%d_residual.png" % (self.options.printDir, name, i) ); + resV = hist1d.GetFunction(func).GetParameter(param) + resE = hist1d.GetFunction(func).GetParError(param) + histR.SetBinContent(i, resV) + histR.SetBinError(i, resE) + histRR.SetBinContent(i, resV/ea) + histRR.SetBinError(i, resE/ea) + histR.GetYaxis().SetRangeUser(0,1.5*histR.GetMaximum()) + histRR.GetYaxis().SetRangeUser(0,1.5*histRR.GetMaximum()) + histR.GetYaxis().SetDecimals(True) + histRR.GetYaxis().SetDecimals(True) + histR.Draw("E"); + self.c1.Print("%s/%s_residual.png" % (self.options.printDir, name) ); + self.c1.Print("%s/%s_residual.pdf" % (self.options.printDir, name) ); + self.c1.Print("%s/%s_residual.eps" % (self.options.printDir, name) ); + histRR.Draw("E"); + self.c1.Print("%s/%s_residualrel.png" % (self.options.printDir, name) ); + self.c1.Print("%s/%s_residualrel.pdf" % (self.options.printDir, name) ); + self.c1.Print("%s/%s_residualrel.eps" % (self.options.printDir, name) ); + + def done(self): + self.fout.Close() + +class EATester: + def __init__(self,tree,options): + self.options = options + self.tree = tree + self.c1 = ROOT.TCanvas("c1", "c1", 600, 600) + self.c1.Draw() + #self.fin = ROOT.TFile.Open("%s/EA.root" % self.options.printDir) + def plotEffEtaEABins(self,name,radius,rhovar,eaname,cut,selection,etabins,vtxbins,yrange): + from array import array + ROOT.loadEAHisto("EA_el","%s/EA.root" % self.options.printDir,eaname+"_el") + ROOT.loadEAHisto("EA_mu","%s/EA.root" % self.options.printDir,eaname+"_mu") + hist2d = ROOT.TH2D("htemp","htemp",len(vtxbins)-1,array('d',vtxbins),2,array('d',[-0.5,0.5,1.5])) + hist1d = ROOT.TH1D("frame","frame;N(vtx);Efficiency",len(vtxbins)-1,array('d',vtxbins)) + gr1dc = ROOT.TGraphAsymmErrors(len(vtxbins)-1); + gr1du = ROOT.TGraphAsymmErrors(len(vtxbins)-1); + gr1dd = ROOT.TGraphAsymmErrors(len(vtxbins)-1); + for i in xrange(1,len(etabins)): + etamin, etamax = etabins[i-1], etabins[i] + myname = "%s_eta_%.3f_%.3f" % (name, etamin, etamax) + mysel = "(%s) && %f <= abs(LepGood_eta) && abs(LepGood_eta) < %f" % (selection,etamin,etamax) + isoc="(LepGood_chargedHadRelIso{R}+eaCorr(LepGood_absRawNeutralIso{R},LepGood_pdgId,LepGood_eta,{rho})/LepGood_pt<{cut})".format(R=radius,rho=rhovar,cut=cut) + isou="(LepGood_chargedHadRelIso{R}+LepGood_absRawNeutralIso{R}/LepGood_pt<{cut})".format(R=radius,cut=cut) + isod="(LepGood_chargedHadRelIso{R}+max(LepGood_absRawNeutralIso{R}-0.5*LepGood_puIso{R},0)/LepGood_pt<{cut})".format(R=radius,cut=cut) + self.tree.Draw("%s:nVert>>htemp" % isoc, mysel, "goff") + foutc = open("%s/%s.txt"%(self.options.printDir,myname),"w") + _histToEff(hist2d,gr1dc,foutc) + self.tree.Draw("%s:nVert>>htemp" % isou, mysel, "goff") + foutu = open("%s/%s_uncorr.txt"%(self.options.printDir,myname),"w") + _histToEff(hist2d,gr1du,foutu) + self.tree.Draw("%s:nVert>>htemp" % isod, mysel, "goff") + foutd = open("%s/%s_dbeta.txt"%(self.options.printDir,myname),"w") + _histToEff(hist2d,gr1dd,foutd) + gr1dd.SetLineColor(ROOT.kRed-4); + gr1dd.SetMarkerColor(ROOT.kRed-4); + gr1du.SetLineColor(ROOT.kGray+1); + gr1du.SetMarkerColor(ROOT.kGray+1); + gr1dc.SetLineColor(ROOT.kBlue+1); + gr1dc.SetMarkerColor(ROOT.kBlue+1); + for j,X in enumerate([gr1dd,gr1du,gr1dc]): + print "Fitting %s [%d]" % (myname,j) + X.Fit("pol1","F EX0","") + X.GetFunction("pol1").SetLineColor(X.GetLineColor()) + X.GetFunction("pol1").SetLineStyle(2) + X.GetFunction("pol1").SetLineWidth(2) + ROOT.gStyle.SetOptFit(False) + hist1d.Draw("AXIS"); hist1d.GetYaxis().SetRangeUser(yrange[0],yrange[1]) + gr1du.Draw("P SAME"); + gr1dd.Draw("P SAME"); + gr1dc.Draw("P SAME"); + self.c1.Print("%s/%s.png" % (self.options.printDir, myname) ); + def plotROCEtaEABins(self,name,radius,rhovar,eaname,selsig,selbkg,etabins): + ROOT.loadEAHisto("EA_el","%s/EA.root" % self.options.printDir,eaname+"_el") + ROOT.loadEAHisto("EA_mu","%s/EA.root" % self.options.printDir,eaname+"_mu") + hsig1d = ROOT.TH1D("hsig","hsig",2000,0,10) + hbkg1d = ROOT.TH1D("hbkg","hbkg",2000,0,10) + hist1d = ROOT.TH1D("frame","frame;Eff(background);Eff(signal)",100,0.,0.319) + hist1d.GetYaxis().SetRangeUser(0.4,1.019) + for i in xrange(1,len(etabins)): + etamin, etamax = etabins[i-1], etabins[i] + myname = "%s_eta_%.3f_%.3f" % (name, etamin, etamax) + mysig = "(%s) && %f <= abs(LepGood_eta) && abs(LepGood_eta) < %f" % (selsig,etamin,etamax) + mybkg = "(%s) && %f <= abs(LepGood_eta) && abs(LepGood_eta) < %f" % (selbkg,etamin,etamax) + isoc="(LepGood_chargedHadRelIso{R}+eaCorr(LepGood_absRawNeutralIso{R},LepGood_pdgId,LepGood_eta,{rho})/LepGood_pt)".format(R=radius,rho=rhovar) + isou="(LepGood_chargedHadRelIso{R}+LepGood_absRawNeutralIso{R}/LepGood_pt)".format(R=radius) + isod="(LepGood_chargedHadRelIso{R}+max(LepGood_absRawNeutralIso{R}-0.5*LepGood_puIso{R},0)/LepGood_pt)".format(R=radius) + self.tree.Draw("%s>>hsig" % isoc, mysig, "goff") + self.tree.Draw("%s>>hbkg" % isoc, mybkg, "goff") + rocc = hist2ROC1d(hsig1d,hbkg1d) + self.tree.Draw("%s>>hsig" % isou, mysig, "goff") + self.tree.Draw("%s>>hbkg" % isou, mybkg, "goff") + rocu = hist2ROC1d(hsig1d,hbkg1d) + self.tree.Draw("%s>>hsig" % isod, mysig, "goff") + self.tree.Draw("%s>>hbkg" % isod, mybkg, "goff") + rocd = hist2ROC1d(hsig1d,hbkg1d) + hist1d.Draw() + rocd.SetLineWidth(3) + rocu.SetLineWidth(3) + rocc.SetLineWidth(3) + rocd.SetLineColor(ROOT.kRed-4); + rocu.SetLineColor(ROOT.kGray+1); + rocc.SetLineColor(ROOT.kBlue+1); + rocu.Draw("L SAME"); + rocd.Draw("L SAME"); + rocc.Draw("L SAME"); + self.c1.Print("%s/%s.png" % (self.options.printDir, myname) ); + + + + +def addEAFitterOptions(parser): + parser.add_option("-t", "--tree", dest="tree", default='treeProducerSusyMultilepton', help="Pattern for tree name"); + parser.add_option("-c", "--cut", dest="cut", type="string", default="1", help="Lepton selection"); + parser.add_option("--pdir", "--print-dir", dest="printDir", type="string", default="plots", help="print out plots in this directory"); + + +if __name__ == "__main__": + from optparse import OptionParser + parser = OptionParser(usage="%prog [options] tree reftree") + addEAFitterOptions(parser) + (options, args) = parser.parse_args() + if len(args) != 1: + print "You must specify one tree to fit" + exit() + file = ROOT.TFile.Open(args[0]) + tree = file.Get(options.tree) + ROOT.gROOT.SetBatch(True) + ROOT.gROOT.ProcessLine(".x ../../python/plotter/tdrstyle.cc") + ROOT.gStyle.SetOptStat(0) + ROOT.gStyle.SetErrorX(0.5) + vtxbins = [5,10,13,15,16,17,18,19,20,22,25,30] + if True: + fitter = EAFitter(tree,options) + rhobins = [5,6,7,8,9,10,11,12,13,14,15] + rhoCNbins = [6,7,8,9,10,11,12,13,14,15,16,17,18] + for lname,lid in ("mu",13), ("el",11): + sel = "(%s) && abs(LepGood_pdgId) == %d && LepGood_mcMatchId > 0 && LepGood_pt > 25 " % (options.cut, lid) + #fitter.fitEAEtaBins("EAv1_"+lname, "03", sel, [0,0.8,1.3,2.0,2.2,2.5], "rho",rhobins,verbose=True) + #fitter.fitEAEtaBins("EAv1CN_"+lname, "03",sel, [0,0.8,1.3,2.0,2.2,2.5], "rhoCentralNeutral", rhoCNbins, verbose=True) + #fitter.fitEAEtaBins("fine_"+lname, "03", sel, [0.2*i for i in xrange(0,13)], "rho",rhobins, verbose=False) + #fitter.fitEAEtaBins("fineCN_"+lname, "03",sel, [0.2*i for i in xrange(0,13)], "rhoCentralNeutral", rhoCNbins, verbose=False) + #fitter.doEAResiduals("testCN_"+lname, "03",sel, [0,0.8,1.3,2.0,2.2,2.5], "rhoCentralNeutral", [0]+vtxbins, verbose=True) + fitter.fitEAEtaBins("EAv1R04_"+lname, "04", sel, [0,0.8,1.3,2.0,2.2,2.5], "rho",rhobins,verbose=True) + fitter.fitEAEtaBins("EAv1R04CN_"+lname, "04", sel, [0,0.8,1.3,2.0,2.2,2.5], "rhoCentralNeutral", rhoCNbins, verbose=True) + fitter.fitEAEtaBins("fineR04_"+lname, "04", sel, [0.2*i for i in xrange(0,13)], "rho",rhobins, verbose=False) + fitter.fitEAEtaBins("fineR04CN_"+lname, "04", sel, [0.2*i for i in xrange(0,13)], "rhoCentralNeutral", rhoCNbins, verbose=False) + fitter.done() + if False: + tester = EATester(tree,options) + for lname,lid in ("mu",13), ("el",11): + selsig = "(%s) && abs(LepGood_pdgId) == %d && LepGood_mcMatchId > 0" % (options.cut, lid) + seleff = "(%s) && abs(LepGood_pdgId) == %d && LepGood_mcMatchId > 0 && LepGood_pt > 25" % (options.cut, lid) + selbkg = "(%s) && abs(LepGood_pdgId) == %d && LepGood_mcMatchId <= 0" % (options.cut, lid) + #tester.plotEffEtaEABins( "effR03Loose_" +lname,"03","rho", "EAv1", 0.5,seleff,[0,1.2,2.4],vtxbins,[0.94,1.009]) + #tester.plotEffEtaEABins("fakeR03Loose_" +lname,"03","rho", "EAv1", 0.5,selbkg,[0,1.2,2.4],vtxbins,[0.0,1.019]) + #tester.plotEffEtaEABins( "effR03LooseCN_"+lname,"03","rhoCentralNeutral","EAv1CN",0.5,seleff,[0,1.2,2.4],vtxbins,[0.94,1.009]) + #tester.plotEffEtaEABins("fakeR03LooseCN_"+lname,"03","rhoCentralNeutral","EAv1CN",0.5,selbkg,[0,1.2,2.4],vtxbins,[0.0,1.019]) + #tester.plotEffEtaEABins( "effR03Tight_" +lname,"03","rho", "EAv1", 0.1,seleff,[0,1.2,2.4],vtxbins,[0.7,1.019]) + tester.plotEffEtaEABins("fakeR03Tight_" +lname,"03","rho", "EAv1", 0.1,selbkg,[0,1.2,2.4],vtxbins,[0.0,0.319]) + #tester.plotEffEtaEABins( "effR03TightCN_"+lname,"03","rhoCentralNeutral","EAv1CN",0.1,seleff,[0,1.2,2.4],vtxbins,[0.7,1.019]) + #tester.plotEffEtaEABins("fakeR03TightCN_"+lname,"03","rhoCentralNeutral","EAv1CN",0.1,selbkg,[0,1.2,2.4],vtxbins,[0.0,0.319]) + #tester.plotROCEtaEABins("rocR03_" +lname,"03","rho", "EAv1", selsig,selbkg,[0,1.2,2.4]) + #tester.plotROCEtaEABins("rocR03CN_"+lname,"03","rhoCentralNeutral","EAv1CN",selsig,selbkg,[0,1.2,2.4]) + diff --git a/CMGTools/TTHAnalysis/macros/leptons/rhoCorrections.cc b/CMGTools/TTHAnalysis/macros/leptons/rhoCorrections.cc new file mode 100644 index 000000000000..2a9ea662073e --- /dev/null +++ b/CMGTools/TTHAnalysis/macros/leptons/rhoCorrections.cc @@ -0,0 +1,41 @@ +#include +#include +#include +#include +#include +#include + +TH1 * EA_mu = 0; +TH1 * EA_el = 0; + + +bool loadEAHisto(const std::string &histoName, const char *file, const char *name) { + TH1 **histo = 0; + if (histoName == "EA_mu") histo = & EA_mu; + if (histoName == "EA_el") histo = & EA_el; + if (histo == 0) { + std::cerr << "ERROR: histogram " << histoName << " is not defined in fakeRate.cc." << std::endl; + return 0; + } + + if (*histo != 0) delete *histo; + TFile *f = TFile::Open(file); + if (f->Get(name) == 0) { + std::cerr << "ERROR: could not find " << name << " in " << file << std::endl; + *histo = 0; + } else { + *histo = (TH1*) f->Get(name)->Clone(name); + (*histo)->SetDirectory(0); + } + f->Close(); + return histo != 0; +} + +float eaCorr(float neutralIso, int pdgId, float eta, float rho) +{ + TH1 *hist = (abs(pdgId)==11 ? EA_el : EA_mu); + int etabin = std::max(1, std::min(hist->GetNbinsX(), hist->GetXaxis()->FindBin(std::abs(eta)))); + return std::max(neutralIso - rho * hist->GetBinContent(etabin), 0.); +} + +void rhoCorrections() {} diff --git a/CMGTools/TTHAnalysis/macros/leptons/simpleTNPEfficiency.py b/CMGTools/TTHAnalysis/macros/leptons/simpleTNPEfficiency.py new file mode 100644 index 000000000000..5de7c2414441 --- /dev/null +++ b/CMGTools/TTHAnalysis/macros/leptons/simpleTNPEfficiency.py @@ -0,0 +1,184 @@ +import ROOT + + +def rawEfficiency(tree,numcut,dencut,xvar,xbins): + if ROOT.gROOT.FindObject("htemp") != None: ROOT.gROOT.FindObject("htemp").Delete() + if xbins[0] == "[": + from array import array + xvals = eval(xbins) + hist2d = ROOT.TH2D("htemp","htemp",len(xvals)-1,array('f',xvals),2,array('f',[-0.5,0.5,1.5])) + else: + xn,xmin,xmax=xbins.split(",") + hist2d = ROOT.TH2D("htemp","htemp",int(xn),float(xmin),float(xmax),2,-0.5,1.5) + tree.Draw("(%s):(%s)>>htemp" % (numcut,xvar), dencut, "goff") + cpcalc = ROOT.TEfficiency.ClopperPearson + ret = ROOT.TGraphAsymmErrors(hist2d.GetNbinsX()) + for b in xrange(1,ret.GetN()+1): + x0 = hist2d.GetXaxis().GetBinCenter(b) + xmin, xmax = hist2d.GetXaxis().GetBinLowEdge(b), hist2d.GetXaxis().GetBinUpEdge(b) + passing = int(hist2d.GetBinContent(b,2)) + total = int(hist2d.GetBinContent(b,1) + passing) + y0 = passing/float(total) if total else -99 + ymax = cpcalc(total,passing,0.6827,True ) if total else -99 + ymin = cpcalc(total,passing,0.6827,False) if total else -99 + ret.SetPoint(b-1, x0, y0) + ret.SetPointError(b-1, x0-xmin, xmax-x0, y0-ymin,ymax-y0) + print "at bin %3d: x = %8.2f, eff = %8d/%8d = %.3f [%.3f, %.3f]" % (b, x0, passing,total, y0, ymin, ymax) + return ret + +def makeRatio(numeff,deneff): + if numeff.GetN() != deneff.GetN(): raise RuntimeError, "Mismatching graphs" + xn = numeff.GetX() + yn = numeff.GetY() + xd = deneff.GetX() + yd = deneff.GetY() + ratio = ROOT.TGraphAsymmErrors(numeff.GetN()) + unity = ROOT.TGraphAsymmErrors(numeff.GetN()) + for i in xrange(numeff.GetN()): + if abs(xn[i]-xd[i]) > 1e-4: raise RuntimeError, "Mismatching graphs" + if yd[i] <= 0: + unity.SetPoint(i, xn[i], -99) + ratio.SetPoint(i, xn[i], -99) + unity.SetPointError(i, numeff.GetErrorXlow(i), numeff.GetErrorXhigh(i), 0,0) + ratio.SetPointError(i, deneff.GetErrorXlow(i), deneff.GetErrorXhigh(i), 0,0) + else: + ratio.SetPoint(i, xn[i], yn[i]/yd[i]) + unity.SetPoint(i, xn[i], 1.0) + ratio.SetPointError(i, numeff.GetErrorXlow(i), numeff.GetErrorXhigh(i), numeff.GetErrorYlow(i)/yd[i], numeff.GetErrorYhigh(i)/yd[i]) + unity.SetPointError(i, deneff.GetErrorXlow(i), deneff.GetErrorXhigh(i), deneff.GetErrorYlow(i)/yd[i], deneff.GetErrorYhigh(i)/yd[i]) + print "at bin %3d: x = %8.2f, ratio = %.3f/%.3f = %.3f -%.3f/+%.3f " % (i+1, xn[i], yn[i], yd[i], yn[i]/yd[i], numeff.GetErrorYlow(i)/yd[i], numeff.GetErrorYhigh(i)/yd[i]) + return [ ratio, unity ] + +def makeRatios(effs): + if len(effs) != 2: raise RuntimeError, "Not supported yet" + return makeRatio(effs[0],effs[1]) + +def makeFrame(options): + if ROOT.gROOT.FindObject("frame") != None: ROOT.gROOT.FindObject("frame").Delete() + xvars,xbins = options.xvar + if xbins[0] == "[": + from array import array + xvals = eval(xbins) + hist1d = ROOT.TH1D("frame","frame",len(xvals)-1,array('f',xvals)) + else: + xn,xmin,xmax=xbins.split(",") + hist1d = ROOT.TH1D("frame","frame",int(xn),float(xmin),float(xmax)) + styleCommon(hist1d) + return hist1d + +def styleCommon(graph,options): + graph.GetYaxis().SetRangeUser(options.yrange[0], options.yrange[1]) + graph.GetYaxis().SetDecimals(True) + if options.xtitle: graph.GetXaxis().SetTitle(options.xtitle) + if options.ytitle: graph.GetYaxis().SetTitle(options.ytitle) + +def styleAsData(graph,options): + styleCommon(graph,options) + graph.SetMarkerStyle(20) + graph.SetLineWidth(2) + graph.SetLineColor(ROOT.kBlack) + graph.SetMarkerColor(ROOT.kBlack) + +def styleAsRef(graph,options): + styleCommon(graph,options) + if type(options.refcol) == str: + if options.refcol[0] == "k": options.refcol = "ROOT."+options.refcol + options.refcol = eval(options.refcol) + graph.SetMarkerStyle(20) + graph.SetFillColor(options.refcol) + graph.SetMarkerStyle(27) + graph.SetMarkerColor(ROOT.TColor.GetColorDark(options.refcol)) + +def stackEfficiencies(base,ref,options): + styleAsData(base,options) + styleAsRef(ref,options) + ref.Draw("AE2"); + base.Draw("P SAME"); + +def plotRatios(effs,ratios,options): + for e in effs: + e.GetXaxis().SetLabelOffset(999) ## send them away + e.GetXaxis().SetTitleOffset(999) ## in outer space + e.GetYaxis().SetLabelSize(0.05) + ratio, unity = ratios + styleAsData(ratio,options) + styleAsRef(unity,options) + for r in ratios: + r.GetYaxis().SetRangeUser(options.rrange[0],options.rrange[1]); + r.GetXaxis().SetTitleSize(0.14) + r.GetYaxis().SetTitleSize(0.14) + r.GetXaxis().SetLabelSize(0.11) + r.GetYaxis().SetLabelSize(0.11) + r.GetYaxis().SetNdivisions(505) + r.GetYaxis().SetTitle("ratio") + r.GetYaxis().SetTitleOffset(0.52); + #line = ROOT.TLine(unity.GetXaxis().GetXmin(),1,unity.GetXaxis().GetXmax(),1) + #line.SetLineWidth(2); + #line.SetLineColor(58); + #line.Draw("L") + unity.Draw("AE2"); + ratio.Draw("PZ SAME"); + + +def plotEffs(effs,options): + c1 = ROOT.TCanvas("c1", "c1", 600, (750 if options.doRatio else 600)) + c1.Draw() + p1, p2 = c1, None # high and low panes + # set borders, if necessary create subpads + if len(effs) > 1 and options.doRatio: + c1.SetWindowSize(600 + (600 - c1.GetWw()), (750 + (750 - c1.GetWh()))); + p1 = ROOT.TPad("pad1","pad1",0,0.31,1,1); + p1.SetBottomMargin(0); + p1.Draw(); + p2 = ROOT.TPad("pad2","pad2",0,0,1,0.31); + p2.SetTopMargin(0); + p2.SetBottomMargin(0.3); + p2.SetFillStyle(0); + p2.Draw(); + p1.cd(); + else: + c1.SetWindowSize(600 + (600 - c1.GetWw()), 600 + (600 - c1.GetWh())); + if len(effs) == 2: + stackEfficiencies(effs[0],effs[1],options) + else: + styleAsData(effs[0],options) + effs[0].Draw("AP") + if len(effs) > 1 and options.doRatio: + ratios = makeRatios(effs) + p2.cd() + plotRatios(effs,ratios,options) + c1.Print("eff.png") + + +def addTnPEfficiencyOptions(parser): + parser.add_option("-t", "--tree", dest="tree", default='rec/t', help="Pattern for tree name"); + parser.add_option("-n", "--num", dest="num", type="string", default="1", help="numerator") + parser.add_option("-d", "--den", dest="den", type="string", default="1", help="denominator") + parser.add_option("-x", "--x-var", dest="xvar", type="string", default=("LepGood_pt","10,0,50"), nargs=2, help="X var and bin") + parser.add_option("--xtitle", dest="xtitle", type="string", default=None, help="X title") + parser.add_option("--ytitle", dest="ytitle", type="string", default=None, help="Y title") + parser.add_option("--refcol", dest="refcol", type="string", default="kOrange+1", help="color for reference") + parser.add_option("--yrange", dest="yrange", type="float", nargs=2, default=(0,1.025)); + parser.add_option("--rrange", dest="rrange", type="float", nargs=2, default=(0.78,1.24)); + parser.add_option("--doRatio", dest="doRatio", action="store_true", default=False, help="Add a ratio plot at the bottom") + parser.add_option("--pdir", "--print-dir", dest="printDir", type="string", default="plots", help="print out plots in this directory"); + + +if __name__ == "__main__": + from optparse import OptionParser + parser = OptionParser(usage="%prog [options] tree reftree") + addTnPEfficiencyOptions(parser) + (options, args) = parser.parse_args() + if len(args) == 0: + print "You must specify at least one tree to fit" + if len(args) > 2: + print "You must specify at most two trees to fit" + files = map( ROOT.TFile.Open, args ) + trees = [ f.Get(options.tree) for f in files ] + effs = [ rawEfficiency(t,options.num,options.den,options.xvar[0],options.xvar[1]) for t in trees ] + ROOT.gROOT.SetBatch(True) + ROOT.gROOT.ProcessLine(".x ~/tdrstyle.cc") + plotEffs(effs,options) + + + diff --git a/CMGTools/TTHAnalysis/macros/leptons/stackMuEffs.cxx b/CMGTools/TTHAnalysis/macros/leptons/stackMuEffs.cxx new file mode 100644 index 000000000000..824aa52bb3ed --- /dev/null +++ b/CMGTools/TTHAnalysis/macros/leptons/stackMuEffs.cxx @@ -0,0 +1,49 @@ +void stackMuEffs(TString what="pt") { + gStyle->SetOptStat(0); + gStyle->SetErrorX(0.5); + TFile *effs = (TFile*) gROOT->GetListOfFiles()->At(0); + TProfile *mcEffMP = (TProfile*) effs->Get("mediumIdEff_"+what+"_TT_true"); + TProfile *mcEffMB = (TProfile*) effs->Get("mediumIdEff_"+what+"_TT_bjets"); + TProfile *mcEffTP = (TProfile*) effs->Get("tightIdEff_"+what+"_TT_true"); + TProfile *mcEffTB = (TProfile*) effs->Get("tightIdEff_"+what+"_TT_bjets"); + + mcEffMP->SetLineWidth(2); + mcEffMP->SetLineColor(kOrange+7); + mcEffMP->SetMarkerColor(kOrange+7); + mcEffMP->SetMarkerSize(0.9); + mcEffMB->SetMarkerSize(1.4); + mcEffMB->SetMarkerStyle(21); + mcEffMB->SetLineWidth(4); + mcEffMB->SetLineColor(kGray+1); + mcEffMB->SetMarkerColor(kGray+1); + + mcEffTP->SetLineWidth(2); + mcEffTP->SetLineColor(kViolet+1); + mcEffTP->SetMarkerColor(kViolet+1); + mcEffTP->SetMarkerSize(0.9); + mcEffTB->SetMarkerSize(1.4); + mcEffTB->SetLineWidth(4); + mcEffTB->SetMarkerStyle(21); + mcEffTB->SetLineColor(kAzure-9); + mcEffTB->SetMarkerColor(kAzure-9); + + TLine xline(mcEffTB->GetXaxis()->GetXmin(),1.0,mcEffTB->GetXaxis()->GetXmax(),1.0); + xline.SetLineWidth(3); + xline.SetLineStyle(2); + + mcEffTB->Draw("AXIS"); + xline.DrawClone(); + mcEffTB->Draw("SAME"); + mcEffMB->Draw("SAME"); + mcEffTP->Draw("SAME"); + mcEffMP->Draw("SAME"); + + mcEffTB->GetYaxis()->SetTitle("Efficiency"); + mcEffTB->GetYaxis()->SetDecimals(1); + mcEffTB->GetYaxis()->SetRangeUser(0.891, 1.019); + mcEffTB->GetXaxis()->SetTitleOffset(1.0); + + TString odir = gSystem->DirName(gFile->GetName()); + c1->Print(odir+"/effstack.pdf"); + c1->Print(odir+"/effstack.eps"); +} diff --git a/CMGTools/TTHAnalysis/macros/leptons/stackMuFakes.cxx b/CMGTools/TTHAnalysis/macros/leptons/stackMuFakes.cxx new file mode 100644 index 000000000000..81f12c16dd19 --- /dev/null +++ b/CMGTools/TTHAnalysis/macros/leptons/stackMuFakes.cxx @@ -0,0 +1,31 @@ +void stackMuFakes(TString what="pt") { + gStyle->SetOptStat(0); + gStyle->SetErrorX(0.5); + TFile *fakes = (TFile*) gROOT->GetListOfFiles()->At(0); + fakes->ls(); + TProfile *mcFakeMP = (TProfile*) fakes->Get("mediumIdFake_"+what+"_TT_fake"); + TProfile *mcFakeTP = (TProfile*) fakes->Get("tightIdFake_"+what+"_TT_fake"); + + mcFakeMP->SetLineWidth(2); + mcFakeMP->SetLineColor(kBlack); + mcFakeMP->SetMarkerColor(kBlack); + mcFakeMP->SetMarkerSize(0.9); + + mcFakeTP->SetMarkerSize(1.4); + mcFakeTP->SetLineWidth(4); + mcFakeTP->SetMarkerStyle(21); + mcFakeTP->SetLineColor(kCyan-8); + mcFakeTP->SetMarkerColor(kCyan-8); + + mcFakeTP->Draw(); + mcFakeMP->Draw("SAME"); + + mcFakeTP->GetYaxis()->SetTitle("Efficiency"); + mcFakeTP->GetYaxis()->SetDecimals(1); + mcFakeTP->GetYaxis()->SetRangeUser(0.0, 1.039); + mcFakeTP->GetXaxis()->SetTitleOffset(1.0); + + TString odir = gSystem->DirName(gFile->GetName()); + c1->Print(odir+"/fakestack.pdf"); + c1->Print(odir+"/fakestack.eps"); +} diff --git a/CMGTools/TTHAnalysis/macros/leptons/trainLeptonID.cxx b/CMGTools/TTHAnalysis/macros/leptons/trainLeptonID.cxx index edf2c90cc39d..cbeee8a9b61c 100644 --- a/CMGTools/TTHAnalysis/macros/leptons/trainLeptonID.cxx +++ b/CMGTools/TTHAnalysis/macros/leptons/trainLeptonID.cxx @@ -2,8 +2,7 @@ void trainLeptonID(TString name, TString train="GoodvsBad") { TTree *dSig = (TTree*) _file0->Get("tree"); TTree *dBg1 = (TTree*) _file1->Get("tree"); TFile *fOut = new TFile(name+".root","RECREATE"); - TMVA::Factory *factory = new TMVA::Factory(name, fOut, "!V:!Color"); - + TMVA::Factory *factory = new TMVA::Factory(name, fOut, "!V:!Color:Transformations=I"); if (!name.Contains("pteta")) { factory->AddSpectator("LepGood_pt", 'D'); @@ -12,6 +11,9 @@ void trainLeptonID(TString name, TString train="GoodvsBad") { TString allvars = ""; //common variables + //factory->AddVariable("LepGood_miniRelIsoCharged", 'D'); allvars += "chMiniRelIso03"; + //factory->AddVariable("LepGood_miniRelIsoNeutral", 'D'); allvars += ":neuMiniIso03"; + //factory->AddVariable("LepGood_jetPtRelV1", 'D'); allvars += ":jetPtRelV1"; factory->AddVariable("LepGood_neuRelIso03 := LepGood_relIso03 - LepGood_chargedHadRelIso03", 'D'); allvars += "neuRelIso03"; factory->AddVariable("LepGood_chRelIso03 := LepGood_chargedHadRelIso03", 'D'); allvars += ":chRelIso03"; factory->AddVariable("LepGood_jetDR := min(LepGood_jetDR,0.5)", 'D'); allvars += ":jetDR"; @@ -34,7 +36,7 @@ void trainLeptonID(TString name, TString train="GoodvsBad") { } else if (name.Contains("el")) { //electron variables if (!name.Contains("NoID")) { - factory->AddVariable("LepGood_mvaId",'D'); allvars += ":mvaId"; + factory->AddVariable("LepGood_mvaIdPhys14",'D'); allvars += ":mvaId"; } } else { std::cerr << "ERROR: must either be electron or muon." << std::endl; return; } @@ -50,8 +52,32 @@ void trainLeptonID(TString name, TString train="GoodvsBad") { factory->AddVariable("LepGood_svChi2n := min(max( LepGood_svChi2n, -1),10)", 'D'); allvars += ":svChi2n"; factory->AddVariable("LepGood_svDxy := min(max( LepGood_svDxy, 0),4)", 'D'); allvars += ":svDxy"; } + + + // if (name.Contains("FR")) { + // factory->AddVariable("LepGood_jetNDau := min(max(LepGood_jetNDau,-1),150)", 'D'); allvars += ":jetNDau"; + // factory->AddVariable("LepGood_jetNDauCharged := min(max(LepGood_jetNDauCharged,-1),150)", 'D'); allvars += ":jetNDauCharged"; + // factory->AddVariable("LepGood_jetNDauPV := min(max(LepGood_jetNDauPV,-1),150)", 'D'); allvars += ":jetNDauPV"; + // factory->AddVariable("LepGood_jetNDauNotPV := min(max(LepGood_jetNDauNotPV,-1),150)", 'D'); allvars += ":jetNDauNotPV"; + // factory->AddVariable("LepGood_jetmaxSignedSip3D := min(LepGood_jetmaxSignedSip3D,0.5)", 'D'); allvars += ":jetmaxSignedSip3D"; + // factory->AddVariable("LepGood_jetmaxSip3D := min(LepGood_jetmaxSip3D,0.5)", 'D'); allvars += ":jetmaxSip3D"; + // factory->AddVariable("LepGood_jetmaxSignedSip2D := min(LepGood_jetmaxSignedSip2D,0.5)", 'D'); allvars += ":jetmaxSignedSip2D"; + // factory->AddVariable("LepGood_jetmaxSip2D := min(LepGood_jetmaxSip2D,0.5)", 'D'); allvars += ":jetmaxSip2D"; - TCut lepton = (name.Contains("mu") ? "abs(LepGood_pdgId) == 13 && (LepGood_innerTrackValidHitFraction >= 0.80 && LepGood_segmentCompatibility>0.303 + (0.451-0.303)*(!(LepGood_chi2LocalPosition < 12 && LepGood_globalTrackChi2 > 0 && LepGood_globalTrackChi2 < 3 && LepGood_trkKink < 20)))" : "abs(LepGood_pdgId) == 11"); + // } + + + + + //For standard trees + //TCut lepton = (name.Contains("mu") ? "abs(LepGood_pdgId) == 13 && (LepGood_innerTrackValidHitFraction >= 0.80 && LepGood_segmentCompatibility>0.303 + (0.451-0.303)*(!(LepGood_chi2LocalPosition < 12 && LepGood_globalTrackChi2 > 0 && LepGood_globalTrackChi2 < 3 && LepGood_trkKink < 20)))" : "abs(LepGood_pdgId) == 11"); + //TCut lepton = (name.Contains("mu") ? "abs(LepGood_pdgId) == 13 && LepGood_mediumMuonId == 1 " : "abs(LepGood_pdgId) == 11"); + //For relaxed preselection trees + //TCut lepton = (name.Contains("mu") ? "abs(LepGood_pdgId) == 13 && LepGood_relIso03 > 0.5 && LepGood_mediumMuonId == 1" : "abs(LepGood_pdgId) == 11 && LepGood_relIso03 > 0.5 && LepGood_tightId>=0"); + //For new electron presel + TCut lepton = (name.Contains("mu") ? "abs(LepGood_pdgId) == 13 && LepGood_relIso03 > 0.5 && LepGood_mediumMuonId == 1" : "abs(LepGood_pdgId) == 11 && LepGood_relIso03 > 0.5 && LepGood_mvaIdPhys14 >= (0.35+(0.20-0.35)*(abs(LepGood_eta)>0.8)+(-0.52-0.20)*(abs(LepGood_eta)>1.479))"); + //For ptRel + //TCut lepton = (name.Contains("mu") ? "abs(LepGood_pdgId) == 13 && ((LepGood_relIso03<0.4)||(LepGood_jetPtRelV1>5)) && LepGood_mediumMuonId == 1" : "abs(LepGood_pdgId) == 11 && ((LepGood_relIso03<0.4)||(LepGood_jetPtRelV1>5)) && LepGood_mvaIdPhys14 >= (0.35+(0.20-0.35)*(abs(LepGood_eta)>0.8)+(-0.52-0.20)*(abs(LepGood_eta)>1.479))"); if (name.Contains("mu")) { if (name.Contains("pteta")) { @@ -77,14 +103,17 @@ void trainLeptonID(TString name, TString train="GoodvsBad") { factory->AddSignalTree(dSig, wSig); factory->AddBackgroundTree(dBg1, wBkg); - // re-weighting to approximately match n(jet) multiplicity of signal + + + + //re-weighting to approximately match n(jet) multiplicity of signal //factory->SetWeightExpression("puWeight*((good>0)+(good<=0)*pow(nJet25,2.36))"); - factory->SetWeightExpression("puWeight"); + //factory->SetWeightExpression("puWeight"); if (train=="GoodvsBad") { - factory->PrepareTrainingAndTestTree( lepton+" LepGood_mcMatchId > 0", lepton+" LepGood_mcMatchId <= 0", "" ); + factory->PrepareTrainingAndTestTree( lepton+" LepGood_mcMatchId != 0", lepton+" LepGood_mcMatchId == 0", "" ); } else if (train=="GoodvsLight") { - factory->PrepareTrainingAndTestTree( lepton+" LepGood_mcMatchId > 0", lepton+" LepGood_mcMatchId <= 0 && LepGood_mcMatchAny <= 1", "" ); + factory->PrepareTrainingAndTestTree( lepton+" LepGood_mcMatchId != 0", lepton+" LepGood_mcMatchId == 0 && LepGood_mcMatchAny <= 1", "" ); //check mcMatchAny with new def } else { std::cerr << "ERROR: No idea of what training you want." << std::endl; return; } diff --git a/CMGTools/TTHAnalysis/macros/lxbatch_runner.sh b/CMGTools/TTHAnalysis/macros/lxbatch_runner.sh index 56ac5b9c2fd3..4c187969c772 100755 --- a/CMGTools/TTHAnalysis/macros/lxbatch_runner.sh +++ b/CMGTools/TTHAnalysis/macros/lxbatch_runner.sh @@ -1,5 +1,7 @@ #!/bin/bash export SCRAM_ARCH=slc6_amd64_gcc481 +#following suggestion on https://savannah.cern.ch/bugs/?100688 to access eos in multiple instances +export XRD_ENABLEFORKHANDLERS=1 WORK=$1; shift SRC=$1; shift cd $SRC; diff --git a/CMGTools/TTHAnalysis/macros/nafbatch_runner.sh b/CMGTools/TTHAnalysis/macros/nafbatch_runner.sh new file mode 100755 index 000000000000..6b2420ec204d --- /dev/null +++ b/CMGTools/TTHAnalysis/macros/nafbatch_runner.sh @@ -0,0 +1,42 @@ +#!/bin/zsh +## make sure the right shell will be used +#$ -S /bin/zsh +####################################################### +## Black list nodes +##$ -l h=!bird234.desy.de +####################################################### +## the cpu time for this job +#$ -l h_rt=02:59:00 +## the maximum memory usage of this job +#$ -l h_vmem=3900M +## operating system +#$ -l distro=sld6 +## architecture +##$ -l arch=amd64 +## Job Name +#$ -N CMGrunner +## stderr and stdout are merged together to stdout +#$ -j y +##(send mail on job's end and abort) +##$ -m a +#$ -l site=hh +## transfer env var from submission host +#$ -V +## set cwd to submission host pwd +#$ -cwd + +echo job start at `date` +echo "Running job on machine " `uname -a` + +TaskID=$((SGE_TASK_ID)) +echo "SGE_TASK_ID: " $TaskID + +JobList=$1 +TaskCmd=$(cat $JobList | sed ''$TaskID'q;d') + +eval $(scramv1 runtime -sh); + +echo "Going to execute" $TaskCmd +eval $TaskCmd + +echo "Complete at " `date` diff --git a/CMGTools/TTHAnalysis/macros/prepareEventVariablesFriendTree.py b/CMGTools/TTHAnalysis/macros/prepareEventVariablesFriendTree.py index 131d2e145352..84e6f4ef686d 100644 --- a/CMGTools/TTHAnalysis/macros/prepareEventVariablesFriendTree.py +++ b/CMGTools/TTHAnalysis/macros/prepareEventVariablesFriendTree.py @@ -1,3 +1,253 @@ +#!/usr/bin/env python +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from glob import glob +import os.path, re + +MODULES = [] + +from CMGTools.TTHAnalysis.tools.eventVars_1l_base import EventVars1L_base +MODULES.append( ('1l_Basics', EventVars1L_base()) ) +from CMGTools.TTHAnalysis.tools.eventVars_1l_bkgDilep import EventVars1L_bkgDilep +MODULES.append( ('1l_bkgDilep', EventVars1L_bkgDilep()) ) +from CMGTools.TTHAnalysis.tools.eventVars_1l_top import EventVars1L_Top +MODULES.append( ('1l_TopVars', EventVars1L_Top()) ) +from CMGTools.TTHAnalysis.tools.eventVars_1l_extra import EventVars1L_extra +MODULES.append( ('1l_Extra', EventVars1L_extra()) ) +from CMGTools.TTHAnalysis.tools.eventVars_1l_genLevel import EventVars1LGenLevel +MODULES.append( ('1l_BasicsGen', EventVars1LGenLevel()) ) +from CMGTools.TTHAnalysis.tools.resolvedTopTagVars_1l import resolvedTopTagVars1l +MODULES.append( ('1l_resolvedTopTagVars', resolvedTopTagVars1l()) ) + +''' +# old module flow +from CMGTools.TTHAnalysis.tools.eventVars_1l import EventVars1L +MODULES.append( ('1l_Basics', EventVars1L()) ) +from CMGTools.TTHAnalysis.tools.eventVars_1l_genLevel import EventVars1LGenLevel +MODULES.append( ('1l_BasicsGen', EventVars1LGenLevel()) ) +from CMGTools.TTHAnalysis.tools.resolvedTopTagVars_1l import resolvedTopTagVars1l +MODULES.append( ('1l_resolvedTopTagVars', resolvedTopTagVars1l()) ) +''' + +class VariableProducer(Module): + def __init__(self,name,booker,modules): + Module.__init__(self,name,booker) + self._modules = modules + def beginJob(self): + self.t = PyTree(self.book("TTree","t","t")) + self.branches = {} + for name,mod in self._modules: + for B in mod.listBranches(): + # don't add the same branch twice + if B in self.branches: + print "Will not add branch %s twice" % (B,) + continue + self.branches[B] = True + if type(B) == tuple: + if len(B) == 2: + self.t.branch(B[0],B[1]) + elif len(B) == 4: + self.t.branch(B[0],B[1],n=B[2],lenVar=B[3]) + else: + self.t.branch(B ,"F") + def analyze(self,event): + keyvals = {} + for name,mod in self._modules: + #keyvals = mod(event) + keyvals.update(mod(event, keyvals)) + for B,V in keyvals.iteritems(): + setattr(self.t, B, V) + setattr(event, B, V) + self.t.fill() + +import os, itertools + +from optparse import OptionParser +parser = OptionParser(usage="%prog [options] ") +parser.add_option("-m", "--modules", dest="modules", type="string", default=[], action="append", help="Run these modules"); +parser.add_option("-d", "--dataset", dest="datasets", type="string", default=[], action="append", help="Process only this dataset (or dataset if specified multiple times)"); +parser.add_option("-D", "--dm", "--dataset-match", dest="datasetMatches", type="string", default=[], action="append", help="Process only this dataset (or dataset if specified multiple times): REGEXP"); +parser.add_option("-c", "--chunk", dest="chunks", type="int", default=[], action="append", help="Process only these chunks (works only if a single dataset is selected with -d)"); +parser.add_option("-N", "--events", dest="chunkSize", type="int", default=500000, help="Default chunk size when splitting trees"); +parser.add_option("-j", "--jobs", dest="jobs", type="int", default=1, help="Use N threads"); +parser.add_option("-p", "--pretend", dest="pretend", action="store_true", default=False, help="Don't run anything"); +parser.add_option("-T", "--tree-dir", dest="treeDir", type="string", default="sf", help="Directory of the friend tree in the file (default: 'sf')"); +parser.add_option("-q", "--queue", dest="queue", type="string", default=False, help="Run jobs on lxbatch instead of locally"); +parser.add_option("-b", "--naf", dest="naf", action="store_true", default=None, help="Run jobs on nafbatch instead of locally"); +parser.add_option("-t", "--tree", dest="tree", default='ttHLepTreeProducerTTH', help="Pattern for tree name"); +parser.add_option("-V", "--vector", dest="vectorTree", action="store_true", default=True, help="Input tree is a vector"); +parser.add_option("-F", "--add-friend", dest="friendTrees", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename). Can use {name}, {cname} patterns in the treename") +parser.add_option("--FMC", "--add-friend-mc", dest="friendTreesMC", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename) to MC only. Can use {name}, {cname} patterns in the treename") +parser.add_option("--FD", "--add-friend-data", dest="friendTreesData", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename) to data trees only. Can use {name}, {cname} patterns in the treename") +parser.add_option("-L", "--list-modules", dest="listModules", action="store_true", default=False, help="just list the configured modules"); +parser.add_option("-n", "--new", dest="newOnly", action="store_true", default=False, help="Make only missing trees"); +(options, args) = parser.parse_args() + +if options.listModules: + print "List of modules" + for (n,x) in MODULES: + print " '%s': %s" % (n,x) + exit() + +if len(args) != 2 or not os.path.isdir(args[0]) or not os.path.isdir(args[1]): + print "Usage: program " + exit() +if len(options.chunks) != 0 and len(options.datasets) != 1: + print "must specify a single dataset with -d if using -c to select chunks" + exit() + +jobs = [] + +for D in glob(args[0]+"/*"): + treename = options.tree + fname = "%s/%s/%s_tree.root" % (D,options.tree,options.tree) + if (not os.path.exists(fname)) and os.path.exists("%s/%s/tree.root" % (D,options.tree)): + treename = "tree" + fname = "%s/%s/tree.root" % (D,options.tree) + if os.path.exists(fname): + short = os.path.basename(D) + if options.datasets != []: + if short not in options.datasets: continue + if options.datasetMatches != []: + found = False + for dm in options.datasetMatches: + if re.match(dm,short): found = True + if not found: continue + data = ("DoubleMu" in short or "MuEG" in short or "DoubleElectron" in short or "SingleMu" in short) + f = ROOT.TFile.Open(fname); + t = f.Get(treename) + entries = t.GetEntries() + f.Close() + if options.newOnly: + fout = "%s/evVarFriend_%s.root" % (args[1],short) + if os.path.exists(fout): + #f = ROOT.TFile.Open(fname); + #t = f.Get(treename) + f = ROOT.TFile.Open(fout); + t = f.Get(options.treeDir+'/t') + if t.GetEntries() != entries: + print "Component %s has to be remade, mismatching number of entries (%d vs %d)" % (short, entries, t.GetEntries()) + f.Close() + else: + print "Component %s exists already and has matching number of entries (%d)" % (short, entries) + continue + chunk = options.chunkSize + if entries < chunk: + print " ",os.path.basename(D),(" DATA" if data else " MC")," single chunk" + jobs.append((short,fname,"%s/evVarFriend_%s.root" % (args[1],short),data,xrange(entries),-1)) + else: + nchunk = int(ceil(entries/float(chunk))) + print " ",os.path.basename(D),(" DATA" if data else " MC")," %d chunks" % nchunk + for i in xrange(nchunk): + if options.chunks != []: + if i not in options.chunks: continue + r = xrange(int(i*chunk),min(int((i+1)*chunk),entries)) + jobs.append((short,fname,"%s/evVarFriend_%s.chunk%05d.root" % (args[1],short,i),data,r,i)) +print "\n" +print "I have %d tasks to process" % len(jobs) + +if options.queue: + import os, sys + basecmd = "bsub -q {queue} {dir}/lxbatch_runner.sh {dir} {cmssw} python {self} -N {chunkSize} -T '{tdir}' -t {tree} {data} {output}".format( + queue = options.queue, dir = os.getcwd(), cmssw = os.environ['CMSSW_BASE'], + self=sys.argv[0], chunkSize=options.chunkSize, tdir=options.treeDir, tree=options.tree, data=args[0], output=args[1] + ) + if options.vectorTree: basecmd += " --vector " + friendPost = "".join([" -F %s %s " % (fn,ft) for fn,ft in options.friendTrees]) + friendPost += "".join([" --FM %s %s " % (fn,ft) for fn,ft in options.friendTreesMC]) + friendPost += "".join([" --FD %s %s " % (fn,ft) for fn,ft in options.friendTreesData]) + friendPost += "".join([" -m '%s' " % m for m in options.modules]) + for (name,fin,fout,data,range,chunk) in jobs: + if chunk != -1: + print "{base} -d {data} -c {chunk} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost) + else: + print "{base} -d {data} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost) + + exit() + +if options.naf: + import os, sys + import subprocess + + jobList = open('jobList.txt','w') + + basecmd = "python {self} -N {chunkSize} -T '{tdir}' -t {tree} {data} {output}".format( + njobs=1, self=sys.argv[0], chunkSize=options.chunkSize, tdir=options.treeDir, tree=options.tree, data=args[0], output=args[1] + ) + if options.vectorTree: basecmd += " --vector " + friendPost = "".join([" -F %s %s " % (fn,ft) for fn,ft in options.friendTrees]) + friendPost += "".join([" --FM %s %s " % (fn,ft) for fn,ft in options.friendTreesMC]) + friendPost += "".join([" --FD %s %s " % (fn,ft) for fn,ft in options.friendTreesData]) + friendPost += "".join([" -m '%s' " % m for m in options.modules]) + + for (name,fin,fout,data,range,chunk) in jobs: + if chunk != -1: + #print "{base} -d {data} -c {chunk} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost) + jobList.write("{base} -d {data} -c {chunk} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost)+'\n') + else: + #print "{base} -d {data} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost) + jobList.write("{base} -d {data} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost)+'\n') + + # submit job array on list + subCmd = 'qsub -t 1-%s -o logs nafbatch_runner.sh jobList.txt' %len(jobs) + print 'Going to submit', len(jobs), 'jobs with', subCmd + args=subCmd.split() + + subprocess.Popen(args) + + jobList.close() + exit() + + +maintimer = ROOT.TStopwatch() +def _runIt(myargs): + (name,fin,fout,data,range,chunk) = myargs + timer = ROOT.TStopwatch() + fb = ROOT.TFile(fin) + tb = fb.Get(options.tree) + if not tb: tb = fb.Get("tree") # new trees + if options.vectorTree: + tb.vectorTree = True + else: + tb.vectorTree = False + friends = options.friendTrees[:] + friends += (options.friendTreesData if data else options.friendTreesMC) + friends_ = [] # to make sure pyroot does not delete them + for tf_tree,tf_file in friends: + tf = tb.AddFriend(tf_tree, tf_file.format(name=name, cname=name)), + friends_.append(tf) # to make sure pyroot does not delete them + nev = tb.GetEntries() + if options.pretend: + print "==== pretending to run %s (%d entries, %s) ====" % (name, nev, fout) + return (name,(nev,0)) + print "==== %s starting (%d entries) ====" % (name, nev) + booker = Booker(fout) + modulesToRun = MODULES + if options.modules != []: + toRun = {} + for m,v in MODULES: + for pat in options.modules: + if re.match(pat,m): + toRun[m] = True + modulesToRun = [ (m,v) for (m,v) in MODULES if m in toRun ] + el = EventLoop([ VariableProducer(options.treeDir,booker,modulesToRun), ]) + el.loop([tb], eventRange=range) + booker.done() + fb.Close() + time = timer.RealTime() + print "=== %s done (%d entries, %.0f s, %.0f e/s) ====" % ( name, nev, time,(nev/time) ) + return (name,(nev,time)) + +if options.jobs > 0: + from multiprocessing import Pool + pool = Pool(options.jobs) + ret = dict(pool.map(_runIt, jobs)) if options.jobs > 0 else dict([_runIt(j) for j in jobs]) +else: + ret = dict(map(_runIt, jobs)) +fulltime = maintimer.RealTime() +totev = sum([ev for (ev,time) in ret.itervalues()]) +tottime = sum([time for (ev,time) in ret.itervalues()]) +print "Done %d tasks in %.1f min (%d entries, %.1f min)" % (len(jobs),fulltime/60.,totev,tottime/60.) +======= #!/usr/bin/env python from CMGTools.TTHAnalysis.treeReAnalyzer import * from glob import glob @@ -7,6 +257,33 @@ #from CMGTools.TTHAnalysis.tools.eventVars_2lss import EventVars2LSS #MODULES.append( ('2lss', EventVars2LSS()) ) +from CMGTools.TTHAnalysis.tools.susyVars_2lssInc import SusyVars2LSSInc +MODULES.append( ('susy2lss', SusyVars2LSSInc()) ) +from CMGTools.TTHAnalysis.tools.leptonJetReCleaner import LeptonJetReCleaner,_susy2lss_lepId_CB,_susy2lss_lepId_CBloose,_susy2lss_multiIso,_tthlep_lepId +#--- TTH instances +MODULES.append( ('leptonJetReCleanerTTH', LeptonJetReCleaner("I03Sip8", + lambda lep : lep.relIso03 < 0.5 and lep.sip3d < 8 and _tthlep_lepId(lep), + lambda lep : lep.mvaTTH > 0.6 and lep.mediumMuonId, + cleanJet = lambda lep,jet,dr : (lep.pt > 10 and dr < 0.4)) )) +MODULES.append( ('leptonJetReCleanerTTH', LeptonJetReCleaner("MiniSip8", + lambda lep : lep.miniRelIso < 0.4 and lep.sip3d < 8 and _tthlep_lepId(lep), + lambda lep : lep.mvaTTH > 0.6 and lep.mediumMuonId, + cleanJet = lambda lep,jet,dr : (lep.pt > 10 and dr < 0.4)) )) +#--- Susy multilep instances +MODULES.append( ('leptonJetReCleanerSusy', LeptonJetReCleaner("Mini", + lambda lep : lep.miniRelIso < 0.4 and _susy2lss_lepId_CBloose(lep), + lambda lep : lep.sip3d < 4 and _susy2lss_multiIso(lep) and _susy2lss_lepId_CB(lep), + cleanJet = lambda lep,jet,dr : (lep.pt > 10 and dr < 0.4)) )) +from CMGTools.TTHAnalysis.tools.leptonFakeRateQCDVars import LeptonFakeRateQCDVars +#--- TTH instances +MODULES.append( ('leptonFakeRateQCDVarsTTH', LeptonFakeRateQCDVars( + lambda lep : lep.sip3d < 8 and lep.relIso03 < 0.5 and _tthlep_lepId(lep), + lambda jet, lep, dr : jet.pt > (20 if abs(jet.eta)<2.4 else 30) and dr > 0.7) ) ) +#--- Susy multilep instances +MODULES.append( ('leptonFakeRateQCDVarsSusy', LeptonFakeRateQCDVars( + lambda lep : lep.miniRelIso < 0.4 and _susy2lss_lepId_CBloose(lep), + lambda jet, lep, dr : jet.pt > (20 if abs(jet.eta)<2.4 else 30) and dr > 0.7) ) ) + #from CMGTools.TTHAnalysis.tools.finalMVA_2lss import FinalMVA_2LSS #MODULES.append( ('2lss_mva', FinalMVA_2LSS()) ) #from CMGTools.TTHAnalysis.tools.finalMVA_3l import FinalMVA_3L @@ -84,6 +361,7 @@ def analyze(self,event): parser.add_option("--FMC", "--add-friend-mc", dest="friendTreesMC", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename) to MC only. Can use {name}, {cname} patterns in the treename") parser.add_option("--FD", "--add-friend-data", dest="friendTreesData", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename) to data trees only. Can use {name}, {cname} patterns in the treename") parser.add_option("-L", "--list-modules", dest="listModules", action="store_true", default=False, help="just list the configured modules"); +parser.add_option("-n", "--new", dest="newOnly", action="store_true", default=False, help="Make only missing trees"); (options, args) = parser.parse_args() if options.listModules: @@ -101,7 +379,11 @@ def analyze(self,event): jobs = [] for D in glob(args[0]+"/*"): - fname = D+"/treeProducerSusyMultilepton/tree.root" + treename = options.tree + fname = "%s/%s/%s_tree.root" % (D,options.tree,options.tree) + if (not os.path.exists(fname)) and os.path.exists("%s/%s/tree.root" % (D,options.tree)): + treename = "tree" + fname = "%s/%s/tree.root" % (D,options.tree) if os.path.exists(fname): short = os.path.basename(D) if options.datasets != []: @@ -112,10 +394,24 @@ def analyze(self,event): if re.match(dm,short): found = True if not found: continue data = ("DoubleMu" in short or "MuEG" in short or "DoubleElectron" in short or "SingleMu" in short) - f = ROOT.TFile.Open(fname); - t = f.Get(options.tree) + f = ROOT.TFile.Open(fname) + t = f.Get(treename) + if not t: + print "Corrupted ",fname + continue entries = t.GetEntries() f.Close() + if options.newOnly: + fout = "%s/evVarFriend_%s.root" % (args[1],short) + if os.path.exists(fout): + f = ROOT.TFile.Open(fname); + t = f.Get(treename) + if t.GetEntries() != entries: + print "Component %s has to be remade, mismatching number of entries (%d vs %d)" % (short, entries, t.GetEntries()) + f.Close() + else: + print "Component %s exists already and has matching number of entries (%d)" % (short, entries) + continue chunk = options.chunkSize if entries < chunk: print " ",os.path.basename(D),(" DATA" if data else " MC")," single chunk" @@ -155,7 +451,8 @@ def _runIt(myargs): (name,fin,fout,data,range,chunk) = myargs timer = ROOT.TStopwatch() fb = ROOT.TFile(fin) - tb = fb.Get("tree") + tb = fb.Get(options.tree) + if not tb: tb = fb.Get("tree") # new trees if options.vectorTree: tb.vectorTree = True else: diff --git a/CMGTools/TTHAnalysis/macros/prepareEventVariablesFriendTree_QCD.py b/CMGTools/TTHAnalysis/macros/prepareEventVariablesFriendTree_QCD.py new file mode 100644 index 000000000000..84974c9537cb --- /dev/null +++ b/CMGTools/TTHAnalysis/macros/prepareEventVariablesFriendTree_QCD.py @@ -0,0 +1,253 @@ +#!/usr/bin/env python +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from glob import glob +import os.path, re + +MODULES = [] + +from CMGTools.TTHAnalysis.tools.eventVars_1l_forBkg import EventVars1L_base +MODULES.append( ('1l_Basics', EventVars1L_base()) ) + +''' +from CMGTools.TTHAnalysis.tools.eventVars_1l_base import EventVars1L_base +MODULES.append( ('1l_Basics', EventVars1L_base()) ) +from CMGTools.TTHAnalysis.tools.eventVars_1l_qcd import EventVars1L_QCD +MODULES.append( ('1l_TopVars', EventVars1L_QCD()) ) +from CMGTools.TTHAnalysis.tools.eventVars_1l_top import EventVars1L_Top +MODULES.append( ('1l_TopVars', EventVars1L_Top()) ) +from CMGTools.TTHAnalysis.tools.eventVars_1l_extra import EventVars1L_extra +MODULES.append( ('1l_Extra', EventVars1L_extra()) ) +from CMGTools.TTHAnalysis.tools.eventVars_1l_genLevel import EventVars1LGenLevel +MODULES.append( ('1l_BasicsGen', EventVars1LGenLevel()) ) +from CMGTools.TTHAnalysis.tools.resolvedTopTagVars_1l import resolvedTopTagVars1l +MODULES.append( ('1l_resolvedTopTagVars', resolvedTopTagVars1l()) ) + + +# old module flow +from CMGTools.TTHAnalysis.tools.eventVars_1l import EventVars1L +MODULES.append( ('1l_Basics', EventVars1L()) ) +from CMGTools.TTHAnalysis.tools.eventVars_1l_genLevel import EventVars1LGenLevel +MODULES.append( ('1l_BasicsGen', EventVars1LGenLevel()) ) +from CMGTools.TTHAnalysis.tools.resolvedTopTagVars_1l import resolvedTopTagVars1l +MODULES.append( ('1l_resolvedTopTagVars', resolvedTopTagVars1l()) ) +''' + +class VariableProducer(Module): + def __init__(self,name,booker,modules): + Module.__init__(self,name,booker) + self._modules = modules + def beginJob(self): + self.t = PyTree(self.book("TTree","t","t")) + self.branches = {} + for name,mod in self._modules: + for B in mod.listBranches(): + # don't add the same branch twice + if B in self.branches: + print "Will not add branch %s twice" % (B,) + continue + self.branches[B] = True + if type(B) == tuple: + if len(B) == 2: + self.t.branch(B[0],B[1]) + elif len(B) == 4: + self.t.branch(B[0],B[1],n=B[2],lenVar=B[3]) + else: + self.t.branch(B ,"F") + def analyze(self,event): + keyvals = {} + for name,mod in self._modules: + #keyvals = mod(event) + keyvals.update(mod(event, keyvals)) + for B,V in keyvals.iteritems(): + setattr(self.t, B, V) + setattr(event, B, V) + self.t.fill() + +import os, itertools + +from optparse import OptionParser +parser = OptionParser(usage="%prog [options] ") +parser.add_option("-m", "--modules", dest="modules", type="string", default=[], action="append", help="Run these modules"); +parser.add_option("-d", "--dataset", dest="datasets", type="string", default=[], action="append", help="Process only this dataset (or dataset if specified multiple times)"); +parser.add_option("-D", "--dm", "--dataset-match", dest="datasetMatches", type="string", default=[], action="append", help="Process only this dataset (or dataset if specified multiple times): REGEXP"); +parser.add_option("-c", "--chunk", dest="chunks", type="int", default=[], action="append", help="Process only these chunks (works only if a single dataset is selected with -d)"); +parser.add_option("-N", "--events", dest="chunkSize", type="int", default=500000, help="Default chunk size when splitting trees"); +parser.add_option("-j", "--jobs", dest="jobs", type="int", default=1, help="Use N threads"); +parser.add_option("-p", "--pretend", dest="pretend", action="store_true", default=False, help="Don't run anything"); +parser.add_option("-T", "--tree-dir", dest="treeDir", type="string", default="sf", help="Directory of the friend tree in the file (default: 'sf')"); +parser.add_option("-q", "--queue", dest="queue", type="string", default=False, help="Run jobs on lxbatch instead of locally"); +parser.add_option("-b", "--naf", dest="naf", action="store_true", default=None, help="Run jobs on nafbatch instead of locally"); +parser.add_option("-t", "--tree", dest="tree", default='ttHLepTreeProducerTTH', help="Pattern for tree name"); +parser.add_option("-V", "--vector", dest="vectorTree", action="store_true", default=True, help="Input tree is a vector"); +parser.add_option("-F", "--add-friend", dest="friendTrees", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename). Can use {name}, {cname} patterns in the treename") +parser.add_option("--FMC", "--add-friend-mc", dest="friendTreesMC", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename) to MC only. Can use {name}, {cname} patterns in the treename") +parser.add_option("--FD", "--add-friend-data", dest="friendTreesData", action="append", default=[], nargs=2, help="Add a friend tree (treename, filename) to data trees only. Can use {name}, {cname} patterns in the treename") +parser.add_option("-L", "--list-modules", dest="listModules", action="store_true", default=False, help="just list the configured modules"); +parser.add_option("-n", "--new", dest="newOnly", action="store_true", default=False, help="Make only missing trees"); +(options, args) = parser.parse_args() + +if options.listModules: + print "List of modules" + for (n,x) in MODULES: + print " '%s': %s" % (n,x) + exit() + +if len(args) != 2 or not os.path.isdir(args[0]) or not os.path.isdir(args[1]): + print "Usage: program " + exit() +if len(options.chunks) != 0 and len(options.datasets) != 1: + print "must specify a single dataset with -d if using -c to select chunks" + exit() + +jobs = [] + +for D in glob(args[0]+"/*"): + treename = options.tree + fname = "%s/%s/%s_tree.root" % (D,options.tree,options.tree) + if (not os.path.exists(fname)) and os.path.exists("%s/%s/tree.root" % (D,options.tree)): + treename = "tree" + fname = "%s/%s/tree.root" % (D,options.tree) + if os.path.exists(fname): + short = os.path.basename(D) + if options.datasets != []: + if short not in options.datasets: continue + if options.datasetMatches != []: + found = False + for dm in options.datasetMatches: + if re.match(dm,short): found = True + if not found: continue + data = ("DoubleMu" in short or "MuEG" in short or "DoubleElectron" in short or "SingleMu" in short) + f = ROOT.TFile.Open(fname); + t = f.Get(treename) + entries = t.GetEntries() + f.Close() + if options.newOnly: + fout = "%s/evVarFriend_%s.root" % (args[1],short) + if os.path.exists(fout): + #f = ROOT.TFile.Open(fname); + #t = f.Get(treename) + f = ROOT.TFile.Open(fout); + t = f.Get(options.treeDir+'/t') + if t.GetEntries() != entries: + print "Component %s has to be remade, mismatching number of entries (%d vs %d)" % (short, entries, t.GetEntries()) + f.Close() + else: + print "Component %s exists already and has matching number of entries (%d)" % (short, entries) + continue + chunk = options.chunkSize + if entries < chunk: + print " ",os.path.basename(D),(" DATA" if data else " MC")," single chunk" + jobs.append((short,fname,"%s/evVarFriend_%s.root" % (args[1],short),data,xrange(entries),-1)) + else: + nchunk = int(ceil(entries/float(chunk))) + print " ",os.path.basename(D),(" DATA" if data else " MC")," %d chunks" % nchunk + for i in xrange(nchunk): + if options.chunks != []: + if i not in options.chunks: continue + r = xrange(int(i*chunk),min(int((i+1)*chunk),entries)) + jobs.append((short,fname,"%s/evVarFriend_%s.chunk%05d.root" % (args[1],short,i),data,r,i)) +print "\n" +print "I have %d tasks to process" % len(jobs) + +if options.queue: + import os, sys + basecmd = "bsub -q {queue} {dir}/lxbatch_runner.sh {dir} {cmssw} python {self} -N {chunkSize} -T '{tdir}' -t {tree} {data} {output}".format( + queue = options.queue, dir = os.getcwd(), cmssw = os.environ['CMSSW_BASE'], + self=sys.argv[0], chunkSize=options.chunkSize, tdir=options.treeDir, tree=options.tree, data=args[0], output=args[1] + ) + if options.vectorTree: basecmd += " --vector " + friendPost = "".join([" -F %s %s " % (fn,ft) for fn,ft in options.friendTrees]) + friendPost += "".join([" --FM %s %s " % (fn,ft) for fn,ft in options.friendTreesMC]) + friendPost += "".join([" --FD %s %s " % (fn,ft) for fn,ft in options.friendTreesData]) + friendPost += "".join([" -m '%s' " % m for m in options.modules]) + for (name,fin,fout,data,range,chunk) in jobs: + if chunk != -1: + print "{base} -d {data} -c {chunk} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost) + else: + print "{base} -d {data} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost) + + exit() + +if options.naf: + import os, sys + import subprocess + + jobList = open('jobList.txt','w') + + basecmd = "python {self} -N {chunkSize} -T '{tdir}' -t {tree} {data} {output}".format( + njobs=1, self=sys.argv[0], chunkSize=options.chunkSize, tdir=options.treeDir, tree=options.tree, data=args[0], output=args[1] + ) + if options.vectorTree: basecmd += " --vector " + friendPost = "".join([" -F %s %s " % (fn,ft) for fn,ft in options.friendTrees]) + friendPost += "".join([" --FM %s %s " % (fn,ft) for fn,ft in options.friendTreesMC]) + friendPost += "".join([" --FD %s %s " % (fn,ft) for fn,ft in options.friendTreesData]) + friendPost += "".join([" -m '%s' " % m for m in options.modules]) + + for (name,fin,fout,data,range,chunk) in jobs: + if chunk != -1: + #print "{base} -d {data} -c {chunk} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost) + jobList.write("{base} -d {data} -c {chunk} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost)+'\n') + else: + #print "{base} -d {data} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost) + jobList.write("{base} -d {data} {post}".format(base=basecmd, data=name, chunk=chunk, post=friendPost)+'\n') + + # submit job array on list + subCmd = 'qsub -t 1-%s -o logs nafbatch_runner.sh jobList.txt' %len(jobs) + print 'Going to submit', len(jobs), 'jobs with', subCmd + args=subCmd.split() + + subprocess.Popen(args) + + jobList.close() + exit() + + +maintimer = ROOT.TStopwatch() +def _runIt(myargs): + (name,fin,fout,data,range,chunk) = myargs + timer = ROOT.TStopwatch() + fb = ROOT.TFile(fin) + tb = fb.Get(options.tree) + if not tb: tb = fb.Get("tree") # new trees + if options.vectorTree: + tb.vectorTree = True + else: + tb.vectorTree = False + friends = options.friendTrees[:] + friends += (options.friendTreesData if data else options.friendTreesMC) + friends_ = [] # to make sure pyroot does not delete them + for tf_tree,tf_file in friends: + tf = tb.AddFriend(tf_tree, tf_file.format(name=name, cname=name)), + friends_.append(tf) # to make sure pyroot does not delete them + nev = tb.GetEntries() + if options.pretend: + print "==== pretending to run %s (%d entries, %s) ====" % (name, nev, fout) + return (name,(nev,0)) + print "==== %s starting (%d entries) ====" % (name, nev) + booker = Booker(fout) + modulesToRun = MODULES + if options.modules != []: + toRun = {} + for m,v in MODULES: + for pat in options.modules: + if re.match(pat,m): + toRun[m] = True + modulesToRun = [ (m,v) for (m,v) in MODULES if m in toRun ] + el = EventLoop([ VariableProducer(options.treeDir,booker,modulesToRun), ]) + el.loop([tb], eventRange=range) + booker.done() + fb.Close() + time = timer.RealTime() + print "=== %s done (%d entries, %.0f s, %.0f e/s) ====" % ( name, nev, time,(nev/time) ) + return (name,(nev,time)) + +if options.jobs > 0: + from multiprocessing import Pool + pool = Pool(options.jobs) + ret = dict(pool.map(_runIt, jobs)) if options.jobs > 0 else dict([_runIt(j) for j in jobs]) +else: + ret = dict(map(_runIt, jobs)) +fulltime = maintimer.RealTime() +totev = sum([ev for (ev,time) in ret.itervalues()]) +tottime = sum([time for (ev,time) in ret.itervalues()]) +print "Done %d tasks in %.1f min (%d entries, %.1f min)" % (len(jobs),fulltime/60.,totev,tottime/60.) diff --git a/CMGTools/TTHAnalysis/python/analyzers/ntupleTypes.py b/CMGTools/TTHAnalysis/python/analyzers/ntupleTypes.py index 6d46c036ac8a..40f5c7351668 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ntupleTypes.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ntupleTypes.py @@ -2,8 +2,9 @@ from math import * from PhysicsTools.Heppy.analyzers.core.autovars import NTupleObjectType from PhysicsTools.Heppy.analyzers.objects.autophobj import * -from CMGTools.RootTools.utils.DeltaR import deltaR +from PhysicsTools.HeppyCore.utils.deltar import deltaR +from CMGTools.TTHAnalysis.signedSip import * ##------------------------------------------ ## LEPTON @@ -11,17 +12,23 @@ leptonTypeSusy = NTupleObjectType("leptonSusy", baseObjectTypes = [ leptonType ], variables = [ NTupleVariable("eleMVAId", lambda x : (x.electronID("POG_MVA_ID_NonTrig_full5x5") + 2*x.electronID("POG_MVA_ID_Trig_full5x5")) if abs(x.pdgId()) == 11 else -1, int, help="Electron mva id working point (2012, full5x5 shapes): 0=none, 1=non-trig, 2=trig, 3=both"), - NTupleVariable("mvaId", lambda lepton : lepton.mvaNonTrigV0(full5x5=True) if abs(lepton.pdgId()) == 11 else lepton.mvaId(), help="EGamma POG MVA ID for non-triggering electrons (as HZZ); MVA Id for muons (BPH+Calo+Trk variables)"), + NTupleVariable("mvaId", lambda lepton : lepton.mvaNonTrigV0(full5x5=True) if abs(lepton.pdgId()) == 11 else 1, help="EGamma POG MVA ID for non-triggering electrons (as HZZ); 1 for muons"), NTupleVariable("mvaIdTrig", lambda lepton : lepton.mvaTrigV0(full5x5=True) if abs(lepton.pdgId()) == 11 else 1, help="EGamma POG MVA ID for triggering electrons; 1 for muons"), - # Lepton MVA-id related variables + NTupleVariable("mvaIdPhys14", lambda lepton : lepton.mvaRun2("NonTrigPhys14") if abs(lepton.pdgId()) == 11 else 1, help="EGamma POG MVA ID for non-triggering electrons, Phys14 re-training; 1 for muons"), + # Lepton MVA-id related variables + NTupleVariable("mvaTTH", lambda lepton : getattr(lepton, 'mvaValueTTH', -1), help="Lepton MVA (TTH version)"), NTupleVariable("mvaSusy", lambda lepton : getattr(lepton, 'mvaValueSusy', -1), help="Lepton MVA (SUSY version)"), NTupleVariable("jetPtRatio", lambda lepton : lepton.pt()/lepton.jet.pt() if hasattr(lepton,'jet') else -1, help="pt(lepton)/pt(nearest jet)"), + NTupleVariable("jetPtRel", lambda lepton : ptRelv1(lepton.p4(),lepton.jet.p4()) if hasattr(lepton,'jet') else -1, help="pt of the lepton transverse to the jet axis (subtracting the lepton)"), NTupleVariable("jetBTagCSV", lambda lepton : lepton.jet.btag('combinedInclusiveSecondaryVertexV2BJetTags') if hasattr(lepton,'jet') and hasattr(lepton.jet, 'btag') else -99, help="CSV btag of nearest jet"), NTupleVariable("jetBTagCMVA", lambda lepton : lepton.jet.btag('combinedMVABJetTags') if hasattr(lepton,'jet') and hasattr(lepton.jet, 'btag') else -99, help="CMA btag of nearest jet"), NTupleVariable("jetDR", lambda lepton : deltaR(lepton.eta(),lepton.phi(),lepton.jet.eta(),lepton.jet.phi()) if hasattr(lepton,'jet') else -1, help="deltaR(lepton, nearest jet)"), ]) + leptonTypeSusyExtra = NTupleObjectType("leptonSusyExtra", baseObjectTypes = [ leptonTypeSusy, leptonTypeExtra ], variables = [ + NTupleVariable("miniRelIsoCharged", lambda x : getattr(x,'miniAbsIsoCharged',-99)/x.pt()), + NTupleVariable("miniRelIsoNeutral", lambda x : getattr(x,'miniAbsIsoNeutral',-99)/x.pt()), # IVF variables NTupleVariable("hasSV", lambda x : (2 if getattr(x,'ivfAssoc','') == "byref" else (0 if getattr(x,'ivf',None) == None else 1)), int, help="2 if lepton track is from a SV, 1 if loosely matched, 0 if no SV found."), NTupleVariable("svRedPt", lambda x : getattr(x, 'ivfRedPt', 0), help="pT of associated SV, removing the lepton track"), @@ -35,7 +42,29 @@ NTupleVariable("svPt", lambda x : x.ivf.pt() if getattr(x,'ivf',None) != None else -99, help="pt of associated SV"), NTupleVariable("svMCMatchFraction", lambda x : x.ivf.mcMatchFraction if getattr(x,'ivf',None) != None else -99, mcOnly=True, help="Fraction of mc-matched tracks from b/c matched to a single hadron (if >= 2 tracks found), for associated SV"), NTupleVariable("svMva", lambda x : x.ivf.mva if getattr(x,'ivf',None) != None else -99, help="mva value of associated SV"), - # MVA muon ID variables + # Additional jet-lepton related variables + NTupleVariable("jetNDau", lambda lepton : lepton.jet.numberOfDaughters() if hasattr(lepton,'jet') and lepton.jet != lepton else -1, help="n daughters of nearest jet"), + NTupleVariable("jetNDauCharged", lambda lepton : sum(x.charge()!=0 for x in lepton.jet.daughterPtrVector()) if hasattr(lepton,'jet') and lepton.jet != lepton else -1, help="n charged daughters of nearest jet"), + NTupleVariable("jetNDauPV", lambda lepton : sum(x.charge()!=0 and x.fromPV()==3 for x in lepton.jet.daughterPtrVector()) if hasattr(lepton,'jet') and lepton.jet != lepton else -1, help="n charged daughters from PV of nearest jet"), + NTupleVariable("jetNDauNotPV", lambda lepton : sum(x.charge()!=0 and x.fromPV()<=2 for x in lepton.jet.daughterPtrVector()) if hasattr(lepton,'jet') and lepton.jet != lepton else -1, help="n charged daughters from PV of nearest jet"), + NTupleVariable("jetmaxSignedSip3D", lambda lepton : maxSignedSip3Djettracks(lepton), help="max signed Sip3D among jet's tracks"), + NTupleVariable("jetmaxSip3D", lambda lepton : maxSip3Djettracks(lepton), help="max Sip3D among jet's tracks"), + NTupleVariable("jetmaxSignedSip2D", lambda lepton : maxSignedSip2Djettracks(lepton) , help="max signed Sip2D among jet's tracks"), + NTupleVariable("jetmaxSip2D", lambda lepton : maxSip2Djettracks(lepton), help="max Sip2D among jet's tracks"), + NTupleVariable("jetPtRelv0", lambda lepton : ptRel(lepton.p4(),lepton.jet.p4()) if hasattr(lepton,'jet') else -1, help="pt of the lepton transverse to the jet axis (not subtracting the lepton)"), + NTupleVariable("jetMass", lambda lepton : lepton.jet.mass() if hasattr(lepton,'jet') else -1, help="Mass of associated jet"), + NTupleVariable("jetPrunedMass", lambda lepton : getattr(lepton.jet, 'prunedP4', lepton.jet.p4()).M() if hasattr(lepton,'jet') else -1, help="Pruned mass of associated jet"), + NTupleVariable("jetDecDR", lambda lepton : lepton.jetDecDR if hasattr(lepton,'jetDecDR') else -1, help="deltaR(lepton, nearest jet) after declustering"), + NTupleVariable("jetDecPtRel", lambda lepton : lepton.jetDecPtRel if hasattr(lepton,'jetDecPtRel') else -1, help="pt of the lepton transverse to the jet axis (subtracting the lepton), after declustering"), + NTupleVariable("jetDecPtRatio", lambda lepton : lepton.jetDecPtRatio if hasattr(lepton,'jetDecPtRatio') else -1, help="pt(lepton)/pt(nearest jet) after declustering"), + NTupleVariable("jetDecPrunedMass", lambda lepton : lepton.jetDecPrunedMass if hasattr(lepton,'jetDecPrunedMass') else -1, help="pt(lepton)/pt(nearest jet) after declustering and pruning"), + NTupleVariable("jetDecPrunedPtRatio", lambda lepton : lepton.jetDecPrunedPtRatio if hasattr(lepton,'jetDecPrunedPtRatio') else -1, help="pt(lepton)/pt(nearest jet) after declustering and pruning"), + NTupleVariable("jetDec02DR", lambda lepton : lepton.jetDec02DR if hasattr(lepton,'jetDec02DR') else -1, help="deltaR(lepton, nearest jet) after declustering 02"), + NTupleVariable("jetDec02PtRel", lambda lepton : lepton.jetDec02PtRel if hasattr(lepton,'jetDec02PtRel') else -1, help="pt of the lepton transverse to the jet axis (subtracting the lepton), after declustering 02"), + NTupleVariable("jetDec02PtRatio", lambda lepton : lepton.jetDec02PtRatio if hasattr(lepton,'jetDec02PtRatio') else -1, help="pt(lepton)/pt(nearest jet) after declustering 02"), + NTupleVariable("jetDec02PrunedPtRatio", lambda lepton : lepton.jetDec02PrunedPtRatio if hasattr(lepton,'jetDec02PrunedPtRatio') else -1, help="pt(lepton)/pt(nearest jet) after declustering 02 and pruning"), + NTupleVariable("jetDec02PrunedMass", lambda lepton : lepton.jetDec02PrunedMass if hasattr(lepton,'jetDec02PrunedMass') else -1, help="pt(lepton)/pt(nearest jet) after declustering 02 and pruning"), + ]) @@ -59,6 +88,11 @@ ##------------------------------------------ photonTypeSusy = NTupleObjectType("gammaSusy", baseObjectTypes = [ photonType ], variables = [ + NTupleVariable("genIso04", lambda x : getattr(x, 'genIso04', -1.0), float, mcOnly=True, help="sum pt of all status 1 particles within DeltaR = 0.4 of the photon"), + NTupleVariable("genIso03", lambda x : getattr(x, 'genIso03', -1.0), float, mcOnly=True, help="sum pt of all status 1 particles within DeltaR = 0.3 of the photon"), + NTupleVariable("chHadIsoRC04", lambda x : getattr(x, 'chHadIsoRC04', -1.0), float, mcOnly=False, help="charged iso 0.4 in a random cone 90 degrees in phi from photon"), + NTupleVariable("chHadIsoRC", lambda x : getattr(x, 'chHadIsoRC03', -1.0), float, mcOnly=False, help="charged iso 0.3 in a random cone 90 degrees in phi from photon"), + NTupleVariable("drMinParton", lambda x : getattr(x, 'drMinParton', -1.0), float, mcOnly=True, help="deltaR min between photon and parton"), ]) ##------------------------------------------ @@ -70,23 +104,29 @@ ]) jetTypeSusyExtra = NTupleObjectType("jetSusyExtra", baseObjectTypes = [ jetTypeSusy ], variables = [ + NTupleVariable("prunedMass", lambda x : x.prunedP4.M() if hasattr(x,'prunedP4') else x.mass(), float, help="Pruned mass"), + NTupleVariable("mcNumPartons", lambda x : getattr(x,'mcNumPartons',-1),int, mcOnly=True, help="Number of matched partons (quarks, photons)"), + NTupleVariable("mcNumLeptons", lambda x : getattr(x,'mcNumLeptons',-1),int, mcOnly=True, help="Number of matched leptons"), + NTupleVariable("mcNumTaus", lambda x : getattr(x,'mcNumTaus',-1),int, mcOnly=True, help="Number of matched taus"), + NTupleVariable("mcAnyPartonMass", lambda x : getattr(x,"mcAnyPartonMass",-1),float, mcOnly=True, help="Mass of associated partons, leptons, taus"), + NTupleVariable("nSubJets", lambda x : getattr(x, "nSubJets", 0), int, help="Number of subjets (kt, R=0.2)"), + NTupleVariable("nSubJets25", lambda x : getattr(x, "nSubJets25", 0), int, help="Number of subjets with pt > 25 (kt, R=0.2)"), + NTupleVariable("nSubJets30", lambda x : getattr(x, "nSubJets30", 0), int, help="Number of subjets with pt > 30 (kt, R=0.2)"), + NTupleVariable("nSubJets40", lambda x : getattr(x, "nSubJets40", 0), int, help="Number of subjets with pt > 40 (kt, R=0.2)"), + NTupleVariable("nSubJetsZ01", lambda x : getattr(x, "nSubJetsZ01", 0), int, help="Number of subjets with pt > 0.1 * pt(jet) (kt, R=0.2)"), + # --------------- NTupleVariable("chHEF", lambda x : x.chargedHadronEnergyFraction(), float, mcOnly = False, help="chargedHadronEnergyFraction (relative to uncorrected jet energy)"), NTupleVariable("neHEF", lambda x : x.neutralHadronEnergyFraction(), float, mcOnly = False,help="neutralHadronEnergyFraction (relative to uncorrected jet energy)"), - NTupleVariable("chEmEF", lambda x : x.chargedEmEnergyFraction(), float, mcOnly = False,help="chargedEmEnergyFraction (relative to uncorrected jet energy)"), - NTupleVariable("neEmEF", lambda x : x.neutralEmEnergyFraction(), float, mcOnly = False,help="neutralEmEnergyFraction (relative to uncorrected jet energy)"), NTupleVariable("phEF", lambda x : x.photonEnergyFraction(), float, mcOnly = False,help="photonEnergyFraction (relative to corrected jet energy)"), NTupleVariable("eEF", lambda x : x.electronEnergyFraction(), float, mcOnly = False,help="electronEnergyFraction (relative to corrected jet energy)"), NTupleVariable("muEF", lambda x : x.muonEnergyFraction(), float, mcOnly = False,help="muonEnergyFraction (relative to corrected jet energy)"), - NTupleVariable("chMuEF", lambda x : x.chargedMuEnergyFraction(), float, mcOnly = False,help="chargedMuEnergyFraction from PFJet.h"), NTupleVariable("HFHEF", lambda x : x.HFHadronEnergyFraction(), float, mcOnly = False,help="HFHadronEnergyFraction (relative to corrected jet energy)"), NTupleVariable("HFEMEF", lambda x : x.HFEMEnergyFraction(), float, mcOnly = False,help="HFEMEnergyFraction (relative to corrected jet energy)"), NTupleVariable("chHMult", lambda x : x.chargedHadronMultiplicity(), int, mcOnly = False,help="chargedHadronMultiplicity from PFJet.h"), NTupleVariable("neHMult", lambda x : x.neutralHadronMultiplicity(), int, mcOnly = False,help="neutralHadronMultiplicity from PFJet.h"), NTupleVariable("phMult", lambda x : x.photonMultiplicity(), int, mcOnly = False,help="photonMultiplicity from PFJet.h"), NTupleVariable("eMult", lambda x : x.electronMultiplicity(), int, mcOnly = False,help="electronMultiplicity from PFJet.h"), - NTupleVariable("neMult", lambda x : x.neutralMultiplicity(), int, mcOnly = False,help="neutralMultiplicity from PFJet.h"), NTupleVariable("muMult", lambda x : x.muonMultiplicity(), int, mcOnly = False,help="muonMultiplicity from PFJet.h"), - NTupleVariable("chMult", lambda x : x.chargedMultiplicity(), int, mcOnly = False,help="chargedMultiplicity from PFJet.h"), NTupleVariable("HFHMult", lambda x : x.HFHadronMultiplicity(), int, mcOnly = False,help="HFHadronMultiplicity from PFJet.h"), NTupleVariable("HFEMMult", lambda x : x.HFEMMultiplicity(), int, mcOnly = False,help="HFEMMultiplicity from PFJet.h"), ]) @@ -133,11 +173,11 @@ NTupleVariable("jetPt", lambda x : x.jet.pt() if x.jet != None else 0, help="pT of associated jet"), NTupleVariable("jetBTagCSV", lambda x : x.jet.btag('combinedInclusiveSecondaryVertexV2BJetTags') if x.jet != None else -99, help="CSV b-tag of associated jet"), NTupleVariable("jetBTagCMVA", lambda x : x.jet.btag('combinedMVABJetTags') if x.jet != None else -99, help="CMVA b-tag of associated jet"), - NTupleVariable("mcMatchNTracks", lambda x : x.mcMatchNTracks, int, mcOnly=True, help="Number of mc-matched tracks in SV"), - NTupleVariable("mcMatchNTracksHF", lambda x : x.mcMatchNTracksHF, int, mcOnly=True, help="Number of mc-matched tracks from b/c in SV"), - NTupleVariable("mcMatchFraction", lambda x : x.mcMatchFraction, mcOnly=True, help="Fraction of mc-matched tracks from b/c matched to a single hadron (or -1 if mcMatchNTracksHF < 2)"), - NTupleVariable("mcFlavFirst", lambda x : x.mcFlavFirst, int, mcOnly=True, help="Flavour of last ancestor with maximum number of matched daughters"), - NTupleVariable("mcFlavHeaviest", lambda x : x.mcFlavHeaviest, int, mcOnly=True, help="Flavour of heaviest hadron with maximum number of matched daughters"), + NTupleVariable("mcMatchNTracks", lambda x : getattr(x, 'mcMatchNTracks', -1), int, mcOnly=True, help="Number of mc-matched tracks in SV"), + NTupleVariable("mcMatchNTracksHF", lambda x : getattr(x, 'mcMatchNTracksHF', -1), int, mcOnly=True, help="Number of mc-matched tracks from b/c in SV"), + NTupleVariable("mcMatchFraction", lambda x : getattr(x, 'mcMatchFraction', -1), mcOnly=True, help="Fraction of mc-matched tracks from b/c matched to a single hadron (or -1 if mcMatchNTracksHF < 2)"), + NTupleVariable("mcFlavFirst", lambda x : getattr(x,'mcFlavFirst', -1), int, mcOnly=True, help="Flavour of last ancestor with maximum number of matched daughters"), + NTupleVariable("mcFlavHeaviest", lambda x : getattr(x,'mcFlavHeaviest', -1), int, mcOnly=True, help="Flavour of heaviest hadron with maximum number of matched daughters"), NTupleVariable("maxDxyTracks", lambda x : x.maxDxyTracks, help="highest |dxy| of vertex tracks"), NTupleVariable("secDxyTracks", lambda x : x.secDxyTracks, help="second highest |dxy| of vertex tracks"), NTupleVariable("maxD3dTracks", lambda x : x.maxD3dTracks, help="highest |ip3D| of vertex tracks"), @@ -168,4 +208,12 @@ ]) - +def ptRel(p4,axis): + a = ROOT.TVector3(axis.Vect().X(),axis.Vect().Y(),axis.Vect().Z()) + o = ROOT.TLorentzVector(p4.Px(),p4.Py(),p4.Pz(),p4.E()) + return o.Perp(a) +def ptRelv1(p4,axis): + axis = axis - p4 + a = ROOT.TVector3(axis.Vect().X(),axis.Vect().Y(),axis.Vect().Z()) + o = ROOT.TLorentzVector(p4.Px(),p4.Py(),p4.Pz(),p4.E()) + return o.Perp(a) diff --git a/CMGTools/TTHAnalysis/python/analyzers/susyCore_modules_cff.py b/CMGTools/TTHAnalysis/python/analyzers/susyCore_modules_cff.py index 09520edda188..c50dd295a1a2 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/susyCore_modules_cff.py +++ b/CMGTools/TTHAnalysis/python/analyzers/susyCore_modules_cff.py @@ -9,6 +9,11 @@ from PhysicsTools.Heppy.analyzers.gen.all import * import os +from CMGTools.TTHAnalysis.analyzers.ttHhistoCounterAnalyzer import ttHhistoCounterAnalyzer +susyCounter = cfg.Analyzer( + ttHhistoCounterAnalyzer, name="ttHhistoCounterAnalyzer", + ) + PDFWeights = [] #PDFWeights = [ ("CT10",53), ("MSTW2008lo68cl",41), ("NNPDF21_100",101) ] @@ -60,6 +65,7 @@ "trkPOG_manystripclus53X" : [ "Flag_trkPOG_manystripclus53X" ], "trkPOG_toomanystripclus53X" : [ "Flag_trkPOG_toomanystripclus53X" ], "trkPOG_logErrorTooManyClusters" : [ "Flag_trkPOG_logErrorTooManyClusters" ], + "METFilters" : [ "Flag_METFilters" ], } ) @@ -84,16 +90,18 @@ genAna = cfg.Analyzer( GeneratorAnalyzer, name="GeneratorAnalyzer", # BSM particles that can appear with status <= 2 and should be kept - stableBSMParticleIds = { 1000022 }, + stableBSMParticleIds = [ 1000022 ], # Particles of which we want to save the pre-FSR momentum (a la status 3). # Note that for quarks and gluons the post-FSR doesn't make sense, # so those should always be in the list - savePreFSRParticleIds = { 1,2,3,4,5, 11,12,13,14,15,16, 21 }, + savePreFSRParticleIds = [ 1,2,3,4,5, 11,12,13,14,15,16, 21 ], # Make also the list of all genParticles, for other analyzers to handle makeAllGenParticles = True, # Make also the splitted lists makeSplittedGenLists = True, allGenTaus = False, + # Save LHE weights from LHEEventProduct + makeLHEweights = True, # Print out debug information verbose = False, ) @@ -116,6 +124,7 @@ from CMGTools.TTHAnalysis.analyzers.susyParameterScanAnalyzer import susyParameterScanAnalyzer susyScanAna = cfg.Analyzer( susyParameterScanAnalyzer, name="susyParameterScanAnalyzer", + doLHE=True, ) # Lepton Analyzer (generic) @@ -137,6 +146,7 @@ inclusive_muon_eta = 2.4, inclusive_muon_dxy = 0.5, inclusive_muon_dz = 1.0, + muon_dxydz_track = "innerTrack", # loose muon selection loose_muon_id = "POG_ID_Loose", loose_muon_pt = 5, @@ -154,7 +164,7 @@ # loose electron selection loose_electron_id = "POG_Cuts_ID_2012_Veto_full5x5", loose_electron_pt = 7, - loose_electron_eta = 2.4, + loose_electron_eta = 2.5, loose_electron_dxy = 0.05, loose_electron_dz = 0.1, loose_electron_relIso = 0.5, @@ -166,8 +176,13 @@ ele_isoCorr = "rhoArea" , el_effectiveAreas = "Phys14_25ns_v1" , #(can be 'Data2012' or 'Phys14_25ns_v1') ele_tightId = "Cuts_2012" , + # Mini-isolation, with pT dependent cone: will fill in the miniRelIso, miniRelIsoCharged, miniRelIsoNeutral variables of the leptons (see https://indico.cern.ch/event/368826/ ) + doMiniIsolation = False, # off by default since it requires access to all PFCandidates + packedCandidates = 'packedPFCandidates', + miniIsolationPUCorr = 'rhoArea', # Allowed options: 'rhoArea' (EAs for 03 cone scaled by R^2), 'deltaBeta', 'raw' (uncorrected), 'weights' (delta beta weights; not validated) + miniIsolationVetoLeptons = None, # use 'inclusive' to veto inclusive leptons and their footprint in all isolation cones # minimum deltaR between a loose electron and a loose muon (on overlaps, discard the electron) - min_dr_electron_muon = 0.02, + min_dr_electron_muon = 0.05, # do MC matching do_mc_match = True, # note: it will in any case try it only on MC, not on data match_inclusiveLeptons = False, # match to all inclusive leptons @@ -191,6 +206,7 @@ etaMax = 2.5, gammaID = "PhotonCutBasedIDLoose_CSA14", do_mc_match = True, + do_randomCone = False, ) @@ -199,12 +215,15 @@ TauAnalyzer, name="tauAnalyzer", ptMin = 20, etaMax = 9999, - dxyMax = 0.5, - dzMax = 1.0, + dxyMax = 1000., + dzMax = 0.2, vetoLeptons = True, leptonVetoDR = 0.4, - vetoLeptonsPOG = False, + decayModeID = "decayModeFindingNewDMs", # ignored if not set or "" tauID = "byLooseCombinedIsolationDeltaBetaCorr3Hits", + vetoLeptonsPOG = False, # If True, the following two IDs are required + tauAntiMuonID = "againstMuonLoose3", + tauAntiElectronID = "againstElectronLooseMVA5", tauLooseID = "decayModeFinding", ) @@ -240,22 +259,31 @@ jetAna = cfg.Analyzer( JetAnalyzer, name='jetAnalyzer', jetCol = 'slimmedJets', + copyJetsByValue = False, #Whether or not to copy the input jets or to work with references (should be 'True' if JetAnalyzer is run more than once) + genJetCol = 'slimmedGenJets', + rho = ('fixedGridRhoFastjetAll','',''), jetPt = 25., jetEta = 4.7, jetEtaCentral = 2.4, jetLepDR = 0.4, + jetLepArbitration = (lambda jet,lepton : lepton), # you can decide which to keep in case of overlaps; e.g. if the jet is b-tagged you might want to keep the jet + cleanSelectedLeptons = True, #Whether to clean 'selectedLeptons' after disambiguation. Treat with care (= 'False') if running Jetanalyzer more than once minLepPt = 10, relaxJetId = False, doPuId = False, # Not commissioned in 7.0.X recalibrateJets = "MC", # True, False, 'MC', 'Data' - mGT = "PHYS14_25_V2", + recalibrationType = "AK4PFchs", + mcGT = "PHYS14_25_V2", jecPath = "%s/src/CMGTools/RootTools/data/jec/" % os.environ['CMSSW_BASE'], shiftJEC = 0, # set to +1 or -1 to get +/-1 sigma shifts - smearJets = True, + smearJets = False, shiftJER = 0, # set to +1 or -1 to get +/-1 sigma shifts + alwaysCleanPhotons = False, + cleanJetsFromFirstPhoton = False, cleanJetsFromTaus = False, cleanJetsFromIsoTracks = False, doQG = False, + cleanGenJetsFromPhoton = False ) ## Fat Jets Analyzer (generic) @@ -265,6 +293,7 @@ jetCol = 'slimmedJetsAK8', jetPt = 100., jetEta = 2.4, + jetLepDR = 0.4, # v--- not implemented for AK8 #jetLepDR = 0.4, #minLepPt = 10, @@ -280,6 +309,7 @@ from CMGTools.TTHAnalysis.analyzers.ttHSVAnalyzer import ttHSVAnalyzer ttHSVAna = cfg.Analyzer( ttHSVAnalyzer, name="ttHSVAnalyzer", + do_mc_match = True, ) # Secondary vertex analyzer @@ -292,11 +322,20 @@ metAna = cfg.Analyzer( METAnalyzer, name="metAnalyzer", + metCollection = "slimmedMETs", + noPUMetCollection = "slimmedMETs", + copyMETsByValue = False, doTkMet = False, + doMetNoPU = True, doMetNoMu = False, + doMetNoEle = False, + doMetNoPhoton = False, + recalibrate = False, + jetAnalyzerCalibrationPostFix = "", candidates='packedPFCandidates', candidatesTypes='std::vector', dzMax = 0.1, + collectionPostFix = "", ) # Core Event Analyzer (computes basic quantities like HT, dilepton masses) @@ -304,26 +343,29 @@ ttHCoreEventAna = cfg.Analyzer( ttHCoreEventAnalyzer, name='ttHCoreEventAnalyzer', maxLeps = 4, ## leptons to consider + mhtForBiasedDPhi = "mhtJet40jvec", + jetForBiasedDPhi = "cleanJets" ) -## Jet-MET based Skim (generic, but requirements depend on the final state) -#ttHJetMETSkim = cfg.Analyzer( -# 'ttHJetMETSkimmer', -# jets = "cleanJets", # jet collection to use -# jetPtCuts = [], # e.g. [60,40,30,20] to require at least four jets with pt > 60,40,30,20 -# jetVetoPt = 0, # if non-zero, veto additional jets with pt > veto beyond the ones in jetPtCuts -# metCut = 0, # MET cut -# htCut = ('htJet40j', 0), # cut on HT defined with only jets and pt cut 40, at zero; i.e. no cut -# # see ttHCoreEventAnalyzer for alternative definitions -# mhtCut = ('mhtJet40', 0), # cut on MHT defined with all leptons, and jets with pt > 40. -# nBJet = ('CSVv2IVFM', 0, "jet.pt() > 30"), # require at least 0 jets passing CSV medium and pt > 30 -# ) +# Jet-MET based Skim (generic, but requirements depend on the final state) +from CMGTools.TTHAnalysis.analyzers.ttHJetMETSkimmer import ttHJetMETSkimmer +ttHJetMETSkim = cfg.Analyzer( + ttHJetMETSkimmer, name='ttHJetMETSkimmer', + jets = "cleanJets", # jet collection to use + jetPtCuts = [], # e.g. [60,40,30,20] to require at least four jets with pt > 60,40,30,20 + jetVetoPt = 0, # if non-zero, veto additional jets with pt > veto beyond the ones in jetPtCuts + metCut = 0, # MET cut + htCut = ('htJet40j', 0), # cut on HT defined with only jets and pt cut 40, at zero; i.e. no cut + # see ttHCoreEventAnalyzer for alternative definitions + mhtCut = ('mhtJet40', 0), # cut on MHT defined with all leptons, and jets with pt > 40. + nBJet = ('CSVv2IVFM', 0, "jet.pt() > 30"), # require at least 0 jets passing CSV medium and pt > 30 + ) # Core sequence of all common modules susyCoreSequence = [ skimAnalyzer, - #eventSelector, + #eventSelector, jsonAna, triggerAna, pileUpAna, @@ -344,7 +386,7 @@ #ttHSVAna, # out of core sequence for now metAna, ttHCoreEventAna, - #ttHJetMETSkim + #ttHJetMETSkim, triggerFlagsAna, eventFlagsAna, ] diff --git a/CMGTools/TTHAnalysis/python/analyzers/susyParameterScanAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/susyParameterScanAnalyzer.py index 30ceebb0e9b1..01b7f412e3d8 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/susyParameterScanAnalyzer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/susyParameterScanAnalyzer.py @@ -33,7 +33,8 @@ def declareHandles(self): #mc information self.mchandles['genParticles'] = AutoHandle( 'prunedGenParticles', 'std::vector' ) - self.mchandles['lhe'] = AutoHandle( 'source', 'LHEEventProduct', mayFail = True ) + if self.cfg_ana.doLHE: + self.mchandles['lhe'] = AutoHandle( 'source', 'LHEEventProduct', mayFail = True, lazy = False ) def beginLoop(self, setup): super(susyParameterScanAnalyzer,self).beginLoop(setup) @@ -96,6 +97,7 @@ def process(self, event): event.genSusyMScan4 = 0.0 # do MC level analysis - self.readLHE(event) + if self.cfg_ana.doLHE: + self.readLHE(event) self.findSusyMasses(event) return True diff --git a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyAlphaT.py b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyAlphaT.py index 2672823a775d..1237ca567152 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyAlphaT.py +++ b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyAlphaT.py @@ -1,88 +1,86 @@ from CMGTools.TTHAnalysis.analyzers.treeProducerSusyCore import * +from CMGTools.TTHAnalysis.analyzers.ntupleTypes import * + +susyAlphaT_globalVariables = susyCore_globalVariables + [ + #NTupleVariable("crossSection", lambda ev : ev.crossSection, help="process cross section in pb"), + + #Gen level + NTupleVariable("genBin", lambda ev : ev.genBin, help="Generator level binning quantity"), + NTupleVariable("genQScale", lambda ev : ev.genQScale, help="Generator level binning quantity, QScale"), + + # Energy sums + #---------------------------------------- + + NTupleVariable("ht40", lambda ev : ev.htJet40j, help="H_{T} computed from only jets (with |eta|<3, pt > 40 GeV)"), + NTupleVariable("ht50", lambda ev : ev.htJet50j, help="H_{T} computed from only jets (with |eta|<3, pt > 50 GeV)"), + NTupleVariable("deltaPhiMin", lambda ev : ev.deltaPhiMin_had, help="minimal deltaPhi between the MET and the four leading jets with pt>40 and eta<2.4"), + NTupleVariable("diffMetMht", lambda ev : ev.diffMetMht_had, help="abs( vec(mht) - vec(met) )"), + NTupleVariable("mht40_pt", lambda ev : ev.mhtJet40j, help="H_{T}^{miss} computed from only jets (with |eta|<3.0, pt > 40 GeV)"), + NTupleVariable("mht40_phi", lambda ev : ev.mhtPhiJet40j, help="H_{T}^{miss} #phi computed from onlyy jets (with |eta|<3.0, pt > 40 GeV)"), + NTupleVariable("mht50_pt", lambda ev : ev.mhtJet50j, help="H_{T}^{miss} computed from only jets (with |eta|<3.0, pt > 50 GeV)"), + NTupleVariable("mht50_phi", lambda ev : ev.mhtPhiJet50j, help="H_{T}^{miss} #phi computed from onlyy jets (with |eta|<3.0, pt > 50 GeV)"), + ##-------------------------------------------------- + NTupleVariable("biasedDPhi", lambda ev : ev.biasedDPhi, help="biased delta phi"), + + # Physics object multplicities + #---------------------------------------- + + NTupleVariable("nJet100", lambda ev: sum([j.pt() > 100 for j in ev.cleanJets]), int, help="Number of jets with pt > 100, |eta|<3.0"), + NTupleVariable("nJet100a", lambda ev: sum([j.pt() > 100 for j in ev.cleanJetsAll]), int, help="Number of jets with pt > 100, |eta|<5.0"), + NTupleVariable("nMuons10", lambda ev: sum([l.pt() > 10 and abs(l.pdgId()) == 13 for l in ev.selectedLeptons]), int, help="Number of muons with at least pt > 10"), + NTupleVariable("nElectrons10", lambda ev: sum([l.pt() > 10 and abs(l.pdgId()) == 11 for l in ev.selectedLeptons]), int, help="Number of electrons with at least pt > 10"), + NTupleVariable("nTaus20", lambda ev: sum([l.pt() > 20 for l in ev.selectedTaus]), int, help="Number of taus with pt > 20"), + NTupleVariable("nGammas25", lambda ev: sum([l.pt() > 25 for l in ev.selectedPhotons]), int, help="Number of photons with at least pt > 25"), + NTupleVariable("nBJet40", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV medium"), + NTupleVariable("nBJet50", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.cleanJets if j.pt() > 50]), int, help="Number of jets with pt > 50 passing CSV medium"), + + # AlphaT variables + #---------------------------------------- + + NTupleVariable("alphaT", lambda ev: ev.alphaT, help="AlphaT computed using jets with pt > 50, |eta|<3"), + + # NTupleVariable("mZ1", lambda ev: ev.bestZ1[0], help="Best m(ll) SF/OS"), + + # control sample variables + ##-------------------------------------------------- + NTupleVariable("mtw", lambda ev: ev.mtw, help="mt(l,met)"), + NTupleVariable("mtwTau", lambda ev: ev.mtwTau, help="mt(tau,met)"), + NTupleVariable("IsoTrack_mtw", lambda ev: ev.mtwIsoTrack, help="mt(isoTrack,met)"), + NTupleVariable("mll", lambda ev: ev.mll, help="Invariant mass of the two lead leptons"), + + ##-------------------------------------------------- +] + +susyAlphaT_globalObjects = susyCore_globalObjects.copy() +susyAlphaT_globalObjects.update({ + # put more here + # "pseudoJet1" : NTupleObject("pseudoJet1", fourVectorType, help="pseudoJet1 for hemishphere"), + # "pseudoJet2" : NTupleObject("pseudoJet2", fourVectorType, help="pseudoJet2 for hemishphere"), + # "biasedDPhiJet" : NTupleObject("biasedDPhiJet", fourVectorType, help="jet closest to missing energy vector"), + "metNoMu": NTupleObject("metNoMu",fourVectorType, help="met computed with muon momentum substracted"), + "metNoPhoton": NTupleObject("metNoPhoton",fourVectorType, help="met computed with photon momentum substracted"), +}) + +susyAlphaT_collections = susyCore_collections.copy() +susyAlphaT_collections.update({ + # put more here + #"selectedLeptons" : NTupleCollection("lep", leptonTypeSusy, 50, help="Leptons after the preselection", filter=lambda l : l.pt()>10 ), + "selectedTaus" : NTupleCollection("tau", tauTypeSusy, 50, help="Taus after the preselection"), + "cleanJetsAll" : NTupleCollection("jet", jetTypeSusy, 100, help="all jets (w/ x-cleaning, w/ ID applied w/o PUID applied pt > 40 |eta| < 5) , sorted by pt", filter=lambda l : l.pt()>40 ), + "selectedPhotons" : NTupleCollection("gamma", photonTypeSusy, 50, help="photons with pt > 25 and loose cut based ID"), + "selectedIsoTrack" : NTupleCollection("isoTrack", isoTrackType, 50, help="isoTrack, sorted by pt"), + + #Gen collections + "genParticles" : NTupleCollection("genPart", genParticleWithMotherId, 200, help="all pruned genparticles"), + "genJets" : NTupleCollection("genJet", genParticleType, 10, help="Generated jets (not cleaned)"), + + # add stuff for testing + "selectedMuons" : NTupleCollection("muon", leptonTypeSusy, 50, help="Muons selected by the analysis"), + "selectedElectrons" : NTupleCollection("ele", leptonTypeSusy, 50, help="Electrons selected by the analysis"), + + # dR jet lep for each lepton + # not putting in for now, maybe in future + #"minDeltaRLepJet" : NTupleCollection("minDeltaRLepJet", double, 50, help="Min deltaR between a lepton and all the jets"), +}) -class treeProducerSusyAlphaT( treeProducerSusyCore ): - - #----------------------------------- - # TREE PRODUCER FOR SUSY ALPHAT - #----------------------------------- - def __init__(self, cfg_ana, cfg_comp, looperName): - super(treeProducerSusyAlphaT,self).__init__(cfg_ana, cfg_comp, looperName) - - ## Declare what we want to fill (in addition to susy core ones) - self.globalVariables += [ - - - #NTupleVariable("crossSection", lambda ev : ev.crossSection, help="process cross section in pb"), - - #Gen level - NTupleVariable("genBin", lambda ev : ev.genBin, help="Generator level binning quantity"), - NTupleVariable("genQScale", lambda ev : ev.genQScale, help="Generator level binning quantity, QScale"), - - # Energy sums - #---------------------------------------- - - NTupleVariable("ht", lambda ev : ev.htJet50j, help="H_{T} computed from only jets (with |eta|<3, pt > 50 GeV)"), - NTupleVariable("deltaPhiMin", lambda ev : ev.deltaPhiMin_had, help="minimal deltaPhi between the MET and the four leading jets with pt>40 and eta<2.4"), - NTupleVariable("diffMetMht", lambda ev : ev.diffMetMht_had, help="abs( vec(mht) - vec(met) )"), - NTupleVariable("mht_pt", lambda ev : ev.mhtJet50j, help="H_{T}^{miss} computed from only jets (with |eta|<3.0, pt > 50 GeV)"), - NTupleVariable("mht_phi", lambda ev : ev.mhtPhiJet50j, help="H_{T}^{miss} #phi computed from onlyy jets (with |eta|<3.0, pt > 50 GeV)"), - ##-------------------------------------------------- - NTupleVariable("biasedDPhi", lambda ev : ev.biasedDPhi, help="biased delta phi"), - - # Physics object multplicities - #---------------------------------------- - NTupleVariable("nMuons10", lambda ev: sum([l.pt() > 10 and abs(l.pdgId()) == 13 for l in ev.selectedLeptons]), int, help="Number of muons with at least pt > 10"), - NTupleVariable("nElectrons10", lambda ev: sum([l.pt() > 10 and abs(l.pdgId()) == 11 for l in ev.selectedLeptons]), int, help="Number of electrons with at least pt > 10"), - NTupleVariable("nTaus20", lambda ev: sum([l.pt() > 20 for l in ev.selectedTaus]), int, help="Number of taus with pt > 20"), - NTupleVariable("nGammas25", lambda ev: sum([l.pt() > 25 for l in ev.selectedPhotons]), int, help="Number of photons with at least pt > 25"), - NTupleVariable("nBJet50", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.cleanJets if j.pt() > 50]), int, help="Number of jets with pt > 50 passing CSV medium"), - - # AlphaT variables - #---------------------------------------- - - NTupleVariable("alphaT", lambda ev: ev.alphaT, help="AlphaT computed using jets with pt > 50, |eta|<3"), - - # NTupleVariable("mZ1", lambda ev: ev.bestZ1[0], help="Best m(ll) SF/OS"), - - # control sample variables - ##-------------------------------------------------- - NTupleVariable("mtw", lambda ev: ev.mtw, help="mt(l,met)"), - NTupleVariable("mtwTau", lambda ev: ev.mtwTau, help="mt(tau,met)"), - NTupleVariable("IsoTrack_mtw", lambda ev: ev.mtwIsoTrack, help="mt(isoTrack,met)"), - NTupleVariable("mll", lambda ev: ev.mll, help="Invariant mass of the two lead leptons"), - - ##-------------------------------------------------- - ] - - self.globalObjects.update({ - # put more here - # "pseudoJet1" : NTupleObject("pseudoJet1", fourVectorType, help="pseudoJet1 for hemishphere"), - # "pseudoJet2" : NTupleObject("pseudoJet2", fourVectorType, help="pseudoJet2 for hemishphere"), - #"biasedDPhiJet" : NTupleObject("biasedDPhiJet", fourVectorType, help="jet closest to missing energy vector"), - "metNoMu": NTupleObject("metNoMu",fourVectorType, help="met computed with muom momentum substracted"), - }) - self.collections.update({ - # put more here - "selectedLeptons" : NTupleCollection("lep", leptonTypeSusy, 50, help="Leptons after the preselection", filter=lambda l : l.pt()>10 ), - "selectedTaus" : NTupleCollection("tau", tauTypeSusy, 50, help="Taus after the preselection"), - "cleanJetsAll" : NTupleCollection("jet", jetTypeSusy, 100, help="all jets (w/ x-cleaning, w/ ID applied w/o PUID applied pt > 50 |eta| < 3) , sorted by pt", filter=lambda l : l.pt()>50 ), - "selectedPhotons" : NTupleCollection("gamma", photonTypeSusy, 50, help="photons with pt > 25 and loose cut based ID"), - "selectedIsoTrack" : NTupleCollection("isoTrack", isoTrackType, 50, help="isoTrack, sorted by pt"), - - #Gen collections - "genParticles" : NTupleCollection("genPart", genParticleWithMotherId, 200, help="all pruned genparticles"), - "genJets" : NTupleCollection("genJet", genParticleType, 10, help="Generated jets (not cleaned)"), - - # add stuff for testing - "selectedMuons" : NTupleCollection("muon", leptonTypeSusy, 50, help="Muons for testing"), - - # dR jet lep for each lepton - # not putting in for now, maybe in future - #"minDeltaRLepJet" : NTupleCollection("minDeltaRLepJet", double, 50, help="Min deltaR between a lepton and all the jets"), - }) - - ## Book the variables, but only if we're called explicitly and not through a base class - if cfg_ana.name == "treeProducerSusyAlphaT": - self.initDone = True - self.declareVariables() diff --git a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyCore.py b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyCore.py index 0820c035a97a..fe67d600d473 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyCore.py +++ b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyCore.py @@ -7,17 +7,19 @@ NTupleVariable("nBJetLoose25", lambda ev: len(ev.bjetsLoose), int, help="Number of jets with pt > 25 passing CSV loose"), NTupleVariable("nBJetMedium25", lambda ev: len(ev.bjetsMedium), int, help="Number of jets with pt > 25 passing CSV medium"), NTupleVariable("nBJetTight25", lambda ev: sum([j.btagWP("CSVv2IVFT") for j in ev.bjetsMedium]), int, help="Number of jets with pt > 25 passing CSV tight"), - NTupleVariable("nBJetCMVALoose25", lambda ev: sum([j.btagWP("CMVAL") for j in ev.cleanJets]), int, help="Number of jets with pt > 25 passing CMVA Loose"), - NTupleVariable("nBJetCMVAMedium25", lambda ev: sum([j.btagWP("CMVAM") for j in ev.cleanJets]), int, help="Number of jets with pt > 25 passing CMVA Medium"), - NTupleVariable("nBJetCMVATight25", lambda ev: sum([j.btagWP("CMVAT") for j in ev.cleanJets]), int, help="Number of jets with pt > 25 passing CMVA Tight"), + + NTupleVariable("nJet30", lambda ev: sum([j.pt() > 30 for j in ev.cleanJets]), int, help="Number of jets with pt > 30, |eta|<2.4"), + NTupleVariable("nJet30a", lambda ev: sum([j.pt() > 30 for j in ev.cleanJetsAll]), int, help="Number of jets with pt > 30, |eta|<4.7"), + NTupleVariable("nBJetLoose30", lambda ev: sum([j.btagWP("CSVv2IVFL") for j in ev.cleanJets if j.pt() > 30]), int, help="Number of jets with pt > 30 passing CSV loose"), + NTupleVariable("nBJetMedium30", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.bjetsMedium if j.pt() > 30]), int, help="Number of jets with pt > 30 passing CSV medium"), + NTupleVariable("nBJetTight30", lambda ev: sum([j.btagWP("CSVv2IVFT") for j in ev.bjetsMedium if j.pt() > 30]), int, help="Number of jets with pt > 30 passing CSV tight"), + NTupleVariable("nJet40", lambda ev: sum([j.pt() > 40 for j in ev.cleanJets]), int, help="Number of jets with pt > 40, |eta|<2.4"), NTupleVariable("nJet40a", lambda ev: sum([j.pt() > 40 for j in ev.cleanJetsAll]), int, help="Number of jets with pt > 40, |eta|<4.7"), NTupleVariable("nBJetLoose40", lambda ev: sum([j.btagWP("CSVv2IVFL") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV loose"), NTupleVariable("nBJetMedium40", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.bjetsMedium if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV medium"), NTupleVariable("nBJetTight40", lambda ev: sum([j.btagWP("CSVv2IVFT") for j in ev.bjetsMedium if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV tight"), - NTupleVariable("nBJetCMVALoose40", lambda ev: sum([j.btagWP("CMVAL") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CMVA Loose"), - NTupleVariable("nBJetCMVAMedium40", lambda ev: sum([j.btagWP("CMVAM") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CMVA Medium"), - NTupleVariable("nBJetCMVATight40", lambda ev: sum([j.btagWP("CMVAT") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CMVA Tight"), + ##-------------------------------------------------- NTupleVariable("nLepGood20", lambda ev: sum([l.pt() > 20 for l in ev.selectedLeptons]), int, help="Number of leptons with pt > 20"), NTupleVariable("nLepGood15", lambda ev: sum([l.pt() > 15 for l in ev.selectedLeptons]), int, help="Number of leptons with pt > 15"), diff --git a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyEdge.py b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyEdge.py new file mode 100644 index 000000000000..b640bea8b170 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyEdge.py @@ -0,0 +1,37 @@ +from CMGTools.TTHAnalysis.analyzers.treeProducerSusyCore import * +from CMGTools.TTHAnalysis.analyzers.ntupleTypes import * + +# including the multilepton analyzer and all its stuff +from CMGTools.TTHAnalysis.analyzers.treeProducerSusyMultilepton import * + +susyJZBEdge_globalVariables = susyMultilepton_globalVariables + [ + + NTupleVariable("l1l2_m", lambda ev : ev.l1l2_m, help="Invariant mass of two leading leptons"), + NTupleVariable("l1l2_pt", lambda ev : ev.l1l2_pt, help="Pt of the two leading leptons"), + NTupleVariable("l1l2_eta", lambda ev : ev.l1l2_eta, help="Eta of the two leading leptons"), + NTupleVariable("l1l2_phi", lambda ev : ev.l1l2_phi, help="Phi of the two leading leptons"), + NTupleVariable("l1l2_DR", lambda ev : ev.l1l2_DR, help="DR of the two leading leptons"), + NTupleVariable("genl1l2_m", lambda ev : ev.genl1l2_m, help="Invariant mass of two leading gen leptons"), + NTupleVariable("genl1l2_pt", lambda ev : ev.genl1l2_pt, help="Pt of the two gen leading leptons"), + NTupleVariable("genl1l2_eta", lambda ev : ev.genl1l2_eta, help="Eta of the two gen leading leptons"), + NTupleVariable("genl1l2_phi", lambda ev : ev.genl1l2_phi, help="Phi of the two gen leading leptons"), + NTupleVariable("genl1l2_DR", lambda ev : ev.genl1l2_DR, help="DR of the two gen leading leptons"), + NTupleVariable("jzb", lambda ev : ev.jzb, help="JZB variable"), +] + + +susyJZBEdge_globalObjects = susyCore_globalObjects.copy() + +susyJZBEdge_collections = susyMultilepton_collections.copy() +susyJZBEdge_collections.update({ + + + "genleps" : NTupleCollection("genLep", genParticleWithLinksType, 10, help="Generated leptons (e/mu) from W/Z decays"), + #"selectedLeptons" : NTupleCollection("lep", leptonTypeSusy, 50, help="Leptons after the preselection", filter=lambda l : l.pt()>10 ), + "cleanJetsAll" : NTupleCollection("jet", jetTypeSusy, 100, help="all jets (w/ x-cleaning, w/ ID applied w/o PUID applied pt>10 |eta|<5.2) , sorted by pt", filter=lambda l : l.pt()>10 ), + "selectedPhotons" : NTupleCollection("gamma", photonTypeSusy, 50, help="photons with pt>20 and loose cut based ID"), + "generatorSummary" : NTupleCollection("GenPart", genParticleWithLinksType, 100 , help="Hard scattering particles, with ancestry and links"), + +}) + + diff --git a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyFullHad.py b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyFullHad.py index de6269fa5ab7..df7728598890 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyFullHad.py +++ b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyFullHad.py @@ -15,6 +15,8 @@ NTupleVariable("mht_phi", lambda ev : ev.mhtPhiJet40j10l5t, help="H_{T}^{miss} #phi computed from jets (with |eta|<2.5, pt > 40 GeV) and leptons (electrons ans muons with |eta|<2.5, pt > 10 GeV)"), NTupleVariable("diffMetMht", lambda ev : ev.diffMetMht, help="abs( vec(mht) - vec(met) ) - with jets and leptons"), NTupleVariable("deltaPhiMin", lambda ev : ev.deltaPhiMin, help="minimal deltaPhi between the MET and the four leading jets with pt>40 and eta<2.4 and leptons (electrons ans muons with |eta|<2.5, pt > 10 GeV)"), + NTupleVariable("jet1_pt", lambda ev : ev.cleanJets[0].pt() if len(ev.cleanJets)>0 else -99, help="pt of leading central jet"), + NTupleVariable("jet2_pt", lambda ev : ev.cleanJets[1].pt() if len(ev.cleanJets)>1 else -99, help="pt of second central jet"), ### for now store the hadronic only NTupleVariable("ht_had", lambda ev : ev.htJet40j, help="H_{T} computed from only jets (with |eta|<2.5, pt > 40 GeV)"), @@ -22,18 +24,30 @@ NTupleVariable("mht_had_phi", lambda ev : ev.mhtPhiJet40j, help="H_{T}^{miss} #phi computed from only jets (with |eta|<2.5, pt > 40 GeV)"), NTupleVariable("diffMetMht_had", lambda ev : ev.diffMetMht_had, help="abs( vec(mht) - vec(met) ) - only jets"), NTupleVariable("deltaPhiMin_had", lambda ev : ev.deltaPhiMin_had, help="minimal deltaPhi between the MET and the four leading jets with pt>40 and eta<2.4"), - - # NTupleVariable("tkmet_pt", lambda ev : ev.tkMet.pt(), help="TK E_{T}^{miss}"), - # NTupleVariable("tkmet_phi", lambda ev : ev.tkMet.phi(), help="TK E_{T}^{miss}"), + + NTupleVariable("met_rawPt", lambda ev : ev.met.shiftedPt(12, 0), help="raw met p_{T}"), + NTupleVariable("met_rawPhi", lambda ev : ev.met.shiftedPhi(12, 0), help="raw met phi"), + + # NTupleVariable("tkmet_pt", lambda ev : ev.tkMet.pt(), help="TK E_{T}^{miss}"), + # NTupleVariable("tkmet_phi", lambda ev : ev.tkMet.phi(), help="TK E_{T}^{miss}"), ##-------------------------------------------------- # Physics object multplicities ##-------------------------------------------------- NTupleVariable("nBJet40", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV medium"), + NTupleVariable("nBJet25", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.cleanJets if j.pt() > 25]), int, help="Number of jets with pt > 25 passing CSV medium"), + NTupleVariable("nBJet20", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.cleanJets if j.pt() > 20]), int, help="Number of jets with pt > 20 passing CSV medium"), NTupleVariable("nMuons10", lambda ev: sum([l.pt() > 10 and abs(l.pdgId()) == 13 for l in ev.selectedLeptons]), int, help="Number of muons with pt > 10"), NTupleVariable("nElectrons10", lambda ev: sum([l.pt() > 10 and abs(l.pdgId()) == 11 for l in ev.selectedLeptons]), int, help="Number of electrons with pt > 10"), NTupleVariable("nTaus20", lambda ev: sum([l.pt() > 20 for l in ev.selectedTaus]), int, help="Number of taus with pt > 20"), NTupleVariable("nGammas20", lambda ev: sum([l.pt() > 20 for l in ev.selectedPhotons]), int, help="Number of photons with pt > 20"), + + + # NTupleVariable("nIVFLooseExtra", lambda ev: sum([ (sv.mva>0.3 and sv.pt>5 and ( abs(sv.dxy.value())<3 and sv.cosTheta>0.98 ) and (sv.jet == None or sv.jet.pt() < 25)) for sv in ev.ivf]),int, help="SV from ivf with loose sv mva"), + # NTupleVariable("nIVFMediumExtra", lambda ev: sum([(sv.mva>0.7 and sv.pt>5 and ( abs(sv.dxy.value())<3 and sv.cosTheta>0.98 ) and (sv.jet == None or sv.jet.pt() < 25)) for sv in ev.ivf]),int, help="SV from ivf with medium sv mva"), + # NTupleVariable("nIVFTightExtra", lambda ev: sum([ (sv.mva>0.9 and sv.pt>5 and ( abs(sv.dxy.value())<3 and sv.cosTheta>0.98 ) and (sv.jet == None or sv.jet.pt() < 25)) for sv in ev.ivf]),int, help="SV from ivf with tight sv mva"), + + ##-------------------------------------------------- # NTupleVariable("mtw", lambda ev: ev.mtw, int, help="mt(l,met)"), # NTupleVariable("mtwTau", lambda ev: ev.mtwTau, int, help="mt(tau,met)"), @@ -43,6 +57,7 @@ NTupleVariable("minMTBMet", lambda ev: ev.minMTBMet, float, help="min Mt(b,met)"), NTupleVariable("nPFLep5LowMT", lambda ev: ev.nPFLep5LowMT, int, help="number of PF leptons (e,mu) with pt > 5, reliso < 0.2, MT < 100 "), NTupleVariable("nPFHad10LowMT", lambda ev: ev.nPFHad10LowMT, int, help="number of PF hadrons with pt > 10, reliso < 0.1, MT < 100 "), + NTupleVariable("nLepLowMT", lambda ev: ev.nLepLowMT, int, help="number of leptons (POGID and isoTrack ) with MT < 100 "), ##-------------------------------------------------- # MT2 ##-------------------------------------------------- @@ -65,14 +80,18 @@ # Gamma variables ##-------------------------------------------------- NTupleVariable("gamma_nJet40", lambda ev: sum([j.pt() > 40 for j in ev.gamma_cleanJets]), int, help="Number of jets after photon-cleaning with pt > 40, |eta|<2.4"), + NTupleVariable("gamma_nBJet20", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.gamma_cleanJets if j.pt() > 20]), int, help="Number jets after photon-cleaning with pt > 20 passing CSV medium"), NTupleVariable("gamma_nBJet40", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.gamma_cleanJets if j.pt() > 40]), int, help="Number jets after photon-cleaning with pt > 40 passing CSV medium"), + NTupleVariable("gamma_nBJet25", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.gamma_cleanJets if j.pt() > 25]), int, help="Number jets after photon-cleaning with pt > 25 passing CSV medium"), NTupleVariable("gamma_ht", lambda ev : ev.gamma_htJet40j, help="H_{T} computed from only jets (with |eta|<2.5, pt > 40 GeV)"), NTupleVariable("gamma_deltaPhiMin", lambda ev : ev.gamma_deltaPhiMin_had, help="minimal deltaPhi between the MET and the four leading jets with pt>40 and eta<2.4"), NTupleVariable("gamma_diffMetMht", lambda ev : ev.gamma_diffMetMht_had, help="abs( vec(mht) - vec(met) )"), NTupleVariable("gamma_mht_pt", lambda ev : ev.gamma_mhtJet40j, help="H_{T}^{miss} computed from jets (with |eta|<2.5, pt > 40 GeV) and leptons (electrons ans muons with |eta|<2.5, pt > 10 GeV)"), NTupleVariable("gamma_mht_phi", lambda ev : ev.gamma_mhtPhiJet40j, help="H_{T}^{miss} #phi computed from jets (with |eta|<2.5, pt > 40 GeV) and leptons (electrons ans muons with |eta|<2.5, pt > 10 GeV)"), NTupleVariable("gamma_minMTBMet", lambda ev : ev.gamma_minMTBMet, help="min Mt(b,met)"), - + NTupleVariable("gamma_jet1_pt", lambda ev : ev.gamma_cleanJets[0].pt() if len(ev.gamma_cleanJets)>0 else -99, help="pt of leading central jet"), + NTupleVariable("gamma_jet2_pt", lambda ev : ev.gamma_cleanJets[1].pt() if len(ev.gamma_cleanJets)>1 else -99, help="pt of second central jet"), + ##-------------------------------------------------- # Zll variables ##-------------------------------------------------- @@ -83,10 +102,12 @@ NTupleVariable("zll_met_pt", lambda ev : ev.zll_met_pt, help="E_{T}^{miss} computed from jets (with |eta|<2.5, pt > 40 GeV) + 2 leptons"), NTupleVariable("zll_met_phi", lambda ev : ev.zll_met_phi, help="E_{T}^{miss} #phi computed from jets (with |eta|<2.5, pt > 40 GeV) + 2 leptons"), NTupleVariable("zll_ht", lambda ev: ev.zll_ht, float, help="H_{T} computed from only jets (with |eta|<2.5, pt > 40 GeV)"), - NTupleVariable("zll_pt", lambda ev : ev.zll_p4.Pt(), help="Pt of di-lepton system"), - NTupleVariable("zll_eta", lambda ev : ev.zll_p4.Eta(), help="Eta of di-lepton system"), - NTupleVariable("zll_phi", lambda ev : ev.zll_p4.Phi(), help="Phi of di-lepton system"), - NTupleVariable("zll_mass", lambda ev : ev.zll_p4.M(), help="Invariant mass of di-lepton system"), + NTupleVariable("zll_pt", lambda ev : ev.zll_p4.Pt() if ev.zll_p4.P()!=0 else -999., help="Pt of di-lepton system"), + NTupleVariable("zll_eta", lambda ev : ev.zll_p4.Eta() if ev.zll_p4.P()!=0 else -999., help="Eta of di-lepton system"), + NTupleVariable("zll_phi", lambda ev : ev.zll_p4.Phi() if ev.zll_p4.P()!=0 else -999., help="Phi of di-lepton system"), + NTupleVariable("zll_mass", lambda ev : ev.zll_p4.M() if ev.zll_p4.P()!=0 else -999., help="Invariant mass of di-lepton system"), + NTupleVariable("zll_minMTBMet", lambda ev: ev.zll_minMTBMet, float, help="min Mt(b,met) for zll, same as in main search"), + ### ] @@ -103,11 +124,11 @@ "pseudoViaKtJet1_had" : NTupleObject("pseudoViaKtJet1_had", fourVectorType, help="full pseudoJet1 for hemishphere via KT"), "pseudoViaKtJet2_had" : NTupleObject("pseudoViaKtJet2_had", fourVectorType, help="full pseudoJet2 for hemishphere via KT"), # - "gamma_met" : NTupleObject("gamma_met", fourVectorType, help="PF E_{T}^{miss}, plus photon, after type 1 corrections"), - "gamma_metNoPU" : NTupleObject("gamma_metNoPU", fourVectorType, help="PF noPU E_{T}^{miss}, plus photon"), + "gamma_met" : NTupleObject("gamma_met", fourVectorType, help="PF E_{T}^{miss}, plus photon, after type 1 corrections"), +## "gamma_metNoPU" : NTupleObject("gamma_metNoPU", fourVectorType, help="PF noPU E_{T}^{miss}, plus photon"), # - "gamma_pseudoJet1" : NTupleObject("gamma_pseudoJet1", fourVectorType, help="pseudoJet1 for hemishphere, with photon addition"), - "gamma_pseudoJet2" : NTupleObject("gamma_pseudoJet2", fourVectorType, help="pseudoJet2 for hemishphere, with photon addition"), +## "gamma_pseudoJet1" : NTupleObject("gamma_pseudoJet1", fourVectorType, help="pseudoJet1 for hemishphere, with photon addition"), +## "gamma_pseudoJet2" : NTupleObject("gamma_pseudoJet2", fourVectorType, help="pseudoJet2 for hemishphere, with photon addition"), ### }) @@ -115,13 +136,15 @@ susyFullHad_collections.update({ # put more here ## "gennus" : NTupleCollection("genNu", genParticleWithSourceType, 10, help="Generated neutrinos (nue/numu/nutau) from W/Z decays"), - "selectedLeptons" : NTupleCollection("lep", leptonTypeSusy, 50, help="Leptons after the preselection", filter=lambda l : l.pt()>10 ), + "selectedLeptons" : NTupleCollection("lep", leptonType, 50, help="Leptons after the preselection", filter=lambda l : l.pt()>10 ), "selectedTaus" : NTupleCollection("tau", tauTypeSusy, 50, help="Taus after the preselection"), - "cleanJetsAll" : NTupleCollection("jet", jetTypeSusy, 100, help="all jets (w/ x-cleaning, w/ ID applied w/o PUID applied pt>10 |eta|<5.2) , sorted by pt", filter=lambda l : l.pt()>10 ), + "cleanJetsAll" : NTupleCollection("jet", jetTypeSusyExtra, 100, help="all jets (w/ x-cleaning, w/ ID applied w/o PUID applied pt>10 |eta|<5.2) , sorted by pt", filter=lambda l : l.pt()>20 ), +## "cleanJetsAll" : NTupleCollection("jet", jetTypeExtra, 100, help="all jets (w/ x-cleaning, w/ ID applied w/o PUID applied pt>10 |eta|<5.2) , sorted by pt", filter=lambda l : l.pt()>25 ), "fatJets" : NTupleCollection("fatJet", fatJetType, 15, help="Cental jets after full selection and cleaning, sorted by pt"), "selectedPhotons" : NTupleCollection("gamma", photonTypeSusy, 50, help="photons with pt>20 and loose cut based ID"), "selectedIsoTrack" : NTupleCollection("isoTrack", isoTrackType, 50, help="isoTrack, sorted by pt"), - "genParticles" : NTupleCollection("genPart", genParticleWithMotherId, 200, help="all pruned genparticles"), + "genParticles" : NTupleCollection("genPart", genParticleWithMotherId, 300, help="all pruned genparticles"), +## "ivf" : NTupleCollection("SV", svType, 20, help="SVs from IVF", filter=lambda l : l.pt()>5), }) diff --git a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyGenLevelOnly.py b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyGenLevelOnly.py index f53c3ee72a68..197f30d2e404 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyGenLevelOnly.py +++ b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyGenLevelOnly.py @@ -18,6 +18,8 @@ def __init__(self, cfg_ana, cfg_comp, looperName): NTupleVariable("nJet40a", lambda ev: sum([j.pt() > 40 for j in ev.cleanJetsAll]), int, help="Number of jets with pt > 40, |eta|<4.7"), NTupleVariable("nBJetLoose25", lambda ev: sum([j.btagWP("CSVv2IVFL") for j in ev.cleanJets if j.pt() > 25]), int, help="Number of jets with pt > 25 passing CSV loose"), NTupleVariable("nBJetMedium25", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.cleanJets if j.pt() > 25]), int, help="Number of jets with pt > 25 passing CSV medium"), + NTupleVariable("nBJetLoose30", lambda ev: sum([j.btagWP("CSVv2IVFL") for j in ev.cleanJets if j.pt() > 30]), int, help="Number of jets with pt > 30 passing CSV loose"), + NTupleVariable("nBJetMedium30", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.cleanJets if j.pt() > 30]), int, help="Number of jets with pt > 30 passing CSV medium"), NTupleVariable("nBJetLoose40", lambda ev: sum([j.btagWP("CSVv2IVFL") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV loose"), NTupleVariable("nBJetMedium40", lambda ev: sum([j.btagWP("CSVv2IVFM") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV medium"), ##-------------------------------------------------- diff --git a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyMultilepton.py b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyMultilepton.py index 0021e96ba94c..c1e544b2aac2 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyMultilepton.py +++ b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusyMultilepton.py @@ -11,9 +11,31 @@ NTupleVariable("htJet40a", lambda ev : ev.htJet40a, help="H_{T} computed from leptons and jets (with |eta|<4.7, pt > 40 GeV)"), NTupleVariable("mhtJet40", lambda ev : ev.mhtJet40, help="H_{T}^{miss} computed from leptons and jets (with |eta|<2.4, pt > 40 GeV)"), NTupleVariable("mhtJet40a", lambda ev : ev.mhtJet40a, help="H_{T}^{miss} computed from leptons and jets (with |eta|<4.7, pt > 40 GeV)"), + + ## + NTupleVariable("nJet25NoTau", lambda ev: sum([ (j.pt() > 25 and not j.taus ) for j in ev.cleanJets]), int, help="Number of jets with pt > 25, not matched with taus"), + NTupleVariable("nBJetLoose25NoTau", lambda ev: sum([(j.btagWP("CSVv2IVFL") and not j.taus) for j in ev.cleanJets]), int, help="Number of jets with pt > 25 passing CSV loose, not matched with taus"), + NTupleVariable("nBJetMedium25NoTau", lambda ev: sum([(j.btagWP("CSVv2IVFM") and not j.taus) for j in ev.bjetsMedium]), int, help="Number of jets with pt > 25 passing CSV medium, not matched with taus"), + NTupleVariable("nBJetCMVALoose25", lambda ev: sum([j.btagWP("CMVAL") for j in ev.cleanJets]), int, help="Number of jets with pt > 25 passing CMVA Loose"), + NTupleVariable("nBJetCMVAMedium25", lambda ev: sum([j.btagWP("CMVAM") for j in ev.cleanJets]), int, help="Number of jets with pt > 25 passing CMVA Medium"), + NTupleVariable("nBJetCMVATight25", lambda ev: sum([j.btagWP("CMVAT") for j in ev.cleanJets]), int, help="Number of jets with pt > 25 passing CMVA Tight"), NTupleVariable("nSoftBLoose25", lambda ev: sum([(sv.mva>0.3 and (sv.jet == None or sv.jet.pt() < 25)) for sv in ev.ivf]), int, help="SV from ivf with loose sv mva not matched to a jet with pt > 25 GeV"), NTupleVariable("nSoftBMedium25", lambda ev: sum([(sv.mva>0.7 and (sv.jet == None or sv.jet.pt() < 25)) for sv in ev.ivf]), int, help="SV from ivf with medium sv mva not matched to a jet with pt > 25 GeV"), NTupleVariable("nSoftBTight25", lambda ev: sum([(sv.mva>0.9 and (sv.jet == None or sv.jet.pt() < 25)) for sv in ev.ivf]), int, help="SV from ivf with tight sv mva not matched to a jet with pt > 25 GeV"), + ## + + NTupleVariable("nJet30NoTau", lambda ev: sum([ (j.pt() > 30 and not j.taus ) for j in ev.cleanJets]), int, help="Number of jets with pt > 30, not matched with taus"), + NTupleVariable("nBJetLoose30NoTau", lambda ev: sum([(j.btagWP("CSVv2IVFL") and not j.taus) for j in ev.cleanJets if j.pt() > 30]), int, help="Number of jets with pt > 30 passing CSV loose, not matched with taus"), + NTupleVariable("nBJetMedium30NoTau", lambda ev: sum([(j.btagWP("CSVv2IVFM") and not j.taus) for j in ev.bjetsMedium if j.pt() > 30]), int, help="Number of jets with pt > 30 passing CSV medium, not matched with taus"), + ## + + NTupleVariable("nJet40NoTau", lambda ev: sum([ (j.pt() > 40 and not j.taus ) for j in ev.cleanJets]), int, help="Number of jets with pt > 40, not matched with taus"), + NTupleVariable("nBJetLoose40NoTau", lambda ev: sum([(j.btagWP("CSVv2IVFL") and not j.taus) for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV loose, not matched with taus"), + NTupleVariable("nBJetMedium40NoTau", lambda ev: sum([(j.btagWP("CSVv2IVFM") and not j.taus) for j in ev.bjetsMedium if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CSV medium, not matched with taus"), + NTupleVariable("nBJetCMVALoose40", lambda ev: sum([j.btagWP("CMVAL") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CMVA Loose"), + NTupleVariable("nBJetCMVAMedium40", lambda ev: sum([j.btagWP("CMVAM") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CMVA Medium"), + NTupleVariable("nBJetCMVATight40", lambda ev: sum([j.btagWP("CMVAT") for j in ev.cleanJets if j.pt() > 40]), int, help="Number of jets with pt > 40 passing CMVA Tight"), + ##-------------------------------------------------- NTupleVariable("mZ1", lambda ev : ev.bestZ1[0], help="Best m(ll) SF/OS"), NTupleVariable("mZ1SFSS", lambda ev : ev.bestZ1sfss[0], help="Best m(ll) SF/SS"), @@ -27,6 +49,11 @@ NTupleVariable("maxMllAFAS", lambda ev: ev.maxMllAFAS, help="max m(ll), AF/AS"), NTupleVariable("m2l", lambda ev: ev.m2l, help="m(ll)"), ##-------------------------------------------------- + NTupleVariable("minDrllAFSS", lambda ev: ev.minDrllAFSS, help="min Dr(ll), AF/SS"), + NTupleVariable("maxDrllAFSS", lambda ev: ev.maxDrllAFSS, help="max Dr(ll), AF/SS"), + NTupleVariable("minDrllAFOS", lambda ev: ev.minDrllAFOS, help="min Dr(ll), AF/OS"), + NTupleVariable("maxDrllAFOS", lambda ev: ev.maxDrllAFOS, help="max Dr(ll), AF/OS"), + ##-------------------------------------------------- NTupleVariable("mZ2", lambda ev : ev.bestZ2[3], help="m(ll) of second SF/OS pair, for ZZ reco."), NTupleVariable("m3l", lambda ev: ev.m3l, help="m(3l)"), NTupleVariable("m4l", lambda ev: ev.m4l, help="m(4l)"), @@ -95,6 +122,15 @@ NTupleVariable("chi2pvtrksABDbutCdof", lambda ev: ev.chi2pvtrksABDbutC[1], help="DOF from the fit to the PV of A,B,D"), NTupleVariable("chi2pvtrksABCbutDval", lambda ev: ev.chi2pvtrksABCbutD[0], help="chi2 of the fit to the PV of A,B,C"), NTupleVariable("chi2pvtrksABCbutDdof", lambda ev: ev.chi2pvtrksABCbutD[1], help="DOF from the fit to the PV of A,B,C"), + ### =========== + NTupleVariable("nRecJet40", lambda ev : sum(j.pt()>40 for j in ev.recoveredJets), int, help="number of recovered jets, pt 40"), + NTupleVariable("nRecJet25", lambda ev : sum(j.pt()>25 for j in ev.recoveredJets), int, help="number of recovered jets, pt 40"), + NTupleVariable("nRecBJetMedium40", lambda ev : sum(j.pt()>40 for j in ev.recoveredJets if j.btagWP("CSVv2IVFM")), int, help="number of recovered jets, pt 40"), + NTupleVariable("nRecBJetMedium25", lambda ev : sum(j.pt()>25 for j in ev.recoveredJets if j.btagWP("CSVv2IVFM")), int, help="number of recovered jets, pt 40"), + NTupleVariable("nRecSplitJet40", lambda ev : sum(j.pt()>40 for j in ev.recoveredSplitJets), int, help="number of recovered jets, pt 40"), + NTupleVariable("nRecSplitJet25", lambda ev : sum(j.pt()>25 for j in ev.recoveredSplitJets), int, help="number of recovered jets, pt 40"), + NTupleVariable("nRecSplitBJetMedium40", lambda ev : sum(j.pt()>40 for j in ev.recoveredSplitJets if j.btagWP("CSVv2IVFM")), int, help="number of recovered jets, pt 40"), + NTupleVariable("nRecSplitBJetMedium25", lambda ev : sum(j.pt()>25 for j in ev.recoveredSplitJets if j.btagWP("CSVv2IVFM")), int, help="number of recovered jets, pt 40"), ] susyMultilepton_globalObjects = susyCore_globalObjects.copy() @@ -111,11 +147,22 @@ "selectedLeptons" : NTupleCollection("LepGood", leptonTypeSusyExtra, 8, help="Leptons after the preselection"), "otherLeptons" : NTupleCollection("LepOther", leptonTypeSusyExtra, 8, help="Leptons after the preselection"), ##------------------------------------------------ - "cleanJets" : NTupleCollection("Jet", jetTypeSusy, 15, help="Cental jets after full selection and cleaning, sorted by pt"), + "cleanJets" : NTupleCollection("Jet", jetTypeSusyExtra, 15, help="Cental jets after full selection and cleaning, sorted by pt"), "cleanJetsFwd" : NTupleCollection("JetFwd", jetTypeSusy, 6, help="Forward jets after full selection and cleaning, sorted by pt"), "fatJets" : NTupleCollection("FatJet", fatJetType, 15, help="AK8 jets, sorted by pt"), ##------------------------------------------------ + "discardedJets" : NTupleCollection("DiscJet", jetTypeSusy, 15, help="Jets discarted in the jet-lepton cleaning"), + "discardedLeptons" : NTupleCollection("DiscLep", leptonTypeSusyExtra, 8, help="Leptons discarded in the jet-lepton cleaning"), + "recoveredJets" : NTupleCollection("RecJet", jetTypeSusy, 15, help="Jets recovered declustering in the jet-lepton cleaning"), + "recoveredSplitJets" : NTupleCollection("RecSplitJet", jetTypeSusy, 15, help="Jets recovered declustering in the jet-lepton cleaning, split"), + ##------------------------------------------------ "ivf" : NTupleCollection("SV", svType, 20, help="SVs from IVF"), "genBHadrons" : NTupleCollection("GenBHad", heavyFlavourHadronType, 20, mcOnly=True, help="Gen-level B hadrons"), "genDHadrons" : NTupleCollection("GenDHad", heavyFlavourHadronType, 20, mcOnly=True, help="Gen-level D hadrons"), + ##------------------------------------------------ + "jetsNonTauIdx" : NTupleCollection("JetNoTauIdx",objectInt, 10, help="index of jets not associated to taus"), + ##------------------------------------------------ + "LHE_weights" : NTupleCollection("LHEweight", weightsInfoType, 1000, help="LHE weight info"), + + }) diff --git a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusySingleLepton.py b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusySingleLepton.py index 79e7e505ff58..f8096e4fd2dc 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusySingleLepton.py +++ b/CMGTools/TTHAnalysis/python/analyzers/treeProducerSusySingleLepton.py @@ -8,22 +8,11 @@ NTupleVariable("htJet25", lambda ev : ev.htJet25, help="H_{T} computed from leptons and jets (with |eta|<2.4, pt > 25 GeV)"), NTupleVariable("mhtJet25", lambda ev : ev.mhtJet25, help="H_{T}^{miss} computed from leptons and jets (with |eta|<2.4, pt > 25 GeV)"), NTupleVariable("htJet40j", lambda ev : ev.htJet40j, help="H_{T} computed from only jets (with |eta|<2.4, pt > 40 GeV)"), - NTupleVariable("htJet40ja", lambda ev : ev.htJet40ja, help="H_{T} computed from only jets (with |eta|<4.7, pt > 40 GeV)"), NTupleVariable("htJet40", lambda ev : ev.htJet40, help="H_{T} computed from leptons and jets (with |eta|<2.4, pt > 40 GeV)"), - NTupleVariable("htJet40a", lambda ev : ev.htJet40a, help="H_{T} computed from leptons and jets (with |eta|<4.7, pt > 40 GeV)"), NTupleVariable("mhtJet40", lambda ev : ev.mhtJet40, help="H_{T}^{miss} computed from leptons and jets (with |eta|<2.4, pt > 40 GeV)"), - NTupleVariable("mhtJet40a", lambda ev : ev.mhtJet40a, help="H_{T}^{miss} computed from leptons and jets (with |eta|<4.7, pt > 40 GeV)"), NTupleVariable("nSoftBJetLoose25", lambda ev: sum([(sv.mva>0.3 and (sv.jet == None or sv.jet.pt() < 25)) for sv in ev.ivf]) + len(ev.bjetsMedium), int, help="Exclusive sum of jets with pt > 25 passing CSV medium and SV from ivf with loose sv mva"), NTupleVariable("nSoftBJetMedium25", lambda ev: sum([(sv.mva>0.7 and (sv.jet == None or sv.jet.pt() < 25)) for sv in ev.ivf]) + len(ev.bjetsMedium), int, help="Exclusive sum of jets with pt > 25 passing CSV medium and SV from ivf with medium sv mva"), NTupleVariable("nSoftBJetTight25", lambda ev: sum([(sv.mva>0.9 and (sv.jet == None or sv.jet.pt() < 25)) for sv in ev.ivf]) + len(ev.bjetsMedium), int, help="Exclusive sum of jets with pt > 25 passing CSV medium and SV from ivf with tight sv mva"), - ##-------------------------------------------------- - NTupleVariable("minMWjj", lambda ev: ev.minMWjj, int, help="minMWjj"), - NTupleVariable("minMWjjPt", lambda ev: ev.minMWjjPt, int, help="minMWjjPt"), - NTupleVariable("bestMWjj", lambda ev: ev.bestMWjj, int, help="bestMWjj"), - NTupleVariable("bestMWjjPt", lambda ev: ev.bestMWjjPt, int, help="bestMWjjPt"), - NTupleVariable("bestMTopHad", lambda ev: ev.bestMTopHad, int, help="bestMTopHad"), - NTupleVariable("bestMTopHadPt", lambda ev: ev.bestMTopHadPt, int, help="bestMTopHadPt"), - ##-------------------------------------------------- ##------------------------------------------------ ] susySingleLepton_globalObjects = susyCore_globalObjects.copy() @@ -35,7 +24,7 @@ susySingleLepton_collections.update({ # put more here - "genParticles" : NTupleCollection("genPart", genParticleWithMotherId, 200, help="all pruned genparticles"), # need to decide which gen collection ? + "genParticles" : NTupleCollection("genPartAll", genParticleWithMotherId, 200, help="all pruned genparticles"), # need to decide which gen collection ? ## --------------------------------------------- "selectedLeptons" : NTupleCollection("LepGood", leptonTypeSusy, 8, help="Leptons after the preselection"), "otherLeptons" : NTupleCollection("LepOther", leptonTypeSusy, 8, help="Leptons after the preselection"), @@ -43,12 +32,9 @@ "selectedIsoTrack" : NTupleCollection("isoTrack", isoTrackType, 50, help="isoTrack, sorted by pt"), ##------------------------------------------------ "cleanJetsAll" : NTupleCollection("Jet", jetTypeSusy, 25, help="Cental jets after full selection and cleaning, sorted by pt"), - "cleanJetsFwd" : NTupleCollection("JetFwd", jetTypeSusy, 25, help="Forward jets after full selection and cleaning, sorted by pt"), "fatJets" : NTupleCollection("FatJet", fatJetType, 15, help="AK8 jets, sorted by pt"), - #"reclusteredFatJets" : NTupleCollection("RCFatJet", fourVectorType,20, help="FatJets reclusterd from ak4 cleanJetsAll"), + "reclusteredFatJets" : NTupleCollection("RCFatJet", fourVectorType,20, help="FatJets1.2 reclusterd from ak4 cleanJetsAll pT > 30, eta <5 "), ##------------------------------------------------ "ivf" : NTupleCollection("SV", svType, 20, help="SVs from IVF"), - "genBHadrons" : NTupleCollection("GenBHad", heavyFlavourHadronType, 20, mcOnly=True, help="Gen-level B hadrons"), - "genDHadrons" : NTupleCollection("GenDHad", heavyFlavourHadronType, 20, mcOnly=True, help="Gen-level D hadrons"), }) diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTControlAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTControlAnalyzer.py index b14de83a7f1d..244960288e06 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTControlAnalyzer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTControlAnalyzer.py @@ -5,18 +5,18 @@ #from ROOT import TLorentzVector, TVectorD -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.Event import Event -from CMGTools.RootTools.statistics.Counter import Counter, Counters -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle -# from CMGTools.RootTools.physicsobjects.Lepton import Lepton -# from CMGTools.RootTools.physicsobjects.Photon import Photon -# from CMGTools.RootTools.physicsobjects.Electron import Electron -# from CMGTools.RootTools.physicsobjects.Muon import Muon -# from CMGTools.RootTools.physicsobjects.Tau import Tau -from CMGTools.RootTools.physicsobjects.Jet import Jet - -from CMGTools.RootTools.utils.DeltaR import deltaR +from PhysicsTools.HeppyCore.utils.deltar import deltaR +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Lepton +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Photon +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Electron +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Muon +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Tau +from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Jet import os @@ -28,13 +28,16 @@ class ttHAlphaTControlAnalyzer( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName ): super(ttHAlphaTControlAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + self.maxLeps = cfg_ana.maxLeps if hasattr(cfg_ana,'maxLeps') else 999 + self.maxPhotons = cfg_ana.maxPhotons if hasattr(cfg_ana,'maxPhotons') else 999 + def declareHandles(self): super(ttHAlphaTControlAnalyzer, self).declareHandles() #genJets self.handles['genJets'] = AutoHandle( 'slimmedGenJets','std::vector') - def beginLoop(self): - super(ttHAlphaTControlAnalyzer,self).beginLoop() + def beginLoop(self,setup): + super(ttHAlphaTControlAnalyzer,self).beginLoop(setup) self.counters.addCounter('pairs') count = self.counters.counter('pairs') count.register('all events') @@ -42,22 +45,19 @@ def beginLoop(self): # Calculate MT_W (stolen from the MT2 code) # Modularize this later? + # Does it just for the leading lepton def makeMT(self, event): # print '==> INSIDE THE PRINT MT' # print 'MET=',event.met.pt() if len(event.selectedLeptons)>0: - for lepton in event.selectedLeptons: - event.mtw = mtw(lepton, event.met) + event.mtw = mtw(event.selectedLeptons[0], event.met) if len(event.selectedTaus)>0: - for myTau in event.selectedTaus: - event.mtwTau = mtw(myTau, event.met) - foundTau = True + event.mtwTau = mtw(event.selectedTaus[0], event.met) if len(event.selectedIsoTrack)>0: - for myTrack in event.selectedIsoTrack: - event.mtwIsoTrack = mtw(myTrack, event.met) + event.mtwIsoTrack = mtw(event.selectedIsoTrack[0], event.met) return @@ -74,7 +74,9 @@ def makeDeltaRLepJet(self, event): event.minDeltaRLepJet = [] - for lepton in event.selectedLeptons: + for i,lepton in enumerate(event.selectedLeptons): + + if i == self.maxLeps: break minDeltaR = 999 @@ -91,7 +93,9 @@ def makeDeltaRPhoJet(self, event): event.minDeltaRPhoJet = [] - for photon in event.selectedPhotons: + for i,photon in enumerate(event.selectedPhotons): + + if i == self.maxPhotons: break minDeltaR = 999 @@ -103,8 +107,8 @@ def makeDeltaRPhoJet(self, event): return - def process(self, iEvent, event): - self.readCollections( iEvent ) + def process(self, event): + self.readCollections( event.input ) #W variables event.mtw = -999 diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTControlSkimmer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTControlSkimmer.py index d9c18fa4d3d4..1edaa4d2cf93 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTControlSkimmer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTControlSkimmer.py @@ -1,8 +1,8 @@ -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.Event import Event -from CMGTools.RootTools.statistics.Counter import Counter, Counters -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle class ttHAlphaTControlSkimmer( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName ): @@ -11,8 +11,8 @@ def __init__(self, cfg_ana, cfg_comp, looperName ): def declareHandles(self): super(ttHAlphaTControlSkimmer, self).declareHandles() - def beginLoop(self): - super(ttHAlphaTControlSkimmer,self).beginLoop() + def beginLoop(self,setup): + super(ttHAlphaTControlSkimmer,self).beginLoop(setup) self.counters.addCounter('events') count = self.counters.counter('events') count.register('all events') @@ -23,8 +23,8 @@ def beginLoop(self): count.register('accepted events') - def process(self, iEvent, event): - self.readCollections( iEvent ) + def process(self, event): + self.readCollections( event.input ) self.counters.counter('events').inc('all events') #Perform W mass MTW cut diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTSkimmer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTSkimmer.py index f43b31f4cfea..4a757555cf97 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTSkimmer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTSkimmer.py @@ -1,8 +1,8 @@ -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.Event import Event -from CMGTools.RootTools.statistics.Counter import Counter, Counters -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle class ttHAlphaTSkimmer( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName ): @@ -11,8 +11,8 @@ def __init__(self, cfg_ana, cfg_comp, looperName ): def declareHandles(self): super(ttHAlphaTSkimmer, self).declareHandles() - def beginLoop(self): - super(ttHAlphaTSkimmer,self).beginLoop() + def beginLoop(self,setup): + super(ttHAlphaTSkimmer,self).beginLoop(setup) self.counters.addCounter('events') count = self.counters.counter('events') count.register('all events') @@ -22,8 +22,8 @@ def beginLoop(self): count.register('accepted events') - def process(self, iEvent, event): - self.readCollections( iEvent ) + def process(self, event): + self.readCollections( event.input ) self.counters.counter('events').inc('all events') #Veto forward jets that have passed the jet requirement @@ -41,7 +41,7 @@ def process(self, iEvent, event): if self.cfg_ana.invertAlphaT: #This is for the multijet enriched control region for aTCut in self.cfg_ana.alphaTCuts: - if event.alphaT < aTCut[0] and event.htJet50j >= aTCut[1] and event.htJet50j < aTCut[2]: + if event.alphaT < aTCut[0] and getattr(event,self.cfg_ana.htJet) >= aTCut[1] and getattr(event,self.cfg_ana.htJet) < aTCut[2]: self.counters.counter('events').inc('pass alphaTCuts') self.counters.counter('events').inc('accepted events') return True @@ -49,7 +49,7 @@ def process(self, iEvent, event): else: for aTCut in self.cfg_ana.alphaTCuts: - if event.alphaT > aTCut[0] and event.htJet50j >= aTCut[1] and event.htJet50j < aTCut[2]: + if event.alphaT > aTCut[0] and getattr(event,self.cfg_ana.htJet) >= aTCut[1] and getattr(event,self.cfg_ana.htJet) < aTCut[2]: self.counters.counter('events').inc('pass alphaTCuts') self.counters.counter('events').inc('accepted events') return True diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTVarAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTVarAnalyzer.py index 367c5e6050f8..96e0e952e205 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTVarAnalyzer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHAlphaTVarAnalyzer.py @@ -5,22 +5,21 @@ #from ROOT import TLorentzVector, TVectorD -from CMGTools.RootTools.utils.DeltaR import deltaR, deltaPhi -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.Event import Event -from CMGTools.RootTools.statistics.Counter import Counter, Counters -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle -# from CMGTools.RootTools.physicsobjects.Lepton import Lepton -# from CMGTools.RootTools.physicsobjects.Photon import Photon -# from CMGTools.RootTools.physicsobjects.Electron import Electron -# from CMGTools.RootTools.physicsobjects.Muon import Muon -# from CMGTools.RootTools.physicsobjects.Tau import Tau -from CMGTools.RootTools.physicsobjects.Jet import Jet - -#from CMGTools.RootTools.utils.DeltaR import * +from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaPhi +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Lepton +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Photon +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Electron +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Muon +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Tau +from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Jet import ROOT -from ROOT import AlphaT +from ROOT.heppy import AlphaT import os @@ -34,39 +33,39 @@ def declareHandles(self): #genJets self.handles['genJets'] = AutoHandle( 'slimmedGenJets','std::vector') - def beginLoop(self): - super(ttHAlphaTVarAnalyzer,self).beginLoop() + def beginLoop(self,setup): + super(ttHAlphaTVarAnalyzer,self).beginLoop(setup) self.counters.addCounter('pairs') count = self.counters.counter('pairs') count.register('all events') # Calculate alphaT using jet ET - def makeAlphaT(self, event): + def makeAlphaT(self, jets): - if len(event.cleanJets) == 0: - event.alphaT = 0 - return + if len(jets) == 0: + return 0. px = ROOT.std.vector('double')() py = ROOT.std.vector('double')() et = ROOT.std.vector('double')() -#Make alphaT from lead 10 jets - for jet in event.cleanJets[:10]: + + #Make alphaT from lead 10 jets + for jet in jets[:10]: px.push_back(jet.px()) py.push_back(jet.py()) et.push_back(jet.et()) - pass alphaTCalc = AlphaT() - event.alphaT = alphaTCalc.getAlphaT( et, px, py ) + return alphaTCalc.getAlphaT( et, px, py ) - return + def process(self, event): + self.readCollections( event.input ) - def process(self, iEvent, event): - self.readCollections( iEvent ) + event.alphaT = self.makeAlphaT(event.cleanJets) - event.alphaT = -999 - self.makeAlphaT(event) + #Do the same with gen jets for MC + if self.cfg_comp.isMC: + event.genAlphaT = self.makeAlphaT(event.cleanGenJets) return True diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHCoreEventAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHCoreEventAnalyzer.py index 62d3a88c2bcb..6f6d28a70a4c 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHCoreEventAnalyzer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHCoreEventAnalyzer.py @@ -10,8 +10,16 @@ class ttHCoreEventAnalyzer( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName ): super(ttHCoreEventAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) self.maxLeps = cfg_ana.maxLeps - #self.leptonMVATTH = LeptonMVA("TTH", "%s/src/CMGTools/TTHAnalysis/data/leptonMVA/%%s_BDTG.weights.xml" % os.environ['CMSSW_BASE'], self.cfg_comp.isMC) - self.leptonMVASusy = LeptonMVA("Susy","%s/src/CMGTools/TTHAnalysis/data/leptonMVA/susy/%%s_BDTG.weights.xml" % os.environ['CMSSW_BASE'], self.cfg_comp.isMC) + self.mhtForBiasedDPhi = cfg_ana.mhtForBiasedDPhi + self.jetForBiasedDPhi = cfg_ana.jetForBiasedDPhi + self.leptonMVAKindTTH = getattr(self.cfg_ana, "leptonMVAKindTTH", "Susy") + self.leptonMVAKindSusy = getattr(self.cfg_ana, "leptonMVAKindSusy", "Susy") + self.leptonMVAPathTTH = getattr(self.cfg_ana, "leptonMVAPathTTH", "CMGTools/TTHAnalysis/data/leptonMVA/tth/%s_BDTG.weights.xml") + if self.leptonMVAPathTTH[0] != "/": self.leptonMVAPathTTH = "%s/src/%s" % ( os.environ['CMSSW_BASE'], self.leptonMVAPathTTH) + self.leptonMVATTH = LeptonMVA(self.leptonMVAKindTTH, self.leptonMVAPathTTH, self.cfg_comp.isMC) + self.leptonMVAPathSusy = getattr(self.cfg_ana, "leptonMVAPathSusy", "CMGTools/TTHAnalysis/data/leptonMVA/susy/%s_BDTG.weights.xml") + if self.leptonMVAPathSusy[0] != "/": self.leptonMVAPathSusy = "%s/src/%s" % ( os.environ['CMSSW_BASE'], self.leptonMVAPathSusy) + self.leptonMVASusy = LeptonMVA(self.leptonMVAKindSusy, self.leptonMVAPathSusy, self.cfg_comp.isMC) def declareHandles(self): super(ttHCoreEventAnalyzer, self).declareHandles() @@ -121,15 +129,15 @@ def makeLepPtRel(self, event): #Function to make the biased Dphi def makeBiasedDPhi(self, event): - if len(event.cleanJets) == 0: + jets = getattr(event,self.jetForBiasedDPhi) + if len(jets) == 0: event.biasedDPhi = 0 return - mhtPx = event.mhtJet50jvec.px() - mhtPy = event.mhtJet50jvec.py() + mht = getattr(event,self.mhtForBiasedDPhi) biasedDPhi = 10; - for jet in event.cleanJets: - newPhi = atan2(mhtPy+jet.py(),mhtPx+jet.px()) + for jet in jets: + newPhi = atan2(mht.py()+jet.py(), mht.px()+jet.px()) biasedDPhiTemp = abs(deltaPhi(newPhi,jet.phi())) if biasedDPhiTemp < biasedDPhi: biasedDPhi = biasedDPhiTemp @@ -190,6 +198,22 @@ def process(self, event): event.mhtJet50j = event.mhtJet50jvec.pt() event.mhtPhiJet50j = event.mhtJet50jvec.phi() + #Make 40 and 50 GeV HTs from cleanGenJets + if self.cfg_comp.isMC: + + genObjects40j = [j for j in event.cleanGenJets if j.pt()>40] + genObjects50j = [j for j in event.cleanGenJets if j.pt()>50] + + event.htGenJet40j = sum([x.pt() for x in genObjects40j]) + event.mhtGenJet40jvec = ROOT.reco.Particle.LorentzVector(-1.*(sum([x.px() for x in genObjects40j])) , -1.*(sum([x.py() for x in genObjects40j])), 0, 0 ) + event.mhtGenJet40j = event.mhtGenJet40jvec.pt() + event.mhtPhiGenJet40j = event.mhtGenJet40jvec.phi() + + event.htGenJet50j = sum([x.pt() for x in genObjects50j]) + event.mhtGenJet50jvec = ROOT.reco.Particle.LorentzVector(-1.*(sum([x.px() for x in genObjects50j])) , -1.*(sum([x.py() for x in genObjects50j])), 0, 0 ) + event.mhtGenJet50j = event.mhtGenJet50jvec.pt() + event.mhtPhiGenJet50j = event.mhtGenJet50jvec.phi() + event.htJet40j10l = sum([x.pt() for x in objects40j10l]) event.mhtJet40j10lvec = ROOT.reco.Particle.LorentzVector(-1.*(sum([x.px() for x in objects40j10l])) , -1.*(sum([x.py() for x in objects40j10l])), 0, 0 ) event.mhtJet40j10l = event.mhtJet40j10lvec.pt() @@ -240,10 +264,10 @@ def process(self, event): ##Variables related to IP #Of one lepton w.r.t. the PV of the event - event.absIP3DA = absIP3D(event.selectedLeptons[0],event.goodVertices[0]) if nlep > 0 else (-1,-1) - event.absIP3DB = absIP3D(event.selectedLeptons[1],event.goodVertices[0]) if nlep > 1 else (-1,-1) - event.absIP3DC = absIP3D(event.selectedLeptons[2],event.goodVertices[0]) if nlep > 2 else (-1,-1) - event.absIP3DD = absIP3D(event.selectedLeptons[3],event.goodVertices[0]) if nlep > 3 else (-1,-1) + event.absIP3DA = absIP3D(event.selectedLeptons[0],event.goodVertices[0] if len(event.goodVertices)>0 else event.vertices[0]) if nlep > 0 else (-1,-1) + event.absIP3DB = absIP3D(event.selectedLeptons[1],event.goodVertices[0] if len(event.goodVertices)>0 else event.vertices[0]) if nlep > 1 else (-1,-1) + event.absIP3DC = absIP3D(event.selectedLeptons[2],event.goodVertices[0] if len(event.goodVertices)>0 else event.vertices[0]) if nlep > 2 else (-1,-1) + event.absIP3DD = absIP3D(event.selectedLeptons[3],event.goodVertices[0] if len(event.goodVertices)>0 else event.vertices[0]) if nlep > 3 else (-1,-1) #Of one lepton w.r.t. the PV of the PV of the other leptons only event.absIP3DApvBC = absIP3Dtrkpvtrks(event.selectedLeptons[0],event.selectedLeptons[1],event.selectedLeptons[2],event.selectedLeptons[0],3,0) if nlep > 2 else (-1,-1) @@ -284,11 +308,11 @@ def process(self, event): if thisDeltaPhi < event.deltaPhiMin : event.deltaPhiMin = thisDeltaPhi for lep in event.selectedLeptons: - #lep.mvaValue = self.leptonMVATTH(lep) + lep.mvaValueTTH = self.leptonMVATTH(lep) lep.mvaValueSusy = self.leptonMVASusy(lep) for lep in event.inclusiveLeptons: if lep not in event.selectedLeptons: - #lep.mvaValue = self.leptonMVATTH(lep) + lep.mvaValueTTH = self.leptonMVATTH(lep) lep.mvaValueSusy = self.leptonMVASusy(lep) diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHDeclusterJetsAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHDeclusterJetsAnalyzer.py new file mode 100644 index 000000000000..30659128b2b3 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHDeclusterJetsAnalyzer.py @@ -0,0 +1,232 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle +from PhysicsTools.Heppy.physicsobjects.Jet import Jet +from CMGTools.TTHAnalysis.analyzers.ntupleTypes import ptRelv1 +from PhysicsTools.HeppyCore.utils.deltar import deltaR +from copy import copy +import ROOT + +class ttHDeclusterJetsAnalyzer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(ttHDeclusterJetsAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + # this we copy, since we modify + self.verbose = self.cfg_ana.verbose + + def declareHandles(self): + super(ttHDeclusterJetsAnalyzer, self).declareHandles() + + def beginLoop(self, setup): + super(ttHDeclusterJetsAnalyzer,self).beginLoop(setup) + + def partonCount(self, event): + if not self.cfg_comp.isMC: return True + partons = [ p for p in event.generatorSummary if abs(p.pdgId()) in [1,2,3,4,5,21,22] and p.pt() > self.cfg_ana.mcPartonPtCut ] + leptons = [ l for l in event.genleps + event.gentauleps if l.pt() > self.cfg_ana.mcLeptonPtCut ] + taus = [ t for t in event.gentaus if t.pt() > self.cfg_ana.mcTauPtCut ] + for i,j in enumerate(event.jets): + j.mcNumPartons = sum([(deltaR(p,j) < 0.4) for p in partons ]) + j.mcNumLeptons = sum([(deltaR(p,j) < 0.4) for p in leptons ]) + j.mcNumTaus = sum([(deltaR(p,j) < 0.4) for p in taus ]) + p4any = None + for p in partons+leptons+taus: + if deltaR(p,j) < 0.4: + p4any = p.p4() + p4any if p4any != None else p.p4() + j.mcAnyPartonMass = p4any.M() if p4any != None else 0.0 + #print "Jet %3d of pt %8.2f, eta %+5.2f, mass %6.2f has %2d/%1d/%1d p/l/t for a total inv mass of %8.2f" % ( + # i, j.pt(), j.eta(), j.mass(), j.mcNumPartons, j.mcNumLeptons, j.mcNumTaus, j.mcAnyPartonMass) + + def processJets(self, event): + for j in event.jets: + j.prunedMass = j.mass() + j.nSubJets = 1 + j.nSubJets25 = 1 if j.pt() > 25 else 0 + j.nSubJets30 = 1 if j.pt() > 30 else 0 + j.nSubJets40 = 1 if j.pt() > 40 else 0 + j.nSubJetsZ01 = 1 + if not self.cfg_ana.jetCut(j): + continue + objects = ROOT.std.vector(ROOT.reco.Particle.LorentzVector)() + for idau in xrange(j.numberOfDaughters()): + dau = j.daughter(idau) + objects.push_back(dau.p4()) + if objects.size() <= 1: continue + if self.verbose: print "Jet of pt %8.2f, eta %+5.2f, mass %6.2f " % (j.pt(), j.eta(), j.mass()) + if self.cfg_comp.isMC: + if self.verbose: print "\t partons %2d, leptons %1d, taus %2d (total mass: %8.2f)" % ( j.mcNumPartons, j.mcNumLeptons, j.mcNumTaus, j.mcAnyPartonMass) + if self.cfg_ana.prune: + # kt exclusive + reclusterJets = ROOT.heppy.ReclusterJets(objects, 1.,10) + pruned = reclusterJets.getPruned(self.cfg_ana.pruneZCut,self.cfg_ana.pruneRCutFactor) + j.prunedP4 = pruned + if self.verbose: print "\t pruned mass %8.2f, ptLoss %.3f" % ( pruned.M(), pruned.Pt()/j.pt() ) + # kt inclusive R=0.2 + reclusterJets02 = ROOT.heppy.ReclusterJets(objects, 1.,0.2) + inclusiveJets02 = reclusterJets02.getGrouping(self.cfg_ana.ptMinSubjets) + j.nSubJets25 = sum([(js.pt() > 25) for js in inclusiveJets02]) + j.nSubJets30 = sum([(js.pt() > 30) for js in inclusiveJets02]) + j.nSubJets40 = sum([(js.pt() > 40) for js in inclusiveJets02]) + j.nSubJetsZ01 = sum([(js.pt() > 0.1*j.pt()) for js in inclusiveJets02]) + if self.verbose: print "\t subjets: \n\t\t%s" % ("\n\t\t".join(["pt %8.2f, mass %6.2f" % (js.pt(),js.M()) for js in inclusiveJets02])) + + def processLeptons(self, event): + event.recoveredJets = [] + event.recoveredSplitJets = [] + for l in event.selectedLeptons: + # lepton-jet variable, jet is obtained from reclustering of associated akt04 jet daughters, with kt exclusive + l.jetDecDR = deltaR(l.eta(),l.phi(),l.jet.eta(),l.jet.phi()) + l.jetDecPtRatio = l.pt()/l.jet.pt() + l.jetDecPtRel = ptRelv1(l.p4(),l.jet.p4()) + l.jetDecPrunedPtRatio = l.pt()/l.jet.pt() + l.jetDecPrunedMass = l.jet.mass() + + # lepton-jet variable, jet is obtained from reclustering of associated akt04 jet daughters, with kt inclusive R=0.2 + l.jetDec02DR = deltaR(l.eta(),l.phi(),l.jet.eta(),l.jet.phi()) + l.jetDec02PtRatio = l.pt()/l.jet.pt() + l.jetDec02PtRel = ptRelv1(l.p4(),l.jet.p4()) + l.jetDec02PrunedPtRatio = l.pt()/l.jet.pt() + l.jetDec02PrunedMass = l.jet.mass() + + # # lepton-jet variable, jet is obtained from reclustering of associated ak08 jet daughters, with kt inclusive R=0.2 + # l.fjetDec02DR = deltaR(l.eta(),l.phi(),l.fatjet.eta(),l.fatjet.phi()) + # l.fjetDec02PtRatio = l.pt()/l.fatjet.pt() + # l.fjetDec02PtRel = ptRelv1(l.p4(),l.fatjet.p4()) + # l.fjetDec02PrunedPtRatio = l.pt()/l.fatjet.pt() + # l.fjetDec02PrunedMass = l.fatjet.mass() + + if not self.cfg_ana.lepCut(l,l.jetDecPtRel): continue + if self.verbose and type(self.verbose) == int: self.verbose -= 1 + j = l.jet + fj = l.fatjet + if self.verbose: print "lepton pt %6.1f [mc %d], jet pt %6.1f, mass %6.2f, relIso %5.2f, dr(lep) = %.3f, ptRel v1 = %5.1f, ptF = %5.2f" % (l.pt(), getattr(l,'mcMatchId',0), j.pt(), j.mass(), l.relIso03, l.jetDecDR, l.jetDecPtRel, l.jetDecPtRatio) + objects = ROOT.std.vector(ROOT.reco.Particle.LorentzVector)() + fobjects = ROOT.std.vector(ROOT.reco.Particle.LorentzVector)() + for idau in xrange(j.numberOfDaughters()): + dau = j.daughter(idau) + objects.push_back(dau.p4()) + for fidau in xrange(fj.numberOfDaughters()): + fdau = fj.daughter(fidau) + fobjects.push_back(fdau.p4()) + + + ##### considering only candidates from the ak04 jet + if objects.size() <= 1: continue + # kt exclusive + reclusterJets = ROOT.heppy.ReclusterJets(objects, 1.,10) + # kt inclusive R=0.2 + reclusterJets02 = ROOT.heppy.ReclusterJets(objects, 1.,0.2) + if self.cfg_ana.prune: + pruned = reclusterJets.getPruned(self.cfg_ana.pruneZCut,self.cfg_ana.pruneRCutFactor) + l.jetDecPrunedPtRatio = l.pt()/pruned.pt() + if self.verbose: + print " ... pruned jet mass: %6.2f, ptRelv1 %5.2f, ptFraction %5.2f " % (pruned.mass(), ptRelv1(l.p4(),pruned), l.pt()/pruned.pt()) + + # compute lepton-jet variable, jet is obtained from reclustering of associated akt04 jet daughters, with kt exclusive + for nsub in xrange(2,self.cfg_ana.maxSubjets+1): + if nsub > objects.size(): break + exclusiveJets = reclusterJets.getGroupingExclusive(nsub) + drbest = 1; ibest = -1 + for isub in xrange(len(exclusiveJets)): + sj = exclusiveJets[isub] + dr = deltaR(l.eta(),l.phi(),sj.eta(),sj.phi()) + ptR = ptRelv1(l.p4(),sj) + ptF = l.pt()/sj.pt() + if dr < drbest or ibest == -1: + drbest = dr; ibest = isub + if self.cfg_ana.prune: + pp4 = reclusterJets.getPrunedSubjetExclusive(isub,self.cfg_ana.pruneZCut,self.cfg_ana.pruneRCutFactor) + ppF = l.pt()/pp4.pt() + ppR = ptRelv1(l.p4(),pp4) + pM = pp4.mass() + if self.verbose: + if self.cfg_ana.prune: + print " exclusive subjet %d/%d: pt %6.1f, mass %6.2f (pruned %6.2f), dr(lep) = %.3f, ptRel v1 = %5.1f (pruned %5.1f), ptF = %5.2f (pruned %5.2f)" % (isub,nsub, sj.pt(), sj.mass(), pM, dr, ptR, ppR, ptF, ppF) + else: + print " exlcusive subjet %d/%d: pt %6.1f, mass %6.2f, dr(lep) = %.3f, ptRel v1 = %5.1f, ptF = %5.2f" % (isub,nsub, sj.pt(), sj.mass(), dr, ptR, ptF) + if ibest == -1: continue + sj = exclusiveJets[ibest] + dr = deltaR(l.eta(),l.phi(),sj.eta(),sj.phi()) + ptR = ptRelv1(l.p4(),sj) + ptF = l.pt()/sj.pt() + l.jetDecDR = dr + l.jetDecPtRatio = ptF + l.jetDecPtRel = ptR + if self.cfg_ana.prune: + pp4 = reclusterJets.getPrunedSubjetExclusive(ibest,self.cfg_ana.pruneZCut,self.cfg_ana.pruneRCutFactor) + ppF = l.pt()/pp4.pt() + ppR = ptRelv1(l.p4(),pp4) + pM = pp4.mass() + l.jetDecPrunedPtRatio = ppF #l.pt()/pp4.pt() + l.jetDecPrunedMass = pM #l.jet.mass() + if self.verbose: + if self.cfg_ana.prune: + print " best exclusive subject %d/%d: pt %6.1f, mass %6.2f (pruned %6.2f), dr(lep) = %.3f, ptRel v1 = %5.1f (pruned %5.1f), ptF = %5.2f (pruned %5.2f)" % (ibest,nsub, sj.pt(), sj.mass(), pM, dr, ptR, ppR, ptF, ppF) + else: + print " best exclusive subject %d/%d: pt %6.1f, mass %6.2f, dr(lep) = %.3f, ptRel v1 = %5.1f, ptF = %5.2f" % (ibest,nsub, sj.pt(), sj.mass(), dr, ptR, ptF) + if dr < self.cfg_ana.drMin and ptF < self.cfg_ana.ptRatioMax and (abs(ptF-1) < self.cfg_ana.ptRatioDiff or dr < self.cfg_ana.drMatch or ptR < self.cfg_ana.ptRelMin): + if self.verbose: print " ---> take this as best subject, stop reclustering, consider it successful" + restp4 = None + for (i2,s2) in enumerate(exclusiveJets): + if i2 == ibest: continue + restp4 = s2 if restp4 == None else (restp4 + s2) + prunedJet = copy(l.jet) + prunedJet.physObj = ROOT.pat.Jet(l.jet.physObj) + prunedJet.setP4(s2) + event.recoveredSplitJets.append(prunedJet) + prunedJet = copy(l.jet) + prunedJet.physObj = ROOT.pat.Jet(l.jet.physObj) + prunedJet.setP4(restp4) + event.recoveredJets.append(prunedJet) + break + if self.verbose: print "" + if self.verbose: print "" + event.recoveredJets.sort(key = lambda j : j.pt(), reverse=True) + event.recoveredSplitJets.sort(key = lambda j : j.pt(), reverse=True) + + # lepton-jet variable, jet is obtained from reclustering of associated akt04 jet daughters, with kt inclusive R=0.2 + inclusiveJets02 = reclusterJets02.getGrouping(self.cfg_ana.ptMinSubjets) + drbest = 1; ibest = -1 + for isub in xrange(len(inclusiveJets02)): + ij = inclusiveJets02[isub] + dr = deltaR(l.eta(),l.phi(),ij.eta(),ij.phi()) + ptR = ptRelv1(l.p4(),ij) + ptF = l.pt()/ij.pt() + if dr < drbest or ibest == -1: + drbest = dr; ibest = isub + if self.cfg_ana.prune: + pp4 = reclusterJets02.getPrunedSubjetInclusive(isub,self.cfg_ana.pruneZCut,self.cfg_ana.pruneRCutFactor) + ppF = l.pt()/pp4.pt() + ppR = ptRelv1(l.p4(),pp4) + pM = pp4.mass() + if self.verbose: + if self.cfg_ana.prune: + print " inclusive subjet %d/%d: pt %6.1f, mass %6.2f (pruned %6.2f), dr(lep) = %.3f, ptRel v1 = %5.1f (pruned %5.1f), ptF = %5.2f (pruned %5.2f)" % (isub,nsub, ij.pt(), ij.mass(), pM, dr, ptR, ppR, ptF, ppF) + else: + print " inclusive subjet %d/%d: pt %6.1f, mass %6.2f, dr(lep) = %.3f, ptRel v1 = %5.1f, ptF = %5.2f" % (isub,nsub, ij.pt(), ij.mass(), dr, ptR, ptF) + if ibest != -1: + ij = inclusiveJets02[ibest] + dr = deltaR(l.eta(),l.phi(),ij.eta(),ij.phi()) + ptR = ptRelv1(l.p4(),ij) + ptF = l.pt()/ij.pt() + l.jetDec02DR = dr + l.jetDec02PtRatio = ptF + l.jetDec02PtRel = ptR + if self.cfg_ana.prune: + pp4 = reclusterJets02.getPrunedSubjetInclusive(ibest,self.cfg_ana.pruneZCut,self.cfg_ana.pruneRCutFactor) + ppF = l.pt()/pp4.pt() + ppR = ptRelv1(l.p4(),pp4) + pM = pp4.mass() + l.jetDec02PrunedPtRatio = ppF #l.pt()/pp4.pt() + l.jetDec02PrunedMass = pM #l.jet.mass() + if self.verbose: + if self.cfg_ana.prune: + print " best inclusive subject %d/%d: pt %6.1f, mass %6.2f (pruned %6.2f), dr(lep) = %.3f, ptRel v1 = %5.1f (pruned %5.1f), ptF = %5.2f (pruned %5.2f)" % (ibest,nsub, ij.pt(), ij.mass(), pM, dr, ptR, ppR, ptF, ppF) + else: + print " best inclusive subject %d/%d: pt %6.1f, mass %6.2f, dr(lep) = %.3f, ptRel v1 = %5.1f, ptF = %5.2f" % (ibest,nsub, ij.pt(), ij.mass(), dr, ptR, ptF) + + + + def process(self, event): + self.partonCount(event) + self.processJets(event) + self.processLeptons(event) + return True diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHFatJetAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHFatJetAnalyzer.py index 647d365569c1..f308a4bd0492 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHFatJetAnalyzer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHFatJetAnalyzer.py @@ -48,6 +48,20 @@ def process(self, event): if self.testJetID (jet ): event.fatJets.append(jet) + ## Associate jets to leptons + leptons = event.inclusiveLeptons if hasattr(event, 'inclusiveLeptons') else event.selectedLeptons + jlpairs = matchObjectCollection( leptons, allJets, self.jetLepDR**2) + + for jet in allJets: + jet.leptons = [l for l in jlpairs if jlpairs[l] == jet ] + + for lep in leptons: + jet = jlpairs[lep] + if jet is None: + lep.fatjet = lep.jet + else: + lep.fatjet = jet + def testJetID(self, jet): #jet.puJetIdPassed = jet.puJetId() diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHGenBinningAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHGenBinningAnalyzer.py new file mode 100644 index 000000000000..87dd587b3b74 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHGenBinningAnalyzer.py @@ -0,0 +1,49 @@ +import operator +import itertools +import copy + +#from ROOT import TLorentzVector + +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +#from CMGTools.RootTools.physicsobjects.genutils import * + +class ttHGenBinningAnalyzer( Analyzer ): + """ + Add the Gen Level binning quantities to the event for validation of MC reweighting + """ + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(ttHGenBinningAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + + #--------------------------------------------- + # DECLARATION OF HANDLES OF GEN LEVEL OBJECTS + #--------------------------------------------- + + + def declareHandles(self): + super(ttHGenBinningAnalyzer, self).declareHandles() + + self.mchandles['genInfo'] = AutoHandle( 'generator', 'GenEventInfoProduct' ) + + def beginLoop(self, setup): + super(ttHGenBinningAnalyzer,self).beginLoop( setup ) + + def addGenBinning(self,event): + if self.mchandles['genInfo'].product().hasBinningValues(): + event.genBin = self.mchandles['genInfo'].product().binningValues()[0] + else: + event.genBin = -999 + + event.genQScale = self.mchandles['genInfo'].product().qScale() + + def process(self, event): + self.readCollections( event.input ) + + # if not MC, nothing to do + if not self.cfg_comp.isMC: + return True + + self.addGenBinning(event) + return True + diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHGenLevelAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHGenLevelAnalyzer.py index b6dfb08c341e..bdd983453478 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHGenLevelAnalyzer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHGenLevelAnalyzer.py @@ -54,8 +54,8 @@ def declareHandles(self): #mc information self.mchandles['genParticles'] = AutoHandle( 'prunedGenParticles', 'std::vector' ) - #if self.doPDFWeights: - self.mchandles['pdfstuff'] = AutoHandle( 'generator', 'GenEventInfoProduct' ) + if self.doPDFWeights: + self.mchandles['pdfstuff'] = AutoHandle( 'generator', 'GenEventInfoProduct' ) def beginLoop(self, setup): super(ttHGenLevelAnalyzer,self).beginLoop( setup ) @@ -243,14 +243,6 @@ def makePDFWeights(self, event): event.pdfWeights[pdf] = [w for w in ws] #print "Produced %d weights for %s: %s" % (len(ws),pdf,event.pdfWeights[pdf]) - def addGenBinning(self,event): - if self.mchandles['pdfstuff'].product().hasBinningValues(): - event.genBin = self.mchandles['pdfstuff'].product().binningValues()[0] - else: - event.genBin = -999 - - event.genQScale = self.mchandles['pdfstuff'].product().qScale() - def process(self, event): self.readCollections( event.input ) @@ -266,8 +258,6 @@ def process(self, event): # do MC level analysis self.makeMCInfo(event) - self.addGenBinning(event) - # if MC and filtering on the Higgs decay mode, # them do filter events if self.cfg_ana.filterHiggsDecays: diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHHeavyFlavourHadronAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHHeavyFlavourHadronAnalyzer.py index 5002bc27266f..73023129f369 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHHeavyFlavourHadronAnalyzer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHHeavyFlavourHadronAnalyzer.py @@ -11,7 +11,6 @@ def declareHandles(self): def beginLoop(self, setup): super(ttHHeavyFlavourHadronAnalyzer,self).beginLoop(setup) - def process(self, event): self.readCollections( event.input ) if not self.cfg_comp.isMC: return True @@ -57,6 +56,14 @@ def descendent(child, bhadron): # OK, here we are g.flav = myflav heavyHadrons.append(g) + + # if none is found, give up here without going through the rest, so we avoid e.g. mc matching for jets + if len(heavyHadrons) == 0: + event.genHeavyHadrons = heavyHadrons + event.genBHadrons = [ h for h in heavyHadrons if h.flav == 5 ] + event.genDHadrons = [ h for h in heavyHadrons if h.flav == 4 ] + return True + # match with IVF had_ivf_pairs = [] #print "\nNew event" @@ -83,15 +90,23 @@ def descendent(child, bhadron): # print " had %d is already matched " % (ihad,) # match with jets: had_jet_pairs = [] + # first loop on jets, get and match daughters + jetsWithMatchedDaughters = [] + for j in event.jetsIdOnly: + dausWithMatch = [] + for idau in xrange(j.numberOfDaughters()): + dau = j.daughter(idau) + if dau.charge() == 0 or abs(dau.eta()) > 2.5: continue + mct, dr, dpt = matchToGenHadron(dau, event, minDR=0.05, minDpt=0.1) + if mct == None: continue + dausWithMatch.append((dau,mct)) + jetsWithMatchedDaughters.append((j,dausWithMatch)) for ihad, had in enumerate(heavyHadrons): had.jet = None - for ij,j in enumerate(event.jetsIdOnly): + for ij,(j,dausWithMatch) in enumerate(jetsWithMatchedDaughters): shared_n, shared_pt = 0, 0 - for dau in [j.daughter(i) for i in xrange(j.numberOfDaughters())]: - if dau.charge() == 0 or abs(dau.eta()) > 2.5: continue - mct, dr, dpt = matchToGenHadron(dau, event, minDR=0.05, minDpt=0.1) - if mct == None: continue - if descendent(mct,had): + for dau,mct in dausWithMatch: + if descendent(mct,had): shared_n += 1; shared_pt += mct.pt() if shared_n: had_jet_pairs.append( (ihad, ij, shared_n, shared_pt) ) diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHIsoTrackSkimmer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHIsoTrackSkimmer.py index cb3db829ce1a..ccd0d7c7bb5a 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHIsoTrackSkimmer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHIsoTrackSkimmer.py @@ -1,11 +1,11 @@ import os import logging -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.Event import Event -from CMGTools.RootTools.statistics.Counter import Counter, Counters -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle -from CMGTools.RootTools.utils.DeltaR import deltaR +from PhysicsTools.HeppyCore.utils.deltar import deltaR +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle class ttHIsoTrackSkimmer( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName ): @@ -23,8 +23,8 @@ def __init__(self, cfg_ana, cfg_comp, looperName ): def declareHandles(self): super(ttHIsoTrackSkimmer, self).declareHandles() - def beginLoop(self): - super(ttHIsoTrackSkimmer,self).beginLoop() + def beginLoop(self,setup): + super(ttHIsoTrackSkimmer,self).beginLoop(setup) self.counters.addCounter('events') count = self.counters.counter('events') count.register('all events') @@ -34,8 +34,8 @@ def beginLoop(self): - def process(self, iEvent, event): - self.readCollections( iEvent ) + def process(self, event): + self.readCollections( event.input ) self.counters.counter('events').inc('all events') diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHJZBTopologicalVars.py b/CMGTools/TTHAnalysis/python/analyzers/ttHJZBTopologicalVars.py new file mode 100644 index 000000000000..d80569d79c80 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHJZBTopologicalVars.py @@ -0,0 +1,97 @@ +import operator +import itertools +import copy +from math import * + +from ROOT import std +from ROOT import TLorentzVector, TVectorD + +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +from PhysicsTools.HeppyCore.utils.deltar import deltaR + + +import ROOT + +import os + + +class ttHJZBTopologicalVars( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(ttHJZBTopologicalVars,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(ttHJZBTopologicalVars, self).declareHandles() + #genJets + self.handles['genJets'] = AutoHandle( 'slimmedGenJets','std::vector') + + def beginLoop(self, setup): + super(ttHJZBTopologicalVars,self).beginLoop(setup) + self.counters.addCounter('pairs') + count = self.counters.counter('pairs') + count.register('all events') + + def makeMETRecoil(self, event): + + if len(event.selectedLeptons) > 1: + event.METRecoil = event.met.p4() + event.selectedLeptons[0].p4() + event.selectedLeptons[1].p4() + + + def makeHadronicRecoil(self, event): + objectsjet40 = [ j for j in event.cleanJets if j.pt() > 40 and abs(j.eta())<3.0 ] + if len(objectsjet40)>0: + for jet in objectsjet40: + event.HadronicRecoil = event.HadronicRecoil + jet.p4() + + def makeJZB(self, event): + + if len(event.selectedLeptons) > 1: + event.jzb = event.METRecoil.pt() - (event.selectedLeptons[0].p4() + event.selectedLeptons[1].p4()).pt() + + def makeZVars(self, event): + + if len(event.selectedLeptons) > 1: + event.l1l2_m = (event.selectedLeptons[0].p4() + event.selectedLeptons[1].p4()).M() + event.l1l2_pt = (event.selectedLeptons[0].p4() + event.selectedLeptons[1].p4()).pt() + event.l1l2_eta = (event.selectedLeptons[0].p4() + event.selectedLeptons[1].p4()).eta() + event.l1l2_phi = (event.selectedLeptons[0].p4() + event.selectedLeptons[1].p4()).phi() + event.l1l2_DR = deltaR(event.selectedLeptons[0].eta(), event.selectedLeptons[0].phi(), event.selectedLeptons[1].eta(), event.selectedLeptons[1].phi()) + + def makeZGenVars(self, event): + + if len(event.genleps) > 1: + event.genl1l2_m = (event.genleps[0].p4() + event.genleps[1].p4()).M() + event.genl1l2_pt = (event.genleps[0].p4() + event.genleps[1].p4()).pt() + event.genl1l2_eta = (event.genleps[0].p4() + event.genleps[1].p4()).eta() + event.genl1l2_phi = (event.genleps[0].p4() + event.genleps[1].p4()).phi() + event.genl1l2_DR = deltaR(event.genleps[0].eta(), event.genleps[0].phi(), event.genleps[1].eta(), event.genleps[1].phi()) + + def process(self, event): + self.readCollections( event.input ) + + event.l1l2_m = 0 + event.l1l2_pt = 0 + event.l1l2_eta = 0 + event.l1l2_phi = 0 + event.l1l2_DR = 0 + + event.genl1l2_m = 0 + event.genl1l2_pt = 0 + event.genl1l2_eta = 0 + event.genl1l2_phi = 0 + event.genl1l2_DR = 0 + + event.jzb = 0 + event.HadronicRecoil = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + event.METRecoil = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + + self.makeZVars(event) + self.makeZGenVars(event) + self.makeMETRecoil(event) + self.makeHadronicRecoil(event) + self.makeJZB(event) + + return True diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHJetMETSkimmer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHJetMETSkimmer.py index b521ed5ab192..e154cd5a620d 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHJetMETSkimmer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHJetMETSkimmer.py @@ -1,8 +1,7 @@ - -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.Event import Event -from CMGTools.RootTools.statistics.Counter import Counter, Counters -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle class ttHJetMETSkimmer( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName ): @@ -12,8 +11,8 @@ def __init__(self, cfg_ana, cfg_comp, looperName ): def declareHandles(self): super(ttHJetMETSkimmer, self).declareHandles() - def beginLoop(self): - super(ttHJetMETSkimmer,self).beginLoop() + def beginLoop(self,setup): + super(ttHJetMETSkimmer,self).beginLoop(setup) self.counters.addCounter('events') count = self.counters.counter('events') count.register('all events') @@ -26,8 +25,8 @@ def beginLoop(self): count.register('accepted events') - def process(self, iEvent, event): - self.readCollections( iEvent ) + def process(self, event): + self.readCollections( event.input ) self.counters.counter('events').inc('all events') jets = getattr(event, self.cfg_ana.jets) diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHJetTauAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHJetTauAnalyzer.py new file mode 100644 index 000000000000..5dc06f063a11 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHJetTauAnalyzer.py @@ -0,0 +1,28 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +#from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle + + +class ttHJetTauAnalyzer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(ttHJetTauAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(ttHJetTauAnalyzer, self).declareHandles() + + def beginLoop(self, setup): + super(ttHJetTauAnalyzer,self).beginLoop(setup) + + def findNonTauJets(self, jets): + iJetNoTau = [] + for ij in xrange(len(jets)): + if not jets[ij].taus: + iJetNoTau.append(ij) + + return iJetNoTau + + def process(self, event): + self.readCollections(event.input) + + event.jetsNonTauIdx = self.findNonTauJets(event.cleanJets) + + return True diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHMT2Control.py b/CMGTools/TTHAnalysis/python/analyzers/ttHMT2Control.py index 0f0f82e731e2..d6d3c172046e 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHMT2Control.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHMT2Control.py @@ -50,6 +50,17 @@ def makeMT(self, event): if myTrack.pt()>10 and myTrack.absIso/myTrack.pt()<0.1: event.nPFHad10LowMT += 1 + leptons = [] + if hasattr(event, 'selectedLeptons'): + leptons = [ l for l in event.selectedLeptons if l.pt() > 10] + if hasattr(event, 'selectedIsoCleanTrack'): + leptons = leptons[:] + event.selectedIsoCleanTrack + if len(leptons)>0: + for lepton in leptons: + mtwLep = mtw(lepton, event.met) + if mtwLep < 100: + event.nLepLowMT +=1 + def makeGammaObjects(self, event): import ROOT @@ -165,6 +176,7 @@ def process(self, event): self.makeGammaObjects(event) self.makeZllObjects(event) + event.nLepLowMT =0 event.nPFLep5LowMT = 0 event.nPFHad10LowMT = 0 event.mtw=-999 diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHObjectSkimmer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHObjectSkimmer.py index 802b17eab74c..b5cd1d3ea9fd 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHObjectSkimmer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHObjectSkimmer.py @@ -1,10 +1,10 @@ import os import logging -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.Event import Event -from CMGTools.RootTools.statistics.Counter import Counter, Counters -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle class ttHObjectSkimmer( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName ): @@ -40,8 +40,8 @@ def __init__(self, cfg_ana, cfg_comp, looperName ): def declareHandles(self): super(ttHObjectSkimmer, self).declareHandles() - def beginLoop(self): - super(ttHObjectSkimmer,self).beginLoop() + def beginLoop(self,setup): + super(ttHObjectSkimmer,self).beginLoop(setup) self.counters.addCounter('events') count = self.counters.counter('events') count.register('all events') @@ -50,8 +50,8 @@ def beginLoop(self): count.register('accepted events') - def process(self, iEvent, event): - self.readCollections( iEvent ) + def process(self, event): + self.readCollections( event.input ) self.counters.counter('events').inc('all events') diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHPrescaler.py b/CMGTools/TTHAnalysis/python/analyzers/ttHPrescaler.py new file mode 100644 index 000000000000..7db5b878ba7b --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHPrescaler.py @@ -0,0 +1,28 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer + +class ttHPrescaler( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(ttHPrescaler,self).__init__(cfg_ana,cfg_comp,looperName) + self.prescaleFactor = cfg_ana.prescaleFactor + self.events = 0 + + def declareHandles(self): + super(ttHPrescaler, self).declareHandles() + + def beginLoop(self, setup): + super(ttHPrescaler,self).beginLoop(setup) + self.counters.addCounter('events') + count = self.counters.counter('events') + count.register('all events') + count.register('accepted events') + + + def process(self, event): + self.events += 1 + self.counters.counter('events').inc('all events') + if (self.events % self.prescaleFactor == 1): + self.counters.counter('events').inc('accepted events') + return True + else: + return False + diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHReclusterJetsAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHReclusterJetsAnalyzer.py index a39224a49c8b..a30f911327c3 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHReclusterJetsAnalyzer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHReclusterJetsAnalyzer.py @@ -1,33 +1,38 @@ -from CMGTools.RootTools.fwlite.Analyzer import Analyzer -from CMGTools.RootTools.fwlite.AutoHandle import AutoHandle +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle +from ROOT.heppy import ReclusterJets import ROOT + class ttHReclusterJetsAnalyzer( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName ): super(ttHReclusterJetsAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + self.pTSubJet = self.cfg_ana.pTSubJet if hasattr(self.cfg_ana, 'pTSubJet') else 30.0 + self.etaSubJet = self.cfg_ana.etaSubJet if hasattr(self.cfg_ana, 'etaSubJet') else 5.0 def declareHandles(self): super(ttHReclusterJetsAnalyzer, self).declareHandles() #genJets self.handles['genJets'] = AutoHandle( 'slimmedGenJets','std::vector') - def beginLoop(self): - super(ttHReclusterJetsAnalyzer,self).beginLoop() + def beginLoop(self, setup): + super(ttHReclusterJetsAnalyzer,self).beginLoop(setup) self.counters.addCounter('pairs') count = self.counters.counter('pairs') count.register('all events') def makeFatJets(self, event): - objects40jc = [ j for j in event.cleanJets if j.pt() > 40.0 and abs(j.eta())<2.4 ] - - if len(objects40jc)>=1: + objectsJ = [ j for j in event.cleanJetsAll if j.pt() > self.pTSubJet and abs(j.eta())=1: objects = ROOT.std.vector(ROOT.reco.Particle.LorentzVector)() - for jet in objects40jc: + for jet in objectsJ: objects.push_back(jet.p4()) - reclusterJets = ROOT.ReclusterJets(objects, 1.,1.2) + reclusterJets = ReclusterJets(objects, 1.,1.2) inclusiveJets = reclusterJets.getGrouping() # maybe should dress them as Jet objects in the future @@ -36,8 +41,8 @@ def makeFatJets(self, event): # note 1: just taking inclusiveJets is not ok, since it's not a python list but a std::vector # note 2: [p4 for p4 in inclusiveJets] is also bad, since these are references to values inside a temporary std::vector - def process(self, iEvent, event): - self.readCollections( iEvent ) + def process(self, event): + self.readCollections( event.input ) event.reclusteredFatJets = [] self.makeFatJets(event) diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHSTSkimmer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHSTSkimmer.py new file mode 100644 index 000000000000..0d5b74e9119d --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHSTSkimmer.py @@ -0,0 +1,27 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer + +class ttHSTSkimmer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(ttHSTSkimmer,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(ttHSTSkimmer, self).declareHandles() + + def beginLoop(self, setup): + super(ttHSTSkimmer,self).beginLoop(setup) + self.counters.addCounter('events') + count = self.counters.counter('events') + count.register('all events') + count.register('accepted events') + + + def process(self, event): + self.readCollections( event.input ) + self.counters.counter('events').inc('all events') + + if(len(event.selectedLeptons)<1): #ST not defined for events without selected leptons --> skip + return False + if(event.selectedLeptons[0].pt()+event.met.pt()0 else event.vertices[0] for sv in allivf: #sv.dz = SignedImpactParameterComputer.vertexDz(sv, pv) sv.dxy = SignedImpactParameterComputer.vertexDxy(sv, pv) @@ -74,7 +74,7 @@ def process(self, event): event.ivf = allivf - if self.cfg_comp.isMC: + if self.cfg_comp.isMC and self.cfg_ana.do_mc_match: event.packedGenForHadMatch = [ (p.eta(),p.phi(),p) for p in self.mchandles['packedGen'].product() if p.charge() != 0 and abs(p.eta()) < 2.7 ] event.packedGenForHadMatch.sort(key = lambda (e,p,x) : e) for s in event.ivf: diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHTopoVarAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHTopoVarAnalyzer.py index 80e8c48b53be..0a3c7ae60a65 100644 --- a/CMGTools/TTHAnalysis/python/analyzers/ttHTopoVarAnalyzer.py +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHTopoVarAnalyzer.py @@ -13,12 +13,6 @@ from PhysicsTools.HeppyCore.utils.deltar import deltaR -from ROOT.heppy import Hemisphere -from ROOT.heppy import ReclusterJets - -from ROOT.heppy import Davismt2 -davismt2 = Davismt2() - from ROOT.heppy import mt2w_bisect mt2wSNT = mt2w_bisect.mt2w() @@ -35,8 +29,6 @@ def __init__(self, cfg_ana, cfg_comp, looperName ): def declareHandles(self): super(ttHTopoVarAnalyzer, self).declareHandles() - #genJets - self.handles['genJets'] = AutoHandle( 'slimmedGenJets','std::vector') def beginLoop(self, setup): super(ttHTopoVarAnalyzer,self).beginLoop(setup) @@ -62,369 +54,13 @@ def makeMinMTGamma(self,event): mtTemp = mtw(bjet, event.gamma_met) event.gamma_minMTBMet = min(event.gamma_minMTBMet,mtTemp) - def computeMT2(self, visaVec, visbVec, metVec): - - import array - import numpy - - metVector = array.array('d',[0.,metVec.px(), metVec.py()]) - visaVector = array.array('d',[0.,visaVec.px(), visaVec.py()]) - visbVector = array.array('d',[0.,visbVec.px(), visbVec.py()]) - - davismt2.set_momenta(visaVector,visbVector,metVector); - davismt2.set_mn(0); - - return davismt2.get_mt2() - - - def makeMT2(self, event): + def makeMT2W(self, event): # print '==> INSIDE THE PRINT MT2' -# print 'MET=',event.met.pt() +# print 'MET=',event.met.pt() import array import numpy - -## ===> hadronic MT2 (as used in the SUS-13-019) - - objects40jc = [ j for j in event.cleanJets if j.pt() > 40 and abs(j.eta())<2.5 ] - - -#### get hemispheres via AntiKT -1 antikt, 1 kt, 0 CA - if len(objects40jc)>=2: - - objects = ROOT.std.vector(ROOT.reco.Particle.LorentzVector)() - for jet in objects40jc: - objects.push_back(jet.p4()) - - hemisphereViaKt = ReclusterJets(objects, 1.,50.0) - groupingViaKt=hemisphereViaKt.getGroupingExclusive(2) - - if len(groupingViaKt)>=2: - event.pseudoViaKtJet1_had = ROOT.reco.Particle.LorentzVector(groupingViaKt[0]) - event.pseudoViaKtJet2_had = ROOT.reco.Particle.LorentzVector(groupingViaKt[1]) - event.mt2ViaKt_had = self.computeMT2(event.pseudoViaKtJet1_had, event.pseudoViaKtJet2_had, event.met) - - if not self.cfg_ana.doOnlyDefault: - hemisphereViaAKt = ReclusterJets(objects, -1.,50.0) - groupingViaAKt=hemisphereViaAKt.getGroupingExclusive(2) - - if len(groupingViaAKt)>=2: - event.pseudoViaKtJet1_had = ROOT.reco.Particle.LorentzVector(groupingViaAKt[0]) - event.pseudoViaKtJet2_had = ROOT.reco.Particle.LorentzVector(groupingViaAKt[1]) - event.mt2ViaAKt_had = self.computeMT2(event.pseudoViaAKtJet1_had, event.pseudoViaAKtJet2_had, event.met) - -#### get hemispheres (seed 2: max inv mass, association method: default 3 = minimal lund distance) - - if len(objects40jc)>=2: - - pxvec = ROOT.std.vector(float)() - pyvec = ROOT.std.vector(float)() - pzvec = ROOT.std.vector(float)() - Evec = ROOT.std.vector(float)() - grouping = ROOT.std.vector(int)() - - for jet in objects40jc: - pxvec.push_back(jet.px()) - pyvec.push_back(jet.py()) - pzvec.push_back(jet.pz()) - Evec.push_back(jet.energy()) - - hemisphere = Hemisphere(pxvec, pyvec, pzvec, Evec, 2, 3) - grouping=hemisphere.getGrouping() -## print 'grouping ',len(grouping) - - pseudoJet1px = 0 - pseudoJet1py = 0 - pseudoJet1pz = 0 - pseudoJet1energy = 0 - multPSJ1 = 0 - - pseudoJet2px = 0 - pseudoJet2py = 0 - pseudoJet2pz = 0 - pseudoJet2energy = 0 - multPSJ2 = 0 - - for index in range(0, len(pxvec)): - if(grouping[index]==1): - pseudoJet1px += pxvec[index] - pseudoJet1py += pyvec[index] - pseudoJet1pz += pzvec[index] - pseudoJet1energy += Evec[index] - multPSJ1 += 1 - if(grouping[index]==2): - pseudoJet2px += pxvec[index] - pseudoJet2py += pyvec[index] - pseudoJet2pz += pzvec[index] - pseudoJet2energy += Evec[index] - multPSJ2 += 1 - - pseudoJet1pt2 = pseudoJet1px*pseudoJet1px + pseudoJet1py*pseudoJet1py - pseudoJet2pt2 = pseudoJet2px*pseudoJet2px + pseudoJet2py*pseudoJet2py - - if pseudoJet1pt2 >= pseudoJet2pt2: - event.pseudoJet1_had = ROOT.reco.Particle.LorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) - event.pseudoJet2_had = ROOT.reco.Particle.LorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) - event.multPseudoJet1_had = multPSJ1 - event.multPseudoJet2_had = multPSJ2 - else: - event.pseudoJet2_had = ROOT.reco.Particle.LorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) - event.pseudoJet1_had = ROOT.reco.Particle.LorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) - event.multPseudoJet1_had = multPSJ2 - event.multPseudoJet2_had = multPSJ1 - - event.mt2_had = self.computeMT2(event.pseudoJet1_had, event.pseudoJet2_had, event.met) - -#### do same things for GEN - - allGenJets = [ x for x in self.handles['genJets'].product() ] - objects40jc_Gen = [ j for j in allGenJets if j.pt() > 40 and abs(j.eta())<2.5 ] - - if len(objects40jc_Gen)>=2: - - pxvec = ROOT.std.vector(float)() - pyvec = ROOT.std.vector(float)() - pzvec = ROOT.std.vector(float)() - Evec = ROOT.std.vector(float)() - grouping = ROOT.std.vector(int)() - - for jet in objects40jc_Gen: - pxvec.push_back(jet.px()) - pyvec.push_back(jet.py()) - pzvec.push_back(jet.pz()) - Evec.push_back(jet.energy()) - - #### get hemispheres (seed 2: max inv mass, association method: default 3 = minimal lund distance) - hemisphere = Hemisphere(pxvec, pyvec, pzvec, Evec, 2, 3) - grouping=hemisphere.getGrouping() -## print 'grouping ',len(grouping) - - pseudoJet1px = 0 - pseudoJet1py = 0 - pseudoJet1pz = 0 - pseudoJet1energy = 0 - - pseudoJet2px = 0 - pseudoJet2py = 0 - pseudoJet2pz = 0 - pseudoJet2energy = 0 - - for index in range(0, len(pxvec)): - if(grouping[index]==1): - pseudoJet1px += pxvec[index] - pseudoJet1py += pyvec[index] - pseudoJet1pz += pzvec[index] - pseudoJet1energy += Evec[index] - if(grouping[index]==2): - pseudoJet2px += pxvec[index] - pseudoJet2py += pyvec[index] - pseudoJet2pz += pzvec[index] - pseudoJet2energy += Evec[index] - - pseudoGenJet1 = ROOT.reco.Particle.LorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) - pseudoGenJet2 = ROOT.reco.Particle.LorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) - - event.mt2_gen = self.computeMT2(pseudoGenJet1, pseudoGenJet2, event.met.genMET()) - - -## ===> full MT2 (jets + leptons) - objects10lc = [ l for l in event.selectedLeptons if l.pt() > 10 and abs(l.eta())<2.5 ] - if hasattr(event, 'selectedIsoCleanTrack'): - objects10lc = [ l for l in event.selectedLeptons if l.pt() > 10 and abs(l.eta())<2.5 ] + [ t for t in event.selectedIsoCleanTrack ] - - objects40j10lc = objects40jc + objects10lc - - objects40j10lc.sort(key = lambda obj : obj.pt(), reverse = True) - - if len(objects40j10lc)>=2: - - pxvec = ROOT.std.vector(float)() - pyvec = ROOT.std.vector(float)() - pzvec = ROOT.std.vector(float)() - Evec = ROOT.std.vector(float)() - grouping = ROOT.std.vector(int)() - - for obj in objects40j10lc: - pxvec.push_back(obj.px()) - pyvec.push_back(obj.py()) - pzvec.push_back(obj.pz()) - Evec.push_back(obj.energy()) - - #for obj in objects_fullmt2: - # print "pt: ", obj.pt(), ", eta: ", obj.eta(), ", phi: ", obj.phi(), ", mass: ", obj.mass() - - #### get hemispheres (seed 2: max inv mass, association method: default 3 = minimal lund distance) - - hemisphere = Hemisphere(pxvec, pyvec, pzvec, Evec, 2, 3) - grouping=hemisphere.getGrouping() -## print 'grouping ',len(grouping) - - pseudoJet1px = 0 - pseudoJet1py = 0 - pseudoJet1pz = 0 - pseudoJet1energy = 0 - - pseudoJet2px = 0 - pseudoJet2py = 0 - pseudoJet2pz = 0 - pseudoJet2energy = 0 - - for index in range(0, len(pxvec)): - if(grouping[index]==1): - pseudoJet1px += pxvec[index] - pseudoJet1py += pyvec[index] - pseudoJet1pz += pzvec[index] - pseudoJet1energy += Evec[index] - if(grouping[index]==2): - pseudoJet2px += pxvec[index] - pseudoJet2py += pyvec[index] - pseudoJet2pz += pzvec[index] - pseudoJet2energy += Evec[index] - - pseudoJet1pt2 = pseudoJet1px*pseudoJet1px + pseudoJet1py*pseudoJet1py - pseudoJet2pt2 = pseudoJet2px*pseudoJet2px + pseudoJet2py*pseudoJet2py - - if pseudoJet1pt2 >= pseudoJet2pt2: - event.pseudoJet1 = ROOT.reco.Particle.LorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) - event.pseudoJet2 = ROOT.reco.Particle.LorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) - else: - event.pseudoJet2 = ROOT.reco.Particle.LorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) - event.pseudoJet1 = ROOT.reco.Particle.LorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) - - ### - - event.mt2 = self.computeMT2(event.pseudoJet1, event.pseudoJet2, event.met) - - -## ===> full gamma_MT2 - - gamma_objects40jc = [ j for j in event.gamma_cleanJets if j.pt() > 40 and abs(j.eta())<2.5 ] - - gamma_objects40j10lc = gamma_objects40jc + objects10lc - - gamma_objects40j10lc.sort(key = lambda obj : obj.pt(), reverse = True) - -## if len(gamma_objects40j10lc)>=2: - if len(gamma_objects40jc)>=2: - - pxvec = ROOT.std.vector(float)() - pyvec = ROOT.std.vector(float)() - pzvec = ROOT.std.vector(float)() - Evec = ROOT.std.vector(float)() - grouping = ROOT.std.vector(int)() - -## for obj in objects40j10lc: - for obj in gamma_objects40jc: - pxvec.push_back(obj.px()) - pyvec.push_back(obj.py()) - pzvec.push_back(obj.pz()) - Evec.push_back(obj.energy()) - - #### get hemispheres (seed 2: max inv mass, association method: default 3 = minimal lund distance) - - hemisphere = Hemisphere(pxvec, pyvec, pzvec, Evec, 2, 3) - grouping=hemisphere.getGrouping() -## print 'grouping ',len(grouping) - - pseudoJet1px = 0 - pseudoJet1py = 0 - pseudoJet1pz = 0 - pseudoJet1energy = 0 - - pseudoJet2px = 0 - pseudoJet2py = 0 - pseudoJet2pz = 0 - pseudoJet2energy = 0 - - for index in range(0, len(pxvec)): - if(grouping[index]==1): - pseudoJet1px += pxvec[index] - pseudoJet1py += pyvec[index] - pseudoJet1pz += pzvec[index] - pseudoJet1energy += Evec[index] - if(grouping[index]==2): - pseudoJet2px += pxvec[index] - pseudoJet2py += pyvec[index] - pseudoJet2pz += pzvec[index] - pseudoJet2energy += Evec[index] - - event.gamma_pseudoJet1 = ROOT.reco.Particle.LorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) - event.gamma_pseudoJet2 = ROOT.reco.Particle.LorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) - - event.gamma_mt2 = self.computeMT2(event.gamma_pseudoJet1, event.gamma_pseudoJet2, event.gamma_met) - -## ===> zll_MT2 - - csLeptons = [ l for l in event.selectedLeptons if l.pt() > 10 and abs(l.eta()) < 2.5 ] - - if len(csLeptons)==2 and len(objects40jc)>=2: - - pxvec = ROOT.std.vector(float)() - pyvec = ROOT.std.vector(float)() - pzvec = ROOT.std.vector(float)() - Evec = ROOT.std.vector(float)() - grouping = ROOT.std.vector(int)() - - for obj in objects40jc: - pxvec.push_back(obj.px()) - pyvec.push_back(obj.py()) - pzvec.push_back(obj.pz()) - Evec.push_back(obj.energy()) - - #### get hemispheres (seed 2: max inv mass, association method: default 3 = minimal lund distance) - - hemisphere = Hemisphere(pxvec, pyvec, pzvec, Evec, 2, 3) - grouping=hemisphere.getGrouping() -## print 'grouping ',len(grouping) - - pseudoJet1px = 0 - pseudoJet1py = 0 - pseudoJet1pz = 0 - pseudoJet1energy = 0 - - pseudoJet2px = 0 - pseudoJet2py = 0 - pseudoJet2pz = 0 - pseudoJet2energy = 0 - - for index in range(0, len(pxvec)): - if(grouping[index]==1): - pseudoJet1px += pxvec[index] - pseudoJet1py += pyvec[index] - pseudoJet1pz += pzvec[index] - pseudoJet1energy += Evec[index] - if(grouping[index]==2): - pseudoJet2px += pxvec[index] - pseudoJet2py += pyvec[index] - pseudoJet2pz += pzvec[index] - pseudoJet2energy += Evec[index] - - zll_pseudoJet1 = ROOT.reco.Particle.LorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) - zll_pseudoJet2 = ROOT.reco.Particle.LorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) - - event.zll_mt2 = self.computeMT2(zll_pseudoJet1, zll_pseudoJet2, event.zll_met) - - -#### do the mt2 with one or two b jets (medium CSV) - if len(event.bjetsMedium)>=2: - - event.mt2bb = self.computeMT2(event.bjetsMedium[0], event.bjetsMedium[1], event.met) -# print 'MT2bb(2b)',event.mt2bb - if len(event.bjetsMedium)==1: - - objects40jcCSV = [ j for j in event.cleanJets if j.pt() > 40 and abs(j.eta())<2.5 and j.p4()!=event.bjetsMedium[0].p4() ] - objects40jcCSV.sort(key = lambda l : l.btag('combinedInclusiveSecondaryVertexV2BJetTags'), reverse = True) - - if len(objects40jcCSV)>0: - event.mt2bb = self.computeMT2(event.bjetsMedium[0], objects40jcCSV[0], event.met) -## print 'MT2bb(1b)',event.mt2bb - -## ===> leptonic MT2 (as used in the SUS-13-025 ) - if not self.cfg_ana.doOnlyDefault: - if len(event.selectedLeptons)>=2: - event.mt2lep = self.computeMT2(event.selectedLeptons[0], event.selectedLeptons[1], event.met) - ## ===> hadronic MT2w (as used in the SUS-13-011) below just a placeHolder to be coded properly if not self.cfg_ana.doOnlyDefault: @@ -446,49 +82,23 @@ def makeMT2(self, event): -### - def process(self, event): self.readCollections( event.input ) - event.mt2_gen=-999 - event.mt2bb=-999 - event.mt2lept=-999 - event.mt2w=-999 - - event.mt2_had=-999 - event.pseudoJet1_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) - event.pseudoJet2_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) - event.multPseudoJet1_had=0 - event.multPseudoJet2_had=0 - - event.mt2=-999 - event.pseudoJet1 = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) - event.pseudoJet2 = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) - - event.gamma_mt2=-999 - event.gamma_pseudoJet1 = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) - event.gamma_pseudoJet2 = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) - - event.zll_mt2=-999 - - event.mt2ViaKt_had=-999 - event.mt2ViaAKt_had=-999 - event.pseudoViaKtJet1_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) - event.pseudoViaKtJet2_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) - event.pseudoViaAKtJet1_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) - event.pseudoViaAKtJet2_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) +# event.mt2w=-999 ### - self.makeMT2(event) - event.minMTBMet=999999 self.makeMinMT(event) event.gamma_minMTBMet=999999 self.makeMinMTGamma(event) + event.zll_minMTBMet=999999 + csLeptons = [ l for l in event.selectedLeptons if l.pt() > 10 and abs(l.eta()) < 2.5 ] + if len(csLeptons)==2: + event.zll_minMTBMet=event.minMTBMet # print 'variables computed: MT=',event.mtw,'MT2=',event.mt2,'MT2W=',event.mt2w # print 'pseudoJet1 px=',event.pseudoJet1.px(),' py=',event.pseudoJet1.py(),' pz=',event.pseudoJet1.pz() # print 'pseudoJet2 px=',event.pseudoJet2.px(),' py=',event.pseudoJet2.py(),' pz=',event.pseudoJet2.pz() diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHhistoCounterAnalyzer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHhistoCounterAnalyzer.py new file mode 100644 index 000000000000..cf7f47eab56c --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHhistoCounterAnalyzer.py @@ -0,0 +1,45 @@ +import operator +import itertools +import copy +from math import * + +from ROOT import std +from ROOT import TLorentzVector, TVectorD + +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +import ROOT +import os + +class ttHhistoCounterAnalyzer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(ttHhistoCounterAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(ttHhistoCounterAnalyzer, self).declareHandles() + self.mchandles['LHEweights'] = AutoHandle( 'source', 'LHEEventProduct', mayFail = True, lazy = False ) + + def beginLoop(self, setup): + super(ttHhistoCounterAnalyzer,self).beginLoop(setup) + self.counters.addCounter('pairs') + count = self.counters.counter('pairs') + count.register('all events') + if "outputfile" in setup.services : + setup.services["outputfile"].file.cd() + self.inputCounter = ROOT.TH1D("Count","Count",1,0,2) + self.inputLHE = ROOT.TH1D("CountLHE","CountLHE",10001,-0.5,10000.5) + + def process(self, event): + self.readCollections( event.input ) + self.inputCounter.Fill(1) + if self.mchandles['LHEweights'].isValid(): + for w in self.mchandles['LHEweights'].product().weights(): + id_ = float(w.id) + wgt_ = float(w.wgt) + self.inputLHE.Fill(id_, wgt_) + + + return True diff --git a/CMGTools/TTHAnalysis/python/analyzers/ttHmllSkimmer.py b/CMGTools/TTHAnalysis/python/analyzers/ttHmllSkimmer.py new file mode 100644 index 000000000000..dda13940c3d9 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/analyzers/ttHmllSkimmer.py @@ -0,0 +1,51 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +class ttHmllSkimmer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(ttHmllSkimmer,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(ttHmllSkimmer, self).declareHandles() + + def beginLoop(self,setup): + super(ttHmllSkimmer,self).beginLoop(setup) + self.counters.addCounter('events') + count = self.counters.counter('events') + count.register('all events') + count.register('pass gen Zll skim') + count.register('pass reco Zll skim') + + def makeZs(self, event, maxLeps, lepId): + event.bestZ = [ 0., -1,-1 ] + nlep = len(event.selectedLeptons) + for i,l1 in enumerate(event.selectedLeptons): + for j in range(i+1,nlep): + if j >= maxLeps: break + l2 = event.selectedLeptons[j] + if l1.pdgId() == -l2.pdgId() and abs(l1.pdgId()) in lepId: + zmass = (l1.p4() + l2.p4()).M() + if event.bestZ[0] == 0 or abs(zmass - 91.188) < abs(event.bestZ[0] - 91.188): + event.bestZ = [ zmass, i, j ] + + def process(self, event): + self.readCollections( event.input ) + self.counters.counter('events').inc('all events') + + if self.cfg_ana.doZGen and len(event.genleps)==2: + if event.genleps[0].pdgId() == - event.genleps[1].pdgId() and abs(event.genleps[0].pdgId()) in self.cfg_ana.lepId : + if (event.genleps[0].sourceId==23 and event.genleps[1].sourceId==23) : + self.counters.counter('events').inc('pass gen Zll skim') + return True + + if self.cfg_ana.doZReco: + self.makeZs( event, self.cfg_ana.maxLeps, self.cfg_ana.lepId) + if event.bestZ[0] > self.cfg_ana.massMin and event.bestZ[0] < self.cfg_ana.massMax: + event.zll_p4 = event.selectedLeptons[event.bestZ[1]].p4() + event.selectedLeptons[event.bestZ[2]].p4() + self.counters.counter('events').inc('pass reco Zll skim') + return True + + #If none of the Z selection return veto + return False diff --git a/CMGTools/TTHAnalysis/python/leptonMVA.py b/CMGTools/TTHAnalysis/python/leptonMVA.py index ab527d71f60a..c0545f81c69c 100644 --- a/CMGTools/TTHAnalysis/python/leptonMVA.py +++ b/CMGTools/TTHAnalysis/python/leptonMVA.py @@ -1,6 +1,7 @@ from array import array from math import * from PhysicsTools.HeppyCore.utils.deltar import deltaR +from CMGTools.TTHAnalysis.analyzers.ntupleTypes import ptRelv1 import ROOT #import os @@ -47,6 +48,7 @@ def __call__(self,lep,ncorr): ] _CommonVars = { 'Susy':[ + MVAVar("LepGood_neuRelIso03 := LepGood_relIso03 - LepGood_chargedHadRelIso03",lambda x: x.relIso03 - x.chargedHadronIsoR(0.3)/x.pt()), MVAVar("LepGood_chRelIso03 := LepGood_chargedHadRelIso03",lambda x: x.chargedHadronIsoR(0.3)/x.pt()), MVAVar("LepGood_jetDR := min(LepGood_jetDR,0.5)", lambda x : min(deltaR(x.eta(),x.phi(),x.jet.eta(),x.jet.phi()),0.5)), #, corrfunc=ROOT.correctJetDRMC), @@ -55,19 +57,44 @@ def __call__(self,lep,ncorr): MVAVar("LepGood_sip3d",lambda x: x.sip3D()), #, corrfunc=ROOT.scaleSip3dMC), MVAVar("LepGood_dxy := log(abs(LepGood_dxy))",lambda x: log(abs(x.dxy()))), #, corrfunc=ROOT.scaleDxyMC), MVAVar("LepGood_dz := log(abs(LepGood_dz))", lambda x: log(abs(x.dz()))), #, corrfunc=ROOT.scaleDzMC), - ] + ], + +'SusyWithBoost':[ + MVAVar("LepGood_miniRelIsoCharged",lambda x: getattr(x,'miniAbsIsoCharged',-99)/x.pt()), + MVAVar("LepGood_miniRelIsoNeutral",lambda x: getattr(x,'miniAbsIsoNeutral',-99)/x.pt()), + MVAVar("LepGood_jetPtRelV1",lambda x: ptRelv1(x.p4(),x.jet.p4())), + MVAVar("LepGood_neuRelIso03 := LepGood_relIso03 - LepGood_chargedHadRelIso03",lambda x: x.relIso03 - x.chargedHadronIsoR(0.3)/x.pt()), + MVAVar("LepGood_chRelIso03 := LepGood_chargedHadRelIso03",lambda x: x.chargedHadronIsoR(0.3)/x.pt()), + MVAVar("LepGood_jetDR := min(LepGood_jetDR,0.5)", lambda x : min(deltaR(x.eta(),x.phi(),x.jet.eta(),x.jet.phi()),0.5)), #, corrfunc=ROOT.correctJetDRMC), + MVAVar("LepGood_jetPtRatio := min(LepGood_jetPtRatio,1.5)", lambda x : min(x.pt()/x.jet.pt(),1.5)), #, corrfunc=ROOT.correctJetPtRatioMC), + MVAVar("LepGood_jetBTagCSV := max(LepGood_jetBTagCSV,0)", lambda x : max( (x.jet.btag('combinedInclusiveSecondaryVertexV2BJetTags') if hasattr(x.jet, 'btag') else -99) ,0.)), + MVAVar("LepGood_sip3d",lambda x: x.sip3D()), #, corrfunc=ROOT.scaleSip3dMC), + MVAVar("LepGood_dxy := log(abs(LepGood_dxy))",lambda x: log(abs(x.dxy()))), #, corrfunc=ROOT.scaleDxyMC), + MVAVar("LepGood_dz := log(abs(LepGood_dz))", lambda x: log(abs(x.dz()))), #, corrfunc=ROOT.scaleDzMC), +] + } _MuonVars = { 'Susy': [ MVAVar("LepGood_segmentCompatibility",lambda x: x.segmentCompatibility()), + ], + + 'SusyWithBoost': [ + MVAVar("LepGood_segmentCompatibility",lambda x: x.segmentCompatibility()), ] + } _ElectronVars = { 'Susy': [ - MVAVar("LepGood_mvaId",lambda x: x.mvaNonTrigV0(full5x5=True)), + MVAVar("LepGood_mvaIdPhys14",lambda x: x.mvaRun2("NonTrigPhys14")), + ], + + 'SusyWithBoost': [ + MVAVar("LepGood_mvaIdPhys14",lambda x: x.mvaRun2("NonTrigPhys14")), ] + } diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/1l_CardsFullCutFlow.txt b/CMGTools/TTHAnalysis/python/plotter/bins/1l_CardsFullCutFlow.txt new file mode 100644 index 000000000000..bb69de15fa95 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/bins/1l_CardsFullCutFlow.txt @@ -0,0 +1,9 @@ +1tl: nTightLeps25==1&&LepGood_pt[tightLeps25idx[0]]>25 +0vl: nVetoLeps10==0 +geq6j: nCentralJet30>=6 +lsl80: LSLjetptGT80==1 +ht500: htJet30j>500 +st200: LepGood_pt[tightLeps25idx[0]] + met_pt > 200 +1nB: nBJetCMVAMedium30>=1 +dp1: fabs(DeltaPhiLepW)>1 + diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/1l_CutFlowBasicPlots.txt b/CMGTools/TTHAnalysis/python/plotter/bins/1l_CutFlowBasicPlots.txt new file mode 100644 index 000000000000..8bf4fc2a2474 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/bins/1l_CutFlowBasicPlots.txt @@ -0,0 +1,17 @@ +hMETLogY: met_pt : 40,0,999.9999; XTitle="MET [GeV]", Logy +hMET: met_pt : 40,0,999.9999; XTitle="MET [GeV]" +hHTLogY: htJet30j : 40,0,2999.9999; XTitle="H_{T} [GeV]", Logy +hHT: htJet30j : 40,0,2999.9999; XTitle="H_{T} [GeV]" +hSTLogY: LepGood_pt[tightLeps25idx[0]] + met_pt : 40,0,1599.9999; XTitle="S_{T} [GeV]", Logy +hST: LepGood_pt[tightLeps25idx[0]] + met_pt : 40,0,1599.9999; XTitle="S_{T} [GeV]" +hnJetLogY: nCentralJet30 : 20,0,20 ; XTitle="jet multiplicity", Logy +hnJet: nCentralJet30 : 20,0,20 ; XTitle="jet multiplicity" +hnBJetLogY: nBJetCMVAMedium30 : 10,0,10 ; XTitle="b-jet multiplicity (CMVAMed)", Logy +hnBJet: nBJetCMVAMedium30 : 10,0,10 ; XTitle="b-jet multiplicity (CMVAMed)" +hdPhiLepWLogy: fabs(DeltaPhiLepW) : 20,0,3.141 ; XTitle="#Delta #varphi (lep\,W)", IncludeOverflows=False, Logy +hdPhiLepW: fabs(DeltaPhiLepW) : 20,0,3.141 ; XTitle="#Delta #varphi (lep\,W)", IncludeOverflows=False +Topness: Topness : 15,-10,20; XTitle="Topness" +TopnessLogy: Topness : 15,-10,20; XTitle="Topness", Logy, MoreY=100 +MT2W: MT2W : 20,0,500; XTitle="MT2W" +MT2WLogy: MT2W : 20,0,500; XTitle="MT2W", Logy, MoreY=100 +DEMOfunctionscc_deltaPhiLepMET: fabs(deltaPhi(LepGood_phi[tightLeps25idx[0]],met_phi)) : 40,0,3.141 ; XTitle = "#Delta #varphi (lep\,met)", Logy diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/1l_basicCutsFullCutFlow.txt b/CMGTools/TTHAnalysis/python/plotter/bins/1l_basicCutsFullCutFlow.txt new file mode 100644 index 000000000000..bda1dd31c892 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/bins/1l_basicCutsFullCutFlow.txt @@ -0,0 +1,9 @@ +== 1 tight lepton: nTightLeps25 ==1&&LepGood_pt[tightLeps25idx[0]]>25 +no VetoLeps10: nVetoLeps10==0 +geq 6j: nCentralJet30>=6 +leading/subleading > 80: LSLjetptGT80==1 +ht500: htJet30j>500 +st200: LepGood_pt[tightLeps25idx[0]] + met_pt > 200 +1b medium: nBJetCMVAMedium30>=1 +dphi>1: fabs(DeltaPhiLepW)>1 + diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/1l_basicCutsFullCutFlowTopness.txt b/CMGTools/TTHAnalysis/python/plotter/bins/1l_basicCutsFullCutFlowTopness.txt new file mode 100644 index 000000000000..83dfdc64ad11 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/bins/1l_basicCutsFullCutFlowTopness.txt @@ -0,0 +1,10 @@ +== 1 tight lepton: nTightLeps25 ==1&&LepGood_pt[tightLeps25idx[0]]>25 +no VetoLeps10: nVetoLeps10==0 +geq 6j: nCentralJet30>=6 +leading/subleading > 80: LSLjetptGT80==1 +ht500: htJet30j>500 +st200: LepGood_pt[tightLeps25idx[0]] + met_pt > 200 +1b medium: nBJetCMVAMedium30>=1 +topnesses: (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175>1.25&&Topness>5 +dphi>0.5: fabs(DeltaPhiLepW)>0.5 + diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/3l_tight.txt b/CMGTools/TTHAnalysis/python/plotter/bins/3l_tight.txt deleted file mode 100644 index 4a8cfd5b7e70..000000000000 --- a/CMGTools/TTHAnalysis/python/plotter/bins/3l_tight.txt +++ /dev/null @@ -1,10 +0,0 @@ -==3 good leptons: nLepGood == 3 -cleanup: minMllAFAS > 12 -pt2010: LepGood1_pt>20 && LepGood2_pt>10 -lep MVA: min(LepGood1_mva,min(LepGood2_mva,LepGood3_mva)) > 0.7 -conv veto: (abs(LepGood1_pdgId) == 13 || (LepGood1_convVeto > 0 && LepGood1_lostHits == 0)) && (abs(LepGood2_pdgId) == 13 || (LepGood2_convVeto > 0 && LepGood2_lostHits == 0)) && (abs(LepGood3_pdgId) == 13 || (LepGood3_convVeto > 0 && LepGood3_lostHits == 0)) -Z veto: abs(mZ1-91.2) > 10 -met LD: nJet25 >= 4 || met*0.00397 + mhtJet25*0.00265 > 0.2 + 0.1*(mZ1 > 0) -2j: nJet25>=2 -2b loose: nBJetLoose25 >= 2 || nBJetMedium25 >= 1 -2B tight: nBJetMedium25 >= 2 diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_ee.txt b/CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_ee.txt deleted file mode 100644 index 0ddc641c7748..000000000000 --- a/CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_ee.txt +++ /dev/null @@ -1,29 +0,0 @@ -== 2 good leptons: nLepGood10 == 2 -cleanup: minMllAFAS > 12 -pt2010: LepGood1_pt>20 && LepGood2_pt>20 -lep MVA: min(LepGood1_mvaSusy,LepGood2_mvaSusy) > 0.93 -el el: abs(LepGood1_pdgId) == 11 && abs(LepGood2_pdgId) == 11 -same-sign: LepGood1_charge*LepGood2_charge > 0 -tight-charge: LepGood1_tightCharge > 1 && LepGood2_tightCharge > 1 -conv veto:LepGood1_convVeto>0 && LepGood2_convVeto>0 && LepGood1_lostHits == 0 && LepGood2_lostHits == 0 -Z veto: abs(minMllAFAS-91.2) > 10 -##inclusive selection for SR:11-28 -#ht: htJet40j > 200 -#met: met_pt > 50 -#njet: nJet40 >=2 -#nBjet: nBJetMedium40 >= 1 -##inclusive selection for SR:1-0 -#ht: htJet40j > 200 -#met: met_pt > 50 -#njet: nJet40 >=2 -#nBjet: nBJetMedium40 == 0 -##baseline 0 -#ht: htJet40j > 80 -#met: (htJet40j<500 && met_pt>30) || (htJet40j>500) -#njet: nJet40 >=2 -#nBjet: nBJetMedium40 == 0 -##baseline 1,2 -ht: htJet40j > 80 -met: (htJet40j<500 && met_pt>30) || (htJet40j>500) -njet: nJet40 >=2 -nBjet: nBJetMedium40 >= 1 diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_em.txt b/CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_em.txt deleted file mode 100644 index b16c0b8eb30d..000000000000 --- a/CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_em.txt +++ /dev/null @@ -1,28 +0,0 @@ -== 2 good leptons: nLepGood10 == 2 -cleanup: minMllAFAS > 12 -pt2010: LepGood1_pt>20 && LepGood2_pt>20 -lep MVA: min(LepGood1_mvaSusy,LepGood2_mvaSusy) > 0.93 -el mu: abs(LepGood1_pdgId) != abs(LepGood2_pdgId) -same-sign: LepGood1_charge*LepGood2_charge > 0 -tight-charge: LepGood1_tightCharge > (abs(LepGood1_pdgId) == 11) && LepGood2_tightCharge > (abs(LepGood2_pdgId) == 11) -conv veto: (abs(LepGood1_pdgId) == 13 || (LepGood1_convVeto > 0 && LepGood1_lostHits == 0)) && (abs(LepGood2_pdgId) == 13 || (LepGood2_convVeto > 0 && LepGood2_lostHits == 0)) -##inclusive selection for SR:11-28 -#ht: htJet40j > 200 -#met: met_pt > 50 -#njet: nJet40 >=2 -#nBjet: nBJetMedium40 >= 1 -##inclusive selection for SR:1-0 -#ht: htJet40j > 200 -#met: met_pt > 50 -#njet: nJet40 >=2 -#nBjet: nBJetMedium40 == 0 -##baseline 0 -#ht: htJet40j > 80 -#met: (htJet40j<500 && met_pt>30) || (htJet40j>500) -#njet: nJet40 >=2 -#nBjet: nBJetMedium40 == 0 -##baseline 1,2 -ht: htJet40j > 80 -met: (htJet40j<500 && met_pt>30) || (htJet40j>500) -njet: nJet40 >=2 -nBjet: nBJetMedium40 >= 1 diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_mumu.txt b/CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_mumu.txt deleted file mode 100644 index bf5076cf7042..000000000000 --- a/CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_mumu.txt +++ /dev/null @@ -1,27 +0,0 @@ -== 2 good leptons: nLepGood10 == 2 -cleanup: minMllAFAS > 12 -pt2010: LepGood1_pt>20 && LepGood2_pt>20 -lep MVA: min(LepGood1_mvaSusy,LepGood2_mvaSusy) > 0.93 -mu mu: abs(LepGood1_pdgId) == 13 && abs(LepGood2_pdgId) == 13 -same-sign: LepGood1_charge*LepGood2_charge > 0 -tight-charge: LepGood1_tightCharge && LepGood2_tightCharge -##inclusive selection for SR:11-28 -#ht: htJet40j > 200 -#met: met_pt > 50 -#njet: nJet40 >=2 -#nBjet: nBJetMedium40 >= 1 -##inclusive selection for SR:1-0 -#ht: htJet40j > 200 -#met: met_pt > 50 -#njet: nJet40 >=2 -#nBjet: nBJetMedium40 == 0 -##baseline 0 -#ht: htJet40j > 80 -#met: (htJet40j<500 && met_pt>30) || (htJet40j>500) -#njet: nJet40 >=2 -#nBjet: nBJetMedium40 == 0 -##baseline 1,2 -ht: htJet40j > 80 -met: (htJet40j<500 && met_pt>30) || (htJet40j>500) -njet: nJet40 >=2 -nBjet: nBJetMedium40 >= 1 diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/validation_plots.txt b/CMGTools/TTHAnalysis/python/plotter/bins/validation_plots.txt deleted file mode 100644 index b54c296df1db..000000000000 --- a/CMGTools/TTHAnalysis/python/plotter/bins/validation_plots.txt +++ /dev/null @@ -1,46 +0,0 @@ -nLep: nLepGood: [1.5,2.5,3.5,4.5,5.5]; XTitle="N(lep)" -nLep10: nLepGood10: [1.5,2.5,3.5,4.5,5.5]; XTitle="N(lep)" -nLep20: nLepGood20: [1.5,2.5,3.5,4.5,5.5]; XTitle="N(lep)" -met: met_pt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" -met_phi: met_phi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" -lep1pt: LepGood1_pt: 15,0,250; XTitle="Leading lepton p_{T} [GeV]", Legend='TR' -lep2pt: LepGood2_pt: 15,0,100; XTitle="Second lepton p_{T} [GeV]", Legend='TR' -lep3pt: LepGood3_pt: 10,0,50; XTitle="Third lepton p_{T} [GeV]", Legend='TR' -lep4pt: LepGood4_pt: 10,0,50; XTitle="Fourth lepton p_{T} [GeV]", Legend='TR' -lep1relIso03: LepGood1_relIso03: 15,0,.5; Legend='TR' -lep2relIso03: LepGood2_relIso03: 15,0,.5; Legend='TR' -lep1sip3d: LepGood1_sip3d: 15,0,5; Legend='TR' -lep2sip3d: LepGood2_sip3d: 15,0,5; Legend='TR' -lep1tightId: LepGood1_tightId: [-0.5,0.5,1.5]; Legend='TL' -lep2tightId: LepGood2_tightId: [-0.5,0.5,1.5]; Legend='TL' -lep1mvaSusy: LepGood1_mvaSusy: 20,-1,1; Legend='TL' -lep2mvaSusy: LepGood2_mvaSusy: 20,-1,1; Legend='TL' -lep1mcMatchId: abs(LepGood1_mcMatchId): 28,-1.5,26.5; Legend='TR' -lep2mcMatchId: abs(LepGood2_mcMatchId): 28,-1.5,26.5; Legend='TR' -lep1mcMatchAny: LepGood1_mcMatchAny: [-1.5,-0.5,0.5,1.5,2.5,3.5]; Legend='TR' -lep2mcMatchAny: LepGood2_mcMatchAny: [-1.5,-0.5,0.5,1.5,2.5,3.5]; Legend='TR' -nJet25 : nJet25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(jet\, p_{T} > 25)' -nJet40 : nJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(jet\, p_{T} > 40)' -jet1pt: Jet1_pt: 15,0,400; XTitle="Leading jet p_{T} [GeV]", Legend='TR' -jet2pt: Jet2_pt: 15,0,200; XTitle="Second jet p_{T} [GeV]", Legend='TR' -jet3pt: Jet3_pt: 10,0,150; XTitle="Third jet p_{T} [GeV]", Legend='TR' -jet4pt: Jet4_pt: 10,0,100; XTitle="Fourth jet p_{T} [GeV]", Legend='TR' -jet1rawPt: Jet1_rawPt: 15,0,400; Legend='TR' -jet2rawPt: Jet2_rawPt: 15,0,200; Legend='TR' -jet1btagCSV: Jet1_btagCSV: 12,0.0,1.5; Legend='TR' -jet2btagCSV: Jet2_btagCSV: 12,0.0,1.5; Legend='TR' -jet1mcPt: Jet1_mcPt: 15,0,400; Legend='TR' -jet2mcPt: Jet2_mcPt: 15,0,200; Legend='TR' -jet1mcFlavour: Jet1_mcFlavour: 29,-6.5,22.5; Legend='TR' -jet2mcFlavour: Jet2_mcFlavour: 29,-6.5,22.5; Legend='TR' -jet1mcMatchId: abs(Jet1_mcMatchId): 28,-1.5,26.5; Legend='TR' -jet2mcMatchId: abs(Jet2_mcMatchId): 28,-1.5,26.5; Legend='TR' -htJet25: htJet25: 15,0,2000 ; XTitle="H_{T}(lep + jet p_{T} > 25) [GeV]" -htJet40: htJet40: 15,0,2000 ; XTitle="H_{T}(lep + jet p_{T} > 40) [GeV]" -htJet40j: htJet40j: 15,0,2000 ; XTitle="H_{T}(jet p_{T} > 40) [GeV]" -mhtJet25: mhtJet25: 15,0,800 ; XTitle="H_{T}^{miss}(lep + jet p_{T} > 25) [GeV]" -mhtJet40: mhtJet40: 15,0,800 ; XTitle="H_{T}^{miss}(lep + jet p_{T} > 40) [GeV]" -nBJet25 : nBJetMedium25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 25\, CSVM)' -nBJet40 : nBJetMedium40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 40\, CSVM)' -minMllAFAS: minMllAFAS: 20,0,200; XTitle="min m(ll') [GeV]" -mZ1: mZ1: 20,0,200; XTitle="best mZ4 [GeV]" diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/validation_plots_MT2.txt b/CMGTools/TTHAnalysis/python/plotter/bins/validation_plots_MT2.txt deleted file mode 100644 index f572cfc9463b..000000000000 --- a/CMGTools/TTHAnalysis/python/plotter/bins/validation_plots_MT2.txt +++ /dev/null @@ -1,213 +0,0 @@ -######### SUMS - -met: met_pt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" -met_phi: met_phi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" - -genmet: met_genPt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" -genmet_phi: met_genPhi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" - -mht: mht_pt: 16,0,800 ; XTitle="H_{T}^{miss} [GeV]" -mht_phi: mht_phi: 8,-3.15,3.15 ; XTitle="phi of H_{T}^{miss}" - -deltaPhiMin: deltaPhiMin: 70,0,3.15 ; XTitle="dphi_{min}(jet\,E_{T}^{miss})" -diffMetMht: diffMetMht: 100,0,500 ; XTitle="|MET-MHT|" - -ht: ht: 16,0,800 ; XTitle="H_{T} [GeV]" - -rho: rho: 10,0,1 ; XTitle="rho" -nTrueInt: nTrueInt: 100,0,100 ; XTitle="nTrueInt" -nVert: nVert: 100,0,100 ; XTitle="nVert" - -######### COUNTER - -count_nMuons10 : nMuons10 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="N(#mu\, p_{T} > 10)" -count_nElectrons10 : nElectrons10 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="N(ele\, p_{T} > 10)" -count_nTaus20 : nTaus20 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="N(#tau\, p_{T} > 20)" -count_nGammas20 : nGammas20 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="N(#gamma\, p_{T} > 20)" - -count_nJet40 : nJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5] ; XTitle='N(jet\, p_{T} > 40)' -count_nBJet40 : nBJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 40\, CSVM)' - -##### TRIGGERS - -HLT_ht350met100: HLT_ht350met100: [-0.5,0.5,1.5]; XTitle="HLT" -HLT_MET150 : HLT_MET150 : [-0.5,0.5,1.5]; XTitle="HLT" -HLT_HT650 : HLT_HT650 : [-0.5,0.5,1.5]; XTitle="HLT" -HLT_SingleMu : HLT_SingleMu : [-0.5,0.5,1.5]; XTitle="HLT" -HLT_DoubleMu : HLT_DoubleMu : [-0.5,0.5,1.5]; XTitle="HLT" -HLT_DoubleEl : HLT_DoubleEl : [-0.5,0.5,1.5]; XTitle="HLT" -HLT_MuEG : HLT_MuEG : [-0.5,0.5,1.5]; XTitle="HLT" -HLT_Photons : HLT_Photons : [-0.5,0.5,1.5]; XTitle="HLT" -###HLT_htXprescale: HLT_htXprescale: [-0.5,0.5,1.5]; XTitle="HLT" - -##### MT2 - -mt2: mt2: 16,0,800 ; XTitle="MT2 [GeV]" - -mt2_gen: mt2_gen: 16,0,800 ; XTitle="MT2 gen [GeV]" - -#pseudoJet1_pt: pseudoJet1_pt: 16,0,800 ; XTitle="PseJet1 p_{T} [GeV]", Legend='TR' -#pseudoJet1_phi: pseudoJet1_phi: 8,-3.15,3.15 ; XTitle="PseJet1 phi" -#pseudoJet1_eta: pseudoJet1_eta: 10,-5.,5. ; XTitle="PseJet1 eta" -#pseudoJet1_mass: pseudoJet1_mass: 20,0,400. ; XTitle="PseJet1 mass [GeV]" - -#pseudoJet2_pt: pseudoJet2_pt: 16,0,800 ; XTitle="PseJet12 p_{T} [GeV]" -#pseudoJet2_phi: pseudoJet2_phi: 8,-3.15,3.15 ; XTitle="PseJet2 phi" -#pseudoJet2_eta: pseudoJet2_eta: 10,-5.,5. ; XTitle="PseJet2 eta" -#pseudoJet2_mass: pseudoJet2_mass: 20,0,400. ; XTitle="PseJet2 mass [GeV]" - -nPFLep5LowMT: nPFLep5LowMT: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5] ; XTitle='N(PFLep\, p_{T} > 5\, M_{T} < 100)' - -nPFHad10LowMT: nPFHad10LowMT: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5] ; XTitle='N(PFLep\, p_{T} > 5\, M_{T} < 100)' - -minMTBMet: minMTBMet: 16,0,800 ; XTitle="min M_{T}(B\,met)" - -##### JET - -jet_njet : njet : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5,21.5,22.5,23.5,24.5,25.5,26.5,27.5,28.5,29.5,30.5] ; XTitle='N(jet\, p_{T} > 10\, |#eta| < 5.2 )' -jet_pt: jet_pt: 200, 0, 200 ; XTitle="jet p_{T} [GeV]" -jet_phi: jet_phi: 8,-3.15,3.15 ; XTitle="jet phi" -jet_eta: jet_eta: 24,-6.0,6.0 ; XTitle="jet eta" -jet_mass: jet_mass: 20,0,400. ; XTitle="jet mass [GeV]" -jet_csv: jet_btagCSV: 100,-11.,2. ; XTitle="jet csv" - -jet_rawPt: jet_rawPt: 200, 0, 200 ; XTitle="jet raw pt" -jet_mcPt: jet_mcPt: 200, 0, 200 ; XTitle="jet mc pt" - -jet_mcFlavour: jet_mcFlavour: 100, 0,100 ; XTitle="jet mc flavour" -jet_area: jet_area: 100, 0,100 ; XTitle="jet mc area" - -jet_id: jet_id: [-0.5,0.5,1.5,2.5,3.5] ; XTitle="jet id" -jet_puId: jet_puId: [-0.5,0.5,1.5] ; XTitle="jet PU id" - - -##### ISO TRACK - -isoTrack_nisoTrack : nisoTrack : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(isotrack)' -isoTrack_pt: isoTrack_pt: 16,0,800 ; XTitle="isotrack p_{T} [GeV]" -isoTrack_phi: isoTrack_phi: 8,-3.15,3.15 ; XTitle="isotrack phi" -isoTrack_eta: isoTrack_eta: 10,-5.,5. ; XTitle="isotrack eta" -isoTrack_mass: isoTrack_mass: 20,0,400. ; XTitle="isotrack mass [GeV]" - -##isoTrack_pdgId : isoTrack_pdgId : [10.5,11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5,21.5,22.5,23.5,24.5,25.5] ; XTitle='PDG_ID' -isoTrack_pdgId : isoTrack_pdgId : 150, 0,150 ; XTitle='PDG_ID' - -isoTrack_dz: isoTrack_dz: 100,0,0.5 ; XTitle="isotrack dz [cm]" - -isoTrack_absIso: isoTrack_absIso: 10,0,.50; Legend='TR' - -isoTrack_mcMatchId: isoTrack_mcMatchId: 28,-1.5,26.5; Legend='TR' - -##### TAU - -tau_ntau : ntau : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(tau\, p_{T} > 10\, |#eta| < 2.4 )' -tau_pt: tau_pt: 16,0,800 ; XTitle="tau p_{T} [GeV]" -tau_phi: tau_phi: 8,-3.15,3.15 ; XTitle="tau phi" -tau_eta: tau_eta: 10,-5.,5. ; XTitle="tau eta" -tau_mass: tau_mass: 20,0,400. ; XTitle="tau mass" - -tau_Charge: tau_charge: [-1.5,-0.5,0.5,1.5]; Legend='TL' -tau_mcMatchId: tau_mcMatchId: 28,-1.5,26.5; Legend='TR' - -tau_dxy: tau_dxy: 100,0,0.5 ; XTitle="tau dxy [cm]" -tau_dz: tau_dz: 100,0,0.5 ; XTitle="tau dz [cm]" - -tau_isoCI3hit: tau_isoCI3hit: 100,0,0.5 ; XTitle="tau ISO [GeV]" -tau_idCI3hit: tau_idCI3hit: 10,0,10. ; XTitle="tau ID " - -##### genCounting - -ngenLep : ngenLep : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(ngenLep)' -genLep_pdgId : genLep_pdgId : [10.5,11.5,12.5,13.5,14.5,15.5,16.5] ; XTitle='PDG_ID genLep' - -ngenLepFromTau : ngenLepFromTau : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(genLepFromTau)' -genLepFromTau_pdgId : genLepFromTau_pdgId : [10.5,11.5,12.5,13.5,14.5,15.5,16.5] ; XTitle='PDG_ID genLepFromTau' - -ngenTau : ngenTau : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(ngenTau)' -genTau_pdgId : genTau_pdgId : [10.5,11.5,12.5,13.5,14.5,15.5,16.5] ; XTitle='PDG_ID genTau' - - -##### PHOTONS - -gamma_ngamma : ngamma : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(tau\, p_{T} > 10\, |#eta| < 2.4 )' -gamma_pt: gamma_pt: 16,0,800 ; XTitle="gamma p_{T} [GeV]" -gamma_phi: gamma_phi: 8,-3.15,3.15 ; XTitle="gamma phi" -gamma_eta: gamma_eta: 10,-5.,5. ; XTitle="gamma eta" -gamma_mass: gamma_mass: 20,0,400. ; XTitle="gamma mass" - -gamma_chHadIso: gamma_chHadIso: 100,0,0.5 ; XTitle="ch gamma ISO [GeV]" -gamma_neuHadIso: gamma_neuHadIso: 100,0,0.5 ; XTitle="neu gamma ISO [GeV]" -gamma_phIso: gamma_phIso: 100,0,0.5 ; XTitle="ph gamma ISO [GeV]" - -gamma_sigmaIetaIeta: gamma_sigmaIetaIeta: 100,0,5. ; XTitle="gamma sigmaIetaIeta" -gamma_r9: gamma_r9: 100,0,5. ; XTitle="gamma r9" -gamma_hOverE: gamma_hOverE: 100,0,5. ; XTitle="gamma hOverE" -gamma_idCutBased: gamma_idCutBased: 10,0,10. ; XTitle="gamma ID Cut based" -gamma_mcMatchId: gamma_mcMatchId: 28,-1.5,26.5; Legend='TR' - -gamma_genIso: gamma_genIso: 100,0,0.5 ; XTitle="ph gamma ISO [GeV]" - -##### GAMMA control variables - -cr_gamma_mt2: gamma_mt2: 16,0,800 ; XTitle="MT2 [GeV]" - -cr_gamma_met: gamma_met_pt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" -cr_gamma_met_phi: gamma_met_phi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" - -cr_gamma_mht: gamma_mht_pt: 16,0,800 ; XTitle="H_{T}^{miss} [GeV]" -cr_gamma_mht_phi: gamma_mht_phi: 8,-3.15,3.15 ; XTitle="phi of H_{T}^{miss}" - -cr_gamma_deltaPhiMin: gamma_deltaPhiMin: 70,0,3.15 ; XTitle="dphi_{min}(jet\,E_{T}^{miss})" -cr_gamma_diffMetMht: gamma_diffMetMht: 100,0,500 ; XTitle="|MET-MHT|" - -cr_gamma_ht: gamma_ht: 16,0,800 ; XTitle="H_{T} [GeV]" - -cr_gamma_nJet40 : gamma_nJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5] ; XTitle='N(jet\, p_{T} > 40)' -cr_gamma_nBJet40 : gamma_nBJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 40\, CSVM)' -cr_gamma_minMTBMet : gamma_ minMTBMet: 16,0,800 ; XTitle="min M_{T}(B\,met)" - -##### ZLL control variables - -cr_zll_mt2: zll_mt2: 16,0,800 ; XTitle="MT2 [GeV]" - -cr_zll_met: zll_met_pt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" -cr_zll_met_phi: zll_met_phi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" - -cr_zll_ht: zll_ht: 16,0,800 ; XTitle="H_{T} [GeV]" - -cr_zll_mht: zll_mht_pt: 16,0,800 ; XTitle="H_{T}^{miss} [GeV]" -cr_zll_mht_phi: zll_mht_phi: 8,-3.15,3.15 ; XTitle="phi of H_{T}^{miss}" - -cr_zll_deltaPhiMin: zll_deltaPhiMin: 70,0,3.15 ; XTitle="dphi_{min}(jet\,E_{T}^{miss})" -cr_zll_diffMetMht: zll_diffMetMht: 100,0,500 ; XTitle="|MET-MHT|" - -cr_zll_pt: zll_pt: 16,0,800 ; XTitle="Z p_{T} [GeV]" -cr_zll_phi: zll_phi: 8,-3.15,3.15 ; XTitle="Z phi" -cr_zll_eta: zll_eta: 10,-5.,5. ; XTitle="Z eta" -cr_zll_mass: zll_mass: 20,0,400. ; XTitle="Z mass [GeV]" - - -##### LEPTON - -lep_nlep : nlep : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(lep\, p_{T} > 10\, |#eta| < 2.4 )' -lep_pt: lep_pt: 16,0,800 ; XTitle="lep p_{T} [GeV]" -lep_phi: lep_phi: 8,-3.15,3.15 ; XTitle="lep phi" -lep_eta: lep_eta: 10,-5.,5. ; XTitle="lep eta" -lep_mass: lep_mass: 20,0,400. ; XTitle="lep mass [GeV]" - -lep_pdgId : lep_pdgId : [10.5,11.5,12.5,13.5,14.5,15.5,16.5] ; XTitle='PDG_ID' - -lep_dxy: lep_dxy: 100,0,0.5 ; XTitle="lep dxy [cm]" -lep_dz: lep_dz: 100,0,0.5 ; XTitle="lep dz [cm]" - -lep_relIso03: lep_relIso03: 15,0,.5; Legend='TR' -lep_relIso04: lep_relIso04: 15,0,.5; Legend='TR' -lep_mcMatchId: lep_mcMatchId: 28,-1.5,26.5; Legend='TR' -lep_tightId: lep_tightId: [-0.5,0.5,1.5]; Legend='TL' - -lep_lostHits: lep_lostHits: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; Legend='TL' -lep_convVeto: lep_convVeto: 10,0.,5.; Legend='TL' -lep_tightCharge: lep_tightCharge: [-1.5,-0.5,0.5,1.5]; Legend='TL' - - - diff --git a/CMGTools/TTHAnalysis/python/plotter/eventDumper.py b/CMGTools/TTHAnalysis/python/plotter/eventDumper.py index 0c98ae5189cc..cf898477465b 100644 --- a/CMGTools/TTHAnalysis/python/plotter/eventDumper.py +++ b/CMGTools/TTHAnalysis/python/plotter/eventDumper.py @@ -19,7 +19,7 @@ parser.add_option("-j", "--json", dest="json", default=None, type="string", help="JSON file to apply") parser.add_option("-n", "--maxEvents", dest="maxEvents", default=-1, type="int", help="Max events") parser.add_option("-f", "--format", dest="fmt", default=None, type="string", help="Print this format string") -parser.add_option("-t", "--tree", dest="tree", default='ttHLepTreeProducerTTH', help="Pattern for tree name"); +parser.add_option("-t", "--tree", dest="tree", default='tree', help="Pattern for tree name"); ### CUT-file options parser.add_option("-S", "--start-at-cut", dest="startCut", type="string", help="Run selection starting at the cut matched by this regexp, included.") @@ -31,8 +31,6 @@ parser.add_option("--s2v", "--scalar2vector", dest="doS2V", action="store_true", default=False, help="Do scalar to vector conversion") (options, args) = parser.parse_args() -what = args[1] if len(args) > 1 else "signal" -if what not in [ "signal", "CRss", "CRos" ]: raise RuntimeError, "Unknown what" if options.cut and options.cutfile: raise RuntimeError, "You can't specify both a cut and a cutfile" @@ -153,6 +151,72 @@ def analyze(self,ev): print "" print "" +class SusyDumper(BaseDumper): + def __init__(self,name,options=None,booker=None): + BaseDumper.__init__(self,name,booker=booker,options=options) + def lepId(self,lep): + if lep.pt <= 10: return False + if abs(lep.pdgId) == 13: + if not self.muId(lep): return False + elif abs(lep.pdgId) == 11: + if not self.eleId(lep): return False + return lep.relIso03 < 0.1 and abs(lep.sip3d) < 4 + def muId(self,mu): + return mu.tightId > 0 + def eleId(self,ele): + return ele.tightId >= 2 and ele.convVeto and ele.tightCharge > 1 and ele.lostHits == 0 + def makeVars(self,ev): + leps = Collection(ev,"LepGood","nLepGood") + self.lepsOther = [l for l in Collection(ev,"LepOther","nLepOther")] + self.lepsAny = [l for l in leps] + self.lepsTight = [l for l in leps if self.lepId(l)] + self.jets = Collection(ev,"Jet","nJet") + def analyze(self,ev): + self.makeVars(ev) + print "run %6d lumi %4d event %11d : leptons %d (tight %d), jets 40 GeV %d (CSV medium %d), jets 25 GeV %d (CSV medium %d)" % ( + ev.run, ev.lumi, ev.evt, ev.nLepGood, len(self.lepsTight), ev.nJet40, ev.nBJetMedium40, ev.nJet25, ev.nBJetMedium25) + for i,l in enumerate(self.lepsAny): + print " lepton %2d: id %+2d pt %5.1f eta %+4.2f phi %+4.2f tightId %d relIso03 %5.3f sip3d %5.2f dxy %+5.4f dz %+5.4f jetPtR %4.2f jetDR %4.3f jetBTag %4.3f" % ( + i+1, l.pdgId,l.pt,l.eta,l.phi, l.tightId, l.relIso03, l.sip3d, l.dxy, l.dz, l.jetPtRatio, l.jetDR, min(1.,max(0.,l.jetBTagCSV))), + if not ev.isData: + print " mcMatch %+3d" % (l.mcMatchId if l.mcMatchId > 0 else -l.mcMatchAny), + if abs(l.pdgId) == 11: + print " lostHits %d conVeto %d tightCh %d" % (l.lostHits, l.convVeto, l.tightCharge) + #print " ", " ".join("%s %.6f" % (s, getattr(l,s)) for s in "sigmaIEtaIEta dEtaScTrkIn dPhiScTrkIn hadronicOverEm eInvMinusPInv scEta".split()) + else: + print " lostHits %2d tightCh %d" % (l.lostHits, l.tightCharge) + for i,j in enumerate(self.jets): + if not ev.isData: + print " jet %2d: pt %5.1f uncorrected pt %5.1f eta %+4.2f phi %+4.2f btag %4.3f mcMatch %2d mcFlavour %d mcPt %5.1f" % (i, j.pt, j.rawPt, j.eta, j.phi, min(1.,max(0.,j.btagCSV)), j.mcMatchId, j.mcFlavour, j.mcPt) + else: + print " jet %2d: pt %5.1f uncorrected pt %5.1f eta %+4.2f phi %+4.2f btag %4.3f" % (i+1, j.pt, j.rawPt, j.eta, j.phi, min(1.,max(0.,j.btagCSV))) + for i,l in enumerate(self.lepsOther): + print " bad lep %2d: id %+2d pt %5.1f eta %+4.2f phi %+4.2f tightId %d relIso03 %5.3f sip3d %5.2f dxy %+5.4f dz %+5.4f " % ( + i+1, l.pdgId,l.pt,l.eta,l.phi, l.tightId, l.relIso03, l.sip3d, l.dxy, l.dz), + if not ev.isData: + print " mcMatch %+3d" % (l.mcMatchId if l.mcMatchId > 0 else -l.mcMatchAny), + if abs(l.pdgId) == 11: + print " misHit %d conVeto %d tightCh %d" % (l.lostHits, l.convVeto, l.tightCharge) + else: + print " lostHits %d tightCh %d" % (l.lostHits, l.tightCharge) + + #for i,j in enumerate(self.jetsBadPtSorted): + # if self.options.ismc: + # print " bad jet %d: pt %5.1f uncorrected pt %5.1f eta %+4.2f phi %+4.2f btag %4.3f mcMatch %2d mcFlavour %d/%d mcPt %5.1f jetId %1d puId %1d" % (i, j.pt, j.rawPt, j.eta, j.phi, min(1.,max(0.,j.btagCSV)), j.mcMatchId, j.mcMatchFlav,j.mcFlavour, j.mcPt, j.looseJetId, j.puJetId) + # else: + # print " bad jet %d: pt %5.1f uncorrected pt %5.1f eta %+4.2f phi %+4.2f btag %4.3f jetId %1d puId %1d" % (i+1, j.pt, j.rawPt, j.eta, j.phi, min(1.,max(0.,j.btagCSV)), j.looseJetId, j.puJetId) + + for il1 in xrange(len(self.lepsAny)-1): + for il2 in xrange(il1+1,len(self.lepsAny)): + print " m(l%d,l%d) = %6.1f" % (il1+1,il2+1,(self.lepsAny[il1].p4()+self.lepsAny[il2].p4()).M()) + print " minMll: AFAS %6.1f AFOS %6.1f SFOS %6.1f mZ1 %6.1f " % (ev.minMllAFAS,ev.minMllAFOS,ev.minMllSFOS,ev.mZ1) + print " met %6.2f (phi %+4.2f) mhtJet25 %6.2f" % (ev.met_pt, ev.met_phi, ev.mhtJet25) + print " htJet40j %6.2f htJet25 %6.2f" % (ev.htJet40j, ev.htJet25) + if not ev.isData: + print " vertices %d pu weight %5.2f" % (ev.nVert, ev.puWeight) + else: + print " vertices %d" % (ev.nVert) + cut = None if options.cutfile: @@ -163,9 +227,12 @@ def analyze(self,ev): cut = scalarToVector(cut) file = ROOT.TFile.Open(args[0]) -treename = options.tree -tree = file.Get(treename) -tree.vectorTree = (options.tree == 'ttHLepTreeProducerTTH') -el = EventLoop([BaseDumper("dump", options)]) +tree = file.Get(options.tree) +tree.vectorTree = True +if len(args) > 1 and args[1] == "susy": + dumper = SusyDumper("dump", options) +else: + dumper = BaseDumper("dump", options) +el = EventLoop([dumper]) el.loop(tree,options.maxEvents,cut=cut) diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate.cc b/CMGTools/TTHAnalysis/python/plotter/fakeRate.cc index 449b8740e2ee..7b6edf71fbc1 100644 --- a/CMGTools/TTHAnalysis/python/plotter/fakeRate.cc +++ b/CMGTools/TTHAnalysis/python/plotter/fakeRate.cc @@ -7,18 +7,31 @@ TH2 * FR_mu = 0; TH2 * FR2_mu = 0; +TH2 * FR3_mu = 0; +TH2 * FR4_mu = 0; +TH2 * FR5_mu = 0; TH2 * FR_el = 0; TH2 * FR2_el = 0; +TH2 * FR3_el = 0; +TH2 * FR4_el = 0; +TH2 * FR5_el = 0; TH2 * QF_el = 0; +TH2 * FRi_mu[6], *FRi_el[6]; bool loadFRHisto(const std::string &histoName, const char *file, const char *name) { - TH2 **histo = 0; - if (histoName == "FR_mu") histo = & FR_mu; - if (histoName == "FR_el") histo = & FR_el; - if (histoName == "FR2_mu") histo = & FR2_mu; - if (histoName == "FR2_el") histo = & FR2_el; - if (histoName == "QF_el") histo = & QF_el; + TH2 **histo = 0, **hptr2 = 0; + if (histoName == "FR_mu") { histo = & FR_mu; hptr2 = & FRi_mu[0]; } + else if (histoName == "FR_el") { histo = & FR_el; hptr2 = & FRi_el[0]; } + else if (histoName == "FR2_mu") { histo = & FR2_mu; hptr2 = & FRi_mu[2]; } + else if (histoName == "FR2_el") { histo = & FR2_el; hptr2 = & FRi_el[2]; } + else if (histoName == "FR3_mu") { histo = & FR3_mu; hptr2 = & FRi_mu[3]; } + else if (histoName == "FR3_el") { histo = & FR3_el; hptr2 = & FRi_el[3]; } + else if (histoName == "FR4_mu") { histo = & FR4_mu; hptr2 = & FRi_mu[4]; } + else if (histoName == "FR4_el") { histo = & FR4_el; hptr2 = & FRi_el[4]; } + else if (histoName == "FR5_mu") { histo = & FR5_mu; hptr2 = & FRi_mu[5]; } + else if (histoName == "FR5_el") { histo = & FR5_el; hptr2 = & FRi_el[5]; } + else if (histoName == "QF_el") histo = & QF_el; if (histo == 0) { std::cerr << "ERROR: histogram " << histoName << " is not defined in fakeRate.cc." << std::endl; return 0; @@ -32,6 +45,7 @@ bool loadFRHisto(const std::string &histoName, const char *file, const char *nam } else { *histo = (TH2*) f->Get(name)->Clone(name); (*histo)->SetDirectory(0); + if (hptr2) *hptr2 = *histo; } f->Close(); return histo != 0; @@ -68,8 +82,9 @@ float fakeRateWeight_2lss(float l1pt, float l1eta, int l1pdgId, float l1mva, } -float fakeRateWeight_2lssCB(float l1pt, float l1eta, int l1pdgId, float l1relIso, - float l2pt, float l2eta, int l2pdgId, float l2relIso, float WP) + +float fakeRateWeight_2lssCB_i(float l1pt, float l1eta, int l1pdgId, float l1relIso, + float l2pt, float l2eta, int l2pdgId, float l2relIso, float WP, int iFR) { int nfail = (l1relIso > WP)+(l2relIso > WP); switch (nfail) { @@ -77,18 +92,18 @@ float fakeRateWeight_2lssCB(float l1pt, float l1eta, int l1pdgId, float l1relIso double fpt,feta; int fid; if (l1relIso > l2relIso) { fpt = l1pt; feta = std::abs(l1eta); fid = abs(l1pdgId); } else { fpt = l2pt; feta = std::abs(l2eta); fid = abs(l2pdgId); } - TH2 *hist = (fid == 11 ? FR_el : FR_mu); + TH2 *hist = (fid == 11 ? FRi_el[iFR] : FRi_mu[iFR]); int ptbin = std::max(1, std::min(hist->GetNbinsX(), hist->GetXaxis()->FindBin(fpt))); int etabin = std::max(1, std::min(hist->GetNbinsY(), hist->GetYaxis()->FindBin(feta))); double fr = hist->GetBinContent(ptbin,etabin); return fr/(1-fr); } case 2: { - TH2 *hist1 = (abs(l1pdgId) == 11 ? FR_el : FR_mu); + TH2 *hist1 = (abs(l1pdgId) == 11 ? FRi_el[iFR] : FRi_mu[iFR]); int ptbin1 = std::max(1, std::min(hist1->GetNbinsX(), hist1->GetXaxis()->FindBin(l1pt))); int etabin1 = std::max(1, std::min(hist1->GetNbinsY(), hist1->GetYaxis()->FindBin(std::abs(l1eta)))); double fr1 = hist1->GetBinContent(ptbin1,etabin1); - TH2 *hist2 = (abs(l2pdgId) == 11 ? FR_el : FR_mu); + TH2 *hist2 = (abs(l2pdgId) == 11 ? FRi_el[iFR] : FRi_mu[iFR]); int ptbin2 = std::max(1, std::min(hist2->GetNbinsX(), hist2->GetXaxis()->FindBin(l2pt))); int etabin2 = std::max(1, std::min(hist2->GetNbinsY(), hist2->GetYaxis()->FindBin(std::abs(l2eta)))); double fr2 = hist2->GetBinContent(ptbin2,etabin2); @@ -98,6 +113,13 @@ float fakeRateWeight_2lssCB(float l1pt, float l1eta, int l1pdgId, float l1relIso } } +float fakeRateWeight_2lssCB(float l1pt, float l1eta, int l1pdgId, float l1relIso, + float l2pt, float l2eta, int l2pdgId, float l2relIso, float WP) +{ + return fakeRateWeight_2lssCB_i(l1pt, l1eta, l1pdgId, l1relIso, + l2pt, l2eta, l2pdgId, l2relIso, WP, 0); +} + float fakeRateWeight_2lssSyst(float l1pt, float l1eta, int l1pdgId, float l1mva, float l2pt, float l2eta, int l2pdgId, float l2mva, float WP, @@ -207,7 +229,7 @@ float fakeRateWeight_2lssBCatX(float l1pt, float l1eta, int l1pdgId, float l1mva int ptbin = std::max(1, std::min(hist->GetNbinsX(), hist->GetXaxis()->FindBin(pts[i]))); int etabin = std::max(1, std::min(hist->GetNbinsY(), hist->GetYaxis()->FindBin(etas[i]))); double fr = hist->GetBinContent(ptbin,etabin); - ret *= -fr/max(1.0f-fr,0.5); + ret *= -fr/std::max(1.0f-fr,0.5); } } if (ret == -1.0f) ret = 0.0f; @@ -243,6 +265,43 @@ float fakeRateWeight_2lssMuIDCat(float l1pt, float l1eta, int l1pdgId, float l1m return ret; } +float fakeRateWeight_2lssCB_ptRel2D(float l1pt, float l1eta, int l1pdgId, float l1relIso, float l1ptRel, + float l2pt, float l2eta, int l2pdgId, float l2relIso, float l2ptRel, float WPIsoL, float WPIsoT, float WPPtRelL, float WPPtRelT) +{ + float relIsos[]={l1relIso, l2relIso}; + float ptRels[]={l1ptRel, l2ptRel}; + float pts[]={l1pt, l2pt}; + float etas[]={fabs(l1eta), fabs(l2eta)}; + int pdgids[]={l1pdgId, l2pdgId}; + float ret = 0.f; + int npass = 0; + for (unsigned int i = 0; i < 2 ; ++i) { + if (relIsos[i] < WPIsoT || ptRels[i] > WPPtRelT) { + npass++; continue; + } + if (relIsos[i] < WPIsoL && ptRels[i] <= WPPtRelL) { + // iso sideband + TH2 *hist = abs(pdgids[i]) == 11 ? FR2_el : FR2_mu; + int ptbin = std::max(1, std::min(hist->GetNbinsX(), hist->GetXaxis()->FindBin(pts[i]))); + int etabin = std::max(1, std::min(hist->GetNbinsY(), hist->GetYaxis()->FindBin(etas[i]))); + double fr = hist->GetBinContent(ptbin,etabin); + ret += fr/(1.0f-fr); + } + if (ptRels[i] > WPPtRelL) { + // ptrel sideband + TH2 *hist = abs(pdgids[i]) == 11 ? FR3_el : FR3_mu; + int ptbin = std::max(1, std::min(hist->GetNbinsX(), hist->GetXaxis()->FindBin(pts[i]))); + int etabin = std::max(1, std::min(hist->GetNbinsY(), hist->GetYaxis()->FindBin(etas[i]))); + double fr = hist->GetBinContent(ptbin,etabin); + ret += fr/(1.0f-fr); + } + } + if (npass != 1) ret = 0.0f; + return ret; +} + + + float fakeRateWeight_3lMuIDCat(float l1pt, float l1eta, int l1pdgId, float l1mva, float l1tightId, float l2pt, float l2eta, int l2pdgId, float l2mva, float l2tightId, float l3pt, float l3eta, int l3pdgId, float l3mva, float l3tightId, float WP) @@ -610,4 +669,43 @@ float fakeRateBin_Muons_pt(float bin) { int ibin = floor(bin); return (ibin/5)*5.0 + 2.5; } + +namespace WP { + enum WPId { V=0, VL=0, VVL=-1, L=1, M=2, T=3, VT=4, HT=5 } ; +} +float multiIso_singleWP(float LepGood_miniRelIso, float LepGood_jetPtRatio, float LepGood_jetPtRel, WP::WPId wp) { + switch (wp) { + case WP::HT: return LepGood_miniRelIso < 0.05 && (LepGood_jetPtRatio>0.725 || LepGood_jetPtRel>8 ); + case WP::VT: return LepGood_miniRelIso < 0.075 && (LepGood_jetPtRatio>0.725 || LepGood_jetPtRel>7 ); + case WP::T: return LepGood_miniRelIso < 0.10 && (LepGood_jetPtRatio>0.700 || LepGood_jetPtRel>7 ); + case WP::M: return LepGood_miniRelIso < 0.14 && (LepGood_jetPtRatio>0.68 || LepGood_jetPtRel>6.7 ); + case WP::L: return LepGood_miniRelIso < 0.22 && (LepGood_jetPtRatio>0.63 || LepGood_jetPtRel>6.0 ); + case WP::VVL: return LepGood_miniRelIso < 0.4; + default: + std::cerr << "Working point " << wp << " not implemented for multiIso_singleWP" << std::endl; + abort(); + } +} +float multiIso_multiWP(int LepGood_pdgId, float LepGood_pt, float LepGood_eta, float LepGood_miniRelIso, float LepGood_jetPtRatio, float LepGood_jetPtRel, WP::WPId wp) { + switch (wp) { + case WP::VT: + return abs(LepGood_pdgId)==13 ? + multiIso_singleWP(LepGood_miniRelIso,LepGood_jetPtRatio,LepGood_jetPtRel, WP::VT) : + multiIso_singleWP(LepGood_miniRelIso,LepGood_jetPtRatio,LepGood_jetPtRel, WP::HT) ; + case WP::T: + return abs(LepGood_pdgId)==13 ? + multiIso_singleWP(LepGood_miniRelIso,LepGood_jetPtRatio,LepGood_jetPtRel, WP::T) : + multiIso_singleWP(LepGood_miniRelIso,LepGood_jetPtRatio,LepGood_jetPtRel, WP::VT) ; + case WP::M: + return abs(LepGood_pdgId)==13 ? + multiIso_singleWP(LepGood_miniRelIso,LepGood_jetPtRatio,LepGood_jetPtRel, WP::M) : + multiIso_singleWP(LepGood_miniRelIso,LepGood_jetPtRatio,LepGood_jetPtRel, WP::T) ; + case WP::VVL: return LepGood_miniRelIso < 0.4; + default: + std::cerr << "Working point " << wp << " not implemented for multiIso_multiWP" << std::endl; + abort(); + } +} + + void fakeRate() {} diff --git a/CMGTools/TTHAnalysis/python/plotter/fakesuite.sh b/CMGTools/TTHAnalysis/python/plotter/fakesuite.sh deleted file mode 100644 index ec68f0666087..000000000000 --- a/CMGTools/TTHAnalysis/python/plotter/fakesuite.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash - -WHAT=$1; if [[ "$1" == "" ]]; then echo "frsuite.sh "; exit 1; fi - -if [[ "$HOSTNAME" == "cmsphys10" ]]; then - T="/data/g/gpetrucc/SusyFakes/TREES_FR_120514"; - J=8; -#elif [[ "$HOSTNAME" == "cmsphys05" ]]; then -# T="/data/b/botta/TTHAnalysis/trees/TREES_250513_HADD"; -# J=6; -#elif [[ "$HOSTNAME" == "olsnba03" ]]; then -# T="/data/gpetrucc/TREES_250513_HADD"; -# J=12; -else - T="/afs/cern.ch/work/g/gpetrucc/SusyFakes/TREES_FR_120514"; - J=6; -fi -CORE="mcPlots.py -P $T -j $J -f -l 0.008106 --tree ttHLepFRAnalyzer " -CORE="${CORE} --showRatio --maxRatioRange 0 2.5 " -ROOT0="plotFakes/120514" - -for L in el mu; do - ROOT="${ROOT0}/$L/$WHAT" - - LX="Ele --xf DoubleElectronD "; - if [[ "$L" == "el" ]]; then LX="Muon --xf DoubleMuD "; fi - - case $WHAT in - loose) - RUN="${CORE} mca-fakeLepStudies.txt bins/fakeLepStudies.txt bins/fakeLepStudies_plots.txt -X tight -X $LX" - echo "python ${RUN} --pdir $ROOT " - #echo "python ${RUN} --pdir $ROOT/no_met -X met --sP met " - echo "python ${RUN} --pdir $ROOT/no_met_mt -X met -X mtw " - #echo "python ${RUN} --pdir $ROOT/inv_met -I met -X mtw --sP met,mtw " - echo "python ${RUN} --pdir $ROOT/inv_met30 -R met imet30 'met_t1 > 30' -X mtw --sP met,mtw " - #echo "python ${RUN} --pdir $ROOT/no_met_mt/eta_0.0_0.5-pt_20_25 -X met -X mtw -A Mu17 pteta '0.0 < abs(Probe_eta) && abs(Probe_eta) < 0.5 && Probe_pt >= 20 && Probe_pt < 25' --sP met " - #echo "python ${RUN} --pdir $ROOT/no_met_mt/eta_0.0_0.5-pt_45_in -X met -X mtw -A Mu17 pteta '0.0 < abs(Probe_eta) && abs(Probe_eta) < 0.5 && Probe_pt >= 45' --sP met " - #echo "python ${RUN} --pdir $ROOT/no_met_mt/eta_1.5_2.0-pt_35_45 -X met -X mtw -A Mu17 pteta '1.5 < abs(Probe_eta) && abs(Probe_eta) < 2.0 && Probe_pt >= 35 && Probe_pt < 45' --sP met " - ;; - tight) - RUN="${CORE} mca-fakeLepStudies.txt bins/fakeLepStudies.txt bins/fakeLepStudies_plots.txt -X $LX " - echo "python ${RUN} --pdir $ROOT " - #echo "python ${RUN} --pdir $ROOT/no_met -X met --sP met " - echo "python ${RUN} --pdir $ROOT/no_met_mt -X met -X mtw " - #echo "python ${RUN} --pdir $ROOT/inv_met -I met -X mtw --sP met,mtw " - echo "python ${RUN} --pdir $ROOT/inv_met30 -R met imet30 'met_t1 > 30' -X mtw --sP met,mtw " - #echo "python ${RUN} --pdir $ROOT/no_met_mt/eta_0.0_0.5-pt_20_25 -X met -X mtw -A Mu17 pteta '0.0 < abs(Probe_eta) && abs(Probe_eta) < 0.5 && Probe_pt >= 20 && Probe_pt < 25' --sP met " - #echo "python ${RUN} --pdir $ROOT/no_met_mt/eta_0.0_0.5-pt_45_in -X met -X mtw -A Mu17 pteta '0.0 < abs(Probe_eta) && abs(Probe_eta) < 0.5 && Probe_pt >= 45' --sP met " - #echo "python ${RUN} --pdir $ROOT/no_met_mt/eta_1.5_2.0-pt_35_45 -X met -X mtw -A Mu17 pteta '1.5 < abs(Probe_eta) && abs(Probe_eta) < 2.0 && Probe_pt >= 35 && Probe_pt < 45' --sP met " - ;; - loose_vtxw) - RUN="${CORE} mca-fakeLepStudies.txt bins/fakeLepStudies.txt bins/fakeLepStudies_plots.txt -W '(0.296+0.0971*nVert-0.00288*nVert*nVert)' -X tight -X $LX" - echo "python ${RUN} --pdir $ROOT " - echo "python ${RUN} --pdir $ROOT/no_met -X met --sP met " - echo "python ${RUN} --pdir $ROOT/no_met_mt -X met -X mtw " - echo "python ${RUN} --pdir $ROOT/inv_met -I met -X mtw --sP met,mtw " - ;; - tight_vtxw) - RUN="${CORE} mca-fakeLepStudies.txt bins/fakeLepStudies.txt bins/fakeLepStudies_plots.txt -W '(0.296+0.0971*nVert-0.00288*nVert*nVert)' -X $LX " - echo "python ${RUN} --pdir $ROOT " - echo "python ${RUN} --pdir $ROOT/no_met -X met --sP met " - echo "python ${RUN} --pdir $ROOT/no_met_mt -X met -X mtw " - echo "python ${RUN} --pdir $ROOT/inv_met -I met -X mtw --sP met,mtw " - ;; - esac; -done diff --git a/CMGTools/TTHAnalysis/python/plotter/getXSecMcM.py b/CMGTools/TTHAnalysis/python/plotter/getXSecMcM.py index d1a03bfa6d9b..5487770c53f2 100644 --- a/CMGTools/TTHAnalysis/python/plotter/getXSecMcM.py +++ b/CMGTools/TTHAnalysis/python/plotter/getXSecMcM.py @@ -7,7 +7,7 @@ def dasql(x): return json.loads(txtjson) def go(dataset): - dsets = dasql("dataset dataset=%s" % dataset) + dsets = dasql("dataset dataset=%s" % dataset)['data'] if "*" in dataset: for d in dsets: go(d['dataset'][0]['name']) diff --git a/CMGTools/TTHAnalysis/python/plotter/makeShapeCardsSusy.py b/CMGTools/TTHAnalysis/python/plotter/makeShapeCardsSusy.py index a3b788b955d4..d34939454c72 100644 --- a/CMGTools/TTHAnalysis/python/plotter/makeShapeCardsSusy.py +++ b/CMGTools/TTHAnalysis/python/plotter/makeShapeCardsSusy.py @@ -10,6 +10,7 @@ parser.add_option("--od", "--outdir", dest="outdir", type="string", default=None, help="output name") parser.add_option("-v", "--verbose", dest="verbose", default=0, type="int", help="Verbosity level (0 = quiet, 1 = verbose, 2+ = more)") parser.add_option("--asimov", dest="asimov", action="store_true", help="Asimov") +parser.add_option("--dummyYieldsForZeroBkg", dest="dummyYieldsForZeroBkg", action="store_true", default=False, help="Set dummy yields such it corresponds to 0.01 for 4/fb"); (options, args) = parser.parse_args() options.weight = True @@ -33,6 +34,8 @@ report['data_obs'] = report['data'].Clone("x_data_obs") allyields = dict([(p,h.Integral()) for p,h in report.iteritems()]) +for p,h in report.iteritems(): + print p, h.Integral() procs = []; iproc = {} signals, backgrounds = [], [] for i,s in enumerate(mca.listSignals()): @@ -44,6 +47,20 @@ backgrounds.append(b) procs.append(b); iproc[b] = i+1 +if len(backgrounds)==0 and options.dummyYieldsForZeroBkg==True: + if mca.hasProcess("TT"): print "Yield of dummy always set to 0.0025*options.lumi (in 1/fb). ScaleFactor of TTBar is", mca.getScales("TT"), ". Scale factor set to", 0.0025*options.lumi + print options.lumi + backgrounds.append("DummyContent") + procs.append("DummyContent"); iproc["DummyContent"] = 1 + allyields["DummyContent"]=0.0025*options.lumi + if len(signals)>0: + report['DummyContent'] = report[signals[0]].Clone("x_DummyContent") + report['DummyContent'].Reset() + report['DummyContent'].SetBinContent(1,allyields["DummyContent"]) + + + + systs = {} systsEnv = {} for sysfile in args[4:]: @@ -58,6 +75,7 @@ (name, procmap, binmap, amount) = field[:4] if re.match(binmap,binname) == None: continue if name not in systs: systs[name] = [] + if options.verbose: print procmap, re.compile(procmap), amount systs[name].append((re.compile(procmap),amount)) elif field[4] in ["envelop","shapeOnly","templates","alternateShapeOnly"]: (name, procmap, binmap, amount) = field[:4] @@ -66,7 +84,7 @@ systsEnv[name].append((re.compile(procmap),amount,field[4])) else: raise RuntimeError, "Unknown systematic type %s" % field[4] - if options.verbose: + if options.verbose > 0: print "Loaded %d systematics" % len(systs) print "Loaded %d envelop systematics" % len(systsEnv) @@ -77,6 +95,7 @@ effect = "-" for (procmap,amount) in systs[name]: if re.match(procmap, p): effect = amount + if options.verbose: print p, effect effmap[p] = effect systs[name] = effmap @@ -176,18 +195,22 @@ effmap12[p] = effect12 systsEnv[name] = (effmap0,effmap12,mode) -for signal in signals: +for signal in mca.listSignals(): myout = outdir myout += "%s/" % signal - myprocs = backgrounds + [ signal ] + myprocs = ( backgrounds + [ signal ] ) if signal in signals else backgrounds if not os.path.exists(myout): os.system("mkdir -p "+myout) myyields = dict([(k,v) for (k,v) in allyields.iteritems()]) datacard = open(myout+binname+".card.txt", "w"); datacard.write("## Datacard for cut file %s (signal %s)\n"%(args[1],signal)) + datacard.write("## Event selection: \n") + for cutline in str(cuts).split("\n"): datacard.write("## %s\n" % cutline) + if signal not in signals: datacard.write("## NOTE: no signal contribution found with this event selection.\n") datacard.write("shapes * * ../common/%s.input.root x_$PROCESS x_$PROCESS_$SYSTEMATIC\n" % binname) datacard.write('##----------------------------------\n') datacard.write('bin %s\n' % binname) - datacard.write('observation %s\n' % myyields['data_obs']) + if len(backgrounds)==1 and options.dummyYieldsForZeroBkg==True and backgrounds[0]=="DummyContent": datacard.write('observation %s\n' % myyields['DummyContent']) + else: datacard.write('observation %s\n' % myyields['data_obs']) datacard.write('##----------------------------------\n') klen = max([7, len(binname)]+[len(p) for p in myprocs]) kpatt = " %%%ds " % klen @@ -208,8 +231,9 @@ if mode in ["envelop", "shapeOnly"]: datacard.write(('%-10s shape' % (name+"1")) + " ".join([kpatt % effmap12[p] for p in myprocs]) +"\n") datacard.write(('%-10s shape' % (name+"2")) + " ".join([kpatt % effmap12[p] for p in myprocs]) +"\n") - print "Wrote to ",myout+binname+".card.txt" - if options.verbose: + if options.verbose > -1: + print "Wrote to ",myout+binname+".card.txt" + if options.verbose > 0: print "="*120 os.system("cat %s.card.txt" % (myout+binname)); print "="*120 @@ -218,8 +242,9 @@ if not os.path.exists(myout): os.system("mkdir -p "+myout) workspace = ROOT.TFile.Open(myout+binname+".input.root", "RECREATE") for n,h in report.iteritems(): - if options.verbose: print "\t%s (%8.3f events)" % (h.GetName(),h.Integral()) + if options.verbose > 0: print "\t%s (%8.3f events)" % (h.GetName(),h.Integral()) workspace.WriteTObject(h,h.GetName()) workspace.Close() -print "Wrote to ",myout+binname+".input.root" +if options.verbose > -1: + print "Wrote to ",myout+binname+".input.root" diff --git a/CMGTools/TTHAnalysis/python/plotter/make_susy_cards.sh b/CMGTools/TTHAnalysis/python/plotter/make_susy_cards.sh deleted file mode 100644 index 29f270bc6ba8..000000000000 --- a/CMGTools/TTHAnalysis/python/plotter/make_susy_cards.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash - -if [[ "$HOSTNAME" == "special" ]]; then - T="/boh"; - J=6; -else - T="/afs/cern.ch/work/g/gpetrucc/TREES_70X_240914"; - J=4; -fi - -LUMI=20.0 -OPTIONS=" -P $T -j $J -l $LUMI -f --s2v --tree treeProducerSusyMultilepton --od susy_cards --asimov " -OPTIONS=" $OPTIONS -F sf/t $T/0_lepMVA_v1/evVarFriend_{cname}.root " -if [[ "$1" == "" ]] || echo $1 | grep -q 2lss; then - #OPTIONS="${OPTIONS} --FM sf/t $T/0_SFs_v3/sfFriend_{cname}.root --xp FR_data_.* " - OPT_2L="${OPTIONS} " - #OPT_2L="${OPT_2L} -R MVA MVA min(LepGood1_mvaNew,LepGood2_mvaNew)>0.93" - MVA_2L="-F sf/t $T/1_finalMVA_susy2lss_v0/evVarFriend_{cname}.root " - ZeroB="-R nBjet nBjet nBJetMedium40==0" - OneB="-R nBjet nBjet nBJetMedium40==1" - TwoB="-R nBjet nBjet nBJetMedium40>=2" - #TwoB="$TwoB -R MVA MVA min(LepGood1_mvaTTH,LepGood2_mvaTTH)>0.5" - SYSTS="syst/susyDummy.txt" - - CnC_expr="1+4*(met_pt>120)+(htJet40j>400)+2*(nJet40>=4)" - CnC_bins="[0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5]" - - MVA_expr="finalMVA_susy_2LSS" - MVA_bins="10,0,1" - #OPT_2L="$OPT_2L -p ttH,TT.,TT,T1.* --sp T1.*" - for X in susy_2lss_{mumu,ee,em}; do - echo $X; #~gpetrucc/sh/bann $X - - # ---- Cut-and-count as SUS-13-013 ---- - python makeShapeCardsSusy.py mca-CSA14.txt bins/${X}.txt $CnC_expr $CnC_bins $SYSTS $OPT_2L -o ${X}_CnC_0B $ZeroB; - python makeShapeCardsSusy.py mca-CSA14.txt bins/${X}.txt $CnC_expr $CnC_bins $SYSTS $OPT_2L -o ${X}_CnC_1B $OneB; - python makeShapeCardsSusy.py mca-CSA14.txt bins/${X}.txt $CnC_expr $CnC_bins $SYSTS $OPT_2L -o ${X}_CnC_2B $TwoB; - - # ---- Cut-and-count as SUS-13-013 ---- - python makeShapeCardsSusy.py mca-CSA14.txt bins/${X}.txt $MVA_2L $MVA_expr $MVA_bins $SYSTS $OPT_2L -o ${X}_MVA_0B $ZeroB; - python makeShapeCardsSusy.py mca-CSA14.txt bins/${X}.txt $MVA_2L $MVA_expr $MVA_bins $SYSTS $OPT_2L -o ${X}_MVA_1B $OneB; - python makeShapeCardsSusy.py mca-CSA14.txt bins/${X}.txt $MVA_2L $MVA_expr $MVA_bins $SYSTS $OPT_2L -o ${X}_MVA_2B $TwoB; - echo "Done at $(date)" - break - done -fi diff --git a/CMGTools/TTHAnalysis/python/plotter/mcAnalysis.py b/CMGTools/TTHAnalysis/python/plotter/mcAnalysis.py index 33f5c7f65798..2f308ec60fe7 100755 --- a/CMGTools/TTHAnalysis/python/plotter/mcAnalysis.py +++ b/CMGTools/TTHAnalysis/python/plotter/mcAnalysis.py @@ -27,6 +27,13 @@ def __init__(self,samples,options): self._isSignal = {} self._rank = {} ## keep ranks as in the input text file self._projection = Projections(options.project, options) if options.project != None else None + self._premap = [] + for premap in options.premap: + to,fro = premap.split("=") + if to[-1] == ":": to = to[:-1] + to = to.strip() + for k in fro.split(","): + self._premap.append((re.compile(k.strip()+"$"), to)) for line in open(samples,'r'): if re.match("\s*#.*", line): continue line = re.sub(r"(? 0) for p0 in options.processes: for p in p0.split(","): - if re.match(p+"$", field[0]): skipMe = False + if re.match(p+"$", pname): skipMe = False for p0 in options.processesToExclude: for p in p0.split(","): - if re.match(p+"$", field[0]): skipMe = True + if re.match(p+"$", pname): skipMe = True for p0 in options.filesToExclude: for p in p0.split(","): if re.match(p+"$", field[1]): skipMe = True @@ -64,7 +76,7 @@ def __init__(self,samples,options): signal = False for p0 in options.processesAsSignal: for p in p0.split(","): - if re.match(p+"$", field[0]): signal = True + if re.match(p+"$", pname): signal = True ## endif treename = extra["TreeName"] if "TreeName" in extra else options.tree rootfile = "%s/%s/%s/%s_tree.root" % (options.path, field[1].strip(), treename, treename) @@ -76,19 +88,24 @@ def __init__(self,samples,options): # Heppy calls the tree just 'tree.root' rootfile = "%s/%s/%s/tree.root" % (options.path, field[1].strip(), treename) treename = "tree" + elif (not os.path.exists(rootfile)) and os.path.exists("%s/%s/%s/tree.root.url" % (options.path, field[1].strip(), treename)): + # Heppy calls the tree just 'tree.root' + rootfile = "%s/%s/%s/tree.root" % (options.path, field[1].strip(), treename) + rootfile = open(rootfile+".url","r").readline().strip() + treename = "tree" pckfile = options.path+"/%s/skimAnalyzerCount/SkimReport.pck" % field[1].strip() - tty = TreeToYield(rootfile, options, settings=extra, name=field[0], cname=field[1].strip(), treename=treename) + tty = TreeToYield(rootfile, options, settings=extra, name=pname, cname=field[1].strip(), treename=treename) if signal: self._signals.append(tty) - self._isSignal[field[0]] = True - elif field[0] == "data": + self._isSignal[pname] = True + elif pname == "data": self._data.append(tty) else: - self._isSignal[field[0]] = False + self._isSignal[pname] = False self._backgrounds.append(tty) - if field[0] in self._allData: self._allData[field[0]].append(tty) - else : self._allData[field[0]] = [tty] - if "data" not in field[0]: + if pname in self._allData: self._allData[pname].append(tty) + else : self._allData[pname] = [tty] + if "data" not in pname: pckobj = pickle.load(open(pckfile,'r')) counters = dict(pckobj) if ('Sum Weights' in counters) and options.weight: @@ -121,12 +138,12 @@ def __init__(self,samples,options): tty.setFullYield(nevt) except: tty.setFullYield(0) - if field[0] not in self._rank: self._rank[field[0]] = len(self._rank) + if pname not in self._rank: self._rank[pname] = len(self._rank) #if len(self._signals) == 0: raise RuntimeError, "No signals!" #if len(self._backgrounds) == 0: raise RuntimeError, "No backgrounds!" def listProcesses(self): ret = self._allData.keys()[:] - ret.sort(key = lambda n : self._rank[n], reverse = True) + ret.sort(key = lambda n : self._rank[n]) return ret def isBackground(self,process): return process != 'data' and not self._isSignal[process] @@ -134,11 +151,11 @@ def isSignal(self,process): return self._isSignal[process] def listSignals(self,allProcs=False): ret = [ p for p in self._allData.keys() if p != 'data' and self._isSignal[p] and (self.getProcessOption(p, 'SkipMe') != True or allProcs) ] - ret.sort(key = lambda n : self._rank[n], reverse = True) + ret.sort(key = lambda n : self._rank[n]) return ret def listBackgrounds(self,allProcs=False): ret = [ p for p in self._allData.keys() if p != 'data' and not self._isSignal[p] and (self.getProcessOption(p, 'SkipMe') != True or allProcs) ] - ret.sort(key = lambda n : self._rank[n], reverse = True) + ret.sort(key = lambda n : self._rank[n]) return ret def hasProcess(self,process): return process in self._allData @@ -239,12 +256,12 @@ def prettyPrint(self,reports,makeSummary=True): if key != 'data': if self._isSignal[key]: allSig.append((key,reports[key])) else: allBg.append((key,reports[key])) - allSig.sort(key = lambda (n,v): self._rank[n], reverse = True) - allBg.sort( key = lambda (n,v): self._rank[n], reverse = True) + allSig.sort(key = lambda (n,v): self._rank[n]) + allBg.sort( key = lambda (n,v): self._rank[n]) table = allSig + allBg if makeSummary: - if len(allSig)>1: - table.append(('ALL SIG',mergeReports([v for n,v in allSig]))) +# if len(allSig)>1: +# table.append(('ALL SIG',mergeReports([v for n,v in allSig]))) if len(allBg)>1: table.append(('ALL BKG',mergeReports([v for n,v in allBg]))) if "data" in reports: table += [ ('DATA', reports['data']) ] @@ -263,7 +280,12 @@ def prettyPrint(self,reports,makeSummary=True): nfmtX+=u" %7.4f" nfmtL+=u" %7.2f" fmtlen+=9 - if self._options.fractions: + if self._options.txtfmt == "latex" and self._options.fractions: + nfmtS+=" & %7.1f \%%" + nfmtX+=" & %7.1f \%%" + nfmtL+=" & %7.1f \%%" + fmtlen+=8 + elif self._options.fractions: nfmtS+=" %7.1f%%" nfmtX+=" %7.1f%%" nfmtL+=" %7.1f%%" @@ -294,6 +316,46 @@ def prettyPrint(self,reports,makeSummary=True): if self._options.weight and nev < 1000: print ( nfmtS if nev > 0.2 else nfmtX) % toPrint, else : print nfmtL % toPrint, print "" + if self._options.txtfmt == "latex": + multirowN = 1 + if self._options.errors: multirowN +=1 + if self._options.fractions: multirowN +=1 + print "\\begin{tabular}{ l " + "r "*len(table)*multirowN + " }" + print "CUT".center(clen), + for htemp,r in table: + print "& \multicolumn{{ {} }} {{c}} {{".format(multirowN), + h = htemp.replace("_","\\_") +# print h + if len(" "+h) <= fmtlen: + print (" "+h).center(fmtlen), + elif len(h) <= fmtlen: + print h.center(fmtlen), + else: + print h[:fmtlen], + print "}", + print "\\\\" + headings = " & yields " + if self._options.errors: headings+="& errors" + if self._options.fractions: headings+="& efficieny " + print headings * len(table) + "\\\\" + print "\hline" + for i,(cut,dummy) in enumerate(table[0][1]): + print cfmt % cut, + for name,report in table: + print "&", + (nev,err) = report[i][1] + den = report[i-1][1][0] if i>0 else 0 + fraction = nev/float(den) if den > 0 else 1 + if self._options.nMinusOne: + fraction = report[-1][1][0]/nev if nev > 0 else 1 + toPrint = (nev,) + if self._options.errors: toPrint+=(err,) + if self._options.fractions: toPrint+=(fraction*100,) + if self._options.weight and nev < 1000: print ( nfmtS if nev > 0.2 else nfmtX) % toPrint, + else : print nfmtL % toPrint, + print "\\\\" + print "\end{tabular}" + def _getYields(self,ttylist,cuts): return mergeReports([tty.getYields(cuts) for tty in ttylist]) def __str__(self): @@ -307,6 +369,10 @@ def __str__(self): for a in self._backgrounds: mystr += str(a) + '\n' return mystr[:-1] + def processEvents(self,eventLoop,cut): + for p in self.listProcesses(): + for tty in self._allData[p]: + tty.processEvents(eventLoop,cut) def addMCAnalysisOptions(parser,addTreeToYieldOnesToo=True): if addTreeToYieldOnesToo: addTreeToYieldOptions(parser) @@ -314,6 +380,7 @@ def addMCAnalysisOptions(parser,addTreeToYieldOnesToo=True): parser.add_option("-P", "--path", dest="path", type="string", default="./", help="path to directory with input trees and pickle files (./)") parser.add_option("--RP", "--remote-path", dest="remotePath", type="string", default=None, help="path to remote directory with trees, but not other metadata (default: same as path)") parser.add_option("-p", "--process", dest="processes", type="string", default=[], action="append", help="Processes to print (comma-separated list of regexp, can specify multiple ones)"); + parser.add_option("--pg", "--pgroup", dest="premap", type="string", default=[], action="append", help="Group proceses into one. Syntax is ' := (comma-separated list of regexp)', can specify multiple times. Note tahat it is applied _before_ -p, --sp and --xp"); parser.add_option("--xf", "--exclude-files", dest="filesToExclude", type="string", default=[], action="append", help="Files to exclude (comma-separated list of regexp, can specify multiple ones)"); parser.add_option("--xp", "--exclude-process", dest="processesToExclude", type="string", default=[], action="append", help="Processes to exclude (comma-separated list of regexp, can specify multiple ones)"); parser.add_option("--sp", "--signal-process", dest="processesAsSignal", type="string", default=[], action="append", help="Processes to set as signal (overriding the '+' in the text file)"); diff --git a/CMGTools/TTHAnalysis/python/plotter/mcCorrections.py b/CMGTools/TTHAnalysis/python/plotter/mcCorrections.py index 472b8204619d..8c4ae32aeef9 100644 --- a/CMGTools/TTHAnalysis/python/plotter/mcCorrections.py +++ b/CMGTools/TTHAnalysis/python/plotter/mcCorrections.py @@ -8,12 +8,13 @@ ROOT.gROOT.ProcessLine(".L %s/src/CMGTools/TTHAnalysis/python/plotter/mcCorrections.cc+" % os.environ['CMSSW_BASE']); class SimpleCorrection: - def __init__(self,find,replace,procMatch=None,componentMatch=None,onlyForCuts=False): + def __init__(self,find,replace,procMatch=None,componentMatch=None,onlyForCuts=False,alsoData=False): self._find = re.compile(find) self._replace = replace self._procMatch = re.compile(procMatch) if procMatch else None self._componentMatch = re.compile(componentMatch) if componentMatch else None self._onlyForCuts = onlyForCuts + self.alsoData = alsoData def __call__(self,expr,process,component,iscut): if self._procMatch and not re.match(self._procMatch, process): return expr if self._componentMatch and not re.match(self._componentMatch, component ): return expr @@ -40,7 +41,8 @@ def __init__(self,file): self._corrections.append( SimpleCorrection(field[0], field[1], procMatch=(extra['Process'] if 'Process' in extra else None), componentMatch=(extra['Component'] if 'Component' in extra else None), - onlyForCuts=('OnlyForCuts' in extra)) ) + onlyForCuts=('OnlyForCuts' in extra), + alsoData=('AlsoData' in extra)) ) def __call__(self,expr,process,component,iscut): ret = expr for c in self._corrections: diff --git a/CMGTools/TTHAnalysis/python/plotter/mcDump.py b/CMGTools/TTHAnalysis/python/plotter/mcDump.py new file mode 100755 index 000000000000..fa9cc5412fd3 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/mcDump.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python +#from tree2yield import * +from CMGTools.TTHAnalysis.plotter.tree2yield import * +from CMGTools.TTHAnalysis.plotter.projections import * +from CMGTools.TTHAnalysis.plotter.mcAnalysis import * +from CMGTools.TTHAnalysis.treeReAnalyzer import * +import string + + +class MCDumpEvent: + def __init__(self): + pass + def beginComponent(self,tty): + self._tty = tty + self._exprMaps = {} + def update(self,event): + self.event = event + def __getitem__(self, attr): + if attr not in self._exprMaps: + expr = self._tty.adaptExpr(attr,cut=False) + if self._tty._options.doS2V: + expr = scalarToVector(expr) + self._exprMaps[attr] = expr + return self.event.eval(self._exprMaps[attr]) + +class MCDumpModule(Module): + def __init__(self,name,fmt,options=None,booker=None): + Module.__init__(self,name,booker) + self.fmt = fmt + self.options = options + self.mcde = MCDumpEvent() + def beginComponent(self,tty): + self.mcde.beginComponent(tty) + def analyze(self,ev): + self.mcde.update(ev) + print string.Formatter().vformat(self.fmt.replace("\\t","\t"),[],self.mcde) + return True + + +def addMCDumpOptions(parser): + addMCAnalysisOptions(parser) + parser.add_option("-n", "--maxEvents", dest="maxEvents", default=-1, type="int", help="Max events") + +if __name__ == "__main__": + from optparse import OptionParser + parser = OptionParser(usage="%prog [options] mca.txt cuts.txt 'format string' ") + addMCDumpOptions(parser) + (options, args) = parser.parse_args() + mca = MCAnalysis(args[0],options) + cut = CutsFile(args[1],options).allCuts() + mcdm = MCDumpModule("dump",args[2],options) + el = EventLoop([mcdm]) + mca.processEvents(EventLoop([mcdm]), cut=cut) diff --git a/CMGTools/TTHAnalysis/python/plotter/mcEfficiencies.py b/CMGTools/TTHAnalysis/python/plotter/mcEfficiencies.py new file mode 100644 index 000000000000..2b175e02959b --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/mcEfficiencies.py @@ -0,0 +1,226 @@ +#!/usr/bin/env python +#from mcPlots import * +from CMGTools.TTHAnalysis.plotter.mcPlots import * + + +def addROCMakerOptions(parser): + addMCAnalysisOptions(parser) + parser.add_option("--select-plot", "--sP", dest="plotselect", action="append", default=[], help="Select only these plots out of the full file") + parser.add_option("--exclude-plot", "--xP", dest="plotexclude", action="append", default=[], help="Exclude these plots from the full file") + +def doLegend(rocs,options,textSize=0.035): + if options.legend == "TR": + (x1,y1,x2,y2) = (.6, .85 - textSize*max(len(rocs)-3,0), .93, .98) + elif options.legend == "TL": + (x1,y1,x2,y2) = (.2, .85 - textSize*max(len(rocs)-3,0), .53, .98) + else: + (x1,y1,x2,y2) = (.6, .30 + textSize*max(len(rocs)-3,0), .93, .18) + leg = ROOT.TLegend(x1,y1,x2,y2) + leg.SetFillColor(0) + leg.SetShadowColor(0) + leg.SetTextFont(42) + leg.SetTextSize(textSize) + for key,val in rocs: + leg.AddEntry(val, key, "LP") + leg.Draw() + ## assign it to a global variable so it's not deleted + global legend_; + legend_ = leg + return leg + +def stackEffs(outname,x,effs,options): + alleffs = ROOT.THStack("all","all") + for title,eff in effs: + alleffs.Add(eff) + doRatio = options.showRatio and len(effs) > 1 + # define aspect ratio + if doRatio: ROOT.gStyle.SetPaperSize(20.,25.) + else: ROOT.gStyle.SetPaperSize(20.,20.) + # create canvas + c1 = ROOT.TCanvas(outname+"_canvas", outname, 600, (750 if doRatio else 600)) + c1.Draw() + p1, p2 = c1, None # high and low panes + # set borders, if necessary create subpads + if doRatio: + c1.SetWindowSize(600 + (600 - c1.GetWw()), (750 + (750 - c1.GetWh()))); + p1 = ROOT.TPad("pad1","pad1",0,0.31,1,1); + p1.SetBottomMargin(0); + p1.Draw(); + p2 = ROOT.TPad("pad2","pad2",0,0,1,0.31); + p2.SetTopMargin(0); + p2.SetBottomMargin(0.3); + p2.SetFillStyle(0); + p2.Draw(); + p1.cd(); + else: + c1.SetWindowSize(600 + (600 - c1.GetWw()), 600 + (600 - c1.GetWh())); + p1.SetGridy(options.showGrid) + p1.SetGridx(options.showGrid) + p1.SetLogx(x.getOption('Logx',False)) + p1.SetLogy(options.logy) + alleffs.Draw("APL"); + h0 = effs[0][1].Clone("frame"); h0.Reset(); + h0.GetYaxis().SetDecimals() + h0.GetYaxis().SetTitle(options.ytitle) + h0.Draw("AXIS"); + alleffs.Draw("NOSTACK P SAME") + if options.xrange: + h0.GetXaxis().SetRangeUser(options.xrange[0], options.xrange[1]) + if options.yrange: + h0.GetYaxis().SetRangeUser(options.yrange[0], options.yrange[1]) + leg = doLegend(effs,options) + if options.fontsize: leg.SetTextSize(options.fontsize) + if doRatio: + p2.cd() + h0.GetXaxis().SetLabelOffset(999) ## send them away + h0.GetXaxis().SetTitleOffset(999) ## in outer space + h0.GetYaxis().SetLabelSize(0.05) + doEffRatio(x,effs,options) + c1.Print(outname.replace(".root","")+".png") + c1.Print(outname.replace(".root","")+".eps") + c1.Print(outname.replace(".root","")+".pdf") + +def doEffRatio(x,effs,options): + effrels = [ e.ProjectionX(n+"_rel") for (n,e) in effs ] + unity = effrels[0] + rmin, rmax = 1,1 + for ie,eff in enumerate(effrels): + for b in xrange(1,eff.GetNbinsX()+1): + scale = effs[0][1].GetBinContent(b) + if scale == 0: + eff.SetBinContent(b,0) + eff.SetBinError(b,0) + continue + eff.SetBinContent(b, eff.GetBinContent(b)/scale) + eff.SetBinError(b, eff.GetBinError(b)/scale) + if ie == 0: + eff.SetFillStyle(3013) + eff.SetFillColor(effs[ie][1].GetLineColor()) + eff.SetMarkerStyle(0) + else: + eff.SetLineColor(effs[ie][1].GetLineColor()) + eff.SetLineWidth(effs[ie][1].GetLineWidth()) + eff.SetMarkerColor(effs[ie][1].GetMarkerColor()) + eff.SetMarkerStyle(effs[ie][1].GetMarkerStyle()) + rmax = max(rmax, eff.GetBinContent(b)+2*eff.GetBinError(b)) + rmin = min(rmin, max(0,eff.GetBinContent(b)-2*eff.GetBinError(b))) + if options.ratioRange != (-1,-1): + rmin,rmax = options.ratioRange + unity.Draw("E2"); + unity.GetYaxis().SetRangeUser(rmin,rmax); + unity.GetXaxis().SetTitleSize(0.14) + unity.GetYaxis().SetTitleSize(0.14) + unity.GetXaxis().SetLabelSize(0.11) + unity.GetYaxis().SetLabelSize(0.11) + unity.GetYaxis().SetNdivisions(505) + unity.GetYaxis().SetDecimals(True) + unity.GetYaxis().SetTitle("X / "+effs[0][0]) + unity.GetYaxis().SetTitleOffset(0.52); + line = ROOT.TLine(unity.GetXaxis().GetXmin(),1,unity.GetXaxis().GetXmax(),1) + line.SetLineWidth(3); + line.SetLineColor(effs[0][1].GetLineColor()); + line.DrawLine(unity.GetXaxis().GetXmin(),1,unity.GetXaxis().GetXmax(),1) + for ratio in effrels[1:]: + ratio.Draw("E SAME"); + + + +def makeEff(mca,cut,idplot,xvarplot): + import copy + is2D = (":" in xvarplot.expr.replace("::","--")) + options = copy.copy(idplot.opts) + options.update(xvarplot.opts) + if is2D: options['Profile2D']=True + else: options['Profile1D']=True + pspec = PlotSpec("%s_vs_%s" % (idplot.name, xvarplot.name), + "%s:%s" % (idplot.expr,xvarplot.expr), + xvarplot.bins, + options) + print pspec.name + return mca.getPlots(pspec,cut,makeSummary=True) + +if __name__ == "__main__": + from optparse import OptionParser + parser = OptionParser(usage="%prog [options] mc.txt cuts.txt plotfile.txt") + addROCMakerOptions(parser) + parser.add_option("-o", "--out", dest="out", default=None, help="Output file name. by default equal to plots -'.txt' +'.root'"); + parser.add_option("--rebin", dest="globalRebin", type="int", default="0", help="Rebin all plots by this factor") + parser.add_option("--xrange", dest="xrange", default=None, nargs=2, type='float', help="X axis range"); + parser.add_option("--xcut", dest="xcut", default=None, nargs=2, type='float', help="X axis cut"); + parser.add_option("--yrange", dest="yrange", default=None, nargs=2, type='float', help="Y axis range"); + parser.add_option("--logy", dest="logy", default=False, action='store_true', help="Do y axis in log scale"); + parser.add_option("--ytitle", dest="ytitle", default="Efficiency", type='string', help="Y axis title"); + parser.add_option("--fontsize", dest="fontsize", default=0, type='float', help="Legend font size"); + parser.add_option("--grid", dest="showGrid", action="store_true", default=False, help="Show grid lines") + parser.add_option("--groupBy", dest="groupBy", default="process", type="string", help="Group by: cut, process") + parser.add_option("--legend", dest="legend", default="TR", type="string", help="Legend position (BR, TR)") + parser.add_option("--showRatio", dest="showRatio", action="store_true", default=False, help="Add a data/sim ratio plot at the bottom") + parser.add_option("--rr", "--ratioRange", dest="ratioRange", type="float", nargs=2, default=(-1,-1), help="Min and max for the ratio") + (options, args) = parser.parse_args() + options.globalRebin = 1 + options.allowNegative = True # with the fine bins used in ROCs, one otherwise gets nonsensical results + mca = MCAnalysis(args[0],options) + procs = mca.listSignals()+mca.listBackgrounds() + cut = CutsFile(args[1],options).allCuts() + ids = PlotFile(args[2],options).plots() + xvars = PlotFile(args[3],options).plots() + outname = options.out if options.out else (args[2].replace(".txt","")+".root") + if os.path.dirname(outname) != "": + dirname = os.path.dirname(outname) + if not os.path.exists(dirname): + os.system("mkdir -p "+dirname) + if os.path.exists("/afs/cern.ch"): os.system("cp /afs/cern.ch/user/g/gpetrucc/php/index.php "+os.path.dirname(outname)) + outfile = ROOT.TFile(outname,"RECREATE") + ROOT.gROOT.ProcessLine(".x tdrstyle.cc") + ROOT.gStyle.SetErrorX(0.5) + ROOT.gStyle.SetOptStat(0) + effplots = [ (y,x,makeEff(mca,cut,y,x)) for y in ids for x in xvars ] + for (y,x,pmap) in effplots: + for proc in procs: + eff = pmap[proc] + if not eff: continue + if options.xcut: + ax = eff.GetXaxis() + for b in xrange(1,eff.GetNbinsX()+1): + if ax.GetBinCenter(b) < options.xcut[0] or ax.GetBinCenter(b) > options.xcut[1]: + eff.SetBinContent(b,0) + eff.SetBinError(b,0) + eff.SetName("_".join([y.name,x.name,proc])) + outfile.WriteTObject(eff) + if len(procs)>=1 and "cut" in options.groupBy: + for x in xvars: + for y,ex,pmap in effplots: + if ex != x: continue + effs = [] + myname = outname.replace(".root","_%s_%s.root" % (y.name,x.name)) + for proc in procs: + eff = pmap[proc] + if not eff: continue + eff.SetLineColor(mca.getProcessOption(proc,"FillColor",SAFE_COLOR_LIST[len(effs)])) + eff.SetMarkerColor(mca.getProcessOption(proc,"FillColor",SAFE_COLOR_LIST[len(effs)])) + eff.SetMarkerStyle(mca.getProcessOption(proc,"MarkerStyle",20)) + eff.SetMarkerSize(mca.getProcessOption(proc,"MarkerSize",1.6)*0.8) + eff.SetLineWidth(4) + effs.append((mca.getProcessOption(proc,"Label",proc),eff)) + if len(effs) == 0: continue + stackEffs(myname,x,effs,options) + if "process" in options.groupBy: + for proc in procs: + for x in xvars: + effs = [] + myname = outname.replace(".root","_%s_%s.root" % (proc,x.name)) + for y,ex,pmap in effplots: + if ex != x: continue + eff = pmap[proc] + if not eff: continue + eff.SetLineColor(y.getOption("MarkerColor",SAFE_COLOR_LIST[len(effs)])) + eff.SetMarkerColor(y.getOption("MarkerColor",SAFE_COLOR_LIST[len(effs)])) + eff.SetMarkerStyle(y.getOption("MarkerStyle",33)) + eff.SetMarkerSize(y.getOption("MarkerSize",1.4)*0.8) + eff.SetLineWidth(4) + effs.append((y.getOption("Title",y.name),eff)) + if len(effs) == 0: continue + stackEffs(myname,x,effs,options) + outfile.Close() + + diff --git a/CMGTools/TTHAnalysis/python/plotter/mcPlots.py b/CMGTools/TTHAnalysis/python/plotter/mcPlots.py index ebce77edab8c..e0046bd1290b 100644 --- a/CMGTools/TTHAnalysis/python/plotter/mcPlots.py +++ b/CMGTools/TTHAnalysis/python/plotter/mcPlots.py @@ -1,7 +1,13 @@ #!/usr/bin/env python #from mcAnalysis import * from CMGTools.TTHAnalysis.plotter.mcAnalysis import * +import itertools +SAFE_COLOR_LIST=[ +ROOT.kBlack, ROOT.kRed, ROOT.kGreen+2, ROOT.kBlue, ROOT.kMagenta+1, ROOT.kOrange+7, ROOT.kCyan+1, ROOT.kGray+2, ROOT.kViolet+5, ROOT.kSpring+5, ROOT.kAzure+1, ROOT.kPink+7, ROOT.kOrange+3, ROOT.kBlue+3, ROOT.kMagenta+3, ROOT.kRed+2, +] +def _unTLatex(string): + return string.replace("#chi","x").replace("#mu","m") class PlotFile: def __init__(self,fileName,options): self._options = options @@ -21,7 +27,7 @@ def __init__(self,fileName,options): extra[key] = eval(val) else: extra[setting] = True line = re.sub("#.*","",line) - field = [f.strip().replace(";",":") for f in line.replace("\\:",";").split(':')] + field = [f.strip().replace(";",":") for f in line.replace("::",";;").replace("\\:",";").split(':')] if len(field) <= 2: continue if len(options.plotselect): skipMe = True @@ -76,7 +82,11 @@ def doSpam(text,x1,y1,x2,y2,align=12,fill=False,textSize=0.033,_noDelete={}): cmsprel.SetLineColor(0); cmsprel.SetTextAlign(align); cmsprel.SetTextFont(42); - cmsprel.AddText(text); + splittext = text.split("\\n") + if(len(splittext)>1): + for text in splittext: cmsprel.AddText(text) + else: + cmsprel.AddText(text); cmsprel.Draw("same"); _noDelete[text] = cmsprel; ## so it doesn't get deleted by PyROOT return cmsprel @@ -93,6 +103,14 @@ def doTinyCmsPrelim(textLeft="_default_",textRight="_default_",hasExpo=False,tex textRight = textRight % { 'lumi':lumi } doSpam(textRight,.68+xoffs, .955, .99+xoffs, .995, align=32, textSize=textSize) +def printExtraLabel(labeltext, legPosition): + nLines = len(labeltext.split("\\n")) + + if legPosition == "TR": + doSpam(labeltext, .30, .90-nLines*0.03, .48, .90, align=11, textSize=0.03) + elif legPosition == "TL": + doSpam(labeltext, .75, .90-nLines*0.03, .93, .90, align=11, textSize=0.03) + def reMax(hist,hist2,islog,factorLin=1.3,factorLog=2.0): if hist.ClassName() == 'THStack': hist = hist.GetHistogram() @@ -122,7 +140,7 @@ def doDataNorm(pspec,pmap): sig.Draw("HIST SAME") return sig -def doStackSignalNorm(pspec,pmap,individuals,extrascale=1.0): +def doStackSignalNorm(pspec,pmap,individuals,extrascale=1.0,norm=True): total = sum([v.Integral() for k,v in pmap.iteritems() if k != 'data' and not hasattr(v,'summary')]) if options.noStackSig: total = sum([v.Integral() for k,v in pmap.iteritems() if not hasattr(v,'summary') and mca.isBackground(k) ]) @@ -133,7 +151,7 @@ def doStackSignalNorm(pspec,pmap,individuals,extrascale=1.0): sig.SetFillStyle(0) sig.SetLineColor(sig.GetFillColor()) sig.SetLineWidth(4) - sig.Scale(total*extrascale/sig.Integral()) + if norm: sig.Scale(total*extrascale/sig.Integral()) sig.Draw("HIST SAME") sigs.append(sig) return sigs @@ -146,7 +164,7 @@ def doStackSignalNorm(pspec,pmap,individuals,extrascale=1.0): sig.SetFillStyle(0) sig.SetLineColor(206) sig.SetLineWidth(4) - if sig.Integral() > 0: + if norm and sig.Integral() > 0: sig.Scale(total*extrascale/sig.Integral()) sig.Draw("HIST SAME") return [sig] @@ -413,12 +431,13 @@ def doLegend(pmap,mca,corner="TR",textSize=0.035,cutoff=1e-2,cutoffSignals=True, total = sum([x.Integral() for x in pmap.itervalues()]) sigEntries = []; bgEntries = [] for p in mca.listSignals(allProcs=True): + if mca.getProcessOption(p,'HideInLegend',False): continue if p in pmap and pmap[p].Integral() > (cutoff*total if cutoffSignals else 0): lbl = mca.getProcessOption(p,'Label',p) sigEntries.append( (pmap[p],lbl,mcStyle) ) backgrounds = mca.listBackgrounds(allProcs=True) - backgrounds.reverse() for p in backgrounds: + if mca.getProcessOption(p,'HideInLegend',False): continue if p in pmap and pmap[p].Integral() >= cutoff*total: lbl = mca.getProcessOption(p,'Label',p) bgEntries.append( (pmap[p],lbl,mcStyle) ) @@ -474,7 +493,6 @@ def run(self,mca,cuts,plots,makeStack=True,makeCanvas=True): dir = self._dir.mkdir(subname,title) dir.cd() for pspec in plots.plots(): - print " plot: ",pspec.name pmap = mca.getPlots(pspec,cut,makeSummary=True) # # blinding policy @@ -519,12 +537,12 @@ def run(self,mca,cuts,plots,makeStack=True,makeCanvas=True): if v.InheritsFrom("TH1"): v.SetDirectory(dir) dir.WriteTObject(v) # - for p in mca.listBackgrounds(allProcs=True) + mca.listSignals(allProcs=True): + for p in itertools.chain(reversed(mca.listBackgrounds(allProcs=True)), reversed(mca.listSignals(allProcs=True))): if p in pmap: plot = pmap[p] if plot.Integral() <= 0: continue - if mca.isSignal(p) and options.noStackSig == True: continue if mca.isSignal(p): plot.Scale(options.signalPlotScale) + if mca.isSignal(p) and options.noStackSig == True: continue if self._options.plotmode == "stack": stack.Add(plot) total.Add(plot) @@ -549,6 +567,16 @@ def run(self,mca,cuts,plots,makeStack=True,makeCanvas=True): plot.SetMarkerSize(1.5) else: plot.SetMarkerStyle(0) + if pspec.getOption('normEachBin',"False")=="True": + for b in xrange(1,stack.GetHists().First().GetNbinsX()+1): + IntegralBin=0 + for obj in stack.GetHists(): + IntegralBin+=obj.GetBinContent(b); + if IntegralBin>0: + for obj in stack.GetHists(): + obj.SetBinContent(b,obj.GetBinContent(b)/IntegralBin); + obj.SetBinError(b,obj.GetBinError(b)/IntegralBin); + stack.Draw("GOFF") stack.GetYaxis().SetTitle(pspec.getOption('YTitle',"Events")) stack.GetXaxis().SetTitle(pspec.getOption('XTitle',pspec.name)) @@ -585,8 +613,21 @@ def run(self,mca,cuts,plots,makeStack=True,makeCanvas=True): if p2: p2.SetLogx(True) total.GetXaxis().SetNoExponent(True) total.GetXaxis().SetMoreLogLabels(True) - if islog: total.SetMaximum(2*total.GetMaximum()) - if not islog: total.SetMinimum(0) + if not options.extraLabel=="": #free some space on the canvas for extra label lines + tmpMin = 0.01 #default log miminum + if pspec.hasOption('YMin'): + tmpMin = pspec.getOption('YMin',1.0) + total.SetMinimum(tmpMin) + tmpMax = total.GetBinContent(total.GetMaximumBin()) + relHistHeight = 1- (ROOT.gStyle.GetPadTopMargin() + ROOT.gStyle.GetPadBottomMargin() + 0.03*len(options.extraLabel.split("\\n"))) + if islog: maximum = tmpMin * pow(tmpMax/tmpMin,1./relHistHeight); + else: maximum = (tmpMax-tmpMin)/relHistHeight + tmpMin + total.SetMaximum(maximum) + elif islog: #plain log without extra labels + total.SetMaximum(2*total.GetMaximum()) + total.SetMinimum(0.01) # default min value for logy + if pspec.hasOption('YMin'): total.SetMinimum(pspec.getOption('YMin',1.0)) + else: total.SetMinimum(0) total.Draw("HIST") if self._options.plotmode == "stack": stack.Draw("SAME HIST") @@ -622,12 +663,13 @@ def run(self,mca,cuts,plots,makeStack=True,makeCanvas=True): doLegend(pmap,mca,corner=pspec.getOption('Legend','TR'), cutoff=legendCutoff, mcStyle=("F" if self._options.plotmode == "stack" else "L"), cutoffSignals=not(options.showSigShape or options.showIndivSigShapes or options.showSFitShape), - textSize=(0.045 if doRatio else 0.035), + textSize=(0.045 if doRatio else options.legendTextSize), legWidth=options.legendWidth) doTinyCmsPrelim(hasExpo = total.GetMaximum() > 9e4 and not c1.GetLogy(),textSize=(0.045 if doRatio else 0.033)) + if not options.extraLabel=="": printExtraLabel(options.extraLabel,pspec.getOption('Legend','TR')) signorm = None; datnorm = None; sfitnorm = None - if options.showSigShape or options.showIndivSigShapes: - signorms = doStackSignalNorm(pspec,pmap,options.showIndivSigShapes,extrascale=options.signalPlotScale) + if options.showSigShape or options.showIndivSigShapes or options.showIndivSigs: + signorms = doStackSignalNorm(pspec,pmap,options.showIndivSigShapes or options.showIndivSigs,extrascale=options.signalPlotScale, norm=not options.showIndivSigs) for signorm in signorms: signorm.SetDirectory(dir); dir.WriteTObject(signorm) reMax(total,signorm,islog) @@ -662,7 +704,7 @@ def run(self,mca,cuts,plots,makeStack=True,makeCanvas=True): if subname: fdir += "/"+subname; if not os.path.exists(fdir): os.makedirs(fdir); - if os.path.exists("/afs/cern.ch"): os.system("cp /afs/cern.ch/user/g/gpetrucc/php/index.php "+fdir) + if os.path.exists("/afs/cern.ch"): os.system("cp /afs/cern.ch/user/a/alobanov/public/php/index.php "+fdir) if ext == "txt": dump = open("%s/%s.%s" % (fdir, pspec.name, ext), "w") maxlen = max([len(mca.getProcessOption(p,'Label',p)) for p in mca.listSignals(allProcs=True) + mca.listBackgrounds(allProcs=True)]+[7]) @@ -672,10 +714,11 @@ def run(self,mca,cuts,plots,makeStack=True,makeCanvas=True): plot = pmap[p] if plot.Integral() <= 0: continue norm = plot.Integral() + if p not in ["signal","background"] and mca.isSignal(p): norm /= options.signalPlotScale # un-scale what was scaled stat = sqrt(sum([plot.GetBinError(b)**2 for b in xrange(1,plot.GetNbinsX()+1)])) syst = norm * mca.getProcessOption(p,'NormSystematic',0.0) if p not in ["signal", "background"] else 0; if p == "signal": dump.write(("-"*(maxlen+45))+"\n"); - dump.write(fmt % (mca.getProcessOption(p,'Label',p) if p not in ["signal", "background"] else p.upper(), norm, stat)) + dump.write(fmt % (_unTLatex(mca.getProcessOption(p,'Label',p) if p not in ["signal", "background"] else p.upper()), norm, stat)) if syst: dump.write(" +/- %9.2f (syst)" % syst) dump.write("\n") if 'data' in pmap: @@ -683,14 +726,17 @@ def run(self,mca,cuts,plots,makeStack=True,makeCanvas=True): dump.write(("%%%ds %%7.0f\n" % (maxlen+1)) % ('DATA', pmap['data'].Integral())) dump.close() else: - if "TH2" in total.ClassName(): + if "TH2" in total.ClassName() or "TProfile2D" in total.ClassName(): for p in mca.listSignals(allProcs=True) + mca.listBackgrounds(allProcs=True) + ["signal", "background"]: if p not in pmap: continue plot = pmap[p] + c1.SetRightMargin(0.20) + plot.SetContour(100) plot.Draw("COLZ") - c1.Print("%s/%s_%s.%s" % (fdir, pspec.name, p, ext)) + c1.Print("%s/%s_%s.%s" % (fdir, pspec.name if not options.out else options.out + "_" + pspec.name, p, ext)) else: - c1.Print("%s/%s.%s" % (fdir, pspec.name, ext)) + c1.Print("%s/%s.%s" % (fdir, pspec.name if not options.out else options.out + "_" + pspec.name, ext)) + c1.Close() def addPlotMakerOptions(parser): addMCAnalysisOptions(parser) @@ -698,10 +744,12 @@ def addPlotMakerOptions(parser): #parser.add_option("--lspam", dest="lspam", type="string", default="CMS Simulation", help="Spam text on the right hand side"); parser.add_option("--lspam", dest="lspam", type="string", default="CMS Preliminary", help="Spam text on the right hand side"); parser.add_option("--rspam", dest="rspam", type="string", default="#sqrt{s} = 13 TeV, L = %(lumi).1f fb^{-1}", help="Spam text on the right hand side"); + parser.add_option("--extraLabel", dest="extraLabel", default = "", help="print extra text next to the legend (several lines in case string contains \\n )") parser.add_option("--print", dest="printPlots", type="string", default="png,pdf,txt", help="print out plots in this format or formats (e.g. 'png,pdf,txt')"); parser.add_option("--pdir", "--print-dir", dest="printDir", type="string", default="plots", help="print out plots in this directory"); parser.add_option("--showSigShape", dest="showSigShape", action="store_true", default=False, help="Superimpose a normalized signal shape") parser.add_option("--showIndivSigShapes", dest="showIndivSigShapes", action="store_true", default=False, help="Superimpose normalized shapes for each signal individually") + parser.add_option("--showIndivSigs", dest="showIndivSigs", action="store_true", default=False, help="Superimpose shapes for each signal individually (normalized to their expected event yield)") parser.add_option("--noStackSig", dest="noStackSig", action="store_true", default=False, help="Don't add the signal shape to the stack (useful with --showSigShape)") parser.add_option("--showDatShape", dest="showDatShape", action="store_true", default=False, help="Stack a normalized data shape") parser.add_option("--showSFitShape", dest="showSFitShape", action="store_true", default=False, help="Stack a shape of background + scaled signal normalized to total data") @@ -718,6 +766,7 @@ def addPlotMakerOptions(parser): parser.add_option("--select-plot", "--sP", dest="plotselect", action="append", default=[], help="Select only these plots out of the full file") parser.add_option("--exclude-plot", "--xP", dest="plotexclude", action="append", default=[], help="Exclude these plots from the full file") parser.add_option("--legendWidth", dest="legendWidth", type="float", default=0.25, help="Width of the legend") + parser.add_option("--legendTextSize", dest="legendTextSize", type="float", default=0.035, help="Textsize used in the legend (if no ratio plot is done)") parser.add_option("--flagDifferences", dest="flagDifferences", action="store_true", default=False, help="Flag plots that are different (when using only two processes, and plotmode nostack") if __name__ == "__main__": @@ -730,11 +779,15 @@ def addPlotMakerOptions(parser): cuts = CutsFile(args[1],options) plots = PlotFile(args[2],options) outname = options.out if options.out else (args[2].replace(".txt","")+".root") + print outname if (not options.out) and options.printDir: outname = options.printDir + "/"+os.path.basename(args[2].replace(".txt","")+".root") + elif options.out and options.printDir: + outname = options.printDir + "/" + outname +".root" + print outname if os.path.dirname(outname) and not os.path.exists(os.path.dirname(outname)): os.system("mkdir -p "+os.path.dirname(outname)) - if os.path.exists("/afs/cern.ch"): os.system("cp /afs/cern.ch/user/g/gpetrucc/php/index.php "+os.path.dirname(outname)) + if os.path.exists("/afs/cern.ch"): os.system("cp /afs/cern.ch/user/a/alobanov/public/php/index.php "+os.path.dirname(outname)) print "Will save plots to ",outname fcut = open(re.sub("\.root$","",outname)+"_cuts.txt","w") fcut.write("%s\n" % cuts); fcut.close() diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-CSA14.txt b/CMGTools/TTHAnalysis/python/plotter/mca-CSA14.txt index 34f94716c332..ff6f73105ee1 100644 --- a/CMGTools/TTHAnalysis/python/plotter/mca-CSA14.txt +++ b/CMGTools/TTHAnalysis/python/plotter/mca-CSA14.txt @@ -14,7 +14,7 @@ TTZ : TTZJets_S14 : 0.8565 ; FillColor=ROOT.kSpring+2, Label="ttZ", NormSystemat #TTV : TTZJets_S14 : 0.8565 ; FillColor=ROOT.kSpring+2, Label="ttZ", NormSystematic=0.2 # -- Backgrounds -TT : TTJets_MSDecaysCKM_central_PU_S14_POSTLS170 : 809.1 ; FillColor=ROOT.kGray+1, Label="tt", NormSystematic=0.5 +TT : TTJets : 809.1 ; FillColor=ROOT.kGray+1, Label="tt", NormSystematic=0.5 #TT_wHT : TTJets_MSDecaysCKM_central_PU_S14_POSTLS170 : 809.1 * pow(min(htJet40j/1000,1.0), 2.6) ; FillColor=ROOT.kBlack, Label="TT w(H_{T})" @@ -36,8 +36,8 @@ WJets : WJetsToLNu_HT400to600_PU_S14_POSTLS170 : 55.61 * 1.23; Label="W+je WJets : WJetsToLNu_HT600toInf_PU_S14_POSTLS170 : 18.81 * 1.23; Label="W+jets", FillColor=ROOT.kCyan+2, NormSystematic=0.5 # -- SUSY -T1tttt_HL+: SMS_T1tttt_2J_mGl1500_mLSP100_PU_S14_POSTLS170 : 0.0141903 ; FillColor=ROOT.kAzure+8, Label="T1t^{4} 1.5/0.1" -T1tttt_HM+: SMS_T1tttt_2J_mGl1200_mLSP800_PU_S14_POSTLS170 : 0.0856418 ; FillColor=ROOT.kAzure+0, Label="T1t^{4} 1.2/0.8" +T1tttt_HL+: SMS_T1tttt_2J_mGl1500_mLSP100 : 0.0141903 ; FillColor=ROOT.kAzure+8, Label="T1t^{4} 1.5/0.1" +T1tttt_HM+: SMS_T1tttt_2J_mGl1200_mLSP800 : 0.0856418 ; FillColor=ROOT.kAzure+0, Label="T1t^{4} 1.2/0.8" T5Full_HM+: T5Full_1200_1000_800 : 0.0856418 ; FillColor=ROOT.kViolet+6, Label="T5W^{2} 1.2/0.8" T5Full_HL+: T5Full_1500_800_100 : 0.0141903 ; FillColor=ROOT.kViolet+0, Label="T5W^{2} 1.5/1.1" diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-Phys14.txt b/CMGTools/TTHAnalysis/python/plotter/mca-Phys14.txt new file mode 100644 index 000000000000..c176cae7c2e6 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/mca-Phys14.txt @@ -0,0 +1,87 @@ +# --- ttH inclusive +TTH : TTH : xsec ; FillColor=ROOT.kOrange+1, Label="ttH", NormSystematic=0.2 + +TTW : TTWJets: xsec ; FillColor=ROOT.kGreen-5, Label="ttW", NormSystematic=0.2 +TTZ : TTZJets: xsec ; FillColor=ROOT.kSpring+2, Label="ttZ", NormSystematic=0.2 +#TTV : TTWJets: xsec ; FillColor=ROOT.kGreen-5, Label="ttW", NormSystematic=0.2 +#TTV : TTZJets: xsec ; FillColor=ROOT.kSpring+2, Label="ttZ", NormSystematic=0.2 + +# -- TTbar Backgrounds +TT : TTJets: xsec ; FillColor=ROOT.kGray+1, Label="tt", NormSystematic=0.5 + +# Single Top and Top+W associated prod. +TW : T_tWch: xsec; FillColor=ROOT.kGray+2, Label="tW", NormSystematic=0.2 +TW : TBar_tWch: xsec; FillColor=ROOT.kGray+2, Label="tW", NormSystematic=0.2 +T : TToLeptons_tch: xsec ; FillColor=ROOT.kGray+2, Label="top", NormSystematic=0.2 +T : TBarToLeptons_tch: xsec ; FillColor=ROOT.kGray+2, Label="top", NormSystematic=0.2 +T : TToLeptons_sch: xsec ; FillColor=ROOT.kGray+2, Label="top", NormSystematic=0.2 +T : TBarToLeptons_sch: xsec ; FillColor=ROOT.kGray+2, Label="top", NormSystematic=0.2 + + +# cross section from StandardModelCrossSectionsat13TeV (NLO MCFM) times BR=(3*0.108)*(3*0.0337); FIXED HERE, was wrong in production +WZ : WZJetsTo3LNu: 2.165 ; Label="WZ", FillColor=ROOT.kViolet-4, NormSystematic=0.3 +# cross section from StandardModelCrossSectionsat13TeV (NLO MCFM, mll > 12) times (3*0.0337)**2; FIXED HERE, as BR was wrong in production +ZZ : ZZTo4L: 0.1081 ; Label="ZZ", FillColor=ROOT.kAzure-9, NormSystematic=0.3 + +# inclusive (cross section from FEWZ) +#DY : DYJetsToLL_M50: xsec ; Label="Z+jets", FillColor=ROOT.kCyan +# HT bins: cross sections for DYJets taken from McM LO times inclusive k-factor from FEWZ(2008 pb x3)/McM(4746) +DY : DYJetsToLL_M50_HT100to200 : xsec; Label="Z+jets", FillColor=ROOT.kCyan, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT200to400 : xsec; Label="Z+jets", FillColor=ROOT.kCyan, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT400to600 : xsec; Label="Z+jets", FillColor=ROOT.kCyan, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT600toInf : xsec; Label="Z+jets", FillColor=ROOT.kCyan, NormSystematic=0.5 + +# cross sections for WJets taken from McM LO times inclusive k-factor from FEWZ(20508.9 pb x3)/McM(50100.0) +WJets : WJetsToLNu_HT100to200 : xsec; Label="W+jets", FillColor=ROOT.kCyan+2, NormSystematic=0.5 +WJets : WJetsToLNu_HT200to400 : xsec; Label="W+jets", FillColor=ROOT.kCyan+2, NormSystematic=0.5 +WJets : WJetsToLNu_HT400to600 : xsec; Label="W+jets", FillColor=ROOT.kCyan+2, NormSystematic=0.5 +WJets : WJetsToLNu_HT600toInf : xsec; Label="W+jets", FillColor=ROOT.kCyan+2, NormSystematic=0.5 + +# -- SUSY +T1tttt_HL+: SMS_T1tttt_2J_mGl1500_mLSP100: xsec ; FillColor=ROOT.kAzure+8, Label="T1t^{4} 1.5/0.1" +T1tttt_HL_mc+: SMS_T1tttt_2J_mGl1500_mLSP100: xsec : LepGood1_mcMatchId!=0 && LepGood2_mcMatchId!=0; FillColor=ROOT.kAzure+8, Label="T1t^{4} 1.5/0.1 MC", LineStyle=2, HideInLegend +T1tttt_HM+: SMS_T1tttt_2J_mGl1200_mLSP800: xsec ; FillColor=ROOT.kAzure+0, Label="T1t^{4} 1.2/0.8" +T1tttt_HM_mc+: SMS_T1tttt_2J_mGl1200_mLSP800: xsec : LepGood1_mcMatchId!=0 && LepGood2_mcMatchId!=0 ; FillColor=ROOT.kAzure+0, Label="T1t^{4} 1.2/0.8 MC", LineStyle=2, HideInLegend +T5qqqqWW_HL+: T5qqqqWW_mGo1500_mCh800_mChi100 : xsec ; FillColor=ROOT.kAzure-6, Label="T5W^{2} 1.5/0.1" +T5qqqqWW_HL_mc+: T5qqqqWW_mGo1500_mCh800_mChi100 : xsec : LepGood1_mcMatchId!=0 && LepGood2_mcMatchId!=0 ; FillColor=ROOT.kAzure-6, Label="T5W^{2} 1.5/0.1 MC", LineStyle=2, HideInLegend +T5qqqqWW_HM+: T5qqqqWW_mGo1200_mCh1000_mChi800_dilep : xsec ; FillColor=ROOT.kBlue+0, Label="T5W^{2} 1.2/0.8" +T5qqqqWW_HM_mc+: T5qqqqWW_mGo1200_mCh1000_mChi800_dilep : xsec : LepGood1_mcMatchId!=0 && LepGood2_mcMatchId!=0 ; FillColor=ROOT.kBlue+0, Label="T5W^{2} 1.2/0.8 MC", LineStyle=2, HideInLegend +#T5qqqqWWDD+ : T5qqqqWWDeg_mGo1000_mCh310_mChi300_dilep : 0.325388*(0.333*0.333) ; FillColor=ROOT.kViolet+6, Label="T5W^{2} 1.0/0.3/10" # hopeless +#T5qqqqWWD+ : T5qqqqWW_mGo1400_mCh315_mChi300 : 0.325388 ; FillColor=ROOT.kViolet+6, Label="T5W^{2} 1.0/0.3/15" +T5qqqqWWD+ : T5qqqqWWDeg_mGo1000_mCh315_mChi300_dilep : 0.325388*(0.333*0.333) ; FillColor=ROOT.kAzure+2, Label="T5W^{2} 1.0/0.3/15" +T5qqqqWWD_mc+ : T5qqqqWWDeg_mGo1000_mCh315_mChi300_dilep : LepGood1_mcMatchId!=0 && LepGood2_mcMatchId!=0 : 0.325388*(0.333*0.333) ; FillColor=ROOT.kAzure+2, Label="T5W^{2} 1.0/0.3/15 MC", LineStyle=2, HideInLegend +T5qqqqWWD25+ : T5qqqqWWDeg_mGo1000_mCh325_mChi300_dilep : 0.325388*(0.333*0.333) ; FillColor=ROOT.kViolet+6, Label="T5W^{2} 1.0/0.3/25" +T5qqqqWWD25_mc+ : T5qqqqWWDeg_mGo1000_mCh325_mChi300_dilep : LepGood1_mcMatchId!=0 && LepGood2_mcMatchId!=0 : 0.325388*(0.333*0.333) ; FillColor=ROOT.kViolet+6, Label="T5W^{2} 1.0/0.3/25 MC", LineStyle=2, HideInLegend + + +T5tttt_HLDx+: T5ttttDeg_mGo1300_mStop300_mCh285_mChi280 : xsec ; FillColor=ROOT.kRed-9, Label="T5t^{4} 1.3/.3/\#chi" +T5tttt_MLDx+: T5ttttDeg_mGo1000_mStop300_mCh285_mChi280 : xsec ; FillColor=ROOT.kRed+2, Label="T5t^{4} 1.0/.3/\#chi" +T5tttt_MLDx_mc+: T5ttttDeg_mGo1000_mStop300_mCh285_mChi280 : xsec : LepGood1_mcMatchId!=0 && LepGood2_mcMatchId!=0 ; FillColor=ROOT.kRed+2, Label="T5t^{4} 1.0/.3/\#chi MC", LineStyle=2, HideInLegend +T5tttt_HLD4+: T5ttttDeg_mGo1300_mStop300_mChi280 : xsec ; FillColor=ROOT.kRed-9, Label="T5t^{4} 1.3/.3/4" +T5tttt_MLD4+: T5ttttDeg_mGo1000_mStop300_mChi280 : xsec ; FillColor=ROOT.kRed-9, Label="T5t^{4} 1.0/.3/4" +## dilepton-enriched samples made with the multi-hadronizer. the cross section must be multiplied by the boost to the matching efficiency and by (sum weights)/(events), +## since in mcAnalysis we then divide by the sum of weights. +#T5tttt_dil_HLDx+: T1tttt_2J_mGo1300_mStop300_mCh285_mChi280_dil: 0.0460525*(48.03625/22.0665)*(6699.05/89779) ; FillColor=ROOT.kRed-9, Label="T5t^{4} 1.3/.3/\#chi" +#T5tttt_dil_MLDx+: T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil: 0.325388*(40.3244/20.9656)*(3596.7/28378); FillColor=ROOT.kRed-4, Label="T5t^{4} 1.0/.3/\#chi" + + +T1ttbbWW_MM10+: T1ttbbWW_mGo1000_mCh725_mChi715 : xsec ; FillColor=ROOT.kPink+10, Label="tbW^{2} 1.0/.7/10" +T1ttbbWW_MM5+ : T1ttbbWW_mGo1000_mCh725_mChi720 : xsec ; FillColor=ROOT.kRed-9, Label="tbW^{2} 1.0/.7/5" +T1ttbbWW_HL10+: T1ttbbWW_mGo1300_mCh300_mChi290 : xsec ; FillColor=ROOT.kPink+10, Label="tbW^{2} 1.3/.3/10" +T1ttbbWW_HL5+ : T1ttbbWW_mGo1300_mCh300_mChi295 : xsec ; FillColor=ROOT.kRed-9, Label="tbW^{2} 1.3/.3/5" + +T6ttWW_HM+: T6ttWW_mSbot600_mCh425_mChi50 : xsec; FillColor=ROOT.kViolet+3, Label="T6tW^{2} 600/C" +T6ttWW_HL+: T6ttWW_mSbot650_mCh150_mChi50 : xsec; FillColor=ROOT.kViolet+2, Label="T6tW^{2} 650/U" + +#data: SingleMu + + +# --- OTHERS NOT USED NORMALLY +#HZZ : GGHZZ4L : xsec ; FillColor=ROOT.kOrange+1, Label="HZZ" + + +#For LepMVA Rocs +#T5tttt_dil_MLDx+: T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil: 0.325388*(40.3244/20.9656)*(3596.7/28378): LepGood1_mcMatchId != 0 && LepGood2_mcMatchId != 0 ; FillColor=ROOT.kRed-4, Label="T5t^{4} 1.0/.3/\#chi" +#T1tttt_HL+: SMS_T1tttt_2J_mGl1500_mLSP100: xsec: LepGood1_mcMatchId != 0 && LepGood2_mcMatchId != 0 ; FillColor=ROOT.kAzure+8, Label="T1t^{4} 1.5/0.1" +#T1tttt_HM+: SMS_T1tttt_2J_mGl1200_mLSP800: xsec: LepGood1_mcMatchId != 0 && LepGood2_mcMatchId != 0 ; FillColor=ROOT.kAzure+0, Label="T1t^{4} 1.2/0.8" +#TTH : TTH : xsec: LepGood1_mcMatchId != 0 && LepGood2_mcMatchId != 0; FillColor=ROOT.kOrange+1, Label="ttH", NormSystematic=0.2 diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-Phys14_1l.txt b/CMGTools/TTHAnalysis/python/plotter/mca-Phys14_1l.txt new file mode 100644 index 000000000000..a9f1d8bfa51c --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/mca-Phys14_1l.txt @@ -0,0 +1,66 @@ +#Cross sections need to be double-checked + + +#Signal samples +#T5qqqqWW_Gl1200_Chi1000_LSP800+ : SMS_T5qqqqWW_Gl1200_Chi1000_LSP800 : 0.0856418 ; FillColor=ROOT.kYellow-3, Label ="T5q^{4} 1.2/1/0.8" +#T5qqqqWW_Gl1200_Chi1000_LSP800+ : T5qqqqWW_mGo1200_mCh1000_mChi800 : 0.0856418 ; FillColor=ROOT.kYellow-3, Label ="T5q^{4} 1.2/1/0.8" +#T1tttt_SqGl15_20_01+: SMS_SqGl_T1tttt_2J_mGl1500_mSq_2000_mLSP100 : 0.0162 ; FillColor=ROOT.kRed, Label="T1t^{4}_{\#tilde{q}\#tilde{g} }1.5/2.0/0.1" +T1tttt_HM_1200_800+: SMS_T1tttt_2J_mGl1200_mLSP800 : 0.0856418 ; FillColor=ROOT.kBlack, Label="T1t^{4} 1.2/0.8" +T1tttt_HL_1500_100+: SMS_T1tttt_2J_mGl1500_mLSP100 : 0.0141903 ; FillColor=ROOT.kMagenta, Label="T1t^{4} 1.5/0.1" +#T1ttbbWW_1300_300_290+: T1ttbbWW_mGo1300_mCh300_mChi290 : 0.0460525 ; FillColor = ROOT.kRed, Label="T12^{tbW} 1.3/0.3/0.290" +#T1ttbbWW_1300_300_295+: T1ttbbWW_mGo1300_mCh300_mChi295 : 0.0460525 ; FillColor = ROOT.kRed+3, Label="T12^{tbW} 1.3/0.3/0.295" +#T5ttttDeg_1300_300_280+: T5ttttDeg_mGo1300_mStop300_mChi280 : 0.0460525 ; FillColor = ROOT.kYellow-3, Label ="T5t^{4} 1.3/0.3/0.28" + + +#Background +TT : TTJets : 809.1 ; FillColor=ROOT.kBlue-2, Label="t\#bar{t}", NormSystematic=0.5 +#TT_DiLep : TTJets : 809.1 : ngenLepFromTau+ngenLep ==2 ; FillColor=ROOT.kBlue, Label="t\#bar{t} dileptonic", NormSystematic=0.5 +#TT_SemiLep : TTJets : 809.1 : ngenLepFromTau+ngenLep ==1 ; FillColor=ROOT.kBlue+1, Label="t\#bar{t} l+jets", NormSystematic=0.5 +#TT_FullHad : TTJets : 809.1 : ngenLep+ngenTau ==0 ; FillColor=ROOT.kBlue+2, Label="t\#bar{t} alljets", NormSystematic=0.5 +#TT_HadTau : TTJets : 809.1 : ngenLep==0 && ngenLepFromTau==0 && ngenTau>0 ; FillColor=ROOT.kBlue+3, Label="t\#bar{t} had. \#tau", NormSystematic=0.5 + +#TT_DiLep : TTJets : 809.1 : ngenTau+ngenLep ==2 ; FillColor=ROOT.kBlue, Label="t\#bar{t} dileptonic", NormSystematic=0.5 +#TT_SemiLep : TTJets : 809.1 : ngenTau+ngenLep ==1 ; FillColor=ROOT.kBlue+1, Label="t\#bar{t} l+jets", NormSystematic=0.5 +#TT_FullHad : TTJets : 809.1 : ngenLep+ngenTau ==0 ; FillColor=ROOT.kBlue+2, Label="t\#bar{t} alljets", NormSystematic=0.5 + + +SingleT :TToLeptons_tch : 136.05*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TToLeptons_sch : 7.20*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TBarToLeptons_tch : 80.97*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TBarToLeptons_sch : 4.16*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TBar_tWch : 35.6 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :T_tWch : 35.6 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 + + +WJets : WJetsToLNu_HT100to200 : 1817.0 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT200to400 : 471.6 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT400to600 : 55.61 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT600toInf : 18.81 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 + +# HT bins: cross sections for DYJets taken from McM LO times inclusive k-factor from FEWZ(2008 pb x3)/McM(4746) +DY : DYJetsToLL_M50_HT100to200 : 194.3 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT200to400 : 52.24 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT400to600 : 6.546 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT600toInf : 2.179 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 + +# cross sections are from 13 TeV MG5_aMC@NLO v2.2.1, NNPDF 2.3nlo, fixed scale = mtop + 0.5*mv +TTV : TTZJets : 0.8565 ; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 +TTV : TTWJets : 0.6647 ; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 +#double-check x-section values, especially for TTH +TTV : TTH : 0.5085 ; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 + + +# +##100-250HT-bin not considered +QCD : QCD_HT_250To500 : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD : QCD_HT_500To1000 : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD : QCD_HT_1000ToInf : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD : QCD_HT_250To500 : 670500 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD : QCD_HT_500To1000 : 26740 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD : QCD_HT_1000ToInf : 769.7 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 + +# GJets +#GJets : GJets_HT100to200 : xsec ; Label="\gamma+jets", FillColor=ROOT.kYellow, NormSystematic=0.5 +#GJets : GJets_HT200to400 : xsec ; Label="\gamma+jets", FillColor=ROOT.kYellow, NormSystematic=0.5 +#GJets : GJets_HT400to600 : xsec ; Label="\gamma+jets", FillColor=ROOT.kYellow, NormSystematic=0.5 +#GJets : GJets_HT600toInf : xsec ; Label="\gamma+jets", FillColor=ROOT.kYellow, NormSystematic=0.5 diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-Phys14_1l_Cards.txt b/CMGTools/TTHAnalysis/python/plotter/mca-Phys14_1l_Cards.txt new file mode 100644 index 000000000000..19bad0e37d71 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/mca-Phys14_1l_Cards.txt @@ -0,0 +1,65 @@ +#Cross sections need to be double-checked + + +#Signal samples +#T5qqqqWW_Gl1200_Chi1000_LSP800+ : SMS_T5qqqqWW_Gl1200_Chi1000_LSP800 : 0.0856418 ; FillColor=ROOT.kYellow-3, Label ="T5q^{4} 1.2/1/0.8" +#T5qqqqWW_Gl1200_Chi1000_LSP800+ : T5qqqqWW_mGo1200_mCh1000_mChi800 : 0.0856418 ; FillColor=ROOT.kYellow-3, Label ="T5q^{4} 1.2/1/0.8" +#T1tttt_SqGl15_20_01+: SMS_SqGl_T1tttt_2J_mGl1500_mSq_2000_mLSP100 : 0.0162 ; FillColor=ROOT.kRed, Label="T1t^{4}_{\#tilde{q}\#tilde{g} }1.5/2.0/0.1" +T1tttt_HM_1200_800+: SMS_T1tttt_2J_mGl1200_mLSP800 : 0.0856418 ; FillColor=ROOT.kBlack, Label="T1t^{4} 1.2/0.8" +T1tttt_HL_1500_100+: SMS_T1tttt_2J_mGl1500_mLSP100 : 0.0141903 ; FillColor=ROOT.kMagenta, Label="T1t^{4} 1.5/0.1" +T1ttbbWW_1300_300_290+: T1ttbbWW_mGo1300_mCh300_mChi290 : 0.0460525 ; FillColor = ROOT.kRed, Label="T12^{tbW} 1.3/0.3/0.290" +T1ttbbWW_1300_300_295+: T1ttbbWW_mGo1300_mCh300_mChi295 : 0.0460525 ; FillColor = ROOT.kRed+2, Label="T12^{tbW} 1.3/0.3/0.295" +T5ttttDeg_1300_300_280+: T5ttttDeg_mGo1300_mStop300_mChi280 : 0.0460525 ; FillColor = ROOT.kGreen+2, Label ="T5t^{4} 1.3/0.3/0.28" +T2tt_850_100+: SMS_T2tt_2J_mStop850_mLSP100 : 0.0189612 ; FillColor = ROOT.kYellow, Label="T2tt 0.85/0.1" +T2tt_650_325+: SMS_T2tt_2J_mStop650_mLSP325 : 0.107045 ; FillColor = ROOT.kYellow+2, Label="T2tt 0.65/0.325" +T2tt_425_325+: SMS_T2tt_2J_mStop425_mLSP325 : 1.31169 ; FillColor = ROOT.kOrange, Label="T2tt 0.425/0.325" + + +#Background +TT : TTJets : 809.1 ; FillColor=ROOT.kBlue-2, Label="t\#bar{t}", NormSystematic=0.5 +#TT_DiLep : TTJets : 809.1 : ngenLepFromTau+ngenLep ==2 ; FillColor=ROOT.kBlue, Label="t\#bar{t} dileptonic", NormSystematic=0.5 +#TT_SemiLep : TTJets : 809.1 : ngenLepFromTau+ngenLep ==1 ; FillColor=ROOT.kBlue+1, Label="t\#bar{t} l+jets", NormSystematic=0.5 +#TT_FullHad : TTJets : 809.1 : ngenLep+ngenTau ==0 ; FillColor=ROOT.kBlue+2, Label="t\#bar{t} alljets", NormSystematic=0.5 +#TT_HadTau : TTJets : 809.1 : ngenLep==0 && ngenLepFromTau==0 && ngenTau>0 ; FillColor=ROOT.kBlue+3, Label="t\#bar{t} had. \#tau", NormSystematic=0.5 + +#TT_DiLep : TTJets : 809.1 : ngenTau+ngenLep ==2 ; FillColor=ROOT.kBlue, Label="t\#bar{t} dileptonic", NormSystematic=0.5 +#TT_SemiLep : TTJets : 809.1 : ngenTau+ngenLep ==1 ; FillColor=ROOT.kBlue+1, Label="t\#bar{t} l+jets", NormSystematic=0.5 +#TT_FullHad : TTJets : 809.1 : ngenLep+ngenTau ==0 ; FillColor=ROOT.kBlue+2, Label="t\#bar{t} alljets", NormSystematic=0.5 + + +SingleT :TToLeptons_tch : 136.05*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TToLeptons_sch : 7.20*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TBarToLeptons_tch : 80.97*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TBarToLeptons_sch : 4.16*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TBar_tWch : 35.6 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :T_tWch : 35.6 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 + + +WJets : WJetsToLNu_HT100to200 : 1817.0 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT200to400 : 471.6 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT400to600 : 55.61 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT600toInf : 18.81 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 + +# HT bins: cross sections for DYJets taken from McM LO times inclusive k-factor from FEWZ(2008 pb x3)/McM(4746) +DY : DYJetsToLL_M50_HT100to200 : 194.3 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT200to400 : 52.24 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT400to600 : 6.546 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT600toInf : 2.179 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 + +# cross sections are from 13 TeV MG5_aMC@NLO v2.2.1, NNPDF 2.3nlo, fixed scale = mtop + 0.5*mv +TTV : TTZJets : 0.8565 ; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 +TTV : TTWJets : 0.6647 ; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 +#double-check x-section values, especially for TTH +TTV : TTH : 0.5085 ; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 + + + +# +##100-250HT-bin not considered +QCD : QCD_HT_250To500 : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD : QCD_HT_500To1000 : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD : QCD_HT_1000ToInf : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD : QCD_HT_250To500 : 670500 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD : QCD_HT_500To1000 : 26740 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD : QCD_HT_1000ToInf : 769.7 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 + diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-Phys14_1l_Cards_DiLepSplitUp_DiLepFlag.txt b/CMGTools/TTHAnalysis/python/plotter/mca-Phys14_1l_Cards_DiLepSplitUp_DiLepFlag.txt new file mode 100644 index 000000000000..a671b5f67ad7 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/mca-Phys14_1l_Cards_DiLepSplitUp_DiLepFlag.txt @@ -0,0 +1,139 @@ +#Cross sections need to be double-checked + + +#Signal samples +#T5qqqqWW_Gl1200_Chi1000_LSP800+ : SMS_T5qqqqWW_Gl1200_Chi1000_LSP800 : 0.0856418 ; FillColor=ROOT.kYellow-3, Label ="T5q^{4} 1.2/1/0.8" +#T5qqqqWW_Gl1200_Chi1000_LSP800+ : T5qqqqWW_mGo1200_mCh1000_mChi800 : 0.0856418 ; FillColor=ROOT.kYellow-3, Label ="T5q^{4} 1.2/1/0.8" +#T1tttt_SqGl15_20_01+: SMS_SqGl_T1tttt_2J_mGl1500_mSq_2000_mLSP100 : 0.0162 ; FillColor=ROOT.kRed, Label="T1t^{4}_{\#tilde{q}\#tilde{g} }1.5/2.0/0.1" +T1tttt_HM_1200_800+: SMS_T1tttt_2J_mGl1200_mLSP800 : 0.0856418 ; FillColor=ROOT.kBlack, Label="T1t^{4} 1.2/0.8" +T1tttt_HL_1500_100+: SMS_T1tttt_2J_mGl1500_mLSP100 : 0.0141903 ; FillColor=ROOT.kMagenta, Label="T1t^{4} 1.5/0.1" +T1ttbbWW_1300_300_290+: T1ttbbWW_mGo1300_mCh300_mChi290 : 0.0460525 ; FillColor = ROOT.kRed, Label="T12^{tbW} 1.3/0.3/0.290" +T1ttbbWW_1300_300_295+: T1ttbbWW_mGo1300_mCh300_mChi295 : 0.0460525 ; FillColor = ROOT.kRed+2, Label="T12^{tbW} 1.3/0.3/0.295" +T5ttttDeg_1300_300_280+: T5ttttDeg_mGo1300_mStop300_mChi280 : 0.0460525 ; FillColor = ROOT.kGreen+2, Label ="T5t^{4} 1.3/0.3/0.28" +T2tt_850_100+: SMS_T2tt_2J_mStop850_mLSP100 : 0.0189612 ; FillColor = ROOT.kYellow, Label="T2tt 0.85/0.1" +T2tt_650_325+: SMS_T2tt_2J_mStop650_mLSP325 : 0.107045 ; FillColor = ROOT.kYellow+2, Label="T2tt 0.65/0.325" +T2tt_425_325+: SMS_T2tt_2J_mStop425_mLSP325 : 1.31169 ; FillColor = ROOT.kOrange, Label="T2tt 0.425/0.325" + + +#Background +#TT : TTJets : 809.1 ; FillColor=ROOT.kBlue-2, Label="t\#bar{t}", NormSystematic=0.5 +#TT_DiLep : TTJets : 809.1 : ngenLepFromTau+ngenLep ==2 ; FillColor=ROOT.kBlue, Label="t\#bar{t} dileptonic", NormSystematic=0.5 +#TT_SemiLep : TTJets : 809.1 : ngenLepFromTau+ngenLep ==1 ; FillColor=ROOT.kBlue+1, Label="t\#bar{t} l+jets", NormSystematic=0.5 +#TT_FullHad : TTJets : 809.1 : ngenLep+ngenTau ==0 ; FillColor=ROOT.kBlue+2, Label="t\#bar{t} alljets", NormSystematic=0.5 +#TT_HadTau : TTJets : 809.1 : ngenLep==0 && ngenLepFromTau==0 && ngenTau>0 ; FillColor=ROOT.kBlue+3, Label="t\#bar{t} had. \#tau", NormSystematic=0.5 + +#TT_DiLep : TTJets : 809.1 : ngenTau+ngenLep ==2 ; FillColor=ROOT.kBlue, Label="t\#bar{t} dileptonic", NormSystematic=0.5 +TT_SemiLep : TTJets : 809.1 : ngenTau+ngenLep ==1 ; FillColor=ROOT.kBlue+1, Label="t\#bar{t} l+jets", NormSystematic=0.5 +TT_FullHad : TTJets : 809.1 : ngenLep+ngenTau ==0 ; FillColor=ROOT.kBlue+2, Label="t\#bar{t} alljets", NormSystematic=0.5 + + +SingleT_Rest :TToLeptons_tch : 136.05*0.108*3 : ngenTau+ngenLep!=2 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT_Rest :TToLeptons_sch : 7.20*0.108*3 : ngenTau+ngenLep!=2 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT_Rest :TBarToLeptons_tch : 80.97*0.108*3 : ngenTau+ngenLep!=2 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT_Rest :TBarToLeptons_sch : 4.16*0.108*3 : ngenTau+ngenLep!=2 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT_Rest :TBar_tWch : 35.6 : ngenTau+ngenLep!=2 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT_Rest :T_tWch : 35.6 : ngenTau+ngenLep!=2 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 + +#SingleT :TToLeptons_tch : 136.05*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +#SingleT :TToLeptons_sch : 7.20*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +#SingleT :TBarToLeptons_tch : 80.97*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +#SingleT :TBarToLeptons_sch : 4.16*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +#SingleT :TBar_tWch : 35.6 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +#SingleT :T_tWch : 35.6 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 + +DiLep_DoubleFail : TTJets : 809.1 : LeptonDecayChannelFlag==0 ; FillColor=ROOT.kBlue, Label="Dilep. DoubleTrash", NormSystematic=0.5 +DiLep_DoubleFail :TToLeptons_tch : 136.05*0.108*3 : LeptonDecayChannelFlag==0 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_DoubleFail :TToLeptons_sch : 7.20*0.108*3 : LeptonDecayChannelFlag==0 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_DoubleFail :TBarToLeptons_tch : 80.97*0.108*3 : LeptonDecayChannelFlag==0 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_DoubleFail :TBarToLeptons_sch : 4.16*0.108*3 : LeptonDecayChannelFlag==0 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_DoubleFail :TBar_tWch : 35.6 : LeptonDecayChannelFlag==0 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_DoubleFail :T_tWch : 35.6 : LeptonDecayChannelFlag==0 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_DoubleFail : DYJetsToLL_M50_HT100to200 : 194.3 * 1.27 : LeptonDecayChannelFlag==0; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_DoubleFail : DYJetsToLL_M50_HT200to400 : 52.24 * 1.27 : LeptonDecayChannelFlag==0; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_DoubleFail : DYJetsToLL_M50_HT400to600 : 6.546 * 1.27 : LeptonDecayChannelFlag==0; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_DoubleFail : DYJetsToLL_M50_HT600toInf : 2.179 * 1.27 : LeptonDecayChannelFlag==0; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_DoubleFail : TTZJets : 0.8565 : LeptonDecayChannelFlag==0; FillColor=ROOT.kBlue, Label="ttV(W/Z/H)", NormSystematic=0.2 +DiLep_DoubleFail : TTWJets : 0.6647 : LeptonDecayChannelFlag==0; FillColor=ROOT.kBlue, Label="ttV(W/Z/H)", NormSystematic=0.2 +DiLep_DoubleFail : TTH : 0.5085 : LeptonDecayChannelFlag==0; FillColor=ROOT.kBlue, Label="Merged dileptonic", NormSystematic=0.2 + + + +DiLep_HadTau : TTJets : 809.1 : LeptonDecayChannelFlag==1 ; FillColor=ROOT.kBlue, Label="Dilep. HadTau", NormSystematic=0.5 +DiLep_HadTau :TToLeptons_tch : 136.05*0.108*3 : LeptonDecayChannelFlag==1 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_HadTau :TToLeptons_sch : 7.20*0.108*3 : LeptonDecayChannelFlag==1 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_HadTau :TBarToLeptons_tch : 80.97*0.108*3 : LeptonDecayChannelFlag==1 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_HadTau :TBarToLeptons_sch : 4.16*0.108*3 : LeptonDecayChannelFlag==1 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_HadTau :TBar_tWch : 35.6 : LeptonDecayChannelFlag==1 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_HadTau :T_tWch : 35.6 : LeptonDecayChannelFlag==1 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_HadTau : DYJetsToLL_M50_HT100to200 : 194.3 * 1.27 : LeptonDecayChannelFlag==1; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_HadTau : DYJetsToLL_M50_HT200to400 : 52.24 * 1.27 : LeptonDecayChannelFlag==1; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_HadTau : DYJetsToLL_M50_HT400to600 : 6.546 * 1.27 : LeptonDecayChannelFlag==1; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_HadTau : DYJetsToLL_M50_HT600toInf : 2.179 * 1.27 : LeptonDecayChannelFlag==1; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_HadTau : TTZJets : 0.8565 : LeptonDecayChannelFlag==1; FillColor=ROOT.kBlue, Label="ttV(W/Z/H)", NormSystematic=0.2 +DiLep_HadTau : TTWJets : 0.6647 : LeptonDecayChannelFlag==1; FillColor=ROOT.kBlue, Label="ttV(W/Z/H)", NormSystematic=0.2 +DiLep_HadTau : TTH : 0.5085 : LeptonDecayChannelFlag==1; FillColor=ROOT.kBlue, Label="Merged dileptonic", NormSystematic=0.2 + + +DiLep_Acceptance : TTJets : 809.1 : LeptonDecayChannelFlag==2 ; FillColor=ROOT.kBlue, Label="Dilep. Acceptance", NormSystematic=0.5 +DiLep_Acceptance :TToLeptons_tch : 136.05*0.108*3 : LeptonDecayChannelFlag==2 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Acceptance :TToLeptons_sch : 7.20*0.108*3 : LeptonDecayChannelFlag==2 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Acceptance :TBarToLeptons_tch : 80.97*0.108*3 : LeptonDecayChannelFlag==2 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Acceptance :TBarToLeptons_sch : 4.16*0.108*3 : LeptonDecayChannelFlag==2 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Acceptance :TBar_tWch : 35.6 : LeptonDecayChannelFlag==2 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Acceptance :T_tWch : 35.6 : LeptonDecayChannelFlag==2 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Acceptance : DYJetsToLL_M50_HT100to200 : 194.3 * 1.27 : LeptonDecayChannelFlag==2; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_Acceptance : DYJetsToLL_M50_HT200to400 : 52.24 * 1.27 : LeptonDecayChannelFlag==2; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_Acceptance : DYJetsToLL_M50_HT400to600 : 6.546 * 1.27 : LeptonDecayChannelFlag==2; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_Acceptance : DYJetsToLL_M50_HT600toInf : 2.179 * 1.27 : LeptonDecayChannelFlag==2; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_Acceptance : TTZJets : 0.8565 : LeptonDecayChannelFlag==2; FillColor=ROOT.kBlue, Label="ttV(W/Z/H)", NormSystematic=0.2 +DiLep_Acceptance : TTWJets : 0.6647 : LeptonDecayChannelFlag==2; FillColor=ROOT.kBlue, Label="ttV(W/Z/H)", NormSystematic=0.2 +DiLep_Acceptance : TTH : 0.5085 : LeptonDecayChannelFlag==2; FillColor=ROOT.kBlue, Label="Merged dileptonic", NormSystematic=0.2 + + +DiLep_Rest : TTJets : 809.1 : LeptonDecayChannelFlag==3 ; FillColor=ROOT.kBlue, Label="Dilep. Rest", NormSystematic=0.5 +DiLep_Rest :TToLeptons_tch : 136.05*0.108*3 : LeptonDecayChannelFlag==3 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Rest :TToLeptons_sch : 7.20*0.108*3 : LeptonDecayChannelFlag==3 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Rest :TBarToLeptons_tch : 80.97*0.108*3 : LeptonDecayChannelFlag==3 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Rest :TBarToLeptons_sch : 4.16*0.108*3 : LeptonDecayChannelFlag==3 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Rest :TBar_tWch : 35.6 : LeptonDecayChannelFlag==3 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Rest :T_tWch : 35.6 : LeptonDecayChannelFlag==3 ;FillColor = ROOT.kBlue, Label= "t/\#bar{t}", NormSystematic=0.5 +DiLep_Rest : DYJetsToLL_M50_HT100to200 : 194.3 * 1.27 : LeptonDecayChannelFlag==3; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_Rest : DYJetsToLL_M50_HT200to400 : 52.24 * 1.27 : LeptonDecayChannelFlag==3; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_Rest : DYJetsToLL_M50_HT400to600 : 6.546 * 1.27 : LeptonDecayChannelFlag==3; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_Rest : DYJetsToLL_M50_HT600toInf : 2.179 * 1.27 : LeptonDecayChannelFlag==3; Label="DY+jets", FillColor=ROOT.kBlue, NormSystematic=0.5 +DiLep_Rest : TTZJets : 0.8565 : LeptonDecayChannelFlag==3; FillColor=ROOT.kBlue, Label="ttV(W/Z/H)", NormSystematic=0.2 +DiLep_Rest : TTWJets : 0.6647 : LeptonDecayChannelFlag==3; FillColor=ROOT.kBlue, Label="ttV(W/Z/H)", NormSystematic=0.2 +DiLep_Rest : TTH : 0.5085 : LeptonDecayChannelFlag==3; FillColor=ROOT.kBlue, Label="Merged dileptonic", NormSystematic=0.2 + + + + + +WJets : WJetsToLNu_HT100to200 : 1817.0 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT200to400 : 471.6 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT400to600 : 55.61 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT600toInf : 18.81 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 + +# HT bins: cross sections for DYJets taken from McM LO times inclusive k-factor from FEWZ(2008 pb x3)/McM(4746) +DY_Rest : DYJetsToLL_M50_HT100to200 : 194.3 * 1.27 : ngenTau+ngenLep!=2; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY_Rest : DYJetsToLL_M50_HT200to400 : 52.24 * 1.27 : ngenTau+ngenLep!=2; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY_Rest : DYJetsToLL_M50_HT400to600 : 6.546 * 1.27 : ngenTau+ngenLep!=2; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY_Rest : DYJetsToLL_M50_HT600toInf : 2.179 * 1.27 : ngenTau+ngenLep!=2; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 + + +# cross sections are from 13 TeV MG5_aMC@NLO v2.2.1, NNPDF 2.3nlo, fixed scale = mtop + 0.5*mv +TTZ_Rest : TTZJets : 0.8565 : ngenTau+ngenLep!=2; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 +TTW_Rest : TTWJets : 0.6647 : ngenTau+ngenLep!=2; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 +TTH_Rest : TTH : 0.5085 : ngenTau+ngenLep!=2; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 + + + +# +##100-250HT-bin not considered +QCD : QCD_HT_250To500 : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD : QCD_HT_500To1000 : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD : QCD_HT_1000ToInf : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD : QCD_HT_250To500 : 670500 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD : QCD_HT_500To1000 : 26740 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD : QCD_HT_1000ToInf : 769.7 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 + diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-QCD.txt b/CMGTools/TTHAnalysis/python/plotter/mca-QCD.txt new file mode 100644 index 000000000000..d076bb5a61df --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/mca-QCD.txt @@ -0,0 +1,54 @@ +# QCD +##100-250HT-bin not considered +#QCD+ : QCD_HT_250To500 : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD+ : QCD_HT_500To1000 : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +#QCD+ : QCD_HT_1000ToInf : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD+ : QCD_HT_250To500 : 670500 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD+ : QCD_HT_500To1000 : 26740 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD+ : QCD_HT_1000ToInf : 769.7 ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 + + +#Background +TT : TTJets : 809.1 ; FillColor=ROOT.kBlue-2, Label="t\#bar{t}", NormSystematic=0.5 + +SingleT :TToLeptons_tch : 136.05*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TToLeptons_sch : 7.20*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TBarToLeptons_tch : 80.97*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TBarToLeptons_sch : 4.16*0.108*3 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :TBar_tWch : 35.6 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 +SingleT :T_tWch : 35.6 ;FillColor = ROOT.kViolet+5, Label= "t/\#bar{t}", NormSystematic=0.5 + +WJets : WJetsToLNu_HT100to200 : 1817.0 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT200to400 : 471.6 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT400to600 : 55.61 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 +WJets : WJetsToLNu_HT600toInf : 18.81 * 1.23 ; Label="W+jets", FillColor=ROOT.kGreen-2, NormSystematic=0.5 + +# HT bins: cross sections for DYJets taken from McM LO times inclusive k-factor from FEWZ(2008 pb x3)/McM(4746) +DY : DYJetsToLL_M50_HT100to200 : 194.3 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT200to400 : 52.24 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT400to600 : 6.546 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 +DY : DYJetsToLL_M50_HT600toInf : 2.179 * 1.27; Label="DY+jets", FillColor=ROOT.kRed-6, NormSystematic=0.5 + +# cross sections are from 13 TeV MG5_aMC@NLO v2.2.1, NNPDF 2.3nlo, fixed scale = mtop + 0.5*mv +TTV : TTZJets : 0.8565 ; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 +TTV : TTWJets : 0.6647 ; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 +#double-check x-section values, especially for TTH +TTV : TTH : 0.5085 ; FillColor=ROOT.kOrange-3, Label="ttV(W/Z/H)", NormSystematic=0.2 + +# GJets +#GJets : GJets_HT100to200 : xsec ; Label="\gamma+jets", FillColor=ROOT.kYellow, NormSystematic=0.5 +#GJets : GJets_HT200to400 : xsec ; Label="\gamma+jets", FillColor=ROOT.kYellow, NormSystematic=0.5 +#GJets : GJets_HT400to600 : xsec ; Label="\gamma+jets", FillColor=ROOT.kYellow, NormSystematic=0.5 +#GJets : GJets_HT600toInf : xsec ; Label="\gamma+jets", FillColor=ROOT.kYellow, NormSystematic=0.5 + +# QCD_bcToE +##QCD_bcToE+ : QCD_Pt20to30_bcToE : xsec ; Label ="QCD bcToE", FillColor=ROOT.kBlack+1, NormSystematic=0.5 +#QCD_bcToE+ : QCD_Pt30to80_bcToE : xsec ; Label ="QCD bcToE", FillColor=ROOT.kBlack+1, NormSystematic=0.5 +#QCD_bcToE+ : QCD_Pt80to170_bcToE : xsec ; Label ="QCD bcToE", FillColor=ROOT.kBlack+1, NormSystematic=0.5 +#QCD_bcToE+ : QCD_Pt170toInf_bcToE : xsec ; Label ="QCD bcToE", FillColor=ROOT.kBlack+1, NormSystematic=0.5 + +# QCD_EM +##QCD_EM+ : QCD_Pt10to20_EMEnriched : xsec ; Label ="QCD EMEnriched", FillColor=ROOT.kCyan+6, NormSystematic=0.5 +##QCD_EM+ : QCD_Pt20to30_EMEnriched : xsec ; Label ="QCD EMEnriched", FillColor=ROOT.kCyan+6, NormSystematic=0.5 +#QCD_EM+ : QCD_Pt30to80_EMEnriched : xsec ; Label ="QCD EM", FillColor=ROOT.kCyan+6, NormSystematic=0.5 +#QCD_EM+ : QCD_Pt80to170_EMEnriched : xsec ; Label ="QCD EM", FillColor=ROOT.kCyan+6, NormSystematic=0.5 diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-QCDonly.txt b/CMGTools/TTHAnalysis/python/plotter/mca-QCDonly.txt new file mode 100644 index 000000000000..334cbefaa27d --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/mca-QCDonly.txt @@ -0,0 +1,7 @@ +# QCD +QCD : QCD_HT_250To500 : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD : QCD_HT_500To1000 : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 +QCD : QCD_HT_1000ToInf : xsec ; Label ="QCD", FillColor=ROOT.kCyan-6, NormSystematic=0.5 + +#Background +#TT : TTJets : 809.1 ; FillColor=ROOT.kBlue-2, Label="t\#bar{t}", NormSystematic=0.5 diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-QCDonly_test.txt b/CMGTools/TTHAnalysis/python/plotter/mca-QCDonly_test.txt new file mode 100644 index 000000000000..8b6ab55edc39 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/mca-QCDonly_test.txt @@ -0,0 +1,10 @@ +# QCD +QCDsel+ : QCD_HT_250To500 : xsec : Selected == 1; Label ="selected", FillColor=ROOT.kRed, NormSystematic=0.5 +QCDsel+ : QCD_HT_500To1000 : xsec : Selected == 1; Label ="selected", FillColor=ROOT.kRed, NormSystematic=0.5 +QCDsel+ : QCD_HT_1000ToInf : xsec : Selected == 1; Label ="selected", FillColor=ROOT.kRed, NormSystematic=0.5 + +#Background +#TT : TTJets : 809.1 ; FillColor=ROOT.kBlue-2, Label="t\#bar{t}", NormSystematic=0.5 +QCDanti : QCD_HT_250To500 : xsec : Selected == -1; Label ="anti-selected", FillColor=ROOT.kBlue, NormSystematic=0.5 +QCDanti : QCD_HT_500To1000 : xsec : Selected == -1; Label ="anti-selected", FillColor=ROOT.kBlue, NormSystematic=0.5 +QCDanti : QCD_HT_1000ToInf : xsec : Selected == -1; Label ="anti-selected", FillColor=ROOT.kBlue, NormSystematic=0.5 diff --git a/CMGTools/TTHAnalysis/python/plotter/btagsuite.sh b/CMGTools/TTHAnalysis/python/plotter/object-studies/btagsuite.sh similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/btagsuite.sh rename to CMGTools/TTHAnalysis/python/plotter/object-studies/btagsuite.sh diff --git a/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-mca.txt b/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-mca.txt index 8c5a28a649af..bec693337689 100644 --- a/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-mca.txt +++ b/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-mca.txt @@ -1,14 +1,89 @@ -T1ttt_true+: T1tttt2J_7_PU_S14_POSTLS170 : 1 : LepGood_mcMatchId > 0 ; FillColor=ROOT.kOrange+10, Label="Prompt S" -TT_true: TTJets_MSDecaysCKM_central_PU_S14_POSTLS170: 1: LepGood_mcMatchId > 0 ; FillColor=ROOT.kGreen+2, Label="Prompt t" -TT_bjets: TTJets_MSDecaysCKM_central_PU_S14_POSTLS170: 1: LepGood_mcMatchAny == 2 ; FillColor=ROOT.kGray+1, Label="BJet t" -TT_fake: TTJets_MSDecaysCKM_central_PU_S14_POSTLS170: 1: LepGood_mcMatchAny == 0 ; FillColor=ROOT.kGray+3, Label="Fake t" -DY_fake : DYJetsM50_HT200to400_PU_S14_POSTLS170 : 1 : LepGood_mcMatchAny == 0; FillColor=ROOT.kCyan, Label="Fake DY" -WJets_fake : WJetsToLNu_HT400to600_PU_S14_POSTLS170 : 1 : LepGood_mcMatchAny == 0; FillColor=ROOT.kCyan+2, Label="Fake Wj" +TT_true+: TTJets: 1: LepGood_mcMatchId != 0 ; FillColor=ROOT.kGreen+2, Label="prompt (tt)" +H4l_true+: GGHZZ4L: 1: LepGood_mcMatchId != 0 ; FillColor=63, Label="Prompt H" +TT_red: TTJets: 1: LepGood_mcMatchId == 0 ; FillColor=ROOT.kGray+2, Label="non-pr (tt)" +TT_bjets: TTJets: xsec: LepGood_mcMatchAny == 5 ; FillColor=ROOT.kBlue-2, Label="b-jets (tt)" +TT_cjets: TTJets: xsec: LepGood_mcMatchAny == 4 ; FillColor=ROOT.kGray+2, Label="c-jets (tt)" +TT_ljets: TTJets: xsec: LepGood_mcMatchId == 0 && LepGood_mcMatchAny != 5 && LepGood_mcMatchAny != 4 ; FillColor=ROOT.kTeal+2, Label="l-jets (tt)" +TT_fake: TTJets: 1: LepGood_mcMatchAny == 0 ; FillColor=ROOT.kGray+3, Label="fakes (tt)" +DY_fake : DYJetsM50_HT400to600: 1 : LepGood_mcMatchAny == 0; FillColor=ROOT.kCyan, Label="Fake DY" +WJets_fake : WJetsToLNu_HT400to600: 1 : LepGood_mcMatchAny == 0; FillColor=ROOT.kCyan+2, Label="Fake Wj" fake: TTJets_MSDecaysCKM_central_PU_S14_POSTLS170: 1: LepGood_mcMatchAny == 0 ; FillColor=ROOT.kCyan+2, Label="Fake" fake : DYJetsM50_HT200to400_PU_S14_POSTLS170 : 1 : LepGood_mcMatchAny == 0; FillColor=ROOT.kCyan+2, Label="Fake" fake : WJetsToLNu_HT400to600_PU_S14_POSTLS170 : 1 : LepGood_mcMatchAny == 0; FillColor=ROOT.kCyan+2, Label="Fake" +TT_true_MT: TTJets: 1: (LepGood_mcMatchId != 0) && (LepGood_mediumMuonId > 0) && (LepGood_tightId > 0) ; FillColor=ROOT.kAzure+2, Label="Both" +TT_true_MF: TTJets: 1: (LepGood_mcMatchId != 0) && (LepGood_mediumMuonId > 0) && (LepGood_tightId == 0) ; FillColor=ROOT.kGreen+1, Label="Medium" +TT_true_TF: TTJets: 1: (LepGood_mcMatchId != 0) && (LepGood_mediumMuonId == 0) && (LepGood_tightId > 0) ; FillColor=ROOT.kGray+2, Label="Tight" +TT_true_FF: TTJets: 1: (LepGood_mcMatchId != 0) && (LepGood_mediumMuonId == 0) && (LepGood_tightId == 0) ; FillColor=ROOT.kPink+10, Label="None" + +T1tttt_HL_true+: SMS_T1tttt_2J_mGl1500_mLSP100: LepGood_mcMatchId != 0 ; FillColor=ROOT.kAzure+8, Label="T1t^{4} 1.5/0.1" +T1tttt_HM_true+: SMS_T1tttt_2J_mGl1200_mLSP800: LepGood_mcMatchId != 0 ; FillColor=ROOT.kAzure+0, Label="T1t^{4} 1.2/0.8" +T5qqqqWWD_true+: T5qqqqWWDeg_mGo1000_mCh315_mChi300_dilep : LepGood_mcMatchId != 0 ; FillColor=ROOT.kAzure+2, Label="T5W^{2} 1.0/0.3/15" +T5tttt_HLDx_true+: T5ttttDeg_mGo1300_mStop300_mCh285_mChi280 : LepGood_mcMatchId != 0 ; FillColor=ROOT.kRed-9, Label="T5t^{4} 1.3/.3/\#chi" +#T5tttt_MLDx_true+: T5ttttDeg_mGo1000_mStop300_mCh285_mChi280 : LepGood_mcMatchId != 0 ; FillColor=ROOT.kRed+2, Label="T5t^{4} 1.0/.3/\#chi" +T5tttt_MLDx_true+: T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil : LepGood_mcMatchId != 0 ; FillColor=ROOT.kViolet-5, Label="T5t^{4} 1.0/.3/\#chi" + + +TT_fake_MT: TTJets: 1: (LepGood_mcMatchAny == 0) && (LepGood_mediumMuonId > 0) && (LepGood_tightId > 0) ; FillColor=ROOT.kAzure+2, Label="Both" +TT_fake_MF: TTJets: 1: (LepGood_mcMatchAny == 0) && (LepGood_mediumMuonId > 0) && (LepGood_tightId == 0) ; FillColor=ROOT.kGreen+1, Label="Medium" +TT_fake_TF: TTJets: 1: (LepGood_mcMatchAny == 0) && (LepGood_mediumMuonId == 0) && (LepGood_tightId > 0) ; FillColor=ROOT.kGray+2, Label="Tight" +TT_fake_FF: TTJets: 1: (LepGood_mcMatchAny == 0) && (LepGood_mediumMuonId == 0) && (LepGood_tightId == 0) ; FillColor=ROOT.kPink+10, Label="None" + + +# extra 1.2 factor added in the Mu5 QCD in order to get the samples match +QCDMu_red : QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : 1; FillColor=ROOT.kPink-2, Label="all (QCD\#mu)" +QCDMu_red : QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : 1; FillColor=ROOT.kPink-2, Label="all (QCD\#mu)" +QCDMu_red : QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : 1; FillColor=ROOT.kPink-2, Label="all (QCD\#mu)" +QCDMu_red : QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : 1; FillColor=ROOT.kPink-2, Label="all (QCD\#mu)" +QCDMu_bjets: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_mcMatchAny == 5; FillColor=ROOT.kPink+5, Label="b-jets (QCD\#mu)" +QCDMu_bjets: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 5; FillColor=ROOT.kPink+5, Label="b-jets (QCD\#mu)" +QCDMu_bjets: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 5; FillColor=ROOT.kPink+5, Label="b-jets (QCD\#mu)" +QCDMu_bjets: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 5; FillColor=ROOT.kPink+5, Label="b-jets (QCD\#mu)" +QCDMu_cjets: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_mcMatchAny == 4; FillColor=ROOT.kRed-3, Label="c-jets (QCD\#mu)" +QCDMu_cjets: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 4; FillColor=ROOT.kRed-3, Label="c-jets (QCD\#mu)" +QCDMu_cjets: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 4; FillColor=ROOT.kRed-3, Label="c-jets (QCD\#mu)" +QCDMu_cjets: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 4; FillColor=ROOT.kRed-3, Label="c-jets (QCD\#mu)" +QCDMu_ljets: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_mcMatchAny != 5 && LepGood_mcMatchAny != 4; FillColor=ROOT.kOrange-3, Label="l-jets (QCD\#mu)" +QCDMu_ljets: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny != 5 && LepGood_mcMatchAny != 4; FillColor=ROOT.kOrange-3, Label="l-jets (QCD\#mu)" +QCDMu_ljets: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny != 5 && LepGood_mcMatchAny != 4; FillColor=ROOT.kOrange-3, Label="l-jets (QCD\#mu)" +QCDMu_ljets: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny != 5 && LepGood_mcMatchAny != 4; FillColor=ROOT.kOrange-3, Label="l-jets (QCD\#mu)" + +QCD_red: QCD_HT_100To250 : xsec : (LepGood_mcMatchId != 0); FillColor=ROOT.kAzure-2, Label="Non-prompt QCD" +QCD_bjets: QCD_HT_100To250 : xsec : LepGood_mcMatchAny == 5; FillColor=ROOT.kAzure-2, Label="b-jets (QCD)" +QCD_red: QCD_HT_250To500 : xsec*(0.66/2.66) : (LepGood_mcMatchId != 0); FillColor=ROOT.kAzure-2, Label="Non-prompt QCD" +QCD_bjets: QCD_HT_250To500 : xsec*(0.66/2.66) : LepGood_mcMatchAny == 5; FillColor=ROOT.kAzure-2, Label="b-jets (QCD)" +QCD_red: QCD_HT_250To500_ext1 : xsec*(2.00/2.66) : (LepGood_mcMatchId != 0); FillColor=ROOT.kAzure-2, Label="Non-prompt QCD" +QCD_bjets: QCD_HT_250To500_ext1 : xsec*(2.00/2.66) : LepGood_mcMatchAny == 5; FillColor=ROOT.kAzure-2, Label="b-jets (QCD)" + +QCDEl_red: QCD_Pt20to30_EMEnriched : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)" +QCDEl_red: QCD_Pt20to30_bcToE : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)" +QCDEl_red: QCD_Pt30to80_EMEnriched : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)" +QCDEl_red: QCD_Pt30to80_bcToE : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)" +QCDEl_red: QCD_Pt80to170_EMEnriched : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)" +QCDEl_red: QCD_Pt80to170_bcToE : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)" +QCDEl_red: QCD_Pt170toInf_bcToE : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)" +QCDEl_bjets: QCD_Pt20to30_bcToE : xsec : LepGood_mcMatchAny == 5 ; FillColor=ROOT.kPink+5, Label="b-jets (QCDe)" +QCDEl_bjets: QCD_Pt30to80_bcToE : xsec : LepGood_mcMatchAny == 5 ; FillColor=ROOT.kPink+5, Label="b-jets (QCDe)" +QCDEl_bjets: QCD_Pt80to170_bcToE : xsec : LepGood_mcMatchAny == 5 ; FillColor=ROOT.kPink+5, Label="b-jets (QCDe)" +QCDEl_bjets: QCD_Pt170toInf_bcToE : xsec : LepGood_mcMatchAny == 5 ; FillColor=ROOT.kPink+5, Label="b-jets (QCDe)" + + +TT_light : TTJets : xsec : (LepGood_mcMatchId == 0)&&(LepGood_mcMatchAny < 5); Label="light jets (tt)", FillColor=ROOT.kOrange+4, NormSystematic=0.5 +VJets_light : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId == 0)&&(LepGood_mcMatchAny < 5); Label="light jets (w/z)", FillColor=ROOT.kCyan, NormSystematic=0.5 +VJets_light : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId == 0)&&(LepGood_mcMatchAny < 5); Label="light jets (w/z)", FillColor=ROOT.kCyan, NormSystematic=0.5 +VJets_light : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId == 0)&&(LepGood_mcMatchAny < 5); Label="light jets (w/z)", FillColor=ROOT.kCyan, NormSystematic=0.5 +VJets_light : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId == 0)&&(LepGood_mcMatchAny < 5); Label="light jets (w/z)", FillColor=ROOT.kCyan, NormSystematic=0.5 +VJets_light : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId == 0)&&(LepGood_mcMatchAny < 5); Label="light jets (w/z)", FillColor=ROOT.kCyan, NormSystematic=0.5 +VJets_light : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId == 0)&&(LepGood_mcMatchAny < 5); Label="light jets (w/z)", FillColor=ROOT.kCyan, NormSystematic=0.5 +VJets_light : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId == 0)&&(LepGood_mcMatchAny < 5); Label="light jets (w/z)", FillColor=ROOT.kCyan, NormSystematic=0.5 +VJets_light : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId == 0)&&(LepGood_mcMatchAny < 5); Label="light jets (w/z)", FillColor=ROOT.kCyan, NormSystematic=0.5 + +#VJets_red : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId == 0); Label="non-pro (v+j)", FillColor=ROOT.kCyan, NormSystematic=0.5 +#VJets_red : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId == 0); Label="non-pro (v+j)", FillColor=ROOT.kCyan, NormSystematic=0.5 +#VJets_red : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId == 0); Label="non-pro (v+j)", FillColor=ROOT.kCyan, NormSystematic=0.5 +#VJets_red : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId == 0); Label="non-pro (v+j)", FillColor=ROOT.kCyan, NormSystematic=0.5 +VJets_red : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId == 0); Label="non-pr (v+j)", FillColor=ROOT.kOrange+4, NormSystematic=0.5 +VJets_red : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId == 0); Label="non-pr (v+j)", FillColor=ROOT.kOrange+4, NormSystematic=0.5 +VJets_red : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId == 0); Label="non-pr (v+j)", FillColor=ROOT.kOrange+4, NormSystematic=0.5 +VJets_red : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId == 0); Label="non-pr (v+j)", FillColor=ROOT.kOrange+4, NormSystematic=0.5 -53X_TT_true: 53X_TTJetsSem: 1: LepGood_mcMatchId > 0 ; FillColor=ROOT.kSpring+9, Label="53X Prompt t", SkipMe=True -53X_TT_bjets: 53X_TTJetsSem: 1: LepGood_mcMatchAny == 2 ; FillColor=ROOT.kOrange+1, Label="53X BJet t", SkipMe=True -53X_TT_fake: 53X_TTJetsSem: 1: LepGood_mcMatchAny == 0 ; FillColor=ROOT.kPink+3, Label="53X Fake t", SkipMe=True diff --git a/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep-mc_effs.txt b/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep-mc_effs.txt new file mode 100644 index 000000000000..53a55d3aada1 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep-mc_effs.txt @@ -0,0 +1,9 @@ +tightIdEff_pt: LepGood_tightId>0.5\:LepGood_pt: 40,0,80; XTitle="lepton p_{T} [GeV]", Legend='BR', Profile1D=True, YMin=0.89, YMax=1.005 +mediumIdEff_pt: LepGood_mediumMuonId>0.5\:LepGood_pt: 40,0,80; XTitle="lepton p_{T} [GeV]", Legend='BR', Profile1D=True, YMin=0.89, YMax=1.005 +#mvaEff_Medium_pt: LepGood_muonMVAIdT2NC_R>(0.40+0.35*(LepGood_pt>20)+0.02*(LepGood_pt<10))\:LepGood_pt: 40,0,80; XTitle="lepton p_{T} [GeV]", Legend='BR', Profile1D=True, YMin=0.89, YMax=1.005 +#mediumIdEff_pt: (LepGood_innerTrackValidHitFraction >= 0.80 && LepGood_segmentCompatibility>0.303 + (0.451-0.303)*(!(LepGood_chi2LocalPosition < 12 && LepGood_globalTrackChi2 > 0 && LepGood_globalTrackChi2 < 3 && LepGood_trkKink < 20)))\:LepGood_pt: 40,0,80; XTitle="lepton p_{T} [GeV]", Legend='BR', Profile1D=True, YMin=0.89, YMax=1.005 + +tightIdEff_eta: LepGood_tightId>0.5\:LepGood_eta: 40,-2.4,2.4; XTitle="lepton #eta", Legend='BR', Profile1D=True, YMin=0.89, YMax=1.005 +mediumIdEff_eta: LepGood_mediumMuonId>0.5\:LepGood_eta: 40,-2.4,2.4; XTitle="lepton #eta", Legend='BR', Profile1D=True, YMin=0.89, YMax=1.005 +#mvaEff_Medium_eta: LepGood_muonMVAIdT2NC_R>(0.40+0.35*(LepGood_pt>20)+0.02*(LepGood_pt<10))\:LepGood_eta: 40,-2.4,2.4; XTitle="lepton #eta", Legend='BR', Profile1D=True, YMin=0.89, YMax=1.005 +#mediumIdEff_eta: (LepGood_innerTrackValidHitFraction >= 0.80 && LepGood_segmentCompatibility>0.303 + (0.451-0.303)*(!(LepGood_chi2LocalPosition < 12 && LepGood_globalTrackChi2 > 0 && LepGood_globalTrackChi2 < 3 && LepGood_trkKink < 20)))\:LepGood_eta: 40,-2.4,2.4; XTitle="lepton #eta", Legend='BR', Profile1D=True, YMin=0.89, YMax=1.005 diff --git a/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep-mc_fakes.txt b/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep-mc_fakes.txt new file mode 100644 index 000000000000..8d5f03268178 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep-mc_fakes.txt @@ -0,0 +1,13 @@ +tightIdFake_pt: LepGood_tightId>0.5\:LepGood_pt: [0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,22,24,26,28,30,35,40,45,50,60,70,80]; XTitle="lepton p_{T} [GeV]", Legend='TR', Profile1D=True, YMin=0.0, YMax=1.005 +mediumIdFake_pt: LepGood_mediumMuonId>0.5\:LepGood_pt: [0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,22,24,26,28,30,35,40,45,50,60,70,80]; XTitle="lepton p_{T} [GeV]", Legend='TR', Profile1D=True, YMin=0.0, YMax=1.005 +#mvaFake_Medium_pt: LepGood_muonMVAIdT2NC_R>(0.40+0.35*(LepGood_pt>20)+0.02*(LepGood_pt<10))\:LepGood_pt: [0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,22,24,26,28,30,35,40,45,50,60,70,80]; XTitle="lepton p_{T} [GeV]", Legend='TR', Profile1D=True, YMin=0.0, YMax=1.005 +#mediumIdFake_pt: (LepGood_innerTrackValidHitFraction >= 0.80 && LepGood_segmentCompatibility>0.303 + (0.451-0.303)*(!(LepGood_chi2LocalPosition < 12 && LepGood_globalTrackChi2 > 0 && LepGood_globalTrackChi2 < 3 && LepGood_trkKink < 20)))\:LepGood_pt: [0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,22,24,26,28,30,35,40,45,50,60,70,80]; XTitle="lepton p_{T} [GeV]", Legend='TR', Profile1D=True, YMin=0.0, YMax=1.005 + +tightIdFake_eta: LepGood_tightId>0.5\:LepGood_eta: 15,-2.4,2.4; XTitle="lepton #eta", Legend='TR', Profile1D=True, YMin=0.0, YMax=1.005 +mediumIdFake_eta: LepGood_mediumMuonId>0.5\:LepGood_eta: 15,-2.4,2.4; XTitle="lepton #eta", Legend='TR', Profile1D=True, YMin=0.0, YMax=1.005 +#mvaFake_Medium_eta: LepGood_muonMVAIdT2NC_R>(0.40+0.35*(LepGood_pt>20)+0.02*(LepGood_pt<10))\:LepGood_eta: 40,-2.4,2.4; XTitle="lepton #eta", Legend='TR', Profile1D=True, YMin=0.0, YMax=1.005 +#mediumIdFake_eta: (LepGood_innerTrackValidHitFraction >= 0.80 && LepGood_segmentCompatibility>0.303 + (0.451-0.303)*(!(LepGood_chi2LocalPosition < 12 && LepGood_globalTrackChi2 > 0 && LepGood_globalTrackChi2 < 3 && LepGood_trkKink < 20)))\:LepGood_eta: 15,-2.4,2.4; XTitle="lepton #eta", Legend='TR', Profile1D=True, YMin=0.0, YMax=1.005 + +tightIsoFake_pt: LepGood_relIso03<0.1\:min(LepGood_pt,89.9) : [5,7,10,15,20,25,30,35,45,60,90]; XTitle="lepton p_{T}", Legend='TL', Logx, Profile1D=True +tightIsoFake_eta: LepGood_relIso03<0.1\:abs(LepGood_eta) : [0,0.6,1.2,1.8,2.1,2.5]; XTitle="lepton |#eta|", Legend='TL', Profile1D=True +tightIsoFake_pt_eta: LepGood_relIso03<0.1\:abs(LepGood_eta)\:min(LepGood_pt,59.9) : [5,7,10,15,20,25,30,35,45,60]*[0,1.2,2.5]; YTitle="lepton p_{T}", XTitle="lepton |#eta|", Logx, Profile2D=True diff --git a/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep-mc_plots.txt b/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep-mc_plots.txt index 29a0694015fc..ee5572ed6f3a 100644 --- a/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep-mc_plots.txt +++ b/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep-mc_plots.txt @@ -1,40 +1,42 @@ pt: LepGood_pt: 20,0,100; XTitle="lepton p_{T} [GeV]", Legend='TR' -pt_coarse: LepGood_pt: [15,20,25,30,35,45,50,60,75,90 ] ; XTitle="lepton p_{T} (GeV)", Density=True -eta: abs(LepGood_eta): 20,0,2.5; XTitle="lepton |#eta|", Legend='TR' +#pt_coarse: LepGood_pt: [15,20,25,30,35,45,50,60,75,90 ] ; XTitle="lepton p_{T} (GeV)", Density=True +eta: abs(LepGood_eta): 50,0,2.5; XTitle="lepton |#eta|", Legend='TR', Logy # Iso -relIso03: LepGood_relIso03: 20,0,0.4; XTitle="lepton Iso/p_{T} (R 0.3)", Legend='TR' -relIso04: LepGood_relIso04: 20,0,0.8; XTitle="lepton Iso/p_{T} (R 0.4)", Legend='TR' -chHadRIso04: LepGood_chargedHadRelIso04: 20,0,0.8; XTitle="lepton Iso/p_{T} (R 0.4\, ch had)", Legend='TR' -chHadRIso03: LepGood_chargedHadRelIso03: 20,0,0.4; XTitle="lepton Iso/p_{T} (R 0.3\, ch had)", Legend='TR' -neutRIso03: LepGood_relIso03 - LepGood_chargedHadRelIso03: 20,0,0.4; XTitle="lepton Iso/p_{T} (R 0.3\, neutral)", Legend='TR',Logy, LegendCutoff=0.003 -neutRIso04: LepGood_relIso04 - LepGood_chargedHadRelIso04: 20,0,1.0; XTitle="lepton Iso/p_{T} (R 0.4\, neutral)", Legend='TR',Logy, LegendCutoff=0.003 +#relIso03: LepGood_relIso03: 20,0,0.4; XTitle="lepton Iso/p_{T} (R 0.3)", Legend='TR' +#relIso04: LepGood_relIso04: 20,0,0.8; XTitle="lepton Iso/p_{T} (R 0.4)", Legend='TR' +#chHadRIso04: LepGood_chargedHadRelIso04: 20,0,0.8; XTitle="lepton Iso/p_{T} (R 0.4\, ch had)", Legend='TR' +#chHadRIso03: LepGood_chargedHadRelIso03: 20,0,0.4; XTitle="lepton Iso/p_{T} (R 0.3\, ch had)", Legend='TR' +#neutRIso03: LepGood_relIso03 - LepGood_chargedHadRelIso03: 20,0,0.4; XTitle="lepton Iso/p_{T} (R 0.3\, neutral)", Legend='TR',Logy, LegendCutoff=0.003 +#neutRIso04: LepGood_relIso04 - LepGood_chargedHadRelIso04: 20,0,1.0; XTitle="lepton Iso/p_{T} (R 0.4\, neutral)", Legend='TR',Logy, LegendCutoff=0.003 # Jet -jetDR: LepGood_jetDR: 20,0,0.3; XTitle="lepton #DeltaR(l\,jet)", Legend='TR' -jetBTag: max(LepGood_jetBTagCSV,0): 20,0,1; XTitle="lepton's jet b-tag disc.", Legend='TL', MoreY=1.25 -jetPtF: min(LepGood_jetPtRatio,1.5): 24,0,1.2; XTitle="lepton p_{T}(l)/p_{T}(jet)", Legend='TL' +#jetDR: LepGood_jetDR: 20,0,0.3; XTitle="lepton #DeltaR(l\,jet)", Legend='TR' +#jetBTag: max(LepGood_jetBTagCSV,0): 20,0,1; XTitle="lepton's jet b-tag disc.", Legend='TL', MoreY=1.25 +#jetPtF: min(LepGood_jetPtRatio,1.5): 24,0,1.2; XTitle="lepton p_{T}(l)/p_{T}(jet)", Legend='TL' # IP -sip3d: LepGood_sip3d: 20,0,40; XTitle="lepton SIP_{3D}", Legend='TR' -dxy: abs(LepGood_dxy): 20,0,0.05; XTitle="lepton |dxy|/1cm", Legend='TR', XNDiv=505 -dz: abs(LepGood_dz): 20,0,0.2; XTitle="lepton |dz|/1cm", Legend='TR', XNDiv=505 +sip3d: LepGood_sip3d: 20,0,40; XTitle="lepton SIP_{3D}", Legend='TR', Logy +dxy: abs(LepGood_dxy): 20,0,0.05; XTitle="lepton |dxy|/1cm", Legend='TR', XNDiv=505, Logy +dz: abs(LepGood_dz): 20,0,0.2; XTitle="lepton |dz|/1cm", Legend='TR', XNDiv=505, Logy +edxy: abs(LepGood_edxy)*1e4: 20,0,100; XTitle="lepton #sigma(dxy)/#mum", Legend='TR', XNDiv=505 +edz: abs(LepGood_edz)*1e4: 20,0,250; XTitle="lepton #sigma(dz)/#mum", Legend='TR', XNDiv=505 # Common id tightId: LepGood_tightId: [-0.5,0.5,1.5]; XTitle="Lepton passes tight?", Legend='TL', XNDiv=505 trackerLayers: LepGood_trackerLayers: 19,-0.5,18.5; XTitle="Tracker layers", Legend='TL' pixelLayers: LepGood_pixelLayers: [-0.5,0.5,1.5,2.5,3.5,4.5]; XTitle="Pixel layers", Legend='TL' lostHits: LepGood_lostHits: [-0.5,0.5,1.5,2.5,3.5]; XTitle="Lost inner hits", Legend='TR' -mvaTTH: LepGood_mvaTTH: 20,-1,1; XTitle="TTH MVA Id", Legend='TR' +#mvaTTH: LepGood_mvaTTH: 20,-1,1; XTitle="TTH MVA Id", Legend='TR' # Muon vars -nStations: LepGood_nStations: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="Matched stations", Legend='TL' +nStations: LepGood_nStations: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="Matched stations", Legend='TR', Logy trkKink: LepGood_trkKink: 20,0,30; XTitle="Kink finder #chi^{2}", Legend='TR' globalTrackChi2: LepGood_globalTrackChi2: 20,0,4; XTitle="Global track #chi^{2}/ndf", Legend='TR' -#innerTrackChi2: LepGood_innerTrackChi2: 20,0,4; XTitle="Inner track #chi^{2}/ndf", Legend='TR' +innerTrackChi2: LepGood_innerTrackChi2: 20,0,4; XTitle="Inner track #chi^{2}/ndf", Legend='TR' caloCompatibility: LepGood_caloCompatibility: 20,0,1; XTitle="Calo compatibility", Legend='TL' -#segmentCompatibility : LepGood_segmentCompatibility: 20,0,1; XTitle="Segment compatibility", Legend='TL' -#chi2LocalPosition : LepGood_chi2LocalPosition: 20,0,20; XTitle="", Legend='TL' -#chi2LocalMomentum : LepGood_chi2LocalMomentum: 20,0,40; XTitle="", Legend='TL' -#innerTrackValidHitFraction : LepGood_innerTrackValidHitFraction: 20,0,1; XTitle="Valid hit fraction on trk", Legend='TL' -#lostOuterHits : LepGood_lostOuterHits: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="Lost outer hits", Legend='TR' -#glbTrackProbability : log(LepGood_glbTrackProbability): 20,-5,5; XTitle="Global track pseudo-probability", Legend='TL' -#trackerHits : LepGood_trackerHits: 20,0,40; XTitle="Tracker hits", Legend='TL' +segmentCompatibility : LepGood_segmentCompatibility: 20,0,1; XTitle="Segment compatibility", Legend='TL' +chi2LocalPosition : LepGood_chi2LocalPosition: 20,0,20; XTitle="", Legend='TL' +chi2LocalMomentum : LepGood_chi2LocalMomentum: 20,0,40; XTitle="", Legend='TL' +innerTrackValidHitFraction : LepGood_innerTrackValidHitFraction: 20,0,1; XTitle="Valid hit fraction on trk", Legend='TL' +lostOuterHits : LepGood_lostOuterHits: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="Lost outer hits", Legend='TR' +glbTrackProbability : log(LepGood_glbTrackProbability): 20,-5,5; XTitle="Global track pseudo-probability", Legend='TL' +trackerHits : LepGood_trackerHits: 20,0,40; XTitle="Tracker hits", Legend='TL' #caloEMEnergy : min(LepGood_caloEMEnergy,20): 20,0,1.5; XTitle="Calo EM energy", Legend='TL' #caloHadEnergy : min(LepGood_caloHadEnergy,30): 20,0,10; XTitle="Calo Had energy", Legend='TL' # @@ -43,12 +45,12 @@ caloCompatibility: LepGood_caloCompatibility: 20,0,1; XTitle="Calo compatibil #mvaIdFull: LepGood_muonMVAIdFull: 20,0,1; XTitle="MVA Id (Full)", Legend='TL' # Electron vars -mvaId: LepGood_mvaId: 20,-1,1; XTitle="Non-trig Ele MVA Id", Legend='TL' -mvaIdTrig: LepGood_mvaIdTrig: 20,-1,1; XTitle="Trig Ele MVA Id", Legend='TL' -eleCutId: LepGood_eleCutIdCSA14_50ns_v1: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="Ele CB Id: fail/V/L/M/T", Legend='TL' +#mvaId: LepGood_mvaId: 20,-1,1; XTitle="Non-trig Ele MVA Id", Legend='TL' +#mvaIdTrig: LepGood_mvaIdTrig: 20,-1,1; XTitle="Trig Ele MVA Id", Legend='TL' +#eleCutId: LepGood_eleCutIdCSA14_50ns_v1: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="Ele CB Id: fail/V/L/M/T", Legend='TL' #jetPt: LepGood_pt/LepGood_jetPtRatio,LepGood2_pt/LepGood2_jetPtRatio) : [20,27.5,35,42.5,50,57.5,65,72.5,80,87.5,95,110,125,140]; XTitle="Lepton p_{T}(jet)", Legend='TR', Density=True #profile: LepGood_pt,LepGood2_pt)\:LepGood_pt/LepGood_jetPtRatio,LepGood2_pt/LepGood2_jetPtRatio) : [20,27.5,35,42.5,50,57.5,65,72.5,80,87.5,95,110,125,140]; XTitle="Lepton p_{T}(jet)", YTitle="Lepton p_{T}", Legend='TL', Profile1D=True -mvaNew: LepGood_mvaNew: 20,-1,1; XTitle="Susy MVA", Legend='TL' +#mvaNew: LepGood_mvaNew: 20,-1,1; XTitle="Susy MVA", Legend='TL' #mvaNewId: LepGood_mvaNewId: 20,-1,1; XTitle="Susy MVA+Id", Legend='TL' #mvaNewSV: LepGood_mvaNewSV: 20,-1,1; XTitle="Susy MVA+Id+SV", Legend='TL' diff --git a/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep.txt b/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep.txt index 36d1e48163d8..fd64343f8cdf 100644 --- a/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep.txt +++ b/CMGTools/TTHAnalysis/python/plotter/object-studies/lepton-perlep.txt @@ -1,2 +1,2 @@ mu : abs(LepGood_pdgId) == 13 -pt10: LepGood_pt > 20 +pt20: LepGood_pt > 20 diff --git a/CMGTools/TTHAnalysis/python/plotter/object-studies/roc_2lss_ee.txt b/CMGTools/TTHAnalysis/python/plotter/object-studies/roc_2lss_ee.txt new file mode 100644 index 000000000000..ad42aba50ba4 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/object-studies/roc_2lss_ee.txt @@ -0,0 +1,14 @@ +MVA: min(LepGood1_mvaSusy,LepGood2_mvaSusy): 500,-3.1,1.1; LineColor=51, Title="Lep MVA PHYS14" + +# MVA working points +MVAwp1: (min(LepGood1_mvaSusy,LepGood2_mvaSusy)) >= 0.68: 2,-0.5,1.5; MarkerColor=209, MarkerSize=1.4, Title="MVA #geq 0.80 WP + MId" +MVAwp1: (min(LepGood1_mvaSusy,LepGood2_mvaSusy)) >= 0.53: 2,-0.5,1.5; MarkerColor=211, MarkerSize=1.4, Title="MVA #geq 0.53 WP + MId" +MVAwp2: (min(LepGood1_mvaSusy,LepGood2_mvaSusy)) >= 0.0: 2,-0.5,1.5; MarkerColor=215, MarkerSize=1.4, Title="MVA #geq 0.0 WP + MId" +MVAwp3: (min(LepGood1_mvaSusy,LepGood2_mvaSusy)) >= -0.68: 2,-0.5,1.5; MarkerColor=7, MarkerSize=1.4, Title="MVA #geq -0.68 WP + MId" + + +TightSelwp: LepGood1_tightId > 1 && LepGood2_tightId > 1 && max(LepGood1_relIso03,LepGood2_relIso03) < 0.1 && abs(LepGood1_sip3d) < 4 && abs(LepGood2_sip3d) < 4: 2,-0.5,1.5; MarkerColor=206, MarkerSize=1.3, Title="CB Sel(CBId)", MarkerStyle=21 +MVASelwp: LepGood1_mvaIdPhys14 >=(0.73+(0.57-0.73)*(abs(LepGood1_eta)>0.8)+(0.05-0.57)*(abs(LepGood1_eta)>1.479)) && LepGood2_mvaIdPhys14 >=(0.73+(0.57-0.73)*(abs(LepGood1_eta)>0.8)+(0.05-0.57)*(abs(LepGood1_eta)>1.479)) && max(LepGood1_relIso03,LepGood2_relIso03) < 0.1 && abs(LepGood1_sip3d) < 4 && abs(LepGood2_sip3d) < 4: 2,-0.5,1.5; MarkerColor=ROOT.kOrange+7, MarkerSize=1.3, Title="CB Sel(MVAId)", MarkerStyle=21 + +relIsoOnTightIdSIP: max(LepGood1_relIso03,LepGood2_relIso03)+1*(LepGood1_tightId <= 1 || LepGood1_sip3d >= 4 || LepGood2_tightId<=1 || LepGood2_sip3d >= 4): 500,-0.1,1.55; LineColor=224, Title="PFRelIso cut + CB Sel(CBId)" +relIsoOnMVAIdSIP: max(LepGood1_relIso03,LepGood2_relIso03)+ 1*( LepGood1_mvaIdPhys14 <(0.73+(0.57-0.73)*(abs(LepGood1_eta)>0.8)+(0.05-0.57)*(abs(LepGood1_eta)>1.479)) || LepGood1_sip3d >= 4 || LepGood2_mvaIdPhys14 <(0.73+(0.57-0.73)*(abs(LepGood1_eta)>0.8)+(0.05-0.57)*(abs(LepGood1_eta)>1.479)) || LepGood2_sip3d >= 4): 500,-0.1,1.55; LineColor=ROOT.kOrange+1, Title="PFRelIso cut + CB Sel(CBId)" diff --git a/CMGTools/TTHAnalysis/python/plotter/object-studies/roc_2lss_mumu.txt b/CMGTools/TTHAnalysis/python/plotter/object-studies/roc_2lss_mumu.txt new file mode 100644 index 000000000000..db7a77a8f2db --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/object-studies/roc_2lss_mumu.txt @@ -0,0 +1,14 @@ +MVA: min(LepGood1_mvaSusy,LepGood2_mvaSusy)- 2*(LepGood1_mediumMuonId == 0 || LepGood2_mediumMuonId == 0): 500,-3.1,1.1; LineColor=51, Title="Lep MVA PHYS14" + +# MVA working points +MVAwp1: (min(LepGood1_mvaSusy,LepGood2_mvaSusy)- 2*(LepGood1_mediumMuonId == 0 || LepGood2_mediumMuonId == 0 )) >= 0.80: 2,-0.5,1.5; MarkerColor=209, MarkerSize=1.4, Title="MVA #geq 0.80 WP + MId" +MVAwp1: (min(LepGood1_mvaSusy,LepGood2_mvaSusy)- 2*(LepGood1_mediumMuonId == 0 || LepGood2_mediumMuonId == 0 )) >= 0.53: 2,-0.5,1.5; MarkerColor=211, MarkerSize=1.4, Title="MVA #geq 0.53 WP + MId" +MVAwp2: (min(LepGood1_mvaSusy,LepGood2_mvaSusy)- 2*(LepGood1_mediumMuonId == 0 || LepGood2_mediumMuonId == 0 )) >= 0.0: 2,-0.5,1.5; MarkerColor=215, MarkerSize=1.4, Title="MVA #geq 0.0 WP + MId" +MVAwp3: (min(LepGood1_mvaSusy,LepGood2_mvaSusy)- 2*(LepGood1_mediumMuonId == 0 || LepGood2_mediumMuonId == 0 )) >= -0.68: 2,-0.5,1.5; MarkerColor=7, MarkerSize=1.4, Title="MVA #geq -0.68 WP + MId" + + +TightSelwp: LepGood1_tightId > 0 && LepGood2_tightId > 0 && max(LepGood1_relIso03,LepGood2_relIso03) < 0.1 && abs(LepGood1_sip3d) < 4 && abs(LepGood2_sip3d) < 4: 2,-0.5,1.5; MarkerColor=206, MarkerSize=1.3, Title="CBSel(TightId)", MarkerStyle=21 +MediumSelwp: LepGood1_mediumMuonId > 0 && LepGood2_mediumMuonId > 0 && max(LepGood1_relIso03,LepGood2_relIso03) < 0.1 && abs(LepGood1_sip3d) < 4 && abs(LepGood2_sip3d) < 4: 2,-0.5,1.5; MarkerColor=ROOT.kOrange+7, MarkerSize=1.3, Title="CBSel(MediumId)", MarkerStyle=21 + +relIsoOnTightIdSIP: max(LepGood1_relIso03,LepGood2_relIso03)+ 1*(LepGood1_tightId == 0 || LepGood1_sip3d >= 4 || LepGood2_tightId==0 || LepGood2_sip3d >= 4): 500,-0.1,1.55; LineColor=224, Title="PFRelIso cut + CBSel(TightId)" +relIsoOnMediumIdSIP: max(LepGood1_relIso03,LepGood2_relIso03)+ 1*(LepGood1_mediumMuonId == 0 || LepGood1_sip3d >= 4 || LepGood2_mediumMuonId==0 || LepGood2_sip3d >= 4): 500,-0.1,1.55; LineColor=ROOT.kOrange+1, Title="PFRelIso cut + CBSel(MediumId)" diff --git a/CMGTools/TTHAnalysis/python/plotter/rocCurves.py b/CMGTools/TTHAnalysis/python/plotter/rocCurves.py index 2eb4548117d3..5697633e9e38 100644 --- a/CMGTools/TTHAnalysis/python/plotter/rocCurves.py +++ b/CMGTools/TTHAnalysis/python/plotter/rocCurves.py @@ -10,12 +10,18 @@ def hist2ROC1d(hsig,hbg): if hsig.GetMean() > hbg.GetMean(): si.reverse(); bi.reverse() sums,sumb = sum(si), sum(bi) + if sums == 0 or sumb == 0: + return None for i in xrange(1,bins): si[i] += si[i-1] bi[i] += bi[i-1] fullsi, fullbi = si[:], bi[:] si, bi = [], []; for i in xrange(1,bins): + # skip negative weights + if len(si) > 0 and (fullsi[i] < si[-1] or fullbi[i] < bi[-1]): + continue + # skip repetitions if fullsi[i] != fullsi[i-1] or fullbi[i] != fullbi[i-1]: si.append(fullsi[i]) bi.append(fullbi[i]) @@ -58,14 +64,15 @@ def hist2ROC2d(hsig,hbg): ret.dim=2 return ret -def makeROC(plotmap,mca): - sig, bkg = None, None - if 'signal' in plotmap: sig = plotmap['signal'] - if 'background' in plotmap: bkg = plotmap['background'] +def makeROC(plotmap,mca,sname="signal",bname="background"): + sig = plotmap[sname] + bkg = plotmap[bname] if sig.ClassName() == "TH1F": ret = hist2ROC1d(sig,bkg) + if not ret: return ret elif sig.ClassName() == "TH2F": ret = hist2ROC2d(sig,bkg) + if not ret: return ret else: raise RuntimeError, "Can't make a ROC from a "+sig.ClassName() ret.GetXaxis().SetTitle("Eff Background") ret.GetYaxis().SetTitle("Eff Signal") @@ -91,6 +98,38 @@ def doLegend(rocs,textSize=0.035): legend_ = leg return leg +def stackRocks(outname,outfile,rocs,xtit,ytit,options): + allrocs = ROOT.TMultiGraph("all","all") + for title,roc in rocs: + allrocs.Add(roc,roc.style) + outfile.WriteTObject(roc) + c1 = ROOT.TCanvas("roc_canvas","roc_canvas") + c1.SetGridy(options.showGrid) + c1.SetGridx(options.showGrid) + c1.SetLogx(options.logx) + if options.xrange and options.yrange: + frame = ROOT.TH1F("frame","frame",1000,options.xrange[0], options.xrange[1]) + frame.GetXaxis().SetTitle(xtit) + frame.GetYaxis().SetTitle(ytit) + frame.GetYaxis().SetRangeUser(options.yrange[0], options.yrange[1]) + frame.GetYaxis().SetDecimals(True) + frame.Draw(); + for title,roc in rocs: + roc.Draw(roc.style+" SAME") + else: + allrocs.Draw("APL"); + allrocs.GetXaxis().SetTitle(xtit) + allrocs.GetYaxis().SetTitle(ytit) + allrocs.GetYaxis().SetDecimals(True) + if options.xrange: + allrocs.GetXaxis().SetRangeUser(options.xrange[0], options.xrange[1]) + if options.yrange: + allrocs.GetYaxis().SetRangeUser(options.yrange[0], options.yrange[1]) + leg = doLegend(rocs) + if options.fontsize: leg.SetTextSize(options.fontsize) + c1.Print(outname.replace(".root","")+".png") + outfile.WriteTObject(c1,"roc_canvas") + if __name__ == "__main__": from optparse import OptionParser parser = OptionParser(usage="%prog [options] mc.txt cuts.txt plotfile.txt") @@ -101,48 +140,89 @@ def doLegend(rocs,textSize=0.035): parser.add_option("--xtitle", dest="xtitle", default="Eff Background", type='string', help="X axis title"); parser.add_option("--ytitle", dest="ytitle", default="Eff Signal", type='string', help="Y axis title"); parser.add_option("--fontsize", dest="fontsize", default=0, type='float', help="Legend font size"); + parser.add_option("--splitSig", dest="splitSig", default=False, action="store_true", help="Make one ROC per signal") + parser.add_option("--splitBkg", dest="splitBkg", default=False, action="store_true", help="Make one ROC per background") + parser.add_option("--grid", dest="showGrid", action="store_true", default=False, help="Show grid lines") + parser.add_option("--logx", dest="logx", action="store_true", default=False, help="Log x-axis") + parser.add_option("--groupBy", dest="groupBy", default="process", type="string", help="Group by: variable, process") (options, args) = parser.parse_args() options.globalRebin = 1 + options.allowNegative = True # with the fine bins used in ROCs, one otherwise gets nonsensical results mca = MCAnalysis(args[0],options) + signals = mca.listSignals() if options.splitSig else [ "signal" ] + backgrounds = mca.listBackgrounds() if options.splitBkg else [ "background" ] cut = CutsFile(args[1],options).allCuts() - plots = PlotFile(args[2],options) + plots = PlotFile(args[2],options).plots() outname = options.out if options.out else (args[2].replace(".txt","")+".root") outfile = ROOT.TFile(outname,"RECREATE") - rocs = [] ROOT.gROOT.ProcessLine(".x tdrstyle.cc") - c1 = ROOT.TCanvas("roc_canvas","roc_canvas") - allrocs = ROOT.TMultiGraph("all","all") - for i,plot in enumerate(plots.plots()): - pmap = mca.getPlots(plot,cut,makeSummary=True) - roc = makeROC(pmap,mca) - if roc.GetN() > 1 and roc.dim == 1 and not plot.getOption("Discrete",False): - roc.SetLineColor(plot.getOption("LineColor",i+1)) - roc.SetMarkerColor(plot.getOption("LineColor",i+1)) - roc.SetLineWidth(2) - roc.SetMarkerStyle(0) - roc.style = "L" - else: - #print roc.GetX()[0],roc.GetY()[0],plot.name - roc.SetMarkerColor(plot.getOption("MarkerColor",i+1)) - roc.SetMarkerStyle(plot.getOption("MarkerStyle",20 if roc.dim == 1 else 7)) - roc.SetMarkerSize(plot.getOption("MarkerSize",1.0)) - roc.style = "P" - allrocs.Add(roc,roc.style) - roc.SetName(plot.name) - rocs.append((plot.getOption("Title",plot.name),roc)) - outfile.WriteTObject(roc) - allrocs.Draw("APL"); - allrocs.GetXaxis().SetTitle(options.xtitle) - allrocs.GetYaxis().SetTitle(options.ytitle) - if options.xrange: - allrocs.GetXaxis().SetRangeUser(options.xrange[0], options.xrange[1]) - if options.yrange: - allrocs.GetYaxis().SetRangeUser(options.yrange[0], options.yrange[1]) - allrocs.Draw() - leg = doLegend(rocs) - if options.fontsize: leg.SetTextSize(options.fontsize) - c1.Print(outname.replace(".root","")+".png") - outfile.WriteTObject(c1,"roc_canvas") + ROOT.gStyle.SetOptStat(0) + pmaps = [ mca.getPlots(p,cut,makeSummary=True) for p in plots ] + if len(signals+backgrounds)>2 and "variable" in options.groupBy: + for ip,plot in enumerate(plots): + pmap = pmaps[ip] + rocs = [] + myname = outname.replace(".root","_%s.root" % plot.name) + for i,(sig,bkg) in enumerate([(s,b) for s in signals for b in backgrounds ]): + mytitle = ""; ptitle = None + if len(signals)>1 and len(backgrounds)==1: + mytitle = mca.getProcessOption(sig,"Label",sig); ptitle = sig + elif len(signals) == 1 and len(backgrounds)>1: + mytitle = mca.getProcessOption(bkg,"Label",bkg); ptitle = bkg + else: + mytitle = "%s/%s" % (mca.getProcessOption(sig,"Label",sig),mca.getProcessOption(bkg,"Label",bkg)) + roc = makeROC(pmap,mca,sname=sig,bname=bkg) + if not roc: continue + color = mca.getProcessOption(ptitle,"FillColor",SAFE_COLOR_LIST[i]) if ptitle else SAFE_COLOR_LIST[i] + if roc.GetN() > 1 and roc.dim == 1 and not plot.getOption("Discrete",False): + roc.SetLineColor(color) + roc.SetMarkerColor(color) + roc.SetLineWidth(2) + roc.SetMarkerStyle(0) + roc.style = "L" + else: + roc.SetMarkerColor(color) + roc.SetMarkerStyle(mca.getProcessOption(ptitle,"MarkerStyle",20 if roc.dim == 1 else 7) if ptitle else (20 if roc.dim == 1 else 7)) + roc.SetMarkerSize(mca.getProcessOption(ptitle,"MarkerSize",1.0) if ptitle else 1.0) + roc.style = "P" + roc.SetName("%s_%s_%s" % (plot.name,s,b)) + rocs.append((mytitle,roc)) + if len(rocs) == 0: continue + stackRocks(myname,outfile,rocs,options.xtitle,options.ytitle,options) + if "process" in options.groupBy: + for (sig,bkg) in [(s,b) for s in signals for b in backgrounds ]: + rocs = [] + myname = outname; xtit = options.xtitle; ytit = options.ytitle + if len(signals)>1: + myname = myname.replace(".root","_%s.root" % sig) + stit = mca.getProcessOption(sig,"Label",sig) + ytit = ytit % stit if "%" in ytit else "%s (%s)" % (ytit,stit) + if len(backgrounds)>1: + myname = myname.replace(".root","_%s.root" % bkg) + btit = mca.getProcessOption(bkg,"Label",bkg); + xtit = xtit % btit if "%" in xtit else "%s (%s)" % (xtit,btit) + for i,plot in enumerate(plots): + pmap = pmaps[i] + roc = makeROC(pmap,mca,sname=sig,bname=bkg) + if not roc: continue + if roc.GetN() > 1 and roc.dim == 1 and not plot.getOption("Discrete",False): + roc.SetLineColor(plot.getOption("LineColor",SAFE_COLOR_LIST[i])) + roc.SetMarkerColor(plot.getOption("LineColor",SAFE_COLOR_LIST[i])) + roc.SetLineWidth(2) + roc.SetMarkerStyle(0) + roc.style = "L" + else: + #print roc.GetX()[0],roc.GetY()[0],plot.name + roc.SetMarkerColor(plot.getOption("MarkerColor",SAFE_COLOR_LIST[i])) + roc.SetMarkerStyle(plot.getOption("MarkerStyle",20 if roc.dim == 1 else 7)) + roc.SetMarkerSize(plot.getOption("MarkerSize",1.0)) + roc.style = "P" + #for ipoint in xrange(roc.GetN()): + # print "%-20s %6d %.5f %.5f" % (plot.name,ipoint,roc.GetX()[ipoint],roc.GetY()[ipoint]) + roc.SetName(plot.name) + rocs.append((plot.getOption("Title",plot.name),roc)) + if len(rocs) == 0: continue + stackRocks(myname,outfile,rocs,xtit,ytit,options) outfile.Close() diff --git a/CMGTools/TTHAnalysis/python/plotter/roc_2lss.txt b/CMGTools/TTHAnalysis/python/plotter/roc_2lss.txt deleted file mode 100644 index 6bb92c786673..000000000000 --- a/CMGTools/TTHAnalysis/python/plotter/roc_2lss.txt +++ /dev/null @@ -1,26 +0,0 @@ -MVA: min(LepGood1_mvaTTH,LepGood2_mvaTTH): 1000,-1,1; LineColor=209, Title="Lep MVA old" -MVA2: min(LepGood1_mvaTTHpresel,LepGood2_mvaTTHpresel): 1000,-1,1; LineColor=213, Title="Lep MVA" -MVA3: min(LepGood1_mvaSUSYpresel,LepGood2_mvaSUSYpresel): 1000,-1,1; LineColor=92, Title="Lep(tt) MVA" -#MVA3: min(LepGood1_mvaTTHtightpresel,LepGood2_mvaTTHtightpresel): 1000,-1,1; LineColor=60, Title="Lep(tight) MVA" - -#MVA2D: min(LepGood1_tightId,LepGood2_tightId)\: max(LepGood1_relIso,LepGood2_relIso):1000,0.,1.,1000,0,0.4; MarkerColor=25, MarkerSyle=7 - -MVAL1: min(LepGood1_mvaTTHpresel,LepGood2_mvaTTHpresel) >= -0.3: 2,-0.5,1.5; MarkerColor=215, MarkerSize=1.5, Title="MVA #geq -0.3 WP" -MVAL3: min(LepGood1_mvaTTHpresel,LepGood2_mvaTTHpresel) >= 0.7: 2,-0.5,1.5; MarkerColor=7, MarkerSize=1.5, Title="MVA #geq 0.7 WP" - -relIso: max(LepGood1_relIso03,LepGood2_relIso03): 1000,0,0.4; LineColor=100, Title="PF Rel Iso cut" -sip3D: max(LepGood1_sip3d,LepGood2_sip3d): 1000,0,10; LineColor=222, Title="SIP_{3D} cut" - - -CWPmu: LepGood1_tightId>0.0 && LepGood2_tightId>0.0 && max(LepGood1_relIso03,LepGood2_relIso03)<0.1 && abs(LepGood1_dxy) < 0.0050 && abs(LepGood1_dz) < 0.1 && abs(LepGood2_dxy) < 0.0050 && abs(LepGood2_dz) < 0.1: 2,-0.5,1.5; MarkerColor=206, MarkerSize=1.5, Title="Cut based #mu ID", MarkerStyle=20 -#CWPe: LepGood1_eleCutId >= 3 && LepGood2_eleCutId >=3 && max(LepGood1_relIso03,LepGood2_relIso03)< 0.09 && (abs(LepGood1_eta) <1.4442 || abs(LepGood1_eta) > 1.566) && (abs(LepGood2_eta) < 1.4442 || abs(LepGood2_eta) > 1.566) && abs(LepGood1_dxy) < 0.0100 && abs(LepGood1_dz) < 0.1 && abs(LepGood2_dxy) < 0.0100 && abs(LepGood2_dz) < 0.1: 2,-0.5,1.5; MarkerColor=206, MarkerSize=1.4, Title="Cut based el ID", MarkerStyle=21 - -#CWP1: LepGood1_tightId>0.0&&LepGood2_tightId>0.0 && max(LepGood1_relIso,LepGood2_relIso)<0.20&&max(LepGood1_sip3d,LepGood2_sip3d)<4: 2,-0.5,1.5; MarkerColor=206, MarkerSize=1.5, Title="Tight ID\, Iso < 0.20\, SIP_{3D} < 4", MarkerStyle=20 -#CWP2: LepGood1_tightId>0.0&&LepGood2_tightId>0.0 && max(LepGood1_relIso,LepGood2_relIso)<0.12&&max(LepGood1_sip3d,LepGood2_sip3d)<4: 2,-0.5,1.5; MarkerColor=206, MarkerSize=1.4, Title="Tight ID\, Iso < 0.12\, SIP_{3D} < 4", MarkerStyle=21 -#CWP3: LepGood1_tightId>0.0&&LepGood2_tightId>0.0 && max(LepGood1_relIso,LepGood2_relIso)<0.12&&max(LepGood1_sip3d,LepGood2_sip3d)<3: 2,-0.5,1.5; MarkerColor=206, MarkerSize=1.7, Title="Tight ID\, Iso < 0.12\, SIP_{3D} < 3", MarkerStyle=34 - - - - - - diff --git a/CMGTools/TTHAnalysis/python/plotter/skimTrees.py b/CMGTools/TTHAnalysis/python/plotter/skimTrees.py new file mode 100644 index 000000000000..9abb0501c45d --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/skimTrees.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python +#from mcPlots import * +from CMGTools.TTHAnalysis.plotter.mcAnalysis import * + +import ROOT + +if __name__ == "__main__": + from optparse import OptionParser + parser = OptionParser(usage="%prog [options] mc.txt cuts.txt outputDir") + parser.add_option("-D", "--drop", dest="drop", type="string", default=[], action="append", help="Branches to drop, as per TTree::SetBranchStatus") + parser.add_option("-K", "--keep", dest="keep", type="string", default=[], action="append", help="Branches to keep, as per TTree::SetBranchStatus") + parser.add_option("--oldstyle", dest="oldstyle", default=False, action="store_true", help="Oldstyle naming (e.g. file named as _tree.root)") + addMCAnalysisOptions(parser) + (options, args) = parser.parse_args() + options.weight = False + options.final = True + mca = MCAnalysis(args[0],options) + cut = CutsFile(args[1],options) + outdir = args[2] + + print "Will write selected trees to "+outdir + if not os.path.exists(outdir): + os.system("mkdir -p "+outdir) + + for proc in mca.listProcesses(): + print "Process %s" % proc + for tty in mca._allData[proc]: + print "\t component %-40s" % tty.cname(), + mytree = tty.getTree() + yields = tty.getYields(cut, noEntryLine=False) + ntot = mytree.GetEntries() + npass = yields[0][1][0] + print ": %8d/%8d" % (npass,ntot) + myoutpath = outdir+"/"+tty.cname() + mysource = options.path+"/"+tty.cname() + mycut = tty.adaptExpr(cut.allCuts(),cut=True) + if options.doS2V: mycut = scalarToVector(mycut) + # now we do + os.system("mkdir -p "+myoutpath) + os.system("cp -r %s/skimAnalyzerCount %s/" % (mysource,myoutpath)) + os.system("mkdir -p %s/%s" % (myoutpath,options.tree)) + histo = ROOT.gROOT.FindObject("Count") + if not options.oldstyle: + fout = ROOT.TFile("%s/%s/tree.root" % (myoutpath,options.tree), "RECREATE"); + else: + fout = ROOT.TFile("%s/%s/%s_tree.root" % (myoutpath,options.tree,options.tree), "RECREATE"); + fout = ROOT.TFile("%s/%s/tree.root" % (myoutpath,options.tree), "RECREATE"); + # drop and keep branches + for drop in options.drop: mytree.SetBranchStatus(drop,0) + for keep in options.keep: mytree.SetBranchStatus(keep,1) + out = mytree.CopyTree(mycut) + friends = out.GetListOfFriends() or [] + for tf in friends: + out.RemoveFriend(tf.GetTree()) + fout.WriteTObject(out,options.tree if options.oldstyle else "tree") + fout.WriteTObject(out,"tree") + if histo: histo.Write() + fout.Close() + diff --git a/CMGTools/TTHAnalysis/python/plotter/candlesuite.sh b/CMGTools/TTHAnalysis/python/plotter/standard-candles/candlesuite.sh similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/candlesuite.sh rename to CMGTools/TTHAnalysis/python/plotter/standard-candles/candlesuite.sh diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_CardsFullCutFlow.txt b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_CardsFullCutFlow.txt new file mode 100644 index 000000000000..d5038d470381 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_CardsFullCutFlow.txt @@ -0,0 +1,9 @@ +1tl: nTightLeps==1 && LepGood1_pt >25 +0vl: nVetoLeps==0 +geq6j: nCentralJet30>=6 +lsl80: LSLjetptGT80==1 +ht500: HT >500 +st200: ST > 200 +1nB: nBJetMedium30>=1 +dp1: fabs(DeltaPhiLepW)>1 + diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_CutFlowBasicPlots.txt b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_CutFlowBasicPlots.txt new file mode 100644 index 000000000000..6769a1c40888 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_CutFlowBasicPlots.txt @@ -0,0 +1,17 @@ +hMETLogY: met_pt : 40,0,999.9999; XTitle="MET [GeV]", Logy +hMET: met_pt : 40,0,999.9999; XTitle="MET [GeV]" +hHTLogY: htJet30j : 40,0,2999.9999; XTitle="H_{T} [GeV]", Logy +hHT: htJet30j : 40,0,2999.9999; XTitle="H_{T} [GeV]" +hSTLogY: LepGood_pt[tightLepsIdx[0]] + met_pt : 40,0,1599.9999; XTitle="S_{T} [GeV]", Logy +hST: LepGood_pt[tightLepsIdx[0]] + met_pt : 40,0,1599.9999; XTitle="S_{T} [GeV]" +hnJetLogY: nCentralJet30 : 20,0,20 ; XTitle="jet multiplicity", Logy +hnJet: nCentralJet30 : 20,0,20 ; XTitle="jet multiplicity" +hnBJetLogY: nBJetMedium30 : 10,0,10 ; XTitle="b-jet multiplicity (Med)", Logy +hnBJet: nBJetMedium30 : 10,0,10 ; XTitle="b-jet multiplicity (Med)" +hdPhiLepWLogy: fabs(DeltaPhiLepW) : 20,0,3.141 ; XTitle="#Delta #varphi (lep\,W)", IncludeOverflows=False, Logy +hdPhiLepW: fabs(DeltaPhiLepW) : 20,0,3.141 ; XTitle="#Delta #varphi (lep\,W)", IncludeOverflows=False +Topness: Topness : 15,-10,20; XTitle="Topness" +TopnessLogy: Topness : 15,-10,20; XTitle="Topness", Logy, MoreY=100 +MT2W: MT2W : 20,0,500; XTitle="MT2W" +MT2WLogy: MT2W : 20,0,500; XTitle="MT2W", Logy, MoreY=100 +DEMOfunctionscc_deltaPhiLepMET: fabs(deltaPhi(LepGood_phi[tightLepsIdx[0]],met_phi)) : 40,0,3.141 ; XTitle = "#Delta #varphi (lep\,met)", Logy diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_TopnessBasics.txt b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_TopnessBasics.txt new file mode 100644 index 000000000000..88665f39997f --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_TopnessBasics.txt @@ -0,0 +1,10 @@ +Topness: Topness : 15,-10,20; XTitle="Topness" +#TopnessLogy: Topness : 15,-10,20; XTitle="Topness", Logy, MoreY=100 +SingleTopness : (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175 : 30,-5,10; XTitle="Single Topness" +#SingleTopnessLogy : (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175 : 30,-5,10; XTitle="Single Topness", Logy, MoreY=100 + +hdPhiLepW: fabs(DeltaPhiLepW) : 20,0,3.141 ; XTitle="#Delta #varphi (lep\,W)" + +#TopnessVsSingleTopness +#TopnessVsDeltaPhi: Topness\:fabs(DeltaPhiLepW) : 20,0,3.141,15,-10,20; YTitle="Topness", XTitle="#Delta #varphi (lep\,W)", IncludeOverflows=False, Profile1D=True, +SingleTopnessVsDeltaPhi: (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175\:fabs(DeltaPhiLepW) : 20,0,3.141,20,-2,7; YTitle="Single Topness", XTitle="#Delta #varphi (lep\,W)" diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_basicCutsFullCutFlow.txt b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_basicCutsFullCutFlow.txt new file mode 100644 index 000000000000..cf6cf944ebd5 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_basicCutsFullCutFlow.txt @@ -0,0 +1,11 @@ +== 1 tight lepton: nTightLeps == 1 +hard lepton: LepGood1_pt > 25 +#soft lepton: LepGood1_pt < 25 +no VetoLeps: nVetoLeps==0 +geq 6j: nCentralJet30>=6 +leading/subleading > 80: LSLjetptGT80==1 +ht500: HT >500 +st200: ST > 200 +1b medium: nBJetMedium30>=1 +dphi>1: fabs(DeltaPhiLepW)> 1 +#lepEta < 2.1: fabs(LepGood_eta[tightLepsIdx[0]]) < 2.1 diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_basicCutsFullCutFlowTopness.txt b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_basicCutsFullCutFlowTopness.txt new file mode 100644 index 000000000000..35d89bf4f968 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/1l_basicCutsFullCutFlowTopness.txt @@ -0,0 +1,10 @@ +== 1 tight lepton: nTightLeps ==1&&LepGood_pt[tightLepsIdx[0]]>25 +no VetoLeps: nVetoLeps==0 +geq 6j: nCentralJet30>=6 +leading/subleading > 80: LSLjetptGT80==1 +ht500: HT >500 +st200: ST > 200 +1b medium: nBJetMedium30>=1 +topnesses: (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175>1.25&&Topness>5 +dphi>0.5: fabs(DeltaPhiLepW)>0.5 + diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/basic_plots.txt b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/basic_plots.txt new file mode 100644 index 000000000000..5ae8847ee276 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/basic_plots.txt @@ -0,0 +1,32 @@ +MET: MET : 40,0,999.9999; XTitle="MET [GeV]", Logy +HT: HT : 40,0,2999.9999; XTitle="H_{T} [GeV]", Logy +ST: ST : 40,0,1599.9999; XTitle="S_{T} [GeV]", Logy +nJet: nCentralJet30 : 20,0,20 ; XTitle="jet multiplicity", Logy +nBJet: nBJetMedium30 : 10,0,10 ; XTitle="b-jet multiplicity (Med)", Logy +dPhiLepW: fabs(DeltaPhiLepW) : 60,0,3.141 ; XTitle="#Delta #varphi (lep\,W)", IncludeOverflows=False, Logy +MT2W: MT2W : 20,0,500; XTitle="MT2W", Logy, MoreY=100 +Lp: Lp : 30,-1,2 ; XTitle="Lp /#Delta #varphi (lep\,W)", IncludeOverflows=False +Lp_log: Lp : 30,-1,2 ; XTitle="Lp /#Delta #varphi (lep\,W)", IncludeOverflows=False, Logy +# Leptons +LepPt: LepGood_pt[tightLepsIdx[0]] : 40,0,599.9999; XTitle="Lep p_{T} [GeV]", Logy +# Eta +EtaLep: LepGood_eta[tightLepsIdx[0]] : 40,-2.4,2.4 ; XTitle="Lep #eta", Logy, MoreY=100 +EtaMu: LepGood_eta[tightMuIdx[0]] : 40,-2.4,2.4 ; XTitle="Mu #eta", Logy, MoreY=100 +EtaEl: LepGood_eta[tightElIdx[0]] : 40,-2.4,2.4 ; XTitle="Ele #eta", Logy, MoreY=100 + +nTopTag : nHighPtTopTag : 5,-0.5,4.5; XTitle="nTopTag", Logy +nTopTagTau : nHighPtTopTagPlusTau23 : 5,-0.5,4.5; XTitle="nTopTagPlusTau23", Logy + + +#STvsTop: ST\:Topness : 40,-10,20,40,200,2000; YTitle="S_{T} [GeV]", XTitle="Topness", Logz + +# Top +Topness: Topness : 15,-10,20; XTitle="Topness", Logy, MoreY=100 +TopMass: TopVarsMtopMin[0]: 40,0,1000; XTitle="min(Mtop)", Logy +TopEt: TopEt[0]: 40,0,1000; XTitle="min(top E_{T})", Logy +TopPt: TopPt[0]: 40,0,1000; XTitle="min(top P_{T})", Logy +Top_METovM: TopVarsMETovTopMin[0]: 40,0,5; XTitle="min(MET/Mtop)", Logy + +#Stopness: (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175 : 40,-5,10; XTitle="STopness", Logy, MoreY=100 + +#DEMOfunctionscc_deltaPhiLepMET: fabs(deltaPhi(LepGood_phi[tightLepsIdx[0]],met_phi)) : 40,0,3.141 ; XTitle = "#Delta #varphi (lep\,met)", Logy diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/compareCards.py b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/compareCards.py new file mode 100755 index 000000000000..43557d04427c --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/compareCards.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python +from copy import deepcopy +from tabulate import tabulate +from collections import OrderedDict + +import re +from sys import argv +import os.path +from pprint import pprint +from optparse import OptionParser +parser = OptionParser( + usage="%prog [options] [label=datacard.txt | datacard.txt]", + epilog="The label=datacard.txt syntax allows to specify the label that channels from datacard.txt will have in the comparison. Example: ./compareCards.py Bkg=susy_cards_1l_4fb_BKGEstImpr_NoAddMET_DiLepFlag/T1tttt_HL_1500_100/CnC2015X_ForYieldComparisons_DPhi00.card.txt Sig=susy_cards_1l_4fb_1lepImpr_DiLepFlag/T1tttt_HL_1500_100/CnC2015X_ForYieldComparisons_DPhi05.card.txt. Needs sorced HiggsAnalysis environment (because of DatacardParser)" + ) +parser.add_option("-s", "--stat", dest="stat", default=False, action="store_true", help="Drop all systematics") +parser.add_option("-S", "--force-shape", dest="shape", default=False, action="store_true", help="Treat all channels as shape analysis. Useful for mixed combinations") +parser.add_option("-a", "--asimov", dest="asimov", default=False, action="store_true", help="Replace observation with asimov dataset. Works only for counting experiments") +parser.add_option("-P", "--prefix", type="string", dest="fprefix", default="", help="Prefix this to all file names") +parser.add_option("--xc", "--exclude-channel", type="string", dest="channelVetos", default=[], action="append", help="Exclude channels that match this regexp; can specify multiple ones") +parser.add_option("--ic", "--include-channel", type="string", dest="channelIncludes", default=[], action="append", help="Only include channels that match this regexp; can specify multiple ones") +parser.add_option("--X-no-jmax", dest="noJMax", default=False, action="store_true", help="FOR DEBUG ONLY: Turn off the consistency check between jmax and number of processes.") +parser.add_option("--xn-file", "--exclude-nuisances-from-file", type="string", dest="nuisVetoFile", help="Exclude all the nuisances in this file") +parser.add_option("--en-file", "--edit-nuisances-from-file", type="string", dest="editNuisFile", help="edit the nuisances in this file") + +(options, args) = parser.parse_args() +options.bin = True # fake that is a binary output, so that we parse shape lines +options.nuisancesToExclude = [] +options.verbose = 0 +options.allowNoSignal = True +options.allowNoBackground = True + + +from HiggsAnalysis.CombinedLimit.DatacardParser import * + +obsline = []; obskeyline = [] ; +keyline = []; expline = []; systlines = {} +signals = []; backgrounds = []; shapeLines = [] +cmax = 5 # column width + +DC_Sig = Datacard() +DC_Bkg = Datacard() + + + +if not args: + raise RuntimeError, "No input datacards specified." +for ich,fname in enumerate(args): + label = "ch%d" % (ich+1) + if "=" in fname: (label,fname) = fname.split("=") + fname = options.fprefix+fname + dirname = os.path.dirname(fname) + file = open(fname, "r") + DC = parseCard(file, options) + if label == "Bkg": DC_Bkg = DC #parseCard(file, options) #deepcopy(DC) + elif label == "Sig": DC_Sig = DC #parseCard(file, options) + + +bins = [] + + +#for b in DC_Bkg.bins: +CollectYieldDicts = [] +CollectYieldCompDicts = [] + +for b in DC_Bkg.bins: + if "_1p_" in b: + YieldDict = OrderedDict( [ ("Bin",b), ("CR",0), ("CR-Sig.Cont.",0), ("CR-DiLep.Pur.",0), #("1B", 0), ("1BRel", 0), + ("2B", 0), ("2BRel", 0), ("2BBkgFrac", 0), ("3p", 0), ("3pRel", 0), ("3pBkgFrac", 0)]) + YieldDictComp = OrderedDict( [ ("Bin",b)]) + for (p,e) in DC_Bkg.exp[b].items(): # so that we get only self.DC.processes contributing to this bin + if "DiLep" in p: + YieldDict["CR"] += e + + + for (p,e) in DC_Bkg.exp[b].items(): # so that we get only self.DC.processes contributing to this bin + if DC_Bkg.isSignal[p]: + YieldDict["CR-Sig.Cont."]= e/YieldDict["CR"] if YieldDict["CR"]!=0 else -1 + + if DC_Bkg.obs[b]!=0: YieldDict["CR-DiLep.Pur."]= YieldDict["CR"]/DC_Bkg.obs[b] + else: YieldDict["CR-DiLep.Pur."]= -1 + for repl in [#"_1B_", + "_2B_","_3p_"]: +# replacedBin = b.replace("_1p_",repl).replace("DPhi00","DPhi10") + replacedBin = b.replace("_1p_",repl).replace("DPhi00","DPhi05") +# replacedBin = b.replace("_1p_",repl).replace("DPhi00","Stop") +# replacedBin = b.replace("_1p_",repl).replace("DPhi00","Top") + if replacedBin in DC_Sig.list_of_bins(): + for (p,e) in DC_Sig.exp[replacedBin].items(): # so that we get only self.DC.processes contributing to this bin + if "DiLep" in p: + YieldDict[repl.replace("_","")] += e + YieldDict[repl.replace("_","")+"Rel"] = YieldDict["CR"]/e + YieldDict[repl.replace("_","")+"BkgFrac"] = e/DC_Sig.obs[replacedBin] + YieldDictComp["SR_"+p+"_"+repl.replace("_","")] = e + + + + else: + YieldDict[repl.replace("_","")] = -1 + YieldDict[repl.replace("_","")+"Rel"] = -1 + + + for repl in [#"_1B_", + "_2B_","_3p_"]: + replacedBin = b.replace("_1p_",repl).replace("DPhi00","DPhi05") + if replacedBin in DC_Sig.list_of_bins(): + for (p,e) in DC_Sig.exp[replacedBin].items(): # so that we get only self.DC.processes contributing to this bin + if "DiLep" in p: +# print p + YieldDictComp["SR_"+p+"_"+repl.replace("_","")] = YieldDictComp["SR_"+p+"_"+repl.replace("_","")]/YieldDict[repl.replace("_","")] + + + CollectYieldDicts.append(YieldDict) + CollectYieldCompDicts.append(YieldDictComp) +print +print tabulate(CollectYieldDicts, headers="keys", floatfmt=".4f") +print tabulate(CollectYieldDicts, headers="keys", floatfmt=".4f", tablefmt="latex") +print tabulate(CollectYieldCompDicts, headers="keys", floatfmt=".4f", tablefmt="latex") + diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/getCardLimits.py b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/getCardLimits.py new file mode 100755 index 000000000000..df399e9fd769 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/getCardLimits.py @@ -0,0 +1,142 @@ +#!/usr/bin/env python + +import shutil +import subprocess +import os +import glob +from multiprocessing import Pool + +#def _getLimits(sample, cardDir, binName): +def _getLimits(inargs): + + (sample, cardDir, binName) = inargs + +# print inargs + if len(inargs) < 1: + return (binName,[0,0]) + + limfName = "Limits_"+sample+"_"+binName + signfName = "Significance_"+sample+"_"+binName + cardName = cardDir+"/"+sample+"/CnC2015X_"+binName+".card.txt" + + sigline = 'Fail' + limitline = 'Fail' + + print "# Starting Bin:", binName + + os.system("combine -M Asymptotic "+ cardName + " -n " + limfName+ " &> "+ limfName + ".txt") + os.system("combine -M ProfileLikelihood --significance "+ cardName + " -t -1 --expectSignal=1 -n "+ signfName +" &> "+ signfName + ".txt") + + lf=open(limfName+".txt") + llines=lf.readlines() + + for line in llines: + if "50.0%" in line: + limitline = line + + sf=open(signfName+".txt") + slines=sf.readlines() + + for sline in slines: + if "Signif" in sline: + sigline = sline + + sigma = -1 + limit = -1 + + print "# Results for bin:", binName + if limitline == 'Fail': + print 'Limit not found!' + elif sigline == 'Fail': + print 'Significance not found!' + else: + print limitline, sigline + sigma = float(sigline.split(':')[1]) + limit = float(limitline.split('<')[1]) + +# return [binName,sigma, limit] + return (binName,[sigma, limit]) + +# check CMSSW version +cmssw_vers = os.environ['CMSSW_VERSION'] + +if 'CMSSW_7_1' not in cmssw_vers: + print "You've got the wrong CMSSW env:" + print "Need CMSSW_7_1_X with limit tool!" + exit(0) + +cardDirectory="susy_cards_1l_4fb_allBins" +cardDirectory = os.path.abspath(cardDirectory) + +limitDir = cardDirectory+"/limits_test/" +if not os.path.isdir(limitDir): + print 'Creating limit dir', limitDir + os.mkdir(limitDir) + +print 'Entering out dir', limitDir +os.chdir(limitDir) +print + +Samples = [] +#Samples.append("T1tttt_HL_1500_100") +Samples.append("T1tttt_HM_1200_800") + +VariantSnippet = ['3B_ST4_9Infj_HT1'] +#VariantSnippet = ["standardnJ", "finenJ"] + +limitdict = {} +sigdict = {} + +nJobs = 12 + +for s_i, s in enumerate(Samples): + + print 80*'#' + print "Limits for", s + + # get card file list + inDir = cardDirectory+'/'+s + cardFnames = glob.glob(inDir+'/CnC2015X_*.txt') + cardNames = [os.path.basename(name) for name in cardFnames] + cardNames = [(name.replace('CnC2015X_','')).replace('.card.txt','') for name in cardNames] + + print 'Card list'#, cardNames + +# for v_i, v in enumerate(VariantSnippet): +# _getLimits((s,cardDirectory,v)) + +# for v_i, v in enumerate(cardNames): +# _getLimits(s,cardDirectory,v) + + argTuple = [(s,cardDirectory,name) for name in cardNames] +# argTuple = [(s,cardDirectory,name) for name in VariantSnippet] + +# print argTuple +# print (s,cardDirectory,cardNames) + + pool = Pool(nJobs) +# limDict = dict(pool.map(_, jobs)) if options.jobs > 0 else dict([_runIt(j) for j in jobs]) + limDict = dict(pool.map(_getLimits, argTuple)) +# limDict = dict(pool.map(_getLimits, cardNames)) + + print 80*'#' + print 'Results:' + print 'Sample [sigma,r-value]' + +# for key in limDict: +# if limDict[key][0] != -1: +# print key, limDict[key] + + # make dict[sigma] = samplename + sigDict = {} + for key in limDict: + if limDict[key][0] != -1: + sigDict[limDict[key][0]] = key + + sigList = sigDict.keys() + sigList.sort(reverse = True) + +# for sigma in sigDict: +# print sigma, sigDict[sigma], limDict[sigDict[sigma]] + for sigma in sigList: + print sigDict[sigma],'\t', limDict[sigDict[sigma]][0],'\t', limDict[sigDict[sigma]][1] diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/getLimitsPlusSensitivity.py b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/getLimitsPlusSensitivity.py new file mode 100755 index 000000000000..944ed2e8fea9 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/getLimitsPlusSensitivity.py @@ -0,0 +1,133 @@ + +#!/usr/bin/env python + +import shutil +import subprocess +import os + + +# check CMSSW version +cmssw_vers = os.environ['CMSSW_VERSION'] + +if 'CMSSW_7_1' not in cmssw_vers: + print "You've got the wrong CMSSW env:" + print "Need CMSSW_7_1_X with limit tool!" + exit(0) + +cardDirectory="susy_cards_1l_4fb_allBins" +cardDirectory = os.path.abspath(cardDirectory) + +limitDir = cardDirectory+"/limits/" +if not os.path.isdir(limitDir): + print 'Creating limit dir', limitDir + os.mkdir(limitDir) + +print 'Entering out dir', limitDir +os.chdir(limitDir) +print + +Samples = [] +Samples.append("T1tttt_HL_1500_100") +Samples.append("T1tttt_HM_1200_800") +#Samples.append("T1ttbbWW_1300_300_290") +#Samples.append("T1ttbbWW_1300_300_295") +#Samples.append("T5qqqqWW_Gl1200_Chi1000_LSP800") +#Samples.append("T5ttttDeg_1300_300_280") +#Samples.append("T2tt_425_325") +#Samples.append("T2tt_650_325") +#Samples.append("T2tt_850_100") + + + +#VariantSnippet = ["standardnJ_HTTTYesNo","standardnJ_HT1","finenJ_HTTTYesNo","finenJ_HT1"] +#VariantSnippet = ["standardnJ_HTLowLepPt","standardnJ_HTLowLepPtDPhi","standardnJ_HT1","finenJ_HTLowLepPt","finenJ_HTLowLepPtDPhi","finenJ_HT1"] +#VariantSnippet = ["standardnJ_HTLowLepPt","standardnJ_HT1","standardnJ_HighLowLepPt","finenJ_HTLowLepPt","finenJ_HT1","finenJ_HighLowLepPt"] +#VariantSnippet = ["standardnJ_HighLowLepPt","finenJ_HighLowLepPt"] +#VariantSnippet = ["standardnJ", "finenJ","finenJ_HT1","standardnJ_HT1"] +#VariantSnippet = ["finenJ_HT1","standardnJ_HT1","finenJ_HTTop","standardnJ_HTTop"] +#VariantSnippet = ["standardnJ", "finenJ","allnJ", "allnJTopnesses"] +VariantSnippet = ["standardnJ", "finenJ"] +#VariantSnippet = ["stdNj_TopTag", "fineNj_TopTag", "stdNj_TopTagTau", "fineNj_TopTagTau"] +#VariantSnippet = ["fineNj_TopTagTau", "stdNj_TopTagTau"] +#VariantSnippet = ["stdNj_TopTag"]#,"fineNj_TopTag"] +#VariantSnippet = ["NonExtreme_standardnJ", "NonExtreme_68nJ", "NonExtreme_68nJTopness", "NonExtreme_68nJDPhi05", "NonExtreme_68nJSingleTopness"] + + +#VariantSnippet = [] +# +##for ST in ["ST4"]: +#for ST in ["ST0", "ST1", "ST2", "ST3", "ST4"]: +## for nJ in ["68j", "6Infj", "9Infj"]: +# for nJ in ["45j"]: +# for nB in ["2B", "3p"]: +## for nB in ["2B"]: +# for HT in ["HT0", "HT1"]: +## for HT in ["HT0"]: +# for RD in ["DPhi00", "DPhi05", "DPhi10", "Stop", "Top"]: +# VariantSnippet.append(nB+"_"+ST+"_"+nJ+"_"+HT+"_"+RD) + +#VariantSnippet = ["2B_ST0_9Infj_HT0_Top"] + + +#standard: baseline +#finenJ: baseline plus highnJ-bin +#finenJ_HT*: only high HT-bin +#"finenJ_HT1": baselin, only high HT +#"finenJ_HT1TT": baseline+ toptag-counting +#"finenJ_HTTop": baseline+ dphi>.05 single topness >1.25, topness > 5 +#"finenJ_HTTopTT: baseline+ toptag-counting + dphi>.05 single topness >1.25, topness > 5 +#"finenJ_HighLowLepPt" combination of hard/soft leptons + +limitdict = {} +sigdict = {} +for s_i, s in enumerate(Samples): + + print 80*'#' + print "Limits for", s + + for v_i, v in enumerate(VariantSnippet): + + print 80*'#' + print cardDirectory+"/"+s+"/CnC2015X_"+v+".card.txt" + print "Limits_"+s+"_"+v+".txt" + limfName = "Limits_"+s+"_"+v + signfName = "Significance_"+s+"_"+v + cardName = cardDirectory+"/"+s+"/CnC2015X_"+v+".card.txt" + + sigline = 'Fail' + limitline = 'Fail' + + print "# Variant:", v + os.system("combine -M Asymptotic "+ cardName + " -n " + limfName+ " &> "+ limfName + ".txt") + os.system("combine -M ProfileLikelihood --significance "+ cardName + " -t -1 --expectSignal=1 -n "+ signfName +" &> "+ signfName + ".txt") + + lf=open(limfName+".txt") + llines=lf.readlines() + + for line in llines: + if "50.0%" in line: + limitline = line + #limitline = llines[6] + limitdict[(s,v)]= (limitline.split("<")[1]).split()[0] + + sf=open(signfName+".txt") + slines=sf.readlines() + + for sline in slines: + if "Signif" in sline: + sigline = sline + sigdict[(s,v)]= (sigline.split(":")[1]).split()[0] + #sigline= slines[2] + + if limitline == 'Fail': + print 'Limit not found!' + open("Failed_"+s+"_"+v+".txt", 'a').close() + elif sigline == 'Fail': + print 'Significance not found!' + open("Failed_"+s+"_"+v+".txt", 'a').close() + else: + print limitline, sigline + + +print limitdict +print sigdict diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/make_susy_cards.sh b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/make_susy_cards.sh new file mode 100755 index 000000000000..60855b9fcf7b --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/make_susy_cards.sh @@ -0,0 +1,266 @@ +#!/bin/bash + +if [[ "$1" == "SingleLepAFS" ]]; then + shift # shift register + T="/afs/cern.ch/work/k/kirschen/public/PlotExampleSamples/V3"; + FT="/afs/cern.ch/work/k/kirschen/public/PlotExampleSamples/PHYS14_V3_FriendsRefinedIds" + J=4; +elif [[ "$HOSTNAME" == *"lxplus"* ]] ; then + T="/afs/cern.ch/work/k/kirschen/public/PlotExampleSamples/V3"; + FT="/afs/cern.ch/work/a/alobanov/public/SUSY/CMG/CMGtuples/FriendTrees/phys14_v3_btagCSVv2" + J=4; +elif [[ "$1" == "DESYV3" ]] ; then + shift # shift register + T="/nfs/dust/cms/group/susy-desy/Run2/MC/CMGtuples/Phys14_v3/ForCMGplot"; + FT="/nfs/dust/cms/group/susy-desy/Run2/MC/CMGtuples/Phys14_v3/Phys14_V3_Friend_CSVbtag" + J=8; +elif [[ "$HOSTNAME" == *"naf"* ]] ; then + T="/nfs/dust/cms/group/susy-desy/Run2/MC/CMGtuples/Phys14_v3/ForCMGplot"; + FT="/nfs/dust/cms/group/susy-desy/Run2/MC/CMGtuples/Phys14_v3/Phys14_V3_Friend_CSVbtag" + J=8; +elif [[ "$1" == "QCDLp" ]] ; then + shift # shift register + T="/nfs/dust/cms/group/susy-desy/Run2/MC/CMGtuples/Phys14_v3/ForCMGplot"; + FT="/nfs/dust/cms/user/lobanov/SUSY/Run2/RA4/MC/CMGtuples/FriendTrees/phys14_v3_Lp" + J=8; +else + echo "Didn't specify location!" + echo "Usage: ./make_cards.sh location analysis " + exit 0 +fi + +LUMI=3.0 +OUTDIR="susy_cards_1l_4fb_test" +OPTIONS=" -P $T -j $J -l $LUMI -f --s2v --tree treeProducerSusySingleLepton --od $OUTDIR --asimov " + +# Get current plotter dir +#PLOTDIR="$CMSSW_BASE/src/CMGTools/TTHAnalysis/python/plotter/" +PLOTDIR=$(pwd -P) +PLOTDIR=${PLOTDIR/plotter/plotterX} +PLOTDIR=$(echo $PLOTDIR | cut -d 'X' -f 1 ) + +# Append FriendTree dir +OPTIONS=" $OPTIONS -F sf/t $FT/evVarFriend_{cname}.root " + +function makeCard_1l { + local EXPR=$1; local BINS=$2; local SYSTS=$3; local OUT=$4; local GO=$5 + + # choose CF and MCA files + CutFlowCard="1l_CardsFullCutFlow.txt" + McaFile="mca-Phys14_1l_Cards.txt" + + if [[ "$CutFlowCard" == "2l_CardsFullCutFlow.txt" ]]; then + FTDiLep="/afs/cern.ch/user/k/kirschen/private/SUSY_SingleLepton/temp_DELETEIMMEDIATELY/CMSSW_7_2_3/src/CMGTools/TTHAnalysis/macros/Phys14_Friend_DiLepImpr_NoAddMET_DiLepFlag" + echo "$GO" + GO=${GO/$FT/$FTDiLep} + echo "$GO" + fi + + + EXTRALABEL="" + + # b-jet cuts + case $nB in + 0B) GO="${GO} -R 1nB 0nB nBJetMedium30==0 "; EXTRALABEL="${EXTRALABEL} nB=0\n" ;; + 1B) GO="${GO} -R 1nB 1nB nBJetMedium30==1 "; EXTRALABEL="${EXTRALABEL} nB=1\n" ;; + 2B) GO="${GO} -R 1nB 2nB nBJetMedium30==2 "; EXTRALABEL="${EXTRALABEL} nB=2\n" ;; + 2Btop) GO="${GO} -R 1nB 2nB nBJetMedium30==2&&Topness>5 "; EXTRALABEL="${EXTRALABEL} nB=2(+topness)\n" ;; + 1p) GO="${GO} -R 1nB 1nBp nBJetMedium30>=1 "; EXTRALABEL="${EXTRALABEL} nB#geq1\n" ;; + 2p) GO="${GO} -R 1nB 2nBp nBJetMedium30>=2 "; EXTRALABEL="${EXTRALABEL} nB#geq2\n" ;; + 3p) GO="${GO} -R 1nB 3nBp nBJetMedium30>=3 "; EXTRALABEL="${EXTRALABEL} nB#geq3\n" ;; + esac; + + # ST categories + case $ST in + STInc) GO="${GO} -R st200 st200Inf ST>200 "; EXTRALABEL="${EXTRALABEL} ST>200 GeV\n" ;; + ST0) GO="${GO} -R st200 st200250 ST>200&&ST<250 "; EXTRALABEL="${EXTRALABEL} 200&2 + DummyC=$(($DummyC+1)) + if grep -q "observation 0.0$" $C; then + echo "this is not the way it was intended..." + fi + fi + + grep -q "observation 0.0$" $C && continue # skip empty bins +# grep -q "observation 0.01$" $C && grep -q "DummyContent" $C && continue #skip bins with only DummyContent as well + AllC=$((AllC+1)) + CMD="${CMD} $(basename $C .card.txt)=$C "; + done + if [[ "$CMD" == "" ]]; then + echo "Not any card found in $*" 1>&2 ; + else + echo "combineCards.py $CMD" >&2 + combineCards.py $CMD + fi + if [[ "$DummyC" != "0" ]]; then + echo "In total $DummyC out of $AllC are empty, but taken into account by adding DummyContent." >&2 + fi + #echo "In total $DummyC out of $AllC are empty, but taken into account by adding DummyContent." >&2 +} + +if [[ "$1" == "--pretend" ]]; then + PRETEND=1; shift; + echo "# Pretending to run" +fi; + +if [[ "$1" == "1l-makeCards" ]]; then + + SYSTS="syst/susyDummy.txt" + CnC_expr="1" #not used as of now + CnC_bins="[0.5,1.5]" + + STValue="$2" + echo "$STValue" + + echo "Making individual datacards" +#old approach +# for ST in "$STValue"; do for nJ in 45j 68j 6Infj 9Infj; do for nB in 1p 1B 2B 3p; do for HT in HT0 HT1; do for RD in DPhi00 DPhi05 DPhi075 DPhi10; do +# for ST in ST0 ST1 ST2 ST3 ST4 STInc; do for nJ in 45j 68j 6Infj 9Infj; do for nB in 1p 1B 2B 3p; do for HT in HT0 HT1; do for RD in DPhi00 DPhi05 DPhi075 DPhi10; do + +#for baseline analysis: + for ST in "$STValue"; do for nJ in 45j 68j 6Infj 9Infj; do for nB in 1p 1B 2B 3p; do for HT in HT0 HT1 HT2; do for RD in Def; do +# for ST in STDynDP0 STDynDP1 STDynDP2 STDynDP3 STDynDP4 STDynDP5; do for nJ in 45j 68j 6Infj 9Infj; do for nB in 1p 1B 2B 3p; do for HT in HT0 HT1 HT2; do for RD in Def; do + +#for dphi>0.5, single topness, topness, and soft lepton analysis: +# for ST in "$STValue"; do for nJ in 45j 68j 6Infj 9Infj; do for nB in 1p 1B 2B 2Btop 3p; do for HT in HT0 HT1 HT2; do for RD in DPhi05 Stop LowLepPtStop; do +# for ST in ST0 ST1 ST2 ST3 ST4 ST5; do for nJ in 45j 68j 6Infj 9Infj; do for nB in 1p 1B 2B 2Btop 3p; do for HT in HT0 HT1 HT2; do for RD in DPhi05 Stop LowLepPtStop; do + echo " --- CnC2015X_${nB}_${ST}_${nJ}_${HT}_${RD} ---" + makeCard_1l $CnC_expr $CnC_bins $SYSTS CnC2015X_${nB}_${ST}_${nJ}_${HT}_${RD} "$OPTIONS"; + done; done; done; done; done; +# done; + exit 0 + +fi + +if [[ "$1" == "1l-combine" ]]; then + + if [[ ! $CMSSW_VERSION == *"CMSSW_7_1_"* ]] ;then + echo "You don't have the correct CMSSW environment!" + echo "Found: $CMSSW_VERSION, need CMSSW_7_1_X" + exit 0 + fi + + echo "Making combined datacards" + + if [[ "$PRETEND" == "1" ]]; then + echo "Pretending to do cards" + exit 0 + fi + + for D in $OUTDIR/T[0-9]*; do + echo "Making combined datacards2" + test -f $D/CnC2015X_2B_ST1_68j_HT1_DPhi05.card.txt || continue + echo "Making combined datacards3" + (cd $D && echo " $D"; + for nB in 1B 2B 3p; do + combineCardsSmart CnC2015X_${nB}_{STDynDP0,STDynDP1,STDynDP2,STDynDP3,STDynDP4,STDynDP5}_6Infj_{HT0,HT1,HT2}_Def.card.txt > CnC2015X_${nB}_standardnJ.card.txt + combineCardsSmart CnC2015X_${nB}_{STDynDP0,STDynDP1,STDynDP2,STDynDP3,STDynDP4,STDynDP5}_{68j,9Infj}_{HT0,HT1,HT2}_Def.card.txt > CnC2015X_${nB}_finenJ.card.txt + + done + combineCardsSmart CnC2015X_{1B,2B,3p}_standardnJ.card.txt > CnC2015X_standardnJ.card.txt # standard nJet-binning; HT-binning + combineCardsSmart CnC2015X_{1B,2B,3p}_finenJ.card.txt > CnC2015X_finenJ.card.txt #fine nJet-binning; HT-binning + + combineCardsSmart CnC2015X_{1B,2B,3p}_{ST0,ST1,ST2,ST3,ST4,ST5}_{68j,9Infj}_{HT0,HT1,HT2}_DPhi05.card.txt > CnC2015X_Dphi05.card.txt #fine nJet-binning; HT-binning; DPhi>0.5 + combineCardsSmart CnC2015X_{1B,2B,3p}_{ST0,ST1,ST2,ST3,ST4,ST5}_{68j,9Infj}_{HT0,HT1,HT2}_Stop.card.txt > CnC2015X_STop.card.txt #fine nJet-binning; HT-binning; single topness only + combineCardsSmart CnC2015X_{1B,2Btop,3p}_{ST0,ST1,ST2,ST3,ST4,ST5}_{68j,9Infj}_{HT0,HT1,HT2}_Stop.card.txt > CnC2015X_STop_Top2B.card.txt #fine nJet-binning; HT-binning; use topness for 2B + combineCardsSmart CnC2015X_{1B,2Btop,3p}_{ST0,ST1,ST2,ST3,ST4,ST5}_{68j,9Infj}_{HT0,HT1,HT2}_LowLepPtStop.card.txt > CnC2015X_LowLepPtStop.card.txt #fine nJet-binning; HT-binning; use topness for 2B + + + + #merge everything to be able to parse easily the datacards + combineCardsSmart CnC2015X_{1p,1B,2B,3p}_{ST0,ST1,ST2,ST3,ST4,ST5}_{68j,6Infj,9Infj}_{HT0,HT1,HT2}_DPhi00.card.txt > CnC2015X_ForYieldComparisons_DPhi00.card.txt + combineCardsSmart CnC2015X_{1p,1B,2B,3p}_{ST0,ST1,ST2,ST3,ST4,ST5}_{68j,6Infj,9Infj}_{HT0,HT1,HT2}_DPhi05.card.txt > CnC2015X_ForYieldComparisons_DPhi05.card.txt + combineCardsSmart CnC2015X_{1p,1B,2B,3p}_{ST0,ST1,ST2,ST3,ST4,ST5}_{68j,6Infj,9Infj}_{HT0,HT1,HT2}_DPhi075.card.txt > CnC2015X_ForYieldComparisons_DPhi075.card.txt + combineCardsSmart CnC2015X_{1p,1B,2B,3p}_{ST0,ST1,ST2,ST3,ST4,ST5}_{68j,6Infj,9Infj}_{HT0,HT1,HT2}_DPhi10.card.txt > CnC2015X_ForYieldComparisons_DPhi10.card.txt + combineCardsSmart CnC2015X_{1p,1B,2B,3p}_{STDynDP0,STDynDP1,STDynDP2,STDynDP3,STDynDP4,STDynDP5}_{68j,6Infj,9Infj}_{HT0,HT1,HT2}_Def.card.txt > CnC2015X_ForYieldComparisons_DynamicDPhi.card.txt + + combineCardsSmart CnC2015X_{1p,1B,2B,3p}_{ST0,ST1,ST2,ST3,ST4,ST5}_{68j,6Infj,9Infj}_{HT0,HT1,HT2}_Stop.card.txt > CnC2015X_ForYieldComparisons_Stop.card.txt + combineCardsSmart CnC2015X_{1p,1B,2B,3p}_{ST0,ST1,ST2,ST3,ST4,ST5}_{68j,6Infj,9Infj}_{HT0,HT1,HT2}_Top.card.txt > CnC2015X_ForYieldComparisons_Top.card.txt + + ) + done +fi + +echo "Done at $(date)"; diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/make_susy_cards_old.sh b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/make_susy_cards_old.sh new file mode 100644 index 000000000000..994ef182fbe0 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/make_susy_cards_old.sh @@ -0,0 +1,198 @@ +#!/bin/bash + +if [[ "$1" == "afs" ]]; then + T="/afs/cern.ch/work/g/gpetrucc/TREES_72X_040115"; + J=4; +elif [[ "$1" == "SingleLepAFS" ]]; then +# T="/afs/cern.ch/work/k/kirschen/public/PlotExampleSamples/V2"; + T="/afs/cern.ch/work/k/kirschen/public/PlotExampleSamples/V3"; + J=4; +elif [[ "$HOSTNAME" == "cmsphys10" ]]; then + T="/data/g/gpetrucc/TREES_72X_040115"; + J=8; +else + T="/afs/cern.ch/work/g/gpetrucc/TREES_72X_040115"; + J=4; +fi + +LUMI=4.0 +OUTDIR="susy_cards_1l_4fb" +#OPTIONS=" -P $T -j $J -l $LUMI -f --s2v --tree treeProducerSusyMultilepton --od $OUTDIR --asimov " +#OPTIONS=" $OPTIONS -F sf/t $T/0_lepMVA_v1/evVarFriend_{cname}.root " +OPTIONS=" -P $T -j $J -l $LUMI -f --s2v --tree treeProducerSusySingleLepton --od $OUTDIR --asimov " + + +function makeCard_1l { + local EXPR=$1; local BINS=$2; local SYSTS=$3; local OUT=$4; local GO=$5 + + # b-jet cuts + case $nB in + 0B) GO="${GO} -R 1nB 0nB nBJetCMVAMedium30==0 " ;; + 1B) GO="${GO} -R 1nB 1nB nBJetCMVAMedium30==1 " ;; + 2B) GO="${GO} -R 1nB 2nB nBJetCMVAMedium30==2 " ;; + 2Btop) GO="${GO} -R 1nB 2nB nBJetCMVAMedium30==2&&Topness>5 " ;; + 3p) GO="${GO} -R 1nB 3nBp nBJetCMVAMedium30>=3 " ;; + esac; + + # ST categories + case $ST in + ST0) GO="${GO} -R st200 st200250 LepGood_pt[tightLepsIdx[0]]+met_pt>200&&LepGood_pt[tightLepsIdx[0]]+met_pt<250 " ;; + ST1) GO="${GO} -R st200 st250350 LepGood_pt[tightLepsIdx[0]]+met_pt>250&&LepGood_pt[tightLepsIdx[0]]+met_pt<350 " ;; + ST2) GO="${GO} -R st200 st350450 LepGood_pt[tightLepsIdx[0]]+met_pt>350&&LepGood_pt[tightLepsIdx[0]]+met_pt<450 " ;; + ST3) GO="${GO} -R st200 st450600 LepGood_pt[tightLepsIdx[0]]+met_pt>450&&LepGood_pt[tightLepsIdx[0]]+met_pt<600 " ;; + ST4) GO="${GO} -R st200 st600Inf LepGood_pt[tightLepsIdx[0]]+met_pt>600 " ;; + esac; + + # jet multiplicities + case $nJ in + 45j) GO="${GO} -R geq6j 45j nCentralJet30>=4&&nCentralJet30<=5" ;; + 68j) GO="${GO} -R geq6j 67j nCentralJet30>=6&&nCentralJet30<=8" ;; + 6Infj) GO="${GO} -R geq6j geq6j nCentralJet30>=6" ;; + 9Infj) GO="${GO} -R geq6j geq8j nCentralJet30>=9" ;; + 68TTj) GO="${GO} -R geq6j 68TTj nCentralJet30+2*nHighPtTopTagPlusTau23>=6&&nCentralJet30+2*nHighPtTopTagPlusTau23<9" ;; + 9InfTTj) GO="${GO} -R geq6j 9InfTTj nCentralJet30+2*nHighPtTopTagPlusTau23>=9" ;; + esac; + + # HT and "R&D" categories + case $HT in + HT0) GO="${GO} -R ht500 ht5001000 htJet30j>500&&htJet30j<1000" ;; + HT1) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000" ;; + HTDPhi) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000 -R dp1 dp05 fabs(DeltaPhiLepW)>0.5 " ;; + HTStop) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000 -R dp1 dp05 fabs(DeltaPhiLepW)>0.5 -A dp1 stopness (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175>1.25" ;; + HTTop) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000 -R dp1 dp05 fabs(DeltaPhiLepW)>0.5 -A dp1 stopness (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175>1.25&&Topness>5" ;; + HTLowLepPt) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000 -R 1tl 1tllowpt nTightLeps==1&&LepGood_pt[tightLepsIdx[0]]<=25 -R dp1 dp00 fabs(DeltaPhiLepW)>0.0 -A dp1 stopness (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175>1.25&&Topness>5" ;; + HTLowLepPtDPhi) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000 -R 1tl 1tllowpt nTightLeps==1&&LepGood_pt[tightLepsIdx[0]]<=25" ;; + HTTTYes) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000&&nHighPtTopTagPlusTau23>=1" ;; + HTTTNo) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000&&nHighPtTopTagPlusTau23==0" ;; + esac; + + if [[ "$PRETEND" == "1" ]]; then + echo "making datacard $OUT from makeShapeCardsSusy.py mca-Phys14_1l.txt bins/1l_CardsFullCutFlow.txt \"$EXPR\" \"$BINS\" $SYSTS $GO --dummyYieldsForZeroBkg;" + else + echo "making datacard $OUT from makeShapeCardsSusy.py mca-Phys14_1l.txt bins/1l_CardsFullCutFlow.txt \"$EXPR\" \"$BINS\" $SYSTS $GO --dummyYieldsForZeroBkg;" + python makeShapeCardsSusy.py mca-Phys14_1l.txt bins/1l_CardsFullCutFlow.txt "$EXPR" "$BINS" $SYSTS -o $OUT $GO --dummyYieldsForZeroBkg; + echo " -- done at $(date)"; + fi; +} + + +function combineCardsSmart { + DummyC=0 + AllC=0 + CMD="" + for C in $*; do + # missing datacards + test -f $C || continue; + + if grep -q "DummyContent" $C; then + echo "empty bin ${C}" >&2 + DummyC=$(($DummyC+1)) + if grep -q "observation 0.0$" $C; then + echo "this is not the way it was intended..." + fi + fi + + grep -q "observation 0.0$" $C && continue + AllC=$((AllC+1)) + CMD="${CMD} $(basename $C .card.txt)=$C "; + done + if [[ "$CMD" == "" ]]; then + echo "Not any card found in $*" 1>&2 ; + else +# echo "combineCards.py $CMD" >&2 + combineCards.py $CMD + fi + if [[ "$DummyC" != "0" ]]; then + echo "In total $DummyC out of $AllC are empty, but taken into account by adding DummyContent." >&2 + fi + #echo "In total $DummyC out of $AllC are empty, but taken into account by adding DummyContent." >&2 +} + +if [[ "$1" == "--pretend" ]]; then + PRETEND=1; shift; +fi; + +if [[ "$2" == "1l-2015" ]]; then + OPTIONS=" $OPTIONS -F sf/t $T/PHYS14_V3_Friend_Batool/evVarFriend_{cname}.root " + + SYSTS="syst/susyDummy.txt" + CnC_expr="1" #not used as of now + CnC_bins="[0.5,1.5]" + + + echo "Making individual datacards" + for ST in ST0 ST1 ST2 ST3 ST4; do for nJ in 68j 6Infj 9Infj; do for nB in 2B 3p; do for HT in HT0 HT1; do +# for ST in ST0 ST1 ST2 ST3 ST4; do for nJ in 45j 68j 6Infj 9Infj 68TTj 9InfTTj; do for nB in 0B 1B 2B 3p; do for HT in HT0 HT1 HTDPhi HTStop HTTop HTLowLepPt HTLowLepPtDPhi HTTTYes HTTTNo; do + echo " --- CnC2015X_${nB}_${ST}_${nJ}_${HT} ---" + makeCard_1l $CnC_expr $CnC_bins $SYSTS CnC2015X_${nB}_${ST}_${nJ}_${HT} "$OPTIONS"; + done; done; done; done + #exit + echo "Making combined datacards" + for D in $OUTDIR/T[0-9]*; do + test -f $D/CnC2015X_2B_ST0_68j_HT0.card.txt || continue + (cd $D && echo " $D"; +# for nB in 0B 1B 2B 3p; do + for nB in 2B 3p; do + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_{HT0,HT1}.card.txt > CnC2015X_${nB}_standardnJ.card.txt + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_{HT0,HT1}.card.txt > CnC2015X_${nB}_finenJ.card.txt + +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HT1.card.txt > CnC2015X_${nB}_standardnJ_HT1.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTLowLepPt.card.txt > CnC2015X_${nB}_standardnJ_HTLowLepPt.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTLowLepPtDPhi.card.txt > CnC2015X_${nB}_standardnJ_HTLowLepPtDPhi.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTDPhi.card.txt > CnC2015X_${nB}_standardnJ_HTDPhi.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTStop.card.txt > CnC2015X_${nB}_standardnJ_HTStop.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTTop.card.txt > CnC2015X_${nB}_standardnJ_HTTop.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_{HTTTYes,HTTTNo}.card.txt > CnC2015X_${nB}_standardnJ_HTTTYesNo.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTTTYes.card.txt > CnC2015X_${nB}_standardnJ_HTTTYes.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTTTNo.card.txt > CnC2015X_${nB}_standardnJ_HTTTNo.card.txt # only high HT +# +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HT1.card.txt > CnC2015X_${nB}_finenJ_HT1.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTLowLepPt.card.txt > CnC2015X_${nB}_finenJ_HTLowLepPt.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTLowLepPtDPhi.card.txt > CnC2015X_${nB}_finenJ_HTLowLepPtDPhi.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTDPhi.card.txt > CnC2015X_${nB}_finenJ_HTDPhi.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTStop.card.txt > CnC2015X_${nB}_finenJ_HTStop.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTTop.card.txt > CnC2015X_${nB}_finenJ_HTTop.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_{HTTTYes,HTTTNo}.card.txt > CnC2015X_${nB}_finenJ_HTTTYesNo.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTTTYes.card.txt > CnC2015X_${nB}_finenJ_HTTTYes.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTTTNo.card.txt > CnC2015X_${nB}_finenJ_HTTTNo.card.txt # only high HT +# +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68TTj,9InfTTj}_HT1.card.txt > CnC2015X_${nB}_finenJ_HT1TT.card.txt # only high HT +# combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68TTj,9InfTTj}_HTTop.card.txt > CnC2015X_${nB}_finenJ_HTTopTT.card.txt # only high HT + done + combineCardsSmart CnC2015X_{2B,3p}_standardnJ.card.txt > CnC2015X_standardnJ.card.txt # standard nJet-binning; HT-binning + combineCardsSmart CnC2015X_{2B,3p}_finenJ.card.txt > CnC2015X_finenJ.card.txt #fine nJet-binning; HT-binning + +# #standard nJet-binning +# combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HT1.card.txt > CnC2015X_standardnJ_HT1.card.txt # only high HT +# combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTLowLepPt.card.txt > CnC2015X_standardnJ_HTLowLepPt.card.txt #high HT, soft lepton (topness/single topness selection) +# combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTLowLepPtDPhi.card.txt > CnC2015X_standardnJ_HTLowLepPtDPhi.card.txt #hight HT, soft lepton dphi selection +# combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTDPhi.card.txt > CnC2015X_standardnJ_HTDPhi.card.txt # high HT, dphi >0.5 +# combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTStop.card.txt > CnC2015X_standardnJ_HTStop.card.txt # high HT, dphi >0.5 + single topness +# combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTTop.card.txt > CnC2015X_standardnJ_HTTop.card.txt # high HT, dphi >0.5 + single topness + topness +# combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTTTYesNo.card.txt > CnC2015X_standardnJ_HTTTYesNo.card.txt # high HT, high pt-top-tagging yes/no combined +# combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTTTYes.card.txt > CnC2015X_standardnJ_HTTTYes.card.txt # high HT, high pt-top-tagging Yes +# combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTTTNo.card.txt > CnC2015X_standardnJ_HTTTNo.card.txt # high HT, high pt-top-tagging No +# combineCardsSmart CnC2015X_standardnJ_{HT1,HTLowLepPt}.card.txt > CnC2015X_standardnJ_HighLowLepPt.card.txt # high HT, combining hard/soft leptons +# +# # fine nJet-binning +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HT1.card.txt > CnC2015X_finenJ_HT1.card.txt +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTLowLepPt.card.txt > CnC2015X_finenJ_HTLowLepPt.card.txt +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTLowLepPtDPhi.card.txt > CnC2015X_finenJ_HTLowLepPtDPhi.card.txt +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTDPhi.card.txt > CnC2015X_finenJ_HTDPhi.card.txt +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTStop.card.txt > CnC2015X_finenJ_HTStop.card.txt +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTTop.card.txt > CnC2015X_finenJ_HTTop.card.txt +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTTTYesNo.card.txt > CnC2015X_finenJ_HTTTYesNo.card.txt +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTTTYes.card.txt > CnC2015X_finenJ_HTTTYes.card.txt +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTTTNo.card.txt > CnC2015X_finenJ_HTTTNo.card.txt +# combineCardsSmart CnC2015X_finenJ_{HT1,HTLowLepPt}.card.txt > CnC2015X_finenJ_HighLowLepPt.card.txt # high HT, combining hard/soft leptons +# +# #extra +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HT1TT.card.txt > CnC2015X_finenJ_HT1TT.card.txt # high HT, modified jet multiplicity (adding 2*nHighPtTopTagPlusTau23) +# combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTTopTT.card.txt > CnC2015X_finenJ_HTTopTT.card.txt # high HT, modified jet multiplicity (adding 2*nHighPtTopTagPlusTau23) and dphi >0.5 + single topness + topness + + ) + done + echo "Done at $(date)"; + +fi + diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/syst/susyDummy.txt b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/syst/susyDummy.txt new file mode 100644 index 000000000000..776c53f9a790 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/syst/susyDummy.txt @@ -0,0 +1,3 @@ +FlatBkg : ^(?!Dummy)(?!T[0-9]) : .* : 1.30 +Signal : T[0-9].* : .* : 1.20 +ZeroBkgExtraSys : DummyContent : .* : 2.00 diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/tabulate.py b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/tabulate.py new file mode 100755 index 000000000000..4f9299e547c7 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/limits/tabulate.py @@ -0,0 +1,1113 @@ +# -*- coding: utf-8 -*- + +"""Pretty-print tabular data.""" + +from __future__ import print_function +from __future__ import unicode_literals +from collections import namedtuple +from platform import python_version_tuple +import re + + +if python_version_tuple()[0] < "3": + from itertools import izip_longest + from functools import partial + _none_type = type(None) + _int_type = int + _long_type = long + _float_type = float + _text_type = unicode + _binary_type = str + + def _is_file(f): + return isinstance(f, file) + +else: + from itertools import zip_longest as izip_longest + from functools import reduce, partial + _none_type = type(None) + _int_type = int + _long_type = int + _float_type = float + _text_type = str + _binary_type = bytes + + import io + def _is_file(f): + return isinstance(f, io.IOBase) + + +__all__ = ["tabulate", "tabulate_formats", "simple_separated_format"] +__version__ = "0.7.6-dev" + + +MIN_PADDING = 2 + + +Line = namedtuple("Line", ["begin", "hline", "sep", "end"]) + + +DataRow = namedtuple("DataRow", ["begin", "sep", "end"]) + + +# A table structure is suppposed to be: +# +# --- lineabove --------- +# headerrow +# --- linebelowheader --- +# datarow +# --- linebewteenrows --- +# ... (more datarows) ... +# --- linebewteenrows --- +# last datarow +# --- linebelow --------- +# +# TableFormat's line* elements can be +# +# - either None, if the element is not used, +# - or a Line tuple, +# - or a function: [col_widths], [col_alignments] -> string. +# +# TableFormat's *row elements can be +# +# - either None, if the element is not used, +# - or a DataRow tuple, +# - or a function: [cell_values], [col_widths], [col_alignments] -> string. +# +# padding (an integer) is the amount of white space around data values. +# +# with_header_hide: +# +# - either None, to display all table elements unconditionally, +# - or a list of elements not to be displayed if the table has column headers. +# +TableFormat = namedtuple("TableFormat", ["lineabove", "linebelowheader", + "linebetweenrows", "linebelow", + "headerrow", "datarow", + "padding", "with_header_hide"]) + + +def _pipe_segment_with_colons(align, colwidth): + """Return a segment of a horizontal line with optional colons which + indicate column's alignment (as in `pipe` output format).""" + w = colwidth + if align in ["right", "decimal"]: + return ('-' * (w - 1)) + ":" + elif align == "center": + return ":" + ('-' * (w - 2)) + ":" + elif align == "left": + return ":" + ('-' * (w - 1)) + else: + return '-' * w + + +def _pipe_line_with_colons(colwidths, colaligns): + """Return a horizontal line with optional colons to indicate column's + alignment (as in `pipe` output format).""" + segments = [_pipe_segment_with_colons(a, w) for a, w in zip(colaligns, colwidths)] + return "|" + "|".join(segments) + "|" + + +def _mediawiki_row_with_attrs(separator, cell_values, colwidths, colaligns): + alignment = { "left": '', + "right": 'align="right"| ', + "center": 'align="center"| ', + "decimal": 'align="right"| ' } + # hard-coded padding _around_ align attribute and value together + # rather than padding parameter which affects only the value + values_with_attrs = [' ' + alignment.get(a, '') + c + ' ' + for c, a in zip(cell_values, colaligns)] + colsep = separator*2 + return (separator + colsep.join(values_with_attrs)).rstrip() + + +def _html_row_with_attrs(celltag, cell_values, colwidths, colaligns): + alignment = { "left": '', + "right": ' style="text-align: right;"', + "center": ' style="text-align: center;"', + "decimal": ' style="text-align: right;"' } + values_with_attrs = ["<{0}{1}>{2}".format(celltag, alignment.get(a, ''), c) + for c, a in zip(cell_values, colaligns)] + return "
" + "".join(values_with_attrs).rstrip() + "
" + +def _moin_row_with_attrs(celltag, cell_values, colwidths, colaligns, header=''): + alignment = { "left": '', + "right": '', + "center": '', + "decimal": '' } + values_with_attrs = ["{0}{1} {2} ".format(celltag, + alignment.get(a, ''), + header+c+header) + for c, a in zip(cell_values, colaligns)] + return "".join(values_with_attrs)+"||" + +def _latex_line_begin_tabular(colwidths, colaligns, booktabs=False): + alignment = { "left": "l", "right": "r", "center": "c", "decimal": "r" } + tabular_columns_fmt = "".join([alignment.get(a, "l") for a in colaligns]) + return "\n".join(["\\begin{tabular}{" + tabular_columns_fmt + "}", + "\\toprule" if booktabs else "\hline"]) + +LATEX_ESCAPE_RULES = {r"&": r"\&", r"%": r"\%", r"$": r"\$", r"#": r"\#", + r"_": r"\_", r"^": r"\^{}", r"{": r"\{", r"}": r"\}", + r"~": r"\textasciitilde{}", "\\": r"\textbackslash{}", + r"<": r"\ensuremath{<}", r">": r"\ensuremath{>}"} + + +def _latex_row(cell_values, colwidths, colaligns): + def escape_char(c): + return LATEX_ESCAPE_RULES.get(c, c) + escaped_values = ["".join(map(escape_char, cell)) for cell in cell_values] + rowfmt = DataRow("", "&", "\\\\") + return _build_simple_row(escaped_values, rowfmt) + + +_table_formats = {"simple": + TableFormat(lineabove=Line("", "-", " ", ""), + linebelowheader=Line("", "-", " ", ""), + linebetweenrows=None, + linebelow=Line("", "-", " ", ""), + headerrow=DataRow("", " ", ""), + datarow=DataRow("", " ", ""), + padding=0, + with_header_hide=["lineabove", "linebelow"]), + "plain": + TableFormat(lineabove=None, linebelowheader=None, + linebetweenrows=None, linebelow=None, + headerrow=DataRow("", " ", ""), + datarow=DataRow("", " ", ""), + padding=0, with_header_hide=None), + "grid": + TableFormat(lineabove=Line("+", "-", "+", "+"), + linebelowheader=Line("+", "=", "+", "+"), + linebetweenrows=Line("+", "-", "+", "+"), + linebelow=Line("+", "-", "+", "+"), + headerrow=DataRow("|", "|", "|"), + datarow=DataRow("|", "|", "|"), + padding=1, with_header_hide=None), + "fancy_grid": + TableFormat(lineabove=Line("â•’", "â•", "╤", "â••"), + linebelowheader=Line("╞", "â•", "╪", "â•¡"), + linebetweenrows=Line("├", "─", "┼", "┤"), + linebelow=Line("╘", "â•", "â•§", "â•›"), + headerrow=DataRow("│", "│", "│"), + datarow=DataRow("│", "│", "│"), + padding=1, with_header_hide=None), + "pipe": + TableFormat(lineabove=_pipe_line_with_colons, + linebelowheader=_pipe_line_with_colons, + linebetweenrows=None, + linebelow=None, + headerrow=DataRow("|", "|", "|"), + datarow=DataRow("|", "|", "|"), + padding=1, + with_header_hide=["lineabove"]), + "orgtbl": + TableFormat(lineabove=None, + linebelowheader=Line("|", "-", "+", "|"), + linebetweenrows=None, + linebelow=None, + headerrow=DataRow("|", "|", "|"), + datarow=DataRow("|", "|", "|"), + padding=1, with_header_hide=None), + "jira": + TableFormat(lineabove=None, + linebelowheader=None, + linebetweenrows=None, + linebelow=None, + headerrow=DataRow("||", "||", "||"), + datarow=DataRow("|", "|", "|"), + padding=1, with_header_hide=None), + "psql": + TableFormat(lineabove=Line("+", "-", "+", "+"), + linebelowheader=Line("|", "-", "+", "|"), + linebetweenrows=None, + linebelow=Line("+", "-", "+", "+"), + headerrow=DataRow("|", "|", "|"), + datarow=DataRow("|", "|", "|"), + padding=1, with_header_hide=None), + "rst": + TableFormat(lineabove=Line("", "=", " ", ""), + linebelowheader=Line("", "=", " ", ""), + linebetweenrows=None, + linebelow=Line("", "=", " ", ""), + headerrow=DataRow("", " ", ""), + datarow=DataRow("", " ", ""), + padding=0, with_header_hide=None), + "mediawiki": + TableFormat(lineabove=Line("{| class=\"wikitable\" style=\"text-align: left;\"", + "", "", "\n|+ \n|-"), + linebelowheader=Line("|-", "", "", ""), + linebetweenrows=Line("|-", "", "", ""), + linebelow=Line("|}", "", "", ""), + headerrow=partial(_mediawiki_row_with_attrs, "!"), + datarow=partial(_mediawiki_row_with_attrs, "|"), + padding=0, with_header_hide=None), + "moinmoin": + TableFormat(lineabove=None, + linebelowheader=None, + linebetweenrows=None, + linebelow=None, + headerrow=partial(_moin_row_with_attrs,"||",header="'''"), + datarow=partial(_moin_row_with_attrs,"||"), + padding=1, with_header_hide=None), + "html": + TableFormat(lineabove=Line("
", "", "", ""), + linebelowheader=None, + linebetweenrows=None, + linebelow=Line("
", "", "", ""), + headerrow=partial(_html_row_with_attrs, "th"), + datarow=partial(_html_row_with_attrs, "td"), + padding=0, with_header_hide=None), + "latex": + TableFormat(lineabove=_latex_line_begin_tabular, + linebelowheader=Line("\\hline", "", "", ""), + linebetweenrows=None, + linebelow=Line("\\hline\n\\end{tabular}", "", "", ""), + headerrow=_latex_row, + datarow=_latex_row, + padding=1, with_header_hide=None), + "latex_booktabs": + TableFormat(lineabove=partial(_latex_line_begin_tabular, booktabs=True), + linebelowheader=Line("\\midrule", "", "", ""), + linebetweenrows=None, + linebelow=Line("\\bottomrule\n\\end{tabular}", "", "", ""), + headerrow=_latex_row, + datarow=_latex_row, + padding=1, with_header_hide=None), + "tsv": + TableFormat(lineabove=None, linebelowheader=None, + linebetweenrows=None, linebelow=None, + headerrow=DataRow("", "\t", ""), + datarow=DataRow("", "\t", ""), + padding=0, with_header_hide=None)} + + +tabulate_formats = list(sorted(_table_formats.keys())) + + +_invisible_codes = re.compile(r"\x1b\[\d*m|\x1b\[\d*\;\d*\;\d*m") # ANSI color codes +_invisible_codes_bytes = re.compile(b"\x1b\[\d*m|\x1b\[\d*\;\d*\;\d*m") # ANSI color codes + + +def simple_separated_format(separator): + """Construct a simple TableFormat with columns separated by a separator. + + >>> tsv = simple_separated_format("\\t") ; \ + tabulate([["foo", 1], ["spam", 23]], tablefmt=tsv) == 'foo \\t 1\\nspam\\t23' + True + + """ + return TableFormat(None, None, None, None, + headerrow=DataRow('', separator, ''), + datarow=DataRow('', separator, ''), + padding=0, with_header_hide=None) + + +def _isconvertible(conv, string): + try: + n = conv(string) + return True + except (ValueError, TypeError): + return False + + +def _isnumber(string): + """ + >>> _isnumber("123.45") + True + >>> _isnumber("123") + True + >>> _isnumber("spam") + False + """ + return _isconvertible(float, string) + + +def _isint(string, inttype=int): + """ + >>> _isint("123") + True + >>> _isint("123.45") + False + """ + return type(string) is inttype or\ + (isinstance(string, _binary_type) or isinstance(string, _text_type))\ + and\ + _isconvertible(inttype, string) + + +def _type(string, has_invisible=True): + """The least generic type (type(None), int, float, str, unicode). + + >>> _type(None) is type(None) + True + >>> _type("foo") is type("") + True + >>> _type("1") is type(1) + True + >>> _type('\x1b[31m42\x1b[0m') is type(42) + True + >>> _type('\x1b[31m42\x1b[0m') is type(42) + True + + """ + + if has_invisible and \ + (isinstance(string, _text_type) or isinstance(string, _binary_type)): + string = _strip_invisible(string) + + if string is None: + return _none_type + elif hasattr(string, "isoformat"): # datetime.datetime, date, and time + return _text_type + elif _isint(string): + return int + elif _isint(string, _long_type): + return _long_type + elif _isnumber(string): + return float + elif isinstance(string, _binary_type): + return _binary_type + else: + return _text_type + + +def _afterpoint(string): + """Symbols after a decimal point, -1 if the string lacks the decimal point. + + >>> _afterpoint("123.45") + 2 + >>> _afterpoint("1001") + -1 + >>> _afterpoint("eggs") + -1 + >>> _afterpoint("123e45") + 2 + + """ + if _isnumber(string): + if _isint(string): + return -1 + else: + pos = string.rfind(".") + pos = string.lower().rfind("e") if pos < 0 else pos + if pos >= 0: + return len(string) - pos - 1 + else: + return -1 # no point + else: + return -1 # not a number + + +def _padleft(width, s, has_invisible=True): + """Flush right. + + >>> _padleft(6, '\u044f\u0439\u0446\u0430') == ' \u044f\u0439\u0446\u0430' + True + + """ + iwidth = width + len(s) - len(_strip_invisible(s)) if has_invisible else width + fmt = "{0:>%ds}" % iwidth + return fmt.format(s) + + +def _padright(width, s, has_invisible=True): + """Flush left. + + >>> _padright(6, '\u044f\u0439\u0446\u0430') == '\u044f\u0439\u0446\u0430 ' + True + + """ + iwidth = width + len(s) - len(_strip_invisible(s)) if has_invisible else width + fmt = "{0:<%ds}" % iwidth + return fmt.format(s) + + +def _padboth(width, s, has_invisible=True): + """Center string. + + >>> _padboth(6, '\u044f\u0439\u0446\u0430') == ' \u044f\u0439\u0446\u0430 ' + True + + """ + iwidth = width + len(s) - len(_strip_invisible(s)) if has_invisible else width + fmt = "{0:^%ds}" % iwidth + return fmt.format(s) + + +def _strip_invisible(s): + "Remove invisible ANSI color codes." + if isinstance(s, _text_type): + return re.sub(_invisible_codes, "", s) + else: # a bytestring + return re.sub(_invisible_codes_bytes, "", s) + + +def _visible_width(s): + """Visible width of a printed string. ANSI color codes are removed. + + >>> _visible_width('\x1b[31mhello\x1b[0m'), _visible_width("world") + (5, 5) + + """ + if isinstance(s, _text_type) or isinstance(s, _binary_type): + return len(_strip_invisible(s)) + else: + return len(_text_type(s)) + + +def _align_column(strings, alignment, minwidth=0, has_invisible=True): + """[string] -> [padded_string] + + >>> list(map(str,_align_column(["12.345", "-1234.5", "1.23", "1234.5", "1e+234", "1.0e234"], "decimal"))) + [' 12.345 ', '-1234.5 ', ' 1.23 ', ' 1234.5 ', ' 1e+234 ', ' 1.0e234'] + + >>> list(map(str,_align_column(['123.4', '56.7890'], None))) + ['123.4', '56.7890'] + + """ + if alignment == "right": + strings = [s.strip() for s in strings] + padfn = _padleft + elif alignment == "center": + strings = [s.strip() for s in strings] + padfn = _padboth + elif alignment == "decimal": + if has_invisible: + decimals = [_afterpoint(_strip_invisible(s)) for s in strings] + else: + decimals = [_afterpoint(s) for s in strings] + maxdecimals = max(decimals) + strings = [s + (maxdecimals - decs) * " " + for s, decs in zip(strings, decimals)] + padfn = _padleft + elif not alignment: + return strings + else: + strings = [s.strip() for s in strings] + padfn = _padright + + if has_invisible: + width_fn = _visible_width + else: + width_fn = len + + maxwidth = max(max(map(width_fn, strings)), minwidth) + padded_strings = [padfn(maxwidth, s, has_invisible) for s in strings] + return padded_strings + + +def _more_generic(type1, type2): + types = { _none_type: 0, int: 1, float: 2, _binary_type: 3, _text_type: 4 } + invtypes = { 4: _text_type, 3: _binary_type, 2: float, 1: int, 0: _none_type } + moregeneric = max(types.get(type1, 4), types.get(type2, 4)) + return invtypes[moregeneric] + + +def _column_type(strings, has_invisible=True): + """The least generic type all column values are convertible to. + + >>> _column_type(["1", "2"]) is _int_type + True + >>> _column_type(["1", "2.3"]) is _float_type + True + >>> _column_type(["1", "2.3", "four"]) is _text_type + True + >>> _column_type(["four", '\u043f\u044f\u0442\u044c']) is _text_type + True + >>> _column_type([None, "brux"]) is _text_type + True + >>> _column_type([1, 2, None]) is _int_type + True + >>> import datetime as dt + >>> _column_type([dt.datetime(1991,2,19), dt.time(17,35)]) is _text_type + True + + """ + types = [_type(s, has_invisible) for s in strings ] + return reduce(_more_generic, types, int) + + +def _format(val, valtype, floatfmt, missingval="", has_invisible=True): + """Format a value accoding to its type. + + Unicode is supported: + + >>> hrow = ['\u0431\u0443\u043a\u0432\u0430', '\u0446\u0438\u0444\u0440\u0430'] ; \ + tbl = [['\u0430\u0437', 2], ['\u0431\u0443\u043a\u0438', 4]] ; \ + good_result = '\\u0431\\u0443\\u043a\\u0432\\u0430 \\u0446\\u0438\\u0444\\u0440\\u0430\\n------- -------\\n\\u0430\\u0437 2\\n\\u0431\\u0443\\u043a\\u0438 4' ; \ + tabulate(tbl, headers=hrow) == good_result + True + + """ + if val is None: + return missingval + + if valtype in [int, _long_type, _text_type]: + return "{0}".format(val) + elif valtype is _binary_type: + try: + return _text_type(val, "ascii") + except TypeError: + return _text_type(val) + elif valtype is float: + is_a_colored_number = has_invisible and isinstance(val, (_text_type, _binary_type)) + if is_a_colored_number: + raw_val = _strip_invisible(val) + formatted_val = format(float(raw_val), floatfmt) + return val.replace(raw_val, formatted_val) + else: + return format(float(val), floatfmt) + else: + return "{0}".format(val) + + +def _align_header(header, alignment, width): + if alignment == "left": + return _padright(width, header) + elif alignment == "center": + return _padboth(width, header) + elif not alignment: + return "{0}".format(header) + else: + return _padleft(width, header) + + +def _normalize_tabular_data(tabular_data, headers): + """Transform a supported data type to a list of lists, and a list of headers. + + Supported tabular data types: + + * list-of-lists or another iterable of iterables + + * list of named tuples (usually used with headers="keys") + + * list of dicts (usually used with headers="keys") + + * list of OrderedDicts (usually used with headers="keys") + + * 2D NumPy arrays + + * NumPy record arrays (usually used with headers="keys") + + * dict of iterables (usually used with headers="keys") + + * pandas.DataFrame (usually used with headers="keys") + + The first row can be used as headers if headers="firstrow", + column indices can be used as headers if headers="keys". + + """ + + if hasattr(tabular_data, "keys") and hasattr(tabular_data, "values"): + # dict-like and pandas.DataFrame? + if hasattr(tabular_data.values, "__call__"): + # likely a conventional dict + keys = tabular_data.keys() + rows = list(izip_longest(*tabular_data.values())) # columns have to be transposed + elif hasattr(tabular_data, "index"): + # values is a property, has .index => it's likely a pandas.DataFrame (pandas 0.11.0) + keys = tabular_data.keys() + vals = tabular_data.values # values matrix doesn't need to be transposed + names = tabular_data.index + rows = [[v]+list(row) for v,row in zip(names, vals)] + else: + raise ValueError("tabular data doesn't appear to be a dict or a DataFrame") + + if headers == "keys": + headers = list(map(_text_type,keys)) # headers should be strings + + else: # it's a usual an iterable of iterables, or a NumPy array + rows = list(tabular_data) + + if (headers == "keys" and + hasattr(tabular_data, "dtype") and + getattr(tabular_data.dtype, "names")): + # numpy record array + headers = tabular_data.dtype.names + elif (headers == "keys" + and len(rows) > 0 + and isinstance(rows[0], tuple) + and hasattr(rows[0], "_fields")): + # namedtuple + headers = list(map(_text_type, rows[0]._fields)) + elif (len(rows) > 0 + and isinstance(rows[0], dict)): + # dict or OrderedDict + uniq_keys = set() # implements hashed lookup + keys = [] # storage for set + if headers == "firstrow": + firstdict = rows[0] if len(rows) > 0 else {} + keys.extend(firstdict.keys()) + uniq_keys.update(keys) + rows = rows[1:] + for row in rows: + for k in row.keys(): + #Save unique items in input order + if k not in uniq_keys: + keys.append(k) + uniq_keys.add(k) + if headers == 'keys': + headers = keys + elif isinstance(headers, dict): + # a dict of headers for a list of dicts + headers = [headers.get(k, k) for k in keys] + headers = list(map(_text_type, headers)) + elif headers == "firstrow": + if len(rows) > 0: + headers = [firstdict.get(k, k) for k in keys] + headers = list(map(_text_type, headers)) + else: + headers = [] + elif headers: + raise ValueError('headers for a list of dicts is not a dict or a keyword') + rows = [[row.get(k) for k in keys] for row in rows] + elif headers == "keys" and len(rows) > 0: + # keys are column indices + headers = list(map(_text_type, range(len(rows[0])))) + + # take headers from the first row if necessary + if headers == "firstrow" and len(rows) > 0: + headers = list(map(_text_type, rows[0])) # headers should be strings + rows = rows[1:] + + headers = list(map(_text_type,headers)) + rows = list(map(list,rows)) + + # pad with empty headers for initial columns if necessary + if headers and len(rows) > 0: + nhs = len(headers) + ncols = len(rows[0]) + if nhs < ncols: + headers = [""]*(ncols - nhs) + headers + + return rows, headers + + +def tabulate(tabular_data, headers=(), tablefmt="simple", + floatfmt="g", numalign="decimal", stralign="left", + missingval=""): + """Format a fixed width table for pretty printing. + + >>> print(tabulate([[1, 2.34], [-56, "8.999"], ["2", "10001"]])) + --- --------- + 1 2.34 + -56 8.999 + 2 10001 + --- --------- + + The first required argument (`tabular_data`) can be a + list-of-lists (or another iterable of iterables), a list of named + tuples, a dictionary of iterables, an iterable of dictionaries, + a two-dimensional NumPy array, NumPy record array, or a Pandas' + dataframe. + + + Table headers + ------------- + + To print nice column headers, supply the second argument (`headers`): + + - `headers` can be an explicit list of column headers + - if `headers="firstrow"`, then the first row of data is used + - if `headers="keys"`, then dictionary keys or column indices are used + + Otherwise a headerless table is produced. + + If the number of headers is less than the number of columns, they + are supposed to be names of the last columns. This is consistent + with the plain-text format of R and Pandas' dataframes. + + >>> print(tabulate([["sex","age"],["Alice","F",24],["Bob","M",19]], + ... headers="firstrow")) + sex age + ----- ----- ----- + Alice F 24 + Bob M 19 + + + Column alignment + ---------------- + + `tabulate` tries to detect column types automatically, and aligns + the values properly. By default it aligns decimal points of the + numbers (or flushes integer numbers to the right), and flushes + everything else to the left. Possible column alignments + (`numalign`, `stralign`) are: "right", "center", "left", "decimal" + (only for `numalign`), and None (to disable alignment). + + + Table formats + ------------- + + `floatfmt` is a format specification used for columns which + contain numeric data with a decimal point. + + `None` values are replaced with a `missingval` string: + + >>> print(tabulate([["spam", 1, None], + ... ["eggs", 42, 3.14], + ... ["other", None, 2.7]], missingval="?")) + ----- -- ---- + spam 1 ? + eggs 42 3.14 + other ? 2.7 + ----- -- ---- + + Various plain-text table formats (`tablefmt`) are supported: + 'plain', 'simple', 'grid', 'pipe', 'orgtbl', 'rst', 'mediawiki', + 'latex', and 'latex_booktabs'. Variable `tabulate_formats` contains the list of + currently supported formats. + + "plain" format doesn't use any pseudographics to draw tables, + it separates columns with a double space: + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], + ... ["strings", "numbers"], "plain")) + strings numbers + spam 41.9999 + eggs 451 + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], tablefmt="plain")) + spam 41.9999 + eggs 451 + + "simple" format is like Pandoc simple_tables: + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], + ... ["strings", "numbers"], "simple")) + strings numbers + --------- --------- + spam 41.9999 + eggs 451 + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], tablefmt="simple")) + ---- -------- + spam 41.9999 + eggs 451 + ---- -------- + + "grid" is similar to tables produced by Emacs table.el package or + Pandoc grid_tables: + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], + ... ["strings", "numbers"], "grid")) + +-----------+-----------+ + | strings | numbers | + +===========+===========+ + | spam | 41.9999 | + +-----------+-----------+ + | eggs | 451 | + +-----------+-----------+ + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], tablefmt="grid")) + +------+----------+ + | spam | 41.9999 | + +------+----------+ + | eggs | 451 | + +------+----------+ + + "fancy_grid" draws a grid using box-drawing characters: + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], + ... ["strings", "numbers"], "fancy_grid")) + â•’â•â•â•â•â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•â•â•â•â•• + │ strings │ numbers │ + ╞â•â•â•â•â•â•â•â•â•â•â•╪â•â•â•â•â•â•â•â•â•â•â•â•¡ + │ spam │ 41.9999 │ + ├───────────┼───────────┤ + │ eggs │ 451 │ + ╘â•â•â•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•› + + "pipe" is like tables in PHP Markdown Extra extension or Pandoc + pipe_tables: + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], + ... ["strings", "numbers"], "pipe")) + | strings | numbers | + |:----------|----------:| + | spam | 41.9999 | + | eggs | 451 | + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], tablefmt="pipe")) + |:-----|---------:| + | spam | 41.9999 | + | eggs | 451 | + + "orgtbl" is like tables in Emacs org-mode and orgtbl-mode. They + are slightly different from "pipe" format by not using colons to + define column alignment, and using a "+" sign to indicate line + intersections: + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], + ... ["strings", "numbers"], "orgtbl")) + | strings | numbers | + |-----------+-----------| + | spam | 41.9999 | + | eggs | 451 | + + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], tablefmt="orgtbl")) + | spam | 41.9999 | + | eggs | 451 | + + "rst" is like a simple table format from reStructuredText; please + note that reStructuredText accepts also "grid" tables: + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], + ... ["strings", "numbers"], "rst")) + ========= ========= + strings numbers + ========= ========= + spam 41.9999 + eggs 451 + ========= ========= + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], tablefmt="rst")) + ==== ======== + spam 41.9999 + eggs 451 + ==== ======== + + "mediawiki" produces a table markup used in Wikipedia and on other + MediaWiki-based sites: + + >>> print(tabulate([["strings", "numbers"], ["spam", 41.9999], ["eggs", "451.0"]], + ... headers="firstrow", tablefmt="mediawiki")) + {| class="wikitable" style="text-align: left;" + |+ + |- + ! strings !! align="right"| numbers + |- + | spam || align="right"| 41.9999 + |- + | eggs || align="right"| 451 + |} + + "html" produces HTML markup: + + >>> print(tabulate([["strings", "numbers"], ["spam", 41.9999], ["eggs", "451.0"]], + ... headers="firstrow", tablefmt="html")) + + + + +
strings numbers
spam 41.9999
eggs 451
+ + "latex" produces a tabular environment of LaTeX document markup: + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], tablefmt="latex")) + \\begin{tabular}{lr} + \\hline + spam & 41.9999 \\\\ + eggs & 451 \\\\ + \\hline + \\end{tabular} + + "latex_booktabs" produces a tabular environment of LaTeX document markup + using the booktabs.sty package: + + >>> print(tabulate([["spam", 41.9999], ["eggs", "451.0"]], tablefmt="latex_booktabs")) + \\begin{tabular}{lr} + \\toprule + spam & 41.9999 \\\\ + eggs & 451 \\\\ + \\bottomrule + \end{tabular} + """ + if tabular_data is None: + tabular_data = [] + list_of_lists, headers = _normalize_tabular_data(tabular_data, headers) + + # optimization: look for ANSI control codes once, + # enable smart width functions only if a control code is found + plain_text = '\n'.join(['\t'.join(map(_text_type, headers))] + \ + ['\t'.join(map(_text_type, row)) for row in list_of_lists]) + has_invisible = re.search(_invisible_codes, plain_text) + if has_invisible: + width_fn = _visible_width + else: + width_fn = len + + # format rows and columns, convert numeric values to strings + cols = list(zip(*list_of_lists)) + coltypes = list(map(_column_type, cols)) + cols = [[_format(v, ct, floatfmt, missingval, has_invisible) for v in c] + for c,ct in zip(cols, coltypes)] + + # align columns + aligns = [numalign if ct in [int,float] else stralign for ct in coltypes] + minwidths = [width_fn(h) + MIN_PADDING for h in headers] if headers else [0]*len(cols) + cols = [_align_column(c, a, minw, has_invisible) + for c, a, minw in zip(cols, aligns, minwidths)] + + if headers: + # align headers and add headers + t_cols = cols or [['']] * len(headers) + t_aligns = aligns or [stralign] * len(headers) + minwidths = [max(minw, width_fn(c[0])) for minw, c in zip(minwidths, t_cols)] + headers = [_align_header(h, a, minw) + for h, a, minw in zip(headers, t_aligns, minwidths)] + rows = list(zip(*cols)) + else: + minwidths = [width_fn(c[0]) for c in cols] + rows = list(zip(*cols)) + + if not isinstance(tablefmt, TableFormat): + tablefmt = _table_formats.get(tablefmt, _table_formats["simple"]) + + return _format_table(tablefmt, headers, rows, minwidths, aligns) + + +def _build_simple_row(padded_cells, rowfmt): + "Format row according to DataRow format without padding." + begin, sep, end = rowfmt + return (begin + sep.join(padded_cells) + end).rstrip() + + +def _build_row(padded_cells, colwidths, colaligns, rowfmt): + "Return a string which represents a row of data cells." + if not rowfmt: + return None + if hasattr(rowfmt, "__call__"): + return rowfmt(padded_cells, colwidths, colaligns) + else: + return _build_simple_row(padded_cells, rowfmt) + + +def _build_line(colwidths, colaligns, linefmt): + "Return a string which represents a horizontal line." + if not linefmt: + return None + if hasattr(linefmt, "__call__"): + return linefmt(colwidths, colaligns) + else: + begin, fill, sep, end = linefmt + cells = [fill*w for w in colwidths] + return _build_simple_row(cells, (begin, sep, end)) + + +def _pad_row(cells, padding): + if cells: + pad = " "*padding + padded_cells = [pad + cell + pad for cell in cells] + return padded_cells + else: + return cells + + +def _format_table(fmt, headers, rows, colwidths, colaligns): + """Produce a plain-text representation of the table.""" + lines = [] + hidden = fmt.with_header_hide if (headers and fmt.with_header_hide) else [] + pad = fmt.padding + headerrow = fmt.headerrow + + padded_widths = [(w + 2*pad) for w in colwidths] + padded_headers = _pad_row(headers, pad) + padded_rows = [_pad_row(row, pad) for row in rows] + + if fmt.lineabove and "lineabove" not in hidden: + lines.append(_build_line(padded_widths, colaligns, fmt.lineabove)) + + if padded_headers: + lines.append(_build_row(padded_headers, padded_widths, colaligns, headerrow)) + if fmt.linebelowheader and "linebelowheader" not in hidden: + lines.append(_build_line(padded_widths, colaligns, fmt.linebelowheader)) + + if padded_rows and fmt.linebetweenrows and "linebetweenrows" not in hidden: + # initial rows with a line below + for row in padded_rows[:-1]: + lines.append(_build_row(row, padded_widths, colaligns, fmt.datarow)) + lines.append(_build_line(padded_widths, colaligns, fmt.linebetweenrows)) + # the last row without a line below + lines.append(_build_row(padded_rows[-1], padded_widths, colaligns, fmt.datarow)) + else: + for row in padded_rows: + lines.append(_build_row(row, padded_widths, colaligns, fmt.datarow)) + + if fmt.linebelow and "linebelow" not in hidden: + lines.append(_build_line(padded_widths, colaligns, fmt.linebelow)) + + return "\n".join(lines) + + +def _main(): + """\ + Usage: tabulate [options] [FILE ...] + + Pretty-print tabular data. + See also https://bitbucket.org/astanin/python-tabulate + + FILE a filename of the file with tabular data; + if "-" or missing, read data from stdin. + + Options: + + -h, --help show this message + -1, --header use the first row of data as a table header + -o FILE, --output FILE print table to FILE (default: stdout) + -s REGEXP, --sep REGEXP use a custom column separator (default: whitespace) + -F FPFMT, --float FPFMT floating point number format (default: g) + -f FMT, --format FMT set output table format; supported formats: + plain, simple, grid, fancy_grid, pipe, orgtbl, + rst, mediawiki, html, latex, latex_booktabs, tsv + (default: simple) + """ + import getopt + import sys + import textwrap + usage = textwrap.dedent(_main.__doc__) + try: + opts, args = getopt.getopt(sys.argv[1:], + "h1o:s:F:f:", + ["help", "header", "output", "sep=", "float=", "format="]) + except getopt.GetoptError as e: + print(e) + print(usage) + sys.exit(2) + headers = [] + floatfmt = "g" + tablefmt = "simple" + sep = r"\s+" + outfile = "-" + for opt, value in opts: + if opt in ["-1", "--header"]: + headers = "firstrow" + elif opt in ["-o", "--output"]: + outfile = value + elif opt in ["-F", "--float"]: + floatfmt = value + elif opt in ["-f", "--format"]: + if value not in tabulate_formats: + print("%s is not a supported table format" % value) + print(usage) + sys.exit(3) + tablefmt = value + elif opt in ["-s", "--sep"]: + sep = value + elif opt in ["-h", "--help"]: + print(usage) + sys.exit(0) + files = [sys.stdin] if not args else args + with (sys.stdout if outfile == "-" else open(outfile, "w")) as out: + for f in files: + if f == "-": + f = sys.stdin + if _is_file(f): + _pprint_file(f, headers=headers, tablefmt=tablefmt, + sep=sep, floatfmt=floatfmt, file=out) + else: + with open(f) as fobj: + _pprint_file(fobj, headers=headers, tablefmt=tablefmt, + sep=sep, floatfmt=floatfmt, file=out) + + +def _pprint_file(fobject, headers, tablefmt, sep, floatfmt, file): + rows = fobject.readlines() + table = [re.split(sep, r.rstrip()) for r in rows] + print(tabulate(table, headers, tablefmt, floatfmt=floatfmt), file=file) + + +if __name__ == "__main__": + _main() diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/make_binned_plots.sh b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/make_binned_plots.sh new file mode 100755 index 000000000000..ec4347829a9a --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/make_binned_plots.sh @@ -0,0 +1,174 @@ +#!/bin/bash + + +if [[ "$1" == "SingleLepAFS" ]]; then + shift # shift register + T="/afs/cern.ch/work/k/kirschen/public/PlotExampleSamples/V3"; + FT="/afs/cern.ch/work/k/kirschen/public/PlotExampleSamples/PHYS14_V3_FriendsRefinedIds" + J=4; +elif [[ "$HOSTNAME" == *"lxplus"* ]] ; then + T="/afs/cern.ch/work/k/kirschen/public/PlotExampleSamples/V3"; + FT="/afs/cern.ch/work/a/alobanov/public/SUSY/CMG/CMGtuples/FriendTrees/phys14_v3_btagCSVv2" + J=4; +elif [[ "$1" == "DESYV3" ]] ; then + shift # shift register + T="/nfs/dust/cms/group/susy-desy/Run2/MC/CMGtuples/Phys14_v3/ForCMGplot"; + FT="/nfs/dust/cms/group/susy-desy/Run2/MC/CMGtuples/Phys14_v3/Phys14_V3_Friend_CSVbtag" + J=8; +elif [[ "$HOSTNAME" == *"naf"* ]] ; then + T="/nfs/dust/cms/group/susy-desy/Run2/MC/CMGtuples/Phys14_v3/ForCMGplot"; + FT="/nfs/dust/cms/group/susy-desy/Run2/MC/CMGtuples/Phys14_v3/Phys14_V3_Friend_CSVbtag" + J=8; +else + echo "Didn't specify location!" + echo "Usage: ./susy-1lep/make_binned_plots.sh location analysis STValue" + echo "e.g. ./susy-1lep/make_binned_plots.sh SingleLepAFS 1l-makeBinnedPlots STInc +" + exit 0 +fi + +LUMI=3.0 +OUTDIR="susy_cards_1l_4fb_test" +OPTIONS=" -P $T -j $J -l $LUMI -f --s2v --tree treeProducerSusySingleLepton --print-dir $OUTDIR --noStackSig --showIndivSigShapes --legendWidth 0.3 --lspam \"PHYS14\" --print png" + +# Get current plotter dir +#PLOTDIR="$CMSSW_BASE/src/CMGTools/TTHAnalysis/python/plotter/" +PLOTDIR=$(pwd -P) +PLOTDIR=${PLOTDIR/plotter/plotterX} +PLOTDIR=$(echo $PLOTDIR | cut -d 'X' -f 1 ) + +PLOTDEFINITION="1l_TopnessBasics.txt" + +# Append FriendTree dir +OPTIONS=" $OPTIONS -F sf/t $FT/evVarFriend_{cname}.root " + +function makeBinnedPlots_1l { + local EXPR=$1; local BINS=$2; local SYSTS=$3; local OUT=$4; local GO=$5 + + CutFlowCard="1l_CardsFullCutFlow.txt" +# CutFlowCard="2l_CardsFullCutFlow.txt" + EXTRALABEL="" + + # b-jet cuts + case $nB in + 0B) GO="${GO} -R 1nB 0nB nBJetMedium30==0 "; EXTRALABEL="${EXTRALABEL} nB=0\n" ;; + 1B) GO="${GO} -R 1nB 1nB nBJetMedium30==1 "; EXTRALABEL="${EXTRALABEL} nB=1\n" ;; + 2B) GO="${GO} -R 1nB 2nB nBJetMedium30==2 "; EXTRALABEL="${EXTRALABEL} nB=2\n" ;; + 2Btop) GO="${GO} -R 1nB 2nB nBJetMedium30==2&&Topness>5 "; EXTRALABEL="${EXTRALABEL} nB=2(+topness)\n" ;; + 1p) GO="${GO} -R 1nB 1nBp nBJetMedium30>=1 "; EXTRALABEL="${EXTRALABEL} nB#geq1\n" ;; + 2p) GO="${GO} -R 1nB 2nBp nBJetMedium30>=2 "; EXTRALABEL="${EXTRALABEL} nB#geq2\n" ;; + 3p) GO="${GO} -R 1nB 3nBp nBJetMedium30>=3 "; EXTRALABEL="${EXTRALABEL} nB#geq3\n" ;; + esac; + + # ST categories + case $ST in + STInc) GO="${GO} -R st200 st200Inf ST>200 "; EXTRALABEL="${EXTRALABEL} ST>200 GeV\n" ;; + ST0) GO="${GO} -R st200 st200250 ST>200&&ST<250 "; EXTRALABEL="${EXTRALABEL} 2000.5, single topness, topness, and soft lepton analysis: +# for ST in "$STValue"; do for nJ in 45j 68j 6Infj 9Infj; do for nB in 1p 1B 2B 3p; do for HT in HT0 HT1 HT2; do for RD in Def; do +# for ST in ST0 ST1 ST2 ST3 ST4 ST5; do for nJ in 45j 68j 6Infj 9Infj; do for nB in 1p 1B 2B 2Btop 3p; do for HT in HT0 HT1 HT2; do for RD in DPhi05 Stop LowLepPtStop; do + echo " --- CnC2015X_${nB}_${ST}_${nJ}_${HT}_${RD} ---" + makeBinnedPlots_1l $CnC_expr $CnC_bins $SYSTS CnC2015X_${nB}_${ST}_${nJ}_${HT}_${RD} "$OPTIONS"; + done; done; done; done; done; +# done; + exit 0 +fi + + +echo "Done at $(date)"; diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/qcd-est/makeQCDtemplateFit.py b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/qcd-est/makeQCDtemplateFit.py new file mode 100644 index 000000000000..df5f7c903ac2 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/qcd-est/makeQCDtemplateFit.py @@ -0,0 +1,424 @@ +#!/usr/bin/env python + +import sys +import os + +#tmpArg = sys.argv +#sys.argv = ['-b'] +from ROOT import * +#sys.argv = tmpArg + +_dhStore = {} +_pdfStore = {} +_varStore = {} +_hStore = {} +_canvStore = {} + +def doLegend(): + + leg = TLegend(0.63,0.525,0.87,0.875) + leg.SetBorderSize(1) + leg.SetTextFont(62) + leg.SetTextSize(0.03321678) + leg.SetLineColor(1) + leg.SetLineStyle(1) + leg.SetLineWidth(1) + leg.SetFillColor(0) + leg.SetFillStyle(1001) + + return leg + +def getHistIntError(hist): + # rebin hist to 1 bin and get the error + + htmp = hist.Clone('tmp') + htmp.Rebin(htmp.GetNbinsX()) + + return htmp.GetBinError(1) + +def getVarFromHist(hist, varname): + + minX = hist.GetXaxis().GetXmin(); + maxX = hist.GetXaxis().GetXmax(); + nBins = hist.GetNbinsX(); + + # Create observable + var = RooRealVar(varname, varname, minX, maxX) + var.setBins(nBins); + + return var + +def getPDFfromHist(hist, var): + + hname = hist.GetName() + + # binned dataset + dh = RooDataHist('dh'+hname,'dh'+hname,RooArgList(var),hist) + _dhStore[dh.GetName()] = dh # store dh + # pdf from dh + pdf = RooHistPdf('pdf'+hname,'pdf'+hname,RooArgSet(var),dh,0) + _pdfStore[pdf.GetName()] = pdf + + return pdf + +def getDataFromHist(hist, var, mcData = True): + + hname = hist.GetName() + + # binned dataset + dh = RooDataHist('dh'+hname,'dh'+hname,RooArgList(var),hist) + _dhStore[dh.GetName()] = dh # store dh + + if mcData: + nevents = hist.Integral() + # pdf from dh + pdf = RooHistPdf('pdf'+hname,'pdf'+hname,RooArgSet(var),dh,0) + _pdfStore[pdf.GetName()] = pdf + + # generate toys + data = pdf.generateBinned(RooArgSet(var),nevents,RooFit.Name("pseudoData")) + + return data + + else: + return dh + +def setHistRange(hist, maxX = 2.0, minX = 0.5): + # modifies range by setting bins to zero + + for ibin in range(hist.GetNbinsX()): + if hist.GetBinCenter(ibin) < minX or hist.GetBinCenter(ibin) > maxX: + hist.SetBinContent(ibin,0) + +def getQCDfromFit(dhData, hQCD, hEWK, var): + + # modify range of QCD + #setHistRange(hQCD) + + # get PDFs for QCD and EWK + pdfQCD = getPDFfromHist(hQCD, var) + pdfEWK = getPDFfromHist(hEWK, var) + + _pdfStore[pdfQCD.GetName()] = pdfQCD + _pdfStore[pdfEWK.GetName()] = pdfEWK + + # Number of (pseudo)data events for limits + nevents = dhData.sumEntries() + + # Number of EWK and QCD events as variables + nEWK = RooRealVar("nEWK","#EWK events",nevents,0,2*nevents) + nQCD = RooRealVar("nQCD","#QCD events",nevents,0,2*nevents) + + _varStore['nEWK'] = nEWK + _varStore['nQCD'] = nQCD + + pdfTemplate = RooAddPdf("pdfTemplate","EWK + QCD template",RooArgList(pdfEWK,pdfQCD),RooArgList(nEWK,nQCD)); + + pdfTemplate.fitTo(dhData,RooFit.PrintLevel(-1))#,RooFit.SumW2Error(kTRUE)) + #pdfTemplate.chi2FitTo(dhData,RooLinkedList())#RooFit.SumW2Error(kTRUE)) + + _pdfStore[pdfTemplate.GetName()] = pdfTemplate + + return nQCD#(nQCD.getValV(),nQCD + +def getHistsFromFile(tfile, binname = 'incl', mcData = True): + + # get full BKG, QCD and EWK histos + QCDseleName = 'Lp_sel_'+binname+'_QCD' + QCDantiName = 'Lp_anti_'+binname+'_QCD' + #QCDantiName = 'Lp_anti_incl_QCD' + + hQCDsele = tfile.Get(QCDseleName).Clone('QCDsel_'+binname) + hQCDanti = tfile.Get(QCDantiName).Clone('QCDanti_'+binname) + + _hStore[hQCDsele.GetName()] = hQCDsele + _hStore[hQCDanti.GetName()] = hQCDanti + + EWKselName = 'Lp_sel_'+binname+'_background' + hEWKsele = tfile.Get(EWKselName).Clone('EWKsel_'+binname) + + _hStore[hEWKsele.GetName()] = hEWKsele + + if mcData: + # Create ~DATA~ hist from selected QCD and EWK + hData = hEWKsele.Clone('DataSel_'+binname) + hData.Add(hQCDsele) + else: + # take data histogram + hData = tfile.Get('Lp_sel_'+binname+'_data').Clone('DataSel_'+binname) + + _hStore[hData.GetName()] = hData + + # return data hist, EWK and QCD templates + return (hData,hEWKsele,hQCDsele,hQCDanti) + +def plotHists(binname = 'incl', inclTemplate = False, addHists = True): + + # frame + frame = _varStore['Lp'].frame(RooFit.Title('Lp distributions and fit in bin '+binname)) + + _dhStore['data_'+binname].plotOn(frame,RooFit.Name('data'),RooFit.DataError(RooAbsData.SumW2) )#,RooLinkedList()) + + # plot full template fit + _pdfStore['pdfTemplate'].plotOn(frame,RooFit.LineColor(4),RooFit.Name('FullFit')) + # plot only QCD component + if not inclTemplate: + argset = RooArgSet(_pdfStore['pdfQCDanti_'+binname]) # hack to keep arguments alive + else: + import re + incName = re.sub('ST[0-9]_','',binname) + argset = RooArgSet(_pdfStore['pdfQCDanti_'+incName]) # hack to keep arguments alive + _pdfStore['pdfTemplate'].plotOn(frame,RooFit.Components(argset),RooFit.LineColor(2),RooFit.LineStyle(2),RooFit.Name('QCDfit')) + # plot only EWK + argset2 = RooArgSet(_pdfStore['pdfEWKsel_'+binname]) # hack to keep arguments alive + _pdfStore['pdfTemplate'].plotOn(frame,RooFit.Components(argset2),RooFit.LineColor(3),RooFit.LineStyle(2),RooFit.Name('EWKfit')) + + # PLOT + canv = TCanvas("canv"+binname,"canvas for bin "+binname,800,600) + frame.Draw() + + if addHists: + _hStore['EWKsel_'+binname].SetFillStyle(3001) + _hStore['QCDsel_'+binname].SetFillStyle(3002) + + stack = THStack('hs','hstack') + stack.Add(_hStore['QCDsel_'+binname]) + stack.Add(_hStore['EWKsel_'+binname]) + stack.Draw("histsame") + #_hStore['QCDsel_'+binname].Draw("histsame") + + SetOwnership( stack, 0 ) + #SetOwnership( _hStore['QCDsel_'+binname], 0 ) + #SetOwnership( _hStore['EWKsel_'+binname], 0 ) + #hData.Draw('histsame') + + frame.Draw("same") + + # LEGEND + leg = doLegend() + leg.AddEntry(frame.findObject('data'),'Pseudo Data','lp') + + if addHists: + leg.AddEntry(_hStore['EWKsel_'+binname],'EWK selected','f') + leg.AddEntry(_hStore['QCDsel_'+binname],'QCD selected','f') + + leg.AddEntry(frame.findObject('FullFit'),'Full fit','l') + leg.AddEntry(frame.findObject('QCDfit'),'QCD fit','l') + leg.AddEntry(frame.findObject('EWKfit'),'EWK fit','l') + + leg.Draw() + + SetOwnership( leg, 0 ) + + #for prim in canv.GetListOfPrimitives(): print prim + + gPad.Update() + + if '-b' not in sys.argv: + # wait for input + answ = ['c'] + while 'c' not in answ: + answ.append(raw_input("Enter 'c' to continue: ")) + + _canvStore[canv.GetName()] = canv + + return canv + +def getQCDratio(tfile,binname = 'incl', doPlot = False, doClosure = False, inclTemplate = False): + + print 80*'#' + print 'Going to calculate F-ratio in bin', binname + print 80*'#' + + mcData = True # take data from file or generate toys + + if mcData: + print 'Data is taken from toys!' + + # get full BKG, QCD and EWK histos + (hData,hEWKsele,hQCDsele,hQCDanti) = getHistsFromFile(tfile, binname, mcData) + + # Print some info + print 10*'-' + print 'Number of events in anti-selected bin' + print 'QCD: ', hQCDanti.Integral(), '+/-', getHistIntError(hQCDanti) + print 10*'-' + print 'Number of events in selected bin' + print 'Data:', hData.Integral() + print 'EWK: ', hEWKsele.Integral() + print 'QCD: ', hQCDsele.Integral(), '+/-', getHistIntError(hQCDsele) + print 10*'-' + + # Create Lp var from hist + lp = getVarFromHist(hData, "Lp") + + _varStore['Lp'] = lp + + # Deal with data (pseudo or real) + data = getDataFromHist(hData,lp, mcData) + + _dhStore['data_'+binname] = data + + # take anti from ST-inclusive QCD: + if inclTemplate: + import re + incName = re.sub('ST[0-9]_','',binname) + print 'Using template', incName, 'instead of', binname + hQCDanti = _hStore['QCDanti_'+incName] + + # Get QCD prediction in the selected region + nQCD = getQCDfromFit(data,hQCDanti,hEWKsele,lp) + + nQCDsel = nQCD.getValV() + nQCDselErr = nQCD.getError() + print 'Fit result:' + print 'QCD: ', nQCDsel, '+/-', nQCDselErr + + + # get correct QCD anti + if inclTemplate: + hQCDanti = _hStore['QCDanti_'+binname] + + + if not doClosure: + #determine F ratio as selected(fit)/anti-selected(data/mc) + fRatio = nQCDsel/hQCDanti.Integral() + + nQCDanti = hQCDanti.Integral() + nQCDantiErr = getHistIntError(hQCDanti) + + # calculate error + fRatioErr = fRatio*sqrt(nQCDselErr/nQCDsel*nQCDselErr/nQCDsel + nQCDantiErr/nQCDanti*nQCDantiErr/nQCDanti) + else: + print '#!CLOSURE: F-ratio is QCD selected(fit)/selected(data/mc)' + #determine F ratio as selected(fit)/selected(data/mc) + fRatio = nQCDsel/hQCDsele.Integral() + + nQCDsele = hQCDsele.Integral() + nQCDseleErr = getHistIntError(hQCDsele) + + # calculate error + fRatioErr = fRatio*sqrt(nQCDselErr/nQCDsel*nQCDselErr/nQCDsel + nQCDseleErr/nQCDsele*nQCDseleErr/nQCDsele) + + print 'F_ratio =', fRatio, '+/-', fRatioErr + + if doPlot: + print 10*'-' + canv = plotHists(binname, inclTemplate) + + return (fRatio,fRatioErr) + +def plotFratios(resList, isClosure = False): + + nbins = len(resList) + hist = TH1F('hRatios','F-Ratios',nbins,0,nbins) + + for i,(bin,val,err) in enumerate(resList): + #print bin, val + #binName = bin[:bin.find("_NJ")] + binName = bin + hist.GetXaxis().SetBinLabel(i+1,binName) + hist.SetBinContent(i+1,val) + hist.SetBinError(i+1,err) + + _hStore[hist.GetName()] = hist + hist.SetStats(0) + + canv=TCanvas(hist.GetName(),hist.GetTitle(),800,600) + + # style + hist.SetMarkerStyle(20) + hist.Draw('E1p') + + if not isClosure: + hist.GetYaxis().SetTitle("F_{sel-to-anti} QCD") + #hist.GetYaxis().SetRangeUser(0.,0.8) + else: + hist.GetYaxis().SetTitle("F_{fit-to-mc} QCD_{selected}") + #hist.GetYaxis().SetRangeUser(0.4,1.3) + + # unity line + line = TLine(0,1,hist.GetNbinsX(),1) + line.SetLineStyle(2) + line.Draw('same') + SetOwnership(line,0) + + gPad.Update() + + _canvStore[canv.GetName()] = canv + + return hist + +if __name__ == "__main__": + + # disable RooFit info + RooMsgService.instance().setGlobalKillBelow(RooFit.WARNING) + + # OPTIONS + doClosure = False + doPlots = True + inclTemplate = True + + infileName = "../lp_only_plots.root" + + if len(sys.argv) > 1: + infileName = sys.argv[1] + print 'Infile is', infileName + else: + print 'No file name is given' + exit(0) + + tfile = TFile(infileName,"READ") + + # select bin + binNames = ['incl'] + #binNames += ['HT500toInf','HT500to1000','HT750to1000','HT500to750'] + #binNames = ['incl','NB1','NB2','NB3'] + #binNames = ['NJ45'] + #binNames += ['NJ45','ST0_NJ45','ST1_NJ45','ST2_NJ45','ST3_NJ45','ST4_NJ45'] + #binNames += ['NJ68','ST0_NJ68','ST1_NJ68','ST2_NJ68','ST3_NJ68','ST4_NJ68'] + #binNames += ['NJ6inf','ST0_NJ6inf','ST1_NJ6inf','ST2_NJ6inf','ST3_NJ6inf','ST4_NJ6inf'] + binNames += ['NJ45','NJ68','ST0_NJ45','ST0_NJ68','ST1_NJ45','ST1_NJ68','ST2_NJ45','ST2_NJ68','ST3_NJ45','ST3_NJ68','ST4_NJ45','ST4_NJ68'] + + resList = [] + + for binName in binNames: + (fRat,err) = getQCDratio(tfile,binName, doPlots, doClosure, inclTemplate) + resList.append((binName,fRat,err)) + + print 80*'=' + + # Plot results in one histo + hRatio = plotFratios(resList,doClosure) + + print 'Finished fitting. Saving Canvases...' + + # save plots to root file + outfile = TFile('plots/'+os.path.basename(infileName).replace('.root','_plots.root'),'RECREATE') + print 'Saving plots to file', outfile.GetName() + + for canvKey in _canvStore: + canv = _canvStore[canvKey] + canv.SaveAs('plots/'+canv.GetName()+'.png') + canv.Write() + + # save ratio hist + hRatio.Write() + + print 40*'/\\' + print 'Compact results' + for (bin,fRat,err) in resList: + #(fRat, err) = ratioDict[bin] + print 'Bin\t %s has F ratio\t %f +/- %f (%f %% error)' %(bin, fRat, err, 100*err/fRat) + #print '%s\t%.3f\t%.3f' % (bin, fRat, err) + print 40*'\\/' + + if '-b' not in sys.argv: + # wait for input + answ = [] + while 'q' not in answ: + answ.append(raw_input("Enter 'q' to continue: ")) + + # close + tfile.Close() + outfile.Close() diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/qcd-est/plotFRatio.py b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/qcd-est/plotFRatio.py new file mode 100755 index 000000000000..437b830e37b7 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/qcd-est/plotFRatio.py @@ -0,0 +1,113 @@ +#!/usr/bin/python + +import sys +import os +#sys.argv.append( '-b' ) + +from ROOT import * +from array import array + +def loopFile(tfile): + + histList = [] + selSigList = [] + antiSigList = [] + + histDict = {} + + for key in tfile.GetListOfKeys(): + hist = key.ReadObj() + + if 'TH1' in str(type(hist)): + if 'signal' in hist.GetName(): + + newName = hist.GetName().replace('_signal','') + newName = newName.replace('Lp_','') + + if 'NJ9' in newName: continue + + if '_sel_' in hist.GetName(): + selSigList.append(hist.Clone(newName)) + elif '_anti_' in hist.GetName(): + antiSigList.append(hist.Clone(newName)) + + tupleList = [] + + for idx, hist in enumerate(antiSigList): + + binName = selSigList[idx].GetName().replace('sel_','') + + nSelect = selSigList[idx].Integral() + nAnti = antiSigList[idx].Integral() + + if nSelect == 0 or nAnti == 0: + nSelectErr = 0 + nAntiErr = 0 + ratio = 0 + else: + nSelectErr = 1/sqrt(nSelect) + nAntiErr = 1/sqrt(nAnti) + ratio = nSelect / nAnti + + ratErr = ratio*sqrt(nSelectErr*nSelectErr+nAntiErr*nAntiErr) + + #histDict[binName] = ratio + tupleList.append((binName,ratio,ratErr)) + + if idx == 0: + print "BinName\t nSelect\t nAnti\t Ratio\t RatioErr" + print binName, '\t', nSelect, '\t', nAnti, '\t', ratio, ratErr + + #return histDict + return tupleList + +def plotList(tupleList): + + nbins = len(tupleList) + hist = TH1F('hist','hist',nbins,0,nbins) + + for i,(bin,val,err) in enumerate(tupleList): + #print bin, val + hist.GetXaxis().SetBinLabel(i+1,bin) + hist.SetBinContent(i+1,val) + hist.SetBinError(i+1,err) + + return hist + +if __name__ == "__main__": + + if len(sys.argv) > 1: + infile = sys.argv[1] + print 'Infile is', infile + else: + print 'No file name is given' + + tfile = TFile(infile, "READ") + + if len(sys.argv) > 2: + outName = sys.argv[2] + else: + print 'No out file name is given' + outName = os.path.basename(infile) + print 'Out file name is', outName + + outfile = TFile(outName, "RECREATE") + + if not tfile: + print "Couldn't open the file" + exit(0) + + pdict = loopFile(tfile) + hist = plotList(pdict) + hist.SetStats(0) + + canv=TCanvas(hist.GetName(),hist.GetTitle(),800,600) + hist.Draw('e') + hist.GetYaxis().SetTitle("F_{sel-to-anti} QCD") + + x = input("Enter a number to exit: ") + + hist.Write() + + tfile.Close() + outfile.Close() diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-1lep/qcd-est/plotHistRatio.py b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/qcd-est/plotHistRatio.py new file mode 100644 index 000000000000..7b75273c6e97 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-1lep/qcd-est/plotHistRatio.py @@ -0,0 +1,121 @@ +#!/usr/bin/python + +import sys +import os +#sys.argv.append( '-b' ) + +from ROOT import * +from array import array + +def loopFile(tfile): + + histList = [] + selSigList = [] + antiSigList = [] + + histDict = {} + + for key in tfile.GetListOfKeys(): + hist = key.ReadObj() + + if 'TH1' in str(type(hist)): + if 'QCD' in hist.GetName(): + + if '_norm' in hist.GetName(): continue + + newName = hist.GetName().replace('_QCD','') + newName = newName.replace('Lp_','') + newName = newName.replace('Yield_','') + + if '_sel_' in hist.GetName(): + selSigList.append(hist.Clone(newName)) + elif '_anti_' in hist.GetName(): + antiSigList.append(hist.Clone(newName)) + + tupleList = [] + + for idx, hist in enumerate(selSigList): + + binName = selSigList[idx].GetName().replace('sel_','') + hSelect = selSigList[idx] + hAnti = antiSigList[idx] + + if hSelect.GetNbinsX() != 1: + print "Histo has more than one bin!" + print "Going to rebin to 1 bin" + #print "Skipping", hSelect.GetName() + selSigList[idx].Rebin(selSigList[idx].GetNbinsX()) + antiSigList[idx].Rebin(antiSigList[idx].GetNbinsX()) + #continue + + hRatio = hSelect.Clone("Ratio") + hRatio.Divide(hAnti) + + ratio = hRatio.Integral() + ratErr = hRatio.GetBinError(1) + + print binName, '\t', hSelect.Integral(), '\t', hAnti.Integral(), '\t', ratio, ratErr + + tupleList.append((binName,ratio,ratErr)) + + # if idx == 0: + # print "BinName\t nSelect\t nAnti\t Ratio\t RatioErr" + # print binName, '\t', nSelect, '\t', nAnti, '\t', ratio, ratErr + + #return histDict + return tupleList + +def plotList(tupleList): + + nbins = len(tupleList) + hist = TH1F('hist','hist',nbins,0,nbins) + + for i,(bin,val,err) in enumerate(tupleList): + print bin, val, err + hist.GetXaxis().SetBinLabel(i+1,bin) + hist.SetBinContent(i+1,val) + hist.SetBinError(i+1,err) + + return hist + +if __name__ == "__main__": + + if len(sys.argv) > 1: + infile = sys.argv[1] + print 'Infile is', infile + else: + print 'No file name is given' + + tfile = TFile(infile, "READ") + + if len(sys.argv) > 2: + outName = sys.argv[2] + else: + print 'No out file name is given' + outName = os.path.basename(infile) + print 'Out file name is', outName + + outfile = TFile(outName, "RECREATE") + + if not tfile: + print "Couldn't open the file" + exit(0) + + pdict = loopFile(tfile) + hist = plotList(pdict) + hist.SetStats(0) + + hname = outName.replace(".root","") + hist.SetName(hname) + hist.SetTitle(hname) + hist.GetYaxis().SetTitle("F_{sel-to-anti} QCD") + + canv=TCanvas(hist.GetName(),hist.GetTitle(),800,600) + hist.Draw('e1') + + answ = raw_input("Enter 'q' to exit: ") + + hist.Write() + + tfile.Close() + outfile.Close() diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-edge/basic_plots.txt b/CMGTools/TTHAnalysis/python/plotter/susy-edge/basic_plots.txt new file mode 100644 index 000000000000..3862209242f4 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-edge/basic_plots.txt @@ -0,0 +1,20 @@ +mll : mass_2(LepGood1_pt,LepGood1_eta,LepGood1_phi,LepGood1_mass, LepGood2_pt,LepGood2_eta,LepGood2_phi,LepGood2_mass): 50,0,500; XTitle="m(ll) [GeV]", Logy=True +## nLep: nLepGood: [1.5,2.5,3.5,4.5,5.5]; XTitle="N(lep)", Logy=True +met: met_pt: 32,0,400 ; XTitle="E_{T}^{miss} [GeV]" +lep1Pt: LepGood1_pt: 25,0,250; XTitle="Leading lepton p_{T} [GeV]", Legend='TR' +lep2Pt: LepGood2_pt: 20,0,100; XTitle="Second lepton p_{T} [GeV]", Legend='TR' +## lep3Pt: LepGood3_pt: 10,0,50; XTitle="Third lepton p_{T} [GeV]", Legend='TR' +## lep4Pt: LepGood4_pt: 10,0,50; XTitle="Fourth lepton p_{T} [GeV]", Legend='TR' +## nJet25 : nJet25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(jet\, p_{T} > 25)' +nJet40 : nJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(jet\, p_{T} > 40)' +jzb : jzb : 50, -100, 300 ; XTitle='JZB', Logy=True +## htJet25: htJet25: 20,0,2000 ; XTitle="H_{T}(lep + jet p_{T} > 25) [GeV]" +## htJet40: htJet40: 20,0,2000 ; XTitle="H_{T}(lep + jet p_{T} > 40) [GeV]" +## htJet40j: htJet40j: 20,0,2000 ; XTitle="H_{T}(jet p_{T} > 40) [GeV]" +## mhtJet25: mhtJet25: 32,0,800 ; XTitle="H_{T}^{miss}(lep + jet p_{T} > 25) [GeV]" +## mhtJet40: mhtJet40: 32,0,800 ; XTitle="H_{T}^{miss}(lep + jet p_{T} > 40) [GeV]" +## nBJet25 : nBJetMedium25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 25\, CSVM)' +## nBJet40 : nBJetMedium40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 40\, CSVM)' +## minMllAFAS: minMllAFAS: [0,4,8,12,15,20,30,40,60]; XTitle="min m(ll') [GeV]", Density=True +## minMllAFOS: minMllAFOS: [0,4,8,12,15,20,30,40,60]; XTitle="min m(l^{+}l^{-}') [GeV]", Density=True +## minMllSFOS: minMllSFOS: [0,4,8,12,15,20,30,40,60]; XTitle="min m(l^{+}l^{-}') [GeV]", Density=True diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-edge/cutflow_example.txt b/CMGTools/TTHAnalysis/python/plotter/susy-edge/cutflow_example.txt new file mode 100644 index 000000000000..81aafcc70182 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-edge/cutflow_example.txt @@ -0,0 +1,16 @@ +## minMllAS8: minMllAFAS > 8 +## minMllOS12: minMllAFOS <= 0 || minMllAFOS > 12 +## zveto3l: mZ1 < 76 || mZ1 > 106 +## exclusive: nLepGood10 == 2 +## anyll: abs(LepGood1_pdgId) > 0 && abs(LepGood2_pdgId) > 0 +## same-sign: LepGood1_charge*LepGood2_charge > 0 +## lep1_pt25: LepGood1_pt > 25 +## lep2_pt25: LepGood2_pt > 25 +## lep iso: max(LepGood1_relIso03,LepGood2_relIso03) < 0.1 +## lep id: LepGood1_tightId > (abs(LepGood1_pdgId) == 11) && LepGood2_tightId > (abs(LepGood2_pdgId) == 11) +## lep dxy: max(LepGood1_sip3d,LepGood2_sip3d) < 4 +## ele cuts: (abs(LepGood1_pdgId) == 13 || (LepGood1_convVeto && LepGood1_lostHits == 0 && LepGood1_tightCharge > 1)) && (abs(LepGood2_pdgId) == 13 || (LepGood2_convVeto && LepGood2_lostHits == 0 && LepGood2_tightCharge > 1)) +## ht: htJet40j > 80 +## met: met_pt > 30 || htJet40j > 500 +## njet: nJet40 >=2 +## nBjet: nBJetMedium25 >= 0 diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-edge/make_susy_cards.sh b/CMGTools/TTHAnalysis/python/plotter/susy-edge/make_susy_cards.sh new file mode 100644 index 000000000000..809a416b936a --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-edge/make_susy_cards.sh @@ -0,0 +1,180 @@ +#!/bin/bash + +if [[ "$1" == "afs" ]]; then + T="/afs/cern.ch/work/g/gpetrucc/TREES_72X_040115"; + J=4; +elif [[ "$HOSTNAME" == "cmsphys10" ]]; then + T="/data/g/gpetrucc/TREES_72X_040115"; + J=8; +else + T="/afs/cern.ch/work/g/gpetrucc/TREES_72X_040115"; + J=4; +fi + +LUMI=10.0 +OUTDIR="susy_cards" +OPTIONS=" -P $T -j $J -l $LUMI -f --s2v --tree treeProducerSusyMultilepton --od $OUTDIR --asimov " +#OPTIONS=" $OPTIONS -F sf/t $T/0_lepMVA_v1/evVarFriend_{cname}.root " + + +function makeCard_2lss { + local EXPR=$1; local BINS=$2; local SYSTS=$3; local OUT=$4; local GO=$5 + + # b-jet cuts + case $SR in + 0[0-9X]) GO="${GO} -R nBjet nBjet0 nBJetMedium40==0 " ;; + 1[0-9X]) GO="${GO} -R nBjet nBjet1 nBJetMedium40==1 " ;; + 2[0-9X]) GO="${GO} -R nBjet nBjet2 nBJetMedium40==2 " ;; + 3[0-9X]) GO="${GO} -R nBjet nBjet3 nBJetMedium40>=3 " ;; + 2[0-9X]+) GO="${GO} -R nBjet nBjet2 nBJetMedium40>=2 " ;; + 0[0-9X]s) GO="${GO} -R nBjet nBjet3 nBJetMedium40+min(nBJetMedium25+nSoftBTight25-nBJetMedium40,1)==0 " ;; + 1[0-9X]s) GO="${GO} -R nBjet nBjet3 nBJetMedium40+min(nBJetMedium25+nSoftBTight25-nBJetMedium40,1)==1 " ;; + 2[0-9X]s) GO="${GO} -R nBjet nBjet3 nBJetMedium40+min(nBJetMedium25+nSoftBTight25-nBJetMedium40,1)==2 " ;; + 3[0-9X]s) GO="${GO} -R nBjet nBjet3 nBJetMedium40+min(nBJetMedium25+nSoftBTight25-nBJetMedium40,1)>=3 " ;; + esac; + + # kinematics + case $SR in + [0-3]X|[0-3]X+) GO="${GO} -R met met met_pt>50 -R ht ht htJet40j>200 " ;; + esac; + + # lepton final state + case $LL in + ee) GO="${GO} -R anyll ee abs(LepGood1_pdgId)==11&&abs(LepGood2_pdgId)==11 " ;; + em) GO="${GO} -R anyll em abs(LepGood1_pdgId)!=abs(LepGood2_pdgId) " ;; + mm) GO="${GO} -R anyll mm abs(LepGood1_pdgId)==13&&abs(LepGood2_pdgId)==13 " ;; + 3l) GO="${GO} -I exclusive -X same-sign -R anyll lep3-cuts LepGood3_relIso03<0.1&&LepGood3_tightId>(abs(LepGood3_pdgId)==11)&&LepGood3_sip3d<4&&(abs(LepGood3_pdgId)==13||(LepGood3_convVeto&&LepGood3_lostHits==0&&LepGood3_tightCharge>1))" + esac; + + # lepton pt categories + case $LPt in + hl) GO="${GO} -I lep2_pt25" ;; + ll) GO="${GO} -I lep1_pt25 -X lep2_pt25" ;; + ii) GO="${GO} -X lep1_pt25 -X lep2_pt25" ;; + 2020) GO="${GO} -R lep1_pt25 lep2020 LepGood2_pt>20 -X lep2_pt25" ;; + esac; + + # inclusive vs exclusive + case $MOD in + inc) GO="${GO} -X exclusive --mcc bins/susy_2lssinc_lepchoice.txt" ;; + esac; + + if [[ "$PRETEND" == "1" ]]; then + echo "making datacard $OUT from makeShapeCardsSusy.py mca-Phys14.txt bins/susy_2lss_sync.txt \"$EXPR\" \"$BINS\" $SYSTS $GO;" + else + echo "making datacard $OUT from makeShapeCardsSusy.py mca-Phys14.txt bins/susy_2lss_sync.txt \"$EXPR\" \"$BINS\" $SYSTS $GO;" + python makeShapeCardsSusy.py mca-Phys14.txt bins/susy_2lss_sync.txt "$EXPR" "$BINS" $SYSTS -o $OUT $GO; + echo " -- done at $(date)"; + fi; +} + +function combineCardsSmart { + CMD="" + for C in $*; do + # missing datacards + test -f $C || continue; + # datacards with no event yield + grep -q "observation 0.0$" $C && continue + CMD="${CMD} $(basename $C .card.txt)=$C "; + done + if [[ "$CMD" == "" ]]; then + echo "Not any card found in $*" 1>&2 ; + else + combineCards.py $CMD + fi +} + +if [[ "$1" == "--pretend" ]]; then + PRETEND=1; shift; +fi; +if [[ "$1" == "2lss-2012" ]]; then + OPTIONS=" $OPTIONS -F sf/t $T/1_susyVars_2lssInc_v0/evVarFriend_{cname}.root " + SYSTS="syst/susyDummy.txt" + CnC_expr="1+4*(met_pt>120)+(htJet40j>400)+2*(nJet40>=4)" + CnC_bins="[0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5]" + MOD=inc; + + echo "Making individual datacards" + for LL in ee em mm; do for LPt in 2020; do for SR in 0X 1X 2X+; do + echo " --- CnC2012_${SR}_${LL} ---" + #makeCard_2lss $CnC_expr $CnC_bins $SYSTS CnC2012_${SR}_${LL} "$OPTIONS"; + done; done; done + echo "Making combined datacards" + for D in $OUTDIR/T[0-9]*; do + test -f $D/CnC2012_0X_ee.card.txt || continue + (cd $D; + for SR in 0X 1X 2X+; do + combineCards.py CnC2012_${SR}_{ee,em,mm}.card.txt > CnC2012_${SR}.card.txt + done + combineCards.py CnC2012_{0X,1X,2X+}.card.txt > CnC2012.card.txt + ); + echo "Made combined card $D/CnC2012.card.txt" + done + echo "Done at $(date)"; + +elif [[ "$1" == "2lss-2015" ]]; then + OPTIONS=" $OPTIONS -F sf/t $T/1_susyVars_2lssInc_v0/evVarFriend_{cname}.root " + SYSTS="syst/susyDummy.txt" + CnC_expr="1+4*(met_pt>120)+(htJet40j>400)+2*(nJet40>=4)" + CnC_bins="[0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5]" + MOD=inc; + + echo "Making individual datacards" + for LL in ee em mm; do for LPt in hh hl ll; do for SR in 0X 1X 2X 3X 2X+; do + #for LL in ee em mm; do for LPt in hh hl ll ; do for SR in 0Xs 1Xs 2Xs 3Xs; do + echo " --- CnC2015_${SR}_${LL}_${LPt} ---" + makeCard_2lss $CnC_expr $CnC_bins $SYSTS CnC2015_${SR}_${LL}_${LPt} "$OPTIONS"; + done; done; done + #exit + echo "Making combined datacards" + for D in $OUTDIR/T[0-9]*; do + test -f $D/CnC2015_0X_ee_hh.card.txt || continue + (cd $D && echo " $D"; + for SR in 0X 1X 2X 3X 2X+; do + #for SR in 0Xs 1Xs 2Xs 3Xs; do + combineCardsSmart CnC2015_${SR}_{ee,em,mm}_hh.card.txt > CnC2015_${SR}_hh.card.txt + combineCardsSmart CnC2015_${SR}_{ee,em,mm}_{hh,hl,ll}.card.txt > CnC2015_${SR}.card.txt + done + combineCardsSmart CnC2015_{0X,1X,2X+}.card.txt > CnC2015_2b.card.txt + combineCardsSmart CnC2015_{0X,1X,2X+}_hh.card.txt > CnC2015_2b_hh.card.txt + combineCardsSmart CnC2015_{0X,1X,2X,3X}_hh.card.txt > CnC2015_3b_hh.card.txt + combineCardsSmart CnC2015_{0X,1X,2X,3X}.card.txt > CnC2015_3b.card.txt + #combineCardsSmart CnC2015_{0Xs,1Xs,2Xs,3Xs}_hh.card.txt > CnC2015_3bs_hh.card.txt + #combineCardsSmart CnC2015_{0Xs,1Xs,2Xs,3Xs}.card.txt > CnC2015_3bs.card.txt + ) + done + echo "Done at $(date)"; + +elif [[ "$1" == "2lss-2015x" ]]; then + OPTIONS=" $OPTIONS -F sf/t $T/1_susyVars_2lssInc_v0/evVarFriend_{cname}.root " + SYSTS="syst/susyDummy.txt" + CnC_expr="1+4*(met_pt>120)+(htJet40j>400)+2*(nJet40>=4)" + CnC_bins="[0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5]" + MOD=excl; + + echo "Making individual datacards" + for LL in ee em mm 3l; do for LPt in hh hl ll; do for SR in 0X 1X 2X 3X; do + echo " --- CnC2015X_${SR}_${LL}_${LPt} ---" + makeCard_2lss $CnC_expr $CnC_bins $SYSTS CnC2015X_${SR}_${LL}_${LPt} "$OPTIONS"; + done; done; done + #exit + echo "Making combined datacards" + for D in $OUTDIR/T[0-9]*; do + test -f $D/CnC2015X_0X_ee_hh.card.txt || continue + (cd $D && echo " $D"; + for SR in 0X 1X 2X 3X; do + combineCardsSmart CnC2015X_${SR}_{ee,em,mm}_hh.card.txt > CnC2015X_${SR}_hh.card.txt + combineCardsSmart CnC2015X_${SR}_{ee,em,mm}_{hh,hl,ll}.card.txt > CnC2015X_${SR}.card.txt + combineCardsSmart CnC2015X_${SR}_{ee,em,mm,3l}_hh.card.txt > CnC2015X_${SR}_hh_w3l.card.txt + combineCardsSmart CnC2015X_${SR}_{ee,em,mm,3l}_{hh,hl,ll}.card.txt > CnC2015X_${SR}_w3l.card.txt + done + combineCardsSmart CnC2015X_{0X,1X,2X,3X}_hh.card.txt > CnC2015X_3b_hh.card.txt + combineCardsSmart CnC2015X_{0X,1X,2X,3X}.card.txt > CnC2015X_3b.card.txt + combineCardsSmart CnC2015X_{0X,1X,2X,3X}_hh_w3l.card.txt > CnC2015X_3b_hh_w3l.card.txt + combineCardsSmart CnC2015X_{0X,1X,2X,3X}_w3l.card.txt > CnC2015X_3b_w3l.card.txt + ) + done + echo "Done at $(date)"; + +fi + diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_2lssinc_lepchoice.txt b/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_2lssinc_lepchoice.txt new file mode 100644 index 000000000000..d15aed1ab514 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_2lssinc_lepchoice.txt @@ -0,0 +1,2 @@ +LepGood1_(\w+) : LepGood_\1[iL1]; AlsoData +LepGood2_(\w+) : LepGood_\1[iL2]; AlsoData diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_2lssinc_lepchoice_sync.txt b/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_2lssinc_lepchoice_sync.txt new file mode 100644 index 000000000000..7af2bd3ab52b --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_2lssinc_lepchoice_sync.txt @@ -0,0 +1,5 @@ +LepGood1_(\w+) : LepGood_\1[iL1T]; AlsoData +LepGood2_(\w+) : LepGood_\1[iL2T]; AlsoData +\bmZ1\b: mZ1cut10TL; AlsoData +minMllAFOS\b: minMllAFOSTL; AlsoData +minMllAFAS\b: minMllAFASTL; AlsoData diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_plots.txt b/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_edge_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/susy_2lss_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_edge_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_edge_sync.sh b/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_edge_sync.sh new file mode 100644 index 000000000000..05cf728975d2 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_edge_sync.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +#T="~/w/TREES_72X_SYNC" +#CORE="-P $T --s2v --tree treeProducerSusyMultilepton " +#CORE="${CORE} -F sf/t $T/1_susyVars_2lssInc_v0/evVarFriend_{cname}.root -X exclusive --mcc bins/susy_2lssinc_lepchoice_sync.txt" +T=" /data/g/gpetrucc/TREES_72X_040115/9_skim_2lssSR_sync_v1" +CORE="-P $T --s2v --tree treeProducerSusyMultilepton " +CORE="${CORE} -F sf/t $T/0_allfriends/evVarFriend_{cname}.root -X exclusive --mcc bins/susy_2lssinc_lepchoice_sync.txt" + +POST=""; +if [[ "$1" == "mccounts" ]]; then + GO="python mcAnalysis.py $CORE mca-Phys14.txt bins/susy_2lss_sync.txt -p T1tttt_HM -f -G -u " + POST="| awk '/all/{print \$2}' " +elif [[ "$1" == "mcyields" ]]; then + GO="python mcAnalysis.py $CORE mca-Phys14.txt bins/susy_2lss_sync.txt -p 'T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD,TTX,WZ,TT,WJets,DY' --pgroup TTX=TT[WZH] -f -G -l 4.0" +elif [[ "$1" == "mcdumps" ]]; then + FMT='{run:1d} {lumi:9d} {evt:12d}\t{nLepGood10:2d}\t{LepGood1_pdgId:+2d} {LepGood1_pt:5.1f}\t{LepGood2_pdgId:+2d} {LepGood2_pt:5.1f}\t{nJet40}\t{nBJetMedium40:2d}\t{met_pt:5.1f}\t{htJet40j:6.1f}' + python mcDump.py $CORE mca-Phys14.txt bins/susy_2lss_sync.txt -p T1tttt_HM -X lep1_pt25 -X lep2_pt25 | sort -n -k1 -k2 > 2lssInc_all.txt + python mcDump.py $CORE mca-Phys14.txt bins/susy_2lss_sync.txt -p T1tttt_HM -X lep1_pt25 -X lep2_pt25 -X 'lep id' -X 'lep iso' -X 'lep dxy' -X 'ele cuts' $FMT | sort -n -k1 -k2 > 2lssInc_all_relaxLept.txt + wc -l 2lssInc_all.txt 2lssInc_all_relaxLept.txt + exit; +else + echo "I don't know what you want" + exit; +fi + +SAVE="${GO}" +for LL in ee em mm; do +for SR in 00 10 20 30; do +for LPt in hh hl ll; do + +GO="${SAVE}" +case $SR in +0) GO="${GO} -R nBjet nBjet0 'nBJetMedium25 >= 0' " ;; +00) GO="${GO} -R nBjet nBjet0 'nBJetMedium25 == 0' " ;; +10) GO="${GO} -R nBjet nBjet1 'nBJetMedium25 == 1' " ;; +20) GO="${GO} -R nBjet nBjet2 'nBJetMedium25 == 2' " ;; +30) GO="${GO} -R nBjet nBjet3 'nBJetMedium25 >= 3' " ;; +0[1-9X]) GO="${GO} -R nBjet nBjet0 'nBJetMedium25 == 0' -R met metSR 'met_pt > 50' -R ht htSR 'htJet40j > 200'" ;; +1[1-9X]) GO="${GO} -R nBjet nBjet1 'nBJetMedium25 == 1' -R met metSR 'met_pt > 50' -R ht htSR 'htJet40j > 200'" ;; +2[1-9X]) GO="${GO} -R nBjet nBjet2 'nBJetMedium25 == 2' -R met metSR 'met_pt > 50' -R ht htSR 'htJet40j > 200'" ;; +3[1-9X]) GO="${GO} -R nBjet nBjet3 'nBJetMedium25 >= 3' -R met metSR 'met_pt > 50' -R ht htSR 'htJet40j > 200'" ;; +esac; +case $LL in +ee) GO="${GO} -R anyll ee 'abs(LepGood1_pdgId) == 11 && abs(LepGood2_pdgId) == 11' " ;; +em) GO="${GO} -R anyll em 'abs(LepGood1_pdgId) != abs(LepGood2_pdgId)' " ;; +mm) GO="${GO} -R anyll mm 'abs(LepGood1_pdgId) == 13 && abs(LepGood2_pdgId) == 13' " ;; +esac; +case $LPt in +hl) GO="${GO} -I lep2_pt25" ;; +ll) GO="${GO} -I lep1_pt25 -X lep2_pt25" ;; +ii) GO="${GO} -X lep1_pt25 -X lep2_pt25" ;; +esac; + +echo "echo; echo \" ===== SR $SR $LL $LPt ===== \"" +echo "$GO $POST" + +done +done +done diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_edge_sync.txt b/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_edge_sync.txt new file mode 100644 index 000000000000..a2ebf0dd46b4 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-edge/susy_edge_sync.txt @@ -0,0 +1,50 @@ +################################################# +############## MUONS ######################## +################################################# +only muons for now: LepGood_pdgId[0] * LepGood_pdgId[1] == -13*13 +within eta 2.4: (abs(LepGood_eta[0]) < 2.4 && abs(LepGood_eta[1]) < 2.4) +exclude 1.4 - 1.6 in |eta|: !(abs(LepGood_eta[0]) > 1.4 && abs(LepGood_eta[0]) < 1.6) && !(abs(LepGood_eta[1]) > 1.4 && abs(LepGood_eta[1]) < 1.6) +#lep1 and lep2 pass tight ID+iso (muons): LepGood_tightId[0] == 1 && LepGood_relIso03[0] < 0.15 && LepGood_tightId[1] == 1 && LepGood_relIso03[1] < 0.15 +lep1 and lep2 pass tight ID (muons): LepGood_tightId[0] == 1 && LepGood_tightId[1] == 1 +lep1_pt25: LepGood_pt[0] > 25 +lep2_pt20: LepGood_pt[1] > 20 +separated 0.3 in dR: l1l2_DR > 0.3 +isolation of both < 0.15: LepGood_relIso03[0] < 0.15 && LepGood_relIso03[1] < 0.15 +################################################# +############## ELECTRONS ######################## +################################################# +## only electrons for now: LepGood_pdgId[0] * LepGood_pdgId[1] == -11*11 +## within eta 2.4: (abs(LepGood_eta[0]) < 2.4 && abs(LepGood_eta[1]) < 2.4) +## lep1_pt25: LepGood_pt[0] > 25 +## lep2_pt20: LepGood_pt[1] > 20 +## lep1 and lep2 pass loose ID (electrons): LepGood_tightId[0] >=1 && LepGood_tightId[1] >= 1 +## # lep1 and lep2 pass loose ID (electrons): LepGood_eleCutIdCSA14_25ns_v1[0] >=1 && LepGood_eleCutIdCSA14_25ns_v1[1] >= 1 +## exclude 1.4 - 1.6 in |eta|: (abs(LepGood_eta[0]) < 1.4 || abs(LepGood_eta[0]) > 1.6) && (abs(LepGood_eta[1]) < 1.4 || abs(LepGood_eta[1]) > 1.6) +## opposite-sign: LepGood_charge[0]*LepGood_charge[1] < 0 +## separated 0.3 in dR: l1l2_DR > 0.3 +## isolation of both < 0.15: LepGood_relIso03[0] < 0.15 && LepGood_relIso03[1] < 0.15 +################################################# +############## ELMU/OF ####################### +################################################# +## only muons for now: LepGood_pdgId[0] * LepGood_pdgId[1] == -13*11 +## within eta 2.4: (abs(LepGood_eta[0]) < 2.4 && abs(LepGood_eta[1]) < 2.4) +## lep1_pt25: LepGood_pt[0] > 25 +## lep2_pt20: LepGood_pt[1] > 20 +## lep1 and lep2 pass ID (elmu): LepGood_tightId[0] >= 1 && LepGood_tightId[1] >= 1 +## exclude 1.4 - 1.6 in |eta|: (abs(LepGood_eta[0]) < 1.4 || abs(LepGood_eta[0]) > 1.6) && (abs(LepGood_eta[1]) < 1.4 || abs(LepGood_eta[1]) > 1.6) +## opposite-sign: LepGood_charge[0]*LepGood_charge[1] < 0 +## separated 0.3 in dR: l1l2_DR > 0.3 +## #same using other code: l1l2_DR > 0.3 +## isolation of both < 0.15: LepGood_relIso03[0] < 0.15 && LepGood_relIso03[1] < 0.15 +################################################# +############## SF ####################### +################################################# +## only muons for now: (LepGood_pdgId[0] * LepGood_pdgId[1] == -11*11) || (LepGood_pdgId[0] * LepGood_pdgId[1] == -13*13) +## within eta 2.4: (abs(LepGood_eta[0]) < 2.4 && abs(LepGood_eta[1]) < 2.4) +## lep1_pt25: LepGood_pt[0] > 25 +## lep2_pt20: LepGood_pt[1] > 20 +## lep1 and lep2 pass ID (sf): LepGood_tightId[0] >= 1 && LepGood_tightId[1] >= 1 +## exclude 1.4 - 1.6 in |eta|: (abs(LepGood_eta[0]) < 1.4 || abs(LepGood_eta[0]) > 1.6) && (abs(LepGood_eta[1]) < 1.4 || abs(LepGood_eta[1]) > 1.6) +## opposite-sign: LepGood_charge[0]*LepGood_charge[1] < 0 +## separated 0.3 in dR: l1l2_DR > 0.3 +## isolation of both < 0.15: LepGood_relIso03[0] < 0.15 && LepGood_relIso03[1] < 0.15 diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-edge/syst/susyDummy.txt b/CMGTools/TTHAnalysis/python/plotter/susy-edge/syst/susyDummy.txt new file mode 100644 index 000000000000..7b95aa273568 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-edge/syst/susyDummy.txt @@ -0,0 +1,2 @@ +FlatBkg : (?!T[0-9]) : .* : 1.30 +Signal : T[0-9].* : .* : 1.20 diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/susySyst.txt b/CMGTools/TTHAnalysis/python/plotter/susy-edge/syst/susySyst.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/susySyst.txt rename to CMGTools/TTHAnalysis/python/plotter/susy-edge/syst/susySyst.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-edge/validation_plots.txt b/CMGTools/TTHAnalysis/python/plotter/susy-edge/validation_plots.txt new file mode 100644 index 000000000000..4326387cbd05 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-edge/validation_plots.txt @@ -0,0 +1,51 @@ +nLep: nLepGood: [1.5,2.5,3.5,4.5,5.5]; XTitle="N(lep)" +nLep10: nLepGood10: [1.5,2.5,3.5,4.5,5.5]; XTitle="N(lep)" +nLep20: nLepGood20: [1.5,2.5,3.5,4.5,5.5]; XTitle="N(lep)" +met: met_pt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" +met_phi: met_phi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" +lep1pt: LepGood1_pt: 15,0,250; XTitle="Leading lepton p_{T} [GeV]", Legend='TR' +lep2pt: LepGood2_pt: 15,0,100; XTitle="Second lepton p_{T} [GeV]", Legend='TR' +lep3pt: LepGood3_pt: 10,0,50; XTitle="Third lepton p_{T} [GeV]", Legend='TR' +lep4pt: LepGood4_pt: 10,0,50; XTitle="Fourth lepton p_{T} [GeV]", Legend='TR' +lep1relIso03: LepGood1_relIso03: 15,0,.5; Legend='TR' +lep2relIso03: LepGood2_relIso03: 15,0,.5; Legend='TR' +lep1miniRelIso: LepGood1_miniRelIso: 15,0,.5; Legend='TR' +lep2miniRelIso: LepGood2_miniRelIso: 15,0,.5; Legend='TR' +lep1jetPtRel: LepGood1_jetPtRel: 15,0,25; Legend='TR' +lep2jetPtRel: LepGood2_jetPtRel: 15,0,25; Legend='TR' +lep1sip3d: LepGood1_sip3d: 15,0,5; Legend='TR' +lep2sip3d: LepGood2_sip3d: 15,0,5; Legend='TR' +lep1tightId: LepGood1_tightId: [-0.5,0.5,1.5]; Legend='TL' +lep2tightId: LepGood2_tightId: [-0.5,0.5,1.5]; Legend='TL' +lep1mvaSusy: LepGood1_mvaSusy: 20,-1,1; Legend='TL' +lep2mvaSusy: LepGood2_mvaSusy: 20,-1,1; Legend='TL' +lep1mcMatchId: abs(LepGood1_mcMatchId): 28,-1.5,26.5; Legend='TR' +lep2mcMatchId: abs(LepGood2_mcMatchId): 28,-1.5,26.5; Legend='TR' +lep1mcMatchAny: LepGood1_mcMatchAny: [-1.5,-0.5,0.5,1.5,2.5,3.5]; Legend='TR' +lep2mcMatchAny: LepGood2_mcMatchAny: [-1.5,-0.5,0.5,1.5,2.5,3.5]; Legend='TR' +nJet25 : nJet25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(jet\, p_{T} > 25)' +nJet40 : nJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(jet\, p_{T} > 40)' +nJet40NoTau : nJet40NoTau : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(jet\, p_{T} > 40\, #tau veto)' +jet1pt: Jet1_pt: 15,0,400; XTitle="Leading jet p_{T} [GeV]", Legend='TR' +jet2pt: Jet2_pt: 15,0,200; XTitle="Second jet p_{T} [GeV]", Legend='TR' +jet3pt: Jet3_pt: 10,0,150; XTitle="Third jet p_{T} [GeV]", Legend='TR' +jet4pt: Jet4_pt: 10,0,100; XTitle="Fourth jet p_{T} [GeV]", Legend='TR' +jet1rawPt: Jet1_rawPt: 15,0,400; Legend='TR' +jet2rawPt: Jet2_rawPt: 15,0,200; Legend='TR' +jet1btagCSV: Jet1_btagCSV: 12,0.0,1.5; Legend='TR' +jet2btagCSV: Jet2_btagCSV: 12,0.0,1.5; Legend='TR' +jet1mcPt: Jet1_mcPt: 15,0,400; Legend='TR' +jet2mcPt: Jet2_mcPt: 15,0,200; Legend='TR' +jet1mcFlavour: Jet1_mcFlavour: 29,-6.5,22.5; Legend='TR' +jet2mcFlavour: Jet2_mcFlavour: 29,-6.5,22.5; Legend='TR' +jet1mcMatchId: abs(Jet1_mcMatchId): 28,-1.5,26.5; Legend='TR' +jet2mcMatchId: abs(Jet2_mcMatchId): 28,-1.5,26.5; Legend='TR' +htJet25: htJet25: 15,0,2000 ; XTitle="H_{T}(lep + jet p_{T} > 25) [GeV]" +htJet40: htJet40: 15,0,2000 ; XTitle="H_{T}(lep + jet p_{T} > 40) [GeV]" +htJet40j: htJet40j: 15,0,2000 ; XTitle="H_{T}(jet p_{T} > 40) [GeV]" +mhtJet25: mhtJet25: 15,0,800 ; XTitle="H_{T}^{miss}(lep + jet p_{T} > 25) [GeV]" +mhtJet40: mhtJet40: 15,0,800 ; XTitle="H_{T}^{miss}(lep + jet p_{T} > 40) [GeV]" +nBJet25 : nBJetMedium25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 25\, CSVM)' +nBJet40 : nBJetMedium40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 40\, CSVM)' +minMllAFAS: minMllAFAS: 20,0,200; XTitle="min m(ll') [GeV]" +mZ1: mZ1: 20,0,200; XTitle="best mZ4 [GeV]" diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/validation_MT2.txt b/CMGTools/TTHAnalysis/python/plotter/susy-mT2/validation_MT2.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/validation_MT2.txt rename to CMGTools/TTHAnalysis/python/plotter/susy-mT2/validation_MT2.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/validation_mca_mt2.txt b/CMGTools/TTHAnalysis/python/plotter/susy-mT2/validation_mca_MT2.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/validation_mca_mt2.txt rename to CMGTools/TTHAnalysis/python/plotter/susy-mT2/validation_mca_MT2.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-mT2/validation_plots_MT2.txt b/CMGTools/TTHAnalysis/python/plotter/susy-mT2/validation_plots_MT2.txt new file mode 100644 index 000000000000..28fd7e52576a --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-mT2/validation_plots_MT2.txt @@ -0,0 +1,243 @@ +######### SUMS + +met: met_pt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" +met_phi: met_phi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" + +genmet: met_genPt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" +genmet_phi: met_genPhi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" + +rawmet: met_rawPt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" +rawmet_phi: met_rawPhi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" + +mht: mht_pt: 16,0,800 ; XTitle="H_{T}^{miss} [GeV]" +mht_phi: mht_phi: 8,-3.15,3.15 ; XTitle="phi of H_{T}^{miss}" + +deltaPhiMin: deltaPhiMin: 70,0,3.15 ; XTitle="dphi_{min}(jet\,E_{T}^{miss})" +diffMetMht: diffMetMht: 100,0,500 ; XTitle="|MET-MHT|" + +ht: ht: 16,0,800 ; XTitle="H_{T} [GeV]" + +rho: rho: 10,0,1 ; XTitle="rho" +nTrueInt: nTrueInt: 100,0,100 ; XTitle="nTrueInt" +nVert: nVert: 100,0,100 ; XTitle="nVert" + +######### COUNTER + +count_nMuons10 : nMuons10 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="N(#mu\, p_{T} > 10)" +count_nElectrons10 : nElectrons10 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="N(ele\, p_{T} > 10)" +count_nTaus20 : nTaus20 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="N(#tau\, p_{T} > 20)" +count_nGammas20 : nGammas20 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; XTitle="N(#gamma\, p_{T} > 20)" + +count_nJet40 : nJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5] ; XTitle='N(jet\, p_{T} > 40)' +count_nBJet40 : nBJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 40\, CSVM)' +count_nBJet25 : nBJet25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 25\, CSVM)' +count_nBJet20 : nBJet20 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 20\, CSVM)' + +##count_ngenParticles: ngenPart : 500,0,500 ; XTitle="nGenParticles" + +##### TRIGGERS + +HLT_ht350met120: HLT_ht350met120: [-0.5,0.5,1.5]; XTitle="HLT" +HLT_MET170 : HLT_MET170 : [-0.5,0.5,1.5]; XTitle="HLT" +HLT_HT900 : HLT_HT900 : [-0.5,0.5,1.5]; XTitle="HLT" +HLT_SingleMu : HLT_SingleMu : [-0.5,0.5,1.5]; XTitle="HLT" +HLT_DoubleMu : HLT_DoubleMu : [-0.5,0.5,1.5]; XTitle="HLT" +HLT_DoubleEl : HLT_DoubleEl : [-0.5,0.5,1.5]; XTitle="HLT" +HLT_MuEG : HLT_MuEG : [-0.5,0.5,1.5]; XTitle="HLT" +HLT_Photons : HLT_Photons : [-0.5,0.5,1.5]; XTitle="HLT" +###HLT_htXprescale: HLT_htXprescale: [-0.5,0.5,1.5]; XTitle="HLT" + +Flag_EcalDeadCellTriggerPrimitiveFilter : Flag_EcalDeadCellTriggerPrimitiveFilter: [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_trkPOG_manystripclus53X : Flag_trkPOG_manystripclus53X: [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_ecalLaserCorrFilter : Flag_ecalLaserCorrFilter: [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_trkPOG_toomanystripclus53X : Flag_trkPOG_toomanystripclus53X : [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_hcalLaserEventFilter : Flag_hcalLaserEventFilter : [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_trkPOG_logErrorTooManyClusters : Flag_trkPOG_logErrorTooManyClusters : [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_trkPOGFilters : Flag_trkPOGFilters : [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_trackingFailureFilter : Flag_trackingFailureFilter: [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_CSCTightHaloFilter : Flag_CSCTightHaloFilter: [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_HBHENoiseFilter : Flag_HBHENoiseFilter : [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_goodVertices : Flag_goodVertices: [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_eeBadScFilter : Flag_eeBadScFilter: [-0.5,0.5,1.5]; XTitle="metFilter" +Flag_METFilters : Flag_METFilters: [-0.5,0.5,1.5]; XTitle="metFilter" + +##### MT2 + +mt2: mt2: 16,0,800 ; XTitle="MT2 [GeV]" + +mt2_gen: mt2_gen: 16,0,800 ; XTitle="MT2 gen [GeV]" + +pseudoJet1_pt: pseudoJet1_pt: 16,0,800 ; XTitle="PseJet1 p_{T} [GeV]", Legend='TR' +pseudoJet1_phi: pseudoJet1_phi: 8,-3.15,3.15 ; XTitle="PseJet1 phi" +pseudoJet1_eta: pseudoJet1_eta: 10,-5.,5. ; XTitle="PseJet1 eta" +pseudoJet1_mass: pseudoJet1_mass: 20,0,400. ; XTitle="PseJet1 mass [GeV]" + +pseudoJet2_pt: pseudoJet2_pt: 16,0,800 ; XTitle="PseJet12 p_{T} [GeV]" +pseudoJet2_phi: pseudoJet2_phi: 8,-3.15,3.15 ; XTitle="PseJet2 phi" +pseudoJet2_eta: pseudoJet2_eta: 10,-5.,5. ; XTitle="PseJet2 eta" +pseudoJet2_mass: pseudoJet2_mass: 20,0,400. ; XTitle="PseJet2 mass [GeV]" + +nPFLep5LowMT: nPFLep5LowMT: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5] ; XTitle='N(PFLep\, p_{T} > 5\, M_{T} < 100)' +nPFHad10LowMT: nPFHad10LowMT: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5] ; XTitle='N(PFHad\, p_{T} > 10\, M_{T} < 100)' +nLepLowMT: nLepLowMT: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5] ; XTitle='N(Lep(POG+isoTrack)\, M_{T} < 100)' + +minMTBMet: minMTBMet: 16,0,800 ; XTitle="min M_{T}(B\,met)" + +##### JET + +jet_njet : njet : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5,21.5,22.5,23.5,24.5,25.5,26.5,27.5,28.5,29.5,30.5] ; XTitle='N(jet\, p_{T} > 10\, |#eta| < 5.2 )' +jet_pt: jet_pt: 200, 0, 200 ; XTitle="jet p_{T} [GeV]" +jet_phi: jet_phi: 8,-3.15,3.15 ; XTitle="jet phi" +jet_eta: jet_eta: 24,-6.0,6.0 ; XTitle="jet eta" +jet_mass: jet_mass: 20,0,400. ; XTitle="jet mass [GeV]" +jet_csv: jet_btagCSV: 100,-11.,2. ; XTitle="jet csv" + +jet_rawPt: jet_rawPt: 200, 0, 200 ; XTitle="jet raw pt" +jet_mcPt: jet_mcPt: 200, 0, 200 ; XTitle="jet mc pt" + +jet_mcFlavour: jet_mcFlavour: 100, 0,100 ; XTitle="jet mc flavour" +jet_area: jet_area: 100, 0,100 ; XTitle="jet mc area" + +jet_id: jet_id: [-0.5,0.5,1.5,2.5,3.5] ; XTitle="jet id" +jet_puId: jet_puId: [-0.5,0.5,1.5] ; XTitle="jet PU id" +jet_qgl: jet_qgl: 60,-0.5,1.0 ; XTitle="jet qgl" + +jet1_pt: jet1_pt: 16,0,800 ; XTitle="jet1 p_{T} [GeV]", Legend='TR' +jet2_pt: jet2_pt: 16,0,800 ; XTitle="jet2 p_{T} [GeV]", Legend='TR' + + +##### ISO TRACK + +isoTrack_nisoTrack : nisoTrack : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(isotrack)' +isoTrack_pt: isoTrack_pt: 16,0,800 ; XTitle="isotrack p_{T} [GeV]" +isoTrack_phi: isoTrack_phi: 8,-3.15,3.15 ; XTitle="isotrack phi" +isoTrack_eta: isoTrack_eta: 10,-5.,5. ; XTitle="isotrack eta" +isoTrack_mass: isoTrack_mass: 20,0,400. ; XTitle="isotrack mass [GeV]" + +isoTrack_pdgId : isoTrack_pdgId : 300, -150,150 ; XTitle='PDG_ID' + +isoTrack_dz: isoTrack_dz: 100,0,0.5 ; XTitle="isotrack dz [cm]" + +isoTrack_absIso: isoTrack_absIso: 10,0,.50; Legend='TR' + +#isoTrack_mcMatchId: isoTrack_mcMatchId: 28,-1.5,26.5; Legend='TR' + +##### TAU + +tau_ntau : ntau : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(tau\, p_{T} > 10\, |#eta| < 2.4 )' +tau_pt: tau_pt: 16,0,800 ; XTitle="tau p_{T} [GeV]" +tau_phi: tau_phi: 8,-3.15,3.15 ; XTitle="tau phi" +tau_eta: tau_eta: 10,-5.,5. ; XTitle="tau eta" +tau_mass: tau_mass: 20,0,400. ; XTitle="tau mass" + +tau_Charge: tau_charge: [-1.5,-0.5,0.5,1.5]; Legend='TL' +#tau_mcMatchId: tau_mcMatchId: 28,-1.5,26.5; Legend='TR' + +#tau_dxy: tau_dxy: 100,0,0.5 ; XTitle="tau dxy [cm]" +#tau_dz: tau_dz: 100,0,0.5 ; XTitle="tau dz [cm]" + +tau_isoCI3hit: tau_isoCI3hit: 100,0,0.5 ; XTitle="tau ISO [GeV]" +tau_idCI3hit: tau_idCI3hit: 10,0,10. ; XTitle="tau ID " + +##### genCounting + +ngenLep : ngenLep : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(ngenLep)' +#genLep_pdgId : genLep_pdgId : [10.5,11.5,12.5,13.5,14.5,15.5,16.5] ; XTitle='PDG_ID genLep' + +ngenLepFromTau : ngenLepFromTau : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(genLepFromTau)' +#genLepFromTau_pdgId : genLepFromTau_pdgId : [10.5,11.5,12.5,13.5,14.5,15.5,16.5] ; XTitle='PDG_ID genLepFromTau' + +ngenTau : ngenTau : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(ngenTau)' +#genTau_pdgId : genTau_pdgId : [10.5,11.5,12.5,13.5,14.5,15.5,16.5] ; XTitle='PDG_ID genTau' + + +##### PHOTONS + +gamma_ngamma : ngamma : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(gamma\, p_{T} > 10\, |#eta| < 2.4 )' +gamma_pt: gamma_pt: 16,0,800 ; XTitle="gamma p_{T} [GeV]" +gamma_phi: gamma_phi: 8,-3.15,3.15 ; XTitle="gamma phi" +gamma_eta: gamma_eta: 10,-5.,5. ; XTitle="gamma eta" +gamma_mass: gamma_mass: 20,0,400. ; XTitle="gamma mass" + +gamma_chHadIso: gamma_chHadIso: 100,0,0.5 ; XTitle="ch gamma ISO [GeV]" +gamma_neuHadIso: gamma_neuHadIso: 100,0,0.5 ; XTitle="neu gamma ISO [GeV]" +gamma_phIso: gamma_phIso: 100,0,0.5 ; XTitle="ph gamma ISO [GeV]" + +gamma_sigmaIetaIeta: gamma_sigmaIetaIeta: 100,0,0.1 ; XTitle="gamma sigmaIetaIeta" +gamma_r9: gamma_r9: 100,0,1. ; XTitle="gamma r9" +gamma_hOverE: gamma_hOverE: 100,0,0.1 ; XTitle="gamma hOverE" +gamma_idCutBased: gamma_idCutBased: 10,0,10. ; XTitle="gamma ID Cut based" +gamma_mcMatchId: gamma_mcMatchId: 28,-1.5,26.5; Legend='TR' + +#gamma_genIso: gamma_genIso: 100,0,0.5 ; XTitle="ph gamma ISO [GeV]" + +##### GAMMA control variables + +cr_gamma_mt2: gamma_mt2: 16,0,800 ; XTitle="MT2 [GeV]" + +cr_gamma_met: gamma_met_pt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" +cr_gamma_met_phi: gamma_met_phi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" + +cr_gamma_mht: gamma_mht_pt: 16,0,800 ; XTitle="H_{T}^{miss} [GeV]" +cr_gamma_mht_phi: gamma_mht_phi: 8,-3.15,3.15 ; XTitle="phi of H_{T}^{miss}" + +cr_gamma_deltaPhiMin: gamma_deltaPhiMin: 70,0,3.15 ; XTitle="dphi_{min}(jet\,E_{T}^{miss})" +cr_gamma_diffMetMht: gamma_diffMetMht: 100,0,500 ; XTitle="|MET-MHT|" + +cr_gamma_ht: gamma_ht: 16,0,800 ; XTitle="H_{T} [GeV]" + +cr_gamma_nJet40 : gamma_nJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5] ; XTitle='N(jet\, p_{T} > 40)' +cr_gamma_nBJet40 : gamma_nBJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 40\, CSVM)' +cr_gamma_nBJet25 : gamma_nBJet25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 25\, CSVM)' +cr_gamma_minMTBMet : gamma_minMTBMet: 16,0,800 ; XTitle="min M_{T}(B\,met)" + +cr_gamma_jet1_pt: gamma_jet1_pt: 16,0,800 ; XTitle="gamma jet1 p_{T} [GeV]", Legend='TR' +cr_gamma_jet2_pt: gamma_jet2_pt: 16,0,800 ; XTitle="gamma jet2 p_{T} [GeV]", Legend='TR' + +##### ZLL control variables + +cr_zll_mt2: zll_mt2: 16,0,800 ; XTitle="MT2 [GeV]" + +cr_zll_met: zll_met_pt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" +cr_zll_met_phi: zll_met_phi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" + +cr_zll_ht: zll_ht: 16,0,800 ; XTitle="H_{T} [GeV]" + +cr_zll_mht: zll_mht_pt: 16,0,800 ; XTitle="H_{T}^{miss} [GeV]" +cr_zll_mht_phi: zll_mht_phi: 8,-3.15,3.15 ; XTitle="phi of H_{T}^{miss}" + +cr_zll_deltaPhiMin: zll_deltaPhiMin: 70,0,3.15 ; XTitle="dphi_{min}(jet\,E_{T}^{miss})" +cr_zll_diffMetMht: zll_diffMetMht: 100,0,500 ; XTitle="|MET-MHT|" + +cr_zll_pt: zll_pt: 16,0,600 ; XTitle="Z p_{T} [GeV]" +cr_zll_phi: zll_phi: 8,-3.15,3.15 ; XTitle="Z phi" +cr_zll_eta: zll_eta: 10,-5.,5. ; XTitle="Z eta" +cr_zll_mass: zll_mass: 20,0,400. ; XTitle="Z mass [GeV]" + +cr_zll_minMTBMet: zll_minMTBMet: 16,0,800 ; XTitle="min M_{T}(B\,met)" + +##### LEPTON + +lep_nlep : nlep : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(lep\, p_{T} > 10\, |#eta| < 2.4 )' +lep_pt: lep_pt: 16,0,800 ; XTitle="lep p_{T} [GeV]" +lep_phi: lep_phi: 8,-3.15,3.15 ; XTitle="lep phi" +lep_eta: lep_eta: 10,-5.,5. ; XTitle="lep eta" +lep_mass: lep_mass: 20,0,400. ; XTitle="lep mass [GeV]" + +lep_pdgId : lep_pdgId : [10.5,11.5,12.5,13.5,14.5,15.5,16.5] ; XTitle='PDG_ID' + +lep_dxy: lep_dxy: 100,0,0.5 ; XTitle="lep dxy [cm]" +lep_dz: lep_dz: 100,0,0.5 ; XTitle="lep dz [cm]" + +lep_relIso03: lep_relIso03: 15,0,.5; Legend='TR' +#lep_relIso04: lep_relIso04: 15,0,.5; Legend='TR' +lep_miniRelIso: lep_miniRelIso: 15,0,.5; Legend='TR' +#lep_mcMatchId: lep_mcMatchId: 28,-1.5,26.5; Legend='TR' +lep_tightId: lep_tightId: [-0.5,0.5,1.5,2.5,3.5]; Legend='TL' + +lep_lostHits: lep_lostHits: [-0.5,0.5,1.5,2.5,3.5,4.5,5.5]; Legend='TL' +lep_convVeto: lep_convVeto: 10,0.,5.; Legend='TL' +lep_tightCharge: lep_tightCharge: [-1.5,-0.5,0.5,1.5]; Legend='TL' + + + diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/basic_plots.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/basic_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/basic_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/susy-multilepton/basic_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/make_susy_cards.sh b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/make_susy_cards.sh new file mode 100755 index 000000000000..f9a65c685c4a --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/make_susy_cards.sh @@ -0,0 +1,337 @@ +#!/bin/bash + +if [[ "$1" == "afs" ]]; then + T="/afs/cern.ch/work/g/gpetrucc/TREES_72X_040115"; + J=4; +elif [[ "$1" == "SingleLepAFS" ]]; then +# T="/afs/cern.ch/work/k/kirschen/public/PlotExampleSamples/V2"; + T="/afs/cern.ch/work/k/kirschen/public/PlotExampleSamples/V3"; + J=4; +elif [[ "$HOSTNAME" == "cmsphys10" ]]; then + T="/data/g/gpetrucc/TREES_72X_040115"; + J=8; +else + T="/afs/cern.ch/work/g/gpetrucc/TREES_72X_040115"; + J=4; +fi + +LUMI=4.0 +OUTDIR="susy_cards_1l_4fb" +#OPTIONS=" -P $T -j $J -l $LUMI -f --s2v --tree treeProducerSusyMultilepton --od $OUTDIR --asimov " +#OPTIONS=" $OPTIONS -F sf/t $T/0_lepMVA_v1/evVarFriend_{cname}.root " +OPTIONS=" -P $T -j $J -l $LUMI -f --s2v --tree treeProducerSusySingleLepton --od $OUTDIR --asimov " + + +function makeCard_2lss { + local EXPR=$1; local BINS=$2; local SYSTS=$3; local OUT=$4; local GO=$5 + + # b-jet cuts + case $SR in + 0[0-9X]) GO="${GO} -R nBjet nBjet0 nBJetMedium40==0 " ;; + 1[0-9X]) GO="${GO} -R nBjet nBjet1 nBJetMedium40==1 " ;; + 2[0-9X]) GO="${GO} -R nBjet nBjet2 nBJetMedium40==2 " ;; + 3[0-9X]) GO="${GO} -R nBjet nBjet3 nBJetMedium40>=3 " ;; + 2[0-9X]+) GO="${GO} -R nBjet nBjet2 nBJetMedium40>=2 " ;; + 0[0-9X]s) GO="${GO} -R nBjet nBjet3 nBJetMedium40+min(nBJetMedium25+nSoftBTight25-nBJetMedium40,1)==0 " ;; + 1[0-9X]s) GO="${GO} -R nBjet nBjet3 nBJetMedium40+min(nBJetMedium25+nSoftBTight25-nBJetMedium40,1)==1 " ;; + 2[0-9X]s) GO="${GO} -R nBjet nBjet3 nBJetMedium40+min(nBJetMedium25+nSoftBTight25-nBJetMedium40,1)==2 " ;; + 3[0-9X]s) GO="${GO} -R nBjet nBjet3 nBJetMedium40+min(nBJetMedium25+nSoftBTight25-nBJetMedium40,1)>=3 " ;; + esac; + + # kinematics + case $SR in + [0-3]X|[0-3]X+) GO="${GO} -R met met met_pt>50 -R ht ht htJet40j>200 " ;; + esac; + + # lepton final state + case $LL in + ee) GO="${GO} -R anyll ee abs(LepGood1_pdgId)==11&&abs(LepGood2_pdgId)==11 " ;; + em) GO="${GO} -R anyll em abs(LepGood1_pdgId)!=abs(LepGood2_pdgId) " ;; + mm) GO="${GO} -R anyll mm abs(LepGood1_pdgId)==13&&abs(LepGood2_pdgId)==13 " ;; + 3l) GO="${GO} -I exclusive -X same-sign -R anyll lep3-cuts LepGood3_relIso03<0.1&&LepGood3_tightId>(abs(LepGood3_pdgId)==11)&&LepGood3_sip3d<4&&(abs(LepGood3_pdgId)==13||(LepGood3_convVeto&&LepGood3_lostHits==0&&LepGood3_tightCharge>1))" + esac; + + # lepton pt categories + case $LPt in + hl) GO="${GO} -I lep2_pt25" ;; + ll) GO="${GO} -I lep1_pt25 -X lep2_pt25" ;; + ii) GO="${GO} -X lep1_pt25 -X lep2_pt25" ;; + 2020) GO="${GO} -R lep1_pt25 lep2020 LepGood2_pt>20 -X lep2_pt25" ;; + esac; + + # inclusive vs exclusive + case $MOD in + inc) GO="${GO} -X exclusive --mcc bins/susymultilepton/susy_2lssinc_lepchoice.txt" ;; + esac; + + if [[ "$PRETEND" == "1" ]]; then + echo "making datacard $OUT from makeShapeCardsSusy.py mca-Phys14.txt bins/susymultilepton/susy_2lss_sync.txt \"$EXPR\" \"$BINS\" $SYSTS $GO;" + else + echo "making datacard $OUT from makeShapeCardsSusy.py mca-Phys14.txt bins/susymultilepton/susy_2lss_sync.txt \"$EXPR\" \"$BINS\" $SYSTS $GO;" + python makeShapeCardsSusy.py mca-Phys14.txt bins/susymultilepton/susy_2lss_sync.txt "$EXPR" "$BINS" $SYSTS -o $OUT $GO; + echo " -- done at $(date)"; + fi; +} + + +function makeCard_1l { + local EXPR=$1; local BINS=$2; local SYSTS=$3; local OUT=$4; local GO=$5 + + # b-jet cuts + case $nB in + 0B) GO="${GO} -R 1nB 0nB nBJetCMVAMedium30==0 " ;; + 1B) GO="${GO} -R 1nB 1nB nBJetCMVAMedium30==1 " ;; + 2B) GO="${GO} -R 1nB 2nB nBJetCMVAMedium30==2 " ;; + 2Btop) GO="${GO} -R 1nB 2nB nBJetCMVAMedium30==2&&Topness>5 " ;; + 3p) GO="${GO} -R 1nB 3nBp nBJetCMVAMedium30>=3 " ;; + esac; + + # lepton final state + case $ST in + ST0) GO="${GO} -R st200 st200250 LepGood_pt[tightLeps25idx[0]]+met_pt>200&&LepGood_pt[tightLeps25idx[0]]+met_pt<250 " ;; + ST1) GO="${GO} -R st200 st250350 LepGood_pt[tightLeps25idx[0]]+met_pt>250&&LepGood_pt[tightLeps25idx[0]]+met_pt<350 " ;; + ST2) GO="${GO} -R st200 st350450 LepGood_pt[tightLeps25idx[0]]+met_pt>350&&LepGood_pt[tightLeps25idx[0]]+met_pt<450 " ;; + ST3) GO="${GO} -R st200 st450600 LepGood_pt[tightLeps25idx[0]]+met_pt>450&&LepGood_pt[tightLeps25idx[0]]+met_pt<600 " ;; + ST4) GO="${GO} -R st200 st600Inf LepGood_pt[tightLeps25idx[0]]+met_pt>600 " ;; + esac; + + # lepton pt categories + case $nJ in + 45j) GO="${GO} -R geq6j 45j nCentralJet30>=4&&nCentralJet30<=5" ;; + 68j) GO="${GO} -R geq6j 67j nCentralJet30>=6&&nCentralJet30<=8" ;; + 6Infj) GO="${GO} -R geq6j geq6j nCentralJet30>=6" ;; + 9Infj) GO="${GO} -R geq6j geq8j nCentralJet30>=9" ;; + 68TTj) GO="${GO} -R geq6j 79TTj nCentralJet30+2*nHighPtTopTagPlusTau23>=6&&nCentralJet30+2*nHighPtTopTagPlusTau23<9" ;; ##-R dphi --> 0.5 und SingleTopness + 9InfTTj) GO="${GO} -R geq6j 9InfTTj nCentralJet30+2*nHighPtTopTagPlusTau23>=9" ;; + esac; + + case $HT in + HT0) GO="${GO} -R ht500 ht5001000 htJet30j>500&&htJet30j<1000" ;; + HT1) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000" ;; + HTDPhi) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000 -R dp1 dp05 fabs(DeltaPhiLepW)>0.5 " ;; + HTStop) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000 -R dp1 dp05 fabs(DeltaPhiLepW)>0.5 -A dp1 stopness (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175>1.25" ;; + HTTop) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000 -R dp1 dp05 fabs(DeltaPhiLepW)>0.5 -A dp1 stopness (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175>1.25&&Topness>5" ;; + HTLowLepPt) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000 -R 1tl 1tllowpt nTightLeps25==1&&LepGood_pt[tightLeps25idx[0]]<=25 -R dp1 dp00 fabs(DeltaPhiLepW)>0.0 -A dp1 stopness (TopVarsMETovTopMin[0]-0.5)/0.5+(TopVarsMtopMin[0]-175)/175>1.25&&Topness>5" ;; + HTLowLepPtDPhi) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000 -R 1tl 1tllowpt nTightLeps25==1&&LepGood_pt[tightLeps25idx[0]]<=25" ;; + HTTTYes) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000&&nHighPtTopTagPlusTau23>=1" ;; + HTTTNo) GO="${GO} -R ht500 ht1000Inf htJet30j>=1000&&nHighPtTopTagPlusTau23==0" ;; + esac; + + if [[ "$PRETEND" == "1" ]]; then + echo "making datacard $OUT from makeShapeCardsSusy.py mca-Phys14_1l.txt bins/1l_CardsFullCutFlow.txt \"$EXPR\" \"$BINS\" $SYSTS $GO --dummyYieldsForZeroBkg;" + else + echo "making datacard $OUT from makeShapeCardsSusy.py mca-Phys14_1l.txt bins/1l_CardsFullCutFlow.txt \"$EXPR\" \"$BINS\" $SYSTS $GO --dummyYieldsForZeroBkg;" + python makeShapeCardsSusy.py mca-Phys14_1l.txt bins/1l_CardsFullCutFlow.txt "$EXPR" "$BINS" $SYSTS -o $OUT $GO --dummyYieldsForZeroBkg; + echo " -- done at $(date)"; + fi; +} + + +function combineCardsSmart { + DummyC=0 + AllC=0 + CMD="" + for C in $*; do + # missing datacards + test -f $C || continue; + + if grep -q "DummyContent" $C; then + echo "empty bin ${C}" >&2 + DummyC=$(($DummyC+1)) + if grep -q "observation 0.0$" $C; then + echo "this is not the way it was intended..." + fi + fi + + grep -q "observation 0.0$" $C && continue + AllC=$((AllC+1)) + CMD="${CMD} $(basename $C .card.txt)=$C "; + done + if [[ "$CMD" == "" ]]; then + echo "Not any card found in $*" 1>&2 ; + else +# echo "combineCards.py $CMD" >&2 + combineCards.py $CMD + fi + if [[ DummyC>=0 ]]; then + echo "In total $DummyC out of $AllC are empty, but taken into account by adding DummyContent." >&2 + fi +} + +if [[ "$1" == "--pretend" ]]; then + PRETEND=1; shift; +fi; +if [[ "$1" == "2lss-2012" ]]; then + OPTIONS=" $OPTIONS -F sf/t $T/1_susyVars_2lssInc_v0/evVarFriend_{cname}.root " + SYSTS="syst/susyDummy.txt" + CnC_expr="1+4*(met_pt>120)+(htJet40j>400)+2*(nJet40>=4)" + CnC_bins="[0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5]" + MOD=inc; + + echo "Making individual datacards" + for LL in ee em mm; do for LPt in 2020; do for SR in 0X 1X 2X+; do + echo " --- CnC2012_${SR}_${LL} ---" + #makeCard_2lss $CnC_expr $CnC_bins $SYSTS CnC2012_${SR}_${LL} "$OPTIONS"; + done; done; done + echo "Making combined datacards" + for D in $OUTDIR/T[0-9]*; do + test -f $D/CnC2012_0X_ee.card.txt || continue + (cd $D; + for SR in 0X 1X 2X+; do + combineCards.py CnC2012_${SR}_{ee,em,mm}.card.txt > CnC2012_${SR}.card.txt + done + combineCards.py CnC2012_{0X,1X,2X+}.card.txt > CnC2012.card.txt + ); + echo "Made combined card $D/CnC2012.card.txt" + done + echo "Done at $(date)"; + +elif [[ "$1" == "2lss-2015" ]]; then + OPTIONS=" $OPTIONS -F sf/t $T/1_susyVars_2lssInc_v2/evVarFriend_{cname}.root " + SYSTS="syst/susyDummy.txt" + CnC_expr="1+4*(met_pt>120)+(htJet40j>400)+2*(nJet40>=4)" + CnC_bins="[0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5]" + MOD=inc; + + echo "Making individual datacards" + for LL in ee em mm; do for LPt in hh hl ll; do for SR in 0X 1X 2X 3X 2X+; do + #for LL in ee em mm; do for LPt in hh hl ll ; do for SR in 0Xs 1Xs 2Xs 3Xs; do + echo " --- CnC2015_${SR}_${LL}_${LPt} ---" + makeCard_2lss $CnC_expr $CnC_bins $SYSTS CnC2015_${SR}_${LL}_${LPt} "$OPTIONS"; + done; done; done + #exit + echo "Making combined datacards" + for D in $OUTDIR/T[0-9]*; do + test -f $D/CnC2015_0X_ee_hh.card.txt || continue + (cd $D && echo " $D"; + for SR in 0X 1X 2X 3X 2X+; do + #for SR in 0Xs 1Xs 2Xs 3Xs; do + combineCardsSmart CnC2015_${SR}_{ee,em,mm}_hh.card.txt > CnC2015_${SR}_hh.card.txt + combineCardsSmart CnC2015_${SR}_{ee,em,mm}_{hh,hl,ll}.card.txt > CnC2015_${SR}.card.txt + done + combineCardsSmart CnC2015_{0X,1X,2X+}.card.txt > CnC2015_2b.card.txt + combineCardsSmart CnC2015_{0X,1X,2X+}_hh.card.txt > CnC2015_2b_hh.card.txt + combineCardsSmart CnC2015_{0X,1X,2X,3X}_hh.card.txt > CnC2015_3b_hh.card.txt + combineCardsSmart CnC2015_{0X,1X,2X,3X}.card.txt > CnC2015_3b.card.txt + #combineCardsSmart CnC2015_{0Xs,1Xs,2Xs,3Xs}_hh.card.txt > CnC2015_3bs_hh.card.txt + #combineCardsSmart CnC2015_{0Xs,1Xs,2Xs,3Xs}.card.txt > CnC2015_3bs.card.txt + ) + done + echo "Done at $(date)"; + +elif [[ "$1" == "2lss-2015x" ]]; then + OPTIONS=" $OPTIONS -F sf/t $T/1_susyVars_2lssInc_v2/evVarFriend_{cname}.root " + SYSTS="syst/susyDummy.txt" + CnC_expr="1+4*(met_pt>120)+(htJet40j>400)+2*(nJet40>=4)" + CnC_bins="[0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5]" + MOD=excl; + + echo "Making individual datacards" + for LL in ee em mm 3l; do for LPt in hh hl ll; do for SR in 0X 1X 2X 3X; do + echo " --- CnC2015X_${SR}_${LL}_${LPt} ---" + makeCard_2lss $CnC_expr $CnC_bins $SYSTS CnC2015X_${SR}_${LL}_${LPt} "$OPTIONS"; + done; done; done + #exit + echo "Making combined datacards" + for D in $OUTDIR/T[0-9]*; do + test -f $D/CnC2015X_0X_ee_hh.card.txt || continue + (cd $D && echo " $D"; + for SR in 0X 1X 2X 3X; do + combineCardsSmart CnC2015X_${SR}_{ee,em,mm}_hh.card.txt > CnC2015X_${SR}_hh.card.txt + combineCardsSmart CnC2015X_${SR}_{ee,em,mm}_{hh,hl,ll}.card.txt > CnC2015X_${SR}.card.txt + combineCardsSmart CnC2015X_${SR}_{ee,em,mm,3l}_hh.card.txt > CnC2015X_${SR}_hh_w3l.card.txt + combineCardsSmart CnC2015X_${SR}_{ee,em,mm,3l}_{hh,hl,ll}.card.txt > CnC2015X_${SR}_w3l.card.txt + done + combineCardsSmart CnC2015X_{0X,1X,2X,3X}_hh.card.txt > CnC2015X_3b_hh.card.txt + combineCardsSmart CnC2015X_{0X,1X,2X,3X}.card.txt > CnC2015X_3b.card.txt + combineCardsSmart CnC2015X_{0X,1X,2X,3X}_hh_w3l.card.txt > CnC2015X_3b_hh_w3l.card.txt + combineCardsSmart CnC2015X_{0X,1X,2X,3X}_w3l.card.txt > CnC2015X_3b_w3l.card.txt + ) + done + echo "Done at $(date)"; + +fi + +if [[ "$2" == "1l-2015" ]]; then +# OPTIONS=" $OPTIONS -F sf/t $T/PHYS14_V2_Friends_MarkusHenningMerge_10GeVTightLepsInsteadOf25GeV/evVarFriend_{cname}.root " + OPTIONS=" $OPTIONS -F sf/t $T/PHYS14_V3_Friends/evVarFriend_{cname}.root " + SYSTS="syst/susyDummy.txt" + CnC_expr="1" #not used as of now + CnC_bins="[0.5,1.5]" + + + echo "Making individual datacards" + for ST in ST0 ST1 ST2 ST3 ST4; do for nJ in 45j 68j 6Infj 9Infj 68TTj 9InfTTj; do for nB in 0B 1B 2B 2Btop 3p; do for HT in HT0 HT1 HTDPhi HTStop HTTop HTLowLepPt HTLowLepPtDPhi HTTTYes HTTTNo; do +# for ST in ST0; do for nJ in 45j 68j 6Infj 9Infj 68TTj 9InfTTj; do for nB in 2B 2Btop 3p; do for HT in HT0 HT1 HTDPhi HTStop HTTop HTLowLepPt HTTTYes HTTTNo; do + echo " --- CnC2015X_${nB}_${ST}_${nJ}_${HT} ---" + makeCard_1l $CnC_expr $CnC_bins $SYSTS CnC2015X_${nB}_${ST}_${nJ}_${HT} "$OPTIONS"; + done; done; done; done + #exit + echo "Making combined datacards" + for D in $OUTDIR/T[0-9]*; do + test -f $D/CnC2015X_2B_ST0_45j_HT0.card.txt || continue + (cd $D && echo " $D"; +# for nB in 0B 1B 2B 3p; do + for nB in 2B 2Btop 3p; do +# echo "combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_{HT0,HT1}.card.txt > CnC2015X_${nB}_standardnJ.card.txt" + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_{HT0,HT1}.card.txt > CnC2015X_${nB}_standardnJ.card.txt + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_{HT0,HT1}.card.txt > CnC2015X_${nB}_finenJ.card.txt + + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HT1.card.txt > CnC2015X_${nB}_standardnJ_HT1.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTLowLepPt.card.txt > CnC2015X_${nB}_standardnJ_HTLowLepPt.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTLowLepPtDPhi.card.txt > CnC2015X_${nB}_standardnJ_HTLowLepPtDPhi.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTDPhi.card.txt > CnC2015X_${nB}_standardnJ_HTDPhi.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTStop.card.txt > CnC2015X_${nB}_standardnJ_HTStop.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTTop.card.txt > CnC2015X_${nB}_standardnJ_HTTop.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_{HTTTYes,HTTTNo}.card.txt > CnC2015X_${nB}_standardnJ_HTTTYesNo.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTTTYes.card.txt > CnC2015X_${nB}_standardnJ_HTTTYes.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_6Infj_HTTTNo.card.txt > CnC2015X_${nB}_standardnJ_HTTTNo.card.txt # only high HT + + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HT1.card.txt > CnC2015X_${nB}_finenJ_HT1.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTLowLepPt.card.txt > CnC2015X_${nB}_finenJ_HTLowLepPt.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTLowLepPtDPhi.card.txt > CnC2015X_${nB}_finenJ_HTLowLepPtDPhi.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTDPhi.card.txt > CnC2015X_${nB}_finenJ_HTDPhi.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTStop.card.txt > CnC2015X_${nB}_finenJ_HTStop.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTTop.card.txt > CnC2015X_${nB}_finenJ_HTTop.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_{HTTTYes,HTTTNo}.card.txt > CnC2015X_${nB}_finenJ_HTTTYesNo.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTTTYes.card.txt > CnC2015X_${nB}_finenJ_HTTTYes.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68j,9Infj}_HTTTNo.card.txt > CnC2015X_${nB}_finenJ_HTTTNo.card.txt # only high HT + + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68TTj,9InfTTj}_HT1.card.txt > CnC2015X_${nB}_finenJ_HT1TT.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68TTj,9InfTTj}_HTStop.card.txt > CnC2015X_${nB}_finenJ_HTTopTT.card.txt # only high HT + combineCardsSmart CnC2015X_${nB}_{ST0,ST1,ST2,ST3,ST4}_{68TTj,9InfTTj}_HTStop.card.txt > CnC2015X_${nB}_MarkusProposal.card.txt + done + combineCardsSmart CnC2015X_{2B,3p}_standardnJ.card.txt > CnC2015X_standardnJ.card.txt + combineCardsSmart CnC2015X_{2B,3p}_finenJ.card.txt > CnC2015X_finenJ.card.txt + combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HT1.card.txt > CnC2015X_standardnJ_HT1.card.txt + combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTLowLepPt.card.txt > CnC2015X_standardnJ_HTLowLepPt.card.txt + combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTLowLepPtDPhi.card.txt > CnC2015X_standardnJ_HTLowLepPtDPhi.card.txt + combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTDPhi.card.txt > CnC2015X_standardnJ_HTDPhi.card.txt + combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTStop.card.txt > CnC2015X_standardnJ_HTStop.card.txt + combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTTop.card.txt > CnC2015X_standardnJ_HTTop.card.txt + combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTTTYesNo.card.txt > CnC2015X_standardnJ_HTTTYesNo.card.txt + combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTTTYes.card.txt > CnC2015X_standardnJ_HTTTYes.card.txt + combineCardsSmart CnC2015X_{2B,3p}_standardnJ_HTTTNo.card.txt > CnC2015X_standardnJ_HTTTNo.card.txt + + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HT1.card.txt > CnC2015X_finenJ_HT1.card.txt + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTLowLepPt.card.txt > CnC2015X_finenJ_HTLowLepPt.card.txt + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTLowLepPtDPhi.card.txt > CnC2015X_finenJ_HTLowLepPtDPhi.card.txt + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTDPhi.card.txt > CnC2015X_finenJ_HTDPhi.card.txt + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTStop.card.txt > CnC2015X_finenJ_HTStop.card.txt + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTTop.card.txt > CnC2015X_finenJ_HTTop.card.txt + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTTTYesNo.card.txt > CnC2015X_finenJ_HTTTYesNo.card.txt + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTTTYes.card.txt > CnC2015X_finenJ_HTTTYes.card.txt + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTTTNo.card.txt > CnC2015X_finenJ_HTTTNo.card.txt + + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HT1TT.card.txt > CnC2015X_finenJ_HT1TT.card.txt + combineCardsSmart CnC2015X_{2B,3p}_finenJ_HTTopTT.card.txt > CnC2015X_finenJ_HTTopTT.card.txt + combineCardsSmart CnC2015X_{2Btop,3p}_MarkusProposal.card.txt > CnC2015X_MarkusProposal.card.txt + + combineCardsSmart CnC2015X_standardnJ_{HT1,HTLowLepPt}.card.txt > CnC2015X_standardnJ_HighLowLepPt.card.txt + combineCardsSmart CnC2015X_finenJ_{HT1,HTLowLepPt}.card.txt > CnC2015X_finenJ_HighLowLepPt.card.txt + ) + done + echo "Done at $(date)"; + +fi + diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_multiiso.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_multiiso.txt new file mode 100644 index 000000000000..bf9b76b32f8a --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_multiiso.txt @@ -0,0 +1,21 @@ +>= 2 good leptons: nLepGood10 >= 2 +minMllAS8: minMllAFAS > 8 +exclusive: nLepGood10 == 2 +anyll: abs(LepGood1_pdgId) > 0 && abs(LepGood2_pdgId) > 0 +same-sign: LepGood1_charge*LepGood2_charge > 0 +lep1_pt25: LepGood1_pt > 25 +lep2_pt25: LepGood2_pt > 25 +lep iso: multiIso_multiWP(LepGood1_pdgId,LepGood1_pt,LepGood1_eta,LepGood1_miniRelIso,LepGood1_jetPtRatio,LepGood1_jetPtRel,2) > 0 && \ + multiIso_multiWP(LepGood2_pdgId,LepGood2_pt,LepGood2_eta,LepGood2_miniRelIso,LepGood2_jetPtRatio,LepGood2_jetPtRel,2) > 0 +lep mu id: LepGood1_mediumMuonId > 0 && LepGood2_mediumMuonId > 0 +lep el id: ( LepGood1_mvaIdPhys14 >=0.73+(0.57-0.73)*(abs(LepGood1_eta)>0.8)+(+0.05-0.57)*(abs(LepGood1_eta)>1.479) || abs(LepGood1_pdgId) == 13) && \ + ( LepGood2_mvaIdPhys14 >=0.73+(0.57-0.73)*(abs(LepGood2_eta)>0.8)+(+0.05-0.57)*(abs(LepGood2_eta)>1.479) || abs(LepGood2_pdgId) == 13) +lep dxy: max(LepGood1_sip3d,LepGood2_sip3d) < 4 +ele cuts: (abs(LepGood1_pdgId) == 13 || (LepGood1_convVeto && LepGood1_lostHits == 0)) && \ + (abs(LepGood2_pdgId) == 13 || (LepGood2_convVeto && LepGood2_lostHits == 0)) +tight charge: LepGood1_tightCharge > (abs(LepGood1_pdgId) == 11) && LepGood2_tightCharge > (abs(LepGood2_pdgId) == 11) +ht: htJet40j > 80 +met: met_pt > 30 || htJet40j > 500 +njet: nJet40 >=2 +nBjet: nBJetMedium25 >= 0 + diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_plots.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_plots.txt new file mode 100644 index 000000000000..1efa6b444b26 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_plots.txt @@ -0,0 +1,43 @@ +met: met_pt: 18,0,800 ; XTitle="E_{T}^{miss} [GeV]" +lep1Pt: LepGood1_pt: 25,0,250; XTitle="Leading lepton p_{T} [GeV]", Legend='TR' +lep2Pt: LepGood2_pt: 18,0,100; XTitle="Second lepton p_{T} [GeV]", Legend='TR' +nJet25 : nJet25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5,11.5,12.5,13.5] ; XTitle='N(jet\, p_{T} > 25)' +nJet40 : nJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5] ; XTitle='N(jet\, p_{T} > 40)' +htJet25: htJet25: 18,0,2000 ; XTitle="H_{T}(lep + jet p_{T} > 25) [GeV]",XNDiv=505 +htJet40: htJet40: 18,0,2000 ; XTitle="H_{T}(lep + jet p_{T} > 40) [GeV]",XNDiv=505 +htJet40j: htJet40j: 18,0,2000 ; XTitle="H_{T}(jet p_{T} > 40) [GeV]",XNDiv=505 +mhtJet25: mhtJet25: 18,0,800 ; XTitle="H_{T}^{miss}(lep + jet p_{T} > 25) [GeV]" +mhtJet40: mhtJet40: 18,0,800 ; XTitle="H_{T}^{miss}(lep + jet p_{T} > 40) [GeV]" +nBJet25 : nBJetMedium25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 25\, CSVM)' +nBJet40 : nBJetMedium40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 40\, CSVM)' +jet1Pt: Jet1_pt: 18,0,600; XTitle="Leading jet p_{T} [GeV]", Legend='TR' +jet2Pt: Jet2_pt: 18,0,300; XTitle="Second jet p_{T} [GeV]", Legend='TR' +jet2qgl: Jet2_qgl: 18,0,1; XTitle="Second jet QG Tag", Legend='TR' +ptavgEtaJets: (abs(Jet_eta[0])*Jet_pt[0]+abs(Jet_eta[1])*Jet_pt[1])/(Jet_pt[0]+Jet_pt[1]): 18,0,2.5; XTitle="average jet |#eta| (p_{T} weighted)", Legend='TL' +mtW1: mt_2(LepGood1_pt,LepGood1_phi,met_pt,met_phi) : 18,0,350; XTitle="M_{T}(l_{1}\,E_{T}^{miss}) [GeV]",NXDiv=505 +mtW2: mt_2(LepGood2_pt,LepGood2_phi,met_pt,met_phi) : 18,0,250; XTitle="M_{T}(l_{2}\,E_{T}^{miss}) [GeV]",NXDiv=505 +mtWmin: min(mt_2(LepGood1_pt,LepGood1_phi,met_pt,met_phi),mt_2(LepGood2_pt,LepGood2_phi,met_pt,met_phi)) : 18,0,200; XTitle="min M_{T}(l_{i}\,E_{T}^{miss}) [GeV]",NXDiv=505 +maxLepEta: max(abs(LepGood1_eta),abs(LepGood2_eta)): 18,0,2.5; XTitle="max |#eta| (l1\, l2)" +minLepEta: min(abs(LepGood1_eta),abs(LepGood2_eta)): 18,0,2.5; XTitle="min |#eta| (l1\, l2)" +htCenRatio4j : (LepGood1_pt*(abs(LepGood1_eta)<1.2) + LepGood2_pt*(abs(LepGood2_eta)<1.2) + Jet1_pt*(abs(Jet1_eta) < 1.2) + Jet2_pt*(abs(Jet2_eta) < 1.2) + Jet3_pt*(abs(Jet3_eta) < 1.2) + Jet4_pt*(abs(Jet4_eta) < 1.2))/ \ + (LepGood1_pt + LepGood2_pt + Jet1_pt*(abs(Jet1_eta) < 2.4) + Jet2_pt*(abs(Jet2_eta) < 2.4) + Jet3_pt*(abs(Jet3_eta) < 2.4) + Jet4_pt*(abs(Jet4_eta) < 2.4)) \ + : 8, 0, 1; XTitle='H_{T}(|#eta| < 1.2)/H_{T}(|#eta| < 2.4) 4j',XNDiv=505,Legend='TL' +htCenRatio4jT: (LepGood1_pt*(abs(LepGood1_eta)<0.8) + LepGood2_pt*(abs(LepGood2_eta)<0.8) + Jet1_pt*(abs(Jet1_eta) < 0.8) + Jet2_pt*(abs(Jet2_eta) < 0.8) + Jet3_pt*(abs(Jet3_eta) < 0.8) + Jet4_pt*(abs(Jet4_eta) < 0.8))/ \ + (LepGood1_pt + LepGood2_pt + Jet1_pt*(abs(Jet1_eta) < 2.4) + Jet2_pt*(abs(Jet2_eta) < 2.4) + Jet3_pt*(abs(Jet3_eta) < 2.4) + Jet4_pt*(abs(Jet4_eta) < 2.4)) \ + : 8, 0, 1; XTitle='H_{T}(|#eta| < 0.8)/H_{T}(|#eta| < 2.4) 4j',XNDiv=505,Legend='TL' +htCenRatio2j : (LepGood1_pt*(abs(LepGood1_eta)<1.2) + LepGood2_pt*(abs(LepGood2_eta)<1.2) + Jet1_pt*(abs(Jet1_eta) < 1.2) + Jet2_pt*(abs(Jet2_eta) < 1.2))/ \ + (LepGood1_pt + LepGood2_pt + Jet1_pt*(abs(Jet1_eta) < 2.4) + Jet2_pt*(abs(Jet2_eta) < 2.4)) \ + : 8, 0, 1; XTitle='H_{T}(|#eta| < 1.2)/H_{T}(|#eta| < 2.4) 2j',XNDiv=505,Legend='TL' +mll : mass_2(LepGood1_pt,LepGood1_eta,LepGood1_phi,LepGood1_mass, LepGood2_pt,LepGood2_eta,LepGood2_phi,LepGood2_mass): 15,0,300; XTitle="m(ll) [GeV]" +ptll : pt_2(LepGood1_pt,LepGood1_phi, LepGood2_pt,LepGood2_phi): 18,0,240; XTitle="p_{T}(ll) [GeV]", XNDiv=505 +htll : LepGood1_pt+LepGood2_pt: 15,0,300; XTitle="H_{T}(ll) [GeV]" +drll : deltaR(LepGood1_eta,LepGood1_phi, LepGood2_eta,LepGood2_phi): 8,0,4; XTitle="#DeltaR(ll)", MoreY=1.3, Legend='TL' +dphill : abs(deltaPhi(LepGood1_phi, LepGood2_phi)): 6,0,3.1416; XTitle="#Delta#phi(ll)", MoreY=1.5, Legend='TL' +bestMWjj: bestMWjj: 18, 50, 180; XTitle="best m(W->jj) [GeV]" +bestMWjjPt: bestMWjjPt: 18, 0, 500; XTitle="p_{T} of best m(W->jj) [GeV]" +bestMTopHad: bestMTopHad: 18, 50, 350; XTitle="best m(t->jjb) [GeV]" +bestMTopHad_noBin0: bestMTopHad: 18, 50, 350; XTitle="best m(t->jjb) [GeV]", IncludeOverflows=False +bestMTopHadPt: bestMTopHadPt: 18, 0, 350; XTitle="p_{T} of best m(t->jjb) [GeV]" + +susyBin: 1+4*(met_pt > 120)+(htJet40j > 400)+2*(nJet40 >= 4): [0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5]; XTitle="SUS-13-013 bin", Legend='TL' +finalMVA_susy_2LSS: finalMVA_susy_2LSS: 12,0,1; XTitle="Kin MVA", Legend='TL' diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_sync.sh b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_sync.sh new file mode 100644 index 000000000000..8e2f053e2696 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_sync.sh @@ -0,0 +1,98 @@ +#!/bin/bash + +T="/afs/cern.ch/user/g/gpetrucc/w/TREES_72X_050515_2lssSync" +#T="/afs/cern.ch/user/g/gpetrucc/w/TREES_72X_210315_NoIso" +CORE="-P $T --s2v --tree treeProducerSusyMultilepton " +CORE="${CORE} -F sf/t {P}/1_lepJetReClean_Susy_v4/evVarFriend_{cname}.root" +CORE="${CORE} -X exclusive --mcc susy-multilepton/susy_2lssinc_lepchoice_multiiso.txt" + +POST=""; +WHAT="$1"; shift; +if [[ "$WHAT" == "mccounts" ]]; then + GO="python mcAnalysis.py $CORE mca-Phys14.txt susy-multilepton/susy_2lss_multiiso.txt -p T1tttt_HM -f -G -u " + POST="| awk '/all/{print \$2}' " +elif [[ "$WHAT" == "mcyields" ]]; then + #GO="python mcAnalysis.py $CORE mca-Phys14.txt susy-multilepton/susy_2lss_sync.txt -p 'T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD,TTX,WZ,TT,WJets,DY' --pgroup TTX=TT[WZH] -f -G -l 4.0" + GO="python mcAnalysis.py $CORE mca-Phys14.txt susy-multilepton/susy_2lss_multiiso.txt -p 'T1tttt_HM,TTX,TT' --pgroup TTX=TT[WZH] -f -G -l 4.0" +elif [[ "$WHAT" == "mcplots" ]]; then + GO="python mcPlots.py $CORE mca-Phys14.txt susy-multilepton/susy_2lss_multiiso.txt -f -G -l 4.0 -p T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD,TT.,TT,WJets,DY,T,TW,WZ -j 8 -f --showIndivSigs --noStackSig --legendWidth 0.30 --ss 5 susy-multilepton/susy_2lss_plots.txt" +elif [[ "$WHAT" == "mcdumps" ]]; then + FMT='{run:1d} {lumi:9d} {evt:12d}\t{nLepGood_Mini:2d}\t{LepGood1_pdgId:+2d} {LepGood1_pt:5.1f}\t{LepGood2_pdgId:+2d} {LepGood2_pt:5.1f}\t{nJet40}\t{nBJetMedium25:2d}\t{met_pt:5.1f}\t{htJet40j:6.1f}\t{SR_Mini:2d}' + python mcDump.py $CORE mca-Phys14.txt susy-multilepton/susy_2lss_multiiso.txt -p 'T1tttt_HM' $FMT | sort -n -k1 -k2 > 2lssInc_all.txt + python mcDump.py $CORE mca-Phys14.txt susy-multilepton/susy_2lss_multiiso.txt -p 'T1tttt_HM' -X lep1_pt25 -X lep2_pt25 -X 'lep id' -X 'lep iso' -X 'lep dxy' -X 'ele cuts' $FMT | sort -n -k1 -k2 > 2lssInc_all_relaxLept.txt + wc -l 2lssInc_all.txt 2lssInc_all_relaxLept.txt + exit; +else + echo "I don't know what you want" + exit; +fi + +SAVE="${GO}" +#for LL in ee em mm ll; do +for LL in ee em mm; do +for SR in 0 10 20 30; do # 0X 1X 2X 3X; do +for LPt in hh hl; do +for MOD in multiiso; do #oldpresel ptrel miniiso; do + +GO="${SAVE}" +case $SR in +0) GO="${GO} -R nBjet nBjet0 'nBJetMedium25 >= 0' " ;; +00) GO="${GO} -R nBjet nBjet0 'nBJetMedium25 == 0' " ;; +10) GO="${GO} -R nBjet nBjet1 'nBJetMedium25 == 1' " ;; +20) GO="${GO} -R nBjet nBjet2 'nBJetMedium25 == 2' " ;; +20+) GO="${GO} -R nBjet nBjet2 'nBJetMedium25 >= 2' " ;; +30) GO="${GO} -R nBjet nBjet3 'nBJetMedium25 >= 3' " ;; +0[1-9X]) GO="${GO} -R nBjet nBjet0 'nBJetMedium25 == 0' -R met metSR 'met_pt > 50' -R ht htSR 'htJet40j > 200'" ;; +1[1-9X]) GO="${GO} -R nBjet nBjet1 'nBJetMedium25 == 1' -R met metSR 'met_pt > 50' -R ht htSR 'htJet40j > 200'" ;; +2[1-9X]) GO="${GO} -R nBjet nBjet2 'nBJetMedium25 == 2' -R met metSR 'met_pt > 50' -R ht htSR 'htJet40j > 200'" ;; +3[1-9X]) GO="${GO} -R nBjet nBjet3 'nBJetMedium25 >= 3' -R met metSR 'met_pt > 50' -R ht htSR 'htJet40j > 200'" ;; +2[1-9X]+) GO="${GO} -R nBjet nBjet2 'nBJetMedium25 >= 2' -R met metSR 'met_pt > 50' -R ht htSR 'htJet40j > 200'" ;; + +esac; +case $LL in +ee) GO="${GO} -R anyll ee 'abs(LepGood1_pdgId) == 11 && abs(LepGood2_pdgId) == 11' " ;; +em) GO="${GO} -R anyll em 'abs(LepGood1_pdgId) != abs(LepGood2_pdgId)' " ;; +mm) GO="${GO} -R anyll mm 'abs(LepGood1_pdgId) == 13 && abs(LepGood2_pdgId) == 13' " ;; +esac; +case $LPt in +hl) GO="${GO} -I lep2_pt25" ;; +ll) GO="${GO} -I lep1_pt25 -X lep2_pt25" ;; +ii) GO="${GO} -X lep1_pt25 -X lep2_pt25" ;; +esac; +case $MOD in +oldpresel) GO="${GO//multiiso/oldpresel} " ;; +miniiso) GO="${GO//multiiso/miniiso} " ;; +ptrel) GO="${GO//multiiso/ptrel} " ;; +esac; + +if [[ "${WHAT}" == "mcplots" || "${WHAT}" == "mcrocs" ]]; then + case $SR in + 0[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T5qqqqWW_H.,T5qqqqWWD,T6ttWW_H.}" ;; + 1[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HM,T5tttt_MLDx,T6ttWW_H.,T5qqqqWW_H.,T5qqqqWWD}" ;; + 2[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx,T1ttbbWW_HL10,T6ttWW_H.}" ;; + 2[1-9X]+) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx,T1ttbbWW_HL10,T6ttWW_H.}" ;; + 3[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx,T1ttbbWW_HL10,T1ttbbWW_MM5}" ;; + 0[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T5qqqqWW_HM,T5qqqqWWD}" ;; + 1[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD}" ;; + 2[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx}" ;; + 2[1-9X]+) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx}" ;; + 3[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx}" ;; + 0[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T5qqqqWW_HM.*,T5qqqqWWD,T5qqqqWWD_.*}" ;; + 1[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HM.*,T5tttt_MLDx.*,T5qqqqWW_HM.*,T5qqqqWWD,T5qqqqWWD_.*}" ;; + 2[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL.*,T1tttt_HM.*,T5tttt_MLDx.*}" ;; + 2[1-9X]+) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL.*,T1tttt_HM.*,T5tttt_MLDx.*}" ;; + 3[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL.*,T1tttt_HM.*,T5tttt_MLDx.*}" ;; + esac + if [[ "${WHAT}" == "mcplots" ]]; then + echo "$GO --pdir plots/72X/v2/4fb/vars/2lss_${MOD}/${LL}_pt_${LPt}/${SR}${PF}/" + else + echo "$GO -o plots/72X/v2/4fb/vars/2lss_${MOD}/${LL}_pt_${LPt}/${SR}${PF}/rocs.root" + fi +else + echo "echo; echo \" ===== SR $SR${PF} $LL $LPt $MOD $LId ===== \"; $GO $POST" +fi + +done +done +done +done diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_sync.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_sync.txt new file mode 100644 index 000000000000..6111efbae96e --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lss_sync.txt @@ -0,0 +1,17 @@ +>= 2 good leptons: nLepGood10 >= 2 +minMllAS8: minMllAFAS > 8 +minMllOS12: minMllAFOS <= 0 || minMllAFOS > 12 +zveto3l: mZ1 < 76 || mZ1 > 106 +exclusive: nLepGood10 == 2 +anyll: abs(LepGood1_pdgId) > 0 && abs(LepGood2_pdgId) > 0 +same-sign: LepGood1_charge*LepGood2_charge > 0 +lep1_pt25: LepGood1_pt > 25 +lep2_pt25: LepGood2_pt > 25 +lep iso: max(LepGood1_relIso03,LepGood2_relIso03) < 0.1 +lep id: LepGood1_tightId > (abs(LepGood1_pdgId) == 11) && LepGood2_tightId > (abs(LepGood2_pdgId) == 11) +lep dxy: max(LepGood1_sip3d,LepGood2_sip3d) < 4 +ele cuts: (abs(LepGood1_pdgId) == 13 || (LepGood1_convVeto && LepGood1_lostHits == 0 && LepGood1_tightCharge > 1)) && (abs(LepGood2_pdgId) == 13 || (LepGood2_convVeto && LepGood2_lostHits == 0 && LepGood2_tightCharge > 1)) +ht: htJet40j > 80 +met: met_pt > 30 || htJet40j > 500 +njet: nJet40 >=2 +nBjet: nBJetMedium25 >= 0 diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lssinc_lepchoice.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lssinc_lepchoice.txt new file mode 100644 index 000000000000..d15aed1ab514 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lssinc_lepchoice.txt @@ -0,0 +1,2 @@ +LepGood1_(\w+) : LepGood_\1[iL1]; AlsoData +LepGood2_(\w+) : LepGood_\1[iL2]; AlsoData diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lssinc_lepchoice_multiiso.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lssinc_lepchoice_multiiso.txt new file mode 100644 index 000000000000..07913e17c6a9 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lssinc_lepchoice_multiiso.txt @@ -0,0 +1,12 @@ +LepGood1_(\w+) : LepGood_\1[iL1TV_Mini]; AlsoData +LepGood2_(\w+) : LepGood_\1[iL2TV_Mini]; AlsoData +nLepGood10\b: nLepTightVeto10_Mini; AlsoData +\bmZ1\b: mZ1cut10TL_Mini; AlsoData +minMllAFOS\b: minMllAFOSTL_Mini; AlsoData +minMllAFAS\b: mllTV_Mini; AlsoData +nJet40\b: nJet40_Mini; AlsoData +htJet40j\b: htJet40j_Mini; AlsoData +nBJetMedium40\b: nBJetMedium40_Mini; AlsoData +nJet25\b: nJet25_Mini; AlsoData +htJet25j\b: htJet25j_Mini; AlsoData +nBJetMedium25\b: nBJetMedium25_Mini; AlsoData diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lssinc_lepchoice_sync.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lssinc_lepchoice_sync.txt new file mode 100644 index 000000000000..7af2bd3ab52b --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/susy_2lssinc_lepchoice_sync.txt @@ -0,0 +1,5 @@ +LepGood1_(\w+) : LepGood_\1[iL1T]; AlsoData +LepGood2_(\w+) : LepGood_\1[iL2T]; AlsoData +\bmZ1\b: mZ1cut10TL; AlsoData +minMllAFOS\b: minMllAFOSTL; AlsoData +minMllAFAS\b: minMllAFASTL; AlsoData diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/susyDummy.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/syst/susyDummy.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/susyDummy.txt rename to CMGTools/TTHAnalysis/python/plotter/susy-multilepton/syst/susyDummy.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/syst/susySyst.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/syst/susySyst.txt new file mode 100644 index 000000000000..b526e54bd5ff --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/syst/susySyst.txt @@ -0,0 +1,45 @@ +# luminosity + +# lepton efficiencies +CMS_lepEff : ttH.*|TT[WZ] : .*2lss.* : 1.10 +CMS_lepEff : ttH.*|TT[WZ] : .*3l* : 1.15 +CMS_lepEffL : ttH.*|TT[WZ] : .*4l* : 1.10 + +# common theoretical uncertainties (fully correlated everywhere) +# note: pdf_gg is entered as 1/kappa since it has to be anti-correlated with Hgg +QCDscale_ttH : ttH.* : .* : 1.06 +QCDscale_ttW : TTW : .* : 1.10 +QCDscale_ttZ : TTZ : .* : 1.11 +pdf_gg : ttH.* : .* : 0.926 +pdf_gg : TTZ : .* : 0.919 +pdf_qqbar : TTW : .* : 1.072 +# +# shape theoretical uncertainties (private to this channel) +#CMS_ttHl_pdf_shape_ttH : ttH.* : .* : 1.03: shapeOnly +#CMS_ttHl_thu_shape_ttH : ttH.* : .* : 1.10: shapeOnly +#CMS_ttHl_pdf_shape_ttW : TTW : .* : 1.05: shapeOnly +#CMS_ttHl_pdf_shape_ttZ : TTZ : .* : 1.03: shapeOnly +#CMS_ttHl_thu_shape_ttW : TTW : .* : 1.10: shapeOnly +#CMS_ttHl_thu_shape_ttZ : TTZ : .* : 1.10: shapeOnly +# +## acceptance uncertainties (assume the same for ttW/ttZ) +#CMS_ttHl_thu_acc_ttW : TTW : .* : 1.10 +#CMS_ttHl_thu_acc_ttZ : TTZ : .* : 1.10 + +# Fake rate uncertainties (private to this channel) +# 1) overall normalizations +CMS_FRe_norm : TT$ : .*2lss_ee.* : 1.5 +CMS_FRe_norm : TT$ : .*2lss_em.* : 1.4 +CMS_FRe_norm : TT$ : .*3l.* : 1.3 +CMS_FRm_norm : TT$ : .*2lss_mu.* : 1.5 +CMS_FRm_norm : TT$ : .*2lss_em.* : 1.2 +CMS_FRm_norm : TT$ : .*3l.* : 1.25 + +# 3) shape +#CMS_FRe_shape2l : TT : .*2lss_ee.* : 1.25 : shapeOnly +#CMS_FRe_shape2l : TT : .*2lss_em.* : 1.15 : shapeOnly +#CMS_FRe_shape3l : TT : .*3l.* : 1.15 : shapeOnly +#CMS_FRm_shape2l : TT : .*2lss_mu.* : 1.12 : shapeOnly +#CMS_FRm_shape2l : TT : .*2lss_em.* : 1.06 : shapeOnly +#CMS_FRm_shape3l : TT : .*3l.* : 1.06 : shapeOnly + diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/validation.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/validation.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/validation.txt rename to CMGTools/TTHAnalysis/python/plotter/susy-multilepton/validation.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/validation_mca.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/validation_mca.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/validation_mca.txt rename to CMGTools/TTHAnalysis/python/plotter/susy-multilepton/validation_mca.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/validation_plots.txt b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/validation_plots.txt new file mode 100644 index 000000000000..4326387cbd05 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/susy-multilepton/validation_plots.txt @@ -0,0 +1,51 @@ +nLep: nLepGood: [1.5,2.5,3.5,4.5,5.5]; XTitle="N(lep)" +nLep10: nLepGood10: [1.5,2.5,3.5,4.5,5.5]; XTitle="N(lep)" +nLep20: nLepGood20: [1.5,2.5,3.5,4.5,5.5]; XTitle="N(lep)" +met: met_pt: 16,0,800 ; XTitle="E_{T}^{miss} [GeV]" +met_phi: met_phi: 8,-3.15,3.15 ; XTitle="phi of E_{T}^{miss}" +lep1pt: LepGood1_pt: 15,0,250; XTitle="Leading lepton p_{T} [GeV]", Legend='TR' +lep2pt: LepGood2_pt: 15,0,100; XTitle="Second lepton p_{T} [GeV]", Legend='TR' +lep3pt: LepGood3_pt: 10,0,50; XTitle="Third lepton p_{T} [GeV]", Legend='TR' +lep4pt: LepGood4_pt: 10,0,50; XTitle="Fourth lepton p_{T} [GeV]", Legend='TR' +lep1relIso03: LepGood1_relIso03: 15,0,.5; Legend='TR' +lep2relIso03: LepGood2_relIso03: 15,0,.5; Legend='TR' +lep1miniRelIso: LepGood1_miniRelIso: 15,0,.5; Legend='TR' +lep2miniRelIso: LepGood2_miniRelIso: 15,0,.5; Legend='TR' +lep1jetPtRel: LepGood1_jetPtRel: 15,0,25; Legend='TR' +lep2jetPtRel: LepGood2_jetPtRel: 15,0,25; Legend='TR' +lep1sip3d: LepGood1_sip3d: 15,0,5; Legend='TR' +lep2sip3d: LepGood2_sip3d: 15,0,5; Legend='TR' +lep1tightId: LepGood1_tightId: [-0.5,0.5,1.5]; Legend='TL' +lep2tightId: LepGood2_tightId: [-0.5,0.5,1.5]; Legend='TL' +lep1mvaSusy: LepGood1_mvaSusy: 20,-1,1; Legend='TL' +lep2mvaSusy: LepGood2_mvaSusy: 20,-1,1; Legend='TL' +lep1mcMatchId: abs(LepGood1_mcMatchId): 28,-1.5,26.5; Legend='TR' +lep2mcMatchId: abs(LepGood2_mcMatchId): 28,-1.5,26.5; Legend='TR' +lep1mcMatchAny: LepGood1_mcMatchAny: [-1.5,-0.5,0.5,1.5,2.5,3.5]; Legend='TR' +lep2mcMatchAny: LepGood2_mcMatchAny: [-1.5,-0.5,0.5,1.5,2.5,3.5]; Legend='TR' +nJet25 : nJet25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(jet\, p_{T} > 25)' +nJet40 : nJet40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(jet\, p_{T} > 40)' +nJet40NoTau : nJet40NoTau : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5] ; XTitle='N(jet\, p_{T} > 40\, #tau veto)' +jet1pt: Jet1_pt: 15,0,400; XTitle="Leading jet p_{T} [GeV]", Legend='TR' +jet2pt: Jet2_pt: 15,0,200; XTitle="Second jet p_{T} [GeV]", Legend='TR' +jet3pt: Jet3_pt: 10,0,150; XTitle="Third jet p_{T} [GeV]", Legend='TR' +jet4pt: Jet4_pt: 10,0,100; XTitle="Fourth jet p_{T} [GeV]", Legend='TR' +jet1rawPt: Jet1_rawPt: 15,0,400; Legend='TR' +jet2rawPt: Jet2_rawPt: 15,0,200; Legend='TR' +jet1btagCSV: Jet1_btagCSV: 12,0.0,1.5; Legend='TR' +jet2btagCSV: Jet2_btagCSV: 12,0.0,1.5; Legend='TR' +jet1mcPt: Jet1_mcPt: 15,0,400; Legend='TR' +jet2mcPt: Jet2_mcPt: 15,0,200; Legend='TR' +jet1mcFlavour: Jet1_mcFlavour: 29,-6.5,22.5; Legend='TR' +jet2mcFlavour: Jet2_mcFlavour: 29,-6.5,22.5; Legend='TR' +jet1mcMatchId: abs(Jet1_mcMatchId): 28,-1.5,26.5; Legend='TR' +jet2mcMatchId: abs(Jet2_mcMatchId): 28,-1.5,26.5; Legend='TR' +htJet25: htJet25: 15,0,2000 ; XTitle="H_{T}(lep + jet p_{T} > 25) [GeV]" +htJet40: htJet40: 15,0,2000 ; XTitle="H_{T}(lep + jet p_{T} > 40) [GeV]" +htJet40j: htJet40j: 15,0,2000 ; XTitle="H_{T}(jet p_{T} > 40) [GeV]" +mhtJet25: mhtJet25: 15,0,800 ; XTitle="H_{T}^{miss}(lep + jet p_{T} > 25) [GeV]" +mhtJet40: mhtJet40: 15,0,800 ; XTitle="H_{T}^{miss}(lep + jet p_{T} > 40) [GeV]" +nBJet25 : nBJetMedium25 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 25\, CSVM)' +nBJet40 : nBJetMedium40 : [-0.5,0.5,1.5,2.5,3.5,4.5,5.5,6.5] ; XTitle='N(b-jet\, p_{T} > 40\, CSVM)' +minMllAFAS: minMllAFAS: 20,0,200; XTitle="min m(ll') [GeV]" +mZ1: mZ1: 20,0,200; XTitle="best mZ4 [GeV]" diff --git a/CMGTools/TTHAnalysis/python/plotter/tree2yield.py b/CMGTools/TTHAnalysis/python/plotter/tree2yield.py index 4f4ea2d2f2a4..2545c77b908b 100644 --- a/CMGTools/TTHAnalysis/python/plotter/tree2yield.py +++ b/CMGTools/TTHAnalysis/python/plotter/tree2yield.py @@ -111,6 +111,8 @@ def add(self,newname,newcut): return self def setParams(self,paramMap): self._cuts = [ (cn.format(**paramMap), cv.format(**paramMap)) for (cn,cv) in self._cuts ] + def cartesianProduct(self,other): + return CutsFile( [ ("%s && %s" % (cn1,cn2), "(%s) && (%s)" % (cv1,cv2)) for (cn1,cv1) in self._cuts for (cn2,cv2) in other.cuts() ] ) class PlotSpec: def __init__(self,name,expr,bins,opts): @@ -141,27 +143,38 @@ def __init__(self,root,options,scaleFactor=1.0,name=None,cname=None,settings={}, self._mcCorrs = globalMCCorrections() ## get defaults if 'SkipDefaultMCCorrections' in settings: ## unless requested to self._mcCorrs = [] ## skip them - if self._isdata: self._mcCorrs = [] ## no MC corrections for data + if self._isdata: + self._mcCorrs = [c for c in self._mcCorrs if c.alsoData] ## most don't apply to data, some do if 'MCCorrections' in settings: self._mcCorrs = self._mcCorrs[:] # make copy for cfile in settings['MCCorrections'].split(','): self._mcCorrs.append( MCCorrections(cfile) ) + if self._mcCorrs and self._scaleFactor and self._scaleFactor != 1.0: + # apply MC corrections to the scale factor + self._scaleFactor = self.adaptExpr(self._scaleFactor, cut=True) if 'FakeRate' in settings: self._FR = FakeRate(settings['FakeRate']) - ## add additional weight correction - self._weightString += "* (" + self.adaptDataMCExpr(self._FR.weight()) + ")" - ## modify cuts to get to control region + ## add additional weight correction. + ## note that the weight receives the other mcCorrections, but not itself + self._weightString += "* (" + self.adaptExpr(self._FR.weight(), cut=True) + ")" + ## modify cuts to get to control region. order is important self._mcCorrs = self._mcCorrs + self._FR.cutMods() + self._FR.mods() self._weight = True #print "Done creation %s for task %s in pid %d " % (self._fname, self._name, os.getpid()) def setScaleFactor(self,scaleFactor): - self._scaleFactor = scaleFactor + if self._mcCorrs and scaleFactor and scaleFactor != 1.0: + # apply MC corrections to the scale factor + self._scaleFactor = self.adaptExpr(scaleFactor, cut=True) + else: + self._scaleFactor = scaleFactor def getScaleFactor(self): return self._scaleFactor def setFullYield(self,fullYield): self._fullYield = fullYield def name(self): return self._name + def cname(self): + return self._cname def hasOption(self,name): return (name in self._settings) def getOption(self,name,default=None): @@ -200,10 +213,15 @@ def _init(self): self._friends = [] friendOpts = self._options.friendTrees[:] friendOpts += (self._options.friendTreesData if self._isdata else self._options.friendTreesMC) + if 'Friends' in self._settings: friendOpts += self._settings['Friends'] for tf_tree,tf_file in friendOpts: - tf = self._tree.AddFriend(tf_tree, tf_file.format(name=self._name, cname=self._cname)), + tf = self._tree.AddFriend(tf_tree, tf_file.format(name=self._name, cname=self._cname, P=getattr(self._options,'path',''))), self._friends.append(tf) self._isInit = True + + def getTree(self): + if not self._isInit: self._init() + return self._tree def getYields(self,cuts,noEntryLine=False): if not self._isInit: self._init() report = []; cut = "" @@ -270,12 +288,14 @@ def _getYield(self,tree,cut): ROOT.gROOT.cd() if ROOT.gROOT.FindObject("dummy") != None: ROOT.gROOT.FindObject("dummy").Delete() histo = ROOT.TH1F("dummy","dummy",1,0.0,1.0); histo.Sumw2() - nev = tree.Draw("0.5>>dummy", cut, "goff") + nev = tree.Draw("0.5>>dummy", cut, "goff", self._options.maxEntries) + self.negativeCheck(histo) return [ histo.GetBinContent(1), histo.GetBinError(1) ] else: + cut = self.adaptExpr(cut,cut=True) if self._options.doS2V: cut = scalarToVector(cut) - npass = tree.Draw("1",self.adaptExpr(cut,cut=True),"goff"); + npass = tree.Draw("1",self.adaptExpr(cut,cut=True),"goff", self._options.maxEntries); return [ npass, sqrt(npass) ] def _stylePlot(self,plot,spec): ## Sample specific-options, from self @@ -286,23 +306,29 @@ def _stylePlot(self,plot,spec): plot.SetFillStyle(0) plot.SetLineWidth(self.getOption('LineWidth',1)) plot.SetLineColor(self.getOption('LineColor',1)) + plot.SetLineStyle(self.getOption('LineStyle',1)) plot.SetMarkerColor(self.getOption('MarkerColor',1)) plot.SetMarkerStyle(self.getOption('MarkerStyle',20)) plot.SetMarkerSize(self.getOption('MarkerSize',1.6)) ## Plot specific-options, from spec - plot.GetYaxis().SetTitle(spec.getOption('YTitle',spec.getOption("YTitle","Events"))) - plot.GetXaxis().SetTitle(spec.getOption('XTitle',spec.name)) - plot.GetXaxis().SetNdivisions(spec.getOption('XNDiv',510)) + if "TH3" not in plot.ClassName(): + plot.GetYaxis().SetTitle(spec.getOption('YTitle',"Events")) + plot.GetXaxis().SetTitle(spec.getOption('XTitle',spec.name)) + plot.GetXaxis().SetNdivisions(spec.getOption('XNDiv',510)) def getPlot(self,plotspec,cut): ret = self.getPlotRaw(plotspec.name, plotspec.expr, plotspec.bins, cut, plotspec) # fold overflow if ret.ClassName() in [ "TH1F", "TH1D" ] : n = ret.GetNbinsX() - if plotspec.getOption('IncludeOverflows',True) and ret.ClassName() != "TProfile": + if plotspec.getOption('IncludeOverflows',True) and ("TProfile" not in ret.ClassName()): ret.SetBinContent(1,ret.GetBinContent(0)+ret.GetBinContent(1)) ret.SetBinContent(n,ret.GetBinContent(n+1)+ret.GetBinContent(n)) ret.SetBinError(1,hypot(ret.GetBinError(0),ret.GetBinError(1))) ret.SetBinError(n,hypot(ret.GetBinError(n+1),ret.GetBinError(n))) + ret.SetBinContent(0,0) + ret.SetBinContent(n+1,0) + ret.SetBinContent(0,0) + ret.SetBinContent(n+1,0) rebin = plotspec.getOption('rebinFactor',0) if plotspec.bins[0] != "[" and rebin > 1 and n > 5: while n % rebin != 0: rebin -= 1 @@ -316,6 +342,7 @@ def getPlot(self,plotspec,cut): def getPlotRaw(self,name,expr,bins,cut,plotspec): unbinnedData2D = plotspec.getOption('UnbinnedData2D',False) if plotspec != None else False profile1D = plotspec.getOption('Profile1D',False) if plotspec != None else False + profile2D = plotspec.getOption('Profile2D',False) if plotspec != None else False if self._options.doS2V: expr = scalarToVector(expr) if not self._isInit: self._init() @@ -327,17 +354,8 @@ def getPlotRaw(self,name,expr,bins,cut,plotspec): if ROOT.gROOT.FindObject("dummy") != None: ROOT.gROOT.FindObject("dummy").Delete() histo = None canKeys = False - if ":" in expr.replace("::","--") and not profile1D: - if bins[0] == "[": - xbins, ybins = bins.split("*") - xedges = [ float(f) for f in xbins[1:-1].split(",") ] - yedges = [ float(f) for f in ybins[1:-1].split(",") ] - histo = ROOT.TH2F("dummy","dummy",len(xedges)-1,array('f',xedges),len(yedges)-1,array('f',yedges)) - else: - (nbx,xmin,xmax,nby,ymin,ymax) = bins.split(",") - histo = ROOT.TH2F("dummy","dummy",int(nbx),float(xmin),float(xmax),int(nby),float(ymin),float(ymax)) - unbinnedData2D = (self._name == "data") and unbinnedData2D - else: + nvars = expr.replace("::","--").count(":")+1 + if nvars == 1 or (nvars == 2 and profile1D): if bins[0] == "[": edges = [ float(f) for f in bins[1:-1].split(",") ] if profile1D: @@ -352,21 +370,54 @@ def getPlotRaw(self,name,expr,bins,cut,plotspec): histo = ROOT.TH1F("dummy","dummy",int(nb),float(xmin),float(xmax)) canKeys = True unbinnedData2D = False + elif nvars == 2 or (nvars == 3 and profile2D): + if bins[0] == "[": + xbins, ybins = bins.split("*") + xedges = [ float(f) for f in xbins[1:-1].split(",") ] + yedges = [ float(f) for f in ybins[1:-1].split(",") ] + if profile2D: + histo = ROOT.TProfile2D("dummy","dummy",len(xedges)-1,array('d',xedges),len(yedges)-1,array('d',yedges)) + else: + histo = ROOT.TH2F("dummy","dummy",len(xedges)-1,array('f',xedges),len(yedges)-1,array('f',yedges)) + else: + (nbx,xmin,xmax,nby,ymin,ymax) = bins.split(",") + if profile2D: + histo = ROOT.TProfile2D("dummy","dummy",int(nbx),float(xmin),float(xmax),int(nby),float(ymin),float(ymax)) + unbinnedData2D = False + else: + histo = ROOT.TH2F("dummy","dummy",int(nbx),float(xmin),float(xmax),int(nby),float(ymin),float(ymax)) + unbinnedData2D = (self._name == "data") and unbinnedData2D + elif nvars == 3: + ez,ey,ex = [ e.replace("--","::") for e in expr.replace("::","--").split(":") ] + if bins[0] == "[": + xbins, ybins, zbins = bins.split("*") + xedges = [ float(f) for f in xbins[1:-1].split(",") ] + yedges = [ float(f) for f in ybins[1:-1].split(",") ] + zedges = [ float(f) for f in zbins[1:-1].split(",") ] + histo = ROOT.TH3F("dummy","dummy",len(xedges)-1,array('f',xedges),len(yedges)-1,array('f',yedges),len(zedges)-1,array('f',zedges)) + else: + (nbx,xmin,xmax,nby,ymin,ymax,nbz,zmin,zmax) = bins.split(",") + histo = ROOT.TH3F("dummy","dummy",int(nbx),float(xmin),float(xmax),int(nby),float(ymin),float(ymax),int(nbz),float(zmin),float(zmax)) + histo.GetXaxis().SetTitle(ex) + histo.GetYaxis().SetTitle(ey) + histo.GetZaxis().SetTitle(ez) + else: + raise RuntimeError, "Can't make a plot with %d dimensions" % nvars histo.Sumw2() if unbinnedData2D: - self._tree.Draw("%s" % (self.adaptExpr(expr)), cut) + self._tree.Draw("%s" % (self.adaptExpr(expr)), cut, "", self._options.maxEntries) graph = ROOT.gROOT.FindObject("Graph").Clone(name) return graph drawOpt = "goff" - if profile1D: drawOpt += " PROF"; - self._tree.Draw("%s>>%s" % (self.adaptExpr(expr),"dummy"), cut, drawOpt) + if profile1D or profile2D: drawOpt += " PROF"; + self._tree.Draw("%s>>%s" % (self.adaptExpr(expr),"dummy"), cut, drawOpt, self._options.maxEntries) if canKeys and histo.GetEntries() > 0 and histo.GetEntries() < self.getOption('KeysPdfMinN',100) and not self._isdata and self.getOption("KeysPdf",False): #print "Histogram for %s/%s has %d entries, so will use KeysPdf " % (self._cname, self._name, histo.GetEntries()) if "/TH1Keys_cc.so" not in ROOT.gSystem.GetLibraries(): ROOT.gROOT.ProcessLine(".L %s/src/CMGTools/TTHAnalysis/python/plotter/TH1Keys.cc+" % os.environ['CMSSW_BASE']); (nb,xmin,xmax) = bins.split(",") histo = ROOT.TH1KeysNew("dummyk","dummyk",int(nb),float(xmin),float(xmax)) - self._tree.Draw("%s>>%s" % (self.adaptExpr(expr),"dummyk"), cut, "goff") + self._tree.Draw("%s>>%s" % (self.adaptExpr(expr),"dummyk"), cut, "goff", self._options.maxEntries) self.negativeCheck(histo) return histo.GetHisto().Clone(name) #elif not self._isdata and self.getOption("KeysPdf",False): @@ -383,6 +434,12 @@ def negativeCheck(self,histo): for bx in xrange(0,histo.GetNbinsX()+2): for by in xrange(0,histo.GetNbinsY()+2): if histo.GetBinContent(bx,by) < 0: histo.SetBinContent(bx,by, 0.0) + elif "TH3" in histo.ClassName(): + for bx in xrange(0,histo.GetNbinsX()+2): + for by in xrange(0,histo.GetNbinsY()+2): + for bz in xrange(0,histo.GetNbinsZ()+2): + if histo.GetBinContent(bx,by,bz) < 0: histo.SetBinContent(bx,by,bz, 0.0) + def __str__(self): mystr = "" mystr += str(self._fname) + '\n' @@ -390,6 +447,15 @@ def __str__(self): mystr += str(self._weight) + '\n' mystr += str(self._scaleFactor) return mystr + def processEvents(self,eventLoop,cut): + if not self._isInit: self._init() + cut = self.adaptExpr(cut,cut=True) + if self._options.doS2V: + cut = scalarToVector(cut) + self._tree.vectorTree = True + eventLoop.beginComponent(self) + eventLoop.loop(self._tree, getattr(self._options, 'maxEvents', -1), cut=cut) + eventLoop.endComponent(self) def addTreeToYieldOptions(parser): parser.add_option("-l", "--lumi", dest="lumi", type="float", default="19.7", help="Luminosity (in 1/fb)"); @@ -414,6 +480,7 @@ def addTreeToYieldOptions(parser): parser.add_option("--mcc", "--mc-corrections", dest="mcCorrs", action="append", default=[], nargs=1, help="Load the following file of mc to data corrections") parser.add_option("--s2v", "--scalar2vector", dest="doS2V", action="store_true", default=False, help="Do scalar to vector conversion") parser.add_option("--neg", "--allow-negative-results", dest="allowNegative", action="store_true", default=False, help="If the total yield is negative, keep it so rather than truncating it to zero") + parser.add_option("--max-entries", dest="maxEntries", default=1000000000, type="int", help="Max entries to process in each tree") def mergeReports(reports): import copy diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/2los_mumu.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2los_mumu.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/2los_mumu.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2los_mumu.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_cb.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_cb.txt new file mode 100644 index 000000000000..361d4b87bb0c --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_cb.txt @@ -0,0 +1,17 @@ +>= 2 good leptons: nLepGood10_Old >= 2 +minMllAS8: minMllAFAS_Old > 8 +minMllOS12: minMllAFOS_Old <= 0 || minMllAFOS_Old > 12 +same-sign: LepGood_charge[iL1p_Old]*LepGood_charge[iL2p_Old] > 0 +lep1_pt20: LepGood_pt[iL1p_Old] > 20 +lep2_pt20: LepGood_pt[iL2p_Old] > 20 +anyll: abs(LepGood_pdgId[iL2p_Old]) > 0 && abs(LepGood_pdgId[iL2p_Old]) > 0 +pre iso: max(LepGood_relIso03[iL1p_Old],LepGood_relIso03[iL2p_Old]) < 0.5 +pre sip: max(LepGood_sip3d[iL1p_Old],LepGood_sip3d[iL2p_Old]) < 6 +ele cuts: (abs(LepGood_pdgId[iL1p_Old]) == 13 || (LepGood_convVeto[iL1p_Old] && LepGood_lostHits[iL1p_Old] == 0 && LepGood_tightCharge[iL1p_Old] > 1)) && (abs(LepGood_pdgId[iL2p_Old]) == 13 || (LepGood_convVeto[iL2p_Old] && LepGood_lostHits[iL2p_Old] == 0 && LepGood_tightCharge[iL2p_Old] > 1)) +mu cuts: ( LepGood_mediumMuonId[iL1p_Old] > 0 || abs(LepGood_pdgId[iL1p_Old]) == 11) && (LepGood_mediumMuonId[iL2p_Old] > 0 || abs(LepGood_pdgId[iL2p_Old]) == 11) +lep el id: ( LepGood_mvaIdPhys14[iL1p_Old] >=0.73+(0.57-0.73)*(abs(LepGood_eta[iL1p_Old])>0.8)+(+0.05-0.57)*(abs(LepGood_eta[iL1p_Old])>1.479) || abs(LepGood_pdgId[iL1p_Old]) == 13) && \ + ( LepGood_mvaIdPhys14[iL2p_Old] >=0.73+(0.57-0.73)*(abs(LepGood_eta[iL2p_Old])>0.8)+(+0.05-0.57)*(abs(LepGood_eta[iL2p_Old])>1.479) || abs(LepGood_pdgId[iL2p_Old]) == 13) +lep tight: max(LepGood_relIso03[iL1p_Old],LepGood_relIso03[iL2p_Old]) < 0.1 && max(LepGood_sip3d[iL1p_Old],LepGood_sip3d[iL2p_Old]) < 4 +4jet: nJet25_Old >= 4 +2b loose: nBJetLoose25_Old >= 2 || nBJetMedium25_Old >= 1 +2B tight: nBJetMedium25_Old >= 2 diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/2lss_ee.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_ee.txt similarity index 79% rename from CMGTools/TTHAnalysis/python/plotter/bins/2lss_ee.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_ee.txt index 9fefd525f3e3..dabb72e18edd 100644 --- a/CMGTools/TTHAnalysis/python/plotter/bins/2lss_ee.txt +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_ee.txt @@ -1,14 +1,14 @@ == 2 good leptons: nLepGood10 == 2 cleanup: minMllAFAS > 12 pt2010: LepGood1_pt>20 && LepGood2_pt>10 -pt2020_htllv100 : LepGood2_pt > 20 && LepGood1_pt+LepGood2_pt+met > 100 -lep MVA: min(LepGood1_mvaTTH,LepGood2_mvaTTH)> 0.7 +pt2020_htllv100 : LepGood2_pt > 20 && LepGood1_pt+LepGood2_pt+met_pt > 100 +lep MVA: min(LepGood1_mvaTTH,LepGood2_mvaTTH)> 0.9 el el: abs(LepGood1_pdgId) == 11 && abs(LepGood2_pdgId) == 11 same-sign: LepGood1_charge*LepGood2_charge > 0 tight-charge: LepGood1_tightCharge > 1 && LepGood2_tightCharge > 1 conv veto:LepGood1_convVeto>0 && LepGood2_convVeto>0 && LepGood1_lostHits == 0 && LepGood2_lostHits == 0 Z veto: abs(minMllAFAS-91.2) > 10 -met LD: met*0.00397 + mhtJet25*0.00265 > 0.2 +met LD: met_pt*0.00397 + mhtJet25*0.00265 > 0.2 4j: nJet25>=4 2b loose: nBJetLoose25 >= 2 || nBJetMedium25 >= 1 -2B tight: nBJetMedium25 >= 2 +#2B tight: nBJetMedium25 >= 2 diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/2lss_ee_SUS13.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_ee_SUS13.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/2lss_ee_SUS13.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_ee_SUS13.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/2lss_em.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_em.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/2lss_em.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_em.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/2lss_em_SUS13.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_em_SUS13.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/2lss_em_SUS13.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_em_SUS13.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/2lss_mumu.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mumu.txt similarity index 78% rename from CMGTools/TTHAnalysis/python/plotter/bins/2lss_mumu.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mumu.txt index 0271c19bd07b..e48c52f117ff 100644 --- a/CMGTools/TTHAnalysis/python/plotter/bins/2lss_mumu.txt +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mumu.txt @@ -1,11 +1,11 @@ == 2 good leptons: nLepGood10 == 2 cleanup: minMllAFAS > 12 pt2010: LepGood1_pt>20 && LepGood2_pt>10 -pt2020_htllv100 : LepGood2_pt > 20 && LepGood1_pt+LepGood2_pt+met > 100 -lep MVA: min(LepGood1_mvaTTH,LepGood2_mvaTTH) > 0.7 +pt2020_htllv100 : LepGood2_pt > 20 && LepGood1_pt+LepGood2_pt+met_pt > 100 +lep MVA: min(LepGood1_mvaTTH,LepGood2_mvaTTH) > 0.9 mu mu: abs(LepGood1_pdgId) == 13 && abs(LepGood2_pdgId) == 13 same-sign: LepGood1_charge*LepGood2_charge > 0 tight-charge: LepGood1_tightCharge && LepGood2_tightCharge -4j: nJet25>=4 +4j: nJet25>=2 2b loose: nBJetLoose25 >= 2 || nBJetMedium25 >= 1 -2B tight: nBJetMedium25 >= 2 +#2B tight: nBJetMedium25 >= 2 diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/2lss_mumu_SUS13.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mumu_SUS13.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/2lss_mumu_SUS13.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mumu_SUS13.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/2lss_mumu_topReco.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mumu_topReco.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/2lss_mumu_topReco.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mumu_topReco.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva06.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva06.txt new file mode 100644 index 000000000000..6abd3bc261e0 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva06.txt @@ -0,0 +1,14 @@ +>= 2 good leptons: nLepGood10_Old >= 2 +minMllAS8: minMllAFAS_Old > 8 +minMllOS12: minMllAFOS_Old <= 0 || minMllAFOS_Old > 12 +same-sign: LepGood_charge[iL1p_Old]*LepGood_charge[iL2p_Old] > 0 +lep1_pt20: LepGood_pt[iL1p_Old] > 20 +lep2_pt20: LepGood_pt[iL2p_Old] > 20 +anyll: abs(LepGood_pdgId[iL2p_Old]) > 0 && abs(LepGood_pdgId[iL2p_Old]) > 0 +presel: max(LepGood_relIso03[iL1p_Old],LepGood_relIso03[iL2p_Old]) < 0.4 && max(LepGood_sip3d[iL1p_Old],LepGood_sip3d[iL2p_Old]) < 6 +ele cuts: (abs(LepGood_pdgId[iL1p_Old]) == 13 || (LepGood_convVeto[iL1p_Old] && LepGood_lostHits[iL1p_Old] == 0 && LepGood_tightCharge[iL1p_Old] > 1)) && (abs(LepGood_pdgId[iL2p_Old]) == 13 || (LepGood_convVeto[iL2p_Old] && LepGood_lostHits[iL2p_Old] == 0 && LepGood_tightCharge[iL2p_Old] > 1)) +mu cuts: ( LepGood_mediumMuonId[iL1p_Old] > 0 || abs(LepGood_pdgId[iL1p_Old]) == 11) && (LepGood_mediumMuonId[iL2p_Old] > 0 || abs(LepGood_pdgId[iL2p_Old]) == 11) +lep MVA: min(LepGood_mvaTTH[iL1p_Old],LepGood_mvaTTH[iL2p_Old]) > 0.6 +4jet: nJet25_Old >= 4 +2b loose: nBJetLoose25_Old >= 2 || nBJetMedium25_Old >= 1 +2B tight: nBJetMedium25_Old >= 2 diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva06i.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva06i.txt new file mode 100644 index 000000000000..fc68cc043eca --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva06i.txt @@ -0,0 +1,17 @@ +#>= 2 good leptons: nLepGood10_Old >= 2 +minMllAS8: minMllAFAS_Old > 8 +minMllOS12: minMllAFOS_Old <= 0 || minMllAFOS_Old > 12 +same-sign: LepGood_charge[iL1p_Old]*LepGood_charge[iL2p_Old] > 0 +lep1_pt20: LepGood_pt[iL1p_Old] > 20 +lep2_pt20: LepGood_pt[iL2p_Old] > 20 +lep2_pt10: LepGood_pt[iL2p_Old] > 10 +anyll: abs(LepGood_pdgId[iL2p_Old]) > 0 && abs(LepGood_pdgId[iL2p_Old]) > 0 +presel: max(LepGood_relIso03[iL1p_Old],LepGood_relIso03[iL2p_Old]) < 0.4 && max(LepGood_sip3d[iL1p_Old],LepGood_sip3d[iL2p_Old]) < 6 +ele cuts: (abs(LepGood_pdgId[iL1p_Old]) == 13 || (LepGood_convVeto[iL1p_Old] && LepGood_lostHits[iL1p_Old] == 0 && LepGood_tightCharge[iL1p_Old] > 1)) && (abs(LepGood_pdgId[iL2p_Old]) == 13 || (LepGood_convVeto[iL2p_Old] && LepGood_lostHits[iL2p_Old] == 0 && LepGood_tightCharge[iL2p_Old] > 1)) +mu cuts: ( LepGood_mediumMuonId[iL1p_Old] > 0 || abs(LepGood_pdgId[iL1p_Old]) == 11) && (LepGood_mediumMuonId[iL2p_Old] > 0 || abs(LepGood_pdgId[iL2p_Old]) == 11) +lep MVA: min(LepGood_mvaTTH[iL1p_Old],LepGood_mvaTTH[iL2p_Old]) > 0.6 +4jet: nJet25_Old >= 4 +hlt: HLT_DoubleMu || HLT_DoubleEl || HLT_SingleMu || HLT_SingleEl +#ht: htJet40j_Old >= 300 +2b loose: nBJetLoose25_Old >= 2 || nBJetMedium25_Old >= 1 +2B tight: nBJetMedium25_Old >= 2 diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva06ib.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva06ib.txt new file mode 100644 index 000000000000..7abb9b0f587e --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva06ib.txt @@ -0,0 +1,17 @@ +#>= 2 good leptons: nLepGood10_Old >= 2 +minMllAS8: minMllAFAS_Old > 8 +minMllOS12: minMllAFOS_Old <= 0 || minMllAFOS_Old > 12 +same-sign: LepGood_charge[iL1p_Old]*LepGood_charge[iL2p_Old] > 0 +lep1_pt20: LepGood_pt[iL1p_Old] > 20 +lep2_pt20: LepGood_pt[iL2p_Old] > 20 +lep2_pt10: LepGood_pt[iL2p_Old] > 10 +anyll: abs(LepGood_pdgId[iL2p_Old]) > 0 && abs(LepGood_pdgId[iL2p_Old]) > 0 +presel: max(LepGood_relIso03[iL1p_Old],LepGood_relIso03[iL2p_Old]) < 0.4 && max(LepGood_sip3d[iL1p_Old],LepGood_sip3d[iL2p_Old]) < 6 && max(LepGood_jetBTagCSV[iL1p_Old],LepGood_jetBTagCSV[iL2p_Old]) < 0.814 +ele cuts: (abs(LepGood_pdgId[iL1p_Old]) == 13 || (LepGood_convVeto[iL1p_Old] && LepGood_lostHits[iL1p_Old] == 0 && LepGood_tightCharge[iL1p_Old] > 1)) && (abs(LepGood_pdgId[iL2p_Old]) == 13 || (LepGood_convVeto[iL2p_Old] && LepGood_lostHits[iL2p_Old] == 0 && LepGood_tightCharge[iL2p_Old] > 1)) +mu cuts: ( LepGood_mediumMuonId[iL1p_Old] > 0 || abs(LepGood_pdgId[iL1p_Old]) == 11) && (LepGood_mediumMuonId[iL2p_Old] > 0 || abs(LepGood_pdgId[iL2p_Old]) == 11) +lep MVA: min(LepGood_mvaTTH[iL1p_Old],LepGood_mvaTTH[iL2p_Old]) > 0.6 +4jet: nJet25_Old >= 4 +hlt: HLT_DoubleMu || HLT_DoubleEl || HLT_SingleMu || HLT_SingleEl +#ht: htJet40j_Old >= 300 +2b loose: nBJetLoose25_Old >= 2 || nBJetMedium25_Old >= 1 +2B tight: nBJetMedium25_Old >= 2 diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva08.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva08.txt new file mode 100644 index 000000000000..56f34106a505 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_mva08.txt @@ -0,0 +1,14 @@ +>= 2 good leptons: nLepGood10_Old >= 2 +minMllAS8: minMllAFAS_Old > 8 +minMllOS12: minMllAFOS_Old <= 0 || minMllAFOS_Old > 12 +same-sign: LepGood_charge[iL1p_Old]*LepGood_charge[iL2p_Old] > 0 +lep1_pt20: LepGood_pt[iL1p_Old] > 20 +lep2_pt20: LepGood_pt[iL2p_Old] > 20 +anyll: abs(LepGood_pdgId[iL2p_Old]) > 0 && abs(LepGood_pdgId[iL2p_Old]) > 0 +presel: max(LepGood_relIso03[iL1p_Old],LepGood_relIso03[iL2p_Old]) < 0.3 && max(LepGood_sip3d[iL1p_Old],LepGood_sip3d[iL2p_Old]) < 4 +ele cuts: (abs(LepGood_pdgId[iL1p_Old]) == 13 || (LepGood_convVeto[iL1p_Old] && LepGood_lostHits[iL1p_Old] == 0 && LepGood_tightCharge[iL1p_Old] > 1)) && (abs(LepGood_pdgId[iL2p_Old]) == 13 || (LepGood_convVeto[iL2p_Old] && LepGood_lostHits[iL2p_Old] == 0 && LepGood_tightCharge[iL2p_Old] > 1)) +mu cuts: ( LepGood_mediumMuonId[iL1p_Old] > 0 || abs(LepGood_pdgId[iL1p_Old]) == 11) && (LepGood_mediumMuonId[iL2p_Old] > 0 || abs(LepGood_pdgId[iL2p_Old]) == 11) +lep MVA: min(LepGood_mvaTTH[iL1p_Old],LepGood_mvaTTH[iL2p_Old]) > 0.8 +4jet: nJet25_Old >= 4 +2b loose: nBJetLoose25_Old >= 2 || nBJetMedium25_Old >= 1 +2B tight: nBJetMedium25_Old >= 2 diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/2lss_topReco_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_topReco_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/2lss_topReco_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_topReco_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_yields.sh b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_yields.sh new file mode 100644 index 000000000000..4ecb45419798 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/2lss_yields.sh @@ -0,0 +1,96 @@ +#!/bin/bash + +#T="~/w/TREES_72X_SYNC" +T="/data/g/gpetrucc/TREES_72X_210315_NoIso/skim_2lss_zero" +CORE="-P $T --s2v --tree treeProducerSusyMultilepton " +CORE="${CORE} -F sf/t $T/1_lepJetReClean_v0/evVarFriend_{cname}.root " +#CORE="${CORE} -X exclusive --mcc ttH-multilepton/susy_2lssinc_oldpresel.txt" + +POST=""; +WHAT="$1"; shift; +if [[ "$WHAT" == "mcyields" ]]; then + GO="python mcAnalysis.py $CORE ttH-multilepton/mca-Phys14-2lss-refsel-frmc.txt ttH-multilepton/2lss_refsel.txt -p 'TTH,TTV,Fakes_TT,FRmc_TT,Fakes_VJets,FRmc_VJets' -j 4 -G -f -l 10.0 "; + POST="tab"; +elif [[ "$WHAT" == "mcfr" ]]; then + GO="python mcAnalysis.py $CORE ttH-multilepton/mca-Phys14-2lss-refsel-frmc.txt ttH-multilepton/2lss_refsel.txt -p 'Fakes_[lcb]_TT,FRmc_[lcb]_TT,FR1_[lcb]_TT' -j 4 -G -f -l 10.0 -e "; + POST="tab"; +elif [[ "$WHAT" == "mcplots" ]]; then + GO="python mcPlots.py $CORE mca-Phys14.txt ttH-multilepton/susy_2lss_refsel.txt -f -G -l 4.0 -p T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD,TT.,TT,WJets,DY,T,TW,WZ -j 8 -f --showIndivSigs --noStackSig --legendWidth 0.30 --ss 5 ttH-multilepton/susy_2lss_plots.txt"; +else + echo "I don't know what you want" + exit; +fi + +SAVE="${GO}" +#for LId in cb mva06 mva08 mva06i; do +for LId in mva06i mva06ib; do +for LL in mm ee; do +for LPt in hh ; do +for SR in bl bt; do +#for LL in mm em ee ll; do + +GO="${SAVE}" +case $SR in +bl) GO="${GO} -I 2B " ;; +bt) GO="${GO} " ;; +ba) GO="${GO} -X 2B " ;; +0b) GO="${GO} -X 2b -R 2B 0B 'nBJetMedium25_Old == 0' " ;; +1b) GO="${GO} -X 2b -R 2B 1B 'nBJetMedium25_Old == 1' " ;; +2b) GO="${GO} -X 2b -R 2B 2B 'nBJetMedium25_Old == 2' " ;; +3b) GO="${GO} -X 2b -R 2B 3B 'nBJetMedium25_Old >= 3' " ;; +esac; +case $LL in +ee) GO="${GO} -R anyll ee 'abs(LepGood_pdgId[iL1p_Old]) == 11 && abs(LepGood_pdgId[iL2p_Old]) == 11' " ;; +em) GO="${GO} -R anyll em 'abs(LepGood_pdgId[iL1p_Old]) != abs(LepGood_pdgId[iL2p_Old])' " ;; +mm) GO="${GO} -R anyll mm 'abs(LepGood_pdgId[iL1p_Old]) == 13 && abs(LepGood_pdgId[iL2p_Old]) == 13' " ;; +esac; +case $LPt in +hh) GO="${GO} " ;; +hl) GO="${GO} -I lep2_pt20 " ;; +ll) GO="${GO} -I lep1_pt20 -X lep2_pt20" ;; +ii) GO="${GO} -X lep1_pt20 -X lep2_pt20" ;; +esac; +case $LId in +cb) GO="${GO//refsel/cb} " ;; +mva06) GO="${GO//refsel/mva06} " ;; +mva06i) GO="${GO//refsel/mva06i} " ;; +mva06ib) GO="${GO//refsel/mva06ib} " ;; +mva08) GO="${GO//refsel/mva08} " ;; +esac; + +if [[ "${WHAT}" == "mcplots" || "${WHAT}" == "mcrocs" ]]; then + case $SR in + #0[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T5qqqqWW_H.,T5qqqqWWD,T6ttWW_H.}" ;; + #1[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HM,T5tttt_MLDx,T6ttWW_H.,T5qqqqWW_H.,T5qqqqWWD}" ;; + #2[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx,T1ttbbWW_HL10,T6ttWW_H.}" ;; + #2[1-9X]+) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx,T1ttbbWW_HL10,T6ttWW_H.}" ;; + #3[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx,T1ttbbWW_HL10,T1ttbbWW_MM5}" ;; + #0[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T5qqqqWW_HM,T5qqqqWWD}" ;; + #1[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD}" ;; + #2[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx}" ;; + #2[1-9X]+) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx}" ;; + #3[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL,T1tttt_HM,T5tttt_MLDx}" ;; + 0[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T5qqqqWW_HM.*,T5qqqqWWD,T5qqqqWWD_.*}" ;; + 1[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HM.*,T5tttt_MLDx.*,T5qqqqWW_HM.*,T5qqqqWWD,T5qqqqWWD_.*}" ;; + 2[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL.*,T1tttt_HM.*,T5tttt_MLDx.*}" ;; + 2[1-9X]+) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL.*,T1tttt_HM.*,T5tttt_MLDx.*}" ;; + 3[1-9X]) GO=" ${GO/T1tttt_HM,T5tttt_MLDx,T5qqqqWW_HM,T5qqqqWWD/T1tttt_HL.*,T1tttt_HM.*,T5tttt_MLDx.*}" ;; + esac + if [[ "${WHAT}" == "mcplots" ]]; then + echo "$GO --pdir plots/72X/v2/4fb/vars/2lss_${MOD}/${LL}_pt_${LPt}/${SR}${PF}/" + else + echo "$GO -o plots/72X/v2/4fb/vars/2lss_${MOD}/${LL}_pt_${LPt}/${SR}${PF}/rocs.root" + fi +else + if [[ "$POST" == "tab" ]]; then + PTAB="| sed -e 's#^all \|^ CUT#SR $SR${PF} $LL $LPt $MOD $LId#' | grep -v -- -----" + echo "$GO $PTAB"; + else + echo "echo; echo \" ===== SR $SR${PF} $LL $LPt $MOD $LId ===== \"; $GO $POST" + fi; +fi + +done +done +done +done diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/3l_tight.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/3l_tight.txt new file mode 100644 index 000000000000..e50b3fc08faf --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/3l_tight.txt @@ -0,0 +1,11 @@ +==3 good leptons: nLepGood == 3 +cleanup: minMllAFAS > 12 +pt2010: LepGood1_pt>20 && LepGood2_pt>10 +mu mu mu: abs(LepGood1_pdgId) == 13 && abs(LepGood2_pdgId) == 13 && abs(LepGood3_pdgId) == 13 +lep MVA: min(LepGood1_mvaTTH,min(LepGood2_mvaTTH,LepGood3_mvaTTH)) > 0.9 +conv veto: (abs(LepGood1_pdgId) == 13 || (LepGood1_convVeto > 0 && LepGood1_lostHits == 0)) && (abs(LepGood2_pdgId) == 13 || (LepGood2_convVeto > 0 && LepGood2_lostHits == 0)) && (abs(LepGood3_pdgId) == 13 || (LepGood3_convVeto > 0 && LepGood3_lostHits == 0)) +Z veto: abs(mZ1-91.2) > 10 +met LD: nJet25 >= 4 || met_pt*0.00397 + mhtJet25*0.00265 > 0.2 + 0.1*(mZ1 > 0) +2j: nJet25>=2 +2b loose: nBJetLoose25 >= 2 || nBJetMedium25 >= 1 +#2B tight: nBJetMedium25 >= 2 diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/3l_tight_SUS13.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/3l_tight_SUS13.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/3l_tight_SUS13.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/3l_tight_SUS13.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/4l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/4l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/4l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/4l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/4l_manyplots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/4l_manyplots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/4l_manyplots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/4l_manyplots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/anaStep_plots_2lss.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/anaStep_plots_2lss.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/anaStep_plots_2lss.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/anaStep_plots_2lss.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/anaStep_plots_3l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/anaStep_plots_3l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/anaStep_plots_3l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/anaStep_plots_3l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/anaStep_plots_4l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/anaStep_plots_4l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/anaStep_plots_4l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/anaStep_plots_4l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_2lss_lowj_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_2lss_lowj_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_2lss_lowj_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_2lss_lowj_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_3l_lowj_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_3l_lowj_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_3l_lowj_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_3l_lowj_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_3l_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_3l_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_3l_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_3l_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_btag.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_btag.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_btag.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_btag.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_btag_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_btag_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_btag_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_btag_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_mu_qflip.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_mu_qflip.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_mu_qflip.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_mu_qflip.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_mu_qflip_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_mu_qflip_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_mu_qflip_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_mu_qflip_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_tt_2l_em.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_tt_2l_em.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_tt_2l_em.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_tt_2l_em.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_tt_3l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_tt_3l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_tt_3l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_tt_3l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_tt_l_ldatafake_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_tt_l_ldatafake_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_tt_l_ldatafake_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_tt_l_ldatafake_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_tt_l_lfake.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_tt_l_lfake.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_tt_l_lfake.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_tt_l_lfake.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_tt_l_lmcfake_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_tt_l_lmcfake_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_tt_l_lmcfake_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_tt_l_lmcfake_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_ttgstar_3l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_ttgstar_3l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_ttgstar_3l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_ttgstar_3l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_ttgstar_3l_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_ttgstar_3l_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_ttgstar_3l_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_ttgstar_3l_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_ttz_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_ttz_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_ttz_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_ttz_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_ttz_tight.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_ttz_tight.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_ttz_tight.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_ttz_tight.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_wcharm_2l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_wcharm_2l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_wcharm_2l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_wcharm_2l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_wcharm_2l_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_wcharm_2l_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_wcharm_2l_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_wcharm_2l_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_wjets_fakel.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_wjets_fakel.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_wjets_fakel.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_wjets_fakel.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_wjets_fakel_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_wjets_fakel_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_wjets_fakel_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_wjets_fakel_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_z_3l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_z_3l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_z_3l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_z_3l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_zee_ss.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zee_ss.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_zee_ss.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zee_ss.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_zee_ss_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zee_ss_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_zee_ss_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zee_ss_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_zgamma.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgamma.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_zgamma.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgamma.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_zgamma_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgamma_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_zgamma_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgamma_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_zgstar.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgstar.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_zgstar.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgstar.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_zgstar_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgstar_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_zgstar_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgstar_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_zgstar_zgamma.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgstar_zgamma.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_zgstar_zgamma.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgstar_zgamma.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_zgstar_zgamma_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgstar_zgamma_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_zgstar_zgamma_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zgstar_zgamma_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_zz4l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zz4l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_zz4l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zz4l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/cr_zz4l_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zz4l_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/cr_zz4l_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/cr_zz4l_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/crsuite.sh b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/crsuite.sh similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/crsuite.sh rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/crsuite.sh diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/fakeLepStudies.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeLepStudies.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/fakeLepStudies.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeLepStudies.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/fakeLepStudies_plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeLepStudies_plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/fakeLepStudies_plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeLepStudies_plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt new file mode 100644 index 000000000000..d1d8fc5c8bee --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt @@ -0,0 +1,9 @@ +### NUM: relIso03 < 0.1; DEN: relIso03 < 0.4, SIP < 4 +change: LepGood_pt(\[\w+\]): LepGood_pt\1*if3(LepGood_relIso03\1<0.1, 1.0, 1+LepGood_relIso03\1-0.1) +cut-change: LepGood_relIso03(\[\w+\]): (LepGood_relIso03\1 > 0.5) +cut-change: LepGood_sip3d(\[\w+\]): 5*(LepGood_sip3d\1 > 4) +weight: fakeRateWeight_2lssCB(LepGood_pt[iL1p_Old]*if3(LepGood_relIso03[iL1p_Old]<0.1, 1.0, 1-0.1+LepGood_relIso03[iL1p_Old]),LepGood_eta[iL1p_Old],LepGood_pdgId[iL1p_Old],LepGood_relIso03[iL1p_Old],LepGood_pt[iL2p_Old]*if3(LepGood_relIso03[iL2p_Old]<0.1, 1.0, 1-0.1+LepGood_relIso03[iL2p_Old]),LepGood_eta[iL2p_Old],LepGood_pdgId[iL2p_Old],LepGood_relIso03[iL2p_Old], 0.1) +#load-histo: FR_mu : $DATA/fakerate/FR_mc_ttH_iso.root : FR_mu_QCDMu_a_ptGZ_coarse +#load-histo: FR_el : $DATA/fakerate/FR_mc_ttH_iso.root : FR_el_QCDEl_a_ptGZ_coarse +load-histo: FR_mu : $DATA/fakerate/FR_mc_ttH_iso.root : FR_mu_TT_a_ptGZ_coarse +load-histo: FR_el : $DATA/fakerate/FR_mc_ttH_iso.root : FR_el_TT_a_ptGZ_coarse diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-cb-unit.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-cb-unit.txt new file mode 100644 index 000000000000..55942e801401 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-cb-unit.txt @@ -0,0 +1,5 @@ +### NUM: relIso03 < 0.1; DEN: relIso03 < 0.4, SIP < 4 +change: LepGood_pt(\[\w+\]): LepGood_pt\1*if3(LepGood_relIso03\1<0.1, 1.0, 1+LepGood_relIso03\1-0.1) +cut-change: LepGood_relIso03(\[\w+\]): (LepGood_relIso03\1 > 0.5) +cut-change: LepGood_sip3d(\[\w+\]): 5*(LepGood_sip3d\1 > 4) +weight: 1 diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt new file mode 100644 index 000000000000..36989bc8a05e --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt @@ -0,0 +1,8 @@ +### MVA, WP 06 +change: LepGood_pt(\[\w+\]): LepGood_pt\1*if3(LepGood_mvaTTH\1>0.6, 1.0, 0.85/LepGood_jetPtRatio\1) +cut-change: LepGood_mvaTTH(\[\w+\]): (LepGood_relIso03\1 < 0.4 && LepGood_sip3d\1 < 6) +weight: fakeRateWeight_2lss(LepGood_pt[iL1p_Old]*if3(LepGood_mvaTTH[iL1p_Old]>0.6, 1.0, 0.85/LepGood_jetPtRatio[iL1p_Old]),LepGood_eta[iL1p_Old],LepGood_pdgId[iL1p_Old],LepGood_mvaTTH[iL1p_Old],LepGood_pt[iL2p_Old]*if3(LepGood_mvaTTH[iL2p_Old]>0.6, 1.0, 0.85/LepGood_jetPtRatio[iL2p_Old]),LepGood_eta[iL2p_Old],LepGood_pdgId[iL2p_Old],LepGood_mvaTTH[iL2p_Old], 0.6) +#load-histo: FR_mu : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06_mu_QCDMu_a_ptJI_mvaTTH06_coarse +#load-histo: FR_el : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06_el_QCDEl_a_ptJI_mvaTTH06_coarse +load-histo: FR_mu : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06_mu_TT_a_ptJI_mvaTTH06_coarse +load-histo: FR_el : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06_el_TT_a_ptJI_mvaTTH06_coarse diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt new file mode 100644 index 000000000000..cb4e06c7dc02 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt @@ -0,0 +1,4 @@ +### NUM: MVA WP 06; DEN: relIso03 < 0.4, SIP < 6 +change: LepGood_pt(\[\w+\]): LepGood_pt\1*if3(LepGood_mvaTTH\1>0.6, 1.0, 0.85/LepGood_jetPtRatio\1) +cut-change: LepGood_mvaTTH(\[\w+\]): (LepGood_relIso03\1 < 0.4 && LepGood_sip3d\1 < 6) +weight: 1 diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt new file mode 100644 index 000000000000..0ec2ebdd2ed6 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt @@ -0,0 +1,9 @@ +### MVA, WP 06 +change: LepGood_pt(\[\w+\]): LepGood_pt\1*if3(LepGood_mvaTTH\1>0.6, 1.0, 0.85/LepGood_jetPtRatio\1) +cut-change: LepGood_mvaTTH(\[\w+\]): (LepGood_relIso03\1 < 0.4 && LepGood_sip3d\1 < 6) +cut-change: LepGood_mediumMuonId(\[\w+\]): 1 +weight: fakeRateWeight_2lss(LepGood_pt[iL1p_Old]*if3(LepGood_mvaTTH[iL1p_Old]>0.6, 1.0, 0.85/LepGood_jetPtRatio[iL1p_Old]),LepGood_eta[iL1p_Old],LepGood_pdgId[iL1p_Old],LepGood_mvaTTH[iL1p_Old],LepGood_pt[iL2p_Old]*if3(LepGood_mvaTTH[iL2p_Old]>0.6, 1.0, 0.85/LepGood_jetPtRatio[iL2p_Old]),LepGood_eta[iL2p_Old],LepGood_pdgId[iL2p_Old],LepGood_mvaTTH[iL2p_Old], 0.6) +#load-histo: FR_mu : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06i_mu_QCDMu_a_ptJI_mvaTTH06_coarse +#load-histo: FR_el : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06i_el_QCDEl_a_ptJI_mvaTTH06_coarse +load-histo: FR_mu : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06i_mu_TT_a_ptJI_mvaTTH06_coarse +load-histo: FR_el : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06i_el_TT_a_ptJI_mvaTTH06_coarse diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt new file mode 100644 index 000000000000..ec48f46f5c70 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt @@ -0,0 +1,5 @@ +### NUM: MVA WP 06; DEN: relIso03 < 0.4, SIP < 6 +change: LepGood_pt(\[\w+\]): LepGood_pt\1*if3(LepGood_mvaTTH\1>0.6, 1.0, 0.85/LepGood_jetPtRatio\1) +cut-change: LepGood_mvaTTH(\[\w+\]): (LepGood_relIso03\1 < 0.4 && LepGood_sip3d\1 < 6) +cut-change: LepGood_mediumMuonId(\[\w+\]): 1 +weight: 1 diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt new file mode 100644 index 000000000000..b70eff724ed5 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt @@ -0,0 +1,9 @@ +### MVA, WP 06 +change: LepGood_pt(\[\w+\]): LepGood_pt\1*if3(LepGood_mvaTTH\1>0.6, 1.0, 0.85/LepGood_jetPtRatio\1) +cut-change: LepGood_mvaTTH(\[\w+\]): (LepGood_relIso03\1 < 0.4 && LepGood_sip3d\1 < 6 && LepGood_jetBTagCSV\1 < 0.814) +cut-change: LepGood_mediumMuonId(\[\w+\]): 1 +weight: fakeRateWeight_2lss(LepGood_pt[iL1p_Old]*if3(LepGood_mvaTTH[iL1p_Old]>0.6, 1.0, 0.85/LepGood_jetPtRatio[iL1p_Old]),LepGood_eta[iL1p_Old],LepGood_pdgId[iL1p_Old],LepGood_mvaTTH[iL1p_Old],LepGood_pt[iL2p_Old]*if3(LepGood_mvaTTH[iL2p_Old]>0.6, 1.0, 0.85/LepGood_jetPtRatio[iL2p_Old]),LepGood_eta[iL2p_Old],LepGood_pdgId[iL2p_Old],LepGood_mvaTTH[iL2p_Old], 0.6) +#load-histo: FR_mu : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06i_mu_QCDMu_a_ptJI_mvaTTH06_coarse +#load-histo: FR_el : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06_el_QCDEl_a_ptJI_mvaTTH06_coarse +load-histo: FR_mu : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06ib_mu_TT_a_ptJI_mvaTTH06_coarse +load-histo: FR_el : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp06ib_el_TT_a_ptJI_mvaTTH06_coarse diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt new file mode 100644 index 000000000000..bdae00043aaf --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt @@ -0,0 +1,5 @@ +### NUM: MVA WP 06; DEN: relIso03 < 0.4, SIP < 6 +change: LepGood_pt(\[\w+\]): LepGood_pt\1*if3(LepGood_mvaTTH\1>0.6, 1.0, 0.85/LepGood_jetPtRatio\1) +cut-change: LepGood_mvaTTH(\[\w+\]): (LepGood_relIso03\1 < 0.4 && LepGood_sip3d\1 < 6 && LepGood_jetBTagCSV\1 < 0.814) +cut-change: LepGood_mediumMuonId(\[\w+\]): 1 +weight: 1 diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt new file mode 100644 index 000000000000..cfb7ac1a065c --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt @@ -0,0 +1,8 @@ +### MVA, WP 08 +change: LepGood_pt(\[\w+\]): LepGood_pt\1*if3(LepGood_mvaTTH\1>0.8, 1.0, 0.85/LepGood_jetPtRatio\1) +cut-change: LepGood_mvaTTH(\[\w+\]): (LepGood_relIso03\1 < 0.3 && LepGood_sip3d\1 < 4) +weight: fakeRateWeight_2lss(LepGood_pt[iL1p_Old]*if3(LepGood_mvaTTH[iL1p_Old]>0.8, 1.0, 0.85/LepGood_jetPtRatio[iL1p_Old]),LepGood_eta[iL1p_Old],LepGood_pdgId[iL1p_Old],LepGood_mvaTTH[iL1p_Old],LepGood_pt[iL2p_Old]*if3(LepGood_mvaTTH[iL2p_Old]>0.8, 1.0, 0.85/LepGood_jetPtRatio[iL2p_Old]),LepGood_eta[iL2p_Old],LepGood_pdgId[iL2p_Old],LepGood_mvaTTH[iL2p_Old], 0.8) +#load-histo: FR_mu : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp08_mu_QCDMu_a_ptJI_mvaTTH08_coarse +#load-histo: FR_el : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp08_el_QCDEl_a_ptJI_mvaTTH08_coarse +load-histo: FR_mu : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp08_mu_TT_a_ptJI_mvaTTH08_coarse +load-histo: FR_el : $DATA/fakerate/FR_mc_ttH_mva.root : FR_wp08_el_TT_a_ptJI_mvaTTH08_coarse diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt new file mode 100644 index 000000000000..25b45aed53fd --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt @@ -0,0 +1,4 @@ +### MVA, WP 08 +change: LepGood_pt(\[\w+\]): LepGood_pt\1*if3(LepGood_mvaTTH\1>0.8, 1.0, 0.85/LepGood_jetPtRatio\1) +cut-change: LepGood_mvaTTH(\[\w+\]): (LepGood_relIso03\1 < 0.3 && LepGood_sip3d\1 < 4) +weight: 1 diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_2lssBCat.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_2lssBCat.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_2lssBCat.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_2lssBCat.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_2lssSUS13.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_2lssSUS13.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_2lssSUS13.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_2lssSUS13.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_2lss_MC.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_2lss_MC.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_2lss_MC.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_2lss_MC.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_3l_tightBCat.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_3l_tightBCat.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_3l_tightBCat.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_3l_tightBCat.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_3l_tightSUS13.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_3l_tightSUS13.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_3l_tightSUS13.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_3l_tightSUS13.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_3l_tight_MC.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_3l_tight_MC.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_3l_tight_MC.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_3l_tight_MC.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_4l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_4l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_4l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_4l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_4l_MC.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_4l_MC.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_4l_MC.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_4l_MC.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_chargeFlip_el.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_chargeFlip_el.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_chargeFlip_el.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_chargeFlip_el.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_chargeFlip_el_MC.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_chargeFlip_el_MC.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_chargeFlip_el_MC.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_chargeFlip_el_MC.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_chargeFlip_trivial.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_chargeFlip_trivial.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_chargeFlip_trivial.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_chargeFlip_trivial.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/fakeRate_untag.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_untag.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/fakeRate_untag.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/fakeRate_untag.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/finalsuite.sh b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/finalsuite.sh similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/finalsuite.sh rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/finalsuite.sh diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT-sameSign.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT-sameSign.txt new file mode 100644 index 000000000000..2a0ab7fed7aa --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT-sameSign.txt @@ -0,0 +1,2 @@ +change: LepGood_awayJet_\w+\s*(>|<|>=|<=)\s*\w+ : 1 +weight: nLepGood >= 2 && LepGood_charge[0]*LepGood_charge[1] > 0 diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt new file mode 100644 index 000000000000..bced86ab1b4c --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt @@ -0,0 +1,2 @@ +change: LepGood_awayJet_\w+\s*(>|<|>=|<=)\s*\w+ : 1 +weight: 1 diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/lepton-mca-frstudies.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/lepton-mca-frstudies.txt new file mode 100644 index 000000000000..2e1c540361fd --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/lepton-mca-frstudies.txt @@ -0,0 +1,173 @@ +TT_true+: TTJets: 1: LepGood_mcMatchId != 0 ; FillColor=ROOT.kGreen+2, Label="prompt (tt)" + +TT_red: TTJets: xsec: LepGood_mcMatchId == 0 ; FillColor=ROOT.kGray+2, Label="non-pr (tt)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_bjets: TTJets: xsec: LepGood_mcMatchAny == 5 ; FillColor=ROOT.kBlue-2, Label="b-jets (tt)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_cjets: TTJets: xsec: LepGood_mcMatchAny == 4 ; FillColor=ROOT.kGray+2, Label="c-jets (tt)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_ljets: TTJets: xsec: LepGood_mcMatchId == 0 && LepGood_mcMatchAny != 5 && LepGood_mcMatchAny != 4 ; FillColor=ROOT.kTeal+2, Label="l-jets (tt)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_fake: TTJets: xsec: LepGood_mcMatchAny == 0 ; FillColor=ROOT.kGray+3, Label="fakes (tt)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" + +TT_SS_red: TTJets: xsec: LepGood_mcMatchId == 0 ; FillColor=ROOT.kGreen+2, Label="(tt ss)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT-sameSign.txt" +TT_SSbl_red: TTJets: xsec: LepGood_mcMatchId == 0 && nBJetMedium40 <= 1; FillColor=ROOT.kAzure+1, Label="(tt ss bl)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT-sameSign.txt" +TT_SSbt_red: TTJets: xsec: LepGood_mcMatchId == 0 && nBJetMedium40 >= 2; FillColor=ROOT.kRed-3, Label="(tt ss bt)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT-sameSign.txt" +TT_fw1_red: TTJets: xsec: (LepGood_mcMatchId == 0 && LepGood_mcMatchAny != 4)*(1-0.5*(LepGood_mcMatchAny != 5)); FillColor=ROOT.kOrange+7, Label="(tt fw1)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_fw2_red: TTJets: xsec: (LepGood_mcMatchId == 0 && LepGood_mcMatchAny != 4)*(1+2.5*(LepGood_mcMatchAny != 5)); FillColor=ROOT.kViolet-2, Label="(tt fw2)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_fwe1_red: TTJets: xsec: (LepGood_mcMatchId == 0 && LepGood_mcMatchAny != 4)*(1.1*(LepGood_mcMatchAny == 5)+0.8*(LepGood_mcMatchAny != 5)); FillColor=ROOT.kOrange+7, Label="(tt fw e1)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_fwe2_red: TTJets: xsec: (LepGood_mcMatchId == 0 && LepGood_mcMatchAny != 4)*(0.7*(LepGood_mcMatchAny == 5)+1.6*(LepGood_mcMatchAny != 5)); FillColor=ROOT.kViolet-2, Label="(tt fw e2)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" + +TT_pt8_red: TTJets: xsec: LepGood_mcMatchId == 0 && LepGood_pt > 8; FillColor=ROOT.kBlue+2, Label="(tt p_{T} 8)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_pt17_red: TTJets: xsec: LepGood_mcMatchId == 0 && LepGood_pt > 17; FillColor=ROOT.kGreen+2, Label="(tt p_{T} 17)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_pt24_red: TTJets: xsec: LepGood_mcMatchId == 0 && LepGood_pt > 24; FillColor=ROOT.kRed-3, Label="(tt p_{T} 24)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" + +TT_pt12_red: TTJets: xsec: LepGood_mcMatchId == 0 && LepGood_pt > 12; FillColor=ROOT.kBlue+2, Label="(tt p_{T} 12)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_pt23_red: TTJets: xsec: LepGood_mcMatchId == 0 && LepGood_pt > 23; FillColor=ROOT.kGreen+2, Label="(tt p_{T} 23)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" +TT_pt32_red: TTJets: xsec: LepGood_mcMatchId == 0 && LepGood_pt > 32; FillColor=ROOT.kRed-3, Label="(tt p_{T} 32)", FakeRate="ttH-multilepton/lepton-mca-frstudies-noJetCutOnTT.txt" + + +# extra 1.2 factor added in the Mu5 QCD in order to get the samples match +QCDMu_red : QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : 1; FillColor=ROOT.kPink-2, Label="all (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red : QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : 1; FillColor=ROOT.kPink-2, Label="all (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red : QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : 1; FillColor=ROOT.kPink-2, Label="all (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red : QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : 1; FillColor=ROOT.kPink-2, Label="all (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_bjets: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_mcMatchAny == 5; FillColor=ROOT.kPink+5, Label="b-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_bjets: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 5; FillColor=ROOT.kPink+5, Label="b-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_bjets: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 5; FillColor=ROOT.kPink+5, Label="b-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_bjets: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 5; FillColor=ROOT.kPink+5, Label="b-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_cjets: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_mcMatchAny == 4; FillColor=ROOT.kRed-3, Label="c-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_cjets: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 4; FillColor=ROOT.kRed-3, Label="c-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_cjets: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 4; FillColor=ROOT.kRed-3, Label="c-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_cjets: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny == 4; FillColor=ROOT.kRed-3, Label="c-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_ljets: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_mcMatchAny != 5 && LepGood_mcMatchAny != 4; FillColor=ROOT.kOrange-3, Label="l-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_ljets: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny != 5 && LepGood_mcMatchAny != 4; FillColor=ROOT.kOrange-3, Label="l-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_ljets: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny != 5 && LepGood_mcMatchAny != 4; FillColor=ROOT.kOrange-3, Label="l-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_ljets: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_mcMatchAny != 5 && LepGood_mcMatchAny != 4; FillColor=ROOT.kOrange-3, Label="l-jets (QCD\#mu)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDMu_red_aj25: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_awayJet_pt > 25; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj25: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 25; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj25: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 25; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj25: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 25; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDMu_red_aj30: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_awayJet_pt > 30; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj30: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 30; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj30: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 30; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj30: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 30; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDMu_red_aj50: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_awayJet_pt > 50; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj50: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 50; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj50: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 50; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj50: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 50; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDMu_red_aj60: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_awayJet_pt > 60; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj60: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 60; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj60: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 60; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj60: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 60; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDMu_red_aj40: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_awayJet_pt > 40; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj40: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 40; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj40: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 40; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_aj40: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_pt > 40; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDMu_red_ajbv: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_awayJet_btagCSV < 0.423; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajbv: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV < 0.423; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajbv: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV < 0.423; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajbv: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV < 0.423; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDMu_red_ajbl: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_awayJet_btagCSV > 0.423; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajbl: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV > 0.423; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajbl: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV > 0.423; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajbl: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV > 0.423; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDMu_red_ajbt: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_awayJet_btagCSV > 0.941; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajbt: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV > 0.941; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajbt: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV > 0.941; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajbt: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV > 0.941; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDMu_red_ajba: QCD_Mu15 : xsec*1.0*(LepGood_pt>15) : LepGood_awayJet_btagCSV < 9e9; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajba: QCD_Pt30to50_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV < 9e9; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajba: QCD_Pt50to80_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV < 9e9; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDMu_red_ajba: QCD_Pt80to120_Mu5 : xsec*1.2*(LepGood_pt<15) : LepGood_awayJet_btagCSV < 9e9; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + + +QCDEl_red: QCD_Pt20to30_EMEnriched : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red: QCD_Pt20to30_bcToE : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red: QCD_Pt30to80_EMEnriched : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red: QCD_Pt30to80_bcToE : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red: QCD_Pt80to170_EMEnriched : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red: QCD_Pt80to170_bcToE : xsec : 1 ; FillColor=ROOT.kPink-2, Label="all (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red: QCD_Pt170toInf_bcToE : xsec : 1; FillColor=ROOT.kPink-2, Label="all (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_bjets: QCD_Pt20to30_bcToE : xsec : LepGood_mcMatchAny == 5 ; FillColor=ROOT.kPink+5, Label="b-jets (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_bjets: QCD_Pt30to80_bcToE : xsec : LepGood_mcMatchAny == 5 ; FillColor=ROOT.kPink+5, Label="b-jets (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_bjets: QCD_Pt80to170_bcToE : xsec : LepGood_mcMatchAny == 5 ; FillColor=ROOT.kPink+5, Label="b-jets (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_bjets: QCD_Pt170toInf_bcToE : xsec : LepGood_mcMatchAny == 5 ; FillColor=ROOT.kPink+5, Label="b-jets (QCDe)", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + + +QCDEl_red_aj25: QCD_Pt20to30_EMEnriched : xsec : LepGood_awayJet_pt > 25 ; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj25: QCD_Pt20to30_bcToE : xsec : LepGood_awayJet_pt > 25 ; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj25: QCD_Pt30to80_EMEnriched : xsec : LepGood_awayJet_pt > 25 ; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj25: QCD_Pt30to80_bcToE : xsec : LepGood_awayJet_pt > 25 ; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj25: QCD_Pt80to170_EMEnriched: xsec : LepGood_awayJet_pt > 25 ; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj25: QCD_Pt80to170_bcToE: xsec : LepGood_awayJet_pt > 25 ; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj25: QCD_Pt170toInf_bcToE: xsec : LepGood_awayJet_pt > 25 ; FillColor=ROOT.kOrange-3, Label="p_{T}(aj) > 25", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDEl_red_aj30: QCD_Pt20to30_EMEnriched : xsec : LepGood_awayJet_pt > 30 ; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj30: QCD_Pt20to30_bcToE : xsec : LepGood_awayJet_pt > 30 ; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj30: QCD_Pt30to80_EMEnriched : xsec : LepGood_awayJet_pt > 30 ; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj30: QCD_Pt30to80_bcToE : xsec : LepGood_awayJet_pt > 30 ; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj30: QCD_Pt80to170_EMEnriched: xsec : LepGood_awayJet_pt > 30 ; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj30: QCD_Pt80to170_bcToE: xsec : LepGood_awayJet_pt > 30 ; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj30: QCD_Pt170toInf_bcToE: xsec : LepGood_awayJet_pt > 30 ; FillColor=ROOT.kRed-4, Label="p_{T}(aj) > 30", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDEl_red_aj50: QCD_Pt20to30_EMEnriched : xsec : LepGood_awayJet_pt > 50 ; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj50: QCD_Pt20to30_bcToE : xsec : LepGood_awayJet_pt > 50 ; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj50: QCD_Pt30to80_EMEnriched : xsec : LepGood_awayJet_pt > 50 ; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj50: QCD_Pt30to80_bcToE : xsec : LepGood_awayJet_pt > 50 ; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj50: QCD_Pt80to170_EMEnriched: xsec : LepGood_awayJet_pt > 50 ; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj50: QCD_Pt80to170_bcToE: xsec : LepGood_awayJet_pt > 50 ; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj50: QCD_Pt170toInf_bcToE: xsec : LepGood_awayJet_pt > 50 ; FillColor=ROOT.kAzure+1, Label="p_{T}(aj) > 50", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDEl_red_aj60: QCD_Pt20to30_EMEnriched : xsec : LepGood_awayJet_pt > 60 ; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj60: QCD_Pt20to30_bcToE : xsec : LepGood_awayJet_pt > 60 ; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj60: QCD_Pt30to80_EMEnriched : xsec : LepGood_awayJet_pt > 60 ; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj60: QCD_Pt30to80_bcToE : xsec : LepGood_awayJet_pt > 60 ; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj60: QCD_Pt80to170_EMEnriched: xsec : LepGood_awayJet_pt > 60 ; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj60: QCD_Pt80to170_bcToE: xsec : LepGood_awayJet_pt > 60 ; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj60: QCD_Pt170toInf_bcToE: xsec : LepGood_awayJet_pt > 60 ; FillColor=ROOT.kGreen+1, Label="p_{T}(aj) > 60", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDEl_red_aj40: QCD_Pt20to30_EMEnriched : xsec : LepGood_awayJet_pt > 40 ; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj40: QCD_Pt20to30_bcToE : xsec : LepGood_awayJet_pt > 40 ; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj40: QCD_Pt30to80_EMEnriched : xsec : LepGood_awayJet_pt > 40 ; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj40: QCD_Pt30to80_bcToE : xsec : LepGood_awayJet_pt > 40 ; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj40: QCD_Pt80to170_EMEnriched: xsec : LepGood_awayJet_pt > 40 ; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj40: QCD_Pt80to170_bcToE: xsec : LepGood_awayJet_pt > 40 ; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_aj40: QCD_Pt170toInf_bcToE: xsec : LepGood_awayJet_pt > 40 ; FillColor=ROOT.kViolet+6, Label="p_{T}(aj) > 40", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDEl_red_ajbv: QCD_Pt20to30_EMEnriched : xsec : LepGood_awayJet_btagCSV < 0.423 ; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbv: QCD_Pt20to30_bcToE : xsec : LepGood_awayJet_btagCSV < 0.423 ; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbv: QCD_Pt30to80_EMEnriched : xsec : LepGood_awayJet_btagCSV < 0.423 ; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbv: QCD_Pt30to80_bcToE : xsec : LepGood_awayJet_btagCSV < 0.423 ; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbv: QCD_Pt80to170_EMEnriched: xsec : LepGood_awayJet_btagCSV < 0.423 ; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbv: QCD_Pt80to170_bcToE: xsec : LepGood_awayJet_btagCSV < 0.423 ; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbv: QCD_Pt170toInf_bcToE: xsec : LepGood_awayJet_btagCSV < 0.423 ; FillColor=ROOT.kOrange-3, Label="CSV(aj) < 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDEl_red_ajbl: QCD_Pt20to30_EMEnriched : xsec : LepGood_awayJet_btagCSV > 0.423 ; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbl: QCD_Pt20to30_bcToE : xsec : LepGood_awayJet_btagCSV > 0.423 ; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbl: QCD_Pt30to80_EMEnriched : xsec : LepGood_awayJet_btagCSV > 0.423 ; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbl: QCD_Pt30to80_bcToE : xsec : LepGood_awayJet_btagCSV > 0.423 ; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbl: QCD_Pt80to170_EMEnriched: xsec : LepGood_awayJet_btagCSV > 0.423 ; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbl: QCD_Pt80to170_bcToE: xsec : LepGood_awayJet_btagCSV > 0.423 ; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbl: QCD_Pt170toInf_bcToE: xsec : LepGood_awayJet_btagCSV > 0.423 ; FillColor=ROOT.kMagenta-3, Label="CSV(aj) > 0.423", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDEl_red_ajbt: QCD_Pt20to30_EMEnriched : xsec : LepGood_awayJet_btagCSV > 0.941 ; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbt: QCD_Pt20to30_bcToE : xsec : LepGood_awayJet_btagCSV > 0.941 ; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbt: QCD_Pt30to80_EMEnriched : xsec : LepGood_awayJet_btagCSV > 0.941 ; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbt: QCD_Pt30to80_bcToE : xsec : LepGood_awayJet_btagCSV > 0.941 ; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbt: QCD_Pt80to170_EMEnriched: xsec : LepGood_awayJet_btagCSV > 0.941 ; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbt: QCD_Pt80to170_bcToE: xsec : LepGood_awayJet_btagCSV > 0.941 ; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajbt: QCD_Pt170toInf_bcToE: xsec : LepGood_awayJet_btagCSV > 0.941 ; FillColor=ROOT.kViolet+1, Label="CSV(aj) > 0.941", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] + +QCDEl_red_ajba: QCD_Pt20to30_EMEnriched : xsec : LepGood_awayJet_btagCSV < 9e9 ; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajba: QCD_Pt20to30_bcToE : xsec : LepGood_awayJet_btagCSV < 9e9 ; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajba: QCD_Pt30to80_EMEnriched : xsec : LepGood_awayJet_btagCSV < 9e9 ; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajba: QCD_Pt30to80_bcToE : xsec : LepGood_awayJet_btagCSV < 9e9 ; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajba: QCD_Pt80to170_EMEnriched: xsec : LepGood_awayJet_btagCSV < 9e9 ; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajba: QCD_Pt80to170_bcToE: xsec : LepGood_awayJet_btagCSV < 9e9 ; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] +QCDEl_red_ajba: QCD_Pt170toInf_bcToE: xsec : LepGood_awayJet_btagCSV < 9e9 ; FillColor=ROOT.kGreen+1, Label="CSV(aj) any", Friends=[('sf/t'\,'{P}/1_leptonFakeRateQCDVars_v0/evVarFriend_{cname}.root')] diff --git a/CMGTools/TTHAnalysis/python/plotter/make_cards.sh b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_cards.sh similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/make_cards.sh rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_cards.sh diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_fake_rates_MC.sh b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_fake_rates_MC.sh new file mode 100644 index 000000000000..1bf367168171 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_fake_rates_MC.sh @@ -0,0 +1,244 @@ +################################ +# use mcEfficiencies.py to make plots of the fake rate +################################ + +BCORE=" --s2v --tree treeProducerSusyMultilepton object-studies/lepton-mca.txt object-studies/lepton-perlep.txt " +BASE="python mcEfficiencies.py $BCORE --ytitle 'Fake rate' " +PBASE="plots/72X/ttH/leptons/" +BG=" " +if [[ "$1" == "-b" ]]; then BG=" & "; shift; fi + +what=$1; +case $what in + iso|isosip) + T="/afs/cern.ch/user/g/gpetrucc/w/TREES_72X_210315_NoIso" + if [[ "$what" == "iso" ]]; then + SipDen="-A pt20 den 'LepGood_sip3d < 4'"; Num="relIso03_01" + elif [[ "$what" == "isosip" ]]; then + SipDen="-A pt20 den 'LepGood_sip3d < 6'"; Num="AND_relIso03_01_SIP4" + else + exit 1 + fi; + B0="$BASE -P $T ttH-multilepton/make_fake_rates_sels.txt ttH-multilepton/make_fake_rates_xvars.txt --groupBy cut --sP ${Num} " + B0="$B0 --legend=TL --yrange 0 0.6 --showRatio --ratioRange 0.31 1.69 --xcut 10 999 " + JetDen="-A pt20 jet 'nJet40 >= 1 && minMllAFAS > 12'" + SelDen="-A pt20 den '(LepGood_relIso03 < 0.5)'" + CommonDen="${SipDen} ${JetDen} ${SelDen}" + MuDen="${CommonDen} -A pt20 den 'LepGood_mediumMuonId>0' -A pt20 mc 'LepGood_pt > 5' " + ElDen="${CommonDen} -I mu -A pt20 den 'LepGood_mvaIdPhys14>=0.73+(0.57-0.73)*(abs(LepGood_eta)>0.8)+(+0.05-0.57)*(abs(LepGood_eta)>1.479) && LepGood_convVeto && LepGood_tightCharge >= 2 && LepGood_lostHits == 0' -A pt20 mc 'LepGood_pt > 7'" + MuFakeVsPt="$B0 $MuDen --sP pt_.*,ptGZ_.* " + echo "( $MuFakeVsPt -p TT_red,QCDMu_red --sp 'TT.*' -o $PBASE/$what/mu_a_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red --sp 'TT.*' -o $PBASE/$what/mu_a_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.5' ${BG} )" + ElFakeVsPt="$B0 $ElDen --sP pt_.*,ptGZ_.* " + echo "( $ElFakeVsPt -p TT_red,QCDEl_red --sp 'TT.*' -o $PBASE/$what/el_a_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red --sp 'TT.*' -o $PBASE/$what/el_a_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + ;; + mvaTTH) + T="/afs/cern.ch/user/g/gpetrucc/w/TREES_72X_210315_NoIso" + WP=08; if [[ "$2" != "" ]]; then WP=$2; fi; + case $WP in + 08) SelDen="-A pt20 den '(LepGood_relIso03 < 0.3) && LepGood_sip3d < 4'"; Num="mvaTTH_$WP"; MuIdDen=1;; + 06) SelDen="-A pt20 den '(LepGood_relIso03 < 0.4) && LepGood_sip3d < 6'"; Num="mvaTTH_$WP"; MuIdDen=1;; + 06i) SelDen="-A pt20 den '(LepGood_relIso03 < 0.5) && LepGood_sip3d < 4'"; Num="mvaTTH_$WP"; MuIdDen=0;; + esac + B0="$BASE -P $T ttH-multilepton/make_fake_rates_sels.txt ttH-multilepton/make_fake_rates_xvars.txt --groupBy cut --sP ${Num} " + B0="$B0 --legend=TL --yrange 0 0.4 --showRatio --ratioRange 0.31 1.69 --xcut 10 999 " + JetDen="-A pt20 jet 'nJet40 >= 1 && minMllAFAS > 12'" + CommonDen="${JetDen} ${SelDen}" + MuDen="${CommonDen} -A pt20 den 'LepGood_mediumMuonId>=${MuIdDen}' -A pt20 mc 'LepGood_pt > 7' " + ElDen="${CommonDen} -I mu -A pt20 den 'LepGood_convVeto && LepGood_tightCharge >= 2 && LepGood_lostHits == 0' -A pt20 mc 'LepGood_pt > 7'" + BDen="-A pt20 bjet 'nBJetMedium40 <= 1 && nBJetMedium25 == 1'" + MuFakeVsPt="$B0 $MuDen ${BDen} --sP pt_coarse,ptJI_mvaTTH${WP%%i}_.* " + ElFakeVsPt="$B0 $ElDen ${BDen} --sP pt_coarse,ptJI_mvaTTH${WP%%i}_.* " + echo "( $MuFakeVsPt -p TT_red,QCDMu_red --sp 'TT.*' -o $PBASE/$what/mu_wp${WP}_a_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red --sp 'TT.*' -o $PBASE/$what/mu_wp${WP}_a_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.5' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red --sp 'TT.*' -o $PBASE/$what/el_wp${WP}_a_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red --sp 'TT.*' -o $PBASE/$what/el_wp${WP}_a_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + BDen="-A pt20 bjet 'nBJetMedium40 != 1 && nBJetMedium40 == nBJetMedium25'" + MuFakeVsPt="$B0 $MuDen ${BDen} --sP pt_coarse,ptJI_mvaTTH${WP%%i}_.* " + ElFakeVsPt="$B0 $ElDen ${BDen} --sP pt_coarse,ptJI_mvaTTH${WP%%i}_.* " + echo "( $MuFakeVsPt -p TT_red,QCDMu_red --sp 'TT.*' -o $PBASE/$what/mu_wp${WP}_b_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red --sp 'TT.*' -o $PBASE/$what/mu_wp${WP}_b_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.5' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red --sp 'TT.*' -o $PBASE/$what/el_wp${WP}_b_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red --sp 'TT.*' -o $PBASE/$what/el_wp${WP}_b_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + ;; + mvaTTH-suite-QCD) + BCORE="${BCORE/object-studies\/lepton-mca.txt/ttH-multilepton/lepton-mca-frstudies.txt}" + BASE="${BASE/object-studies\/lepton-mca.txt/ttH-multilepton/lepton-mca-frstudies.txt}" + T="/afs/cern.ch/user/g/gpetrucc/w/TREES_72X_210315_NoIso" + WP=08; if [[ "$2" != "" ]]; then WP=$2; fi; + case $WP in + 08) SelDen="-A pt20 den '(LepGood_relIso03 < 0.3) && LepGood_sip3d < 4'"; Num="mvaTTH_$WP"; MuIdDen=1;; + 06) SelDen="-A pt20 den '(LepGood_relIso03 < 0.4) && LepGood_sip3d < 6'"; Num="mvaTTH_$WP"; MuIdDen=1;; + 06i) SelDen="-A pt20 den '(LepGood_relIso03 < 0.5) && LepGood_sip3d < 4'"; Num="mvaTTH_$WP"; MuIdDen=0;; + esac + B0="$BASE -P $T ttH-multilepton/make_fake_rates_sels.txt ttH-multilepton/make_fake_rates_xvars.txt --groupBy cut --sP ${Num} " + B0="$B0 --legend=TL --yrange 0 0.4 --showRatio --ratioRange 0.31 1.69 --xcut 10 999 " + JetDen="-A pt20 mll 'minMllAFAS > 12'" + CommonDen="${JetDen} ${SelDen}" + MuDen="${CommonDen} -A pt20 den 'LepGood_mediumMuonId>=${MuIdDen} && LepGood_pt > 5' " + ElDen="${CommonDen} -I mu -A pt20 den 'LepGood_convVeto && LepGood_tightCharge >= 2 && LepGood_lostHits == 0 && LepGood_pt > 7' " + PtJBin=" -A pt20 ptj20 'LepGood_pt*if3(LepGood_mvaTTH>${WP%%i}, 1.0, 0.85/LepGood_jetPtRatio) > 20'" + RunMCA="python mcAnalysis.py -G -e -f -P $T $BCORE $PtJBin -j 3" + for RVar in 25 30 35 40 50 60; do + for BVar in bVeto bTag bTight bAny; do + case $BVar in + bAny) BDen="-A pt20 jet 'LepGood_awayJet_pt > $RVar ' " ;; + bVeto) BDen="-A pt20 jet 'LepGood_awayJet_pt > $RVar && LepGood_awayJet_btagCSV < 0.423' " ;; + bTag) BDen="-A pt20 jet 'LepGood_awayJet_pt > $RVar && LepGood_awayJet_btagCSV > 0.423' " ;; + bTight) BDen="-A pt20 jet 'LepGood_awayJet_pt > $RVar && LepGood_awayJet_btagCSV > 0.941' " ;; + esac; + MuFakeVsPt="$B0 $MuDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i}_.*' --sp TT_red " + ElFakeVsPt="$B0 $ElDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i}_.*' --sp TT_red " + Me="wp${WP}_rec${RVar}_${BVar}" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.5' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + echo "( $RunMCA $MuDen ${BDen} -p QCDMu_.jets -R pt20 eta 'abs(LepGood_eta)<1.5' > $PBASE/$what/mu_${Me}_eta_00_15.txt ${BG} )" + # Now the "triggering low pt leg" + MuFakeVsPt="$B0 $MuDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i}_.*' --sp TT_red -A pt20 pt10 'LepGood_pt > 8' " + ElFakeVsPt="$B0 $ElDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i}_.*' --sp TT_red -A pt20 pt10 'LepGood_pt > 12' " + Me="wp${WP}_rec${RVar}_${BVar}_trig2l" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.5' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + echo "( $RunMCA $MuDen ${BDen} -p QCDMu_.jets -R pt20 eta 'abs(LepGood_eta)<1.5' > $PBASE/$what/mu_${Me}_eta_00_15.txt ${BG} )" + # Now the "triggering low pt leg" + MuFakeVsPt="$B0 $MuDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i}_.*' --sp TT_red -A pt20 pt10 'LepGood_pt > 17' " + ElFakeVsPt="$B0 $ElDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i}_.*' --sp TT_red -A pt20 pt10 'LepGood_pt > 23' " + Me="wp${WP}_rec${RVar}_${BVar}_trig2h" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.5' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + echo "( $RunMCA $MuDen ${BDen} -p QCDMu_.jets -R pt20 eta 'abs(LepGood_eta)<1.5' > $PBASE/$what/mu_${Me}_eta_00_15.txt ${BG} )" + done + done + ;; + mvaTTH-test-QCD) + BCORE="${BCORE/object-studies\/lepton-mca.txt/ttH-multilepton/lepton-mca-frstudies.txt}" + BASE="${BASE/object-studies\/lepton-mca.txt/ttH-multilepton/lepton-mca-frstudies.txt}" + T="/afs/cern.ch/user/g/gpetrucc/w/TREES_72X_210315_NoIso" + WP=08; if [[ "$2" != "" ]]; then WP=$2; fi; + case $WP in + 08) SelDen="-A pt20 den '(LepGood_relIso03 < 0.3) && LepGood_sip3d < 4'"; Num="mvaTTH_$WP"; MuIdDen=1;; + 06) SelDen="-A pt20 den '(LepGood_relIso03 < 0.5) && LepGood_sip3d < 8'"; Num="mvaTTH_$WP"; MuIdDen=1;; + 06i) SelDen="-A pt20 den '(LepGood_relIso03 < 0.5) && LepGood_sip3d < 4'"; Num="mvaTTH_$WP"; MuIdDen=0;; + 06il) SelDen="-A pt20 den '(LepGood_relIso03 < 0.5) && LepGood_sip3d < 8'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + 06im) SelDen="-A pt20 den '(LepGood_relIso03 < 0.5) && LepGood_sip3d < 6 && LepGood_jetBTagCSV < 0.941'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + 06it) SelDen="-A pt20 den '(LepGood_relIso03 < 0.4) && LepGood_sip3d < 6 && LepGood_jetBTagCSV < 0.814'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + 06is0) SelDen="-A pt20 den '(LepGood_relIso03 < 0.4) && LepGood_sip3d < 6 && LepGood_jetBTagCSV < 0.814 && (LepGood_mvaTTH>${WP/i*/} || LepGood_jetPtRatio > 0.0*0.85)'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + 06is1) SelDen="-A pt20 den '(LepGood_relIso03 < 0.4) && LepGood_sip3d < 6 && LepGood_jetBTagCSV < 0.814 && (LepGood_mvaTTH>${WP/i*/} || LepGood_jetPtRatio > 0.5*0.85)'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + 06is1b) SelDen="-A pt20 den '(LepGood_relIso03 < 0.4) && LepGood_sip3d < 6 && (LepGood_mvaTTH>${WP/i*/} || LepGood_jetPtRatio > 0.5*0.85)'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + 06is1c) SelDen="-A pt20 den '(LepGood_relIso03 < 0.5) && LepGood_sip3d < 4 && LepGood_jetBTagCSV < 0.814 && (LepGood_mvaTTH>${WP/i*/} || LepGood_jetPtRatio > 0.5*0.85)'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + 06is2) SelDen="-A pt20 den '(LepGood_relIso03 < 0.4) && LepGood_sip3d < 6 && LepGood_jetBTagCSV < 0.814 && (LepGood_mvaTTH>${WP/i*/} || LepGood_jetPtRatio > 0.6*0.85)'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + 06is3) SelDen="-A pt20 den '(LepGood_relIso03 < 0.4) && LepGood_sip3d < 6 && LepGood_jetBTagCSV < 0.814 && (LepGood_mvaTTH>${WP/i*/} || LepGood_jetPtRatio > 0.7*0.85)'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + esac + B0="$BASE -P $T ttH-multilepton/make_fake_rates_sels.txt ttH-multilepton/make_fake_rates_xvars.txt --groupBy cut --sP ${Num} " + B0="$B0 --legend=TL --yrange 0 0.4 --showRatio --ratioRange 0.31 1.69 --xcut 10 999 " + JetDen="-A pt20 mll 'minMllAFAS > 12'" + CommonDen="${JetDen} ${SelDen}" + MuDen="${CommonDen} -A pt20 den 'LepGood_mediumMuonId>=${MuIdDen} && LepGood_pt > 5' " + ElDen="${CommonDen} -I mu -A pt20 den 'LepGood_convVeto && LepGood_tightCharge >= 2 && LepGood_lostHits == 0 && LepGood_pt > 7' " + RVar=40; BVar=bAny; + case $BVar in + bAny) BDen="-A pt20 jet 'LepGood_awayJet_pt > $RVar ' " ;; + bVeto) BDen="-A pt20 jet 'LepGood_awayJet_pt > $RVar && LepGood_awayJet_btagCSV < 0.423' " ;; + bTag) BDen="-A pt20 jet 'LepGood_awayJet_pt > $RVar && LepGood_awayJet_btagCSV > 0.423' " ;; + bTight) BDen="-A pt20 jet 'LepGood_awayJet_pt > $RVar && LepGood_awayJet_btagCSV > 0.941' " ;; + esac; + Me="wp${WP}_rec${RVar}_${BVar}" + # ttbar variations, zoomed + MuFakeVsPt="$MuDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i*}_unity' --sp TT_red " + ElFakeVsPt="$ElDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i*}_unity' --sp TT_red " + BZ=${B0/ratioRange 0.31 1.69/ratioRange 0.77 1.29}; BZ=${BZ/yrange 0 0.4/yrange 0 0.25}; BZ=${BZ/legend=TL/legend=TR} + echo "( $BZ $MuFakeVsPt -p TT_red,TT_fw._red -o $PBASE/$what/mu_${Me}_eta_00_25_ttfws.root -R pt20 eta 'abs(LepGood_eta)<2.5' ${BG} )" + echo "( $B0 $MuFakeVsPt -p TT_red,TT_SS.*_red -o $PBASE/$what/mu_${Me}_eta_00_25_ttvars.root -R pt20 eta 'abs(LepGood_eta)<2.5' ${BG} )" + BZ=${B0/ratioRange 0.31 1.69/ratioRange 0.67 1.39}; BZ=${BZ/yrange 0 0.4/yrange 0 0.25}; BZ=${BZ/legend=TL/legend=TR} + echo "( $BZ $ElFakeVsPt -p TT_red,TT_fw._red -o $PBASE/$what/el_${Me}_eta_00_15_ttfws.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $BZ $ElFakeVsPt -p TT_red,TT_SS.*_red -o $PBASE/$what/el_${Me}_eta_00_15_ttvars.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $BZ $ElFakeVsPt -p TT_red,TT_fw._red -o $PBASE/$what/el_${Me}_eta_15_25_ttfws.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + echo "( $BZ $ElFakeVsPt -p TT_red,TT_SS.*_red -o $PBASE/$what/el_${Me}_eta_15_25_ttvars.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + + MuFakeVsPt="$MuDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i*}_mid' --sp TT_red " + ElFakeVsPt="$ElDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i*}_mid' --sp TT_red " + echo "( $B0 $MuFakeVsPt -p 'TT_red,TT_pt(8|17|24)_red' -o $PBASE/$what/mu_${Me}_eta_00_25_ttpt.root -R pt20 eta 'abs(LepGood_eta)<2.5' ${BG} )" + echo "( $B0 $ElFakeVsPt -p 'TT_red,TT_pt(12|23|32)_red' -o $PBASE/$what/el_${Me}_eta_00_15_ttpt.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + + MuFakeVsPt="$MuDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i*}_coarse' --sp TT_red " + ElFakeVsPt="$ElDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i*}_coarse' --sp TT_red " + echo "( $B0 $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $B0 $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.5' ${BG} )" + echo "( $B0 $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $B0 $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + + #AwayJet pt variations + MuFakeVsPt="$MuDen --sP 'ptJI_mvaTTH${WP%%i*}_coarse' --sp TT_red " + ElFakeVsPt="$ElDen --sP 'ptJI_mvaTTH${WP%%i*}_coarse' --sp TT_red " + echo "( $B0 $MuFakeVsPt -p 'TT_red,QCDMu_red_aj[2-6].*' -o $PBASE/$what/mu_${Me}_eta_00_15_ajpt.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $B0 $ElFakeVsPt -p 'TT_red,QCDEl_red_aj[2-6].*' -o $PBASE/$what/el_${Me}_eta_00_15_ajpt.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + + #AwayJet b-tag + MuFakeVsPt="$MuDen --sP 'ptJI_mvaTTH${WP%%i*}_coarse' --sp TT_red -A pt20 jet 'LepGood_awayJet_pt > 40' " + ElFakeVsPt="$ElDen --sP 'ptJI_mvaTTH${WP%%i*}_coarse' --sp TT_red -A pt20 jet 'LepGood_awayJet_pt > 40' " + echo "( $B0 $MuFakeVsPt -p 'TT_red,QCDMu_red_ajb.*' -o $PBASE/$what/mu_${Me}_eta_00_15_ajb.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $B0 $MuFakeVsPt -p 'TT_red,QCDEl_red_ajb.*' -o $PBASE/$what/el_${Me}_eta_00_15_ajb.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + + + # Now the "triggering low pt leg" + MuFakeVsPt="$B0 $MuDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i*}_.*' --sp TT_red -A pt20 pt10 'LepGood_pt > 8' " + ElFakeVsPt="$B0 $ElDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i*}_.*' --sp TT_red -A pt20 pt10 'LepGood_pt > 12' " + Me="wp${WP}_rec${RVar}_${BVar}_trig2l" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.5' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + echo "( $RunMCA $MuDen ${BDen} -p QCDMu_.jets -R pt20 eta 'abs(LepGood_eta)<1.5' > $PBASE/$what/mu_${Me}_eta_00_15.txt ${BG} )" + # Now the "triggering low pt leg" + MuFakeVsPt="$B0 $MuDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i*}_.*' --sp TT_red -A pt20 pt10 'LepGood_pt > 17' " + ElFakeVsPt="$B0 $ElDen ${BDen} --sP 'ptJI_mvaTTH${WP%%i*}_.*' --sp TT_red -A pt20 pt10 'LepGood_pt > 23' " + Me="wp${WP}_rec${RVar}_${BVar}_trig2h" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.5' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_${Me}_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + echo "( $RunMCA $MuDen ${BDen} -p QCDMu_.jets -R pt20 eta 'abs(LepGood_eta)<1.5' > $PBASE/$what/mu_${Me}_eta_00_15.txt ${BG} )" + ;; + mvaTTH-prod) + BCORE="${BCORE/object-studies\/lepton-mca.txt/ttH-multilepton/lepton-mca-frstudies.txt}" + BASE="${BASE/object-studies\/lepton-mca.txt/ttH-multilepton/lepton-mca-frstudies.txt}" + T="/afs/cern.ch/user/g/gpetrucc/w/TREES_72X_210315_NoIso" + WP=06i; if [[ "$2" != "" ]]; then WP=$2; fi; + case $WP in + 06i) SelDen="-A pt20 den '(LepGood_relIso03 < 0.4) && LepGood_sip3d < 6 && (LepGood_mvaTTH>${WP/i*/} || LepGood_jetPtRatio > 0.5*0.85)'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + 06ib) SelDen="-A pt20 den '(LepGood_relIso03 < 0.4) && LepGood_sip3d < 6 && LepGood_jetBTagCSV < 0.814 && (LepGood_mvaTTH>${WP/i*/} || LepGood_jetPtRatio > 0.5*0.85)'"; Num="mvaTTH_${WP/i*/i}"; MuIdDen=0;; + esac + B0="$BASE -P $T ttH-multilepton/make_fake_rates_sels.txt ttH-multilepton/make_fake_rates_xvars.txt --groupBy cut --sP ${Num} " + B0="$B0 --legend=TL --yrange 0 0.4 --showRatio --ratioRange 0.31 1.69 --xcut 10 999 " + JetDen="-A pt20 jet 'LepGood_awayJet_pt > 40 && minMllAFAS > 12'" + CommonDen="${JetDen} ${SelDen}" + MuDen="${CommonDen} -A pt20 den 'LepGood_mediumMuonId>=${MuIdDen}' -A pt20 mc 'LepGood_pt > 5' " + ElDen="${CommonDen} -I mu -A pt20 den 'LepGood_convVeto && LepGood_tightCharge >= 2 && LepGood_lostHits == 0' -A pt20 mc 'LepGood_pt > 7'" + MuFakeVsPt="$B0 $MuDen --sP ptJI_mvaTTH${WP%%i*}_coarse --sp 'TT.*' " + ElFakeVsPt="$B0 $ElDen --sP ptJI_mvaTTH${WP%%i*}_coarse --sp 'TT.*' " + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_wp${WP}_a_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.5' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_wp${WP}_a_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.5' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_wp${WP}_a_eta_00_15.root -R pt20 eta 'abs(LepGood_eta)<1.479' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_wp${WP}_a_eta_15_24.root -R pt20 eta 'abs(LepGood_eta)>1.479' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_wp${WP}_a_eta_00_15_pt8.root -R pt20 eta 'abs(LepGood_eta)<1.5 && LepGood_pt > 8' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_wp${WP}_a_eta_15_24_pt8.root -R pt20 eta 'abs(LepGood_eta)>1.5 && LepGood_pt > 8' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_wp${WP}_a_eta_00_15_pt12.root -R pt20 eta 'abs(LepGood_eta)<1.479 && LepGood_pt > 12' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_wp${WP}_a_eta_15_24_pt12.root -R pt20 eta 'abs(LepGood_eta)>1.479 && LepGood_pt > 12' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_wp${WP}_a_eta_00_15_pt17.root -R pt20 eta 'abs(LepGood_eta)<1.5 && LepGood_pt > 17' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_wp${WP}_a_eta_15_24_pt17.root -R pt20 eta 'abs(LepGood_eta)>1.5 && LepGood_pt > 17' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_wp${WP}_a_eta_00_15_pt23.root -R pt20 eta 'abs(LepGood_eta)<1.479 && LepGood_pt > 23' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_wp${WP}_a_eta_15_24_pt23.root -R pt20 eta 'abs(LepGood_eta)>1.479 && LepGood_pt > 23' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_wp${WP}_a_eta_00_15_pt24.root -R pt20 eta 'abs(LepGood_eta)<1.5 && LepGood_pt > 17' ${BG} )" + echo "( $MuFakeVsPt -p TT_red,QCDMu_red -o $PBASE/$what/mu_wp${WP}_a_eta_15_24_pt24.root -R pt20 eta 'abs(LepGood_eta)>1.5 && abs(LepGood_eta)< 2.1 && LepGood_pt > 24' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_wp${WP}_a_eta_00_15_pt32.root -R pt20 eta 'abs(LepGood_eta)<1.479 && LepGood_pt > 32' ${BG} )" + echo "( $ElFakeVsPt -p TT_red,QCDEl_red -o $PBASE/$what/el_wp${WP}_a_eta_15_24_pt32.root -R pt20 eta 'abs(LepGood_eta)>1.479 && abs(LepGood_eta)< 2.1 && LepGood_pt > 32' ${BG} )" + ;; + +esac; diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_fake_rates_sels.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_fake_rates_sels.txt new file mode 100644 index 000000000000..0699d2e9d1f6 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_fake_rates_sels.txt @@ -0,0 +1,8 @@ +relIso03_01: LepGood_relIso03<0.1: 2,-0.5,1.5; Title="I_{03}<0.1", MarkerColor=1, MarkerStyle=21, MarkerSize=1.3 +AND_relIso03_01_SIP4: LepGood_relIso03<0.1 && LepGood_sip3d < 4: 2,-0.5,1.5; Title="I_{03}<0.1\, S_{ip3D} < 4", MarkerColor=1, MarkerStyle=21, MarkerSize=1.3 +mvaTTH_08: LepGood_mvaTTH > 0.8: 2,-0.5,1.5; Title="MVA {ttH} > 0.8", MarkerColor=1, MarkerStyle=21, MarkerSize=1.3 +mvaTTH_08i: LepGood_mvaTTH > 0.8: 2,-0.5,1.5; Title="MVA {ttH} > 0.8 + Id", MarkerColor=1, MarkerStyle=21, MarkerSize=1.3 +mvaTTH_07: LepGood_mvaTTH > 0.7: 2,-0.5,1.5; Title="MVA {ttH} > 0.7", MarkerColor=1, MarkerStyle=21, MarkerSize=1.3 +mvaTTH_06: LepGood_mvaTTH > 0.6: 2,-0.5,1.5; Title="MVA {ttH} > 0.6", MarkerColor=1, MarkerStyle=21, MarkerSize=1.3 +mvaTTH_06i: LepGood_mvaTTH > 0.6 && LepGood_mediumMuonId > 0: 2,-0.5,1.5; Title="MVA {ttH} > 0.6 + Id", MarkerColor=1, MarkerStyle=21, MarkerSize=1.3 +miniRelIso_005: LepGood_miniRelIso<0.05: 2,-0.5,1.5; Title="MiniIso<0.05", MarkerColor=ROOT.kViolet+10, MarkerStyle=21, MarkerSize=1.3 diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_fake_rates_xvars.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_fake_rates_xvars.txt new file mode 100644 index 000000000000..a79062ca0630 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/make_fake_rates_xvars.txt @@ -0,0 +1,19 @@ +#pt_vfine: LepGood_pt: [ 10,11,12,13,14,15,16,18,20,22,25 ] ; XTitle="lepton p_{T} (GeV)", Density=True, Logy +#pt_vfine: LepGood_pt: [ 0,5,6,7,8,9,10,11,12,13,15,17,20,22,25,30,35,40,45,50,60,75,90,120 ] ; XTitle="lepton p_{T} (GeV)", Density=True +#eta_fine: abs(LepGood_eta): 12,0,2.4 ; XTitle="lepton |#eta|" +#pt_fine: LepGood_pt: [ 0,10,13,15,20,25,30,35,45,60,90,120 ] ; XTitle="lepton p_{T} (GeV)", Density=True +#pt_fine: LepGood_pt: [ 0,10,13,16,20,25,30,35,45,60,90,120 ] ; XTitle="lepton p_{T} (GeV)", Density=True +pt_coarse: LepGood_pt: [ 0,10,15,20,25,30,45,70,100 ] ; XTitle="lepton p_{T} (GeV)", Density=True +#ptGZ_fine: LepGood_pt*(1+max(LepGood_relIso03-0.1,0)): [ 0,10,13,16,20,25,30,35,45,60,90,120 ] ; XTitle="lepton p_{T} + iso (GeV)", Density=True +ptGZ_coarse: LepGood_pt*if3(LepGood_relIso03<0.1, 1.0, 1+LepGood_relIso03-0.1): [ 0,10,15,20,25,30,45,70,100 ] ; XTitle="lepton p_{T} + iso (GeV)", Density=True +#ptJI_fine: LepGood_pt*if3(LepGood_relIso03<0.1, 1.0, 0.75/LepGood_jetPtRatio): [ 0,10,13,16,20,25,30,35,45,60,90,120 ]; XTitle="lepton p_{T} w/ jet 0.75 (GeV)", Density=True +#ptJI_coarse: LepGood_pt*if3(LepGood_relIso03<0.1, 1.0, 0.75/LepGood_jetPtRatio): [ 0,10,15,20,30,45,70,100 ]; XTitle="lepton p_{T} w/ jet 0.75 (GeV)", Density=True +ptJI_mvaTTH08_coarse: LepGood_pt*if3(LepGood_mvaTTH>0.8, 1.0, 0.85/LepGood_jetPtRatio): [ 0,10,15,20,25,30,45,70,100 ]; XTitle="lepton p_{T} w/ jet 0.85 (GeV)", Density=True +ptJI_mvaTTH07_coarse: LepGood_pt*if3(LepGood_mvaTTH>0.7, 1.0, 0.75/LepGood_jetPtRatio): [ 0,10,15,20,25,30,45,70,100 ]; XTitle="lepton p_{T} w/ jet 0.85 (GeV)", Density=True +ptJI_mvaTTH06_coarse: LepGood_pt*if3(LepGood_mvaTTH>0.6&&LepGood_mediumMuonId>0, 1.0, 0.85/LepGood_jetPtRatio): [ 0,10,15,20,25,30,45,70,100 ]; XTitle="lepton p_{T} w/ jet 0.85 (GeV)", Density=True +ptJI_mvaTTH06_mid: LepGood_pt*if3(LepGood_mvaTTH>0.6&&LepGood_mediumMuonId>0, 1.0, 0.85/LepGood_jetPtRatio): [ 0,10,12.5,15,17.5,20,22.5,25,30,35,40,50,70,100 ]; XTitle="lepton p_{T} w/ jet 0.85 (GeV)", Density=True +ptJI_mvaTTH06_unity: LepGood_pt*if3(LepGood_mvaTTH>0.6&&LepGood_mediumMuonId>0, 1.0, 0.85/LepGood_jetPtRatio): [ 0,10,15,20,25,100 ]; XTitle="lepton p_{T} w/ jet 0.85 (GeV)", Density=True +#ptJIX1_mvaTTH06_mid: LepGood_pt*if3(LepGood_mvaTTH>0.6&&LepGood_mediumMuonId>0, 1.0, (0.5+0.5*0.85/LepGood_jetPtRatio)): [ 0,10,12.5,15,17.5,20,22.5,25,30,35,40,50,70,100 ]; XTitle="lepton p_{T} w/ half jet 0.85 (GeV)", Density=True +ptJIX2_mvaTTH06_mid: LepGood_pt*if3(LepGood_mvaTTH>0.6&&LepGood_mediumMuonId>0, 1.0, (0.25+0.75*0.85/LepGood_jetPtRatio)): [ 0,10,12.5,15,17.5,20,22.5,25,30,35,40,50,70,100 ]; XTitle="lepton p_{T} w/ half jet 0.85 (GeV)", Density=True +#ptJIX1_mvaTTH06_coarse: LepGood_pt*if3(LepGood_mvaTTH>0.6&&LepGood_mediumMuonId>0, 1.0, (0.5+0.5*0.85/LepGood_jetPtRatio)): [ 0,10,15,20,25,30,45,70,100 ]; XTitle="lepton p_{T} w/ jet 0.85 (GeV)", Density=True +ptJIX2_mvaTTH06_coarse: LepGood_pt*if3(LepGood_mvaTTH>0.6&&LepGood_mediumMuonId>0, 1.0, (0.25+0.75*0.85/LepGood_jetPtRatio)): [ 0,10,15,20,25,30,45,70,100 ]; XTitle="lepton p_{T} w/ jet 0.85 (GeV)", Density=True diff --git a/CMGTools/TTHAnalysis/python/plotter/masses.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/masses.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/masses.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/masses.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2l-data-topPtW.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2l-data-topPtW.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2l-data-topPtW.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2l-data-topPtW.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-dataBCat.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-dataBCat.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-dataBCat.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-dataBCat.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-dataBCat4Plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-dataBCat4Plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-dataBCat4Plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-dataBCat4Plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-dataSUS13.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-dataSUS13.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-dataSUS13.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-dataSUS13.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-dataSUS134Plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-dataSUS134Plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-dataSUS134Plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-dataSUS134Plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-dd.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-dd.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-dd.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-dd.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcScaledBCat4Plots-em.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcScaledBCat4Plots-em.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcScaledBCat4Plots-em.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcScaledBCat4Plots-em.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcScaledBCat4Plots-mumu-3j.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcScaledBCat4Plots-mumu-3j.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcScaledBCat4Plots-mumu-3j.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcScaledBCat4Plots-mumu-3j.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcScaledBCat4Plots-mumu.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcScaledBCat4Plots-mumu.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcScaledBCat4Plots-mumu.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcScaledBCat4Plots-mumu.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcScaledBCat4Plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcScaledBCat4Plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcScaledBCat4Plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcScaledBCat4Plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcScaled_TTSplit.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcScaled_TTSplit.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcScaled_TTSplit.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcScaled_TTSplit.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcUnscaled.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcUnscaled.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-2lss-mcUnscaled.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-2lss-mcUnscaled.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-dataBCat.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-dataBCat.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-dataBCat.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-dataBCat.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-dataBCat4Plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-dataBCat4Plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-dataBCat4Plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-dataBCat4Plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-dataSUS13.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-dataSUS13.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-dataSUS13.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-dataSUS13.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-dataSUS134Plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-dataSUS134Plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-dataSUS134Plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-dataSUS134Plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-dd.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-dd.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-dd.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-dd.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-mcScaledBCat4Plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-mcScaledBCat4Plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-mcScaledBCat4Plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-mcScaledBCat4Plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-mcUnscaled.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-mcUnscaled.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-3l_tight-mcUnscaled.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-3l_tight-mcUnscaled.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-4l-data.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-4l-data.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-4l-data.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-4l-data.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-4l-dd.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-4l-dd.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-4l-dd.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-4l-dd.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-4l-ttscale.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-4l-ttscale.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-4l-ttscale.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-4l-ttscale.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-4l-ttscale4Plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-4l-ttscale4Plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-4l-ttscale4Plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-4l-ttscale4Plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-PDFW.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-PDFW.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-PDFW.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-PDFW.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-cb-frmc.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-cb-frmc.txt new file mode 100644 index 000000000000..fb8805189689 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-cb-frmc.txt @@ -0,0 +1,78 @@ +TTH+ : TTH : xsec ; FillColor=ROOT.kOrange+1, Label="ttH", NormSystematic=0.2 + +# --- Backgrounds with prompt leptons +TTV : TTWJets: xsec ; FillColor=ROOT.kGreen-5, Label="ttV", NormSystematic=0.2 +TTV : TTZJets: xsec ; FillColor=ROOT.kSpring+2, Label="ttV", NormSystematic=0.2 +WZ : WZJetsTo3LNu: 2.165 ; Label="WZ", FillColor=ROOT.kViolet-4, NormSystematic=0.3 +ZZ : ZZTo4L: 0.1081 ; Label="ZZ", FillColor=ROOT.kAzure-9, NormSystematic=0.3 + +# -- TTbar & related Backgrounds +Fakes_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 + +Fakes_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && (LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21 ) || LepGood_mcMatchId[iL2p_Old] == 0 && ( LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21 ) ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 + +# -- V+jets & related backgrounds +Fakes_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 + + +# -- TTbar & related Backgrounds +FRmc_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 + +FRmc_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 &&(LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21) || LepGood_mcMatchId[iL2p_Old] == 0 && (LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21)) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 + +# -- TTbar & related Backgrounds +FR1_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cp-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 + +FR1_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 &&(LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21) || LepGood_mcMatchId[iL2p_Old] == 0 && (LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21)) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-cb-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 + + diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva06-frmc.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva06-frmc.txt new file mode 100644 index 000000000000..3696aa9179f1 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva06-frmc.txt @@ -0,0 +1,78 @@ +TTH+ : TTH : xsec ; FillColor=ROOT.kOrange+1, Label="ttH", NormSystematic=0.2 + +# --- Backgrounds with prompt leptons +TTV : TTWJets: xsec ; FillColor=ROOT.kGreen-5, Label="ttV", NormSystematic=0.2 +TTV : TTZJets: xsec ; FillColor=ROOT.kSpring+2, Label="ttV", NormSystematic=0.2 +WZ : WZJetsTo3LNu: 2.165 ; Label="WZ", FillColor=ROOT.kViolet-4, NormSystematic=0.3 +ZZ : ZZTo4L: 0.1081 ; Label="ZZ", FillColor=ROOT.kAzure-9, NormSystematic=0.3 + +# -- TTbar & related Backgrounds +Fakes_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 + +Fakes_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && (LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21 ) || LepGood_mcMatchId[iL2p_Old] == 0 && ( LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21 ) ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 + +# -- V+jets & related backgrounds +Fakes_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 + + +# -- TTbar & related Backgrounds +FRmc_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 + +FRmc_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 &&(LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21) || LepGood_mcMatchId[iL2p_Old] == 0 && (LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21)) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 + +# -- TTbar & related Backgrounds +FR1_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 + +FR1_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 &&(LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21) || LepGood_mcMatchId[iL2p_Old] == 0 && (LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21)) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 + + diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva06i-frmc.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva06i-frmc.txt new file mode 100644 index 000000000000..52008c2c851e --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva06i-frmc.txt @@ -0,0 +1,78 @@ +TTH+ : TTH : xsec ; FillColor=ROOT.kOrange+1, Label="ttH", NormSystematic=0.2 + +# --- Backgrounds with prompt leptons +TTV : TTWJets: xsec ; FillColor=ROOT.kGreen-5, Label="ttV", NormSystematic=0.2 +TTV : TTZJets: xsec ; FillColor=ROOT.kSpring+2, Label="ttV", NormSystematic=0.2 +WZ : WZJetsTo3LNu: 2.165 ; Label="WZ", FillColor=ROOT.kViolet-4, NormSystematic=0.3 +ZZ : ZZTo4L: 0.1081 ; Label="ZZ", FillColor=ROOT.kAzure-9, NormSystematic=0.3 + +# -- TTbar & related Backgrounds +Fakes_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 + +Fakes_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && (LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21 ) || LepGood_mcMatchId[iL2p_Old] == 0 && ( LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21 ) ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 + +# -- V+jets & related backgrounds +Fakes_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 + + +# -- TTbar & related Backgrounds +FRmc_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 + +FRmc_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 &&(LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21) || LepGood_mcMatchId[iL2p_Old] == 0 && (LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21)) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 + +# -- TTbar & related Backgrounds +FR1_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 + +FR1_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 &&(LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21) || LepGood_mcMatchId[iL2p_Old] == 0 && (LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21)) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06i-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 + + diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva06ib-frmc.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva06ib-frmc.txt new file mode 100644 index 000000000000..9678790a35ce --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva06ib-frmc.txt @@ -0,0 +1,78 @@ +TTH+ : TTH : xsec ; FillColor=ROOT.kOrange+1, Label="ttH", NormSystematic=0.2 + +# --- Backgrounds with prompt leptons +TTV : TTWJets: xsec ; FillColor=ROOT.kGreen-5, Label="ttV", NormSystematic=0.2 +TTV : TTZJets: xsec ; FillColor=ROOT.kSpring+2, Label="ttV", NormSystematic=0.2 +WZ : WZJetsTo3LNu: 2.165 ; Label="WZ", FillColor=ROOT.kViolet-4, NormSystematic=0.3 +ZZ : ZZTo4L: 0.1081 ; Label="ZZ", FillColor=ROOT.kAzure-9, NormSystematic=0.3 + +# -- TTbar & related Backgrounds +Fakes_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 + +Fakes_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && (LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21 ) || LepGood_mcMatchId[iL2p_Old] == 0 && ( LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21 ) ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 + +# -- V+jets & related backgrounds +Fakes_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 + + +# -- TTbar & related Backgrounds +FRmc_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 + +FRmc_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 &&(LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21) || LepGood_mcMatchId[iL2p_Old] == 0 && (LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21)) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 + +# -- TTbar & related Backgrounds +FR1_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 + +FR1_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 &&(LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21) || LepGood_mcMatchId[iL2p_Old] == 0 && (LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21)) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva06ib-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 + + diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva08-frmc.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva08-frmc.txt new file mode 100644 index 000000000000..4b5e6a4fa88e --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-Phys14-2lss-mva08-frmc.txt @@ -0,0 +1,78 @@ +TTH+ : TTH : xsec ; FillColor=ROOT.kOrange+1, Label="ttH", NormSystematic=0.2 + +# --- Backgrounds with prompt leptons +TTV : TTWJets: xsec ; FillColor=ROOT.kGreen-5, Label="ttV", NormSystematic=0.2 +TTV : TTZJets: xsec ; FillColor=ROOT.kSpring+2, Label="ttV", NormSystematic=0.2 +WZ : WZJetsTo3LNu: 2.165 ; Label="WZ", FillColor=ROOT.kViolet-4, NormSystematic=0.3 +ZZ : ZZTo4L: 0.1081 ; Label="ZZ", FillColor=ROOT.kAzure-9, NormSystematic=0.3 + +# -- TTbar & related Backgrounds +Fakes_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +#Fakes_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 + +Fakes_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && (LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21 ) || LepGood_mcMatchId[iL2p_Old] == 0 && ( LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21 ) ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 +Fakes_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0 ) ; FillColor=ROOT.kGray+1, Label="top", NormSystematic=0.3 + +# -- V+jets & related backgrounds +Fakes_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 +Fakes_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0); Label="V+jets", FillColor=ROOT.kCyan+1, NormSystematic=0.5 + + +# -- TTbar & related Backgrounds +FRmc_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FRmc_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 + +FRmc_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 &&(LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21) || LepGood_mcMatchId[iL2p_Old] == 0 && (LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21)) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FRmc_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-mc.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 + +# -- TTbar & related Backgrounds +FR1_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : T_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBar_tWch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBarToLeptons_tch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_TT : TBarToLeptons_sch: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_VJets : DYJetsToLL_M50_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : DYJetsToLL_M50_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT100to200 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT200to400 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT400to600 : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 +FR1_VJets : WJetsToLNu_HT600toInf : xsec : (LepGood_mcMatchId[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR V+jets", FillColor=ROOT.kViolet+1, NormSystematic=0.5 + +FR1_b_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 5 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 5) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_c_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 4 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 4) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_l_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 &&(LepGood_mcMatchAny[iL1p_Old] <= 3 || LepGood_mcMatchAny[iL1p_Old] == 21) || LepGood_mcMatchId[iL2p_Old] == 0 && (LepGood_mcMatchAny[iL2p_Old] <= 3 || LepGood_mcMatchAny[iL2p_Old] == 21)) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 +FR1_f_TT : TTJets: xsec : (LepGood_mcMatchId[iL1p_Old] == 0 && LepGood_mcMatchAny[iL1p_Old] == 0 || LepGood_mcMatchId[iL2p_Old] == 0 && LepGood_mcMatchAny[iL2p_Old] == 0) ; FakeRate='ttH-multilepton/fakeRate-Phys14-2lss-mva08-unit.txt', Label="FR top", FillColor=ROOT.kOrange+2, NormSystematic=0.3 + + diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-fakeLepStudies-forFits.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-fakeLepStudies-forFits.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-fakeLepStudies-forFits.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-fakeLepStudies-forFits.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-fakeLepStudies.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-fakeLepStudies.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-fakeLepStudies.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-fakeLepStudies.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-incl-dysplit.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-incl-dysplit.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-incl-dysplit.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-incl-dysplit.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-incl-wjsplit.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-incl-wjsplit.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-incl-wjsplit.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-incl-wjsplit.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-incl.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-incl.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-incl.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-incl.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-qf-incl.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-qf-incl.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-qf-incl.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-qf-incl.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca-ttsplit.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-ttsplit.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca-ttsplit.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca-ttsplit.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca4fit.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca4fit.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca4fit.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca4fit.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/mca4fit4plots.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca4fit4plots.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/mca4fit4plots.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mca4fit4plots.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/mvaVars_2lss.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mvaVars_2lss.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/mvaVars_2lss.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mvaVars_2lss.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/mvaVars_3l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mvaVars_3l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/mvaVars_3l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mvaVars_3l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/bins/mvaVars_4l.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mvaVars_4l.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/bins/mvaVars_4l.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/mvaVars_4l.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/pack_fake_rates_MC.py b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/pack_fake_rates_MC.py new file mode 100644 index 000000000000..05c47ed10626 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/pack_fake_rates_MC.py @@ -0,0 +1,87 @@ +from math import * +from os.path import basename +import re + +import sys +sys.argv.append('-b-') +import ROOT +ROOT.gROOT.SetBatch(True) +sys.argv.remove('-b-') +from array import * + +def makeH2D(name,xedges,yedges): + return ROOT.TH2F(name,name,len(xedges)-1,array('f',xedges),len(yedges)-1,array('f',yedges)) + +def fillSliceY(th2,plot1d,yvalue): + ybin = th2.GetYaxis().FindBin(yvalue) + for xbin in xrange(1,th2.GetNbinsX()+1): + xval = th2.GetXaxis().GetBinCenter(xbin) + xbin1d = plot1d.GetXaxis().FindBin(xval) + th2.SetBinContent(xbin,ybin,plot1d.GetBinContent(xbin1d)) +def readSliceY(th2,filename,plotname,yvalue): + slicefile = ROOT.TFile.Open(filename) + if not slicefile: raise RuntimeError, "Cannot open "+filename + plot = slicefile.Get(plotname) + if not plot: + slicefile.ls() + raise RuntimeError, "Cannot find "+plotname+" in "+filename + fillSliceY(th2,plot,yvalue) + slicefile.Close() +def assemble2D(out,name,xedges,yedges,filepattern,plotname,yslices): + out.cd() + th2 = makeH2D(name,xedges,yedges) + for yvalue,yname in yslices: + readSliceY(th2,filepattern%yname,plotname,yvalue) + out.WriteTObject(th2) + return th2 + +if __name__ == "__main__": + from optparse import OptionParser + parser = OptionParser(usage="%prog [options] what path out") + parser.add_option("-s", "--sel", dest="sel", default=None, help="Select"); + (options, args) = parser.parse_args() + (what,path,outname) = args + outfile = ROOT.TFile.Open(outname,"RECREATE") + if what == "mvaTTH": + ptbins_c = [ 0,10,15,20,30,45,70,100 ] + etabins_c_el = [0, 1.479, 2.5] + etabins_c_mu = [0, 1.5, 2.4] + etaslices_c = [ (0.4,"00_15"), (1.8,"15_24") ] + etaslices_c1 = [ (0.4,"00_15"), (1.8,"15_21") ] + #for WP in "06", "08": + # num = "mvaTTH_"+WP + # pt = "pt_coarse" + # ptj = "ptJI_mvaTTH%s_coarse" % WP + # for src in "QCDMu", "TT": + # assemble2D(outfile,"FR_wp%s_mu_%s_a_%s" % (WP,src,pt ), ptbins_c, etabins_c_mu, path+"/mu_wp"+WP+"_a_eta_%s.root", num+"_"+pt +"_"+src+"_red", etaslices_c) + # assemble2D(outfile,"FR_wp%s_mu_%s_a_%s" % (WP,src,ptj), ptbins_c, etabins_c_mu, path+"/mu_wp"+WP+"_a_eta_%s.root", num+"_"+ptj+"_"+src+"_red", etaslices_c) + # for src in "QCDEl", "TT": + # assemble2D(outfile,"FR_wp%s_el_%s_a_%s" % (WP,src,pt ), ptbins_c, etabins_c_el, path+"/el_wp"+WP+"_a_eta_%s.root", num+"_"+pt +"_"+src+"_red", etaslices_c) + # assemble2D(outfile,"FR_wp%s_el_%s_a_%s" % (WP,src,ptj), ptbins_c, etabins_c_el, path+"/el_wp"+WP+"_a_eta_%s.root", num+"_"+ptj+"_"+src+"_red", etaslices_c) + for WP in "06i","06ib": + WP0 = re.sub(r"^(\d+).*",r"\1",WP) # for binning + WP1 = re.sub(r"^(\d+i?).*",r"\1",WP) # for numerator + num = "mvaTTH_"+WP1 + ptj = "ptJI_mvaTTH%s_coarse" % WP0 + for ptBin in "", "_pt8", "_pt17", "_pt24": + for src in "QCDMu", "TT": + assemble2D(outfile,"FR_wp%s_mu_%s_a_%s%s" % (WP,src,ptj,ptBin), ptbins_c, etabins_c_mu, path+"/mu_wp"+WP+"_a_eta_%s"+ptBin+".root", num+"_"+ptj+"_"+src+"_red", etaslices_c) + for ptBin in "", "_pt12", "_pt23", "_pt32": + for src in "QCDEl", "TT": + assemble2D(outfile,"FR_wp%s_el_%s_a_%s%s" % (WP,src,ptj,ptBin), ptbins_c, etabins_c_el, path+"/el_wp"+WP+"_a_eta_%s"+ptBin+".root", num+"_"+ptj+"_"+src+"_red", etaslices_c) + if what == "iso": + ptbins_c = [ 0,10,15,20,30,45,70,100 ] + etabins_c_el = [0, 1.479, 2.5] + etabins_c_mu = [0, 1.5, 2.4] + etaslices_c = [ (0.4,"00_15"), (1.8,"15_24") ] + num = "relIso03_01" + pt = "pt_coarse" + ptj = "ptGZ_coarse" + for src in "QCDMu", "TT": + assemble2D(outfile,"FR_mu_%s_a_%s%s" % (src,ptj,ptBin), ptbins_c, etabins_c_mu, path+"/mu_a_eta_%s"+ptBin+".root", num+"_"+pt +"_"+src+"_red", etaslices_c) + assemble2D(outfile,"FR_mu_%s_a_%s%s" % (src,ptj,ptBin), ptbins_c, etabins_c_mu, path+"/mu_a_eta_%s"+ptBin+".root", num+"_"+ptj+"_"+src+"_red", etaslices_c) + for src in "QCDEl", "TT": + assemble2D(outfile,"FR_el_%s_a_%s" % (src,pt ), ptbins_c, etabins_c_el, path+"/el_a_eta_%s.root", num+"_"+pt +"_"+src+"_red", etaslices_c) + assemble2D(outfile,"FR_el_%s_a_%s" % (src,ptj), ptbins_c, etabins_c_el, path+"/el_a_eta_%s.root", num+"_"+ptj+"_"+src+"_red", etaslices_c) + + outfile.ls() diff --git a/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/skim_oldpresel.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/skim_oldpresel.txt new file mode 100644 index 000000000000..7abf2f85de28 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/skim_oldpresel.txt @@ -0,0 +1,9 @@ +#>= 2 good leptons: nLepGood10_Old >= 2 +>= 2 good leptons: nLepSel_Old >= 2 +minMllAS8: minMllAFASTL_Old > 8 +minMllOS12: minMllAFOSTL_Old <= 0 || minMllAFOSTL_Old > 12 +same-sign: LepGood_charge[iL1p_Old]*LepGood_charge[iL2p_Old] > 0 +#lep1_pt20: LepGood_pt[iL1p_Old]*min(1,0.5/LepGood_jetPtRatio[iL1p_Old]) > 20 +#lep2_pt10: LepGood_pt[iL2p_Old]*min(1,0.5/LepGood_jetPtRatio[iL1p_Old]) > 10 +presel: max(LepGood_relIso03[iL1p_Old],LepGood2_relIso03[iL1p_Old]) < 0.5 +njet: nJet25_Old >=2 diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVA00.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVA00.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVA00.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVA00.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVA03.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVA03.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVA03.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVA03.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVA03X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVA03X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVA03X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVA03X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVA05.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVA05.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVA05.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVA05.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVAm03.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVAm03.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVAm03.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVAm03.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVAm03X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVAm03X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVAm03X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVAm03X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVAm05.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVAm05.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVAm05.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVAm05.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVAm07.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVAm07.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVAm07.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVAm07.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVAm07X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVAm07X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/2lss_mumu_MVAm07X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/2lss_mumu_MVAm07X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVA00.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVA00.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVA00.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVA00.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVA03.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVA03.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVA03.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVA03.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVA03X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVA03X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVA03X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVA03X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVA05.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVA05.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVA05.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVA05.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVAm03.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVAm03.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVAm03.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVAm03.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVAm03X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVAm03X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVAm03X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVAm03X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVAm05.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVAm05.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVAm05.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVAm05.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVAm07.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVAm07.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVAm07.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVAm07.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVAm07X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVAm07X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_MVAm07X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_MVAm07X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_elAllDn.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_elAllDn.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_elAllDn.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_elAllDn.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_elAllUp.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_elAllUp.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_elAllUp.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_elAllUp.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_elBTDn.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_elBTDn.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_elBTDn.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_elBTDn.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_elBTUp.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_elBTUp.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_elBTUp.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_elBTUp.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_elOnly.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_elOnly.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_elOnly.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_elOnly.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_muAllDn.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_muAllDn.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_muAllDn.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_muAllDn.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_muAllUp.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_muAllUp.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_muAllUp.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_muAllUp.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_muBTDn.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_muBTDn.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_muBTDn.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_muBTDn.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_muBTUp.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_muBTUp.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_muBTUp.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_muBTUp.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_muOnly.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_muOnly.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_2lssBCat_muOnly.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_2lssBCat_muOnly.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_elAllDn.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_elAllDn.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_elAllDn.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_elAllDn.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_elAllUp.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_elAllUp.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_elAllUp.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_elAllUp.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_elBTDn.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_elBTDn.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_elBTDn.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_elBTDn.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_elBTUp.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_elBTUp.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_elBTUp.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_elBTUp.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_elOnly.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_elOnly.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_elOnly.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_elOnly.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_muAllDn.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_muAllDn.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_muAllDn.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_muAllDn.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_muAllUp.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_muAllUp.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_muAllUp.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_muAllUp.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_muBTDn.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_muBTDn.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_muBTDn.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_muBTDn.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_muBTUp.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_muBTUp.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_muBTUp.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_muBTUp.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_muOnly.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_muOnly.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/fakeRate_3l_tightBCat_muOnly.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/fakeRate_3l_tightBCat_muOnly.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVA00.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVA00.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVA00.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVA00.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVA03.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVA03.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVA03.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVA03.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVA03X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVA03X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVA03X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVA03X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVA05.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVA05.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVA05.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVA05.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVAm03.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVAm03.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVAm03.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVAm03.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVAm03X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVAm03X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVAm03X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVAm03X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVAm05.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVAm05.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVAm05.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVAm05.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVAm07.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVAm07.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVAm07.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVAm07.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVAm07X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVAm07X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat4Plots_MVAm07X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat4Plots_MVAm07X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVA00.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVA00.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVA00.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVA00.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVA03.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVA03.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVA03.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVA03.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVA03X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVA03X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVA03X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVA03X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVA05.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVA05.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVA05.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVA05.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVAm03.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVAm03.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVAm03.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVAm03.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVAm03X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVAm03X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVAm03X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVAm03X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVAm05.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVAm05.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVAm05.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVAm05.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVAm07.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVAm07.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVAm07.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVAm07.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVAm07X.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVAm07X.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-2lss-dataBCat_MVAm07X.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-2lss-dataBCat_MVAm07X.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-PDFW-norm.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-PDFW-norm.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-PDFW-norm.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-PDFW-norm.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-expSyst.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-expSyst.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-expSyst.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-expSyst.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/syst/mca-fastSim.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-fastSim.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/syst/mca-fastSim.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/syst/mca-fastSim.txt diff --git a/CMGTools/TTHAnalysis/python/plotter/systsEnv.txt b/CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/systsEnv.txt similarity index 100% rename from CMGTools/TTHAnalysis/python/plotter/systsEnv.txt rename to CMGTools/TTHAnalysis/python/plotter/ttH-multilepton/systsEnv.txt diff --git a/CMGTools/TTHAnalysis/python/samples/ComponentCreator.py b/CMGTools/TTHAnalysis/python/samples/ComponentCreator.py index dd41c57862df..e862f5d935a6 100644 --- a/CMGTools/TTHAnalysis/python/samples/ComponentCreator.py +++ b/CMGTools/TTHAnalysis/python/samples/ComponentCreator.py @@ -97,6 +97,25 @@ def makeMCComponentFromPSI(self,name,dataset,path,pattern=".*root",xSec=1): ) return component + def getFilesFromIC(self, dataset, user, pattern): + # print 'getting files for', dataset,user,pattern + ds = datasetToSource( user, dataset, pattern, True ) + files = ds.fileNames + mapping = 'root://gfe02.grid.hep.ph.ic.ac.uk/pnfs/hep.ph.ic.ac.uk/data/cms%s' + return [ mapping % f for f in files] + + def makeMCComponentFromIC(self,name,dataset,path,pattern=".*root",xSec=1): + component = cfg.MCComponent( + dataset=dataset, + name = name, + files = self.getFilesFromIC(dataset,path,pattern), + xSection = xSec, + nGenEvents = 1, + triggers = [], + effCorrFactor = 1, + ) + return component + def getFilesFromLocal(self,name,dataset,path,pattern=".*root"): from CMGTools.Production.dataset import getDatasetFromCache, writeDatasetToCache if "%" in path: path = path % dataset; @@ -121,7 +140,6 @@ def makeMCComponentFromLocal(self,name,dataset,path,pattern=".*root",xSec=1): ) return component - def makeDataComponent(self,name,datasets,user,pattern,json=None): files=[] diff --git a/CMGTools/TTHAnalysis/python/samples/samples_13TeV_CSA14v2.py b/CMGTools/TTHAnalysis/python/samples/samples_13TeV_CSA14v2.py index 21c27c797d47..6fa56288a9b7 100644 --- a/CMGTools/TTHAnalysis/python/samples/samples_13TeV_CSA14v2.py +++ b/CMGTools/TTHAnalysis/python/samples/samples_13TeV_CSA14v2.py @@ -50,69 +50,137 @@ ### PU40 bx50ns #### Background samples + +# DY inclusive (cross section from FEWZ, StandardModelCrossSectionsat13TeV) +DYJetsToLL_M50 = kreator.makeMCComponent("DYJetsToLL_M50", "/DYJetsToLL_M-50_13TeV-madgraph-pythia8-tauola_v2/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root", 2008.*3) + DYJetsToLL_M50_HT100to200 = kreator.makeMCComponent("DYJetsToLL_M50_HT100to200", "/DYJetsToLL_M-50_HT-100to200_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",194.3*1.27) DYJetsToLL_M50_HT200to400 = kreator.makeMCComponent("DYJetsToLL_M50_HT200to400", "/DYJetsToLL_M-50_HT-200to400_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",52.24*1.27) +DYJetsToLL_M50_HT400to600 = kreator.makeMCComponent("DYJetsToLL_M50_HT400to600", "/DYJetsToLL_M-50_HT-400to600_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",52.24*1.27) DYJetsToLL_M50_HT600toInf = kreator.makeMCComponent("DYJetsToLL_M50_HT600toInf", "/DYJetsToLL_M-50_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",2.179*1.27) DYJetsM50HT = [ DYJetsToLL_M50_HT100to200, DYJetsToLL_M50_HT200to400, +DYJetsToLL_M50_HT400to600, DYJetsToLL_M50_HT600toInf, ] + ZJetsToNuNu_HT100to200 = kreator.makeMCComponent("ZJetsToNuNu_HT100to200", "/ZJetsToNuNu_HT-100to200_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",372.6*1.27) ZJetsToNuNu_HT200to400 = kreator.makeMCComponent("ZJetsToNuNu_HT200to400", "/ZJetsToNuNu_HT-200to400_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",100.8*1.27) ZJetsToNuNu_HT400to600 = kreator.makeMCComponent("ZJetsToNuNu_HT400to600", "/ZJetsToNuNu_HT-400to600_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",11.99*1.27) +ZJetsToNuNu_HT600toInf = kreator.makeMCComponent("ZJetsToNuNu_HT600toInf", "/ZJetsToNuNu_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",4.113*1.27) ZJetsToNuNuHT = [ ZJetsToNuNu_HT100to200, ZJetsToNuNu_HT200to400, ZJetsToNuNu_HT400to600, +ZJetsToNuNu_HT600toInf, ] + +# W inclusive (cross section from FEWZ, StandardModelCrossSectionsat13TeV) +WJetsToLNu = kreator.makeMCComponent("WJetsToLNu", "/WJetsToLNu_13TeV-madgraph-pythia8-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") + WJetsToLNu_HT100to200 = kreator.makeMCComponent("WJetsToLNu_HT100to200", "/WJetsToLNu_HT-100to200_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",1817*1.23) WJetsToLNu_HT200to400 = kreator.makeMCComponent("WJetsToLNu_HT200to400", "/WJetsToLNu_HT-200to400_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",471.6*1.23) +WJetsToLNu_HT400to600 = kreator.makeMCComponent("WJetsToLNu_HT400to600", "/WJetsToLNu_HT-400to600_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",55.61*1.23) WJetsToLNu_HT600toInf = kreator.makeMCComponent("WJetsToLNu_HT600toInf", "/WJetsToLNu_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",18.81*1.23) WJetsToLNuHT = [ WJetsToLNu_HT100to200, WJetsToLNu_HT200to400, +WJetsToLNu_HT400to600, WJetsToLNu_HT600toInf, ] + GJets_HT100to200 = kreator.makeMCComponent("GJets_HT100to200", "/GJets_HT-100to200_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",1534) +GJets_HT200to400 = kreator.makeMCComponent("GJets_HT200to400", "/GJets_HT-200to400_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",489.9) GJets_HT400to600 = kreator.makeMCComponent("GJets_HT400to600", "/GJets_HT-400to600_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",62.05) +GJets_HT600toInf = kreator.makeMCComponent("GJets_HT600toInf", "/GJets_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v2/MINIAODSIM", "CMS", ".*root",20.87) GJetsHT = [ GJets_HT100to200, +GJets_HT200to400, GJets_HT400to600, +GJets_HT600toInf, ] + +QCD_HT250To500 = kreator.makeMCComponent("QCD_HT240To500", "/QCD_HT_250To500_13TeV-madgraph/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") QCD_HT500To1000 = kreator.makeMCComponent("QCD_HT500To1000", "/QCD_HT-500To1000_13TeV-madgraph/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") +QCD_HT1000ToInf = kreator.makeMCComponent("QCD_HT1000ToInf", "/QCD_HT_1000ToInf_13TeV-madgraph/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") + QCDHT = [ +QCD_HT250To500, QCD_HT500To1000, +QCD_HT1000ToInf, ] + +QCD_Pt300to470 = kreator.makeMCComponent("QCD_Pt300to470", "/QCD_Pt-300to470_Tune4C_13TeV_pythia8/Spring14miniaod-141029_PU40bx50_castor_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") +QCD_Pt470to600 = kreator.makeMCComponent("QCD_Pt470to600", "/QCD_Pt-470to600_Tune4C_13TeV_pythia8/Spring14miniaod-141029_PU40bx50_castor_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") +QCD_Pt600to800 = kreator.makeMCComponent("QCD_Pt600to800", "/QCD_Pt-600to800_Tune4C_13TeV_pythia8/Spring14miniaod-141029_PU40bx50_castor_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") +QCD_Pt800to1000 = kreator.makeMCComponent("QCD_Pt800to1000", "/QCD_Pt-800to1000_Tune4C_13TeV_pythia8/Spring14miniaod-141029_PU40bx50_castor_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") +QCD_Pt1000to1400 = kreator.makeMCComponent("QCD_Pt1000to1400", "/QCD_Pt-1000to1400_Tune4C_13TeV_pythia8/Spring14miniaod-141029_PU40bx50_castor_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") +QCD_Pt1400to1800 = kreator.makeMCComponent("QCD_Pt1400to1800", "/QCD_Pt-1400to1800_Tune4C_13TeV_pythia8/Spring14miniaod-141029_PU40bx50_castor_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") +QCD_Pt1800 = kreator.makeMCComponent("QCD_Pt1800 ", "/QCD_Pt-1800_Tune4C_13TeV_pythia8/Spring14miniaod-141029_PU40bx50_castor_PLS170_V6AN2-v1/MINIAODSIM","CMS", ".*root") QCD_Pt1800to2400 = kreator.makeMCComponent("QCD_Pt1800to2400", "/QCD_Pt-1800to2400_Tune4C_13TeV_pythia8/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") QCD_Pt2400to3200 = kreator.makeMCComponent("QCD_Pt2400to3200", "/QCD_Pt-2400to3200_Tune4C_13TeV_pythia8/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") QCD_Pt3200 = kreator.makeMCComponent("QCD_Pt3200", "/QCD_Pt-3200_Tune4C_13TeV_pythia8/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") QCDPt = [ +QCD_Pt300to470, +QCD_Pt470to600, +QCD_Pt600to800, +QCD_Pt800to1000, +QCD_Pt1000to1400, +QCD_Pt1400to1800, +QCD_Pt1800, QCD_Pt1800to2400, QCD_Pt2400to3200, QCD_Pt3200, ] TTJets = kreator.makeMCComponent("TTJets", "/TTJets_MSDecaysCKM_central_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",809.1) + TToLeptons_tch = kreator.makeMCComponent("TToLeptons_tch", "/TToLeptons_t-channel-CSA14_Tune4C_13TeV-aMCatNLO-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") -WJetsToLNu = kreator.makeMCComponent("WJetsToLNu", "/WJetsToLNu_13TeV-madgraph-pythia8-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root") -WZJetsTo3LNu = kreator.makeMCComponent("WZJetsTo3LNu", "/WZJetsTo3LNu_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",2.29) +T_tWch = kreator.makeMCComponent("T_tWch", "/T_tW-channel-DR_Tune4C_13TeV-CSA14-powheg-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",35.6) +SingleTop = [ + TToLeptons_tch, T_tWch +] + + +TTZJets = kreator.makeMCComponent("TTZJets", "/TTZJets_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v3/MINIAODSIM", "CMS", ".*root",0.8565) +WZJetsTo3LNu = kreator.makeMCComponent("WZJetsTo3LNu", "/WZJetsTo3LNu_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",2.29) +ZZTo4L = kreator.makeMCComponent("ZZTo4L","/ZZTo4L_Tune4C_13TeV-powheg-pythia8/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root", 31.8*(3*0.03366**2)) #### Signal samples SMS_T2qq_2J_mStop600_mLSP550 = kreator.makeMCComponent("SMS_T2qq_2J_mStop600_mLSP550", "/SMS-T2qq_2J_mStop-600_mLSP-550_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",1.76645) +SMS_T2qq_2J_mStop1200_mLSP100 = kreator.makeMCComponent("SMS_T2qq_2J_mStop1200_mLSP100", "/SMS-T2qq_2J_mStop-1200_mLSP-100_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",0.0162846) SMS_T2bb_2J_mStop600_mLSP580 = kreator.makeMCComponent("SMS_T2bb_2J_mStop600_mLSP580", "/SMS-T2bb_2J_mStop-600_mLSP-580_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",0.174599) SMS_T2bb_2J_mStop900_mLSP100 = kreator.makeMCComponent("SMS_T2bb_2J_mStop900_mLSP100", "/SMS-T2bb_2J_mStop-900_mLSP-100_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",0.0128895) SMS_T2tt_2J_mStop500_mLSP325 = kreator.makeMCComponent("SMS_T2tt_2J_mStop500_mLSP325", "/SMS-T2tt_2J_mStop-500_mLSP-325_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",0.51848) +SMS_T2tt_2J_mStop650_mLSP325 = kreator.makeMCComponent("SMS_T2tt_2J_mStop650_mLSP325", "/SMS-T2tt_2J_mStop-650_mLSP-325_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v2/MINIAODSIM", "CMS", ".*root",0.107045) +SMS_T2tt_2J_mStop425_mLSP325 = kreator.makeMCComponent("SMS_T2tt_2J_mStop425_mLSP325", "/SMS-T2tt_2J_mStop-425_mLSP-325_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",1.31169) +SMS_T2tt_2J_mStop850_mLSP100 = kreator.makeMCComponent("SMS_T2tt_2J_mStop850_mLSP100", "/SMS-T2tt_2J_mStop-850_mLSP-100_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",0.0189612) +SMS_T1tttt_2J_mGl1500_mLSP100 = kreator.makeMCComponent("SMS_T1tttt_2J_mGl1500_mLSP100", "/SMS-T1tttt_2J_mGl-1500_mLSP-100_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",0.0141903) +SMS_T1tttt_2J_mGl1200_mLSP800 = kreator.makeMCComponent("SMS_T1tttt_2J_mGl1200_mLSP800", "/SMS-T1tttt_2J_mGl-1200_mLSP-800_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",0.0856418) SMS_T1bbbb_2J_mGl1000_mLSP900 = kreator.makeMCComponent("SMS_T1bbbb_2J_mGl1000_mLSP900", "/SMS-T1bbbb_2J_mGl-1000_mLSP-900_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",0.325388) +SMS_T1bbbb_2J_mGl1500_mLSP100 = kreator.makeMCComponent("SMS_T1bbbb_2J_mGl1500_mLSP100", "/SMS-T1bbbb_2J_mGl-1500_mLSP-100_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v2/MINIAODSIM", "CMS", ".*root",0.0141903) +SMS_T1qqqq_2J_mGl1400_mLSP100 = kreator.makeMCComponent("SMS_T1qqqq_2J_mGl1400_mLSP100", "/SMS-T1qqqq_2J_mGl-1400_mLSP-100_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",0.0252977) +SMS_T1qqqq_2J_mGl1000_mLSP800 = kreator.makeMCComponent("SMS_T1qqqq_2J_mGl1000_mLSP800", "/SMS-T1qqqq_2J_mGl-1000_mLSP-800_Tune4C_13TeV-madgraph-tauola/Spring14miniaod-141029_PU40bx50_PLS170_V6AN2-v1/MINIAODSIM", "CMS", ".*root",0.325388) + SusySignalSamples = [ SMS_T2qq_2J_mStop600_mLSP550, +SMS_T2qq_2J_mStop1200_mLSP100, SMS_T2bb_2J_mStop600_mLSP580, SMS_T2bb_2J_mStop900_mLSP100, SMS_T2tt_2J_mStop500_mLSP325, +SMS_T2tt_2J_mStop650_mLSP325, +SMS_T2tt_2J_mStop850_mLSP100, +SMS_T2tt_2J_mStop425_mLSP325, +SMS_T1tttt_2J_mGl1500_mLSP100, +SMS_T1tttt_2J_mGl1200_mLSP800, SMS_T1bbbb_2J_mGl1000_mLSP900, +SMS_T1bbbb_2J_mGl1500_mLSP100, +SMS_T1qqqq_2J_mGl1400_mLSP100, +SMS_T1qqqq_2J_mGl1000_mLSP800, ] -mcSamplesCSA14v2 = DYJetsM50HT + ZJetsToNuNuHT + WJetsToLNuHT + GJetsHT + QCDHT + QCDPt + [TTJets, TToLeptons_tch, WJetsToLNu, WZJetsTo3LNu] + SusySignalSamples +mcSamplesCSA14v2 = DYJetsM50HT + ZJetsToNuNuHT + WJetsToLNuHT + GJetsHT + QCDHT + QCDPt + SingleTop + [TTJets, TTZJets, WJetsToLNu, DYJetsToLL_M50, WZJetsTo3LNu, ZZTo4L] + SusySignalSamples ## MORE private samples on EOS ### PU40 bx50ns diff --git a/CMGTools/TTHAnalysis/python/samples/samples_13TeV_PHYS14.py b/CMGTools/TTHAnalysis/python/samples/samples_13TeV_PHYS14.py index 294fd07c9193..6d49aa6448cc 100644 --- a/CMGTools/TTHAnalysis/python/samples/samples_13TeV_PHYS14.py +++ b/CMGTools/TTHAnalysis/python/samples/samples_13TeV_PHYS14.py @@ -2,57 +2,10 @@ import os +################## Triggers +from CMGTools.TTHAnalysis.samples.triggers_13TeV_PHYS14 import * -################## Triggers (FIXME: update to the PHYS14 Trigger Menu) - - -triggers_mumu_run1 = ["HLT_Mu17_Mu8_v*","HLT_Mu17_TkMu8_v*"] -triggers_mumu_iso = [ "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v*", "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v*" ] -triggers_mumu_noniso = [ "HLT_Mu30_TkMu11_v*" ] -triggers_mumu = triggers_mumu_iso + triggers_mumu_noniso - -triggers_ee_run1 = ["HLT_Ele17_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_Ele8_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_v*", - "HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*", - "HLT_Ele15_Ele8_Ele5_CaloIdL_TrkIdVL_v*"] -triggers_ee = [ "HLT_Ele23_Ele12_CaloId_TrackId_Iso_v*" ] -triggers_3e = [ "HLT_Ele17_Ele12_Ele10_CaloId_TrackId_v*" ] -triggers_mue = [ - "HLT_Mu23_TrkIsoVVL_Ele12_Gsf_CaloId_TrackId_Iso_MediumWP_v*", - "HLT_Mu8_TrkIsoVVL_Ele23_Gsf_CaloId_TrackId_Iso_MediumWP_v*" - ] - -triggers_multilep = triggers_mumu + triggers_ee + triggers_3e + triggers_mue - -triggers_1mu_iso = [ 'HLT_IsoMu24_eta2p1_IterTrk02_v*', 'HLT_IsoTkMu24_eta2p1_IterTrk02_v*' ] -triggers_1mu_isowid = [ 'HLT_IsoMu24_IterTrk02_v*', 'HLT_IsoTkMu24_IterTrk02_v*' ] -triggers_1mu_isolow = [ 'HLT_IsoMu20_eta2p1_IterTrk02_v*', 'HLT_IsoTkMu20_eta2p1_IterTrk02_v*' ] -triggers_1mu_noniso = [ 'HLT_Mu40_v*' ] -triggers_1mu = triggers_1mu_iso + triggers_1mu_isowid + triggers_1mu_isolow + triggers_1mu_noniso - -triggers_1e = [ "HLT_Ele27_eta2p1_WP85_Gsf_v*", "HLT_Ele32_eta2p1_WP85_Gsf_v*" ] - -triggersFR_1mu = [ 'HLT_Mu5_v*', 'HLT_RelIso1p0Mu5_v*', 'HLT_Mu12_v*', 'HLT_Mu24_eta2p1_v*', 'HLT_Mu40_eta2p1_v*' ] -triggersFR_mumu = [ 'HLT_Mu17_Mu8_v*', 'HLT_Mu17_TkMu8_v*', 'HLT_Mu8_v*', 'HLT_Mu17_v*' ] -triggersFR_1e = [ 'HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*', 'HLT_Ele17_CaloIdL_CaloIsoVL_v*', 'HLT_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*', 'HLT_Ele8__CaloIdL_CaloIsoVL_v*'] -triggersFR_mue = triggers_mue[:] -triggersFR_MC = triggersFR_1mu + triggersFR_mumu + triggersFR_1e + triggersFR_mue - - - -### ----> for the MT2 analysis - -triggers_HT900 = ["HLT_PFHT900_v*"] -triggers_MET170 = ["HLT_PFMET170_NoiseCleaned_v*"] -triggers_HTMET = ["HLT_PFHT350_PFMET120_NoiseCleaned_v*"] - -triggers_photon155 = ["HLT_Photon155_v*"] - -triggers_MT2_mumu = triggers_mumu_iso + triggers_mumu_noniso -triggers_MT2_ee = triggers_ee - -triggers_MT2_mue = triggers_mue - #####COMPONENT CREATOR @@ -72,19 +25,28 @@ mcSamplesPHYS14_PU40bx25 = [TT_PU40bx25,TTH_PU40bx25,DYJetsMuMuM50_PtZ180_PU40bx25,GGHZZ4L_PU40bx25] -################## PU20 bx25ns (default of phys14, so no postfix) ############## +################## PU4 bx25ns (no default of phys14, so no _4bx50 postfix) ############## +# inclusive samples only for the low PU scenario + +TT_PU4bx50 = kreator.makeMCComponent("TT_PU4bx50", "/TTJets_MSDecaysCKM_central_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU4bx50_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",809.1) +WJetsToLNu_PU4bx50 = kreator.makeMCComponent("WJetsToLNu_PU4bx50","/WJetsToLNu_13TeV-madgraph-pythia8-tauola/Phys14DR-PU4bx50_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 20508.9) +DYJetsToLL_M50_PU4bx50 = kreator.makeMCComponent("DYJetsToLL_M50_PU4bx50", "/DYJetsToLL_M-50_13TeV-madgraph-pythia8/Phys14DR-PU4bx50_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 2008.*3) + +mcSamplesPHYS14_PU4bx50 = [TT_PU4bx50,WJetsToLNu_PU4bx50,DYJetsToLL_M50_PU4bx50] -#### Background samples -QCD_HT_100To250 = kreator.makeMCComponent("QCD_HT_100To250", "/QCD_HT-100To250_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root") -QCD_HT_250To500 = kreator.makeMCComponent("QCD_HT_250To500", "/QCD_HT_250To500_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root") -QCD_HT_250To500_ext1 = kreator.makeMCComponent("QCD_HT_250To500_ext1", "/QCD_HT_250To500_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1_ext1-v2/MINIAODSIM", "CMS", ".*root") -QCD_HT_500To1000 = kreator.makeMCComponent("QCD_HT_500To1000", "/QCD_HT-500To1000_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root") -QCD_HT_500To1000_ext1 = kreator.makeMCComponent("QCD_HT_500To1000", "/QCD_HT-500To1000_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1_ext1-v1/MINIAODSIM", "CMS", ".*root") -QCD_HT_1000ToInf = kreator.makeMCComponent("QCD_HT_1000ToInf", "/QCD_HT_1000ToInf_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1_ext1-v1/MINIAODSIM", "CMS", ".*root") -QCD_HT_1000ToInf_ext1 = kreator.makeMCComponent("QCD_HT_1000ToInf", "/QCD_HT_1000ToInf_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root") +################## PU20 bx25ns (default of phys14, so no postfix) ############## +#### Background samples +## Cross sections from McM (LO Madgraph) +QCD_HT_100To250 = kreator.makeMCComponent("QCD_HT_100To250", "/QCD_HT-100To250_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 28730000) +QCD_HT_250To500 = kreator.makeMCComponent("QCD_HT_250To500", "/QCD_HT_250To500_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 670500) +QCD_HT_250To500_ext1 = kreator.makeMCComponent("QCD_HT_250To500_ext1", "/QCD_HT_250To500_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1_ext1-v2/MINIAODSIM", "CMS", ".*root", 670500) +QCD_HT_500To1000 = kreator.makeMCComponent("QCD_HT_500To1000", "/QCD_HT-500To1000_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 26740) +QCD_HT_500To1000_ext1 = kreator.makeMCComponent("QCD_HT_500To1000_ext1", "/QCD_HT-500To1000_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1_ext1-v1/MINIAODSIM", "CMS", ".*root", 26740) +QCD_HT_1000ToInf_ext1 = kreator.makeMCComponent("QCD_HT_1000ToInf_ext1", "/QCD_HT_1000ToInf_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1_ext1-v1/MINIAODSIM", "CMS", ".*root", 769.7) +QCD_HT_1000ToInf = kreator.makeMCComponent("QCD_HT_1000ToInf", "/QCD_HT_1000ToInf_13TeV-madgraph/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 769.7) QCDHT = [ QCD_HT_100To250, QCD_HT_250To500, @@ -95,8 +57,76 @@ QCD_HT_1000ToInf_ext1 ] -WJetsToLNu = kreator.makeMCComponent("WJetsToLNu","/WJetsToLNu_13TeV-madgraph-pythia8-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",20508.9) +QCD_Pt15to30 = kreator.makeMCComponent("QCD_Pt15to30","/QCD_Pt-15to30_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 2237000000) +QCD_Pt30to50 = kreator.makeMCComponent("QCD_Pt30to50","/QCD_Pt-30to50_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 161500000) +QCD_Pt50to80 = kreator.makeMCComponent("QCD_Pt50to80","/QCD_Pt-50to80_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 22110000) +QCD_Pt80to120 = kreator.makeMCComponent("QCD_Pt80to120","/QCD_Pt-80to120_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 3000114.3) +QCD_Pt120to170 = kreator.makeMCComponent("QCD_Pt120to170","/QCD_Pt-120to170_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 493200) +QCD_Pt170to300 = kreator.makeMCComponent("QCD_Pt170to300","/QCD_Pt-170to300_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 120300) +QCD_Pt300to470 = kreator.makeMCComponent("QCD_Pt300to470","/QCD_Pt-300to470_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 7475) +QCD_Pt470to600 = kreator.makeMCComponent("QCD_Pt470to600","/QCD_Pt-470to600_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 587.1) +QCD_Pt600to800 = kreator.makeMCComponent("QCD_Pt600to800","/QCD_Pt-600to800_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 167) +QCD_Pt800to1000 = kreator.makeMCComponent("QCD_Pt800to1000","/QCD_Pt-800to1000_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 28.25) +QCD_Pt1000to1400 = kreator.makeMCComponent("QCD_Pt1000to1400","/QCD_Pt-1000to1400_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 8.195) +QCD_Pt1400to1800 = kreator.makeMCComponent("QCD_Pt1400to1800","/QCD_Pt-1400to1800_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 0.7346) +QCD_Pt1800to2400 = kreator.makeMCComponent("QCD_Pt1800to2400","/QCD_Pt-1800to2400_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 0.102, True) +QCD_Pt2400to3200 = kreator.makeMCComponent("QCD_Pt2400to3200","/QCD_Pt-2400to3200_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 0.00644, True) +QCD_Pt3200 = kreator.makeMCComponent("QCD_Pt3200","/QCD_Pt-3200_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_trkalmb_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 0.000163, True) + +QCDPt = [ +QCD_Pt15to30, +QCD_Pt30to50, +QCD_Pt50to80, +QCD_Pt80to120, +QCD_Pt120to170, +QCD_Pt170to300, +QCD_Pt300to470, +QCD_Pt470to600, +QCD_Pt600to800, +QCD_Pt800to1000, +QCD_Pt1000to1400, +QCD_Pt1400to1800, +QCD_Pt1800to2400, +QCD_Pt2400to3200, +QCD_Pt3200 +] + +# Muon-enriched QCD (cross sections and filter efficiency from McM) +QCD_Mu15 = kreator.makeMCComponent("QCD_Mu15", "/QCD_Pt-20toInf_MuEnrichedPt15_PionKaonDecay_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v3/MINIAODSIM", "CMS", ".*root", 866.6e6*0.00044); +QCD_Pt30to50_Mu5 = kreator.makeMCComponent("QCD_Pt30to50_Mu5", "/QCD_Pt-30to50_MuEnrichedPt5_PionKaonDecay_Tune4C_13TeV_pythia8/Phys14DR-AVE20BX25_tsg_PHYS14_25_V3-v2/MINIAODSIM", "CMS", ".*root", 164400000*0.0122); +QCD_Pt50to80_Mu5 = kreator.makeMCComponent("QCD_Pt50to80_Mu5", "/QCD_Pt-50to80_MuEnrichedPt5_PionKaonDecay_Tune4C_13TeV_pythia8/Phys14DR-AVE20BX25_tsg_PHYS14_25_V3-v1/MINIAODSIM", "CMS", ".*root", 21930000*0.0218); +QCD_Pt80to120_Mu5 = kreator.makeMCComponent("QCD_Pt80to120_Mu5", "/QCD_Pt-80to120_MuEnrichedPt5_PionKaonDecay_Tune4C_13TeV_pythia8/Phys14DR-AVE20BX25_tsg_PHYS14_25_V3-v1/MINIAODSIM", "CMS", ".*root", 3000000*0.0395); +QCD_Mu5 = [ QCD_Pt30to50_Mu5, QCD_Pt50to80_Mu5, QCD_Pt80to120_Mu5 ] + +# Electron-enriched QCD (cross sections and filter efficiency from McM) +QCD_Pt10to20_EMEnriched = kreator.makeMCComponent("QCD_Pt10to20_EMEnriched", "/QCD_Pt-10to20_EMEnriched_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 8838e6*0.143); +QCD_Pt20to30_EMEnriched = kreator.makeMCComponent("QCD_Pt20to30_EMEnriched", "/QCD_Pt-20to30_EMEnriched_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_castor_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 6773e5*0.007); +QCD_Pt30to80_EMEnriched = kreator.makeMCComponent("QCD_Pt30to80_EMEnriched", "/QCD_Pt-30to80_EMEnriched_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 1859e5*0.056); +QCD_Pt80to170_EMEnriched = kreator.makeMCComponent("QCD_Pt80to170_EMEnriched", "/QCD_Pt-80to170_EMEnriched_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_castor_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 3259e3*0.158); +QCDPtEMEnriched = [ +QCD_Pt10to20_EMEnriched, +QCD_Pt20to30_EMEnriched, +QCD_Pt30to80_EMEnriched, +QCD_Pt80to170_EMEnriched +] + +QCD_Pt20to30_bcToE = kreator.makeMCComponent("QCD_Pt20to30_bcToE", "/QCD_Pt_20to30_bcToE_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 6759e5*0.00075); +QCD_Pt30to80_bcToE = kreator.makeMCComponent("QCD_Pt30to80_bcToE", "/QCD_Pt_30to80_bcToE_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 1859e5*0.00272); +QCD_Pt80to170_bcToE = kreator.makeMCComponent("QCD_Pt80to170_bcToE", "/QCD_Pt_80to170_bcToE_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 3495e3*0.01225); +QCD_Pt170toInf_bcToE = kreator.makeMCComponent("QCD_Pt170toInf_bcToE", "/QCD_Pt_170toInf_bcToE_Tune4C_13TeV_pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 1285e2*0.0406); +QCDPtbcToE = [ +QCD_Pt20to30_bcToE, +QCD_Pt30to80_bcToE, +QCD_Pt80to170_bcToE, +QCD_Pt170toInf_bcToE +] + + +# W inclusive (cross section from FEWZ, StandardModelCrossSectionsat13TeV) +WJetsToLNu = kreator.makeMCComponent("WJetsToLNu","/WJetsToLNu_13TeV-madgraph-pythia8-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 20508.9) + +# cross sections for WJets taken from McM LO times inclusive k-factor from FEWZ(20508.9 pb x3)/McM(50100.0) WJetsToLNu_HT100to200 = kreator.makeMCComponent("WJetsToLNu_HT100to200", "/WJetsToLNu_HT-100to200_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",1817.0*1.23) WJetsToLNu_HT200to400 = kreator.makeMCComponent("WJetsToLNu_HT200to400", "/WJetsToLNu_HT-200to400_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",471.6*1.23) WJetsToLNu_HT400to600 = kreator.makeMCComponent("WJetsToLNu_HT400to600", "/WJetsToLNu_HT-400to600_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",55.61*1.23) @@ -107,8 +137,11 @@ WJetsToLNu_HT400to600, WJetsToLNu_HT600toInf, ] + +# DY inclusive (cross section from FEWZ, StandardModelCrossSectionsat13TeV) DYJetsToLL_M50 = kreator.makeMCComponent("DYJetsToLL_M50", "/DYJetsToLL_M-50_13TeV-madgraph-pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 2008.*3) +# DY HT bins: cross sections for DYJets taken from McM LO times inclusive k-factor from FEWZ(2008 pb x3)/McM(4746) DYJetsToLL_M50_HT100to200 = kreator.makeMCComponent("DYJetsToLL_M50_HT100to200", "/DYJetsToLL_M-50_HT-100to200_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",194.3*1.27) DYJetsToLL_M50_HT200to400 = kreator.makeMCComponent("DYJetsToLL_M50_HT200to400", "/DYJetsToLL_M-50_HT-200to400_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",52.24*1.27) DYJetsToLL_M50_HT400to600 = kreator.makeMCComponent("DYJetsToLL_M50_HT400to600", "/DYJetsToLL_M-50_HT-400to600_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",6.546*1.27) @@ -119,30 +152,35 @@ DYJetsToLL_M50_HT400to600, DYJetsToLL_M50_HT600toInf, ] + DYJetsMuMuM50_PtZ180 = kreator.makeMCComponent("DYJetsMuMuM50_PtZ180", "/DYJetsToMuMu_PtZ-180_M-50_13TeV-madgraph/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v3/MINIAODSIM", "CMS", ".*root") GJets_HT100to200 = kreator.makeMCComponent("GJets_HT100to200", "/GJets_HT-100to200_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",1534) GJets_HT200to400 = kreator.makeMCComponent("GJets_HT200to400", "/GJets_HT-200to400_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",489.9) +GJets_HT400to600 = kreator.makeMCComponent("GJets_HT400to600", "/GJets_HT-400to600_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",62.05) GJets_HT600toInf = kreator.makeMCComponent("GJets_HT600toInf", "/GJets_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",20.87) GJetsHT = [ GJets_HT100to200, GJets_HT200to400, +GJets_HT400to600, GJets_HT600toInf, ] ZJetsToNuNu_HT100to200 = kreator.makeMCComponent("ZJetsToNuNu_HT100to200", "/ZJetsToNuNu_HT-100to200_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",372.6*1.27) ZJetsToNuNu_HT200to400 = kreator.makeMCComponent("ZJetsToNuNu_HT200to400", "/ZJetsToNuNu_HT-200to400_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",100.8*1.27) +ZJetsToNuNu_HT400to600 = kreator.makeMCComponent("ZJetsToNuNu_HT400to600", "/ZJetsToNuNu_HT-400to600_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root",11.99*1.27) ZJetsToNuNu_HT600toInf = kreator.makeMCComponent("ZJetsToNuNu_HT600toInf", "/ZJetsToNuNu_HT-600toInf_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",4.113*1.27) ZJetsToNuNuHT = [ ZJetsToNuNu_HT100to200, ZJetsToNuNu_HT200to400, +ZJetsToNuNu_HT400to600, ZJetsToNuNu_HT600toInf, ] -# https://twiki.cern.ch/twiki/bin/viewauth/CMS/SingleTopSigma -TToLeptons_tch = kreator.makeMCComponent("TToLeptons_tch", "/TToLeptons_t-channel-CSA14_Tune4C_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 136.05*0.108) -TToLeptons_sch = kreator.makeMCComponent("TToLeptons_sch", "/TToLeptons_s-channel-CSA14_Tune4C_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 7.20*0.108) -TBarToLeptons_tch = kreator.makeMCComponent("TBarToLeptons_tch", "/TBarToLeptons_t-channel_Tune4C_CSA14_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 80.97*0.108) -TBarToLeptons_sch = kreator.makeMCComponent("TBarToLeptons_sch", "/TBarToLeptons_s-channel-CSA14_Tune4C_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 4.16*0.108) +# Single top cross sections: https://twiki.cern.ch/twiki/bin/viewauth/CMS/SingleTopSigma +TToLeptons_tch = kreator.makeMCComponent("TToLeptons_tch", "/TToLeptons_t-channel-CSA14_Tune4C_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 136.05*0.108*3) +TToLeptons_sch = kreator.makeMCComponent("TToLeptons_sch", "/TToLeptons_s-channel-CSA14_Tune4C_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 7.20*0.108*3) +TBarToLeptons_tch = kreator.makeMCComponent("TBarToLeptons_tch", "/TBarToLeptons_t-channel_Tune4C_CSA14_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 80.97*0.108*3) +TBarToLeptons_sch = kreator.makeMCComponent("TBarToLeptons_sch", "/TBarToLeptons_s-channel-CSA14_Tune4C_13TeV-aMCatNLO-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 4.16*0.108*3) TBar_tWch = kreator.makeMCComponent("TBar_tWch", "/Tbar_tW-channel-DR_Tune4C_13TeV-CSA14-powheg-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",35.6) T_tWch = kreator.makeMCComponent("T_tWch", "/T_tW-channel-DR_Tune4C_13TeV-CSA14-powheg-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",35.6) @@ -150,31 +188,44 @@ TToLeptons_tch, TToLeptons_sch, TBarToLeptons_tch, TBarToLeptons_sch, TBar_tWch, T_tWch ] +# TTbar cross section: MCFM with dynamic scale, StandardModelCrossSectionsat13TeV TTJets = kreator.makeMCComponent("TTJets", "/TTJets_MSDecaysCKM_central_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",809.1) + +# TTV cross sections are from 13 TeV MG5_aMC@NLO v2.2.1, NNPDF 2.3nlo, fixed scale = mtop + 0.5*mv TTWJets = kreator.makeMCComponent("TTWJets", "/TTWJets_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.6647) TTZJets = kreator.makeMCComponent("TTZJets", "/TTZJets_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.8565) + +# TTH cross section from LHC Higgs XS WG: https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt1314TeV?rev=15 TTH = kreator.makeMCComponent("TTH", "/TTbarH_M-125_13TeV_amcatnlo-pythia8-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root",0.5085) -WZJetsTo3LNu = kreator.makeMCComponent("WZJetsTo3LNu", "/WZJetsTo3LNu_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",2.29) -ZZTo4L = kreator.makeMCComponent("ZZTo4L","/ZZTo4L_Tune4C_13TeV-powheg-pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 31.8*(0.03366**2)) +# cross section from StandardModelCrossSectionsat13TeV (NLO MCFM, mll > 12) times BR=(3*0.108)*(3*0.0337) +WZJetsTo3LNu = kreator.makeMCComponent("WZJetsTo3LNu", "/WZJetsTo3LNu_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",2.165) +# cross section from StandardModelCrossSectionsat13TeV (NLO MCFM, mll > 12) times BR=(3*0.0337)**2 +ZZTo4L = kreator.makeMCComponent("ZZTo4L","/ZZTo4L_Tune4C_13TeV-powheg-pythia8/Phys14DR-PU20bx25_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 31.8*(3*0.03366**2)) +# GGH cross section from LHC Higgs XS WG: https://twiki.cern.ch/twiki/bin/view/LHCPhysics/CERNYellowReportPageAt1314TeV?rev=15 GGHZZ4L = kreator.makeMCComponent("GGHZZ4L", "/GluGluToHToZZTo4L_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 43.92*2.76E-04) +GGHTT = kreator.makeMCComponent("GGHTT", "/GluGluToHToTauTau_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root", 43.92*0.0632) +VBFTT = kreator.makeMCComponent("VBFTT", "/VBF_HToTauTau_M-125_13TeV-powheg-pythia6/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v2/MINIAODSIM", "CMS", ".*root", 3.748*0.0632) + + #### Signal samples +# cross sections from LHC SUSY Cross Section Working Group https://twiki.cern.ch/twiki/bin/view/LHCPhysics/SUSYCrossSections SMS_T2tt_2J_mStop850_mLSP100 = kreator.makeMCComponent("SMS_T2tt_2J_mStop850_mLSP100", "/SMS-T2tt_2J_mStop-850_mLSP-100_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0189612) SMS_T2tt_2J_mStop650_mLSP325 = kreator.makeMCComponent("SMS_T2tt_2J_mStop650_mLSP325", "/SMS-T2tt_2J_mStop-650_mLSP-325_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.107045) SMS_T2tt_2J_mStop500_mLSP325 = kreator.makeMCComponent("SMS_T2tt_2J_mStop500_mLSP325", "/SMS-T2tt_2J_mStop-500_mLSP-325_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.51848) SMS_T2tt_2J_mStop425_mLSP325 = kreator.makeMCComponent("SMS_T2tt_2J_mStop425_mLSP325", "/SMS-T2tt_2J_mStop-425_mLSP-325_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",1.31169) -SMS_T2qq_2J_mStop600_mLSP550 = kreator.makeMCComponent("SMS_T2qq_2J_mStop600_mLSP550", "/SMS-T2qq_2J_mStop-600_mLSP-550_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",1.76645) -SMS_T2qq_2J_mStop1200_mLSP100 = kreator.makeMCComponent("SMS_T2qq_2J_mStop1200_mLSP100", "/SMS-T2qq_2J_mStop-1200_mLSP-100_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0162846) +SMS_T2qq_2J_mStop600_mLSP550 = kreator.makeMCComponent("SMS_T2qq_2J_mStop600_mLSP550", "/SMS-T2qq_2J_mStop-600_mLSP-550_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",1.76645, True) +SMS_T2qq_2J_mStop1200_mLSP100 = kreator.makeMCComponent("SMS_T2qq_2J_mStop1200_mLSP100", "/SMS-T2qq_2J_mStop-1200_mLSP-100_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0162846, True) SMS_T2bb_2J_mStop900_mLSP100 = kreator.makeMCComponent("SMS_T2bb_2J_mStop900_mLSP100", "/SMS-T2bb_2J_mStop-900_mLSP-100_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0128895) SMS_T2bb_2J_mStop600_mLSP580 = kreator.makeMCComponent("SMS_T2bb_2J_mStop600_mLSP580", "/SMS-T2bb_2J_mStop-600_mLSP-580_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.174599) -SMS_T1tttt_2J_mGl1500_mLSP100 = kreator.makeMCComponent("SMS_T1tttt_2J_mGl1500_mLSP100", "/SMS-T1tttt_2J_mGl-1500_mLSP-100_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0141903) -SMS_T1tttt_2J_mGl1200_mLSP800 = kreator.makeMCComponent("SMS_T1tttt_2J_mGl1200_mLSP800", "/SMS-T1tttt_2J_mGl-1200_mLSP-800_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0856418) +SMS_T1tttt_2J_mGl1500_mLSP100 = kreator.makeMCComponent("SMS_T1tttt_2J_mGl1500_mLSP100", "/SMS-T1tttt_2J_mGl-1500_mLSP-100_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0141903, True) +SMS_T1tttt_2J_mGl1200_mLSP800 = kreator.makeMCComponent("SMS_T1tttt_2J_mGl1200_mLSP800", "/SMS-T1tttt_2J_mGl-1200_mLSP-800_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0856418, True) SMS_T1qqqq_2J_mGl1400_mLSP100 = kreator.makeMCComponent("SMS_T1qqqq_2J_mGl1400_mLSP100", "/SMS-T1qqqq_2J_mGl-1400_mLSP-100_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0252977) -SMS_T1qqqq_2J_mGl1000_mLSP800 = kreator.makeMCComponent("SMS_T1qqqq_2J_mGl1000_mLSP800", "/SMS-T1qqqq_2J_mGl-1000_mLSP-800_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.325388) -SMS_T1bbbb_2J_mGl1500_mLSP100 = kreator.makeMCComponent("SMS_T1bbbb_2J_mGl1500_mLSP100", "/SMS-T1bbbb_2J_mGl-1500_mLSP-100_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0141903) +SMS_T1qqqq_2J_mGl1000_mLSP800 = kreator.makeMCComponent("SMS_T1qqqq_2J_mGl1000_mLSP800", "/SMS-T1qqqq_2J_mGl-1000_mLSP-800_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.325388, True) +SMS_T1bbbb_2J_mGl1500_mLSP100 = kreator.makeMCComponent("SMS_T1bbbb_2J_mGl1500_mLSP100", "/SMS-T1bbbb_2J_mGl-1500_mLSP-100_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.0141903, True) SMS_T1bbbb_2J_mGl1000_mLSP900 = kreator.makeMCComponent("SMS_T1bbbb_2J_mGl1000_mLSP900", "/SMS-T1bbbb_2J_mGl-1000_mLSP-900_Tune4C_13TeV-madgraph-tauola/Phys14DR-PU20bx25_tsg_PHYS14_25_V1-v1/MINIAODSIM", "CMS", ".*root",0.325388) SusySignalSamples = [ SMS_T2tt_2J_mStop850_mLSP100, @@ -194,17 +245,165 @@ ] ### PRIVATE Local -T5WW_2J_mGo1400_mCh315_mChi300 = kreator.makeMCComponentFromLocal('T5WW_2J_mGo1400_mCh315_mChi300', '/13TeV_Gl_Gl_4q_Gl1400_LSP300_Chi315/', '/nfs/dust/cms/group/susy-desy/Run2/MC/MiniAOD/PHYS14_PU20_25ns/MINIAOD_V1/%s',".*root",0.0252977) -SusySignalSamples += [T5WW_2J_mGo1400_mCh315_mChi300] +#DESY + +Sq_Gl_4t_Gl1500_Sq2000_LSP100 = kreator.makeMCComponentFromLocal('Sq_Gl_4t_Gl1500_Sq2000_LSP100', '/13TeV_Sq_Gl_4t_Gl1500_Sq2000_LSP100/', '/nfs/dust/cms/group/susy-desy/Run2/MC/MiniAOD/PHYS14_PU20_25ns/MINIAOD_V1/%s', '.*root',0.0172) +Sq_Gl_4t_Gl1500_Sq2500_LSP100 = kreator.makeMCComponentFromLocal('Sq_Gl_4t_Gl1500_Sq2500_LSP100', '/13TeV_Sq_Gl_4t_Gl1500_Sq2500_LSP100/', '/nfs/dust/cms/group/susy-desy/Run2/MC/MiniAOD/PHYS14_PU20_25ns/MINIAOD_V1/%s', '.*root',0.00594) +Sq_Gl_4t_Gl1500_Sq3000_LSP100 = kreator.makeMCComponentFromLocal('Sq_Gl_4t_Gl1500_Sq3000_LSP100', '/13TeV_Sq_Gl_4t_Gl1500_Sq3000_LSP100/', '/nfs/dust/cms/group/susy-desy/Run2/MC/MiniAOD/PHYS14_PU20_25ns/MINIAOD_V1/%s', '.*root',0.00206) + +Sq_Gl_4t_Gl1300_Sq1300_LSP100 = kreator.makeMCComponentFromLocal('Sq_Gl_4t_Gl1300_Sq1300_LSP100', '/13TeV_Sq_Gl_4t_Gl1300_Sq1300_LSP100/', '/nfs/dust/cms/group/susy-desy/Run2/MC/MiniAOD/PHYS14_PU20_25ns/MINIAOD_V1/%s', '.*root',0.151) + +T1tttt_Gl1300_LSP100 = kreator.makeMCComponentFromLocal('T1tttt_Gl1300_LSP100', '/13TeV_T14t_Gl1300_LSP100/', '/nfs/dust/cms/group/susy-desy/Run2/MC/MiniAOD/PHYS14_PU20_25ns/MINIAOD_V1/%s', '.*root',0.0449) +T1tttt_mGo1300_mChi100_loc = kreator.makeMCComponentFromLocal('T1tttt_mGo1300_mChi100_loc', '/SMS_T1tttt_2J_mGl1300_mLSP100/', '/store/cmst3/group/susy/alobanov/MC/PHYS14/PU20_25ns/%s', '.*root', 0.0449) + + +T5qqqqWW_2J_mGo1400_mCh315_mChi300 = kreator.makeMCComponentFromLocal('T5qqqqWW_2J_mGo1400_mCh315_mChi300', '/13TeV_Gl_Gl_4q_Gl1400_LSP300_Chi315/', '/nfs/dust/cms/group/susy-desy/Run2/MC/MiniAOD/PHYS14_PU20_25ns/MINIAOD_V1/%s',".*root",0.0252977) +#Vienna +T5qqqqWW_2J_mGo1200_mCh800_mChi1000 = kreator.makeMCComponentFromLocal('T5qqqqWW_2J_mGo1200_mCh800_mChi1000', 'T5Full_Gl1200_Chi1000_LSP800', '/nfs/dust/cms/user/lobanov/SUSY/Run2/RA4/MC/MiniAOD/PHYS14_PU20_25ns/%s',".*root",0.0856418) +T5qqqqWW_2J_mGo1500_mCh100_mChi800 = kreator.makeMCComponentFromLocal('T5qqqqWW_2J_mGo1500_mCh100_mChi800', 'T5Full_Gl1500_Chi800_LSP100', '/nfs/dust/cms/user/lobanov/SUSY/Run2/RA4/MC/MiniAOD/PHYS14_PU20_25ns/%s',".*root",0.0141903) + +SusySignalSamples += [T5WW_2J_mGo1400_mCh315_mChi300, Sq_Gl_4t_Gl1500_Sq2000_LSP100,Sq_Gl_4t_Gl1500_Sq2500_LSP100,Sq_Gl_4t_Gl1500_Sq3000_LSP100,Sq_Gl_4t_Gl1300_Sq1300_LSP100,T1tttt_Gl1300_LSP100,T1tttt_mGo1300_mChi100_loc] + +SusySignalSamples += [ +T5qqqqWW_2J_mGo1400_mCh315_mChi300, +T5qqqqWW_2J_mGo1500_mCh100_mChi800, +T5qqqqWW_2J_mGo1200_mCh800_mChi1000 +] + +#mcSamplesPHYS14_PU20bx25 = QCDHT + QCDPt + [QCD_Mu15] + QCDPtEMEnriched + QCDPtbcToE + [WJetsToLNu] + WJetsToLNuHT + [DYJetsToLL_M50, DYJetsMuMuM50_PtZ180] + DYJetsM50HT + GJetsHT + ZJetsToNuNuHT + SingleTop + [ TTJets, TTWJets, TTZJets, TTH, WZJetsTo3LNu, ZZTo4L, GGHZZ4L] + SusySignalSamples +mcSamplesPHYS14_PU20bx25 = QCDHT + QCDPt + [QCD_Mu15] + QCD_Mu5 + QCDPtEMEnriched + QCDPtbcToE + [WJetsToLNu] + WJetsToLNuHT + [DYJetsToLL_M50, DYJetsMuMuM50_PtZ180] + DYJetsM50HT + GJetsHT + ZJetsToNuNuHT + SingleTop + [ TTJets, TTWJets, TTZJets, TTH, WZJetsTo3LNu, ZZTo4L, GGHZZ4L, GGHTT, VBFTT] + SusySignalSamples + + +## PRIVATE SAMPLES + +GJets_HT100to200_fixPhoton = kreator.makeMCComponentFromEOS('GJets_HT100to200', '/GJets_HT-100to200_Tune4C_13TeV-madgraph-tauola/miniAOD_fixPhoton_7_2_3/150204_164703/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s',".*root", 1534) +GJets_HT200to400_fixPhoton = kreator.makeMCComponentFromEOS('GJets_HT200to400', '/GJets_HT-200to400_Tune4C_13TeV-madgraph-tauola/miniAOD_fixPhoton_7_2_3/150204_164621/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s',".*root", 489.9) +GJets_HT400to600_fixPhoton = kreator.makeMCComponentFromEOS('GJets_HT400to600', '/GJets_HT-400to600_Tune4C_13TeV-madgraph-tauola/miniAOD_fixPhoton_7_2_3/150204_164547/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s',".*root", 62.05) +GJets_HT600toInf_fixPhoton = kreator.makeMCComponentFromEOS('GJets_HT600toInf', '/GJets_HT-600toInf_Tune4C_13TeV-madgraph-tauola/miniAOD_fixPhoton_7_2_3/150204_122016/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s',".*root", 20.87) +GJets_fixPhoton = [ +GJets_HT100to200_fixPhoton, +GJets_HT200to400_fixPhoton, +GJets_HT400to600_fixPhoton, +GJets_HT600toInf_fixPhoton, +] + +QCD_HT_100To250_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_100To250", '/QCD_HT-100To250_13TeV-madgraph/miniAOD_fixPhoton_reco/150206_145121/0000/', '/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_reco/%s', ".*root", 28730000) +QCD_HT_250To500_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_250To500", '/QCD_HT_250To500_13TeV-madgraph/miniAOD_fixPhoton_reco/150206_145040/0000/', '/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_reco/%s', ".*root", 670500) +QCD_HT_250To500_ext1_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_250To500_ext1", '/QCD_HT_250To500_13TeV-madgraph/miniAOD_fixPhoton_reco/150206_144831/0000/', '/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_reco/%s', ".*root", 670500) +QCD_HT_500To1000_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_500To1000", '/QCD_HT-500To1000_13TeV-madgraph/miniAOD_fixPhoton_reco/150206_144759/0000/', '/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_reco/%s', ".*root", 26740) +QCD_HT_500To1000_ext1_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_500To1000_ext1", '/QCD_HT-500To1000_13TeV-madgraph/miniAOD_fixPhoton_reco/150206_144615/0000/', '/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_reco/%s', ".*root", 26740) +QCD_HT_1000ToInf_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_1000ToInf", '/QCD_HT_1000ToInf_13TeV-madgraph/miniAOD_fixPhoton_7_2_3/150204_172505/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s', ".*root", 769.7) +QCD_HT_1000ToInf_ext1_fixPhoton = kreator.makeMCComponentFromEOS("QCD_HT_1000ToInf_ext1", '/QCD_HT_1000ToInf_13TeV-madgraph/miniAOD_fixPhoton_7_2_3/150204_172427/0000/', '/store/user/mmasciov/PHYS14_fixPhoton/%s', ".*root", 769.7) +QCDHT_fixPhoton = [ +QCD_HT_100To250_fixPhoton, +QCD_HT_250To500_fixPhoton, +QCD_HT_500To1000_fixPhoton, +QCD_HT_1000ToInf_fixPhoton, +QCD_HT_250To500_ext1_fixPhoton, +QCD_HT_500To1000_ext1_fixPhoton, +QCD_HT_1000ToInf_ext1_fixPhoton, +] + + +QCD_Pt170to300_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt170to300" , "QCD_Pt-170to300_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154438/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 120300) +QCD_Pt300to470_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt300to470" , "QCD_Pt-300to470_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154529/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 7475) +QCD_Pt470to600_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt470to600" , "QCD_Pt-470to600_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154700/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 587.1) +QCD_Pt600to800_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt600to800" , "QCD_Pt-600to800_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154904/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 167) +QCD_Pt800to1000_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt800to1000" , "QCD_Pt-800to1000_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_155003/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 28.25) +QCD_Pt1000to1400_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt1000to1400", "QCD_Pt-1000to1400_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154248/0000/", "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 8.195) +QCD_Pt1400to1800_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt1400to1800", "QCD_Pt-1400to1800_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150228_154344/0000/", "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 0.7346) +QCD_Pt1800to2400_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt1800to2400", "QCD_Pt-1800to2400_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150301_002302/0000/", "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 0.102) +QCD_Pt2400to3200_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt2400to3200", "QCD_Pt-2400to3200_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150301_002547/0000/", "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 0.00644) +QCD_Pt3200_fixPhoton = kreator.makeMCComponentFromEOS("QCD_Pt3200" , "QCD_Pt-3200_Tune4C_13TeV_pythia8/miniAOD_fixPhoton_QCDPt/150301_002653/0000/" , "/store/group/phys_susy/mmasciov/PHYS14_fixPhoton_QCDPt/%s", ".*root", 0.000163) + + +QCDPt_fixPhoton = [ +QCD_Pt170to300_fixPhoton, +QCD_Pt300to470_fixPhoton, +QCD_Pt470to600_fixPhoton, +QCD_Pt600to800_fixPhoton, +QCD_Pt800to1000_fixPhoton, +QCD_Pt1000to1400_fixPhoton, +QCD_Pt1400to1800_fixPhoton, +QCD_Pt1800to2400_fixPhoton, +QCD_Pt2400to3200_fixPhoton, +QCD_Pt3200_fixPhoton +] + +T5ttttDeg_mGo1000_mStop300_mCh285_mChi280 = kreator.makeMCComponentFromEOS('T5ttttDeg_mGo1000_mStop300_mCh285_mChi280', '/T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_23bodydec_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388) +T5ttttDeg_mGo1300_mStop300_mCh285_mChi280 = kreator.makeMCComponentFromEOS('T5ttttDeg_mGo1300_mStop300_mCh285_mChi280', '/T5ttttDeg_mGo1300_mStop300_mCh285_mChi280_23bodydec_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.0460525) +T5ttttDeg_mGo1000_mStop300_mChi280 = kreator.makeMCComponentFromEOS('T5ttttDeg_mGo1000_mStop300_mChi280', '/T5ttttDeg_mGo1000_mStop300_mChi280_4bodydec_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388) +T5ttttDeg_mGo1300_mStop300_mChi280 = kreator.makeMCComponentFromEOS('T5ttttDeg_mGo1300_mStop300_mChi280', '/T5ttttDeg_mGo1300_mStop300_mChi280_4bodydec_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.0460525) +T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil = kreator.makeMCComponentFromEOS('T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil', '/T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_23bodydec_dilepfilterPt8p5_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388) +T5ttttDeg_mGo1300_mStop300_mCh285_mChi280_dil = kreator.makeMCComponentFromEOS('T5ttttDeg_mGo1300_mStop300_mCh285_mChi280_dil', '/T5ttttDeg_mGo1300_mStop300_mCh285_mChi280_23bodydec_dilepfilterPt8p5_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.0460525) +T5ttttDeg = [ T5ttttDeg_mGo1000_mStop300_mCh285_mChi280, T5ttttDeg_mGo1300_mStop300_mCh285_mChi280, T5ttttDeg_mGo1000_mStop300_mChi280, T5ttttDeg_mGo1300_mStop300_mChi280, T5ttttDeg_mGo1000_mStop300_mCh285_mChi280_dil, T5ttttDeg_mGo1300_mStop300_mCh285_mChi280_dil ] + +T2ttDeg_mStop350_mChi330_4bodydec_dil = kreator.makeMCComponentFromEOS('T2ttDeg_mStop350_mChi330_4bodydec_dil','/T2ttDeg_mStop350_mChi330_4bodydec_lepOnly/','/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.003787*(0.332)*(0.332)) +T2ttDeg = [T2ttDeg_mStop350_mChi330_4bodydec_dil] + +T1ttbbWW_mGo1000_mCh725_mChi715 = kreator.makeMCComponentFromEOS('T1ttbbWW_mGo1000_mCh725_mChi715', '/T1ttbbWW_2J_mGo1000_mCh725_mChi715_3bodydec_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388) +T1ttbbWW_mGo1000_mCh725_mChi720 = kreator.makeMCComponentFromEOS('T1ttbbWW_mGo1000_mCh725_mChi720', '/T1ttbbWW_2J_mGo1000_mCh725_mChi720_3bodydec_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388) +T1ttbbWW_mGo1300_mCh300_mChi290 = kreator.makeMCComponentFromEOS('T1ttbbWW_mGo1300_mCh300_mChi290', '/T1ttbbWW_2J_mGo1300_mCh300_mChi290_3bodydec_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.0460525) +T1ttbbWW_mGo1300_mCh300_mChi295 = kreator.makeMCComponentFromEOS('T1ttbbWW_mGo1300_mCh300_mChi295', '/T1ttbbWW_2J_mGo1300_mCh300_mChi295_3bodydec_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.0460525) +T1ttbbWW = [ T1ttbbWW_mGo1000_mCh725_mChi715, T1ttbbWW_mGo1000_mCh725_mChi720, T1ttbbWW_mGo1300_mCh300_mChi290, T1ttbbWW_mGo1300_mCh300_mChi295 ] + +T1ttbb_mGo1500_mChi100 = kreator.makeMCComponentFromEOS('T1ttbb_mGo1500_mChi100', '/T1ttbb_2J_mGo1500_mChi100_3bodydec_asymmDecOnly/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.0141903) +T1ttbb = [ T1ttbb_mGo1500_mChi100 ] + +T6ttWW_mSbot600_mCh425_mChi50 = kreator.makeMCComponentFromEOS('T6ttWW_mSbot600_mCh425_mChi50', '/T6ttWW_600_425_50_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.174599) +T6ttWW_mSbot650_mCh150_mChi50 = kreator.makeMCComponentFromEOS('T6ttWW_mSbot650_mCh150_mChi50', '/T6ttWW_650_150_50_v2/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.107045) +T6ttWW = [ T6ttWW_mSbot600_mCh425_mChi50, T6ttWW_mSbot650_mCh150_mChi50 ] + +#SqGltttt_mGo1300_mSq1300_mChi100 = kreator.makeMCComponentFromEOS('SqGltttt_mGo1300_mSq1300_mChi100', '/13TeV_SqGltttt_Gl_1300_Sq_1300_LSP_100/', '/store/cmst3/group/susy/alobanov/MC/PHYS14/PU20_25ns/%s', '.*root') +SqGltttt = [ ] #SqGltttt_mGo1300_mSq1300_mChi100 ] + +T1tttt_mGo1300_mChi100 = kreator.makeMCComponentFromEOS('T1tttt_mGo1300_mChi100', '/SMS_T1tttt_2J_mGl1300_mLSP100/', '/store/cmst3/group/susy/alobanov/MC/PHYS14/PU20_25ns/%s', '.*root', 0.0460525) +T1tttt_mGo800_mChi450 = kreator.makeMCComponentFromEOS('T1tttt_mGo800_mChi450', '/SMS_T1tttt_2J_mGl800_mLSP450/', '/store/cmst3/group/susy/alobanov/MC/PHYS14/PU20_25ns/%s', '.*root', 1.4891) +T1tttt_priv = [ T1tttt_mGo1300_mChi100, T1tttt_mGo800_mChi450 ] + +T5qqqqWWDeg_mGo1400_mCh315_mChi300 = kreator.makeMCComponentFromEOS('T5qqqqWWDeg_mGo1400_mCh315_mChi300', '/SMS_T5qqqqWW_mGl1400_mChi315_mLSP300/', '/store/cmst3/group/susy/alobanov/MC/PHYS14/PU20_25ns/%s', '.*root', 0.0252977) +T5qqqqWWDeg_mGo1000_mCh310_mChi300 = kreator.makeMCComponentFromEOS('T5qqqqWWDeg_mGo1000_mCh310_mChi300', '/T5qqqqWWDeg_mGo1000_mCh310_mChi300/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388) +T5qqqqWWDeg_mGo1000_mCh310_mChi300_dilep= kreator.makeMCComponentFromEOS('T5qqqqWWDeg_mGo1000_mCh310_mChi300_dilep', '/T5qqqqWWDeg_mGo1000_mCh310_mChi300_dilep/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388*(0.333)*(0.333)) +T5qqqqWWDeg_mGo1000_mCh315_mChi300 = kreator.makeMCComponentFromEOS('T5qqqqWWDeg_mGo1000_mCh315_mChi300', '/T5qqqqWWDeg_mGo1000_mCh315_mChi300/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388) +T5qqqqWWDeg_mGo1000_mCh315_mChi300_dilep = kreator.makeMCComponentFromEOS('T5qqqqWWDeg_mGo1000_mCh315_mChi300_dilep', '/T5qqqqWWDeg_mGo1000_mCh315_mChi300_dilep/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388*(0.333)*(0.333)) +T5qqqqWWDeg_mGo1000_mCh325_mChi300 = kreator.makeMCComponentFromEOS('T5qqqqWWDeg_mGo1000_mCh325_mChi300', '/T5qqqqWWDeg_mGo1000_mCh325_mChi300/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388) +T5qqqqWWDeg_mGo1000_mCh325_mChi300_dilep = kreator.makeMCComponentFromEOS('T5qqqqWWDeg_mGo1000_mCh325_mChi300_dilep', '/T5qqqqWWDeg_mGo1000_mCh325_mChi300_dilep/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388*(0.324)*(0.324)) +T5qqqqWWDeg_mGo800_mCh305_mChi300 = kreator.makeMCComponentFromEOS('T5qqqqWWDeg_mGo800_mCh305_mChi300', '/T5qqqqWWDeg_mGo800_mCh305_mChi300/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 1.4891) +T5qqqqWWDeg_mGo800_mCh305_mChi300_dilep = kreator.makeMCComponentFromEOS('T5qqqqWWDeg_mGo800_mCh305_mChi300_dilep', '/T5qqqqWWDeg_mGo800_mCh305_mChi300_dilep/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 1.4891*(0.342)*(0.342)) +T5qqqqWWDeg = [ + T5qqqqWWDeg_mGo1400_mCh315_mChi300, + T5qqqqWWDeg_mGo1000_mCh310_mChi300, T5qqqqWWDeg_mGo1000_mCh315_mChi300, T5qqqqWWDeg_mGo1000_mCh325_mChi300, T5qqqqWWDeg_mGo800_mCh305_mChi300, + T5qqqqWWDeg_mGo1000_mCh310_mChi300_dilep, T5qqqqWWDeg_mGo1000_mCh315_mChi300_dilep, T5qqqqWWDeg_mGo1000_mCh325_mChi300_dilep, T5qqqqWWDeg_mGo800_mCh305_mChi300_dilep +] + +T5qqqqWW_mGo1500_mCh800_mChi100 = kreator.makeMCComponentFromEOS('T5qqqqWW_mGo1500_mCh800_mChi100', '/SMS_T5qqqqWW_Gl1500_Chi800_LSP100/', '/store/cmst3/group/susy/alobanov/MC/PHYS14/PU20_25ns/%s', '.*root', 0.0141903) +T5qqqqWW_mGo1200_mCh1000_mChi800 = kreator.makeMCComponentFromEOS('T5qqqqWW_mGo1200_mCh1000_mChi800', '/SMS_T5qqqqWW_Gl1200_Chi1000_LSP800/', '/store/cmst3/group/susy/alobanov/MC/PHYS14/PU20_25ns/%s', '.*root', 0.0856418) +T5qqqqWW_mGo1000_mCh800_mChi700 = kreator.makeMCComponentFromEOS('T5qqqqWW_mGo1000_mCh800_mChi700', '/T5qqqqWW_mGo1000_mCh800_mChi700/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388) +T5qqqqWW_mGo1000_mCh800_mChi700_dilep= kreator.makeMCComponentFromEOS('T5qqqqWW_mGo1000_mCh800_mChi700_dilep', '/T5qqqqWW_mGo1000_mCh800_mChi700_dilep/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.325388*(3*0.108)*(3*0.108)) +T5qqqqWW_mGo1200_mCh1000_mChi800_cmg = kreator.makeMCComponentFromEOS('T5qqqqWW_mGo1200_mCh1000_mChi800_cmg', '/T5qqqqWW_mGo1200_mCh1000_mChi800/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.0856418) +T5qqqqWW_mGo1200_mCh1000_mChi800_dilep= kreator.makeMCComponentFromEOS('T5qqqqWW_mGo1200_mCh1000_mChi800_dilep', '/T5qqqqWW_mGo1200_mCh1000_mChi800_dilep/', '/store/cmst3/group/susy/gpetrucc/13TeV/Phys14DR/MINIAODSIM/%s',".*root", 0.0856418*(3*0.108)*(3*0.108)) + +T5qqqqWW = [ + T5qqqqWW_mGo1500_mCh800_mChi100, T5qqqqWW_mGo1200_mCh1000_mChi800, + T5qqqqWW_mGo1000_mCh800_mChi700, T5qqqqWW_mGo1200_mCh1000_mChi800_cmg, + T5qqqqWW_mGo1000_mCh800_mChi700_dilep, T5qqqqWW_mGo1200_mCh1000_mChi800_dilep +] + + + +# note: cross section for q~ q~ from https://twiki.cern.ch/twiki/bin/view/LHCPhysics/SUSYCrossSections13TeVsquarkantisquark (i.e. gluinos and stops decoupled) +T6qqWW_mSq950_mCh325_mChi300 = kreator.makeMCComponentFromEOS('T6qqWW_mSq950_mCh325_mChi300', '/SMS_T6qqWW_mSq950_mChi325_mLSP300/', '/store/cmst3/group/susy/alobanov/MC/PHYS14/PU20_25ns/%s', '.*root', 0.0898112) +T6qqWW = [ T6qqWW_mSq950_mCh325_mChi300 ] -mcSamplesPHYS14_PU20bx25 = QCDHT + [WJetsToLNu] + WJetsToLNuHT + [DYJetsToLL_M50, DYJetsMuMuM50_PtZ180] + DYJetsM50HT + GJetsHT + ZJetsToNuNuHT + SingleTop + [ TTJets, TTWJets, TTZJets, TTH, WZJetsTo3LNu, ZZTo4L, GGHZZ4L] + SusySignalSamples +mcSamplesPriv = T5ttttDeg + T1ttbbWW + T1ttbb + T6ttWW + SqGltttt + T1tttt_priv + T5qqqqWW + T5qqqqWWDeg + T6qqWW + GJets_fixPhoton + QCDHT_fixPhoton -mcSamples = mcSamplesPHYS14_PU20bx25 + mcSamplesPHYS14_PU40bx25 +mcSamples = mcSamplesPHYS14_PU20bx25 + mcSamplesPHYS14_PU40bx25 + mcSamplesPHYS14_PU4bx50 + mcSamplesPriv #-----------DATA--------------- -dataDir = os.environ['CMSSW_BASE']+"/src/CMGTools/TTHAnalysis/data" +#dataDir = os.environ['CMSSW_BASE']+"/src/CMGTools/TTHAnalysis/data" +dataDir = "$CMSSW_BASE/src/CMGTools/TTHAnalysis/data" # use environmental variable, useful for instance to run on CRAB #lumi: 12.21+7.27+0.134 = 19.62 /fb @ 8TeV json=dataDir+'/json/Cert_Run2012ABCD_22Jan2013ReReco.json' diff --git a/CMGTools/TTHAnalysis/python/samples/triggers_13TeV_PHYS14.py b/CMGTools/TTHAnalysis/python/samples/triggers_13TeV_PHYS14.py new file mode 100644 index 000000000000..b62e719edfb4 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/samples/triggers_13TeV_PHYS14.py @@ -0,0 +1,48 @@ +################## Triggers (FIXME: update to the PHYS14 Trigger Menu) + + +triggers_mumu_run1 = ["HLT_Mu17_Mu8_v*","HLT_Mu17_TkMu8_v*"] +triggers_mumu_iso = [ "HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v*", "HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v*" ] +triggers_mumu_noniso = [ "HLT_Mu30_TkMu11_v*" ] +triggers_mumu = triggers_mumu_iso + triggers_mumu_noniso + +triggers_ee_run1 = ["HLT_Ele17_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_Ele8_CaloIdT_TrkIdVL_CaloIsoVL_TrkIsoVL_v*", + "HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*", + "HLT_Ele15_Ele8_Ele5_CaloIdL_TrkIdVL_v*"] +triggers_ee = [ "HLT_Ele23_Ele12_CaloId_TrackId_Iso_v*" ] +triggers_3e = [ "HLT_Ele17_Ele12_Ele10_CaloId_TrackId_v*" ] +triggers_mue = [ + "HLT_Mu23_TrkIsoVVL_Ele12_Gsf_CaloId_TrackId_Iso_MediumWP_v*", + "HLT_Mu8_TrkIsoVVL_Ele23_Gsf_CaloId_TrackId_Iso_MediumWP_v*" + ] + +triggers_multilep = triggers_mumu + triggers_ee + triggers_3e + triggers_mue + +triggers_1mu_iso = [ 'HLT_IsoMu24_eta2p1_IterTrk02_v*', 'HLT_IsoTkMu24_eta2p1_IterTrk02_v*' ] +triggers_1mu_isowid = [ 'HLT_IsoMu24_IterTrk02_v*', 'HLT_IsoTkMu24_IterTrk02_v*' ] +triggers_1mu_isolow = [ 'HLT_IsoMu20_eta2p1_IterTrk02_v*', 'HLT_IsoTkMu20_eta2p1_IterTrk02_v*' ] +triggers_1mu_noniso = [ 'HLT_Mu40_v*' ] +triggers_1mu = triggers_1mu_iso + triggers_1mu_isowid + triggers_1mu_isolow + triggers_1mu_noniso + +triggers_1e = [ "HLT_Ele27_eta2p1_WP85_Gsf_v*", "HLT_Ele32_eta2p1_WP85_Gsf_v*" ] + +triggersFR_1mu = [ 'HLT_Mu5_v*', 'HLT_RelIso1p0Mu5_v*', 'HLT_Mu12_v*', 'HLT_Mu24_eta2p1_v*', 'HLT_Mu40_eta2p1_v*' ] +triggersFR_mumu = [ 'HLT_Mu17_Mu8_v*', 'HLT_Mu17_TkMu8_v*', 'HLT_Mu8_v*', 'HLT_Mu17_v*' ] +triggersFR_1e = [ 'HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*', 'HLT_Ele17_CaloIdL_CaloIsoVL_v*', 'HLT_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_v*', 'HLT_Ele8__CaloIdL_CaloIsoVL_v*'] +triggersFR_mue = triggers_mue[:] +triggersFR_MC = triggersFR_1mu + triggersFR_mumu + triggersFR_1e + triggersFR_mue + + + +### ----> for the MT2 analysis + +triggers_HT900 = ["HLT_PFHT900_v*"] +triggers_MET170 = ["HLT_PFMET170_NoiseCleaned_v*"] +triggers_HTMET = ["HLT_PFHT350_PFMET120_NoiseCleaned_v*"] + +triggers_photon155 = ["HLT_Photon155_v*"] + +triggers_MT2_mumu = triggers_mumu_iso +triggers_MT2_ee = triggers_ee + +triggers_MT2_mue = triggers_mue diff --git a/CMGTools/TTHAnalysis/python/signedSip.py b/CMGTools/TTHAnalysis/python/signedSip.py index a1d8eb73ebad..12b9cc89ac01 100644 --- a/CMGTools/TTHAnalysis/python/signedSip.py +++ b/CMGTools/TTHAnalysis/python/signedSip.py @@ -11,7 +11,6 @@ def signedSip3D(lepton, vertex=None): meas = SignedImpactParameterComputer.signedIP3D(track.get(), vertex, dir) return meas.significance() - def signedIp3D(lepton, vertex=None): if vertex is None: vertex = lepton.associatedVertex @@ -20,13 +19,79 @@ def signedIp3D(lepton, vertex=None): meas = SignedImpactParameterComputer.signedIP3D(track.get(), vertex, dir) return meas.value() + +def maxSignedSip3Djettracks(lepton, vertex=None): + if vertex is None: + vertex = lepton.associatedVertex + if hasattr(lepton,'jet') and lepton.jet != lepton : + dir = lepton.jet.momentum() + jetTracks = [ dau.pseudoTrack() for dau in lepton.jet.daughterPtrVector() if dau.charge() != 0 and dau.pt() > 1.0 ] + if len(jetTracks) !=0: + meas = max((SignedImpactParameterComputer.signedIP3D(track,vertex,dir)).significance() for track in jetTracks ) + return meas + else: + return -1. + else : + return -1. + + +def maxSip3Djettracks(lepton, vertex=None): + if vertex is None: + vertex = lepton.associatedVertex + if hasattr(lepton,'jet') and lepton.jet != lepton : + dir = lepton.jet.momentum() + jetTracks = [ dau.pseudoTrack() for dau in lepton.jet.daughterPtrVector() if dau.charge() != 0 and dau.pt() > 1.0 ] + if len(jetTracks) !=0: + meas = max( (SignedImpactParameterComputer.IP3D(track,vertex)).significance() for track in jetTracks ) + return meas + else: + return -1. + else : + return -1. + + +def maxSignedSip2Djettracks(lepton, vertex=None): + if vertex is None: + vertex = lepton.associatedVertex + if hasattr(lepton,'jet') and lepton.jet != lepton : + dir = lepton.jet.momentum() + jetTracks = [ dau.pseudoTrack() for dau in lepton.jet.daughterPtrVector() if dau.charge() != 0 and dau.pt() > 1.0 ] + if len(jetTracks) !=0: + meas = max( (SignedImpactParameterComputer.signedIP2D(track,vertex,dir)).significance() for track in jetTracks ) + return meas + else: + return -1. + else : + return -1. + + + +def maxSip2Djettracks(lepton, vertex=None): + if vertex is None: + vertex = lepton.associatedVertex + if hasattr(lepton,'jet') and lepton.jet != lepton : + dir = lepton.jet.momentum() + jetTracks = [ dau.pseudoTrack() for dau in lepton.jet.daughterPtrVector() if dau.charge() != 0 and dau.pt() > 1.0 ] + if len(jetTracks) !=0: + meas = max( (SignedImpactParameterComputer.IP2D(track,vertex)).significance() for track in jetTracks ) + return meas + else: + return -1. + else : + return -1. + + + + + + + def twoTrackChi2(lepton1,lepton2): track1 = lepton1.gsfTrack() if abs(lepton1.pdgId()) == 11 else lepton1.track() track2 = lepton2.gsfTrack() if abs(lepton2.pdgId()) == 11 else lepton2.track() pair = SignedImpactParameterComputer.twoTrackChi2(track1.get(),track2.get()) return (pair.first,pair.second) - #For the vertex related variables #A = selectedLeptons[0], B = selectedLeptons[1], C = selectedLeptons[2], D = selectedLeptons[3] ##Variables related to IP diff --git a/CMGTools/TTHAnalysis/python/tools/EOSEventsWithDownload.py b/CMGTools/TTHAnalysis/python/tools/EOSEventsWithDownload.py new file mode 100644 index 000000000000..62d3759a965f --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/EOSEventsWithDownload.py @@ -0,0 +1,94 @@ +from DataFormats.FWLite import Events as FWLiteEvents +import os, subprocess, json + +class EOSEventsWithDownload(object): + def __init__(self, files, tree_name): + query = ["edmFileUtil", "--ls", "-j"]+[("file:"+f if f[0]=="/" else f) for f in files] + retjson = subprocess.check_output(query) + retobj = json.loads(retjson) + self._files = [] + self._nevents = 0 + for entry in retobj: + self._files.append( (str(entry['file']), self._nevents, self._nevents+entry['events'] ) ) # str() is needed since the output is a unicode string + self._nevents += entry['events'] + self._fileindex = -1 + self._localCopy = None + self.events = None + ## Discover where I am + self.inMeyrin = True + if 'LSB_JOBID' in os.environ and 'HOSTNAME' in os.environ: + hostname = os.environ['HOSTNAME'].replace(".cern.ch","") + try: + wigners = subprocess.check_output(["bmgroup","g_wigner"]).split() + if hostname in wigners: + self.inMeyrin = False + print "Host %s is in bmgroup g_wigner, so I assume I'm in Wigner and not Meyrin" % hostname + except: + pass + def __len__(self): + return self._nevents + def __getattr__(self, key): + return getattr(self.events, key) + def isLocal(self,filename): + fpath = filename.replace("root://eoscms.cern.ch//","/").replace("root://eoscms//","/") + if "?" in fpath: fpath = fpath.split["?"][0] + try: + finfo = subprocess.check_output(["/afs/cern.ch/project/eos/installation/pro/bin/eos.select", "fileinfo", fpath]) + replicas = False + nears = False + for line in finfo.split("\n"): + if line.endswith("geotag"): + replicas = True + elif replicas and ".cern.ch" in line: + geotag = int(line.split()[-1]) + print "Found a replica with geotag %d" % geotag + if self.inMeyrin: + if geotag > 9000: return False # far replica: bad (EOS sometimes gives the far even if there's a near!) + else: nears = True # we have found a replica that is far away + else: + if geotag < 1000: return False # far replica: bad (EOS sometimes gives the far even if there's a near!) + else: nears = True # we have found a replica that is far away + # if we have found some near replicas, and no far replicas + if nears: return True + except: + pass + # we don't know, so we don't transfer (better slow than messed up) + return True + def __getitem__(self, iEv): + if self._fileindex == -1 or not(self._files[self._fileindex][1] <= iEv and iEv < self._files[self._fileindex][2]): + self.events = None # so it's closed + if self._localCopy: + print "Removing local cache file %s" % self._localCopy + try: + os.remove(self._localCopy) + except: + pass + self._localCopy = None + for i,(fname,first,last) in enumerate(self._files): + if first <= iEv and iEv < last: + print "For event range [ %d, %d ) will use file %r " % (first,last,fname) + self._fileindex = i + if fname.startswith("root://eoscms"): + if not self.isLocal(fname): + tmpdir = os.environ['TMPDIR'] if 'TMPDIR' in os.environ else "/tmp" + rndchars = "".join([hex(ord(i))[2:] for i in os.urandom(8)]) + localfile = "%s/%s-%s.root" % (tmpdir, os.path.basename(fname).replace(".root",""), rndchars) + try: + print "Filename %s is remote (geotag >= 9000), will do a copy to local path %s " % (fname,localfile) + subprocess.check_output(["xrdcp","-f",fname,localfile]) + self._localCopy = localfile + fname = localfile + except: + print "Could not save file locally, will run from remote" + if os.path.exists(localfile): os.remove(localfile) # delete in case of incomplete transfer + print "Will run from "+fname + self.events = FWLiteEvents([fname]) + break + self.events.to(iEv - self._files[self._fileindex][1]) + return self + def __del__(self): + todelete = getattr(self,'_localCopy',None) + if todelete: + print "Removing local cache file ",todelete + os.remove(todelete) + diff --git a/CMGTools/TTHAnalysis/python/tools/QGLikelihoodCalculator.py b/CMGTools/TTHAnalysis/python/tools/QGLikelihoodCalculator.py deleted file mode 100644 index fbe311297277..000000000000 --- a/CMGTools/TTHAnalysis/python/tools/QGLikelihoodCalculator.py +++ /dev/null @@ -1,157 +0,0 @@ -import ROOT - - - -def getBinNumber( bins, value ) : - - if valuebins[len(bins)-1]: return False - for i in range(0,len(bins)-1): - if value>bins[i] and value self.ptBinsC[len(self.ptBinsC)-1]: return False - if rho < self.rhoBins[0]: return False - if rho > self.rhoBins[len(self.rhoBins)-1]: return False - if math.fabs(eta) < self.etaBins[0]: return False - if math.fabs(eta) > self.etaBins[len(self.etaBins)-1]: return False - return True - - - - - def findEntry( self, eta, pt, rho, qgIndex, varIndex ) : - - etaBin = getBinNumber( self.etaBins, math.fabs(eta)) - if etaBin==-1: return None - elif etaBin==0 : - ptBin = getBinNumber( self.ptBinsC, pt ) - else : - ptBin = getBinNumber( self.ptBinsF, pt ) - if ptBin==-1 : return None - - rhoBin = getBinNumber( self.rhoBins, rho ) - if rhoBin==-1 : return None - - histName = self.varNames[varIndex] + "_" + self.qgNames[qgIndex] + "_eta-" + str(etaBin) + "_pt-" + str(ptBin) + "_rho-" + str(rhoBin) - - return self.pdfs[histName] - - - - - - def computeQGLikelihood( self, jet, rho ): - - if self.isValidRange(jet.pt(), rho, jet.eta())==False: return -1 - - vars = {0:jet.mult, 1:jet.ptd, 2:jet.axis2} - - Q=1. - G=1. - - #print "----------------------" - #if jet.partonFlavour()==21 : - # print "this jet is a GLUON" - #elif math.fabs(jet.partonFlavour())<4 and jet.partonFlavour()!=0: - # print "this jet is a QUARK" - #print "pt: " + str(jet.pt()) + " eta: " + str(jet.eta()) + " rho: " + str(rho) - #print "multi: " + str(jet.mult) + " ptd: " + str(jet.ptd) + " axis2: " + str(jet.axis2) - - for i in vars : - - #print self.varNames[i] + ": " + str(vars[i]) - # quarks = 0 - qgEntry = self.findEntry(jet.eta(), jet.pt(), rho, 0, i) - - if qgEntry == None: return -1 - Qi = qgEntry.GetBinContent(qgEntry.FindBin(vars[i])) - mQ = qgEntry.GetMean() - #print "Qi: " + str(Qi) - - # gluons = 1 - qgEntry = self.findEntry(jet.eta(), jet.pt(), rho, 1, i) - - if qgEntry == None: return -1 - Gi = qgEntry.GetBinContent(qgEntry.FindBin(vars[i])) - mG = qgEntry.GetMean() - #print "Gi: " + str(Gi) - - epsilon=0. - delta=0.000001 - if Qi <= epsilon and Gi <= epsilon : - if mQ>mG : - if vars[i] > mQ : - Qi = 1.-delta - Gi = delta - elif vars[i] < mG : - Qi = delta - Gi = 1.-delta - else : - if vars[i]mG : - Qi = delta - Gi = 1.-delta - - Q*=Qi - G*=Gi - - - #print "Q: " + str(Q) - #print "G: " + str(G) - if Q==0. : return 0. - else : return Q/(Q+G) - diff --git a/CMGTools/TTHAnalysis/python/tools/eventVars_1l.py b/CMGTools/TTHAnalysis/python/tools/eventVars_1l.py new file mode 100644 index 000000000000..ea2f437a6bf7 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/eventVars_1l.py @@ -0,0 +1,675 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from ROOT import TLorentzVector, TVector2, std +import ROOT +import time +import itertools +import PhysicsTools.Heppy.loadlibs +import array +import operator + +ROOT.gInterpreter.GenerateDictionary("vector","TLorentzVector.h;vector") #need this to be able to use topness code + +mt2wSNT = ROOT.heppy.mt2w_bisect.mt2w() +topness = ROOT.Topness.Topness() + +def getPhysObjectArray(j): # https://github.com/HephySusySW/Workspace/blob/72X-master/RA4Analysis/python/mt2w.py + px = j.pt*cos(j.phi ) + py = j.pt*sin(j.phi ) + pz = j.pt*sinh(j.eta ) + E = sqrt(px*px+py*py+pz*pz) #assuming massless particles... + return array.array('d', [E, px, py,pz]) + + +def mt_2(p4one, p4two): + return sqrt(2*p4one.Pt()*p4two.Pt()*(1-cos(p4one.Phi()-p4two.Phi()))) + +def GetZfromM(vector1,vector2,mass): + MT = sqrt(2*vector1.Pt()*vector2.Pt()*(1-cos(vector2.DeltaPhi(vector1)))) + if (MT0: return min(cleanedValueList) + else: return -999 + # print cleanedValueList, min(cleanedValueList)#d, key=d.get) + + +class EventVars1L: + def __init__(self): + self.branches = [ "METCopyPt", "DeltaPhiLepW", "minDPhiBMET", "minDPhiJMET", "idxMinDPhiBMET", "mTClBPlusMET", "mTBJetMET", "mTLepMET", "mLepBJet", + ("nTightLeps","I"),("tightLepsIdx","I",10,"nTightLeps"),("nVetoLeps","I"),("vetoLepsIdx","I",10,"nVetoLeps"), + ("tightLeps_DescFlag","I",10,"nTightLeps"), + ("nTightEl","I"),("tightElIdx","I",10,"nTightEl"),("nVetoEl","I"),("vetoElIdx","I",10,"nVetoEl"), + ("nTightMu","I"),("tightMuIdx","I",10,"nTightMu"),("nVetoMu","I"),("vetoMuIdx","I",10,"nVetoMu"), + 'HT','ST','LepGood1_pt','LepGood1_pdgId','LepGood1_eta', + ("nCentralJet30","I"),("centralJet30idx","I",100,"nCentralJet30"),("centralJet30_DescFlag","F",100,"nCentralJet30"), + ("nBJetCMVAMedium30","I"),("BJetCMVAMedium30idx","I",50,"nBJetCMVAMedium30"), + "nGoodBJets_allJets", "nGoodBJets", + "LSLjetptGT80", "htJet30j", "htJet30ja", + ("LepBMass","F",50,"nCentralJet30"), ("MTbnu","F",50,"nCentralJet30"),("Mtop","F",50,"nCentralJet30"), + ("MTtop","F",50,"nCentralJet30"), ("METovTop","F",50,"nCentralJet30"),("METTopPhi","F",50,"nCentralJet30"), + ("MtopDecor","F",50,"nCentralJet30"), + ("nBMinVariantsTopVars","I"), + ("TopVarsMTbnuMin","F",10,"nBMinVariantsTopVars"),("TopVarsLepBMassMin","F",10,"nBMinVariantsTopVars"), + ("TopVarsMTtopMin","F",10,"nBMinVariantsTopVars"),("TopVarsMtopMin","F",10,"nBMinVariantsTopVars"), + ("TopVarsMETovTopMin","F",10,"nBMinVariantsTopVars"),("TopVarsMtopDecorMin","F",10,"nBMinVariantsTopVars"), + "MTW","MW1","MW2", + "MT2W", "Topness", + "nHighPtTopTag", "nHighPtTopTagPlusTau23" + ] + + + def listBranches(self): + return self.branches[:] + + + def __call__(self,event,keyvals): + + # make python lists as Collection does not support indexing in slices + genleps = [l for l in Collection(event,"genLep","ngenLep")] + + leps = [l for l in Collection(event,"LepGood","nLepGood")] + jets = [j for j in Collection(event,"Jet","nJet")] + + fatjets = [j for j in Collection(event,"FatJet","nFatJet")] + + njet = len(jets); nlep = len(leps) + + metp4 = ROOT.TLorentzVector(0,0,0,0) + metp4.SetPtEtaPhiM(event.met_pt,event.met_eta,event.met_phi,event.met_mass) + pmiss =array.array('d',[event.met_pt * cos(event.met_phi), event.met_pt * sin(event.met_phi)] ) + + #isolation criteria as defined for PHYS14 1l synchronisation exercise + ele_relisoCut = 0.14 + muo_relisoCut = 0.12 + #ele tight id --> >2 + #muo tight id ==1 + centralEta = 2.4 + + muo_minirelisoCut = 0.2 + Lep_minirelisoCut = 0.4 + ele_minirelisoCut = 0.1 + + goodEl_lostHits = 0 + goodEl_sip3d = 4 + + goodEl_mvaPhys14_eta0p8_T = 0.73; + goodEl_mvaPhys14_eta1p4_T = 0.57; + goodEl_mvaPhys14_eta2p4_T = 0.05; + + ### LEPTONS + + hardTightLeps = [] + hardTightLepsIdx = [] + hardVetoLeps = [] + hardVetoLepsIdx = [] + + softTightLeps = [] + softTightLepsIdx = [] + softVetoLeps = [] + softVetoLepsIdx = [] + + hardTightMu = [] + hardTightMuIdx = [] + hardVetoMu = [] + hardVetoMuIdx = [] + + softTightMu = [] + softTightMuIdx = [] + softVetoMu = [] + softVetoMuIdx = [] + + hardTightEl = [] + hardTightElIdx = [] + hardVetoEl = [] + hardVetoElIdx = [] + + softTightEl = [] + softTightElIdx = [] + softVetoEl = [] + softVetoElIdx = [] + + for idx,lep in enumerate(leps): + + # check acceptance + lepEta = abs(lep.eta) + + if(lepEta > 2.5): continue + + # muons + if(abs(lep.pdgId) == 13): + # pass variables + passID = False + passIso = False + + # hard: pt > 25 + if lep.pt > 25: + + # all hard leptons are veto for soft + softVetoLeps.append(lep); softVetoLepsIdx.append(idx); + softVetoMu.append(lep); softVetoMuIdx.append(idx); + + # ID and Iso check: + if lep.mediumMuonId == 1 and lep.sip3d < 4.0: passID = True + if lep.miniRelIso < muo_minirelisoCut: passIso = True + + # fill + if passID and passIso: + hardTightLeps.append(lep); hardTightLepsIdx.append(idx); + hardTightMu.append(lep); hardTightMuIdx.append(idx); + else: + hardVetoLeps.append(lep); hardVetoLepsIdx.append(idx); + hardVetoMu.append(lep); hardVetoMuIdx.append(idx); + + # soft muons + tight veto + elif lep.pt > 5: + # veto for tight if pt > 10 + if lep.pt > 10: + hardVetoLeps.append(lep); hardVetoLepsIdx.append(idx); + hardVetoMu.append(lep); hardVetoMuIdx.append(idx); + # Soft leptons + # ID check + if lep.mediumMuonId == 1 and lep.sip3d < 4.0: passID = True + # iso check + if lep.pt < 15 and lep.miniRelIso < Lep_minirelisoCut: passIso = True + elif lep.pt > 15 and lep.miniRelIso < muo_minirelisoCut: passIso = True + + # fill + if passID and passIso: + softTightLeps.append(lep); softTightLepsIdx.append(idx); + softTightMu.append(lep); softTightMuIdx.append(idx); + else: + softVetoLeps.append(lep); softVetoLepsIdx.append(idx); + softVetoMu.append(lep); softVetoMuIdx.append(idx); + + # electrons + if(abs(lep.pdgId) == 11): + # pass variables + passID = False + passIso = False + passEta = False + passConv = False + + # hard: pt > 25 + if lep.pt > 25: + + # all hard leptons are veto for soft + softVetoLeps.append(lep); softVetoLepsIdx.append(idx); + softVetoEl.append(lep); softVetoElIdx.append(idx); + + # Iso check: + if lep.miniRelIso < ele_minirelisoCut: passIso = True + # Eta dependent MVA ID check: + if lepEta < 0.8 and lep.mvaIdPhys14 > goodEl_mvaPhys14_eta0p8_T: passID = True + elif lepEta >= 0.8 and lepEta < 1.44 and lep.mvaIdPhys14 > goodEl_mvaPhys14_eta1p4_T: passID = True + elif lepEta >= 1.57 and lepEta < 2.4 and lep.mvaIdPhys14 > goodEl_mvaPhys14_eta2p4_T: passID = True + # conversion check + if lep.lostHits <= goodEl_lostHits and lep.convVeto and lep.sip3d < goodEl_sip3d: passConv = True + + # fill + if passID and passIso and passConv: + hardTightLeps.append(lep); hardTightLepsIdx.append(idx); + hardTightEl.append(lep); hardTightElIdx.append(idx); + else: + hardVetoLeps.append(lep); hardVetoLepsIdx.append(idx); + hardVetoEl.append(lep); hardVetoElIdx.append(idx); + + # soft muons + tight veto + elif lep.pt > 5: + + # veto fro tight if pt > 10 + if lep.pt > 10: + hardVetoLeps.append(lep); hardVetoLepsIdx.append(idx); + hardVetoEl.append(lep); hardVetoElIdx.append(idx); + + # Soft leptons + # check eta + if (lepEta < 1.44 or lepEta >= 1.57) and lepEta < 2.4: passEta = True + + # MVA(ID+Iso) check + if lep.mvaSusy > 0.53: passID = True + # conversion check + if lep.lostHits <= goodEl_lostHits and lep.convVeto and lep.sip3d < goodEl_sip3d: passConv = True + + # fill + if passID and passEta and passConv: + softTightLeps.append(lep); softTightLepsIdx.append(idx); + softTightEl.append(lep); softTightElIdx.append(idx); + else: + softVetoLeps.append(lep); softVetoLepsIdx.append(idx); + softVetoEl.append(lep); softVetoElIdx.append(idx); + # end lepton loop + + # choose common lepton collection: select hard or soft lepton + if len(hardTightLeps) > 0: + tightLeps = hardTightLeps + tightLepsIdx = hardTightLepsIdx + vetoLeps = hardVetoLeps + vetoLepsIdx = hardVetoLepsIdx + + tightEl = hardTightEl + tightElIdx = hardTightElIdx + vetoEl = hardVetoEl + vetoElIdx = hardVetoElIdx + + tightMu = hardTightMu + tightMuIdx = hardTightMuIdx + vetoMu = hardVetoMu + vetoMuIdx = hardVetoMuIdx + + else: #if len(softTightLeps) > 0: or empty collection + tightLeps = softTightLeps + tightLepsIdx = softTightLepsIdx + vetoLeps = softVetoLeps + vetoLepsIdx = softVetoLepsIdx + + tightEl = softTightEl + tightElIdx = softTightElIdx + vetoEl = softVetoEl + vetoElIdx = softVetoElIdx + + tightMu = softTightMu + tightMuIdx = softTightMuIdx + vetoMu = softVetoMu + vetoMuIdx = softVetoMuIdx + + #initialize the dictionary with a first entry + ret = { 'nTightLeps' : len(tightLeps) } + #ret['nTightLeps'] = len(tightLeps) + ret['tightLepsIdx'] = tightLepsIdx + ret['nVetoLeps'] = len(vetoLeps) + ret['vetoLepsIdx'] = vetoLepsIdx + + ret['nTightEl'] = len(tightEl) + ret['tightElIdx'] = tightElIdx + ret['nVetoEl'] = len(vetoEl) + ret['vetoElIdx'] = vetoElIdx + + ret['nTightMu'] = len(tightMu) + ret['tightMuIdx'] = tightMuIdx + ret['nVetoMu'] = len(vetoMu) + ret['vetoMuIdx'] = vetoMuIdx + + # save leading lepton vars + if len(tightLeps) > 0: + ret['LepGood1_pt'] = tightLeps[0].pt + ret['LepGood1_eta'] = tightLeps[0].eta + ret['LepGood1_pdgId'] = tightLeps[0].pdgId + elif len(leps) > 0: # fill it with leading lepton + ret['LepGood1_pt'] = leps[0].pt + ret['LepGood1_eta'] = leps[0].eta + ret['LepGood1_pdgId'] = leps[0].pdgId + else: + ret['LepGood1_pt'] = -99 + ret['LepGood1_eta'] = -99 + ret['LepGood1_pdgId'] = -99 + + ### JETS + + centralJet30 = [] + centralJet30idx = [] + for i,j in enumerate(jets): + if j.pt>30 and abs(j.eta)80 for j in centralJet30])>=2 else 0 + + ret['htJet30j'] = sum([j.pt for j in centralJet30]) + ret['htJet30ja'] = sum([j.pt for j in jets if j.pt>30]) + + ret['HT'] = ret['htJet30j'] + + BJetCMVAMedium30 = [] + BJetCMVAMedium30idx = [] + NonBJetCMVAMedium30 = [] + for i,j in enumerate(centralJet30): + if j.btagCMVA>0.732: + BJetCMVAMedium30.append(j) + BJetCMVAMedium30idx.append(centralJet30idx[i]) + else: + NonBJetCMVAMedium30.append(j) + ret['nBJetCMVAMedium30'] = len(BJetCMVAMedium30) + ret['BJetCMVAMedium30idx'] = BJetCMVAMedium30idx + + ret['nGoodBJets'] = sum([j.btagCMVA>0.732 for j in centralJet30]) + ret['nGoodBJets_allJets'] = sum([j.btagCMVA>0.732 and j.pt>30 and abs(j.eta)=1: + recoWp4 = tightLeps[0].p4() + metp4 + dPhiLepW = tightLeps[0].p4().DeltaPhi(recoWp4) + ST = tightLeps[0].pt + event.met_pt + + ret["DeltaPhiLepW"] = dPhiLepW + ret['ST'] = ST + + ################################################################## + # The following variables need to be double-checked for validity # + ################################################################## + + # min deltaPhi between a (CMVA) b-jet and MET; needs to be double-checked + minDPhiBMET = 100 + idxMinDPhiBMET = -999 + for i, jet in enumerate(jets): + if jet.btagCMVA>0.732: + dPhiBMET = abs(jet.p4().DeltaPhi(metp4)) + if dPhiBMET=0): + SumMetClosestBJet = jets[idxMinDPhiBMET].p4() + metp4 + ret["mTClBPlusMET"] = SumMetClosestBJet.Mt() + mTBJetMET = mt_2(jets[idxMinDPhiBMET].p4(),metp4) + if ret['nTightLeps']>=1: + mLepBJet = (jets[idxMinDPhiBMET].p4() + tightLeps[0].p4()).M() + mTLepMET = mt_2(tightLeps[0].p4(),metp4) + else: + ret["mTClBPlusMET"] = -999 + + ret["mTBJetMET"] = mTBJetMET + ret["mTLepMET"] = mTLepMET + ret["mLepBJet"] = mLepBJet + + # projection of MET along (MET + lepton + (closest (to MET) BJet)) sum; needs to be double-checked... + MetZ1 = -9999 + MetZ2 = -9999 + MTW = -9999 + MW1 = -9999 + MW2 = -9999 + neutrino1 = ROOT.TLorentzVector(0,0,0,0) + neutrino2 = ROOT.TLorentzVector(0,0,0,0) + if(ret['nTightLeps']==1) : + NeutrZList = GetZfromM(tightLeps[0].p4(),metp4,81) + MTW = NeutrZList[0] + MetZ1= NeutrZList[1] + MetZ2= NeutrZList[2] + neutrino1.SetXYZM(metp4.Px(),metp4.Py(), MetZ1, 0) + neutrino2.SetXYZM(metp4.Px(),metp4.Py(), MetZ2, 0) + MW1 = (neutrino1+tightLeps[0].p4()).M() + MW2 = (neutrino2+tightLeps[0].p4()).M() + ret["MTW"] = MTW + ret["MW1"] = MW1 + ret["MW2"] = MW2 + # some extra plots + + MTbnu = [] + LepBMass = [] + MTtop = [] + Mtop = [] + METovTop = [] + METTopPhi = [] + MtopDecor = [] + + + if(ret['nTightLeps']==1) : + for i,jet in enumerate(centralJet30): #testing all jets as b-jet in top-reco + ThisMTnub = sqrt(2*event.met_pt*jet.pt* (1-cos( metp4.DeltaPhi(jet.p4() )))) + MTbnu.append(ThisMTnub) + ThislepBMass = (tightLeps[0].p4()+jet.p4()).M() + LepBMass.append(ThislepBMass ) + ThisMTtop = sqrt( 81.*81. + ThislepBMass *ThislepBMass + ThisMTnub*ThisMTnub) + MTtop.append(ThisMTtop) + ThisMetovTop = event.met_pt/(metp4+tightLeps[0].p4()+jet.p4()).Pt() + METovTop.append(ThisMetovTop) + ThisMetTop = metp4.DeltaPhi(metp4+tightLeps[0].p4()+jet.p4()) + METTopPhi.append(ThisMetTop) + ThisMtop = (neutrino1+tightLeps[0].p4()+jet.p4()).M() + if(ThisMtop>(neutrino2+tightLeps[0].p4()+jet.p4()).M()): ThisMtop = (neutrino2+tightLeps[0].p4()+jet.p4()).M() #take smaller mtop of the two nu pz-solutions + Mtop.append(ThisMtop) + ThisMtopDecor = sqrt((tightLeps[0].p4()+jet.p4()).M()*(tightLeps[0].p4()+jet.p4()).M()+ (neutrino1+jet.p4()).M()*(neutrino1+jet.p4()).M()+81*81) + if ThisMtopDecor > sqrt((tightLeps[0].p4()+jet.p4()).M()*(tightLeps[0].p4()+jet.p4()).M()+ (neutrino2+jet.p4()).M()*(neutrino2+jet.p4()).M()+81*81): + ThisMtopDecor = sqrt((tightLeps[0].p4()+jet.p4()).M()*(tightLeps[0].p4()+jet.p4()).M()+ (neutrino2+jet.p4()).M()*(neutrino2+jet.p4()).M()+81*81) + MtopDecor.append(ThisMtopDecor) + + + ret["MTbnu"] =MTbnu + ret["LepBMass"]=LepBMass + ret["MTtop"]=MTtop + ret["Mtop"]=Mtop + ret["METovTop"]=METovTop + ret["METTopPhi"]=METTopPhi + ret["MtopDecor"]=MtopDecor + + # TopVarsJetIdx = [] + TopVarsMTbnuMin = [] + TopVarsLepBMassMin = [] + TopVarsMTtopMin = [] + TopVarsMtopMin = [] + TopVarsMETovTopMin = [] + TopVarsMtopDecorMin = [] + + + iBTagDict = {i: jets[idx].btagCMVA for i, idx in enumerate(centralJet30idx)} + sortIdsByBTag = sorted(iBTagDict.items(), key=operator.itemgetter(1), reverse=True) + bTaggedJetsSorted = sortIdsByBTag[:ret['nBJetCMVAMedium30']] + # print bTaggedJetsSorted + bTaggedJetsPPSorted = sortIdsByBTag[:ret['nBJetCMVAMedium30']+1] + # print bTaggedJetsPPSorted + ThreeBestBTags = sortIdsByBTag[:3] + # print ThreeBestBTags + # print sortIdsByBTag + + if(ret['nTightLeps']==1) : + TopVarsMTbnuMin .append(minValueForIdxList(MTbnu , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsLepBMassMin .append(minValueForIdxList(LepBMass , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsMTtopMin .append(minValueForIdxList(MTtop , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsMtopMin .append(minValueForIdxList(Mtop , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsMETovTopMin .append(minValueForIdxList(METovTop , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsMtopDecorMin .append(minValueForIdxList(MtopDecor , [ids[0] for ids in bTaggedJetsSorted])) + + TopVarsMTbnuMin .append(minValueForIdxList(MTbnu , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsLepBMassMin .append(minValueForIdxList(LepBMass , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsMTtopMin .append(minValueForIdxList(MTtop , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsMtopMin .append(minValueForIdxList(Mtop , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsMETovTopMin .append(minValueForIdxList(METovTop , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsMtopDecorMin .append(minValueForIdxList(MtopDecor , [ids[0] for ids in bTaggedJetsPPSorted])) + + TopVarsMTbnuMin .append(minValueForIdxList(MTbnu , [ids[0] for ids in ThreeBestBTags])) + TopVarsLepBMassMin .append(minValueForIdxList(LepBMass , [ids[0] for ids in ThreeBestBTags])) + TopVarsMTtopMin .append(minValueForIdxList(MTtop , [ids[0] for ids in ThreeBestBTags])) + TopVarsMtopMin .append(minValueForIdxList(Mtop , [ids[0] for ids in ThreeBestBTags])) + TopVarsMETovTopMin .append(minValueForIdxList(METovTop , [ids[0] for ids in ThreeBestBTags])) + TopVarsMtopDecorMin .append(minValueForIdxList(MtopDecor , [ids[0] for ids in ThreeBestBTags])) + + + + mcMatchIdLep = tightLeps[0].mcMatchId + iCorrectJet=-999 + correctJetBTagged = False + if abs(mcMatchIdLep)==6: + for i,jet in enumerate(centralJet30): + if abs(jet.mcFlavour)==5 and jet.mcMatchId==mcMatchIdLep: + iCorrectJet=i + if jet.btagCMVA>0.732: correctJetBTagged=True + + TopVarsMTbnuMin .append(MTbnu [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsLepBMassMin .append(LepBMass [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsMTtopMin .append(MTtop [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsMtopMin .append(Mtop [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsMETovTopMin .append(METovTop [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsMtopDecorMin .append(MtopDecor [iCorrectJet] if iCorrectJet>-999 else -999) + + foundCorrectBJetAndIsTagged = iCorrectJet>-999 and correctJetBTagged + + TopVarsMTbnuMin .append(MTbnu [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsLepBMassMin .append(LepBMass [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsMTtopMin .append(MTtop [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsMtopMin .append(Mtop [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsMETovTopMin .append(METovTop [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsMtopDecorMin .append(MtopDecor [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + + + for i,jet in enumerate(centralJet30): #testing all jets as b-jet in top-reco + if centralJet30idx[i]==idxMinDPhiBMET: + TopVarsMTbnuMin .append(MTbnu [i] if idxMinDPhiBMET!=-999 else -999) + TopVarsLepBMassMin .append(LepBMass [i] if idxMinDPhiBMET!=-999 else -999) + TopVarsMTtopMin .append(MTtop [i] if idxMinDPhiBMET!=-999 else -999) + TopVarsMtopMin .append(Mtop [i] if idxMinDPhiBMET!=-999 else -999) + TopVarsMETovTopMin .append(METovTop [i] if idxMinDPhiBMET!=-999 else -999) + TopVarsMtopDecorMin .append(MtopDecor[i] if idxMinDPhiBMET!=-999 else -999) + + else: + for i in range(6): + TopVarsMTbnuMin .append(-999) + TopVarsLepBMassMin .append(-999) + TopVarsMTtopMin .append(-999) + TopVarsMtopMin .append(-999) + TopVarsMETovTopMin .append(-999) + TopVarsMtopDecorMin .append(-999) + + + ret["nBMinVariantsTopVars"]=6 + + ret["TopVarsMTbnuMin"] =TopVarsMTbnuMin + ret["TopVarsLepBMassMin"] =TopVarsLepBMassMin + ret["TopVarsMTtopMin"] =TopVarsMTtopMin + ret["TopVarsMtopMin"] =TopVarsMtopMin + ret["TopVarsMETovTopMin"] =TopVarsMETovTopMin + ret["TopVarsMtopDecorMin"]=TopVarsMtopDecorMin + + + centralJet30_DescFlag = [] + tightLeps_DescFlag = [] + + for i,l in enumerate(tightLeps): + if abs(l.mcMatchId)==6: tightLeps_DescFlag.append(1) #top + elif abs(l.mcMatchId)==24: tightLeps_DescFlag.append(2) #W-boson + else: tightLeps_DescFlag.append(0) + + for i,j in enumerate(centralJet30): + if abs(j.mcMatchId)==6: + if len(genleps)>0 and abs(genleps[0].sourceId) ==6 and abs(j.mcFlavour)==5: + if j.mcMatchId==genleps[0].sourceId: + centralJet30_DescFlag.append(genleps[0].charge) + else: + centralJet30_DescFlag.append(2) + elif abs(j.mcFlavour) not in [0,5,21]: + centralJet30_DescFlag.append(3) + else: centralJet30_DescFlag.append(-999) #; print "should not happen..." + else: centralJet30_DescFlag.append(0) + + + ret["centralJet30_DescFlag"]=centralJet30_DescFlag + ret["tightLeps_DescFlag"]=tightLeps_DescFlag + + #add topness and mt2W-variable (timing issue with topness: slows down the friend tree production by a factor of ~3) + ret['Topness']=-999 + mt2w_values=[] + if ret['nTightLeps']>=1: #topness and mt2w only make sense for + lep = getPhysObjectArray(tightLeps[0]) + if ret['nBJetCMVAMedium30']==0 and ret['nCentralJet30']>=3: #All combinations from the highest three light (or b-) jets + consideredJets = [ getPhysObjectArray(jet) for jet in NonBJetCMVAMedium30[:3] ] # only throw arrays into the permutation business + ftPerms = itertools.permutations(consideredJets, 2) + for perm in ftPerms: + mt2wSNT.set_momenta(lep, perm[0], perm[1], pmiss) + mt2w_values.append(mt2wSNT.get_mt2w()) + elif ret['nBJetCMVAMedium30']==1 and ret['nCentralJet30']>=2: #All combinations from one b and the highest two light jets + consideredJets = [ getPhysObjectArray(jet) for jet in NonBJetCMVAMedium30[:2] ] # only throw arrays into the permutation business + consideredJets.append(getPhysObjectArray(BJetCMVAMedium30[0])) + ftPerms = itertools.permutations(consideredJets, 2) + for perm in ftPerms: + mt2wSNT.set_momenta(lep, perm[0], perm[1], pmiss) + mt2w_values.append(mt2wSNT.get_mt2w()) + elif ret['nBJetCMVAMedium30']==2: + consideredJets = [ getPhysObjectArray(jet) for jet in BJetCMVAMedium30[:2] ] # only throw arrays into the permutation business + ftPerms = itertools.permutations(consideredJets, 2) + for perm in ftPerms: + mt2wSNT.set_momenta(lep, perm[0], perm[1], pmiss) + mt2w_values.append(mt2wSNT.get_mt2w()) + elif ret['nBJetCMVAMedium30']>=3: #All combinations from the highest three b jets + consideredJets = [ getPhysObjectArray(jet) for jet in BJetCMVAMedium30[:3] ] # only throw arrays into the permutation business + ftPerms = itertools.permutations(consideredJets, 2) + for perm in ftPerms: + mt2wSNT.set_momenta(lep, perm[0], perm[1], pmiss) + mt2w_values.append(mt2wSNT.get_mt2w()) + + # does not seem to work for njet =3 ??! # need to edit btag working point in the code...!! did not quickly find a twiki with official phys14 cmva working points + if (ret['nCentralJet30']>=3) and (ret['nBJetCMVAMedium30']>=1) : + + p4_jets = std.vector(TLorentzVector)(); + bdisc_jets = std.vector('float')(); + + for jet in centralJet30: + jetTLorentz = ROOT.TLorentzVector(0,0,0,0) + jetTLorentz.SetPtEtaPhiM(jet.pt, jet.eta, jet.phi, jet.mass) + p4_jets.push_back(jetTLorentz) + bdisc_jets.push_back(jet.btagCMVA) + + lepTLorentz = ROOT.TLorentzVector(0,0,0,0) + lepTLorentz.SetPtEtaPhiM(tightLeps[0].pt, tightLeps[0].eta, tightLeps[0].phi, tightLeps[0].mass) + + # calc topness + tempTopness = topness.GetTopness(p4_jets,bdisc_jets,lepTLorentz,metp4) #this is really slow! + if tempTopness <=0: + print tempTopness, "this will fail" + ret['Topness'] = -999 + else: + ret['Topness'] = log(tempTopness) #this is really slow! + + if len(mt2w_values)>0: + ret["MT2W"]=min(mt2w_values) + else: + ret["MT2W"]=-999 + + ret['nHighPtTopTag']=0 + ret['nHighPtTopTagPlusTau23']=0 + for i,j in enumerate(fatjets): + if j.nSubJets >2 and j.minMass>50 and j.topMass>140 and j.topMass<250: + ret['nHighPtTopTag'] += 1 + if j.tau3/j.tau2 < 0.6: + ret['nHighPtTopTagPlusTau23'] += 1 + + return ret + +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf = EventVars1L() + def analyze(self,ev): + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) + print self.sf(ev) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) diff --git a/CMGTools/TTHAnalysis/python/tools/eventVars_1l_base.py b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_base.py new file mode 100644 index 000000000000..e1c7595d10ef --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_base.py @@ -0,0 +1,409 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from ROOT import TLorentzVector, TVector2, std +import ROOT +import time +import itertools +import PhysicsTools.Heppy.loadlibs +import array +import operator + +def getPhysObjectArray(j): # https://github.com/HephySusySW/Workspace/blob/72X-master/RA4Analysis/python/mt2w.py + px = j.pt*cos(j.phi ) + py = j.pt*sin(j.phi ) + pz = j.pt*sinh(j.eta ) + E = sqrt(px*px+py*py+pz*pz) #assuming massless particles... + return array.array('d', [E, px, py,pz]) + +class EventVars1L_base: + def __init__(self): + self.branches = [ + 'Run','Event','Lumi','Xsec', + ("nTightLeps","I"),("tightLepsIdx","I",10,"nTightLeps"),("nVetoLeps","I"),("vetoLepsIdx","I",10,"nVetoLeps"), + ("tightLeps_DescFlag","I",10,"nTightLeps"), + ("nTightEl","I"),("tightElIdx","I",10,"nTightEl"),("nVetoEl","I"),("vetoElIdx","I",10,"nVetoEl"), + ("nTightMu","I"),("tightMuIdx","I",10,"nTightMu"),("nVetoMu","I"),("vetoMuIdx","I",10,"nVetoMu"), + 'LepGood1_pdgId','LepGood1_eta','LepGood1_phi','Lp', + "MET", "DeltaPhiLepW", + 'HT','ST','LepGood1_pt', + ("nCentralJet30","I"),("centralJet30idx","I",100,"nCentralJet30"),("centralJet30_DescFlag","F",100,"nCentralJet30"), + ("nBJetMedium30","I"),("BJetMedium30idx","I",50,"nBJetMedium30"), + "nGoodBJets_allJets", "nGoodBJets", + "LSLjetptGT80", "htJet30j", "htJet30ja", + "nHighPtTopTag", "nHighPtTopTagPlusTau23" + ] + + def listBranches(self): + return self.branches[:] + + + def __call__(self,event,keyvals): + + # prepare output + #ret = dict([(name,-999.0) for name in self.branches]) + ret = {} + for name in self.branches: + if type(name) == 'tuple': + ret[name] = [] + elif type(name) == 'str': + ret[name] = -999 + + # copy basic event info: + ret['Run'] = event.run + ret['Event'] = event.evt + ret['Lumi'] = event.lumi + ret['Xsec'] = event.xsec + + # make python lists as Collection does not support indexing in slices + genleps = [l for l in Collection(event,"genLep","ngenLep")] + genparts = [l for l in Collection(event,"GenPart","nGenPart")] + + leps = [l for l in Collection(event,"LepGood","nLepGood")] + jets = [j for j in Collection(event,"Jet","nJet")] + + fatjets = [j for j in Collection(event,"FatJet","nFatJet")] + + njet = len(jets); nlep = len(leps) + + metp4 = ROOT.TLorentzVector(0,0,0,0) + metp4.SetPtEtaPhiM(event.met_pt,event.met_eta,event.met_phi,event.met_mass) + pmiss =array.array('d',[event.met_pt * cos(event.met_phi), event.met_pt * sin(event.met_phi)] ) + + #isolation criteria as defined for PHYS14 1l synchronisation exercise + centralEta = 2.4 + + ele_minirelisoCut = 0.1 + muo_minirelisoCut = 0.2 + Lep_minirelisoCut = 0.4 + + goodEl_lostHits = 0 + goodEl_sip3d = 4 + + goodEl_mvaPhys14_eta0p8_T = 0.73; + goodEl_mvaPhys14_eta1p4_T = 0.57; + goodEl_mvaPhys14_eta2p4_T = 0.05; + + ### LEPTONS + + hardTightLeps = [] + hardTightLepsIdx = [] + hardVetoLeps = [] + hardVetoLepsIdx = [] + + softTightLeps = [] + softTightLepsIdx = [] + softVetoLeps = [] + softVetoLepsIdx = [] + + hardTightMu = [] + hardTightMuIdx = [] + hardVetoMu = [] + hardVetoMuIdx = [] + + softTightMu = [] + softTightMuIdx = [] + softVetoMu = [] + softVetoMuIdx = [] + + hardTightEl = [] + hardTightElIdx = [] + hardVetoEl = [] + hardVetoElIdx = [] + + softTightEl = [] + softTightElIdx = [] + softVetoEl = [] + softVetoElIdx = [] + + for idx,lep in enumerate(leps): + + # check acceptance + lepEta = abs(lep.eta) + + if(lepEta > 2.5): continue + + # muons + if(abs(lep.pdgId) == 13): + # pass variables + passID = False + passIso = False + + # hard: pt > 25 + if lep.pt > 25: + + # all hard leptons are veto for soft + softVetoLeps.append(lep); softVetoLepsIdx.append(idx); + softVetoMu.append(lep); softVetoMuIdx.append(idx); + + # ID and Iso check: + if lep.mediumMuonId == 1 and lep.sip3d < 4.0: passID = True + if lep.miniRelIso < muo_minirelisoCut: passIso = True + + # fill + if passID and passIso: + hardTightLeps.append(lep); hardTightLepsIdx.append(idx); + hardTightMu.append(lep); hardTightMuIdx.append(idx); + else: + hardVetoLeps.append(lep); hardVetoLepsIdx.append(idx); + hardVetoMu.append(lep); hardVetoMuIdx.append(idx); + + # soft muons + tight veto + elif lep.pt > 5: + # veto for tight if pt > 10 + if lep.pt > 10: + hardVetoLeps.append(lep); hardVetoLepsIdx.append(idx); + hardVetoMu.append(lep); hardVetoMuIdx.append(idx); + # Soft leptons + # ID check + if lep.mediumMuonId == 1 and lep.sip3d < 4.0: passID = True + # iso check + if lep.pt < 15 and lep.miniRelIso < Lep_minirelisoCut: passIso = True + elif lep.pt > 15 and lep.miniRelIso < muo_minirelisoCut: passIso = True + + # fill + if passID and passIso: + softTightLeps.append(lep); softTightLepsIdx.append(idx); + softTightMu.append(lep); softTightMuIdx.append(idx); + else: + softVetoLeps.append(lep); softVetoLepsIdx.append(idx); + softVetoMu.append(lep); softVetoMuIdx.append(idx); + + # electrons + if(abs(lep.pdgId) == 11): + # pass variables + passID = False + passIso = False + passEta = False + passConv = False + + # hard: pt > 25 + if lep.pt > 25: + + # all hard leptons are veto for soft + softVetoLeps.append(lep); softVetoLepsIdx.append(idx); + softVetoEl.append(lep); softVetoElIdx.append(idx); + + # Iso check: + if lep.miniRelIso < ele_minirelisoCut: passIso = True + # Eta dependent MVA ID check: + if lepEta < 0.8 and lep.mvaIdPhys14 > goodEl_mvaPhys14_eta0p8_T: passID = True + elif lepEta >= 0.8 and lepEta < 1.44 and lep.mvaIdPhys14 > goodEl_mvaPhys14_eta1p4_T: passID = True + elif lepEta >= 1.57 and lepEta < 2.4 and lep.mvaIdPhys14 > goodEl_mvaPhys14_eta2p4_T: passID = True + # conversion check + if lep.lostHits <= goodEl_lostHits and lep.convVeto and lep.sip3d < goodEl_sip3d: passConv = True + + # fill + if passID and passIso and passConv: + hardTightLeps.append(lep); hardTightLepsIdx.append(idx); + hardTightEl.append(lep); hardTightElIdx.append(idx); + else: + hardVetoLeps.append(lep); hardVetoLepsIdx.append(idx); + hardVetoEl.append(lep); hardVetoElIdx.append(idx); + + # soft muons + tight veto + elif lep.pt > 5: + + # veto fro tight if pt > 10 + if lep.pt > 10: + hardVetoLeps.append(lep); hardVetoLepsIdx.append(idx); + hardVetoEl.append(lep); hardVetoElIdx.append(idx); + + # Soft leptons + # check eta + if (lepEta < 1.44 or lepEta >= 1.57) and lepEta < 2.4: passEta = True + + # MVA(ID+Iso) check + if lep.mvaSusy > 0.53: passID = True + # conversion check + if lep.lostHits <= goodEl_lostHits and lep.convVeto and lep.sip3d < goodEl_sip3d: passConv = True + + # fill + if passID and passEta and passConv: + softTightLeps.append(lep); softTightLepsIdx.append(idx); + softTightEl.append(lep); softTightElIdx.append(idx); + else: + softVetoLeps.append(lep); softVetoLepsIdx.append(idx); + softVetoEl.append(lep); softVetoElIdx.append(idx); + # end lepton loop + + # choose common lepton collection: select hard or soft lepton + if len(hardTightLeps) > 0: + tightLeps = hardTightLeps + tightLepsIdx = hardTightLepsIdx + vetoLeps = hardVetoLeps + vetoLepsIdx = hardVetoLepsIdx + + tightEl = hardTightEl + tightElIdx = hardTightElIdx + vetoEl = hardVetoEl + vetoElIdx = hardVetoElIdx + + tightMu = hardTightMu + tightMuIdx = hardTightMuIdx + vetoMu = hardVetoMu + vetoMuIdx = hardVetoMuIdx + + else: #if len(softTightLeps) > 0: or empty collection + tightLeps = softTightLeps + tightLepsIdx = softTightLepsIdx + vetoLeps = softVetoLeps + vetoLepsIdx = softVetoLepsIdx + + tightEl = softTightEl + tightElIdx = softTightElIdx + vetoEl = softVetoEl + vetoElIdx = softVetoElIdx + + tightMu = softTightMu + tightMuIdx = softTightMuIdx + vetoMu = softVetoMu + vetoMuIdx = softVetoMuIdx + + #ret = { 'nTightLeps' : len(tightLeps) } + ret['nTightLeps'] = len(tightLeps) + ret['tightLepsIdx'] = tightLepsIdx + ret['nVetoLeps'] = len(vetoLeps) + ret['vetoLepsIdx'] = vetoLepsIdx + + ret['nTightEl'] = len(tightEl) + ret['tightElIdx'] = tightElIdx + ret['nVetoEl'] = len(vetoEl) + ret['vetoElIdx'] = vetoElIdx + + ret['nTightMu'] = len(tightMu) + ret['tightMuIdx'] = tightMuIdx + ret['nVetoMu'] = len(vetoMu) + ret['vetoMuIdx'] = vetoMuIdx + + # save leading lepton vars + + if len(tightLeps) > 0: + ret['LepGood1_pt'] = tightLeps[0].pt + ret['LepGood1_eta'] = tightLeps[0].eta + ret['LepGood1_phi'] = tightLeps[0].phi + ret['LepGood1_pdgId'] = tightLeps[0].pdgId + elif len(leps) > 0: # fill it with leading lepton + ret['LepGood1_pt'] = leps[0].pt + ret['LepGood1_eta'] = leps[0].eta + ret['LepGood1_phi'] = leps[0].phi + ret['LepGood1_pdgId'] = leps[0].pdgId + + ### JETS + + centralJet30 = [] + centralJet30idx = [] + for i,j in enumerate(jets): + if j.pt>30 and abs(j.eta)80 for j in centralJet30])>=2 else 0 + + ret['htJet30j'] = sum([j.pt for j in centralJet30]) + ret['htJet30ja'] = sum([j.pt for j in jets if j.pt>30]) + + ret['HT'] = ret['htJet30j'] + + ## B tagging WPs for CSVv2 (CSV-IVF) + ## L: 0.423, M: 0.814, T: 0.941 + ## from: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideBTagging#Preliminary_working_or_operating + + bTagWP = 0.814 # MediumWP for CSVv2 + #bTagWP = 0.732 # MediumWP for CMVA + + BJetMedium30 = [] + BJetMedium30idx = [] + + for i,j in enumerate(centralJet30): + if j.btagCSV>bTagWP: + BJetMedium30.append(j) + BJetMedium30idx.append(centralJet30idx[i]) + + ret['nBJetMedium30'] = len(BJetMedium30) + ret['BJetMedium30idx'] = BJetMedium30idx + + ret['nGoodBJets'] = sum([j.btagCSV > bTagWP for j in centralJet30]) + ret['nGoodBJets_allJets'] = sum([j.btagCSV > bTagWP and j.pt>30 and abs(j.eta)=1: + recoWp4 = tightLeps[0].p4() + metp4 + dPhiLepW = tightLeps[0].p4().DeltaPhi(recoWp4) + Lp = tightLeps[0].pt / recoWp4.Pt() * cos(dPhiLepW) + ST = tightLeps[0].pt + event.met_pt + + ret["DeltaPhiLepW"] = dPhiLepW + ret['ST'] = ST + ret['Lp'] = Lp + + centralJet30_DescFlag = [] + tightLeps_DescFlag = [] + + for i,l in enumerate(tightLeps): + if abs(l.mcMatchId)==6: tightLeps_DescFlag.append(1) #top + elif abs(l.mcMatchId)==24: tightLeps_DescFlag.append(2) #W-boson + else: tightLeps_DescFlag.append(0) + + topDecayMode = -999 #0: hadronic; 1: leptonic + antiTopDecayMode = -999 #0: hadronic; 1: leptonic + for g in genparts: + if g.grandmotherId == 6 and abs(g.pdgId)>10 and abs(g.pdgId)<17: topDecayMode=1 + elif g.grandmotherId == 6 and abs(g.pdgId)<6: topDecayMode=0 + elif g.grandmotherId == -6 and abs(g.pdgId)>10 and abs(g.pdgId)<17: antiTopDecayMode=1 + elif g.grandmotherId == -6 and abs(g.pdgId)<6: antiTopDecayMode=0 + elif abs(g.grandmotherId) == 6 and not g.pdgId==22: print "SOMETHING GOING WRONG!!! W-boson should decay to either quarks or leptons (or radiate photons); g.pdgId", g.pdgId + + for i,j in enumerate(centralJet30): + if abs(j.mcMatchId)==6: + if abs(j.mcFlavour)==5: + if j.mcMatchId==6 and topDecayMode==1: + centralJet30_DescFlag.append(1) # leptonic decay, positively charged W + elif j.mcMatchId==-6 and antiTopDecayMode==1: + centralJet30_DescFlag.append(-1) # leptonic decay, negatively charged W + else: + centralJet30_DescFlag.append(2) # hadronic decay + elif abs(j.mcFlavour) not in [0,5,21]: + centralJet30_DescFlag.append(3) + else: centralJet30_DescFlag.append(-999) #; print "should not happen..." + else: centralJet30_DescFlag.append(0) + + ret["centralJet30_DescFlag"]=centralJet30_DescFlag + ret["tightLeps_DescFlag"]=tightLeps_DescFlag + + # for FatJets + ret['nHighPtTopTag']=0 + ret['nHighPtTopTagPlusTau23']=0 + + fatjets = [j for j in Collection(event,"FatJet","nFatJet")] + for i,j in enumerate(fatjets): + if j.nSubJets >2 and j.minMass>50 and j.topMass>140 and j.topMass<250: + ret['nHighPtTopTag'] += 1 + if j.tau3 < 0.6 * j.tau2: # instead of division + ret['nHighPtTopTagPlusTau23'] += 1 + + return ret + +# Main function for test +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf = EventVars1L_base() + def analyze(self,ev): + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) + print self.sf(ev,{}) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) diff --git a/CMGTools/TTHAnalysis/python/tools/eventVars_1l_bkgDilep.py b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_bkgDilep.py new file mode 100644 index 000000000000..717d2146230d --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_bkgDilep.py @@ -0,0 +1,170 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from ROOT import TLorentzVector, TVector2, std, TRandom2 +import ROOT +import time +import itertools +import PhysicsTools.Heppy.loadlibs +import array +import operator + + +def minValueForIdxList(values,idxlist): + cleanedValueList = [val for i,val in enumerate(values) if i in idxlist] + if len(cleanedValueList)>0: return min(cleanedValueList) + else: return -999 + + +class EventVars1L_bkgDilep: + def __init__(self): + self.branches = [ + "DL_LepGoodOne_pt", "DL_l1l2ovMET", "DL_Vecl1l2ovMET", "DL_DPhil1l2", + ("nLostLepTreatments","I"), + ("DL_ST","F",10,"nLostLepTreatments"),("DL_dPhiLepW","F",10,"nLostLepTreatments") + + ] + + + def listBranches(self): + return self.branches[:] + + def __call__(self,event,base = {}): + + # prepare output + ret = {} + for name in self.branches: + if type(name) == 'tuple': + ret[name] = [] + elif type(name) == 'str': + ret[name] = -999.0 + + # get some collections from initial tree + leps = [l for l in Collection(event,"LepGood","nLepGood")] + jets = [j for j in Collection(event,"Jet","nJet")] + + njet = len(jets); nlep = len(leps) + + # MET + metp4 = ROOT.TLorentzVector(0,0,0,0) + metp4.SetPtEtaPhiM(event.met_pt,event.met_eta,event.met_phi,event.met_mass) + pmiss =array.array('d',[event.met_pt * cos(event.met_phi), event.met_pt * sin(event.met_phi)] ) + + #################################### + # import output from previous step # + #base = keyvals + #################################### + + # get selected leptons + tightLeps = [] + tightLepsIdx = base['tightLepsIdx'] + tightLeps = [leps[idx] for idx in tightLepsIdx] + nTightLeps = len(tightLeps) + + # get selected jets + centralJet30 = [] + centralJet30idx = base['centralJet30idx'] + centralJet30 = [jets[idx] for idx in centralJet30idx] + nCentralJet30 = len(centralJet30) + + # B jets + BJetMedium30 = [] + BJetMedium30idx = base['BJetMedium30idx'] + nBJetMedium30 = base['nBJetMedium30'] + + ''' + for idx,jet in enumerate(centralJet30): + if idx in BJetMedium30idx: + BJetMedium30.append(jet) + ''' + + #print 'here',event.evt, nTightLeps, len(centralJet30), nBJetMedium30 + + ################################################################## + # The following variables need to be double-checked for validity # + ################################################################## + + ## B tagging WPs for CSVv2 (CSV-IVF) + ## L: 0.423, M: 0.814, T: 0.941 + ## from: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideBTagging#Preliminary_working_or_operating + + bTagWP = 0.814 # MediumWP for CSVv2 + #bTagWP = 0.732 # MediumWP for CMVA + + + # deltaPhi between the (single) lepton and the reconstructed W (lep + MET) + # ST of lepton and MET + DL_ST = [] + DL_dPhiLepW = [] + + + LepToKeep_pt = -999 + l1l2ovMET = -999 + Vecl1l2ovMET = -999 + + DPhil1l2 = -999 + + if len(tightLeps)==2: + passPreSel = False + SumP4 = tightLeps[0].p4()+tightLeps[1].p4() + if tightLeps[0].charge!=tightLeps[1].charge: passPreSel= True + if tightLeps[0].pdgId==-tightLeps[1].pdgId and abs(SumP4.M()-91.2)<10.: passPreSel= False + + if passPreSel: + random = TRandom2(event.evt*event.lumi) + uniform01 = random.Rndm() + lepToKeep = int(uniform01>0.5) + lepToDiscard = int(not lepToKeep) + + Met2D = TVector2(metp4.Px(),metp4.Py()) + LepToDiscard2D = TVector2(tightLeps[lepToDiscard].p4().Px(), tightLeps[lepToDiscard].p4().Py()) + LepToKeep2D = TVector2(tightLeps[lepToKeep].p4().Px(), tightLeps[lepToKeep].p4().Py()) + + Met2D_AddFull = Met2D + LepToDiscard2D + Met2D_AddThird = Met2D + (1/3.*LepToDiscard2D) + LepToKeep_pt = LepToKeep2D.Mod() + + recoWp4 = LepToKeep2D + Met2D + DL_dPhiLepW.append(LepToKeep2D.DeltaPhi(recoWp4)) # [0]: not adding leptons to MET + DL_ST.append(LepToKeep2D.Mod() + Met2D.Mod()) + + recoWp4_AddFull = LepToKeep2D + Met2D_AddFull + DL_dPhiLepW.append(LepToKeep2D.DeltaPhi(recoWp4_AddFull))# [0]: adding lost lepton pt to met + DL_ST.append(LepToKeep2D.Mod() + Met2D_AddFull.Mod()) + + recoWp4_AddThird = LepToKeep2D + Met2D_AddThird + DL_dPhiLepW.append(LepToKeep2D.DeltaPhi(recoWp4_AddThird))# [2]: adding 1/3 of lepton ptto met + DL_ST.append(LepToKeep2D.Mod() + Met2D_AddThird.Mod()) + + l1l2ovMET = (tightLeps[0].pt + tightLeps[1].pt)/metp4.Pt() + Vecl1l2ovMET = (LepToKeep2D + LepToDiscard2D).Mod()/metp4.Pt() + + DPhil1l2 = LepToKeep2D.DeltaPhi(LepToDiscard2D) + + ret["nLostLepTreatments"]=3 + if len(DL_ST)!=ret["nLostLepTreatments"]: + for i in range(0,ret["nLostLepTreatments"]): + DL_ST.append(-999) + DL_dPhiLepW.append(-999) + + ret["DL_ST"] =DL_ST + ret["DL_dPhiLepW"] = DL_dPhiLepW + + ret['DL_LepGoodOne_pt'] = LepToKeep_pt + ret['DL_l1l2ovMET'] = l1l2ovMET + ret['DL_Vecl1l2ovMET'] = Vecl1l2ovMET + ret['DL_DPhil1l2'] = DPhil1l2 + + return ret + +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf = EventVars1L_bkgDilep() + def analyze(self,ev): + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) + print self.sf(ev,{}) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) diff --git a/CMGTools/TTHAnalysis/python/tools/eventVars_1l_extra.py b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_extra.py new file mode 100644 index 000000000000..1fbbc1d18278 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_extra.py @@ -0,0 +1,185 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from ROOT import TLorentzVector, TVector2, std +import ROOT +import time +import itertools +import PhysicsTools.Heppy.loadlibs +import array +import operator + +ROOT.gInterpreter.GenerateDictionary("vector","TLorentzVector.h;vector") #need this to be able to use topness code + +mt2wSNT = ROOT.heppy.mt2w_bisect.mt2w() + +## TOPNESS SETUP ## +topness = ROOT.Topness.Topness() + +## B tag Working points +## For Topness only Tight is used + +## CSV (v1) WPs +#topness.bDisc_LooseWP = 0.244 +#topness.bDisc_TightWP = 0.679 + +## CMVA +#topness.bDisc_LooseWP = 0.244 +#topness.bDisc_TightWP = 0.762 + +## CSV v2 (CSV-IVF) +topness.bDisc_LooseWP = 0.423 +topness.bDisc_TightWP = 0.814 # CSVv2 Medium WP +#topness.bDisc_TightWP = 0.941 # CSVv2 Tight WP + +def getPhysObjectArray(j): # https://github.com/HephySusySW/Workspace/blob/72X-master/RA4Analysis/python/mt2w.py + px = j.pt*cos(j.phi ) + py = j.pt*sin(j.phi ) + pz = j.pt*sinh(j.eta ) + E = sqrt(px*px+py*py+pz*pz) #assuming massless particles... + return array.array('d', [E, px, py,pz]) + +class EventVars1L_extra: + def __init__(self): + self.branches = [ "MT2W", "Topness" ,'TopnessTwoCorrectBFromTop'] + + def listBranches(self): + return self.branches[:] + + def __call__(self,event,base): + + # output dict: + ret = {} + + # get some collections from initial tree + leps = [l for l in Collection(event,"LepGood","nLepGood")] + jets = [j for j in Collection(event,"Jet","nJet")] + + njet = len(jets); nlep = len(leps) + + # MET + metp4 = ROOT.TLorentzVector(0,0,0,0) + metp4.SetPtEtaPhiM(event.met_pt,event.met_eta,event.met_phi,event.met_mass) + pmiss =array.array('d',[event.met_pt * cos(event.met_phi), event.met_pt * sin(event.met_phi)] ) + + #################################### + # import output from previous step # + #base = keyvals + #################################### + + # get selected leptons + tightLeps = [] + tightLepsIdx = base['tightLepsIdx'] + tightLeps = [leps[idx] for idx in tightLepsIdx] + nTightLeps = len(tightLeps) + + # get selected jets + centralJet30 = [] + centralJet30idx = base['centralJet30idx'] + centralJet30_DescFlag = base['centralJet30_DescFlag'] + centralJet30 = [jets[idx] for idx in centralJet30idx] + nCentralJet30 = len(centralJet30) + + # B jets + BJetMedium30 = [] + BJetMedium30idx = base['BJetMedium30idx'] + NonBJetMedium30 = [] + nBJetMedium30 = base['nBJetMedium30'] + + for idx,jet in enumerate(jets): + if idx in BJetMedium30idx: + BJetMedium30.append(jet) + else: + NonBJetMedium30.append(jet) + + ################################################################## + # The following variables need to be double-checked for validity # + ################################################################## + + #add topness and mt2W-variable (timing issue with topness: slows down the friend tree production by a factor of ~3) + mt2w_values=[] + + if nTightLeps>=1: #topness and mt2w only make sense for + lep = getPhysObjectArray(tightLeps[0]) + if nBJetMedium30==0 and nCentralJet30>=3: #All combinations from the highest three light (or b-) jets + consideredJets = [ getPhysObjectArray(jet) for jet in NonBJetMedium30[:3] ] # only throw arrays into the permutation business + ftPerms = itertools.permutations(consideredJets, 2) + for perm in ftPerms: + mt2wSNT.set_momenta(lep, perm[0], perm[1], pmiss) + mt2w_values.append(mt2wSNT.get_mt2w()) + elif nBJetMedium30==1 and nCentralJet30>=2: #All combinations from one b and the highest two light jets + consideredJets = [ getPhysObjectArray(jet) for jet in NonBJetMedium30[:2] ] # only throw arrays into the permutation business + consideredJets.append(getPhysObjectArray(BJetMedium30[0])) + ftPerms = itertools.permutations(consideredJets, 2) + for perm in ftPerms: + mt2wSNT.set_momenta(lep, perm[0], perm[1], pmiss) + mt2w_values.append(mt2wSNT.get_mt2w()) + elif nBJetMedium30==2: + consideredJets = [ getPhysObjectArray(jet) for jet in BJetMedium30[:2] ] # only throw arrays into the permutation business + ftPerms = itertools.permutations(consideredJets, 2) + for perm in ftPerms: + mt2wSNT.set_momenta(lep, perm[0], perm[1], pmiss) + mt2w_values.append(mt2wSNT.get_mt2w()) + elif nBJetMedium30>=3: #All combinations from the highest three b jets + consideredJets = [ getPhysObjectArray(jet) for jet in BJetMedium30[:3] ] # only throw arrays into the permutation business + ftPerms = itertools.permutations(consideredJets, 2) + for perm in ftPerms: + mt2wSNT.set_momenta(lep, perm[0], perm[1], pmiss) + mt2w_values.append(mt2wSNT.get_mt2w()) + + if len(mt2w_values)>0: + ret["MT2W"]=min(mt2w_values) + else: + ret["MT2W"]=-999 + + # topness + ret['Topness']=-999 + #topness makes sense for + if (nTightLeps>=1) and (nCentralJet30>=3) and (nBJetMedium30>=1) : + + p4_jets = std.vector(TLorentzVector)(); + bdisc_jets = std.vector('float')(); + + for jet in centralJet30: + jetTLorentz = ROOT.TLorentzVector(0,0,0,0) + jetTLorentz.SetPtEtaPhiM(jet.pt, jet.eta, jet.phi, jet.mass) + p4_jets.push_back(jetTLorentz) + # select B tag discriminator for topness (WP see above) + bdisc_jets.push_back(jet.btagCSV) + + lepTLorentz = ROOT.TLorentzVector(0,0,0,0) + lepTLorentz.SetPtEtaPhiM(tightLeps[0].pt, tightLeps[0].eta, tightLeps[0].phi, tightLeps[0].mass) + + # calc topness + tempTopness = topness.GetTopness(p4_jets,bdisc_jets,lepTLorentz,metp4) #this is really slow! + if tempTopness <=0: + print tempTopness, "this will fail" + else: + ret['Topness'] = log(tempTopness) #this is really slow! + + #As cross-check: Calculate topness for the two b-jets from the top-event + + realBJetsidx = [] + for i,j in enumerate(centralJet30): + if centralJet30_DescFlag[i] in [-1,1,2]: realBJetsidx.append(i) + + if len(realBJetsidx)==2: + ret['TopnessTwoCorrectBFromTop'] = log(topness.Calc( p4_jets[0], p4_jets[1], lepTLorentz, metp4)) + else: + ret['TopnessTwoCorrectBFromTop'] = -999 + + + # return branches + return ret + +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf = EventVars1L() + def analyze(self,ev): + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) + print self.sf(ev) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) diff --git a/CMGTools/TTHAnalysis/python/tools/eventVars_1l_forBkg.py b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_forBkg.py new file mode 100644 index 000000000000..bee970494796 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_forBkg.py @@ -0,0 +1,432 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from ROOT import TLorentzVector, TVector2, std +import ROOT +import time +import itertools +import PhysicsTools.Heppy.loadlibs +import array +import operator + +# Cuts and WP + +# Tight MVA WP +Ele_mvaPhys14_eta0p8_T = 0.73; +Ele_mvaPhys14_eta1p4_T = 0.57; +Ele_mvaPhys14_eta2p4_T = 0.05; + +# Medium MVA WP <--- UPDATE +Ele_mvaPhys14_eta0p8_M = 0.35; +Ele_mvaPhys14_eta1p4_M = 0.20; +Ele_mvaPhys14_eta2p4_M = -0.52; + +# Loose MVA WP +Ele_mvaPhys14_eta0p8_L = 0.35; +Ele_mvaPhys14_eta1p4_L = 0.20; +Ele_mvaPhys14_eta2p4_L = -0.52; + + +def checkEleMVA(lepMVA,lepEta,WP = 'Tight'): + # Eta dependent MVA ID check: + passID = False + + if WP == 'Tight': + if lepEta < 0.8 and lepMVA > Ele_mvaPhys14_eta0p8_T: passID = True + elif lepEta >= 0.8 and lepEta < 1.44 and lepMVA > Ele_mvaPhys14_eta1p4_T: passID = True + elif lepEta >= 1.57 and lepEta < 2.4 and lepMVA > Ele_mvaPhys14_eta2p4_T: passID = True + elif WP == 'Medium': + if lepEta < 0.8 and lepMVA > Ele_mvaPhys14_eta0p8_M: passID = True + elif lepEta >= 0.8 and lepEta < 1.44 and lepMVA > Ele_mvaPhys14_eta1p4_M: passID = True + elif lepEta >= 1.57 and lepEta < 2.4 and lepMVA > Ele_mvaPhys14_eta2p4_M: passID = True + elif WP == 'Loose': + if lepEta < 0.8 and lepMVA > Ele_mvaPhys14_eta0p8_L: passID = True + elif lepEta >= 0.8 and lepEta < 1.44 and lepMVA > Ele_mvaPhys14_eta1p4_L: passID = True + elif lepEta >= 1.57 and lepEta < 2.4 and lepMVA > Ele_mvaPhys14_eta2p4_L: passID = True + + return passID + +class EventVars1L_base: + def __init__(self): + self.branches = [ + 'Run','Event','Lumi','Xsec', + ("nTightLeps","I"),("tightLepsIdx","I",10,"nTightLeps"),("nVetoLeps","I"),("vetoLepsIdx","I",10,"nVetoLeps"), + ("tightLeps_DescFlag","I",10,"nTightLeps"), + ("nTightEl","I"),("tightElIdx","I",10,"nTightEl"),("nVetoEl","I"),("vetoElIdx","I",10,"nVetoEl"), + ("nTightMu","I"),("tightMuIdx","I",10,"nTightMu"),("nVetoMu","I"),("vetoMuIdx","I",10,"nVetoMu"), + 'LepGood1_pdgId','LepGood1_eta','LepGood1_phi','Selected', + 'Lp', "MET", "DeltaPhiLepW", + 'HT','ST','LepGood1_pt', + ("nCentralJet30","I"),("centralJet30idx","I",100,"nCentralJet30"),("centralJet30_DescFlag","F",100,"nCentralJet30"), + ("nBJetMedium30","I"),("BJetMedium30idx","I",50,"nBJetMedium30"), + "nGoodBJets_allJets", "nGoodBJets", + "LSLjetptGT80", "htJet30j", "htJet30ja", + "nHighPtTopTag", "nHighPtTopTagPlusTau23" + ] + + def listBranches(self): + return self.branches[:] + + def __call__(self,event,keyvals): + + # prepare output + #ret = dict([(name,-999.0) for name in self.branches]) + ret = {} + for name in self.branches: + if type(name) == 'tuple': + ret[name] = [] + elif type(name) == 'str': + ret[name] = -999 + + # copy basic event info: + ret['Run'] = event.run + ret['Event'] = event.evt + ret['Lumi'] = event.lumi + ret['Xsec'] = event.xsec + + # make python lists as Collection does not support indexing in slices + genleps = [l for l in Collection(event,"genLep","ngenLep")] + leps = [l for l in Collection(event,"LepGood","nLepGood")] + + jets = [j for j in Collection(event,"Jet","nJet")] + fatjets = [j for j in Collection(event,"FatJet","nFatJet")] + + metp4 = ROOT.TLorentzVector(0,0,0,0) + metp4.SetPtEtaPhiM(event.met_pt,event.met_eta,event.met_phi,event.met_mass) + + #isolation criteria as defined for PHYS14 1l synchronisation exercise + centralEta = 2.4 + + ele_minirelisoCut = 0.1 + muo_minirelisoCut = 0.2 + Lep_minirelisoCut = 0.4 + + Ele_lostHits = 0 + Ele_sip3d = 4 + + Ele_mvaPhys14_eta0p8_T = 0.73; + Ele_mvaPhys14_eta1p4_T = 0.57; + Ele_mvaPhys14_eta2p4_T = 0.05; + + ### LEPTONS + + selectedTightLeps = [] + selectedTightLepsIdx = [] + selectedVetoLeps = [] + selectedVetoLepsIdx = [] + + antiTightLeps = [] + antiTightLepsIdx = [] + antiVetoLeps = [] + antiVetoLepsIdx = [] + + selectedTightMu = [] + selectedTightMuIdx = [] + selectedVetoMu = [] + selectedVetoMuIdx = [] + + antiTightMu = [] + antiTightMuIdx = [] + antiVetoMu = [] + antiVetoMuIdx = [] + + selectedTightEl = [] + selectedTightElIdx = [] + selectedVetoEl = [] + selectedVetoElIdx = [] + + antiTightEl = [] + antiTightElIdx = [] + antiVetoEl = [] + antiVetoElIdx = [] + + for idx,lep in enumerate(leps): + + # check acceptance + lepEta = abs(lep.eta) + + if(lepEta > 2.5): continue + + # muons + if(abs(lep.pdgId) == 13): + # pass variables + passID = False + passIso = False + + # selected: pt > 25 + if lep.pt > 25: + + # all selected leptons are veto for anti + antiVetoLeps.append(lep); antiVetoLepsIdx.append(idx); + antiVetoMu.append(lep); antiVetoMuIdx.append(idx); + + # ID and Iso check: + if lep.mediumMuonId == 1 and lep.sip3d < 4.0: passID = True + if lep.miniRelIso < muo_minirelisoCut: passIso = True + + # fill + if passID and passIso: + selectedTightLeps.append(lep); selectedTightLepsIdx.append(idx); + selectedTightMu.append(lep); selectedTightMuIdx.append(idx); + else: + selectedVetoLeps.append(lep); selectedVetoLepsIdx.append(idx); + selectedVetoMu.append(lep); selectedVetoMuIdx.append(idx); + + # anti muons + tight veto + elif lep.pt > 5: + # veto for tight if pt > 10 + if lep.pt > 10: + selectedVetoLeps.append(lep); selectedVetoLepsIdx.append(idx); + selectedVetoMu.append(lep); selectedVetoMuIdx.append(idx); + # Anti leptons + # ID check + if lep.mediumMuonId == 1 and lep.sip3d < 4.0: passID = True + # iso check + if lep.pt < 15 and lep.miniRelIso < Lep_minirelisoCut: passIso = True + elif lep.pt > 15 and lep.miniRelIso < muo_minirelisoCut: passIso = True + + # fill + if passID and passIso: + antiTightLeps.append(lep); antiTightLepsIdx.append(idx); + antiTightMu.append(lep); antiTightMuIdx.append(idx); + else: + antiVetoLeps.append(lep); antiVetoLepsIdx.append(idx); + antiVetoMu.append(lep); antiVetoMuIdx.append(idx); + + # electrons + if(abs(lep.pdgId) == 11): + + if lep.pt < 25: continue + + # pass variables + passIso = False + passConv = False + + lepMVA = lep.mvaIdPhys14 + + # check MVA WPs + passTightID = checkEleMVA(lepMVA,lepEta,'Tight') + passLooseID = checkEleMVA(lepMVA,lepEta,'Loose') + + # selected + if passTightID: + + # all selected leptons are veto for anti + antiVetoLeps.append(lep); antiVetoLepsIdx.append(idx); + antiVetoEl.append(lep); antiVetoElIdx.append(idx); + + # Iso check: + if lep.miniRelIso < ele_minirelisoCut: passIso = True + # conversion check + if lep.lostHits <= Ele_lostHits and lep.convVeto and lep.sip3d < Ele_sip3d: passConv = True + + # fill + if passIso and passConv: + selectedTightLeps.append(lep); selectedTightLepsIdx.append(idx); + selectedTightEl.append(lep); selectedTightElIdx.append(idx); + else: + selectedVetoLeps.append(lep); selectedVetoLepsIdx.append(idx); + selectedVetoEl.append(lep); selectedVetoElIdx.append(idx); + + # anti-selected + elif passLooseID: + + # all anti leptons are veto for selected + selectedVetoLeps.append(lep); selectedVetoLepsIdx.append(idx); + selectedVetoEl.append(lep); selectedVetoElIdx.append(idx); + + # Iso check: + if lep.miniRelIso < 0.4: passIso = True + # conversion check + passConv = True + + # fill + if passIso and passConv: + antiTightLeps.append(lep); antiTightLepsIdx.append(idx); + antiTightEl.append(lep); antiTightElIdx.append(idx); + else: + antiVetoLeps.append(lep); antiVetoLepsIdx.append(idx); + antiVetoEl.append(lep); antiVetoElIdx.append(idx); + else: + # the rest is veto for selected and anti + selectedVetoLeps.append(lep); selectedVetoLepsIdx.append(idx); + selectedVetoEl.append(lep); selectedVetoElIdx.append(idx); + + antiVetoLeps.append(lep); antiVetoLepsIdx.append(idx); + antiVetoEl.append(lep); antiVetoElIdx.append(idx); + # end lepton loop + + # choose common lepton collection: select selected or anti lepton + if len(selectedTightLeps) > 0: + tightLeps = selectedTightLeps + tightLepsIdx = selectedTightLepsIdx + vetoLeps = selectedVetoLeps + vetoLepsIdx = selectedVetoLepsIdx + + tightEl = selectedTightEl + tightElIdx = selectedTightElIdx + vetoEl = selectedVetoEl + vetoElIdx = selectedVetoElIdx + + tightMu = selectedTightMu + tightMuIdx = selectedTightMuIdx + vetoMu = selectedVetoMu + vetoMuIdx = selectedVetoMuIdx + + ret['Selected'] = 1 + + else: #if len(antiTightLeps) > 0: or empty collection + tightLeps = antiTightLeps + tightLepsIdx = antiTightLepsIdx + vetoLeps = antiVetoLeps + vetoLepsIdx = antiVetoLepsIdx + + tightEl = antiTightEl + tightElIdx = antiTightElIdx + vetoEl = antiVetoEl + vetoElIdx = antiVetoElIdx + + tightMu = antiTightMu + tightMuIdx = antiTightMuIdx + vetoMu = antiVetoMu + vetoMuIdx = antiVetoMuIdx + + if len(antiTightLeps) > 0: + ret['Selected'] = -1 + + #ret = { 'nTightLeps' : len(tightLeps) } + ret['nTightLeps'] = len(tightLeps) + ret['tightLepsIdx'] = tightLepsIdx + ret['nVetoLeps'] = len(vetoLeps) + ret['vetoLepsIdx'] = vetoLepsIdx + + ret['nTightEl'] = len(tightEl) + ret['tightElIdx'] = tightElIdx + ret['nVetoEl'] = len(vetoEl) + ret['vetoElIdx'] = vetoElIdx + + ret['nTightMu'] = len(tightMu) + ret['tightMuIdx'] = tightMuIdx + ret['nVetoMu'] = len(vetoMu) + ret['vetoMuIdx'] = vetoMuIdx + + # save leading lepton vars + + if len(tightLeps) > 0: + ret['LepGood1_pt'] = tightLeps[0].pt + ret['LepGood1_eta'] = tightLeps[0].eta + ret['LepGood1_phi'] = tightLeps[0].phi + ret['LepGood1_pdgId'] = tightLeps[0].pdgId + elif len(leps) > 0: # fill it with leading lepton + ret['LepGood1_pt'] = leps[0].pt + ret['LepGood1_eta'] = leps[0].eta + ret['LepGood1_phi'] = leps[0].phi + ret['LepGood1_pdgId'] = leps[0].pdgId + + ### JETS + + centralJet30 = [] + centralJet30idx = [] + for i,j in enumerate(jets): + if j.pt>30 and abs(j.eta)80 for j in centralJet30])>=2 else 0 + + ret['htJet30j'] = sum([j.pt for j in centralJet30]) + ret['htJet30ja'] = sum([j.pt for j in jets if j.pt>30]) + + ret['HT'] = ret['htJet30j'] + + ## B tagging WPs for CSVv2 (CSV-IVF) + ## L: 0.423, M: 0.814, T: 0.941 + ## from: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideBTagging#Preliminary_working_or_operating + + bTagWP = 0.814 # MediumWP for CSVv2 + #bTagWP = 0.732 # MediumWP for CMVA + + BJetMedium30 = [] + BJetMedium30idx = [] + + for i,j in enumerate(centralJet30): + if j.btagCSV>bTagWP: + BJetMedium30.append(j) + BJetMedium30idx.append(centralJet30idx[i]) + + ret['nBJetMedium30'] = len(BJetMedium30) + ret['BJetMedium30idx'] = BJetMedium30idx + + ret['nGoodBJets'] = sum([j.btagCSV > bTagWP for j in centralJet30]) + ret['nGoodBJets_allJets'] = sum([j.btagCSV > bTagWP and j.pt>30 and abs(j.eta)=1: + recoWp4 = tightLeps[0].p4() + metp4 + dPhiLepW = tightLeps[0].p4().DeltaPhi(recoWp4) + Lp = tightLeps[0].pt / recoWp4.Pt() * cos(dPhiLepW) + ST = tightLeps[0].pt + event.met_pt + + ret["DeltaPhiLepW"] = dPhiLepW + ret['ST'] = ST + ret['Lp'] = Lp + + centralJet30_DescFlag = [] + tightLeps_DescFlag = [] + + for i,l in enumerate(tightLeps): + if abs(l.mcMatchId)==6: tightLeps_DescFlag.append(1) #top + elif abs(l.mcMatchId)==24: tightLeps_DescFlag.append(2) #W-boson + else: tightLeps_DescFlag.append(0) + + for i,j in enumerate(centralJet30): + if abs(j.mcMatchId)==6: + if len(genleps)>0 and abs(genleps[0].sourceId) ==6 and abs(j.mcFlavour)==5: + if j.mcMatchId==genleps[0].sourceId: + centralJet30_DescFlag.append(genleps[0].charge) + else: + centralJet30_DescFlag.append(2) + elif abs(j.mcFlavour) not in [0,5,21]: + centralJet30_DescFlag.append(3) + else: centralJet30_DescFlag.append(-999) #; print "should not happen..." + else: centralJet30_DescFlag.append(0) + + ret["centralJet30_DescFlag"]=centralJet30_DescFlag + ret["tightLeps_DescFlag"]=tightLeps_DescFlag + + # for FatJets + ret['nHighPtTopTag']=0 + ret['nHighPtTopTagPlusTau23']=0 + + fatjets = [j for j in Collection(event,"FatJet","nFatJet")] + for i,j in enumerate(fatjets): + if j.nSubJets >2 and j.minMass>50 and j.topMass>140 and j.topMass<250: + ret['nHighPtTopTag'] += 1 + if j.tau3 < 0.6 * j.tau2: # instead of division + ret['nHighPtTopTagPlusTau23'] += 1 + + return ret + +# Main function for test +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf = EventVars1L_base() + def analyze(self,ev): + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) + print self.sf(ev,{}) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) diff --git a/CMGTools/TTHAnalysis/python/tools/eventVars_1l_genLevel.py b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_genLevel.py new file mode 100644 index 000000000000..a62e575e1a8d --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_genLevel.py @@ -0,0 +1,107 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from ROOT import TLorentzVector, TVector2 +import ROOT + +def mt_2(p4one, p4two): + return sqrt(2*p4one.Pt()*p4two.Pt()*(1-cos(p4one.Phi()-p4two.Phi()))) + + +class EventVars1LGenLevel: + def __init__(self): + self.branches = ["GenDeltaPhiLepWSum", "GenDeltaPhiLepWDirect", "GenWSumMass", "GenWDirectMass", + "nidxGenWs", "GenmTLepNu", "LeptonDecayChannelFlag" + ] + + def listBranches(self): + return self.branches[:] + + def __call__(self,event,keyvals): + # The following variables still need to be double-checked for validity + genLeps = [l for l in Collection(event,"genLep","ngenLep")] + genTaus = [l for l in Collection(event,"genTau","ngenTau")] + genParts = [l for l in Collection(event,"GenPart","nGenPart")] + genLepsAndLepsFromTaus = [l for l in Collection(event,"genLep","ngenLep")] + [k for k in Collection(event,"genLepFromTau","ngenLepFromTau")] +# print genLepsAndLepsFromTaus + ngenLeps = len(genLeps); ngenTaus = len(genTaus); ngenParts = len (genParts); ngenLepsAndLepsFromTau = len(genLepsAndLepsFromTaus) + + GenDeltaPhiLepWSum=-999 + GenDeltaPhiLepWDirect=-999 + GenWSumMass=-999 + GenWDirectMass=-999 + GenmTLepNu=-999 + LeptonDecayChannelFlag=-999 + idx_genWs=[] + idx_genLeps=[] + idx_genNus=[] + # find gen-level neutrinos (status 23), calculate deltaPhi (lep, nu), and genW-masses m(lep+nu) + # for this: start from genLeps (status 23) + for i_lep, genLep in enumerate(genLeps): + if genLep.status == 23 and abs(genLep.motherId) == 24: # genLep is outgoing and has W as mother + W_idx = genLep.motherIndex + idx_genWs.append(W_idx) + idx_genLeps.append(i_lep) + for i_nu, genPart in enumerate(genParts): + if genPart.motherIndex==W_idx and genPart.status == 23: # find W as mother + if abs(genPart.pdgId) == 12 or abs(genPart.pdgId) == 14 or abs(genPart.pdgId) == 16: #check whether it is a neutrino + idx_genNus.append(i_nu) + + + if(len(idx_genLeps)>=1): + genLepP4 = genLeps[idx_genLeps[0]].p4() + genNuP4 = genParts[idx_genNus[0]].p4() + genWSumP4 = genLepP4 + genNuP4 + genWDirectP4 = genParts[genLeps[idx_genLeps[0]].motherIndex].p4() + GenDeltaPhiLepWSum = genLepP4.DeltaPhi(genWSumP4) + GenDeltaPhiLepWDirect = genLepP4.DeltaPhi(genWDirectP4) + GenWSumMass = genWSumP4.M() + GenWDirectMass = genWDirectP4.M() + GenmTLepNu = mt_2(genLepP4,genNuP4) + +# print ngenLepsAndLepsFromTau, ngenLeps + ngenTaus, event.ngenLepFromTau+ngenLeps + assert ngenLepsAndLepsFromTau==event.ngenLepFromTau+ngenLeps + if ngenLeps + ngenTaus ==2: #looking at semileptonic events + IsDiLepEvent = True + IsHadTauEvent = (ngenTaus > event.ngenLepFromTau) + LeptonsInAcceptance = True + PtMax = -999 + for l in genLepsAndLepsFromTaus: + if l.pt>PtMax: PtMax = l.pt + + if IsHadTauEvent: LeptonDecayChannelFlag = 1 # preconfigure HadTau (becaus next loop won't start for two had taus in the event) + for l in genLepsAndLepsFromTaus: + if PtMax>=25 and l.pt<10: LeptonsInAcceptance=False + if PtMax<25 and l.pt<5: LeptonsInAcceptance=False + lepEta = abs(l.eta) + if (lepEta>2.5): LeptonsInAcceptance=False + if (abs(l.pdgId) == 11 and lepEta >= 1.44 and lepEta < 1.57): LeptonsInAcceptance=False + + if IsHadTauEvent and not LeptonsInAcceptance: LeptonDecayChannelFlag = 0 # OutOfAcceptance and HadTau + elif IsHadTauEvent: LeptonDecayChannelFlag = 1 # HadTau (only) + elif not LeptonsInAcceptance: LeptonDecayChannelFlag = 2 # OutOfAcceptance (only) + else: LeptonDecayChannelFlag = 3 # Rest (Id/Isolation/Resolution) + + + ret = { 'GenDeltaPhiLepWSum' : GenDeltaPhiLepWSum } #initialize the dictionary with a first entry + ret["GenDeltaPhiLepWDirect"] = GenDeltaPhiLepWDirect + ret["GenWSumMass"] = GenWSumMass + ret["GenWDirectMass"] = GenWDirectMass + ret["GenmTLepNu"] = GenmTLepNu + + ret["nidxGenWs"]= len(idx_genWs) + ret["LeptonDecayChannelFlag"]= LeptonDecayChannelFlag + return ret + +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf = EventVars1LGenLevel() + def analyze(self,ev): + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) +# tree.Show(0) + print self.sf(ev) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) diff --git a/CMGTools/TTHAnalysis/python/tools/eventVars_1l_top.py b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_top.py new file mode 100644 index 000000000000..329421fba8fb --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/eventVars_1l_top.py @@ -0,0 +1,408 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from ROOT import TLorentzVector, TVector2, std +import ROOT +import time +import itertools +import PhysicsTools.Heppy.loadlibs +import array +import operator + +def getPhysObjectArray(j): # https://github.com/HephySusySW/Workspace/blob/72X-master/RA4Analysis/python/mt2w.py + px = j.pt*cos(j.phi ) + py = j.pt*sin(j.phi ) + pz = j.pt*sinh(j.eta ) + E = sqrt(px*px+py*py+pz*pz) #assuming massless particles... + return array.array('d', [E, px, py,pz]) + +def mt_2(p4one, p4two): + return sqrt(2*p4one.Pt()*p4two.Pt()*(1-cos(p4one.Phi()-p4two.Phi()))) + +def GetZfromM(vector1,vector2,mass): + MT = sqrt(2*vector1.Pt()*vector2.Pt()*(1-cos(vector2.DeltaPhi(vector1)))) + if (MT0: return min(cleanedValueList) + else: return -999 +# print cleanedValueList, min(cleanedValueList)#d, key=d.get) + + +class EventVars1L_Top: + def __init__(self): + self.branches = [ "minDPhiBMET", "minDPhiJMET", "idxMinDPhiBMET", "mTClBPlusMET", "mTBJetMET", "mTLepMET", "mLepBJet", + ("LepBMass","F",50,"nCentralJet30"), ("MTbnu","F",50,"nCentralJet30"),("Mtop","F",50,"nCentralJet30"), + ("MTtop","F",50,"nCentralJet30"), ("METovTop","F",50,"nCentralJet30"),("METTopPhi","F",50,"nCentralJet30"), + ("MtopDecor","F",50,"nCentralJet30"), + ("TopPt","F",50,"nCentralJet30"),("TopEt","F",50,"nCentralJet30"), + ("nBMinVariantsTopVars","I"), + ("TopVarsMTbnuMin","F",10,"nBMinVariantsTopVars"),("TopVarsLepBMassMin","F",10,"nBMinVariantsTopVars"), + ("TopVarsMTtopMin","F",10,"nBMinVariantsTopVars"),("TopVarsMtopMin","F",10,"nBMinVariantsTopVars"), + ("TopVarsMETovTopMin","F",10,"nBMinVariantsTopVars"),("TopVarsMtopDecorMin","F",10,"nBMinVariantsTopVars"), + ("TopVarsTopPtMin","F",10,"nBMinVariantsTopVars"),("TopVarsTopEtMin","F",10,"nBMinVariantsTopVars"), + "MTW","MW1","MW2", + 'minDphiLepB','minDphiLepBidx' + ] + + + def listBranches(self): + return self.branches[:] + + def __call__(self,event,base = {}): + + # prepare output + ret = {} + for name in self.branches: + if type(name) == 'tuple': + ret[name] = [] + elif type(name) == 'str': + ret[name] = -999.0 + + # get some collections from initial tree + leps = [l for l in Collection(event,"LepGood","nLepGood")] + jets = [j for j in Collection(event,"Jet","nJet")] + + njet = len(jets); nlep = len(leps) + + # MET + metp4 = ROOT.TLorentzVector(0,0,0,0) + metp4.SetPtEtaPhiM(event.met_pt,event.met_eta,event.met_phi,event.met_mass) + pmiss =array.array('d',[event.met_pt * cos(event.met_phi), event.met_pt * sin(event.met_phi)] ) + + #################################### + # import output from previous step # + #base = keyvals + #################################### + + # get selected leptons + tightLeps = [] + tightLepsIdx = base['tightLepsIdx'] + tightLeps = [leps[idx] for idx in tightLepsIdx] + nTightLeps = len(tightLeps) + + # get selected jets + centralJet30 = [] + centralJet30idx = base['centralJet30idx'] + centralJet30 = [jets[idx] for idx in centralJet30idx] + nCentralJet30 = len(centralJet30) + + # B jets + BJetMedium30 = [] + BJetMedium30idx = base['BJetMedium30idx'] + nBJetMedium30 = base['nBJetMedium30'] + + ''' + for idx,jet in enumerate(centralJet30): + if idx in BJetMedium30idx: + BJetMedium30.append(jet) + ''' + + #print 'here',event.evt, nTightLeps, len(centralJet30), nBJetMedium30 + + ################################################################## + # The following variables need to be double-checked for validity # + ################################################################## + + ## B tagging WPs for CSVv2 (CSV-IVF) + ## L: 0.423, M: 0.814, T: 0.941 + ## from: https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideBTagging#Preliminary_working_or_operating + + bTagWP = 0.814 # MediumWP for CSVv2 + #bTagWP = 0.732 # MediumWP for CMVA + + # min deltaPhi between a b-jet and MET; needs to be double-checked + minDPhiBMET = 100 + idxMinDPhiBMET = -999 + for i, jet in enumerate(centralJet30): + if jet.btagCSV>bTagWP: + dPhiBMET = abs(jet.p4().DeltaPhi(metp4)) + if dPhiBMET=0): + SumMetClosestBJet = jets[idxMinDPhiBMET].p4() + metp4 + ret["mTClBPlusMET"] = SumMetClosestBJet.Mt() + mTBJetMET = mt_2(centralJet30[idxMinDPhiBMET].p4(),metp4) + if nTightLeps>=1: + mLepBJet = (centralJet30[idxMinDPhiBMET].p4() + tightLeps[0].p4()).M() + mTLepMET = mt_2(tightLeps[0].p4(),metp4) + else: + ret["mTClBPlusMET"] = -999 + + ret["mTBJetMET"] = mTBJetMET + ret["mTLepMET"] = mTLepMET + ret["mLepBJet"] = mLepBJet + + # projection of MET along (MET + lepton + (closest (to MET) BJet)) sum; needs to be double-checked... + MetZ1 = -9999 + MetZ2 = -9999 + MTW = -9999 + MW1 = -9999 + MW2 = -9999 + neutrino1 = ROOT.TLorentzVector(0,0,0,0) + neutrino2 = ROOT.TLorentzVector(0,0,0,0) + if(nTightLeps==1) : + NeutrZList = GetZfromM(tightLeps[0].p4(),metp4,81) + MTW = NeutrZList[0] + MetZ1= NeutrZList[1] + MetZ2= NeutrZList[2] + neutrino1.SetXYZM(metp4.Px(),metp4.Py(), MetZ1, 0) + neutrino2.SetXYZM(metp4.Px(),metp4.Py(), MetZ2, 0) + MW1 = (neutrino1+tightLeps[0].p4()).M() + MW2 = (neutrino2+tightLeps[0].p4()).M() + ret["MTW"] = MTW + ret["MW1"] = MW1 + ret["MW2"] = MW2 + # some extra plots + + MTbnu = [] + LepBMass = [] + MTtop = [] + Mtop = [] + METovTop = [] + METTopPhi = [] + MtopDecor = [] + + TopEt = [] + TopPt = [] + + if(nTightLeps==1) : + for i,jet in enumerate(centralJet30): #testing all jets as b-jet in top-reco + ThisMTnub = sqrt(2*event.met_pt*jet.pt* (1-cos( metp4.DeltaPhi(jet.p4() )))) + MTbnu.append(ThisMTnub) + + # lep + jet vector + lepJp4 = tightLeps[0].p4()+jet.p4() + + ThislepBMass = lepJp4.M() + LepBMass.append(ThislepBMass ) + + # top vector: MET + lep + jet + topP4 = metp4+lepJp4 + TopEt.append(topP4.Et()) + TopPt.append(topP4.Pt()) + + ThisMTtop = sqrt( 81.*81. + ThislepBMass *ThislepBMass + ThisMTnub*ThisMTnub) + MTtop.append(ThisMTtop) + + ThisMetovTop = event.met_pt/ topP4.Pt() + METovTop.append(ThisMetovTop) + + ThisMetTop = metp4.DeltaPhi(metp4+lepJp4) + METTopPhi.append(ThisMetTop) + + TopMass1 = (neutrino1+lepJp4).M() + TopMass2 = (neutrino2+lepJp4).M() + + #take smaller mtop of the two nu pz-solutions + if TopMass1 > TopMass2: + Mtop.append(TopMass2) + else: + Mtop.append(TopMass1) + + ThisMtopDecor1 = sqrt(lepJp4.M()*lepJp4.M()+ (neutrino1+jet.p4()).M()*(neutrino1+jet.p4()).M()+81*81) + ThisMtopDecor2 = sqrt(lepJp4.M()*lepJp4.M()+ (neutrino2+jet.p4()).M()*(neutrino2+jet.p4()).M()+81*81) + + if ThisMtopDecor1 > ThisMtopDecor2: + MtopDecor.append(ThisMtopDecor2) + else: + MtopDecor.append(ThisMtopDecor1) + + # fill them + ret["MTbnu"] =MTbnu + ret["LepBMass"]=LepBMass + ret["MTtop"]=MTtop + ret["Mtop"]=Mtop + ret["METovTop"]=METovTop + ret["METTopPhi"]=METTopPhi + ret["MtopDecor"]=MtopDecor + + ret['TopPt'] = TopPt + ret['TopEt'] = TopEt + + # nearest b jet to lead lepton + minDphiLepB = 100 + minDphiLepBidx = -1 + + if nTightLeps == 1: + for i, jet in enumerate(centralJet30): + if jet.btagCSV>bTagWP: + dPhiLepB = abs(jet.p4().DeltaPhi(tightLeps[0].p4())) + if dPhiLepB < minDphiLepB: + minDphiLepB = dPhiLepB + minDphiLepBidx = i + + ret["minDphiLepB"] = minDphiLepB + ret["minDphiLepBidx"] = minDphiLepBidx + + # TopVarsJetIdx = [] + TopVarsMTbnuMin = [] + TopVarsLepBMassMin = [] + TopVarsMTtopMin = [] + TopVarsMtopMin = [] + TopVarsMETovTopMin = [] + TopVarsMtopDecorMin = [] + + TopVarsTopPtMin = [] + TopVarsTopEtMin = [] + + iBTagDict = {i: jets[idx].btagCSV for i, idx in enumerate(centralJet30idx)} + sortIdsByBTag = sorted(iBTagDict.items(), key=operator.itemgetter(1), reverse=True) + bTaggedJetsSorted = sortIdsByBTag[:nBJetMedium30] + # print bTaggedJetsSorted + bTaggedJetsPPSorted = sortIdsByBTag[:nBJetMedium30+1] + # print bTaggedJetsPPSorted + ThreeBestBTags = sortIdsByBTag[:3] + # print ThreeBestBTags + # print sortIdsByBTag + + if nTightLeps == 1 and nCentralJet30 > 0: + #0: minimum of b-tagged jets + TopVarsMTbnuMin .append(minValueForIdxList(MTbnu , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsLepBMassMin .append(minValueForIdxList(LepBMass , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsMTtopMin .append(minValueForIdxList(MTtop , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsMtopMin .append(minValueForIdxList(Mtop , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsMETovTopMin .append(minValueForIdxList(METovTop , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsMtopDecorMin .append(minValueForIdxList(MtopDecor , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsTopPtMin .append(minValueForIdxList(TopPt , [ids[0] for ids in bTaggedJetsSorted])) + TopVarsTopEtMin .append(minValueForIdxList(TopEt , [ids[0] for ids in bTaggedJetsSorted])) + + #1: minimum of b-tagged jets (+ adding next-best b-disc. jet) + TopVarsMTbnuMin .append(minValueForIdxList(MTbnu , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsLepBMassMin .append(minValueForIdxList(LepBMass , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsMTtopMin .append(minValueForIdxList(MTtop , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsMtopMin .append(minValueForIdxList(Mtop , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsMETovTopMin .append(minValueForIdxList(METovTop , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsMtopDecorMin .append(minValueForIdxList(MtopDecor , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsTopPtMin .append(minValueForIdxList(TopPt , [ids[0] for ids in bTaggedJetsPPSorted])) + TopVarsTopEtMin .append(minValueForIdxList(TopEt , [ids[0] for ids in bTaggedJetsPPSorted])) + + #2: always consider the three jets with the best b-tag values (no pass of any working-point required) + TopVarsMTbnuMin .append(minValueForIdxList(MTbnu , [ids[0] for ids in ThreeBestBTags])) + TopVarsLepBMassMin .append(minValueForIdxList(LepBMass , [ids[0] for ids in ThreeBestBTags])) + TopVarsMTtopMin .append(minValueForIdxList(MTtop , [ids[0] for ids in ThreeBestBTags])) + TopVarsMtopMin .append(minValueForIdxList(Mtop , [ids[0] for ids in ThreeBestBTags])) + TopVarsMETovTopMin .append(minValueForIdxList(METovTop , [ids[0] for ids in ThreeBestBTags])) + TopVarsMtopDecorMin .append(minValueForIdxList(MtopDecor , [ids[0] for ids in ThreeBestBTags])) + TopVarsTopPtMin .append(minValueForIdxList(TopPt , [ids[0] for ids in ThreeBestBTags])) + TopVarsTopEtMin .append(minValueForIdxList(TopEt , [ids[0] for ids in ThreeBestBTags])) + + mcMatchIdLep = tightLeps[0].mcMatchId + iCorrectJet=-999 + correctJetBTagged = False + if abs(mcMatchIdLep)==6: + for i,jet in enumerate(centralJet30): + if abs(jet.mcFlavour)==5 and jet.mcMatchId==mcMatchIdLep: + iCorrectJet=i + if jet.btagCSV>bTagWP: correctJetBTagged=True + + #3: value for the correct b-jet (i.e. the one matching the lepton) + TopVarsMTbnuMin .append(MTbnu [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsLepBMassMin .append(LepBMass [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsMTtopMin .append(MTtop [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsMtopMin .append(Mtop [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsMETovTopMin .append(METovTop [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsMtopDecorMin .append(MtopDecor [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsTopPtMin .append(TopPt [iCorrectJet] if iCorrectJet>-999 else -999) + TopVarsTopEtMin .append(TopEt [iCorrectJet] if iCorrectJet>-999 else -999) + + foundCorrectBJetAndIsTagged = iCorrectJet>-999 and correctJetBTagged + + #4: value for the correct b-jet (if actually identified as b-jet (tagged)) + TopVarsMTbnuMin .append(MTbnu [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsLepBMassMin .append(LepBMass [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsMTtopMin .append(MTtop [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsMtopMin .append(Mtop [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsMETovTopMin .append(METovTop [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsMtopDecorMin .append(MtopDecor [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsTopPtMin .append(TopPt [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + TopVarsTopEtMin .append(TopEt [iCorrectJet] if foundCorrectBJetAndIsTagged else -999) + + #5: consider the jet closest in dphi to MET + TopVarsMTbnuMin .append(MTbnu [idxMinDPhiBMET] if idxMinDPhiBMET!=-999 else -999) + TopVarsLepBMassMin .append(LepBMass [idxMinDPhiBMET] if idxMinDPhiBMET!=-999 else -999) + TopVarsMTtopMin .append(MTtop [idxMinDPhiBMET] if idxMinDPhiBMET!=-999 else -999) + TopVarsMtopMin .append(Mtop [idxMinDPhiBMET] if idxMinDPhiBMET!=-999 else -999) + TopVarsMETovTopMin .append(METovTop [idxMinDPhiBMET] if idxMinDPhiBMET!=-999 else -999) + TopVarsMtopDecorMin .append(MtopDecor[idxMinDPhiBMET] if idxMinDPhiBMET!=-999 else -999) + TopVarsTopPtMin .append(TopPt [idxMinDPhiBMET] if idxMinDPhiBMET!=-999 else -999) + TopVarsTopEtMin .append(TopEt [idxMinDPhiBMET] if idxMinDPhiBMET!=-999 else -999) + + #6: nearest to lepton b jet + TopVarsMTbnuMin .append(MTbnu[minDphiLepBidx] if minDphiLepBidx>-1 else -999) + TopVarsLepBMassMin .append(LepBMass[minDphiLepBidx] if minDphiLepBidx>-1 else -999) + TopVarsMTtopMin .append(MTtop[minDphiLepBidx] if minDphiLepBidx>-1 else -999) + TopVarsMtopMin .append(Mtop[minDphiLepBidx] if minDphiLepBidx>-1 else -999) + TopVarsMETovTopMin .append(METovTop[minDphiLepBidx] if minDphiLepBidx>-1 else -999) + TopVarsMtopDecorMin .append(MtopDecor[minDphiLepBidx]if minDphiLepBidx>-1 else -999) + TopVarsTopPtMin .append(TopPt[minDphiLepBidx] if minDphiLepBidx>-1 else -999) + TopVarsTopEtMin .append(TopEt[minDphiLepBidx] if minDphiLepBidx>-1 else -999) + + else: + for i in range(7): + TopVarsMTbnuMin .append(-999) + TopVarsLepBMassMin .append(-999) + TopVarsMTtopMin .append(-999) + TopVarsMtopMin .append(-999) + TopVarsMETovTopMin .append(-999) + TopVarsMtopDecorMin .append(-999) + TopVarsTopPtMin .append(-999) + TopVarsTopEtMin .append(-999) + + + ret["nBMinVariantsTopVars"]=7 + + ret["TopVarsMTbnuMin"] =TopVarsMTbnuMin + ret["TopVarsLepBMassMin"] =TopVarsLepBMassMin + ret["TopVarsMTtopMin"] =TopVarsMTtopMin + ret["TopVarsMtopMin"] =TopVarsMtopMin + ret["TopVarsMETovTopMin"] =TopVarsMETovTopMin + ret["TopVarsMtopDecorMin"]=TopVarsMtopDecorMin + ret["TopVarsTopPtMin"] =TopVarsTopPtMin + ret["TopVarsTopEtMin"] =TopVarsTopEtMin + + return ret + +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf = EventVars1L_top() + def analyze(self,ev): + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) + print self.sf(ev,{}) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) diff --git a/CMGTools/TTHAnalysis/python/tools/leptonFakeRateQCDVars.py b/CMGTools/TTHAnalysis/python/tools/leptonFakeRateQCDVars.py new file mode 100644 index 000000000000..0bde5d1a7e9d --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/leptonFakeRateQCDVars.py @@ -0,0 +1,55 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * + +class LeptonFakeRateQCDVars: + def __init__(self,leptonSel,jetSel, jetSort = lambda jet:jet.pt, label=None, isMC=True): + self.label = "" if (label in ["",None]) else ("_"+label) + self.leptonSel = leptonSel + self.jetSel = jetSel + self.jetSort = jetSort + self.jetvars = "pt eta phi btagCSV".split() + if isMC: self.jetvars.append("mcFlavour") + def listBranches(self): + label = self.label + return [ ("nLepGood","I") ] + [ ("LepGood_awayJet%s_%s"%(self.label,var),"F",8,"nLepGood") for var in self.jetvars ] + def __call__(self,event): + leps = [l for l in Collection(event,"LepGood","nLepGood")] + jetsc = [j for j in Collection(event,"Jet","nJet")] + jetsd = [j for j in Collection(event,"DiscJet","nDiscJet")] + jetsf = [j for j in Collection(event,"JetFwd","nJetFwd")] + ret = { "nLepGood" : event.nLepGood } + for var in self.jetvars: + ret["LepGood_awayJet%s_%s"%(self.label,var)] = [-99.0] * event.nLepGood + for il,lep in enumerate(leps): + if not self.leptonSel(lep): continue + jets = [ j for j in jetsc+jetsd+jetsf if self.jetSel(j,lep,deltaR(j,lep)) ] + if len(jets) == 0: continue + jet = max(jets, key=self.jetSort) + #print "lepton pt %6.1f eta %+5.2f phi %+5.2f matched with jet pt %6.1f eta %+5.2f phi %+5.2f " % ( + # lep.pt, lep.eta, lep.phi, jet.pt, jet.eta, jet.phi ) + for var in self.jetvars: + ret["LepGood_awayJet%s_%s"%(self.label,var)][il] = getattr(jet,var) + return ret + +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + tree.vectorTree = True + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf1 = LeptonFakeRateQCDVars( + lambda lep : lep.sip3d < 6 and lep.relIso03 < 0.5, + lambda jet, lep, dr : jet.pt > (20 if abs(jet.eta)<2.4 else 30) and dr > 0.7) + self.sf2 = LeptonFakeRateQCDVars( + lambda lep : lep.sip3d < 6 and lep.relIso03 < 0.5, + lambda jet, lep, dr : jet.pt > 20 and abs(jet.eta) < 2.4 and dr > 0.7, + label="Central") + def analyze(self,ev): + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) + print self.sf1(ev) + print self.sf2(ev) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) + + diff --git a/CMGTools/TTHAnalysis/python/tools/leptonJetReCleaner.py b/CMGTools/TTHAnalysis/python/tools/leptonJetReCleaner.py new file mode 100644 index 000000000000..f65e789b0235 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/leptonJetReCleaner.py @@ -0,0 +1,388 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * + +class LeptonJetReCleaner: + def __init__(self,label,looseLeptonSel,tightLeptonSel,cleanJet,isMC=True): + self.label = "" if (label in ["",None]) else ("_"+label) + self.looseLeptonSel = looseLeptonSel + self.tightLeptonSel = tightLeptonSel + self.cleanJet = cleanJet + self.isMC = isMC + def listBranches(self): + label = self.label + biglist = [ ("nLepGood"+label, "I"), ("nLepGoodVeto"+label, "I"),("nLepTight"+label, "I"), ("nLepTightVeto"+label, "I"), ("nJetSel"+label, "I"), + ("iL"+label,"I",20,"nLepGood"+label), ("iLV"+label,"I",20,"nLepGoodVeto"+label), ("iLT"+label,"I",20,"nLepTight"+label), ("iLTV"+label,"I",20,"nLepTightVeto"+label), + ("iJ"+label,"I",20,"nJetSel"+label), # index >= 0 if in Jet; -1-index (<0) if in DiscJet + ("nLepGood10"+label, "I"), ("nLepGoodVeto10"+label, "I"), ("nLepTight10"+label, "I"),("nLepTightVeto10"+label, "I"), + ("nJet40"+label, "I"), "htJet40j"+label, ("nBJetLoose40"+label, "I"), ("nBJetMedium40"+label, "I"), + ("nJet25"+label, "I"), "htJet25j"+label, ("nBJetLoose25"+label, "I"), ("nBJetMedium25"+label, "I"), + ("iL1"+label, "I"), ("iL2"+label, "I"), + ("iL1T"+label, "I"), ("iL2T"+label, "I"), + ("iL1p"+label, "I"), ("iL2p"+label, "I"), + ("iL1Tp"+label, "I"), ("iL2Tp"+label, "I"), + ("iL1V"+label, "I"), ("iL2V"+label, "I"), + ("iL1TV"+label, "I"), ("iL2TV"+label, "I"), + ("iL1Vp"+label, "I"), ("iL2Vp"+label, "I"), + ("iL1TVp"+label, "I"), ("iL2TVp"+label, "I"), + "mZ1cut10TL"+label, "minMllAFASTL"+label,"minMllAFOSTL"+label,"minMllSFOSTL"+label, + "minMllAFASTT"+label,"minMllAFOSTT"+label,"minMllSFOSTT"+label, + "mZ1"+label, "minMllAFAS"+label,"minMllAFOS"+label,"minMllSFOS"+label,"mllTV"+label,"mllV"+label,"mtWminTV"+label,"mtWminV"+label, + ("SRTV"+label, "I"),("SRV"+label, "I"), + ] + for jfloat in "pt eta phi mass btagCSV rawPt".split(): + biglist.append( ("JetSel"+label+"_"+jfloat,"F",20,"nJetSel"+label) ) + if self.isMC: + biglist.append( ("JetSel"+label+"_mcPt", "F",20,"nJetSel"+label) ) + biglist.append( ("JetSel"+label+"_mcFlavour","I",20,"nJetSel"+label) ) + biglist.append( ("JetSel"+label+"_mcMatchId","I",20,"nJetSel"+label) ) + return biglist + def __call__(self,event): + leps = [l for l in Collection(event,"LepGood","nLepGood")] + jetsc = [j for j in Collection(event,"Jet","nJet")] + jetsd = [j for j in Collection(event,"DiscJet","nDiscJet")] + (met, metphi) = event.met_pt, event.met_phi + ret = {}; jetret = {} + # + ### Define loose leptons + ret["iL"] = []; ret["nLepGood10"] = 0 + ret["iLV"] = []; ret["nLepGoodVeto10"] = 0 + for il,lep in enumerate(leps): + if self.looseLeptonSel(lep): + ret["iL"].append(il) + if lep.pt > 10: ret["nLepGood10"] += 1 + ret["nLepGood"] = len(ret["iL"]) + lepsl = [ leps[il] for il in ret["iL"] ] + for il,lep in enumerate(lepsl): + if self.passMllTLVeto(lep, lepsl, 76, 106, True) and self.passMllTLVeto(lep, lepsl, 0, 12, True): + ret["iLV"].append(il) + if lep.pt > 10: ret["nLepGoodVeto10"] += 1 + ret["nLepGoodVeto"] = len(ret["iLV"]) + lepslv = [ leps[il] for il in ret["iLV"] ] + # + ### Define tight leptons + ret["iLT"] = []; ret["nLepTight10"] = 0 + ret["iLTV"] = []; ret["nLepTightVeto10"] = 0 + for il in ret["iL"]: + lep = leps[il] + if self.tightLeptonSel(lep): + ret["iLT"].append(il) + if lep.pt > 10: ret["nLepTight10"] += 1 + if self.passMllTLVeto(lep, lepsl, 76, 106, True) and self.passMllTLVeto(lep, lepsl, 0, 12, True): + ret["iLTV"].append(il) + if lep.pt > 10: ret["nLepTightVeto10"] += 1 + ret["nLepTight"] = len(ret["iLT"]) + lepst = [ leps[il] for il in ret["iLT"] ] + ret["nLepTightVeto"] = len(ret["iLTV"]) + lepstv = [ leps[il] for il in ret["iLTV"] ] + # + ### Define jets + ret["iJ"] = [] + # 0. mark each jet as clean + for j in jetsc+jetsd: j._clean = True + # 1. associate to each loose lepton its nearest jet + for il in ret["iL"]: + lep = leps[il] + best = None; bestdr = 0.4 + for j in jetsc+jetsd: + dr = deltaR(lep,j) + if dr < bestdr: + best = j; bestdr = dr + if best is not None and self.cleanJet(lep,best,bestdr): + best._clean = False + # 2. compute the jet list + for ijc,j in enumerate(jetsc): + if not j._clean: continue + ret["iJ"].append(ijc) + for ijd,j in enumerate(jetsd): + if not j._clean: continue + ret["iJ"].append(-1-ijd) + # 3. sort the jets by pt + ret["iJ"].sort(key = lambda idx : jetsc[idx].pt if idx >= 0 else jetsd[-1-idx].pt, reverse = True) + ret["nJetSel"] = len(ret["iJ"]) + # 4. compute the variables + for jfloat in "pt eta phi mass btagCSV rawPt".split(): + jetret[jfloat] = [] + if self.isMC: + for jmc in "mcPt mcFlavour mcMatchId".split(): + jetret[jmc] = [] + for idx in ret["iJ"]: + jet = jetsc[idx] if idx >= 0 else jetsd[-1-idx] + for jfloat in "pt eta phi mass btagCSV rawPt".split(): + jetret[jfloat].append( getattr(jet,jfloat) ) + if self.isMC: + for jmc in "mcPt mcFlavour mcMatchId".split(): + jetret[jmc].append( getattr(jet,jmc) ) + # 5. compute the sums + ret["nJet25"] = 0; ret["htJet25j"] = 0; ret["nBJetLoose25"] = 0; ret["nBJetMedium25"] = 0 + ret["nJet40"] = 0; ret["htJet40j"] = 0; ret["nBJetLoose40"] = 0; ret["nBJetMedium40"] = 0 + for j in jetsc+jetsd: + if not j._clean: continue + if j.pt > 25: + ret["nJet25"] += 1; ret["htJet25j"] += j.pt; + if j.btagCSV>0.423: ret["nBJetLoose25"] += 1 + if j.btagCSV>0.814: ret["nBJetMedium25"] += 1 + if j.pt > 40: + ret["nJet40"] += 1; ret["htJet40j"] += j.pt; + if j.btagCSV>0.423: ret["nBJetLoose40"] += 1 + if j.btagCSV>0.814: ret["nBJetMedium40"] += 1 + # + ### 2lss specific things + ret['mZ1'] = self.bestZ1TL(lepsl, lepsl) + ret['mZ1cut10TL'] = self.bestZ1TL(lepsl, lepst, cut=lambda l:l.pt>10) + ret['minMllAFAS'] = self.minMllTL(lepsl, lepsl) + ret['minMllAFOS'] = self.minMllTL(lepsl, lepsl, paircut = lambda l1,l2 : l1.charge != l2.charge) + ret['minMllSFOS'] = self.minMllTL(lepsl, lepsl, paircut = lambda l1,l2 : l1.pdgId == -l2.pdgId) + ret['minMllAFASTL'] = self.minMllTL(lepsl, lepst) + ret['minMllAFOSTL'] = self.minMllTL(lepsl, lepst, paircut = lambda l1,l2 : l1.charge != l2.charge) + ret['minMllSFOSTL'] = self.minMllTL(lepsl, lepst, paircut = lambda l1,l2 : l1.pdgId == -l2.pdgId) + ret['minMllAFASTT'] = self.minMllTL(lepst, lepst) + ret['minMllAFOSTT'] = self.minMllTL(lepst, lepst, paircut = lambda l1,l2 : l1.charge != l2.charge) + ret['minMllSFOSTT'] = self.minMllTL(lepst, lepst, paircut = lambda l1,l2 : l1.pdgId == -l2.pdgId) + pairTypes = [ ("",lepsl,ret["iL"],True, True), + ("p",lepsl,ret["iL"],False, True), + ("V",lepslv,ret["iLV"],True, False), + ("Vp",lepslv,ret["iLV"],False, False), + ("T",lepst,ret["iLT"],True, True), + ("Tp",lepst,ret["iLT"],False, True), + ("TV",lepstv,ret["iLTV"],True, False), + ("TVp",lepstv,ret["iLTV"],False, False) + ] + for (name,lepcoll,lepIdxs, byflav, bypassMV) in pairTypes: + iL1iL2 = self.bestSSPair(lepcoll, byflav,bypassMV, cut = lambda lep : lep.pt > 10) + sizeIdxs=len(lepIdxs) + ret["iL1"+name] = lepIdxs[ iL1iL2[0] ] if sizeIdxs >=1 else 0 + ret["iL2"+name] = lepIdxs[ iL1iL2[1] ] if sizeIdxs >=2 else 1 + ret["mllTV"]= (leps[ret["iL1TV"]].p4() + leps[ret["iL2TV"]].p4()).M() + ret["mllV"]= (leps[ret["iL1V"]].p4() + leps[ret["iL2V"]].p4()).M() + # + ### 2lss SR definitions + ret["mtWminTV"] = min(sqrt(2*leps[ret["iL1TV"]].pt*met*(1-cos(leps[ret["iL1TV"]].phi-metphi))),sqrt(2*leps[ret["iL2TV"]].pt*met*(1-cos(leps[ret["iL2TV"]].phi-metphi)))) + ret["mtWminV"] = min(sqrt(2*leps[ret["iL1V"]].pt*met*(1-cos(leps[ret["iL1V"]].phi-metphi))),sqrt(2*leps[ret["iL2V"]].pt*met*(1-cos(leps[ret["iL2V"]].phi-metphi)))) + ret["SRTV"] = self.SR(leps[ret["iL1TV"]].pt,leps[ret["iL2TV"]].pt,ret["htJet40j"],met,ret["nJet40"],ret["nBJetMedium25"],ret["mtWminTV"]) + ret["SRV"] = self.SR(leps[ret["iL1V"]].pt,leps[ret["iL2V"]].pt,ret["htJet40j"],met,ret["nJet40"],ret["nBJetMedium25"],ret["mtWminV"]) + # + ### attach labels and return + fullret = {} + for k,v in ret.iteritems(): + fullret[k+self.label] = v + for k,v in jetret.iteritems(): + fullret["JetSel%s_%s" % (self.label,k)] = v + return fullret + + def passMllVeto(self, l1, l2, mZmin, mZmax, isOSSF ): + if l1.pdgId == -l2.pdgId or not isOSSF: + mz = (l1.p4() + l2.p4()).M() + if mz > mZmin and mz < mZmax: + return False + return True + def passMllTLVeto(self, lep, lepsl, mZmin, mZmax, isOSSF): + for ll in lepsl: + if ll == lep: continue + if not self.passMllVeto(lep, ll, mZmin, mZmax, isOSSF): + return False + return True + def bestZ1TL(self,lepsl,lepst,cut=lambda lep:True): + pairs = [] + for l1 in lepst: + if not cut(l1): continue + for l2 in lepsl: + if not cut(l2): continue + if l1.pdgId == -l2.pdgId: + mz = (l1.p4() + l2.p4()).M() + diff = abs(mz-91.2) + pairs.append( (diff,mz) ) + if len(pairs): + pairs.sort() + return pairs[0][1] + return 0. + def minMllTL(self, lepsl, lepst, bothcut=lambda lep:True, onecut=lambda lep:True, paircut=lambda lep1,lep2:True): + pairs = [] + for l1 in lepst: + if not bothcut(l1): continue + for l2 in lepsl: + if l2 == l1 or not bothcut(l2): continue + if not onecut(l1) and not onecut(l2): continue + if not paircut(l1,l2): continue + mll = (l1.p4() + l2.p4()).M() + pairs.append(mll) + if len(pairs): + return min(pairs) + return -1 + def bestSSPair(self,leps,byflav,bypassMV,cut=lambda lep:True): + ret = (0,1) + if len(leps) < 2: + ret = (0,1) + if len(leps) > 2: + pairs = [] + for il1 in xrange(len(leps)-1): + for il2 in xrange(il1+1,len(leps)): + l1 = leps[il1] + l2 = leps[il2] + if not cut(l1) or not cut(l2): continue + if not self.passMllVeto(l1, l2, 0, 8, False) and not bypassMV: continue + if l1.charge == l2.charge: + flav = abs(l1.pdgId) + abs(l2.pdgId) if byflav else 0 + ht = l1.pt + l2.pt + pairs.append( (-flav,-ht,il1,il2) ) + if len(pairs): + pairs.sort() + ret = (pairs[0][2],pairs[0][3]) + return ret + def SR(self, l1pt, l2pt, ht, met, nj, nb, mtw): + if l1pt > 25 and l2pt > 25 and ht < 300 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 0 and mtw < 120 : SR = 1 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 0 and mtw < 120 : SR = 2 + elif l1pt > 25 and l2pt > 25 and ht < 300 and nb == 0 and ((met > 50 and met < 200 and nj >= 5 and mtw < 120) or (met > 200 and met < 500 and nj >= 2 and mtw < 120) or (met > 50 and met < 500 and nj >= 2 and mtw > 120)) : SR = 3 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 5 and nb == 0 and mtw < 120 : SR = 4 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 2 and nj <= 4 and nb == 0 and mtw < 120 : SR = 5 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 5 and nb == 0 and mtw < 120 : SR = 6 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 0 and mtw > 120 : SR = 7 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and nb == 0 and ((met > 50 and met < 200 and nj >= 5 and mtw > 120) or (met > 200 and met < 500 and nj >= 2 and mtw > 120)) : SR = 8 + elif l1pt > 25 and l2pt > 25 and ht < 300 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 1 and mtw < 120 : SR = 9 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 1 and mtw < 120 : SR = 10 + elif l1pt > 25 and l2pt > 25 and ht < 300 and nb == 1 and ((met > 50 and met < 200 and nj >= 5 and mtw < 120) or (met > 200 and met < 500 and nj >= 2 and mtw < 120) or (met > 50 and met < 500 and nj >= 2 and mtw > 120)) : SR = 11 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 5 and nb == 1 and mtw < 120 : SR = 12 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 2 and nj <= 4 and nb == 1 and mtw < 120 : SR = 13 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 5 and nb == 1 and mtw < 120 : SR = 14 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 1 and mtw > 120 : SR = 15 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and nb == 1 and ((met > 50 and met < 200 and nj >= 5 and mtw > 120) or (met > 200 and met < 500 and nj >= 2 and mtw > 120)) : SR = 16 + elif l1pt > 25 and l2pt > 25 and ht < 300 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 2 and mtw < 120 : SR = 17 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 2 and mtw < 120 : SR = 18 + elif l1pt > 25 and l2pt > 25 and ht < 300 and nb == 2 and ((met > 50 and met < 200 and nj >= 5 and mtw < 120) or (met > 200 and met < 500 and nj >= 2 and mtw < 120) or (met > 50 and met < 500 and nj >= 2 and mtw > 120)) : SR = 19 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 5 and nb == 2 and mtw < 120 : SR = 20 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 2 and nj <= 4 and nb == 2 and mtw < 120 : SR = 21 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 5 and nb == 2 and mtw < 120 : SR = 22 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 2 and mtw > 120 : SR = 23 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and nb == 2 and ((met > 50 and met < 200 and nj >= 5 and mtw > 120) or (met > 200 and met < 500 and nj >= 2 and mtw > 120)) : SR = 24 + elif l1pt > 25 and l2pt > 25 and ht < 300 and met > 50 and met < 200 and nj >= 2 and nb >= 3 and mtw < 120 : SR = 25 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nb >= 3 and mtw < 120 : SR = 26 + elif l1pt > 25 and l2pt > 25 and ht < 300 and met > 200 and met < 500 and nj >= 2 and nb >= 3 and mtw < 120 : SR = 27 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 2 and nb >= 3 and mtw < 120 : SR = 28 + elif l1pt > 25 and l2pt > 25 and ht < 300 and met > 50 and met < 500 and nj >= 2 and nb >= 3 and mtw > 120 : SR = 29 + elif l1pt > 25 and l2pt > 25 and ht > 300 and ht < 1600 and met > 50 and met < 500 and nj >= 2 and nb >= 3 and mtw > 120 : SR = 30 + elif l1pt > 25 and l2pt > 25 and ht > 300 and met > 500 and nj >= 2 : SR = 31 + elif l1pt > 25 and l2pt > 25 and ht > 1600 and met > 50 and met < 500 and nj >= 2 : SR = 32 + #### + elif l1pt > 25 and l2pt < 25 and ht < 300 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 0 and mtw < 120 : SR = 33 #1B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 0 and mtw < 120 : SR = 34 #2B + elif l1pt > 25 and l2pt < 25 and ht < 300 and ((met > 50 and met < 200 and nj >= 5) or (met > 200 and met < 500 and nj >= 2)) and nb == 0 and mtw < 120 : SR = 35 #3B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 5 and nb == 0 and mtw < 120 : SR = 36 #4B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 2 and nj <= 4 and nb == 0 and mtw < 120 : SR = 37 #5B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 5 and nb == 0 and mtw < 120 : SR = 38 #6B + elif l1pt > 25 and l2pt < 25 and ht < 300 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 1 and mtw < 120 : SR = 39 #7B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 1 and mtw < 120 : SR = 40 #8B + elif l1pt > 25 and l2pt < 25 and ht < 300 and ((met > 50 and met < 200 and nj >= 5) or (met > 200 and met < 500 and nj >= 2)) and nb == 1 and mtw < 120 : SR = 41 #9B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 5 and nb == 1 and mtw < 120 : SR = 42 #10B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 2 and nj <= 4 and nb == 1 and mtw < 120 : SR = 43 #11B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 5 and nb == 1 and mtw < 120 : SR = 44 #12B + elif l1pt > 25 and l2pt < 25 and ht < 300 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 2 and mtw < 120 : SR = 45 #13B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nj <= 4 and nb == 2 and mtw < 120 : SR = 46 #14B + elif l1pt > 25 and l2pt < 25 and ht < 300 and ((met > 50 and met < 200 and nj >= 5) or (met > 200 and met < 500 and nj >= 2)) and nb == 2 and mtw < 120 : SR = 47 #15B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 5 and nb == 2 and mtw < 120 : SR = 48 #16B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 2 and nj <= 4 and nb == 2 and mtw < 120 : SR = 49 #17B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 5 and nb == 2 and mtw < 120 : SR = 50 #18B + + elif l1pt > 25 and l2pt < 25 and ht < 300 and met > 50 and met < 200 and nj >= 2 and nb >= 3 and mtw < 120 : SR = 51 #19B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 50 and met < 200 and nj >= 2 and nb >= 3 and mtw < 120 : SR = 52 #20B + elif l1pt > 25 and l2pt < 25 and ht < 300 and met > 200 and met < 500 and nj >= 2 and nb >= 3 and mtw < 120 : SR = 53 #21B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 200 and met < 500 and nj >= 2 and nb >= 3 and mtw < 120 : SR = 54 #21B + elif l1pt > 25 and l2pt < 25 and ht < 300 and met > 50 and met < 500 and nj >= 2 and mtw > 120 : SR = 55 #23B + elif l1pt > 25 and l2pt < 25 and ht > 300 and ht < 1600 and met > 50 and met < 500 and nj >= 2 and mtw > 120 : SR = 56 #24B + elif l1pt > 25 and l2pt < 25 and ht > 300 and met > 500 and nj >= 2 : SR = 57 #25B + elif l1pt > 25 and l2pt < 25 and ht > 1600 and met > 50 and met < 500 and nj >= 2 : SR = 58 #26B + #### + elif l1pt < 25 and l2pt < 25 and met > 50 and met < 200 and nb == 0 and mtw < 120 : SR = 59 #C1 + elif l1pt < 25 and l2pt < 25 and met > 200 and nb == 0 and mtw < 120 : SR = 60 #C2 + elif l1pt < 25 and l2pt < 25 and met > 50 and met < 200 and nb == 1 and mtw < 120 : SR = 61 #C3 + elif l1pt < 25 and l2pt < 25 and met > 200 and nb == 1 and mtw < 120 : SR = 62 #C4 + elif l1pt < 25 and l2pt < 25 and met > 50 and met < 200 and nb == 2 and mtw < 120 : SR = 63 #C5 + elif l1pt < 25 and l2pt < 25 and met > 200 and nb == 2 and mtw < 120 : SR = 64 #C6 + elif l1pt < 25 and l2pt < 25 and nb >= 3 and mtw < 120 : SR = 65 #C7 + elif l1pt < 25 and l2pt < 25 and mtw > 120 : SR = 66 #C8 + else : SR = 0 + return SR + + +def _tthlep_lepId(lep): + #if lep.pt <= 10: return False + if abs(lep.pdgId) == 13: + if lep.pt <= 5: return False + return True #lep.mediumMuonId > 0 + elif abs(lep.pdgId) == 11: + if lep.pt <= 7: return False + if not (lep.convVeto and lep.lostHits == 0): + return False + return True #lep.mvaIdPhys14 > 0.73+(0.57-0.74)*(abs(lep.eta)>0.8)+(0.05-0.57)*(abs(lep.eta)>1.479) + return False + +def _susy2lss_lepId_CBloose(lep): + if abs(lep.pdgId) == 13: + if lep.pt <= 5: return False + return True #lep.mediumMuonId > 0 + elif abs(lep.pdgId) == 11: + if lep.pt <= 7: return False + if not (lep.convVeto and lep.lostHits <= 1): + return False + return True #lep.mvaIdPhys14 > -0.11+(-0.35+0.11)*(abs(lep.eta)>0.8)+(-0.55+0.35)*(abs(lep.eta)>1.479) + return False + +def _susy2lss_lepId_CB(lep): + if lep.pt <= 10: return False + if abs(lep.pdgId) == 13: + return lep.mediumMuonId > 0 and lep.tightCharge > 0 + elif abs(lep.pdgId) == 11: + if not (lep.convVeto and lep.tightCharge > 1 and lep.lostHits == 0): + return False + return lep.mvaIdPhys14 > 0.73+(0.57-0.73)*(abs(lep.eta)>0.8)+(0.05-0.57)*(abs(lep.eta)>1.479) + return False + +def _susy2lss_multiIso(lep): + if abs(lep.pdgId) == 13: A,B,C = (0.14,0.68,6.7) + else: A,B,C = (0.10,0.70,7.0) + return lep.miniRelIso < A and (lep.jetPtRatio > B or lep.jetPtRel > C) + +def _susy2lss_lepId_CBOld(lep): + if lep.pt <= 10: return False + if abs(lep.pdgId) == 13: + return lep.tightId > 0 + elif abs(lep.pdgId) == 11: + return lep.tightId >= 2 and lep.convVeto and lep.tightCharge > 1 and lep.lostHits == 0 + return False + +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + tree.vectorTree = True + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf1 = LeptonJetReCleaner("Old", + lambda lep : lep.relIso03 < 0.5, + lambda lep : lep.relIso03 < 0.1 and lep.sip3d < 4 and _susy2lss_lepId_CB(lep), + cleanJet = lambda lep,jet,dr : (lep.pt > 10 and dr < 0.4)) + self.sf2 = LeptonJetReCleaner("PtRel", + lambda lep : lep.relIso03 < 0.4 or lep.jetPtRel > 5, + lambda lep : (lep.relIso03 < 0.1 or lep.jetPtRel > 14) and lep.sip3d < 4 and _susy2lss_lepId_CB(lep), + cleanJet = lambda lep,jet,dr : (lep.pt > 10 and dr < 0.4)) + self.sf3 = LeptonJetReCleaner("MiniIso", + lambda lep : lep.miniRelIso < 0.4, + lambda lep : lep.miniRelIso < 0.05 and lep.sip3d < 4 and _susy2lss_lepId_CB(lep), + cleanJet = lambda lep,jet,dr : (lep.pt > 10 and dr < 0.4)) + self.sf4 = LeptonJetReCleaner("PtRelJC", + lambda lep : lep.relIso03 < 0.4 or lep.jetPtRel > 5, + lambda lep : (lep.relIso03 < 0.1 or lep.jetPtRel > 14) and lep.sip3d < 4 and _susy2lss_lepId_CB(lep), + cleanJet = lambda lep,jet,dr : (lep.pt > 10 and dr < 0.4 and not (lep.jetPtRel > 5 and lep.pt*(1/lep.jetPtRatio-1) > 25))) + self.sf5 = LeptonJetReCleaner("MiniIsoJC", + lambda lep : lep.miniRelIso < 0.4, + lambda lep : lep.miniRelIso < 0.05 and lep.sip3d < 4 and _susy2lss_lepId_CB(lep), + cleanJet = lambda lep,jet,dr : (lep.pt > 10 and dr < 0.4 and not (lep.jetDR > 0.5*10/min(50,max(lep.pt,200)) and lep.pt*(1/lep.jetPtRatio-1) > 25))) + def analyze(self,ev): + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) + print self.sf1(ev) + print self.sf2(ev) + print self.sf3(ev) + print self.sf4(ev) + print self.sf5(ev) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) + + diff --git a/CMGTools/TTHAnalysis/python/tools/resolvedTopTagVars_1l.py b/CMGTools/TTHAnalysis/python/tools/resolvedTopTagVars_1l.py new file mode 100644 index 000000000000..3a6143b1935d --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/resolvedTopTagVars_1l.py @@ -0,0 +1,236 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * +from ROOT import TLorentzVector, TVector2 +import ROOT +import itertools + +def deltaR(eta1,eta2,phi1,phi2): + deta = eta1-eta2 + dphi = ROOT.TVector2.Phi_mpi_pi(phi1-phi2); + return sqrt( deta*deta+dphi*dphi ) + +RMinCut = 0.85 * 80.385/173.5 +RMaxCut = 1.25 * 80.385/173.5 + +#(mW = 80.385 GeV & mtop = 173.5 GeV) + + +def collectFinalTopPermutations(jetidxlist, jets, requireBTagforCombo = False, coneSizeFinal = 1.5, doIteration = True): +# print "jetidxlist", jetidxlist + allcomblists = [] + for i, ijetidx in enumerate(jetidxlist): +# print ijetidx, ": " + closeByJets = [i] #also put the seed jet into the combinations... + for jjetidx in jetidxlist[i+1:]: #loop over all following (i+1->end) jets +# print jjetidx, + deltaR = jets[ijetidx].p4().DeltaR(jets[jjetidx].p4()) + if deltaR<(2*coneSizeFinal): + closeByJets.append(jjetidx) +# print closeByJets + combList = [] + if(len(closeByJets)>2): + combList = list(itertools.combinations(closeByJets, 3)) # get all combinations with three jets +# print combList + allcomblists = allcomblists+combList + cleanedallcomblists = set(allcomblists) + + nTriplets = len(allcomblists) + nCleanedTriplets = len(cleanedallcomblists) + + topPermutations = [] + for comb in cleanedallcomblists: + topPermutations.append(TopPermutation(comb[0],comb[1],comb[2],jets, coneSizeFinal)) + successfulTopPermutations = [] + if requireBTagforCombo: + successfulTopPermutations = [value for value in topPermutations if value.passesTopWBTagCuts] + else: + successfulTopPermutations = [value for value in topPermutations if value.passesTopWCuts] + + sortedsuccessfulTopPermutations = sorted(successfulTopPermutations, key=lambda TopPermutation: TopPermutation.distanceToMTop) + + if doIteration: + returnIteratedPerms = [] + if(len(sortedsuccessfulTopPermutations)>0): + bestPerm = sortedsuccessfulTopPermutations[0] + returnIteratedPerms.append(bestPerm) #add best permutation + cleanedJetIdxList = [jetidx for jetidx in jetidxlist if jetidx not in bestPerm.ids] + # print "about to iterate", cleanedJetIdxList + returnIteratedPerms += (collectFinalTopPermutations(cleanedJetIdxList, jets)) #add more permutations iteratively, working on cleaned jetidxlist + return returnIteratedPerms + else: + return sortedsuccessfulTopPermutations + +class TopPermutation: + def __init__(self, idxJ1, idxJ2, idxJ3, jets, coneSize): + self.ids = (idxJ1,idxJ2,idxJ3) + self.ConeCompatible, self.passesWCuts, self.passesTopWCuts, self.passesWBTagCuts, self.passesTopWBTagCuts = False, False, False, False, False + self.checkConeCompatibility(jets, coneSize) + if self.ConeCompatible: + self.findBestBTags(jets) + self.calculateMasses(jets) + def __repr__(self): + return repr((self.ids[0], self.ids[1], self.ids[2])) + def checkConeCompatibility(self, jets, coneSize): + etaSum = 0 + for id in self.ids: etaSum += jets[id].eta + etaAve = etaSum/3 + + phi1 = jets[self.ids[0]].phi + phi2 = jets[self.ids[1]].phi + phi3 = jets[self.ids[2]].phi + + phiAve = ROOT.TVector2.Phi_mpi_pi(phi1 + ROOT.TVector2.Phi_mpi_pi(phi2-phi1)/3 + ROOT.TVector2.Phi_mpi_pi(phi3-phi1)/3) + + self.ConeCompatible = True + for id in self.ids: + if deltaR(etaAve, jets[id].eta, phiAve, jets[id].phi)>coneSize: self.ConeCompatible = False + + + + def calculateMasses(self, jets): + jet1 = jets[self.ids[0]].p4() + jet2 = jets[self.ids[1]].p4() + jet3 = jets[self.ids[2]].p4() + self.m12 = (jet1+jet2).M() + self.m23 = (jet2+jet3).M() + self.m13 = (jet1+jet3).M() + self.m123 = (jet1+jet2+jet3).M() + self.pt123 = (jet1+jet2+jet3).Pt() + + + passesm23 = True if RMinCut < self.m23/self.m123 < RMaxCut else False + passesm12 = True if RMinCut < self.m12/self.m123 < RMaxCut and self.m23/self.m123>0.35 else False + passesm13 = True if RMinCut < self.m13/self.m123 < RMaxCut and self.m23/self.m123>0.35 else False + + #do unambiguous decision about kinematic b candidate in top (if there are two possibilities, take the higher CMVA-value) + if passesm23 and not passesm12 and not passesm13: + self.kinBCandidateidx = self.ids[0] + elif passesm12 and not passesm23 and not passesm13: + self.kinBCandidateidx = self.ids[2] + elif passesm13 and not passesm23 and not passesm12: + self.kinBCandidateidx = self.ids[1] + elif passesm23 and passesm12 and not passesm13: + self.kinBCandidateidx = self.ids[0] if jets[self.ids[0]].btagCMVA > jets[self.ids[2]].btagCMVA else self.ids[2] + elif passesm23 and passesm13 and not passesm12: + self.kinBCandidateidx = self.ids[0] if jets[self.ids[0]].btagCMVA > jets[self.ids[1]].btagCMVA else self.ids[1] + elif passesm12 and passesm13 and not passesm23: + self.kinBCandidateidx = self.ids[2] if jets[self.ids[2]].btagCMVA > jets[self.ids[1]].btagCMVA else self.ids[1] + else: + self.kinBCandidateidx = -999 + + self.passesWCuts = True if passesm23 or passesm12 or passesm13 else False + self.passesTopWCuts = True if self.passesWCuts and 80. < self.m123 < 270. else False + + sum = ROOT.TLorentzVector(0,0,0,0) + for idx in self.ids: + sum+= jets[idx].p4() +# print "compare m123: ", self.m123, sum.M() + self.m123 = sum.M() + + idsWithoutBestBTag = self.ids[:self.sortIdsByBTag[0]] + self.ids[(self.sortIdsByBTag[0] + 1):] #copy of self.ids, leaving out element with best btag + sum.SetPxPyPzE(0,0,0,0) + for idx in idsWithoutBestBTag: + sum+= jets[idx].p4() + self.mNonB = sum.M() + + rejectQCD = 999 + if self.sortIdsByBTag[0] != 0: + sum = jets[self.ids[self.sortIdsByBTag[0]]].p4() + sum += jets[idsWithoutBestBTag[1]].p4() # pair b-jet with lower pt jet (of the two W jet cands) to suppress bkg + rejectQCD = sum.M()/self.m123 + + self.passesWBTagCuts = True if rejectQCD > 0.35 and RMinCut < self.mNonB/self.m123 < RMaxCut and jets[self.ids[self.sortIdsByBTag[0]]].btagCMVA>0.732 else False + self.passesTopWBTagCuts = True if rejectQCD > 0.35 and RMinCut < self.mNonB/self.m123 < RMaxCut and 80. < self.m123 < 270. and jets[self.ids[self.sortIdsByBTag[0]]].btagCMVA>0.732 else False + + self.distanceToMTop = abs(self.m123-173.5) + + def findBestBTags(self, jets): + iBTagDict = {i: jets[idx].btagCMVA for i, idx in enumerate(self.ids)} + self.sortIdsByBTag = sorted(iBTagDict, key=iBTagDict.get, reverse=True) + + +class resolvedTopTagVars1l: + def __init__(self): + self.branches = [("nTopTags","I"),("nTopBTags","I"),("nTopTagCandsNoIter","I"), + ("bestM123TopTag","F",10,"nTopTags"),("bestpt123TopTag","F",10,"nTopTags"), +# ("nTopTagsR2","I"), +# ("bestM123TopTagR2","F",10,"nTopTagsR2"),("bestpt123TopTagR2","F",10,"nTopTagsR2"), + ("bestM123BTagTopTag","F",10,"nTopBTags"),("bestpt123BTagTopTag","F",10,"nTopBTags"), + ("betterQGLTopTagidx","F",10,"nTopTags"), ("worseQGLTopTagidx","F",10,"nTopTags"), + ("bestBTagTopTagidx","F",10,"nTopTags"),("kinBCandidateidx","F",10,"nTopTags") + ]#, (jetptclone,"f",)] + + def listBranches(self): + return self.branches[:] + + def __call__(self,event,keyvals): + + jets = [j for j in Collection(event,"Jet","nJet")] + #WARNING: This will actually read in all jets, not just the ones passing the 1l selection criteria (currently pt>30 GeV); should revise this + njet = len(jets) + + + + finalTopPermutations = [] + finalTopBTagPermutations = [] + + jetlist = [i for i, jet in enumerate(jets)] + + finalTopPermutations = collectFinalTopPermutations(jetlist,jets) +# finalTopR2Permutations = collectFinalTopPermutations(jetlist,jets, False, 2) + finalTopBTagPermutations = collectFinalTopPermutations(jetlist,jets, True) + noIterationCollectAllTopPermutations = collectFinalTopPermutations(jetlist,jets, False, 1.5, False) + +# print "strt" +# print finalTopPermutations +# print finalTopBTagPermutations + + ret = { 'nTopTags' : len(finalTopPermutations) } #initialize the dictionary with a first entry +# ret['nTopTagsR2'] = len(finalTopR2Permutations) + ret['nTopBTags'] = len(finalTopBTagPermutations) + ret['nTopTagCandsNoIter'] = len(noIterationCollectAllTopPermutations) + + + + ret['bestM123TopTag'] = [perm.m123 for perm in finalTopPermutations] + ret['bestpt123TopTag'] = [perm.pt123 for perm in finalTopPermutations] +# ret['bestM123TopTagR2'] = [perm.m123 for perm in finalTopR2Permutations] + +# ret['bestpt123TopTagR2'] = [perm.pt123 for perm in finalTopR2Permutations] + ret['bestM123BTagTopTag'] = [perm.m123 for perm in finalTopBTagPermutations] + ret['bestpt123BTagTopTag'] = [perm.pt123 for perm in finalTopBTagPermutations] + + ret['bestBTagTopTagidx'] = [perm.ids[perm.sortIdsByBTag[0]] for perm in finalTopPermutations] + ret['kinBCandidateidx'] = [perm.kinBCandidateidx for perm in finalTopPermutations] + + betterQGLidx = [] + worseQGLidx = [] + for perm in finalTopPermutations: + if jets[perm.ids[perm.sortIdsByBTag[1]]].qgl >= jets[perm.ids[perm.sortIdsByBTag[2]]].qgl: + betterQGLidx.append(perm.ids[perm.sortIdsByBTag[1]]) + worseQGLidx.append(perm.ids[perm.sortIdsByBTag[2]]) + else: + betterQGLidx.append(perm.ids[perm.sortIdsByBTag[2]]) + worseQGLidx.append(perm.ids[perm.sortIdsByBTag[1]]) + + ret['betterQGLTopTagidx'] = betterQGLidx + ret['worseQGLTopTagidx'] = worseQGLidx + + + return ret + +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf = resolvedTopTagVars1l() + def analyze(self,ev): + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) + print self.sf(ev) + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) + + + diff --git a/CMGTools/TTHAnalysis/python/tools/susyVars_2lssInc.py b/CMGTools/TTHAnalysis/python/tools/susyVars_2lssInc.py new file mode 100644 index 000000000000..4ee6df396802 --- /dev/null +++ b/CMGTools/TTHAnalysis/python/tools/susyVars_2lssInc.py @@ -0,0 +1,121 @@ +from CMGTools.TTHAnalysis.treeReAnalyzer import * + +class SusyVars2LSSInc: + def __init__(self): + self.branches = [ "iL1", "iL2", "iL1T", "iL2T", + "mZ1cut10LL","mZ1cut10TL","minMllAFASTL","minMllAFOSTL","minMllSFOSTL", + "nLepGood10T", "nLepGood10noBJet40", "nLepGood10noBJet25", + "nLepGood10relIso04sip10", + "nLepGood10relIso04sip10noBJet25", + "nBJetMedium40LepRec", "nBJetMedium25LepRec", + "htJet25je08", "htJet25je12", "htJet25j", + "htJet40je08", "htJet40je12" ] + def listBranches(self): + return self.branches[:] + def bestPair(self,leps,cut=lambda lep:True): + ret = (0,1) + if len(leps) > 2: + pairs = [] + for il1 in xrange(len(leps)-1): + for il2 in xrange(il1+1,len(leps)): + l1 = leps[il1] + l2 = leps[il2] + if l2.pt < 10: break + if not cut(l1) or not cut(l2): continue + if l1.charge == l2.charge: + flav = abs(l1.pdgId) + abs(l2.pdgId) + ht = l1.pt + l2.pt + pairs.append( (-flav,-ht,il1,il2) ) + if len(pairs): + pairs.sort() + ret = (pairs[0][2],pairs[0][3]) + return ret + def bestZ1WithCut(self,leps,bothcut=lambda lep:True,onecut=lambda lep:True): + pairs = [] + for il1 in xrange(len(leps)-1): + for il2 in xrange(il1+1,len(leps)): + l1 = leps[il1] + l2 = leps[il2] + if not bothcut(l1) or not bothcut(l2): continue + if not onecut(l1) and not onecut(l2): continue + if l1.pdgId == -l2.pdgId: + mz = (l1.p4() + l2.p4()).M() + diff = abs(mz-91.2) + pairs.append( (diff,il1,il2,mz) ) + if len(pairs): + pairs.sort() + return pairs[0][3] + return 0 + def minMllWithCut(self,leps,bothcut=lambda lep:True,onecut=lambda lep:True,paircut=lambda lep1,lep2:True): + pairs = [] + for il1 in xrange(len(leps)-1): + for il2 in xrange(il1+1,len(leps)): + l1 = leps[il1] + l2 = leps[il2] + if not bothcut(l1) or not bothcut(l2): continue + if not onecut(l1) and not onecut(l2): continue + if not paircut(l1,l2): continue + mll = (l1.p4() + l2.p4()).M() + pairs.append(mll) + if len(pairs): + return min(pairs) + return 0 + def lepId(self,lep): + if lep.pt <= 10: return False + if abs(lep.pdgId) == 13: + if not self.muId(lep): return False + elif abs(lep.pdgId) == 11: + if not self.eleId(lep): return False + return lep.relIso03 < 0.1 and abs(lep.sip3d) < 4 + def muId(self,mu): + return mu.tightId > 0 + def eleId(self,ele): + return ele.tightId >= 2 and ele.convVeto and ele.tightCharge > 1 and ele.lostHits == 0 + def __call__(self,event): + leps = [l for l in Collection(event,"LepGood","nLepGood")] + iL1iL2_all = self.bestPair(leps) + iL1iL2_tight = self.bestPair(leps, cut = lambda lep : self.lepId(lep)) + ret = { 'iL1':iL1iL2_all[0], 'iL2':iL1iL2_all[1], + 'iL1T':iL1iL2_tight[0], 'iL2T':iL1iL2_tight[1], } + ret['mZ1cut10LL'] = self.bestZ1WithCut(leps, bothcut=lambda l:l.pt>10) + ret['mZ1cut10TL'] = self.bestZ1WithCut(leps, bothcut=lambda l:l.pt>10, onecut=lambda lep:self.lepId(lep)) + ret['minMllAFASTL'] = self.minMllWithCut(leps, onecut=lambda lep:self.lepId(lep)) + ret['minMllAFOSTL'] = self.minMllWithCut(leps, onecut=lambda lep:self.lepId(lep), paircut = lambda l1,l2 : l1.charge!=l2.charge) + ret['minMllSFOSTL'] = self.minMllWithCut(leps, onecut=lambda lep:self.lepId(lep), paircut = lambda l1,l2 : l1.pdgId==-l2.pdgId) + jets = [j for j in Collection(event,"Jet","nJet")] + ret['htJet25j'] = sum([j.pt for j in jets if (j.pt > 25)]) # missing in input trees + ret['htJet25je08'] = sum([j.pt for j in jets if (j.pt > 25 and abs(j.eta) < 0.8)]) + ret['htJet25je12'] = sum([j.pt for j in jets if (j.pt > 25 and abs(j.eta) < 1.2)]) + ret['htJet40je08'] = sum([j.pt for j in jets if (j.pt > 40 and abs(j.eta) < 0.8)]) + ret['htJet40je12'] = sum([j.pt for j in jets if (j.pt > 40 and abs(j.eta) < 1.2)]) + ret['nLepGood10T'] = sum([(self.lepId(l)) for l in leps ]) + ret['nLepGood10noBJet40'] = sum([((l.jetBTagCSV<0.814 or l.pt/l.jetPtRatio<=40) and l.pt > 10) for l in leps ]) + ret['nLepGood10noBJet25'] = sum([((l.jetBTagCSV<0.814 or l.pt/l.jetPtRatio<=25) and l.pt > 10) for l in leps ]) + ret['nLepGood10relIso04sip10'] = sum([(l.relIso03<0.4 and l.sip3d < 10 and l.pt > 10) for l in leps ]) + ret['nLepGood10relIso04sip10noBJet25'] = sum([(l.relIso03<0.4 and l.sip3d < 10 and l.pt > 10 and (l.jetBTagCSV<0.814 or l.pt/l.jetPtRatio<=25)) for l in leps ]) + ret['nBJetMedium40LepRec'] = event.nBJetMedium40 + sum([(l.jetBTagCSV>0.814 and l.pt/l.jetPtRatio>40) for l in leps ]) + ret['nBJetMedium25LepRec'] = event.nBJetMedium25 + sum([(l.jetBTagCSV>0.814 and l.pt/l.jetPtRatio>25) for l in leps ]) + return ret + +if __name__ == '__main__': + from sys import argv + file = ROOT.TFile(argv[1]) + tree = file.Get("tree") + tree.vectorTree = True + class Tester(Module): + def __init__(self, name): + Module.__init__(self,name,None) + self.sf = SusyVars2LSSInc() + def analyze(self,ev): + if ev.nLepGood <= 2: return True + print "\nrun %6d lumi %4d event %d: leps %d" % (ev.run, ev.lumi, ev.evt, ev.nLepGood) + print self.sf(ev) + leps = [l for l in Collection(ev,"LepGood","nLepGood")] + if len(leps) > 2: + for i,l in enumerate(leps): + print "\t%2d pdgId: %+2d pT: %6.2f" % (i,l.pdgId,l.pt) + print "" + el = EventLoop([ Tester("tester") ]) + el.loop([tree], maxEvents = 50) + + diff --git a/CMGTools/TTHAnalysis/python/treeReAnalyzer.py b/CMGTools/TTHAnalysis/python/treeReAnalyzer.py index 9762a1d940ee..f57fa468fd72 100644 --- a/CMGTools/TTHAnalysis/python/treeReAnalyzer.py +++ b/CMGTools/TTHAnalysis/python/treeReAnalyzer.py @@ -48,13 +48,22 @@ def eval(self,expr): warnings.filterwarnings(action='ignore', category=RuntimeWarning, message='creating converter for unknown type "const char\*\*"$') if expr not in self._tree._exprs: - self._tree._exprs[expr] = ROOT.TTreeFormula(expr,expr,self._tree) + formula = ROOT.TTreeFormula(expr,expr,self._tree) + if formula.IsInteger(): + formula.go = formula.EvalInstance64 + else: + formula.go = formula.EvalInstance + self._tree._exprs[expr] = formula # force sync, to be safe self._tree.GetEntry(self._entry) self._tree.entry = self._entry + #self._tree._exprs[expr].SetQuickLoad(False) else: self._sync() - return self._tree._exprs[expr].EvalInstance() + formula = self._tree._exprs[expr] + if "[" in expr: # unclear why this is needed, but otherwise for some arrays x[i] == 0 for all i > 0 + formula.GetNdata() + return formula.go() class Object: @@ -65,6 +74,8 @@ def __init__(self,event,prefix,index=None): def __getattr__(self,name): if name in self.__dict__: return self.__dict__[name] if name == "pdgLabel": return self.pdgLabel_() + if name[:2] == "__" and name[-2:] == "__": + raise AttributeError try: val = getattr(self._event,self._prefix+name) if self._index != None: @@ -93,6 +104,10 @@ def p4(self): return ret def subObj(self,prefix): return Object(self,self._event,self._prefix+prefix) + def __repr__(self): + return ("<%s[%s]>" % (self._prefix[:-1],self._index)) if self._index != None else ("<%s>" % self._prefix[:-1]) + def __str__(self): + return self.__repr__() class Collection: def __init__(self,event,prefix,len=None,maxlen=None,testVar="pt"): @@ -147,6 +162,12 @@ def analyze(self,event): pass def book(self,what,name,*args): return self._booker.book(what,name,*args) + def beginComponent(self,component): + """Used when running within tree2yields""" + pass + def endComponent(self,component): + """Used when running within tree2yields""" + pass class EventLoop: def __init__(self,modules): @@ -169,6 +190,10 @@ def loop(self,trees,maxEvents=-1,cut=None,eventRange=None): if i > 0 and i % 10000 == 0: print "Processed %8d/%8d entries of this tree" % (i,tree.GetEntries()) for m in modules: m.endJob() + def beginComponent(self,component): + for m in self._modules: m.beginComponent(component) + def endComponent(self,component): + for m in self._modules: m.endComponent(component) #### ========= NTUPLING AND HISTOGRAMMING ======================= class PyTree: diff --git a/CMGTools/TTHAnalysis/skim/skim.py b/CMGTools/TTHAnalysis/skim/skim.py deleted file mode 100644 index c4dc0e3ca81c..000000000000 --- a/CMGTools/TTHAnalysis/skim/skim.py +++ /dev/null @@ -1,389 +0,0 @@ -import FWCore.ParameterSet.Config as cms - -from CMGTools.Common.Tools.cmsswRelease import isNewerThan - - -runOnMC = True -runOld5XGT = False -runOnFastSim = False -runOnCMGV56 = False -LOOSE_ID = "&& abs(sourcePtr.dB('PV3D')/sourcePtr.edB('PV3D')) < 100" -LOOSE_ID = LOOSE_ID + "&& chargedHadronIso/pt < 0.4" -process = cms.Process("CMG") - - -process.RandomNumberGeneratorService = cms.Service("RandomNumberGeneratorService", - sourceSeed = cms.untracked.uint32(414000), - moduleSeeds = cms.PSet( - patElectronsWithTrigger = cms.untracked.uint32(1041963), - ) -) - - -from CMGTools.Production.datasetToSource import * -process.source = datasetToSource( - 'cmgtools', - '/TTH_Inclusive_M-125_8TeV_pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5/PAT_CMG_V5_10_0', - #'/WZJetsTo3LNu_TuneZ2_8TeV-madgraph-tauola/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/PAT_CMG_V5_10_0', - #'/TTTo2L2Nu2B_8TeV-powheg-pythia6/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_10_0' - #'/TTJets_TuneZ2star_8TeV-madgraph-tauola/Summer12-PU_S7_START52_V9-v1/AODSIM/V5_B/PAT_CMG_V5_6_0_B' - #'/DYJetsToLL_M-50_TuneZ2Star_8TeV-madgraph-tarball/Summer12_DR53X-PU_S10_START53_V7A-v1/AODSIM/V5_B/PAT_CMG_V5_10_0' - #'/DoubleMu/Run2012C-PromptReco-v2/AOD/PAT_CMG_V5_10_0_runrange_start-203002' - ) - - -## Maximal Number of Events -process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(20000) ) - -print 'loading the main CMG sequence' - -process.load('CMGTools.Common.PAT.PATCMG_cff') - -######################################################## -#### VERTICES -######################################################## -process.goodPrimaryVertices = cms.EDFilter("VertexSelector", - src = cms.InputTag("offlinePrimaryVertices"), - cut = cms.string("!isFake && ndof > 4 && abs(z) <= 24 && position.Rho <= 2"), - filter = cms.bool(True), -) - -######################################################## -#### MUONS -######################################################## -process.correctedMuons = cms.EDProducer('RochesterPATMuonCorrector', - src = cms.InputTag("patMuonsWithTrigger") -) - -process.patMuonsWithTrigger = cms.EDProducer('CMGPATMuonCleanerBySegments', - src = cms.InputTag("correctedMuons"), - preselection = cms.string("track.isNonnull"), - passthrough = cms.string("isGlobalMuon && numberOfMatches >= 2"), - fractionOfSharedSegments = cms.double(0.499) -) - -process.cmgMuon.cfg.inputCollection = 'patMuonsWithTrigger' - -process.muonSequence = cms.Sequence( - process.correctedMuons+process.patMuonsWithTrigger+process.cmgMuon+process.cmgMuonSel -) - -######################################################## -#### ELECTRONS -######################################################## -process.patElectronsWithRegression = cms.EDProducer("RegressionEnergyPatElectronProducer", - debug = cms.untracked.bool(False), - inputPatElectronsTag = cms.InputTag('patElectronsWithTrigger'), - regressionInputFile = cms.string("EGamma/EGammaAnalysisTools/data/eleEnergyRegWeights_V1.root"), - energyRegressionType = cms.uint32(1), - rhoCollection = cms.InputTag('kt6PFJets:rho:RECO'), - vertexCollection = cms.InputTag('goodPrimaryVertices') -) - - -process.patElectronsWithTrigger = cms.EDProducer("CalibratedPatElectronProducer", - inputPatElectronsTag = cms.InputTag("patElectronsWithRegression"), - isMC = cms.bool(runOnMC), - isAOD = cms.bool(False), - debug = cms.bool(False), - updateEnergyError = cms.bool(True), - applyCorrections = cms.int32(1), - inputDataset = cms.string("Summer12_DR53X_HCP2012" if runOnMC else "2012Jul13ReReco"), -) - -process.cmgElectron.cfg.inputCollection = 'patElectronsWithTrigger' -process.cmgElectron.cfg.updateConversionVeto = cms.bool(False) ## needed for CMG-on-CMG - -process.electronSequence = cms.Sequence( - process.patElectronsWithRegression + - process.patElectronsWithTrigger + - process.cmgElectron + - process.cmgElectronSel -) - -######################################################## -#### GEN H->BB VETO -######################################################## -process.genHBB = cms.EDFilter("GenParticleSelector", - src = cms.InputTag("genParticlesPruned"), - cut = cms.string("pdgId == 25 && (daughterRef(0).pdgId) == 5"), - filter = cms.bool(True), -) - -######################################################## -#### GEN-LEVEL SKIMMING -######################################################## -process.genHWWZZtt = cms.EDFilter("GenParticleSelector", - src = cms.InputTag("genParticlesPruned"), - cut = cms.string("pdgId == 25 && (abs(daughterRef(0).pdgId) == 24 || abs(daughterRef(0).pdgId) == 23 || abs(daughterRef(0).pdgId) == 15)"), - filter = cms.bool(True), -) -process.genHWW = process.genHWWZZtt.clone(cut = "pdgId == 25 && (abs(daughterRef(0).pdgId) == 24)") -process.genHZZ = process.genHWWZZtt.clone(cut = "pdgId == 25 && (abs(daughterRef(0).pdgId) == 23)") -process.genHtt = process.genHWWZZtt.clone(cut = "pdgId == 25 && (abs(daughterRef(0).pdgId) == 15)") - -process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi") -process.leptonsFromHardScattering1 = cms.EDProducer("GenParticlePruner", - src = cms.InputTag("genParticlesPruned"), - select = cms.vstring( - "drop * ", # this is the default - "keep++ (abs(pdgId) = 11 || abs(pdgId) == 13 || abs(pdgId) == 15) && status == 3", - ) -) -process.leptonsFromHardScattering = cms.EDFilter("GenParticleSelector", - src = cms.InputTag("leptonsFromHardScattering1"), - cut = cms.string("status == 1 && (abs(pdgId) == 11 && pt > 7 && abs(eta) < 2.5 ||"+ - " abs(pdgId) == 13 && pt > 5 && abs(eta) < 2.4)"), -) -process.bQuarksFromTopNoACC = cms.EDFilter("GenParticleSelector", - src = cms.InputTag("genParticlesPruned"), - cut = cms.string("status == 3 && abs(pdgId) == 5 && numberOfMothers > 0 && abs(motherRef.pdgId()) == 6"), -) -process.dileptonsFromHardScattering = cms.EDProducer("CandViewShallowCloneCombiner", - decay = cms.string("leptonsFromHardScattering leptonsFromHardScattering"), - cut = cms.string("deltaR(daughter(0).eta, daughter(0).phi, daughter(1).eta, daughter(1).phi) > 0.1"), - checkCharge = cms.bool(False), -) -process.diBQuarks = cms.EDProducer("CandViewShallowCloneCombiner", - decay = cms.string("bQuarksFromTopNoACC bQuarksFromTopNoACC"), - cut = cms.string("deltaR(daughter(0).eta, daughter(0).phi, daughter(1).eta, daughter(1).phi) > 0.4"), - checkCharge = cms.bool(False), -) -process.genSeq = cms.Sequence( - process.genHWWZZtt+ - process.leptonsFromHardScattering1+process.leptonsFromHardScattering+process.dileptonsFromHardScattering+ - process.bQuarksFromTopNoACC + process.diBQuarks -) - -process.triLepFilterGen = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("leptonsFromHardScattering"), minNumber = cms.uint32(3)) -process.fourLepFilterGen = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("leptonsFromHardScattering"), minNumber = cms.uint32(4)) -process.diLepFilterGen2010 = cms.EDFilter("CandViewSelector", - src = cms.InputTag("dileptonsFromHardScattering"), - cut = cms.string("max(daughter(0).pt, daughter(1).pt) > 20 && min(daughter(0).pt, daughter(1).pt) > 10"), - filter = cms.bool(True), -) -process.diLepFilterGen2010SS = cms.EDFilter("CandViewSelector", - src = cms.InputTag("dileptonsFromHardScattering"), - cut = cms.string("max(daughter(0).pt, daughter(1).pt) > 20 && min(daughter(0).pt, daughter(1).pt) > 10 && charge != 0"), - filter = cms.bool(True), -) -process.diLepFilterGen2015SS = cms.EDFilter("CandViewSelector", - src = cms.InputTag("dileptonsFromHardScattering"), - cut = cms.string("max(daughter(0).pt, daughter(1).pt) > 20 && min(daughter(0).pt, daughter(1).pt) > 15 && charge != 0"), - filter = cms.bool(True), -) -process.diLepFilterGen2020SS = cms.EDFilter("CandViewSelector", - src = cms.InputTag("dileptonsFromHardScattering"), - cut = cms.string("max(daughter(0).pt, daughter(1).pt) > 20 && min(daughter(0).pt, daughter(1).pt) > 20 && charge != 0"), - filter = cms.bool(True), -) -process.diBQuarkEta25Pt25 = cms.EDFilter("CandViewSelector", - src = cms.InputTag("diBQuarks"), - cut = cms.string("max(abs(daughter(0).eta), abs(daughter(1).eta)) < 2.5 && min(daughter(0).pt, daughter(1).pt) > 25"), - filter = cms.bool(True), -) - -if True: ## set to True to compute gen-level acceptances - gens = [ '', 'WW', 'ZZ', 'tt' ] - process.GEN_WW_ZZ_tt = cms.Path(process.genSeq) - for X in gens: - genf = process.genSeq - if X != '': - genf = cms.Sequence(process.genSeq + getattr(process, 'genH'+X)) - setattr(process,'GEN_'+X, cms.Path(genf)) - setattr(process,'ACC'+X+'_2L_2010', cms.Path(genf + process.diLepFilterGen2010)) - setattr(process,'ACC'+X+'_2L_2010SS', cms.Path(genf + process.diLepFilterGen2010SS)) - setattr(process,'ACC'+X+'_3L_2010', cms.Path(genf + process.diLepFilterGen2010 + process.triLepFilterGen)) - setattr(process,'ACC'+X+'_4L_2010', cms.Path(genf + process.diLepFilterGen2010 + process.fourLepFilterGen)) - setattr(process,'ACC'+X+'_2L_2010_2B_2525', cms.Path(genf + process.diLepFilterGen2010 + process.diBQuarkEta25Pt25)) - setattr(process,'ACC'+X+'_3L_2010_2B_2525', cms.Path(genf + process.diLepFilterGen2010 + process.triLepFilterGen + process.diBQuarkEta25Pt25)) - setattr(process,'ACC'+X+'_4L_2010_2B_2525', cms.Path(genf + process.diLepFilterGen2010 + process.fourLepFilterGen + process.diBQuarkEta25Pt25)) - setattr(process,'ACC'+X+'_2L_2010SS_2B_2525', cms.Path(genf + process.diLepFilterGen2010SS + process.diBQuarkEta25Pt25)) - - -######################################################## -#### SKIMMING -######################################################## -process.muForSkim = cms.EDFilter("CandViewSelector", - src = cms.InputTag("cmgMuonSel"), - cut = cms.string("pt > 5 && abs(eta)<2.4 && (isGlobalMuon || (isTrackerMuon && numberOfMatches>0)) "+LOOSE_ID), -) - -process.eleForSkim = cms.EDFilter("CandViewSelector", - src = cms.InputTag("cmgElectronSel"), - cut = cms.string("pt > 7 && abs(eta)<2.5 "+LOOSE_ID), -) -process.lepForSkim = cms.EDProducer("CandViewMerger", - src = cms.VInputTag(cms.InputTag("muForSkim"), cms.InputTag("eleForSkim")) -) - -process.centralJetsForSkim = cms.EDFilter("CandViewSelector", - src = cms.InputTag("cmgPFJetSel"), - cut = cms.string("pt > 20 && abs(eta) < 3 && getSelection('cuts_looseJetId') && passLooseFullPuJetId"), -) - -process.triLepFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("lepForSkim"), minNumber = cms.uint32(3)) -process.diJetFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("centralJetsForSkim"), minNumber = cms.uint32(2)) - -process.diLepCandidate = cms.EDProducer("CandViewShallowCloneCombiner", - decay = cms.string("lepForSkim lepForSkim"), - cut = cms.string("deltaR(daughter(0).eta, daughter(0).phi, daughter(1).eta, daughter(1).phi)>0.02"), - checkCharge = cms.bool(False), -) -process.triLepCandidate = cms.EDProducer("CandViewShallowCloneCombiner", - decay = cms.string("lepForSkim lepForSkim lepForSkim"), - cut = cms.string("deltaR(daughter(0).eta, daughter(0).phi, daughter(1).eta, daughter(1).phi)>0.02 &&"+ - "deltaR(daughter(0).eta, daughter(0).phi, daughter(2).eta, daughter(2).phi)>0.02 &&"+ - "deltaR(daughter(1).eta, daughter(1).phi, daughter(2).eta, daughter(2).phi)>0.02 "), - checkCharge = cms.bool(False), -) -process.diJetCandidate = cms.EDProducer("CandViewShallowCloneCombiner", - decay = cms.string("centralJetsForSkim centralJetsForSkim"), - cut = cms.string("deltaR(daughter(0).eta, daughter(0).phi, daughter(1).eta, daughter(1).phi) > 0.3"), - checkCharge = cms.bool(False), -) -process.llljjCandidate = cms.EDProducer("CandViewShallowCloneCombiner", - decay = cms.string("triLepCandidate diJetCandidate"), - cut = cms.string("deltaR(daughter(0).daughter(0).eta, daughter(0).daughter(0).phi, daughter(1).daughter(0).eta, daughter(1).daughter(0).phi)>0.3 &&"+ - "deltaR(daughter(0).daughter(0).eta, daughter(0).daughter(0).phi, daughter(1).daughter(1).eta, daughter(1).daughter(1).phi)>0.3 &&"+ - "deltaR(daughter(0).daughter(1).eta, daughter(0).daughter(1).phi, daughter(1).daughter(0).eta, daughter(1).daughter(0).phi)>0.3 &&"+ - "deltaR(daughter(0).daughter(1).eta, daughter(0).daughter(1).phi, daughter(1).daughter(1).eta, daughter(1).daughter(1).phi)>0.3 &&"+ - "deltaR(daughter(0).daughter(2).eta, daughter(0).daughter(2).phi, daughter(1).daughter(0).eta, daughter(1).daughter(0).phi)>0.3 &&"+ - "deltaR(daughter(0).daughter(2).eta, daughter(0).daughter(2).phi, daughter(1).daughter(1).eta, daughter(1).daughter(1).phi)>0.3"), - checkCharge = cms.bool(False), -) -process.triLepCleanFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("triLepCandidate"), minNumber = cms.uint32(1)) -process.diJetCleanFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("diJetCandidate"), minNumber = cms.uint32(1)) -process.llljjFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("llljjCandidate"), minNumber = cms.uint32(1)) - -process.diLepFilter2010 = cms.EDFilter("CandViewSelector", - src = cms.InputTag("diLepCandidate"), - cut = cms.string("max(daughter(0).pt, daughter(1).pt) > 20 && min(daughter(0).pt, daughter(1).pt) > 10"), - filter = cms.bool(True), -) -process.diLepFilter2010SS = cms.EDFilter("CandViewSelector", - src = cms.InputTag("diLepCandidate"), - cut = cms.string("max(daughter(0).pt, daughter(1).pt) > 20 && min(daughter(0).pt, daughter(1).pt) > 10 && charge != 0"), - filter = cms.bool(True), -) - -process.llssjjCandidate = cms.EDProducer("CandViewShallowCloneCombiner", - decay = cms.string("diLepFilter2010SS diJetCandidate"), - cut = cms.string("deltaR(daughter(0).daughter(0).eta, daughter(0).daughter(0).phi, daughter(1).daughter(0).eta, daughter(1).daughter(0).phi)>0.3 &&"+ - "deltaR(daughter(0).daughter(0).eta, daughter(0).daughter(0).phi, daughter(1).daughter(1).eta, daughter(1).daughter(1).phi)>0.3 &&"+ - "deltaR(daughter(0).daughter(1).eta, daughter(0).daughter(1).phi, daughter(1).daughter(0).eta, daughter(1).daughter(0).phi)>0.3 &&"+ - "deltaR(daughter(0).daughter(1).eta, daughter(0).daughter(1).phi, daughter(1).daughter(1).eta, daughter(1).daughter(1).phi)>0.3"), - checkCharge = cms.bool(False), -) -process.llssjjFilter = cms.EDFilter("CandViewCountFilter", src = cms.InputTag("llssjjCandidate"), minNumber = cms.uint32(1)) - - -process.skimSequenceBase = cms.Sequence( - process.muForSkim + process.eleForSkim + - process.lepForSkim + - process.diLepCandidate + process.diLepFilter2010 + - process.centralJetsForSkim + process.diJetFilter + - process.diJetCandidate + process.diJetCleanFilter -) -process.skimSequence3 = cms.Sequence( - process.skimSequenceBase + - process.triLepFilter + - process.triLepCandidate + process.triLepCleanFilter + - process.llljjCandidate + process.llljjFilter -) -process.skimSequence2SS = cms.Sequence( - process.skimSequenceBase + - process.diLepFilter2010SS + process.llssjjCandidate + process.llssjjFilter -) - -process.p3L = cms.Path( - process.goodPrimaryVertices+ process.muonSequence + process.electronSequence + - process.skimSequence3 -) -process.p2L = cms.Path( - process.goodPrimaryVertices+ process.muonSequence + process.electronSequence + - process.skimSequence2SS -) -process.pOverlap = cms.Path( ## useful for counting purposes: N(pass) = N(1) + N(2) - N(overlap) - process.goodPrimaryVertices+ process.muonSequence + process.electronSequence + - process.skimSequence2SS + - process.skimSequence3 -) - -if runOnCMGV56: - process.p3L.remove(process.electronSequence) - process.p2L.remove(process.electronSequence) - process.pOverlap.remove(process.electronSequence) - -######################################################## -## CMG output definition -######################################################## - -process.outcmg = cms.OutputModule( - "PoolOutputModule", - fileName = cms.untracked.string('cmgTuple.root'), - SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('p3L','p2L') ), - outputCommands = cms.untracked.vstring( - 'keep *_*_*_*', - 'drop *_*_*_CMG', - ## Things we don't use - 'drop *_cmgPFBaseJetLeadCHS_*_*', - 'drop *_cmgDiElectronSel_*_*', - 'drop *_cmgDiMuonSel_*_*', - 'drop *_cmgPFJetLooseJetIdFailed_*_*', - 'drop *_cmgPFJetMediumJetIdFailed_*_*', - 'drop *_cmgPFJetSelCHS_*_*', - "drop *_cmgPFJetTightJetIdFailed_*_*" , - "drop *_cmgPFJetVeryLooseJetId95Failed_*_*", - "drop *_cmgPFJetVeryLooseJetId95gammaFailed_*_*", - "drop *_cmgPFJetVeryLooseJetId95h0Failed_*_*", - "drop *_cmgPFJetVeryLooseJetId99Failed_*_*", - "drop *_cmgStructuredPFJetSel_*_*", - "drop *_cmgTauSel_*_*", - "drop *_tauGenJetsSelectorAllHadrons_*_*", - ## Things we updated - "drop *_cmgMuonSel_*_PAT", - "drop *_patMuonsWithTrigger_*_PAT", - "keep *_cmgMuonSel_*_CMG", - "keep *_patMuonsWithTrigger_*_CMG", - "drop *_cmgElectronSel_*_PAT", - "drop *_patElectronsWithTrigger_*_PAT", - "keep *_cmgElectronSel_*_CMG", - "keep *_patElectronsWithTrigger_*_CMG", - ), - dropMetaData = cms.untracked.string('PRIOR') -) -if runOnCMGV56: - process.outcmg.outputCommands += [ "keep *_cmgElectronSel_*_PAT", "keep *_patElectronsWithTrigger_*_PAT" ] - -#process.outpath = cms.EndPath(process.outcmg) - - - - -######################################################## -## Conditions -######################################################## - -process.load("Configuration.StandardSequences.GeometryDB_cff") -process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") -process.load("Configuration.StandardSequences.MagneticField_38T_cff") - -from CMGTools.Common.Tools.getGlobalTag import getGlobalTag - -process.GlobalTag.globaltag = getGlobalTag( runOnMC,runOld5XGT) -print 'Global tag : ', process.GlobalTag.globaltag - -######################################################## -## Below, stuff that you probably don't want to modify -######################################################## - -## MessageLogger -process.load("FWCore.MessageLogger.MessageLogger_cfi") -process.MessageLogger.cerr.FwkReport.reportEvery = 100 - -## Options and Output Report -process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True) ) - -print 'starting CMSSW' - diff --git a/CMGTools/TTHAnalysis/src/SignedImpactParameter.cc b/CMGTools/TTHAnalysis/src/SignedImpactParameter.cc index 50260967730b..30daa683cab7 100644 --- a/CMGTools/TTHAnalysis/src/SignedImpactParameter.cc +++ b/CMGTools/TTHAnalysis/src/SignedImpactParameter.cc @@ -1,6 +1,6 @@ #include "CMGTools/TTHAnalysis/interface/SignedImpactParameter.h" #include "MagneticField/UniformEngine/src/UniformMagneticField.h" -#include "MagneticField/ParametrizedEngine/plugins/OAEParametrizedMagneticField.h" +#include "MagneticField/ParametrizedEngine/src/OAEParametrizedMagneticField.h" #include "TrackingTools/PatternTools/interface/TwoTrackMinimumDistance.h" #include "TrackingTools/TransientTrack/interface/TransientTrack.h" #include "TrackingTools/IPTools/interface/IPTools.h" @@ -19,6 +19,8 @@ SignedImpactParameter::SignedImpactParameter() { SignedImpactParameter::~SignedImpactParameter() { } +//Signed 3D IP + Measurement1D SignedImpactParameter::signedIP3D(const reco::Track &tk, const reco::Vertex &vtx, const reco::Track::Vector jetdir) const { if (paramField_ == 0) paramField_ = new OAEParametrizedMagneticField("3_8T"); @@ -33,6 +35,55 @@ SignedImpactParameter::signedIP3D(const reco::Track &tk, const reco::VertexCompo return signedIP3D(tk, svtx, jetdir); } +//Signed 2D IP + +Measurement1D +SignedImpactParameter::signedIP2D(const reco::Track &tk, const reco::Vertex &vtx, const reco::Track::Vector jetdir) const { + if (paramField_ == 0) paramField_ = new OAEParametrizedMagneticField("3_8T"); + reco::TransientTrack ttk(tk,paramField_); + return IPTools::signedTransverseImpactParameter(ttk, GlobalVector(jetdir.X(),jetdir.Y(),jetdir.Z()), vtx).second; +} + +Measurement1D +SignedImpactParameter::signedIP2D(const reco::Track &tk, const reco::VertexCompositePtrCandidate &sv, const reco::Track::Vector jetdir) const { + reco::Vertex::CovarianceMatrix csv; sv.fillVertexCovariance(csv); + reco::Vertex svtx(sv.vertex(), csv); + return signedIP2D(tk, svtx, jetdir); +} + + +//3D IP + +Measurement1D +SignedImpactParameter::IP3D(const reco::Track &tk, const reco::Vertex &vtx) const { + if (paramField_ == 0) paramField_ = new OAEParametrizedMagneticField("3_8T"); + reco::TransientTrack ttk(tk,paramField_); + return IPTools::absoluteImpactParameter3D(ttk,vtx).second; +} + +Measurement1D +SignedImpactParameter::IP3D(const reco::Track &tk, const reco::VertexCompositePtrCandidate &sv) const { + reco::Vertex::CovarianceMatrix csv; sv.fillVertexCovariance(csv); + reco::Vertex svtx(sv.vertex(), csv); + return IP3D(tk, svtx); +} + +//2D IP + +Measurement1D +SignedImpactParameter::IP2D(const reco::Track &tk, const reco::Vertex &vtx) const { + if (paramField_ == 0) paramField_ = new OAEParametrizedMagneticField("3_8T"); + reco::TransientTrack ttk(tk,paramField_); + return IPTools::absoluteTransverseImpactParameter(ttk,vtx).second; +} + +Measurement1D +SignedImpactParameter::IP2D(const reco::Track &tk, const reco::VertexCompositePtrCandidate &sv) const { + reco::Vertex::CovarianceMatrix csv; sv.fillVertexCovariance(csv); + reco::Vertex svtx(sv.vertex(), csv); + return IP2D(tk, svtx); +} + std::pair diff --git a/DataFormats/FWLite/src/MultiChainEvent.cc b/DataFormats/FWLite/src/MultiChainEvent.cc index d02f3b932063..7014a1169cfe 100644 --- a/DataFormats/FWLite/src/MultiChainEvent.cc +++ b/DataFormats/FWLite/src/MultiChainEvent.cc @@ -367,9 +367,6 @@ edm::WrapperBase const* MultiChainEvent::getByProductID(edm::ProductID const&iID if (edp == nullptr) { (const_cast(this))->toSec(event1_->id()); edp = event2_->getByProductID(iID); - if (edp == nullptr) { - throw cms::Exception("ProductNotFound") << "Cannot find product " << iID; - } } return edp; } diff --git a/DataFormats/PatCandidates/src/MET.cc b/DataFormats/PatCandidates/src/MET.cc index 6700b621ad36..5084772b04f4 100644 --- a/DataFormats/PatCandidates/src/MET.cc +++ b/DataFormats/PatCandidates/src/MET.cc @@ -18,6 +18,8 @@ MET::MET(const reco::MET & aMET) : PATObject(aMET), uncorInfo_(nullpt if (calo != 0) caloMET_.push_back(calo->getSpecific()); const reco::PFMET * pf = dynamic_cast(&aMET); if (pf != 0) pfMET_.push_back(pf->getSpecific()); + const pat::MET * pm = dynamic_cast(&aMET); + if (pm != 0) this->operator=(*pm); } @@ -27,6 +29,8 @@ MET::MET(const edm::RefToBase & aMETRef) : PATObject(aMETR if (calo != 0) caloMET_.push_back(calo->getSpecific()); const reco::PFMET * pf = dynamic_cast(aMETRef.get()); if (pf != 0) pfMET_.push_back(pf->getSpecific()); + const pat::MET * pm = dynamic_cast(aMETRef.get()); + if (pm != 0) this->operator=(*pm); } /// constructor from ref to reco::MET @@ -35,6 +39,8 @@ MET::MET(const edm::Ptr & aMETRef) : PATObject(aMETRef), u if (calo != 0) caloMET_.push_back(calo->getSpecific()); const reco::PFMET * pf = dynamic_cast(aMETRef.get()); if (pf != 0) pfMET_.push_back(pf->getSpecific()); + const pat::MET * pm = dynamic_cast(aMETRef.get()); + if (pm != 0) this->operator=(*pm); } /// copy constructor diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_25ns_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_25ns_BDT.weights.xml.gz new file mode 100644 index 000000000000..209038118715 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_25ns_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_50ns_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_50ns_BDT.weights.xml.gz new file mode 100644 index 000000000000..51735add8f92 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_50ns_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_25ns_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_25ns_BDT.weights.xml.gz new file mode 100644 index 000000000000..1539ecf178b7 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_25ns_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_50ns_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_50ns_BDT.weights.xml.gz new file mode 100644 index 000000000000..3216a9b53231 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_50ns_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_25ns_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_25ns_BDT.weights.xml.gz new file mode 100644 index 000000000000..7217b519da82 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_25ns_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_50ns_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_50ns_BDT.weights.xml.gz new file mode 100644 index 000000000000..006d9499fc1d Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_50ns_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_25ns_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_25ns_BDT.weights.xml.gz new file mode 100644 index 000000000000..00d867eda1be Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_25ns_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_50ns_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_50ns_BDT.weights.xml.gz new file mode 100644 index 000000000000..78e6b8b207e3 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_50ns_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EB_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EB_BDT.weights.xml.gz new file mode 100644 index 000000000000..81b8053256b8 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EB_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EE_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EE_BDT.weights.xml.gz new file mode 100644 index 000000000000..39421b53b056 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EE_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EB_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EB_BDT.weights.xml.gz new file mode 100644 index 000000000000..7d43e30b3a46 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EB_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EE_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EE_BDT.weights.xml.gz new file mode 100644 index 000000000000..f6101e4d5e56 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EE_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_10_oldscenario2phys14_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_10_oldscenario2phys14_BDT.weights.xml.gz new file mode 100644 index 000000000000..6f9e4d177abc Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_10_oldscenario2phys14_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_5_oldscenario2phys14_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_5_oldscenario2phys14_BDT.weights.xml.gz new file mode 100644 index 000000000000..5fb3c93111d8 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_5_oldscenario2phys14_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_10_oldscenario2phys14_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_10_oldscenario2phys14_BDT.weights.xml.gz new file mode 100644 index 000000000000..6b6f52a4eb7d Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_10_oldscenario2phys14_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_5_oldscenario2phys14_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_5_oldscenario2phys14_BDT.weights.xml.gz new file mode 100644 index 000000000000..13b2dfeab857 Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_5_oldscenario2phys14_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_10_oldscenario2phys14_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_10_oldscenario2phys14_BDT.weights.xml.gz new file mode 100644 index 000000000000..fe1c9b7fc41b Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_10_oldscenario2phys14_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_5_oldscenario2phys14_BDT.weights.xml.gz b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_5_oldscenario2phys14_BDT.weights.xml.gz new file mode 100644 index 000000000000..f70e2e08ca4b Binary files /dev/null and b/EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_5_oldscenario2phys14_BDT.weights.xml.gz differ diff --git a/EgammaAnalysis/ElectronTools/interface/EGammaMvaEleEstimatorCSA14.h b/EgammaAnalysis/ElectronTools/interface/EGammaMvaEleEstimatorCSA14.h new file mode 100644 index 000000000000..737b9b0c8788 --- /dev/null +++ b/EgammaAnalysis/ElectronTools/interface/EGammaMvaEleEstimatorCSA14.h @@ -0,0 +1,150 @@ +//-------------------------------------------------------------------------------------------------- +// $Id $ +// +// EGammaMvaEleEstimatorCSA14 +// +// Helper Class for applying MVA electron ID selection +// +// Authors: D.Benedetti, E.DiMaro, S.Xie +//-------------------------------------------------------------------------------------------------- + + + + +#ifndef EGammaMvaEleEstimatorCSA14_H +#define EGammaMvaEleEstimatorCSA14_H + +#include +#include +#include "TMVA/Factory.h" +#include "TMVA/Tools.h" +#include "TMVA/Reader.h" + +using namespace std; + +#include "DataFormats/TrackReco/interface/Track.h" +#include "DataFormats/GsfTrackReco/interface/GsfTrack.h" +#include "DataFormats/TrackReco/interface/TrackFwd.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" +#include "DataFormats/EgammaReco/interface/SuperCluster.h" +#include "DataFormats/MuonReco/interface/Muon.h" +#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" +#include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h" +#include "DataFormats/Common/interface/RefToPtr.h" +#include "DataFormats/VertexReco/interface/Vertex.h" +#include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h" +#include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h" +#include "TrackingTools/IPTools/interface/IPTools.h" +#include "EgammaAnalysis/ElectronTools/interface/ElectronEffectiveArea.h" +#include "DataFormats/Common/interface/RefToPtr.h" + +#include "DataFormats/PatCandidates/interface/Electron.h" + +using namespace reco; + +class EGammaMvaEleEstimatorCSA14{ + public: + EGammaMvaEleEstimatorCSA14(); + ~EGammaMvaEleEstimatorCSA14(); + + enum MVAType { + kTrig = 0, // MVA for triggering electrons + kNonTrig = 1, // MVA for non-triggering electrons + kNonTrigPhys14 = 2, // MVA for non-triggering electrons in Phys14 + }; + + void initialize( std::string methodName, + std::string weightsfile, + EGammaMvaEleEstimatorCSA14::MVAType type); + void initialize( std::string methodName, + EGammaMvaEleEstimatorCSA14::MVAType type, + Bool_t useBinnedVersion, + std::vector weightsfiles ); + + Bool_t isInitialized() const { return fisInitialized; } + UInt_t GetMVABin(double eta,double pt ) const; + + void bindVariables(); + + // for kTrig and kNonTrig algorithm + Double_t mvaValue(const reco::GsfElectron& ele, + const reco::Vertex& vertex, + const TransientTrackBuilder& transientTrackBuilder, + noZS::EcalClusterLazyTools myEcalCluster, + bool printDebug = kFALSE); + + + Double_t mvaValue(const pat::Electron& ele, + bool printDebug); + + + + + + + + private: + + std::vector fTMVAReader; + std::vector fTMVAMethod; + std::string fMethodname; + Bool_t fisInitialized; + MVAType fMVAType; + Bool_t fUseBinnedVersion; + UInt_t fNMVABins; + + Float_t fMVAVar_fbrem; + Float_t fMVAVar_kfchi2; + Float_t fMVAVar_kfhits; //number of layers + Float_t fMVAVar_kfhitsall; //number of hits + Float_t fMVAVar_gsfchi2; + + Float_t fMVAVar_deta; + Float_t fMVAVar_dphi; + Float_t fMVAVar_detacalo; + + Float_t fMVAVar_see; + Float_t fMVAVar_spp; + Float_t fMVAVar_etawidth; + Float_t fMVAVar_phiwidth; + Float_t fMVAVar_OneMinusE1x5E5x5; + Float_t fMVAVar_R9; + + Float_t fMVAVar_HoE; + Float_t fMVAVar_EoP; + Float_t fMVAVar_IoEmIoP; + Float_t fMVAVar_eleEoPout; + Float_t fMVAVar_EoPout; + Float_t fMVAVar_PreShowerOverRaw; + + Float_t fMVAVar_d0; + Float_t fMVAVar_ip3d; + Float_t fMVAVar_ip3dSig; + + Float_t fMVAVar_eta; + Float_t fMVAVar_abseta; + Float_t fMVAVar_pt; + Float_t fMVAVar_rho; + Float_t fMVAVar_isBarrel; + Float_t fMVAVar_isEndcap; + Float_t fMVAVar_SCeta; + + Float_t fMVAVar_ChargedIso_DR0p0To0p1; + Float_t fMVAVar_ChargedIso_DR0p1To0p2; + Float_t fMVAVar_ChargedIso_DR0p2To0p3; + Float_t fMVAVar_ChargedIso_DR0p3To0p4; + Float_t fMVAVar_ChargedIso_DR0p4To0p5; + Float_t fMVAVar_GammaIso_DR0p0To0p1; + Float_t fMVAVar_GammaIso_DR0p1To0p2; + Float_t fMVAVar_GammaIso_DR0p2To0p3; + Float_t fMVAVar_GammaIso_DR0p3To0p4; + Float_t fMVAVar_GammaIso_DR0p4To0p5; + Float_t fMVAVar_NeutralHadronIso_DR0p0To0p1; + Float_t fMVAVar_NeutralHadronIso_DR0p1To0p2; + Float_t fMVAVar_NeutralHadronIso_DR0p2To0p3; + Float_t fMVAVar_NeutralHadronIso_DR0p3To0p4; + Float_t fMVAVar_NeutralHadronIso_DR0p4To0p5; + +}; + +#endif diff --git a/EgammaAnalysis/ElectronTools/plugins/ElectronIdMVAProducerCSA14.cc b/EgammaAnalysis/ElectronTools/plugins/ElectronIdMVAProducerCSA14.cc new file mode 100644 index 000000000000..489bde52ceb9 --- /dev/null +++ b/EgammaAnalysis/ElectronTools/plugins/ElectronIdMVAProducerCSA14.cc @@ -0,0 +1,166 @@ +// 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 "EgammaAnalysis/ElectronTools/interface/EGammaMvaEleEstimatorCSA14.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" +#include "DataFormats/PatCandidates/interface/Electron.h" +#include "DataFormats/VertexReco/interface/Vertex.h" +#include "DataFormats/VertexReco/interface/VertexFwd.h" +#include "TrackingTools/Records/interface/TransientTrackRecord.h" +#include "TrackingTools/IPTools/interface/IPTools.h" +// +// class declaration +// + +using namespace std; +using namespace reco; +class ElectronIdMVAProducerCSA14 : public edm::EDFilter { +public: + explicit ElectronIdMVAProducerCSA14(const edm::ParameterSet&); + ~ElectronIdMVAProducerCSA14(); + +private: + virtual bool filter(edm::Event&, const edm::EventSetup&); + + // ----------member data --------------------------- + bool verbose_; + edm::EDGetTokenT vertexToken_; + edm::EDGetTokenT electronToken_; + edm::EDGetTokenT eventrhoToken_; + + //used tokens + edm::EDGetTokenT ecalRechitEBToken_; + edm::EDGetTokenT ecalRechitEEToken_; + + + double _Rho; + string method_; + vector mvaWeightFiles_; + bool Trig_; + + EGammaMvaEleEstimatorCSA14* mvaID_; + +}; + +// +// constants, enums and typedefs +// + +// +// static data member definitions +// + +// +// constructors and destructor +// +ElectronIdMVAProducerCSA14::ElectronIdMVAProducerCSA14(const edm::ParameterSet& iConfig) { + verbose_ = iConfig.getUntrackedParameter("verbose", false); + vertexToken_ = consumes(iConfig.getParameter("vertexTag")); + electronToken_ = consumes(iConfig.getParameter("electronTag")); + ecalRechitEBToken_ = consumes(iConfig.getParameter("reducedEBRecHitCollection")); + ecalRechitEEToken_ = consumes(iConfig.getParameter("reducedEERecHitCollection")); + method_ = iConfig.getParameter("method"); + std::vector fpMvaWeightFiles = iConfig.getParameter >("mvaWeightFile"); + Trig_ = iConfig.getParameter("Trig"); + + produces >(""); + + mvaID_ = new EGammaMvaEleEstimatorCSA14(); + + EGammaMvaEleEstimatorCSA14::MVAType type_; + + if(Trig_){type_ = EGammaMvaEleEstimatorCSA14::kTrig;} + + if(!Trig_){ + if (fpMvaWeightFiles.size() > 4) type_ = EGammaMvaEleEstimatorCSA14::kNonTrigPhys14; + else type_ = EGammaMvaEleEstimatorCSA14::kNonTrig; + } + bool manualCat_ = true; + + string path_mvaWeightFileEleID; + for(unsigned ifile=0 ; ifile < fpMvaWeightFiles.size() ; ++ifile) { + path_mvaWeightFileEleID = edm::FileInPath ( fpMvaWeightFiles[ifile].c_str() ).fullPath(); + mvaWeightFiles_.push_back(path_mvaWeightFileEleID); + } + + mvaID_->initialize(method_, type_, manualCat_, mvaWeightFiles_); + +} + + +ElectronIdMVAProducerCSA14::~ElectronIdMVAProducerCSA14() +{ + + // 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 ElectronIdMVAProducerCSA14::filter(edm::Event& iEvent, const edm::EventSetup& iSetup) { + using namespace edm; + std::auto_ptr > out(new edm::ValueMap() ); + + Handle vertexCollection; + iEvent.getByToken(vertexToken_, vertexCollection); + + Vertex dummy; + const Vertex *pv = &dummy; + if ( vertexCollection->size() != 0) { + pv = &*vertexCollection->begin(); + } else { // create a dummy PV + Vertex::Error e; + e(0, 0) = 0.0015 * 0.0015; + e(1, 1) = 0.0015 * 0.0015; + e(2, 2) = 15. * 15.; + Vertex::Point p(0, 0, 0); + dummy = Vertex(p, e, 0, 0, 0); + } + + noZS::EcalClusterLazyTools lazyTools(iEvent, iSetup, ecalRechitEBToken_, ecalRechitEEToken_); + + edm::ESHandle builder; + iSetup.get().get("TransientTrackBuilder", builder); + TransientTrackBuilder thebuilder = *(builder.product()); + + Handle egCollection; + iEvent.getByToken(electronToken_,egCollection); + const reco::GsfElectronCollection egCandidates = (*egCollection.product()); + + + + std::vector values; + values.reserve(egCollection->size()); + for ( reco::GsfElectronCollection::const_iterator egIter = egCandidates.begin(); egIter != egCandidates.end(); ++egIter) { + + double mvaVal = -999999; + mvaVal = mvaID_->mvaValue( *egIter, *pv,thebuilder,lazyTools, verbose_); + + values.push_back( mvaVal ); + } + + edm::ValueMap::Filler filler(*out); + filler.insert(egCollection, values.begin(), values.end() ); + filler.fill(); + + iEvent.put(out); + + return true; +} + +//define this as a plug-in +DEFINE_FWK_MODULE(ElectronIdMVAProducerCSA14); diff --git a/EgammaAnalysis/ElectronTools/python/electronIdMVAProducer_CSA14_cfi.py b/EgammaAnalysis/ElectronTools/python/electronIdMVAProducer_CSA14_cfi.py new file mode 100644 index 000000000000..9e0035896c93 --- /dev/null +++ b/EgammaAnalysis/ElectronTools/python/electronIdMVAProducer_CSA14_cfi.py @@ -0,0 +1,82 @@ +import FWCore.ParameterSet.Config as cms + + +mvaTrigV050nsCSA14 = cms.EDFilter("ElectronIdMVAProducerCSA14", + verbose = cms.untracked.bool(False), + vertexTag = cms.InputTag('offlinePrimaryVertices'), + electronTag = cms.InputTag('gedGsfElectrons'), + reducedEBRecHitCollection = cms.InputTag('reducedEcalRecHitsEB'), + reducedEERecHitCollection = cms.InputTag('reducedEcalRecHitsEE'), + method = cms.string("BDT"), + mvaWeightFile = cms.vstring( + "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EB_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EE_BDT.weights.xml", + ), + Trig = cms.bool(True), +) + + +mvaTrigV025nsCSA14 = cms.EDFilter("ElectronIdMVAProducerCSA14", + verbose = cms.untracked.bool(False), + vertexTag = cms.InputTag('offlinePrimaryVertices'), + electronTag = cms.InputTag('gedGsfElectrons'), + reducedEBRecHitCollection = cms.InputTag('reducedEcalRecHitsEB'), + reducedEERecHitCollection = cms.InputTag('reducedEcalRecHitsEE'), + method = cms.string("BDT"), + mvaWeightFile = cms.vstring( + "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EB_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EE_BDT.weights.xml", + ), + Trig = cms.bool(True), + ) + + +mvaNonTrigV050nsCSA14 = cms.EDFilter("ElectronIdMVAProducerCSA14", + verbose = cms.untracked.bool(False), + vertexTag = cms.InputTag('offlinePrimaryVertices'), + electronTag = cms.InputTag('gedGsfElectrons'), + reducedEBRecHitCollection = cms.InputTag('reducedEcalRecHitsEB'), + reducedEERecHitCollection = cms.InputTag('reducedEcalRecHitsEE'), + method = cms.string("BDT"), + mvaWeightFile = cms.vstring( + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_50ns_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_50ns_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_50ns_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_50ns_BDT.weights.xml", + ), + Trig = cms.bool(False), +) + +mvaNonTrigV025nsCSA14 = cms.EDFilter("ElectronIdMVAProducerCSA14", + verbose = cms.untracked.bool(False), + vertexTag = cms.InputTag('offlinePrimaryVertices'), + electronTag = cms.InputTag('gedGsfElectrons'), + reducedEBRecHitCollection = cms.InputTag('reducedEcalRecHitsEB'), + reducedEERecHitCollection = cms.InputTag('reducedEcalRecHitsEE'), + method = cms.string("BDT"), + mvaWeightFile = cms.vstring( + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_25ns_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_25ns_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_25ns_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_25ns_BDT.weights.xml", + ), + Trig = cms.bool(False), + ) + +mvaNonTrigV025nsPHYS14 = cms.EDFilter("ElectronIdMVAProducerCSA14", + verbose = cms.untracked.bool(False), + vertexTag = cms.InputTag('offlinePrimaryVertices'), + electronTag = cms.InputTag('gedGsfElectrons'), + reducedEBRecHitCollection = cms.InputTag('reducedEcalRecHitsEB'), + reducedEERecHitCollection = cms.InputTag('reducedEcalRecHitsEE'), + method = cms.string("BDTSimpleCat"), + mvaWeightFile = cms.vstring( + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_5_oldscenario2phys14_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_5_oldscenario2phys14_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_5_oldscenario2phys14_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_10_oldscenario2phys14_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_10_oldscenario2phys14_BDT.weights.xml", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_10_oldscenario2phys14_BDT.weights.xml", + ), + Trig = cms.bool(False), + ) diff --git a/EgammaAnalysis/ElectronTools/src/EGammaMvaEleEstimatorCSA14.cc b/EgammaAnalysis/ElectronTools/src/EGammaMvaEleEstimatorCSA14.cc new file mode 100644 index 000000000000..49f5a76138f9 --- /dev/null +++ b/EgammaAnalysis/ElectronTools/src/EGammaMvaEleEstimatorCSA14.cc @@ -0,0 +1,551 @@ +#include +#include "EgammaAnalysis/ElectronTools/interface/EGammaMvaEleEstimatorCSA14.h" +#include +#include +#include +#include +#include "TMVA/MethodBase.h" + + +//-------------------------------------------------------------------------------------------------- +EGammaMvaEleEstimatorCSA14::EGammaMvaEleEstimatorCSA14() : +fMethodname("BDTG method"), +fisInitialized(kFALSE), +fMVAType(kTrig), +fUseBinnedVersion(kTRUE), +fNMVABins(0) +{ + // Constructor. +} + +//-------------------------------------------------------------------------------------------------- +EGammaMvaEleEstimatorCSA14::~EGammaMvaEleEstimatorCSA14() +{ + for (unsigned int i=0;i tempWeightFileVector; + tempWeightFileVector.push_back(weightsfile); + initialize(methodName,type,kFALSE,tempWeightFileVector); +} + + +//-------------------------------------------------------------------------------------------------- +void EGammaMvaEleEstimatorCSA14::initialize( std::string methodName, + EGammaMvaEleEstimatorCSA14::MVAType type, + Bool_t useBinnedVersion, + std::vector weightsfiles + ) { + + //clean up first + for (unsigned int i=0;iSetVerbose(kTRUE); + + if (type == kTrig) { + // Pure tracking variables + // Pure tracking variables + tmpTMVAReader->AddVariable("fBrem", &fMVAVar_fbrem); + tmpTMVAReader->AddVariable("kfchi2", &fMVAVar_kfchi2); + tmpTMVAReader->AddVariable("kfhits", &fMVAVar_kfhits); + tmpTMVAReader->AddVariable("gsfChi2", &fMVAVar_gsfchi2); + + // Geometrical matchings + tmpTMVAReader->AddVariable("eledeta", &fMVAVar_deta); + tmpTMVAReader->AddVariable("eledphi", &fMVAVar_dphi); + tmpTMVAReader->AddVariable("detacalo", &fMVAVar_detacalo); + + // Pure ECAL -> shower shapes + tmpTMVAReader->AddVariable("noZSsee", &fMVAVar_see); + tmpTMVAReader->AddVariable("noZSspp", &fMVAVar_spp); + tmpTMVAReader->AddVariable("etawidth", &fMVAVar_etawidth); + tmpTMVAReader->AddVariable("phiwidth", &fMVAVar_phiwidth); + tmpTMVAReader->AddVariable("noZSe1x5e5x5", &fMVAVar_OneMinusE1x5E5x5); + tmpTMVAReader->AddVariable("noZSr9", &fMVAVar_R9); + + // Energy matching + tmpTMVAReader->AddVariable("HtoE", &fMVAVar_HoE); + tmpTMVAReader->AddVariable("EoP", &fMVAVar_EoP); + tmpTMVAReader->AddVariable("IoEmIoP", &fMVAVar_IoEmIoP); + tmpTMVAReader->AddVariable("EEleoPout", &fMVAVar_eleEoPout); + if(i == 1 ) tmpTMVAReader->AddVariable("PreShowerOverRaw",&fMVAVar_PreShowerOverRaw); + + tmpTMVAReader->AddSpectator("pt", &fMVAVar_pt); + tmpTMVAReader->AddSpectator("absEta", &fMVAVar_abseta); + } + + + if ((type == kNonTrig)||(type == kNonTrigPhys14)) { + + tmpTMVAReader->AddVariable("ele_kfhits", &fMVAVar_kfhits); + // Pure ECAL -> shower shapes + tmpTMVAReader->AddVariable("ele_oldsigmaietaieta", &fMVAVar_see); + tmpTMVAReader->AddVariable("ele_oldsigmaiphiiphi", &fMVAVar_spp); + tmpTMVAReader->AddVariable("ele_oldcircularity", &fMVAVar_OneMinusE1x5E5x5); + tmpTMVAReader->AddVariable("ele_oldr9", &fMVAVar_R9); + tmpTMVAReader->AddVariable("ele_scletawidth", &fMVAVar_etawidth); + tmpTMVAReader->AddVariable("ele_sclphiwidth", &fMVAVar_phiwidth); + tmpTMVAReader->AddVariable("ele_he", &fMVAVar_HoE); + if ((type == kNonTrig)&&(i == 1 || i == 3)) tmpTMVAReader->AddVariable("ele_psEoverEraw",&fMVAVar_PreShowerOverRaw); + if ((type == kNonTrigPhys14)&&(i == 2 || i == 5)) tmpTMVAReader->AddVariable("ele_psEoverEraw",&fMVAVar_PreShowerOverRaw); + + + //Pure tracking variables + tmpTMVAReader->AddVariable("ele_kfchi2", &fMVAVar_kfchi2); + tmpTMVAReader->AddVariable("ele_chi2_hits", &fMVAVar_gsfchi2); + // Energy matching + tmpTMVAReader->AddVariable("ele_fbrem", &fMVAVar_fbrem); + tmpTMVAReader->AddVariable("ele_ep", &fMVAVar_EoP); + tmpTMVAReader->AddVariable("ele_eelepout", &fMVAVar_eleEoPout); + tmpTMVAReader->AddVariable("ele_IoEmIop", &fMVAVar_IoEmIoP); + + // Geometrical matchings + tmpTMVAReader->AddVariable("ele_deltaetain", &fMVAVar_deta); + tmpTMVAReader->AddVariable("ele_deltaphiin", &fMVAVar_dphi); + tmpTMVAReader->AddVariable("ele_deltaetaseed", &fMVAVar_detacalo); + + + + tmpTMVAReader->AddSpectator("ele_pT", &fMVAVar_pt); + tmpTMVAReader->AddSpectator("ele_isbarrel", &fMVAVar_isBarrel); + tmpTMVAReader->AddSpectator("ele_isendcap", &fMVAVar_isEndcap); + if (type == kNonTrigPhys14) tmpTMVAReader->AddSpectator("scl_eta", &fMVAVar_SCeta); + + } + + + + +#ifndef STANDALONE + if ((fMethodname.find("BDT") == 0) && (weightsfiles[i].rfind(".xml.gz") == weightsfiles[i].length()-strlen(".xml.gz"))) { + gzFile file = gzopen(weightsfiles[i].c_str(), "rb"); + if (file == nullptr) { std::cout << "Error opening gzip file associated to " << weightsfiles[i] << std::endl; throw cms::Exception("Configuration","Error reading zipped XML file"); } + std::vector data; + data.reserve(1024*1024*10); + unsigned int bufflen = 32*1024; + char *buff = reinterpret_cast(malloc(bufflen)); + if (buff == nullptr) { std::cout << "Error creating buffer for " << weightsfiles[i] << std::endl; gzclose(file); throw cms::Exception("Configuration","Error reading zipped XML file"); } + int read; + while ((read = gzread(file, buff, bufflen)) != 0) { + if (read == -1) { std::cout << "Error reading gzip file associated to " << weightsfiles[i] << ": " << gzerror(file,&read) << std::endl; gzclose(file); free(buff); throw cms::Exception("Configuration","Error reading zipped XML file"); } + data.insert(data.end(), buff, buff+read); + } + if (gzclose(file) != Z_OK) { std::cout << "Error closing gzip file associated to " << weightsfiles[i] << std::endl; } + free(buff); + data.push_back('\0'); // IMPORTANT + fTMVAMethod.push_back(dynamic_cast(tmpTMVAReader->BookMVA(TMVA::Types::kBDT, &data[0]))); + } else { + if (weightsfiles[i].rfind(".xml.gz") == weightsfiles[i].length()-strlen(".xml.gz")) { + std::cout << "Error: xml.gz unsupported for method " << fMethodname << ", weight file " << weightsfiles[i] << std::endl; throw cms::Exception("Configuration","Error reading zipped XML file"); + } + fTMVAMethod.push_back(dynamic_cast(tmpTMVAReader->BookMVA(fMethodname , weightsfiles[i]))); + } +#else + if (weightsfiles[i].rfind(".xml.gz") == weightsfiles[i].length()-strlen(".xml.gz")) { + std::cout << "Error: xml.gz unsupported for method " << fMethodname << ", weight file " << weightsfiles[i] << std::endl; abort(); + } + fTMVAMethod.push_back(dynamic_cast(tmpTMVAReader->BookMVA(fMethodname , weightsfiles[i]))); +#endif + std::cout << "MVABin " << i << " : MethodName = " << fMethodname + << " , type == " << type << " , " + << "Load weights file : " << weightsfiles[i] + << std::endl; + fTMVAReader.push_back(tmpTMVAReader); + } + std::cout << "Electron ID MVA Completed\n"; + +} + + +//-------------------------------------------------------------------------------------------------- +UInt_t EGammaMvaEleEstimatorCSA14::GetMVABin( double eta, double pt) const { + + //Default is to return the first bin + unsigned int bin = 0; + + + if (fMVAType == EGammaMvaEleEstimatorCSA14::kNonTrig ) { + bin = 0; + if (pt < 10 && fabs(eta) < 1.479) bin = 0; + if (pt < 10 && fabs(eta) >= 1.479) bin = 1; + if (pt >= 10 && fabs(eta) < 1.479) bin = 2; + if (pt >= 10 && fabs(eta) >= 1.479) bin = 3; + } + + + if (fMVAType == EGammaMvaEleEstimatorCSA14::kTrig + ) { + bin = 0; + if (pt >= 10 && fabs(eta) < 1.479) bin = 0; + if (pt >= 10 && fabs(eta) >= 1.479) bin = 1; + } + + if (fMVAType == EGammaMvaEleEstimatorCSA14::kNonTrigPhys14 ){ + bin = 0; + if (pt < 10 && fabs(eta) < 0.8) bin = 0; + if (pt < 10 && fabs(eta) >= 0.8 && fabs(eta) < 1.479) bin = 1; + if (pt < 10 && fabs(eta) >= 1.479) bin = 2; + if (pt >= 10 && fabs(eta) < 0.8) bin = 3; + if (pt >= 10 && fabs(eta) >= 0.8 && fabs(eta) < 1.479) bin = 4; + if (pt >= 10 && fabs(eta) >= 1.479) bin = 5; + } + + return bin; +} + + + + + +//-------------------------------------------------------------------------------------------------- + +// for kTrig and kNonTrig algorithm +Double_t EGammaMvaEleEstimatorCSA14::mvaValue(const reco::GsfElectron& ele, + const reco::Vertex& vertex, + const TransientTrackBuilder& transientTrackBuilder, + noZS::EcalClusterLazyTools myEcalCluster, + bool printDebug) { + + if (!fisInitialized) { + std::cout << "Error: EGammaMvaEleEstimatorCSA14 not properly initialized.\n"; + return -9999; + } + + if ( (fMVAType != EGammaMvaEleEstimatorCSA14::kTrig) && (fMVAType != EGammaMvaEleEstimatorCSA14::kNonTrig) && (fMVAType != EGammaMvaEleEstimatorCSA14::kNonTrigPhys14) ) { + std::cout << "Error: This method should be called for kTrig or kNonTrig or kNonTrigPhys14 MVA only" << endl; + return -9999; + } + + bool validKF= false; + reco::TrackRef myTrackRef = ele.closestCtfTrackRef(); + validKF = (myTrackRef.isAvailable()); + validKF = (myTrackRef.isNonnull()); + + // Pure tracking variables + fMVAVar_fbrem = ele.fbrem(); + fMVAVar_kfchi2 = (validKF) ? myTrackRef->normalizedChi2() : 0 ; + fMVAVar_kfhits = (validKF) ? myTrackRef->hitPattern().trackerLayersWithMeasurement() : -1. ; + fMVAVar_kfhitsall = (validKF) ? myTrackRef->numberOfValidHits() : -1. ; // save also this in your ntuple as possible alternative + fMVAVar_gsfchi2 = ele.gsfTrack()->normalizedChi2(); + + + // Geometrical matchings + fMVAVar_deta = ele.deltaEtaSuperClusterTrackAtVtx(); + fMVAVar_dphi = ele.deltaPhiSuperClusterTrackAtVtx(); + fMVAVar_detacalo = ele.deltaEtaSeedClusterTrackAtCalo(); + + + // Pure ECAL -> shower shapes + std::vector vCov = myEcalCluster.localCovariances(*(ele.superCluster()->seed())) ; + if (!isnan(vCov[0])) fMVAVar_see = sqrt (vCov[0]); //EleSigmaIEtaIEta + else fMVAVar_see = 0.; + if (!isnan(vCov[2])) fMVAVar_spp = sqrt (vCov[2]); //EleSigmaIPhiIPhi + else fMVAVar_spp = 0.; + + fMVAVar_etawidth = ele.superCluster()->etaWidth(); + fMVAVar_phiwidth = ele.superCluster()->phiWidth(); + fMVAVar_OneMinusE1x5E5x5 = (ele.e5x5()) !=0. ? 1.-(myEcalCluster.e1x5(*(ele.superCluster()->seed()))/myEcalCluster.e5x5(*(ele.superCluster()->seed()))) : -1. ; + fMVAVar_R9 = myEcalCluster.e3x3(*(ele.superCluster()->seed())) / ele.superCluster()->rawEnergy(); + + // Energy matching + fMVAVar_HoE = ele.hadronicOverEm(); + fMVAVar_EoP = ele.eSuperClusterOverP(); + fMVAVar_IoEmIoP = (1.0/ele.ecalEnergy()) - (1.0 / ele.p()); // in the future to be changed with ele.gsfTrack()->p() + fMVAVar_eleEoPout = ele.eEleClusterOverPout(); + fMVAVar_PreShowerOverRaw= ele.superCluster()->preshowerEnergy() / ele.superCluster()->rawEnergy(); + + + // Spectators + fMVAVar_eta = ele.superCluster()->eta(); + fMVAVar_abseta = fabs(ele.superCluster()->eta()); + fMVAVar_pt = ele.pt(); + fMVAVar_isBarrel = (ele.superCluster()->eta()<1.479); + fMVAVar_isEndcap = (ele.superCluster()->eta()>1.479); + fMVAVar_SCeta = ele.superCluster()->eta(); + + + // for triggering electrons get the impact parameteres + if(fMVAType == kTrig) { + //d0 + if (ele.gsfTrack().isNonnull()) { + fMVAVar_d0 = (-1.0)*ele.gsfTrack()->dxy(vertex.position()); + } else if (ele.closestCtfTrackRef().isNonnull()) { + fMVAVar_d0 = (-1.0)*ele.closestCtfTrackRef()->dxy(vertex.position()); + } else { + fMVAVar_d0 = -9999.0; + } + + //default values for IP3D + fMVAVar_ip3d = -999.0; + fMVAVar_ip3dSig = 0.0; + if (ele.gsfTrack().isNonnull()) { + const double gsfsign = ( (-ele.gsfTrack()->dxy(vertex.position())) >=0 ) ? 1. : -1.; + + const reco::TransientTrack &tt = transientTrackBuilder.build(ele.gsfTrack()); + const std::pair &ip3dpv = IPTools::absoluteImpactParameter3D(tt,vertex); + if (ip3dpv.first) { + double ip3d = gsfsign*ip3dpv.second.value(); + double ip3derr = ip3dpv.second.error(); + fMVAVar_ip3d = ip3d; + fMVAVar_ip3dSig = ip3d/ip3derr; + } + } + } + + // evaluate + bindVariables(); + Double_t mva = -9999; + if (fUseBinnedVersion) { + int bin = GetMVABin(fMVAVar_eta,fMVAVar_pt); + mva = fTMVAReader[bin]->EvaluateMVA(fTMVAMethod[bin]); + } else { + mva = fTMVAReader[0]->EvaluateMVA(fTMVAMethod[0]); + } + + + + if(printDebug) { + cout << " *** Inside the class fMethodname " << fMethodname << " fMVAType " << fMVAType << endl; + cout << " fbrem " << fMVAVar_fbrem + << " kfchi2 " << fMVAVar_kfchi2 + << " mykfhits " << fMVAVar_kfhits + << " gsfchi2 " << fMVAVar_gsfchi2 + << " deta " << fMVAVar_deta + << " dphi " << fMVAVar_dphi + << " detacalo " << fMVAVar_detacalo + << " see " << fMVAVar_see + << " spp " << fMVAVar_spp + << " etawidth " << fMVAVar_etawidth + << " phiwidth " << fMVAVar_phiwidth + << " OneMinusE1x5E5x5 " << fMVAVar_OneMinusE1x5E5x5 + << " R9 " << fMVAVar_R9 + << " HoE " << fMVAVar_HoE + << " EoP " << fMVAVar_EoP + << " IoEmIoP " << fMVAVar_IoEmIoP + << " eleEoPout " << fMVAVar_eleEoPout + << " d0 " << fMVAVar_d0 + << " ip3d " << fMVAVar_ip3d + << " eta " << fMVAVar_eta + << " pt " << fMVAVar_pt << endl; + cout << " ### MVA " << mva << endl; + } + + + + return mva; +} + + + +Double_t EGammaMvaEleEstimatorCSA14::mvaValue(const pat::Electron& ele, + bool printDebug) { + + if (!fisInitialized) { + std::cout << "Error: EGammaMvaEleEstimatorCSA14 not properly initialized.\n"; + return -9999; + } + + if ( (fMVAType != EGammaMvaEleEstimatorCSA14::kTrig) && (fMVAType != EGammaMvaEleEstimatorCSA14::kNonTrig) && (fMVAType != EGammaMvaEleEstimatorCSA14::kNonTrigPhys14) ) { + std::cout << "Error: This method should be called for kTrig or kNonTrig or kNonTrigPhys14 MVA only" << endl; + return -9999; + } + + bool validKF= false; + reco::TrackRef myTrackRef = ele.closestCtfTrackRef(); + validKF = (myTrackRef.isAvailable()); + validKF = (myTrackRef.isNonnull()); + + // Pure tracking variables + fMVAVar_fbrem = ele.fbrem(); + fMVAVar_kfchi2 = (validKF) ? myTrackRef->normalizedChi2() : 0 ; + fMVAVar_kfhits = (validKF) ? myTrackRef->hitPattern().trackerLayersWithMeasurement() : -1. ; + fMVAVar_kfhitsall = (validKF) ? myTrackRef->numberOfValidHits() : -1. ; // save also this in your ntuple as possible alternative + fMVAVar_gsfchi2 = ele.gsfTrack()->normalizedChi2(); + + + // Geometrical matchings + fMVAVar_deta = ele.deltaEtaSuperClusterTrackAtVtx(); + fMVAVar_dphi = ele.deltaPhiSuperClusterTrackAtVtx(); + fMVAVar_detacalo = ele.deltaEtaSeedClusterTrackAtCalo(); + + + // Pure ECAL -> shower shapes + fMVAVar_see = ele.full5x5_sigmaIetaIeta(); //EleSigmaIEtaIEta + fMVAVar_spp = ele.full5x5_sigmaIphiIphi(); //EleSigmaIPhiIPhi + + fMVAVar_etawidth = ele.superCluster()->etaWidth(); + fMVAVar_phiwidth = ele.superCluster()->phiWidth(); + fMVAVar_OneMinusE1x5E5x5 = (ele.full5x5_e5x5()) !=0. ? 1.-(ele.full5x5_e1x5()/ele.full5x5_e5x5()) : -1. ; + fMVAVar_R9 = ele.full5x5_r9(); + + // Energy matching + fMVAVar_HoE = ele.hadronicOverEm(); + fMVAVar_EoP = ele.eSuperClusterOverP(); + fMVAVar_IoEmIoP = (1.0/ele.ecalEnergy()) - (1.0 / ele.p()); // in the future to be changed with ele.gsfTrack()->p() + fMVAVar_eleEoPout = ele.eEleClusterOverPout(); + fMVAVar_PreShowerOverRaw= ele.superCluster()->preshowerEnergy() / ele.superCluster()->rawEnergy(); + + + // Spectators + fMVAVar_eta = ele.superCluster()->eta(); + fMVAVar_abseta = fabs(ele.superCluster()->eta()); + fMVAVar_pt = ele.pt(); + fMVAVar_isBarrel = (ele.superCluster()->eta()<1.479); + fMVAVar_isEndcap = (ele.superCluster()->eta()>1.479); + fMVAVar_SCeta = ele.superCluster()->eta(); + + + + // evaluate + bindVariables(); + Double_t mva = -9999; + if (fUseBinnedVersion) { + int bin = GetMVABin(fMVAVar_eta,fMVAVar_pt); + mva = fTMVAReader[bin]->EvaluateMVA(fTMVAMethod[bin]); + } else { + mva = fTMVAReader[0]->EvaluateMVA(fTMVAMethod[0]); + } + + + + if(printDebug) { + cout << " *** Inside the class fMethodname " << fMethodname << " fMVAType " << fMVAType << endl; + cout << " fbrem " << fMVAVar_fbrem + << " kfchi2 " << fMVAVar_kfchi2 + << " mykfhits " << fMVAVar_kfhits + << " gsfchi2 " << fMVAVar_gsfchi2 + << " deta " << fMVAVar_deta + << " dphi " << fMVAVar_dphi + << " detacalo " << fMVAVar_detacalo + << " see " << fMVAVar_see + << " spp " << fMVAVar_spp + << " etawidth " << fMVAVar_etawidth + << " phiwidth " << fMVAVar_phiwidth + << " OneMinusE1x5E5x5 " << fMVAVar_OneMinusE1x5E5x5 + << " R9 " << fMVAVar_R9 + << " HoE " << fMVAVar_HoE + << " EoP " << fMVAVar_EoP + << " IoEmIoP " << fMVAVar_IoEmIoP + << " eleEoPout " << fMVAVar_eleEoPout + << " eta " << fMVAVar_eta + << " pt " << fMVAVar_pt << endl; + cout << " ### MVA " << mva << endl; + } + + + + return mva; +} + + + +void EGammaMvaEleEstimatorCSA14::bindVariables() { + + // this binding is needed for variables that sometime diverge. + + + if(fMVAVar_fbrem < -1.) + fMVAVar_fbrem = -1.; + + fMVAVar_deta = fabs(fMVAVar_deta); + if(fMVAVar_deta > 0.06) + fMVAVar_deta = 0.06; + + + fMVAVar_dphi = fabs(fMVAVar_dphi); + if(fMVAVar_dphi > 0.6) + fMVAVar_dphi = 0.6; + + + if(fMVAVar_EoP > 20.) + fMVAVar_EoP = 20.; + + if(fMVAVar_eleEoPout > 20.) + fMVAVar_eleEoPout = 20.; + + + fMVAVar_detacalo = fabs(fMVAVar_detacalo); + if(fMVAVar_detacalo > 0.2) + fMVAVar_detacalo = 0.2; + + if(fMVAVar_OneMinusE1x5E5x5 < -1.) + fMVAVar_OneMinusE1x5E5x5 = -1; + + if(fMVAVar_OneMinusE1x5E5x5 > 2.) + fMVAVar_OneMinusE1x5E5x5 = 2.; + + + + if(fMVAVar_R9 > 5) + fMVAVar_R9 = 5; + + if(fMVAVar_gsfchi2 > 200.) + fMVAVar_gsfchi2 = 200; + + + if(fMVAVar_kfchi2 > 10.) + fMVAVar_kfchi2 = 10.; + + + // Needed for a bug in CMSSW_420, fixed in more recent CMSSW versions + if(std::isnan(fMVAVar_spp)) + fMVAVar_spp = 0.; + + + return; +} + + + + + + + + diff --git a/MagneticField/ParametrizedEngine/BuildFile.xml b/MagneticField/ParametrizedEngine/BuildFile.xml new file mode 100644 index 000000000000..ab054d245fea --- /dev/null +++ b/MagneticField/ParametrizedEngine/BuildFile.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/MagneticField/ParametrizedEngine/interface/ParametrizedMagneticFieldFactory.h b/MagneticField/ParametrizedEngine/interface/ParametrizedMagneticFieldFactory.h new file mode 100644 index 000000000000..97e91df3c967 --- /dev/null +++ b/MagneticField/ParametrizedEngine/interface/ParametrizedMagneticFieldFactory.h @@ -0,0 +1,45 @@ +#ifndef ParametrizedMagneticFieldFactory_h +#define ParametrizedMagneticFieldFactory_h + +/** \class ParametrizedMagneticFieldFactory + * + * Create a parametrized field map with the specified configuration. + * + * \author N. Amapane - Torino + */ + + +#include +#include +#include +#include + +namespace edm{ + class ParameterSet; +} + +namespace magneticfield{ + class ParametrizedMagneticFieldProducer; + class VolumeBasedMagneticFieldESProducerFromDB; +} + +class ParametrizedMagneticFieldFactory { + public: + /// Constructor + ParametrizedMagneticFieldFactory(); + + private: + friend class magneticfield::ParametrizedMagneticFieldProducer; + friend class magneticfield::VolumeBasedMagneticFieldESProducerFromDB; + + // Get map configured from pset (deprecated) + std::auto_ptr + static get(std::string version, const edm::ParameterSet& parameters); + + // Get map configured from type name and numerical parameters + std::auto_ptr + static get(std::string version, std::vector parameters); + +}; +#endif + diff --git a/MagneticField/ParametrizedEngine/plugins/BuildFile.xml b/MagneticField/ParametrizedEngine/plugins/BuildFile.xml index 2c90d517ede2..94644847e5ff 100644 --- a/MagneticField/ParametrizedEngine/plugins/BuildFile.xml +++ b/MagneticField/ParametrizedEngine/plugins/BuildFile.xml @@ -3,6 +3,7 @@ + diff --git a/MagneticField/ParametrizedEngine/plugins/OAE85lParametrizedMagneticField.cc b/MagneticField/ParametrizedEngine/plugins/OAE85lParametrizedMagneticField.cc deleted file mode 100644 index 9e606e7aec7a..000000000000 --- a/MagneticField/ParametrizedEngine/plugins/OAE85lParametrizedMagneticField.cc +++ /dev/null @@ -1,135 +0,0 @@ -/** \file - * - * \author N. Amapane - CERN - */ - -#include "OAE85lParametrizedMagneticField.h" -#include -#include - -#include "TkBfield.h" - -using namespace std; -using namespace magfieldparam; - - -OAE85lParametrizedMagneticField::OAE85lParametrizedMagneticField(float b0_, - float a_, - float l_) - : b0(b0_), - l(l_), - a(a_) -{ - init(); -} - - -OAE85lParametrizedMagneticField::OAE85lParametrizedMagneticField(const edm::ParameterSet& parameters) { - b0 = parameters.getParameter("b0"); - l = parameters.getParameter("l"); - a = parameters.getParameter("a"); - init(); -} - -void OAE85lParametrizedMagneticField::init() { - ap2=4.0*a*a/(l*l); - hb0=0.5*b0*sqrt(1.0+ap2); - hlova=1.0/sqrt(ap2); - ainv=2.0*hlova/l; -} - - - -OAE85lParametrizedMagneticField::~OAE85lParametrizedMagneticField() {} - - -GlobalVector -OAE85lParametrizedMagneticField::inTesla(const GlobalPoint& gp) const { - - if (isDefined(gp)) { - return inTeslaUnchecked(gp); - } else { - edm::LogWarning("MagneticField|FieldOutsideValidity") << " Point " << gp << " is outside the validity region of OAE85lParametrizedMagneticField"; - return GlobalVector(); - } -} - - -GlobalVector -OAE85lParametrizedMagneticField::inTeslaUnchecked(const GlobalPoint& gp) const { - -// Method formerly named "trackerField" - -// -// B-field in Tracker volume -// -// In: xyz[3]: coordinates (m) -// Out: bxyz[3]: Bx,By,Bz (kG) -// -// Valid for r<1.2 and |z|<3.0 V.Karimäki 040301 -// Updated for CMSSW field 070424 -// - -// b0=field at centre, l=solenoid length, a=radius (m) (phenomen. parameters) - - // FIXME: beware of statics... -// static float ap2=4.0*a*a/(l*l); -// static float hb0=0.5*b0*sqrt(1.0+ap2); -// static float hlova=1.0/sqrt(ap2); -// static float ainv=2.0*hlova/l; - float xyz[3];//, bxyz[3]; - // convert to m (CMSSW) - xyz[0]=0.01*gp.x(); - xyz[1]=0.01*gp.y(); - xyz[2]=0.01*gp.z(); - - float r=sqrt(xyz[0]*xyz[0]+xyz[1]*xyz[1]); - float z=xyz[2]; - float az = fabs(z); - // if (r<1.2&&az<3.0) // NOTE: check omitted, is done already by inTesla (NA) - { - float zainv=z*ainv; - float rinv=(r>0.0) ? 1.0/r : 0.0; - float u=hlova-zainv; - float v=hlova+zainv; - float fu[5],gv[5]; - ffunkti(u,fu); - ffunkti(v,gv); - float rat=r*ainv; - float corrr=0.00894*r*z*(az-2.2221)*(az-2.2221); - float corrz=-0.02996*exp(-0.5*(az-1.9820)*(az-1.9820)/(0.78915*0.78915)); - float br=hb0*0.5*rat*(fu[1]-gv[1]-0.125*(fu[3]-gv[3])*rat*rat)+corrr; - float bz=hb0*(fu[0]+gv[0]-(fu[2]+gv[2])*0.25*rat*rat)+corrz; - //bxyz[0]=br*xyz[0]*rinv; - //bxyz[1]=br*xyz[1]*rinv; - //bxyz[2]=bz; - /// GlobalVector bresult(br*xyz[0]*rinv, br*xyz[1]*rinv, bz); - // bvec.x()=0.1*br*xyz[0]*rinv; - //bvec.y()=0.1*br*xyz[1]*rinv; - //bvec.z()=0.1*bz; - return 0.1*GlobalVector(br*xyz[0]*rinv, br*xyz[1]*rinv, bz); - } - // else { - // cout <<"The point is outside the region r<1.2m && |z|<3.0m"< -#include - -using namespace std; -using namespace magfieldparam; - -ParabolicParametrizedMagneticField::ParabolicParametrizedMagneticField() {} - - -//ParabolicParametrizedMagneticField::ParabolicParametrizedMagneticField(const edm::ParameterSet& parameters) {} -// theParam(parameters.getParameter("BValue")) {} - - -ParabolicParametrizedMagneticField::~ParabolicParametrizedMagneticField() {} - - -GlobalVector -ParabolicParametrizedMagneticField::inTesla(const GlobalPoint& gp) const { - if (isDefined(gp)) { - return inTeslaUnchecked(gp); - } else { - LogDebug("MagneticField|FieldOutsideValidity") << " Point " << gp << " is outside the validity region of ParabolicParametrizedMagneticField"; - return GlobalVector(); - } -} - -GlobalVector ParabolicParametrizedMagneticField::inTeslaUnchecked(const GlobalPoint& gp) const { - float B=B0Z(gp.z())*Kr(gp.perp2()); - return GlobalVector(0, 0, B); -} - -inline float ParabolicParametrizedMagneticField::B0Z(const float z) const { - return b0*z*z + b1*z + c1; -} - -inline float ParabolicParametrizedMagneticField::Kr(const float R2) const { - return a*R2 +1.; -} - -inline bool ParabolicParametrizedMagneticField::isDefined(const GlobalPoint& gp) const { - return (gp.perp2()<(13225.f) && fabs(gp.z())<280.f); -} diff --git a/MagneticField/ParametrizedEngine/plugins/ParabolicParametrizedMagneticField.h b/MagneticField/ParametrizedEngine/plugins/ParabolicParametrizedMagneticField.h deleted file mode 100644 index 9ea5e64bbc82..000000000000 --- a/MagneticField/ParametrizedEngine/plugins/ParabolicParametrizedMagneticField.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef ParametrizedEngine_ParabolicParametrizedMagneticField_h -#define ParametrizedEngine_ParabolicParametrizedMagneticField_h - -/** \class ParabolicParametrizedMagneticField - * - * A simple parametrization of the Bz component in the tracker region - * using the product of two parabolas - * - * \author G. Ortona - Torino - */ - -#include "MagneticField/Engine/interface/MagneticField.h" - -namespace edm { class ParameterSet; } -namespace magfieldparam { class TkBfield; } - -class ParabolicParametrizedMagneticField : public MagneticField { - public: - /// Constructor - explicit ParabolicParametrizedMagneticField(); - - /// Constructor. Parameters taken from a PSet - //explicit ParabolicParametrizedMagneticField(const edm::ParameterSet& parameters); - - /// Destructor - virtual ~ParabolicParametrizedMagneticField(); - - GlobalVector inTesla (const GlobalPoint& gp) const; - - GlobalVector inTeslaUnchecked (const GlobalPoint& gp) const; - - inline float B0Z(const float a) const; - - inline float Kr(const float R2) const; - - inline bool isDefined(const GlobalPoint& gp) const; - - private: - const float b0 = -3.94991e-06; - const float b1 = 7.53701e-06; - const float c1 = 3.8114; - const float a = 2.43878e-11; -}; -#endif diff --git a/MagneticField/ParametrizedEngine/plugins/ParametrizedMagneticFieldProducer.cc b/MagneticField/ParametrizedEngine/plugins/ParametrizedMagneticFieldProducer.cc index 22ad20ff68a7..e124b2f07c7f 100644 --- a/MagneticField/ParametrizedEngine/plugins/ParametrizedMagneticFieldProducer.cc +++ b/MagneticField/ParametrizedEngine/plugins/ParametrizedMagneticFieldProducer.cc @@ -4,15 +4,13 @@ */ #include "MagneticField/ParametrizedEngine/plugins/ParametrizedMagneticFieldProducer.h" -#include "OAEParametrizedMagneticField.h" -#include "ParabolicParametrizedMagneticField.h" -#include "OAE85lParametrizedMagneticField.h" -#include "PolyFit2DParametrizedMagneticField.h" +#include "MagneticField/ParametrizedEngine/interface/ParametrizedMagneticFieldFactory.h" + #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" #include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/Framework/interface/EventSetup.h" -#include "FWCore/Utilities/interface/Exception.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" #include #include @@ -27,9 +25,7 @@ ParametrizedMagneticFieldProducer::ParametrizedMagneticFieldProducer(const edm:: } -ParametrizedMagneticFieldProducer::~ParametrizedMagneticFieldProducer() -{ -} +ParametrizedMagneticFieldProducer::~ParametrizedMagneticFieldProducer(){} std::auto_ptr @@ -38,28 +34,7 @@ ParametrizedMagneticFieldProducer::produce(const IdealMagneticFieldRecord& iReco string version = pset.getParameter("version"); ParameterSet parameters = pset.getParameter("parameters"); - if (version=="OAE_85l_030919") { - // V. Karimaki's off-axis expansion fitted to v85l TOSCA computation - std::auto_ptr result(new OAE85lParametrizedMagneticField(parameters)); - return result; - } else if (version=="OAE_1103l_071212") { - // V. Karimaki's off-axis expansion fitted to v1103l TOSCA computation - std::auto_ptr result( new OAEParametrizedMagneticField(parameters)); - return result; - } else if (version=="PolyFit2D") { - // V. Maroussov polynomial fit to mapping data - std::auto_ptr result( new PolyFit2DParametrizedMagneticField(parameters)); - return result; - } else if (version=="PolyFit3D") { - // V. Maroussov polynomial fit to mapping data - throw cms::Exception("InvalidParameter")<<"PolyFit3D is not supported anymore"; - } else if (version=="Parabolic"){ - std::auto_ptr result( new ParabolicParametrizedMagneticField()); - return result; - } else { - throw cms::Exception("InvalidParameter")<<"Invalid parametrization version " << version; - } - return std::auto_ptr(0); //make compiler happy + return ParametrizedMagneticFieldFactory::get(version, parameters); } #include "FWCore/Framework/interface/ModuleFactory.h" diff --git a/MagneticField/ParametrizedEngine/plugins/BCyl.h b/MagneticField/ParametrizedEngine/src/BCyl.h similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/BCyl.h rename to MagneticField/ParametrizedEngine/src/BCyl.h diff --git a/MagneticField/ParametrizedEngine/plugins/BFit.cc b/MagneticField/ParametrizedEngine/src/BFit.cc similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/BFit.cc rename to MagneticField/ParametrizedEngine/src/BFit.cc diff --git a/MagneticField/ParametrizedEngine/plugins/BFit.h b/MagneticField/ParametrizedEngine/src/BFit.h similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/BFit.h rename to MagneticField/ParametrizedEngine/src/BFit.h diff --git a/MagneticField/ParametrizedEngine/plugins/BFit3D.cc b/MagneticField/ParametrizedEngine/src/BFit3D.cc similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/BFit3D.cc rename to MagneticField/ParametrizedEngine/src/BFit3D.cc diff --git a/MagneticField/ParametrizedEngine/plugins/BFit3D.h b/MagneticField/ParametrizedEngine/src/BFit3D.h similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/BFit3D.h rename to MagneticField/ParametrizedEngine/src/BFit3D.h diff --git a/MagneticField/ParametrizedEngine/plugins/BFit3D_data.h b/MagneticField/ParametrizedEngine/src/BFit3D_data.h similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/BFit3D_data.h rename to MagneticField/ParametrizedEngine/src/BFit3D_data.h diff --git a/MagneticField/ParametrizedEngine/plugins/HarmBasis3DCyl.cc b/MagneticField/ParametrizedEngine/src/HarmBasis3DCyl.cc similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/HarmBasis3DCyl.cc rename to MagneticField/ParametrizedEngine/src/HarmBasis3DCyl.cc diff --git a/MagneticField/ParametrizedEngine/plugins/HarmBasis3DCyl.h b/MagneticField/ParametrizedEngine/src/HarmBasis3DCyl.h similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/HarmBasis3DCyl.h rename to MagneticField/ParametrizedEngine/src/HarmBasis3DCyl.h diff --git a/MagneticField/ParametrizedEngine/plugins/OAEParametrizedMagneticField.cc b/MagneticField/ParametrizedEngine/src/OAEParametrizedMagneticField.cc similarity index 93% rename from MagneticField/ParametrizedEngine/plugins/OAEParametrizedMagneticField.cc rename to MagneticField/ParametrizedEngine/src/OAEParametrizedMagneticField.cc index 143d0bdb1092..ee11ab88046b 100644 --- a/MagneticField/ParametrizedEngine/plugins/OAEParametrizedMagneticField.cc +++ b/MagneticField/ParametrizedEngine/src/OAEParametrizedMagneticField.cc @@ -12,6 +12,9 @@ using namespace std; using namespace magfieldparam; +OAEParametrizedMagneticField::OAEParametrizedMagneticField(float B) : + theParam(B){} + OAEParametrizedMagneticField::OAEParametrizedMagneticField(string T) : theParam(T){} diff --git a/MagneticField/ParametrizedEngine/plugins/OAEParametrizedMagneticField.h b/MagneticField/ParametrizedEngine/src/OAEParametrizedMagneticField.h similarity index 80% rename from MagneticField/ParametrizedEngine/plugins/OAEParametrizedMagneticField.h rename to MagneticField/ParametrizedEngine/src/OAEParametrizedMagneticField.h index b99ac55796c8..63acb1eac823 100644 --- a/MagneticField/ParametrizedEngine/plugins/OAEParametrizedMagneticField.h +++ b/MagneticField/ParametrizedEngine/src/OAEParametrizedMagneticField.h @@ -9,7 +9,7 @@ * For details, cf TkBfield.h * * - * \author N. Amapane - CERN + * \author N. Amapane - Torino */ #include "MagneticField/Engine/interface/MagneticField.h" @@ -20,10 +20,13 @@ namespace magfieldparam { class TkBfield; } class OAEParametrizedMagneticField : public MagneticField { public: - /// Constructor + /// Constructor, pass value for nominal field + explicit OAEParametrizedMagneticField(float B); + + /// Constructor, pass string for nominal field [deprecated] explicit OAEParametrizedMagneticField(std::string T="3_8T"); - /// Constructor. Parameters taken from a PSet + /// Constructor. Parameters taken from a PSet [deprecated] explicit OAEParametrizedMagneticField(const edm::ParameterSet& parameters); /// Destructor diff --git a/MagneticField/ParametrizedEngine/src/ParabolicParametrizedMagneticField.cc b/MagneticField/ParametrizedEngine/src/ParabolicParametrizedMagneticField.cc new file mode 100644 index 000000000000..7ce7638e9ebd --- /dev/null +++ b/MagneticField/ParametrizedEngine/src/ParabolicParametrizedMagneticField.cc @@ -0,0 +1,57 @@ +/** \file + * + * \author G. Ortona - Torino + */ + +#include "ParabolicParametrizedMagneticField.h" +#include +#include + +using namespace std; + + +// Default parameters are the best fit of 3.8T to the OAEParametrizedMagneticField parametrization. +ParabolicParametrizedMagneticField::ParabolicParametrizedMagneticField() : + c1(3.8114), + b0(-3.94991e-06), + b1(7.53701e-06), + a (2.43878e-11) +{} + + +ParabolicParametrizedMagneticField::ParabolicParametrizedMagneticField(const vector& parameters) : + c1(parameters[0]), + b0(parameters[1]), + b1(parameters[2]), + a (parameters[3]) +{} + + +ParabolicParametrizedMagneticField::~ParabolicParametrizedMagneticField() {} + + +GlobalVector +ParabolicParametrizedMagneticField::inTesla(const GlobalPoint& gp) const { + if (isDefined(gp)) { + return inTeslaUnchecked(gp); + } else { + LogDebug("MagneticField|FieldOutsideValidity") << " Point " << gp << " is outside the validity region of ParabolicParametrizedMagneticField"; + return GlobalVector(); + } +} + +GlobalVector ParabolicParametrizedMagneticField::inTeslaUnchecked(const GlobalPoint& gp) const { + return GlobalVector(0, 0, B0Z(gp.z())*Kr(gp.perp2())); +} + +inline float ParabolicParametrizedMagneticField::B0Z(const float z) const { + return b0*z*z + b1*z + c1; +} + +inline float ParabolicParametrizedMagneticField::Kr(const float R2) const { + return a*R2 +1.; +} + +inline bool ParabolicParametrizedMagneticField::isDefined(const GlobalPoint& gp) const { + return (gp.perp2()<(13225.f) && fabs(gp.z())<280.f); +} diff --git a/MagneticField/ParametrizedEngine/src/ParabolicParametrizedMagneticField.h b/MagneticField/ParametrizedEngine/src/ParabolicParametrizedMagneticField.h new file mode 100644 index 000000000000..de4514283fe3 --- /dev/null +++ b/MagneticField/ParametrizedEngine/src/ParabolicParametrizedMagneticField.h @@ -0,0 +1,44 @@ +#ifndef ParametrizedEngine_ParabolicParametrizedMagneticField_h +#define ParametrizedEngine_ParabolicParametrizedMagneticField_h + +/** \class ParabolicParametrizedMagneticField + * + * A simple parametrization of the Bz component in the tracker region + * using the product of two parabolas + * + * \author G. Ortona - Torino + */ + +#include "MagneticField/Engine/interface/MagneticField.h" +#include + +namespace edm { class ParameterSet; } + +class ParabolicParametrizedMagneticField : public MagneticField { + public: + /// Default constructor, use default values for 3.8T map + explicit ParabolicParametrizedMagneticField(); + + /// Constructor with explicit parameter list (b0, b1, c1, a) + explicit ParabolicParametrizedMagneticField(const std::vector& parameters); + + /// Destructor + virtual ~ParabolicParametrizedMagneticField(); + + GlobalVector inTesla (const GlobalPoint& gp) const; + + GlobalVector inTeslaUnchecked (const GlobalPoint& gp) const; + + inline float B0Z(const float a) const; + + inline float Kr(const float R2) const; + + inline bool isDefined(const GlobalPoint& gp) const; + + private: + float c1; + float b0; + float b1; + float a; +}; +#endif diff --git a/MagneticField/ParametrizedEngine/src/ParametrizedMagneticFieldFactory.cc b/MagneticField/ParametrizedEngine/src/ParametrizedMagneticFieldFactory.cc new file mode 100644 index 000000000000..c35c98deb070 --- /dev/null +++ b/MagneticField/ParametrizedEngine/src/ParametrizedMagneticFieldFactory.cc @@ -0,0 +1,78 @@ +/** \file + * + * \author N. Amapane - Torino + */ + +#include +#include + +#include "MagneticField/UniformEngine/src/UniformMagneticField.h" +#include "OAEParametrizedMagneticField.h" +#include "ParabolicParametrizedMagneticField.h" +#include "PolyFit2DParametrizedMagneticField.h" + +#include "FWCore/Utilities/interface/Exception.h" + +using namespace std; +using namespace edm; + +ParametrizedMagneticFieldFactory::ParametrizedMagneticFieldFactory(){} + +// Legacy interface, deprecated +std::auto_ptr +ParametrizedMagneticFieldFactory::get(string version, const ParameterSet& parameters) { + + if (version=="OAE_1103l_071212") { + // V. Karimaki's off-axis expansion fitted to v1103l TOSCA computation + std::auto_ptr result( new OAEParametrizedMagneticField(parameters)); + return result; + } else if (version=="PolyFit2D") { + // V. Maroussov polynomial fit to mapping data + std::auto_ptr result( new PolyFit2DParametrizedMagneticField(parameters)); + return result; + } else if (version=="PolyFit3D") { + // V. Maroussov polynomial fit to mapping data + throw cms::Exception("InvalidParameter")<<"PolyFit3D is not supported anymore"; + } else if (version=="Parabolic"){ + // FIXME implement configurable parameters to be passed to ctor +// vector params = parameters.getParameter("parameters"); +// std::auto_ptr result( new ParabolicParametrizedMagneticField(params)); + std::auto_ptr result( new ParabolicParametrizedMagneticField()); + return result; + } else { + throw cms::Exception("InvalidParameter")<<"Invalid parametrization version " << version; + } + return std::auto_ptr(0); //make compiler happy +} + + +// New interface +std::auto_ptr +ParametrizedMagneticFieldFactory::get(string version, vector parameters) { + + if (version=="Uniform") { + if (parameters.size()!=1) throw cms::Exception("InvalidParameter") << "Incorrect parameters (" << parameters.size()<< ")`for " << version ; + std::auto_ptr result(new UniformMagneticField(parameters[0])); + return result; + } else if (version=="OAE_1103l_071212") { + // V. Karimaki's off-axis expansion fitted to v1103l TOSCA computation + if (parameters.size()!=1) throw cms::Exception("InvalidParameter") << "Incorrect parameters (" << parameters.size()<< ")`for " << version ; + std::auto_ptr result( new OAEParametrizedMagneticField(parameters[0])); + return result; + } else if (version=="PolyFit2D") { + // V. Maroussov polynomial fit to mapping data + if (parameters.size()!=1) throw cms::Exception("InvalidParameter") << "Incorrect parameters (" << parameters.size()<< ")`for " << version ; + std::auto_ptr result( new PolyFit2DParametrizedMagneticField(parameters[0])); + return result; + } else if (version=="PolyFit3D") { + // V. Maroussov polynomial fit to mapping data + throw cms::Exception("InvalidParameter")<<"PolyFit3D is not supported anymore"; + } else if (version=="Parabolic"){ + if (parameters.size()!=4) throw cms::Exception("InvalidParameter") << "Incorrect parameters (" << parameters.size()<< ")`for " << version ; + std::auto_ptr result( new ParabolicParametrizedMagneticField(parameters)); + return result; + } else { + throw cms::Exception("InvalidParameter")<<"Invalid parametrization version " << version; + } + return std::auto_ptr(0); //make compiler happy +} diff --git a/MagneticField/ParametrizedEngine/plugins/PolyFit2DParametrizedMagneticField.cc b/MagneticField/ParametrizedEngine/src/PolyFit2DParametrizedMagneticField.cc similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/PolyFit2DParametrizedMagneticField.cc rename to MagneticField/ParametrizedEngine/src/PolyFit2DParametrizedMagneticField.cc diff --git a/MagneticField/ParametrizedEngine/plugins/PolyFit2DParametrizedMagneticField.h b/MagneticField/ParametrizedEngine/src/PolyFit2DParametrizedMagneticField.h similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/PolyFit2DParametrizedMagneticField.h rename to MagneticField/ParametrizedEngine/src/PolyFit2DParametrizedMagneticField.h diff --git a/MagneticField/ParametrizedEngine/plugins/TkBfield.cc b/MagneticField/ParametrizedEngine/src/TkBfield.cc similarity index 83% rename from MagneticField/ParametrizedEngine/plugins/TkBfield.cc rename to MagneticField/ParametrizedEngine/src/TkBfield.cc index 91cf8fd02e51..9f67af59800b 100644 --- a/MagneticField/ParametrizedEngine/plugins/TkBfield.cc +++ b/MagneticField/ParametrizedEngine/src/TkBfield.cc @@ -18,8 +18,19 @@ namespace { BCylParam fpar4{4.24326f,15.0201f,3.81492f,0.0178712f,0.000656527f,2.45818f,0.00778695f,2.12500f,1.77436f}; // 3.8T-2G BCylParam fpar5{4.21136f,14.8824f,4.01683f,0.0175932f,0.000695541f,2.45311f,0.00813447f,2.11688f,1.76076f}; // 4.0T-2G std::string const flds[] = {"2_0T","3_0T","3_5T","3_8T","4_0T"}; + float flds_f[] = {2.0, 3.0, 3.5, 3.8, 4.0}; BCylParam const fpars[]{fpar1,fpar2,fpar3,fpar4,fpar5}; + BCylParam const & findPar(float fld) { + for (int i=0; i<5; ++i){ + if (fabs(fld-flds_f[i])<0.001) { + return fpars[i]; + } + } + throw cms::Exception("BadParameters") << "Undefined field value " << fld; + } + + BCylParam const & findPar(std::string fld) { auto f = std::find(flds,flds+5,fld); if (f-flds>4) throw cms::Exception("BadParameters") @@ -31,8 +42,10 @@ namespace { } -TkBfield::TkBfield(std::string fld) : bcyl(findPar(fld)) { +TkBfield::TkBfield(float fld) : bcyl(findPar(fld)) { +} +TkBfield::TkBfield(std::string fld) : bcyl(findPar(fld)) { } diff --git a/MagneticField/ParametrizedEngine/plugins/TkBfield.h b/MagneticField/ParametrizedEngine/src/TkBfield.h similarity index 84% rename from MagneticField/ParametrizedEngine/plugins/TkBfield.h rename to MagneticField/ParametrizedEngine/src/TkBfield.h index 8c710e34e267..784c300b5a71 100644 --- a/MagneticField/ParametrizedEngine/plugins/TkBfield.h +++ b/MagneticField/ParametrizedEngine/src/TkBfield.h @@ -26,8 +26,11 @@ namespace magfieldparam { class TkBfield { public: - TkBfield (std::string T="3_8T"); + // Deprecated ctor, nominal field value specified with a string, eg. "3_8T" + TkBfield (std::string T); + // Ctor + TkBfield (float fld=3.8); /// B out in cartesian void getBxyz(float const * __restrict__ x, float * __restrict__ Bxyz) const; diff --git a/MagneticField/ParametrizedEngine/plugins/poly2d_base.cc b/MagneticField/ParametrizedEngine/src/poly2d_base.cc similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/poly2d_base.cc rename to MagneticField/ParametrizedEngine/src/poly2d_base.cc diff --git a/MagneticField/ParametrizedEngine/plugins/poly2d_base.h b/MagneticField/ParametrizedEngine/src/poly2d_base.h similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/poly2d_base.h rename to MagneticField/ParametrizedEngine/src/poly2d_base.h diff --git a/MagneticField/ParametrizedEngine/plugins/rz_harm_poly.cc b/MagneticField/ParametrizedEngine/src/rz_harm_poly.cc similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/rz_harm_poly.cc rename to MagneticField/ParametrizedEngine/src/rz_harm_poly.cc diff --git a/MagneticField/ParametrizedEngine/plugins/rz_harm_poly.h b/MagneticField/ParametrizedEngine/src/rz_harm_poly.h similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/rz_harm_poly.h rename to MagneticField/ParametrizedEngine/src/rz_harm_poly.h diff --git a/MagneticField/ParametrizedEngine/plugins/rz_poly.cc b/MagneticField/ParametrizedEngine/src/rz_poly.cc similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/rz_poly.cc rename to MagneticField/ParametrizedEngine/src/rz_poly.cc diff --git a/MagneticField/ParametrizedEngine/plugins/rz_poly.h b/MagneticField/ParametrizedEngine/src/rz_poly.h similarity index 100% rename from MagneticField/ParametrizedEngine/plugins/rz_poly.h rename to MagneticField/ParametrizedEngine/src/rz_poly.h diff --git a/MagneticField/ParametrizedEngine/test/BuildFile.xml b/MagneticField/ParametrizedEngine/test/BuildFile.xml deleted file mode 100644 index db160c09b608..000000000000 --- a/MagneticField/ParametrizedEngine/test/BuildFile.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/MagneticField/ParametrizedEngine/test/MagneticFieldPlotter.cc b/MagneticField/ParametrizedEngine/test/MagneticFieldPlotter.cc deleted file mode 100644 index 219e08a5774f..000000000000 --- a/MagneticField/ParametrizedEngine/test/MagneticFieldPlotter.cc +++ /dev/null @@ -1,146 +0,0 @@ -// -*- C++ -*- -// -// Package: MagneticFieldPlotter -// Class: MagneticFieldPlotter -// -/**\class MagneticFieldPlotter MagneticFieldPlotter.cc MyAnalyzers/MagneticFieldPlotter/src/MagneticFieldPlotter.cc - - Description: Plots Magnetic Field Components in the Tracker Volume - - Implementation: - This Analyzer fills some histograms with the Magnetic Field components in the tracker volume. It's mainly aimed to look - at differences between the Veikko parametrized field and the VolumeBased one. -*/ -// -// Original Author: Massimiliano Chiorboli -// Created: Mon Jun 11 17:20:15 CEST 2007 -// -// - - -// system include files -#include -#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 "MagneticField/Engine/interface/MagneticField.h" -#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" -#include "MagneticFieldPlotter.h" -#include "DataFormats/GeometryVector/interface/Pi.h" -#include "FWCore/Framework/interface/ESHandle.h" - -#include -#include - -using namespace edm; -using namespace std; - - -MagneticFieldPlotter::MagneticFieldPlotter(const edm::ParameterSet& iConfig): - HistoFileName(iConfig.getUntrackedParameter("histoFileName", - std::string("magneticFieldPlotterHistos.root"))) -{ - theHistoFile = 0; - - nZstep = 1; - nPhistep = 1; - zHalfLength = 280; - -} - - -MagneticFieldPlotter::~MagneticFieldPlotter() -{ - -} - - -void -MagneticFieldPlotter::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) -{ - ESHandle ESMGField; - iSetup.get().get(ESMGField); - theMGField = &(*ESMGField); - - - // float radius[5] = {10, 20, 30, 50, 100}; - float radius[1] = {100}; - // for(int iR=0; iR<5; iR++) { - for(int iR=0; iR<1; iR++) { - for(int iPhi=0; iPhiinTesla(gp); - float Br = myFieldVector.x()*cos(gp.phi()) + myFieldVector.y()*sin(gp.phi()); - float Bphi = - myFieldVector.x()*sin(gp.phi()) + myFieldVector.y()*cos(gp.phi()); - std::cout << "Radius = " << rCoordinate ; - std::cout << ", Z = " << zCoordinate ; - std::cout << ", Phi = " << phiCoordinate <> iS; - string gBzName = "gBz" + iS; - string gBzTitle = "B_{z}" + iS; - string gBphiName = "gBphi" + iS; - string gBphiTitle = "B_{#phi}" + iS; - string gBrName = "gBr" + iS; - string gBrTitle = "B_{r}" + iS; - gBz[i] = new TH2D(gBzName.c_str() , gBzTitle.c_str() , - nPhistep , -Geom::pi()-phiStepWidth/2 , Geom::pi()-phiStepWidth/2, - nZstep , -zHalfLength-zStepWidth/2 , zHalfLength-zStepWidth/2 ); - gBphi[i] = new TH2D(gBphiName.c_str() , gBphiTitle.c_str() , - nPhistep , -Geom::pi()-phiStepWidth/2 , Geom::pi()-phiStepWidth/2, - nZstep , -zHalfLength-zStepWidth/2 , zHalfLength-zStepWidth/2 ); - gBr[i] = new TH2D(gBrName.c_str() , gBrTitle.c_str() , - nPhistep , -Geom::pi()-phiStepWidth/2 , Geom::pi()-phiStepWidth/2, - nZstep , -zHalfLength-zStepWidth/2 , zHalfLength-zStepWidth/2 ); - - } - -} - -void -MagneticFieldPlotter::endJob() { - theHistoFile->Write(); - theHistoFile->Close() ; -} - -DEFINE_FWK_MODULE(MagneticFieldPlotter); diff --git a/MagneticField/ParametrizedEngine/test/MagneticFieldPlotter.h b/MagneticField/ParametrizedEngine/test/MagneticFieldPlotter.h deleted file mode 100644 index ceeee4f1d524..000000000000 --- a/MagneticField/ParametrizedEngine/test/MagneticFieldPlotter.h +++ /dev/null @@ -1,65 +0,0 @@ -// -*- C++ -*- -// -// Package: MagneticFieldPlotter -// Class: MagneticFieldPlotter -// -/**\class MagneticFieldPlotter MagneticFieldPlotter.cc MyAnalyzers/MagneticFieldPlotter/src/MagneticFieldPlotter.cc - - Description: Plots Magnetic Field Components in the Tracker Volume - - Implementation: - This Analyzer fills some histograms with the Magnetic Field components in the tracker volume. It's mainly aimed to look - at differences between the Veikko parametrized field and the VolumeBased one. -*/ -// -// Original Author: Massimiliano Chiorboli -// Created: Mon Jun 11 17:20:15 CEST 2007 -// -// -// 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/EventSetup.h" -#include "FWCore/Framework/interface/MakerMacros.h" - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include "TGraph2D.h" -#include "TGraph.h" -#include "TH1.h" -#include "TFile.h" - - -class MagneticFieldPlotter : public edm::EDAnalyzer { -public: - explicit MagneticFieldPlotter(const edm::ParameterSet&); - ~MagneticFieldPlotter(); - - -private: - virtual void beginJob() ; - virtual void analyze(const edm::Event&, const edm::EventSetup&); - virtual void endJob() ; - - - TH2D* gBz[5]; - TH2D* gBphi[5]; - TH2D* gBr[5]; - - int nZstep; - int nPhistep; - float zHalfLength; - - const MagneticField* theMGField; - std::string HistoFileName; - TFile* theHistoFile; - -}; - - - diff --git a/MagneticField/ParametrizedEngine/test/TKBfield_t.cpp b/MagneticField/ParametrizedEngine/test/TKBfield_t.cpp deleted file mode 100644 index 9597bbe950bd..000000000000 --- a/MagneticField/ParametrizedEngine/test/TKBfield_t.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include - - - -int main() { - magfieldparam::TkBfield field; - for (float x=-0.5; x<0.6; x+=0.5) - for (float y=- 0.5; y<0.6; y+=0.5) - for (float z=-2.; z<2.1; z+=0.5) { - float loc[] = {x,y,z}; - float b[3]; - field.getBxyz(loc,b); - std::cout << b[0] << ", " << b[1] << ", " << b[2] << std::endl; - } - return 0; -} - diff --git a/MagneticField/ParametrizedEngine/test/res60.out b/MagneticField/ParametrizedEngine/test/res60.out deleted file mode 100644 index 1e236dc0cd8a..000000000000 --- a/MagneticField/ParametrizedEngine/test/res60.out +++ /dev/null @@ -1,81 +0,0 @@ -0.0207383, 0.0207383, 3.73348 -0.0152751, 0.0152751, 3.76922 -0.0103261, 0.0103261, 3.7948 -0.0054454, 0.0054454, 3.81039 -0.000199622, 0.000199622, 3.81586 --0.00508761, -0.00508761, 3.81111 --0.00998011, -0.00998011, 3.79624 --0.0149097, -0.0149097, 3.77138 --0.020321, -0.020321, 3.73638 -0.0208369, -0, 3.73038 -0.0153471, -0, 3.76646 -0.0103731, -0, 3.79228 -0.00546889, -0, 3.80801 -0.000200428, -0, 3.81353 --0.00510946, 0, 3.80875 --0.0100254, 0, 3.79374 --0.0149798, 0, 3.76864 --0.0204176, 0, 3.73332 -0.0207383, -0.0207383, 3.73348 -0.0152751, -0.0152751, 3.76922 -0.0103261, -0.0103261, 3.7948 -0.0054454, -0.0054454, 3.81039 -0.000199622, -0.000199622, 3.81586 --0.00508761, 0.00508761, 3.81111 --0.00998011, 0.00998011, 3.79624 --0.0149097, 0.0149097, 3.77138 --0.020321, 0.020321, 3.73638 --0, 0.0208369, 3.73038 --0, 0.0153471, 3.76646 --0, 0.0103731, 3.79228 --0, 0.00546889, 3.80801 --0, 0.000200428, 3.81353 -0, -0.00510946, 3.80875 -0, -0.0100254, 3.79374 -0, -0.0149798, 3.76864 -0, -0.0204176, 3.73332 --0, -0, 3.72729 --0, -0, 3.76371 --0, -0, 3.78977 --0, -0, 3.80564 --0, -0, 3.8112 -0, 0, 3.80638 -0, 0, 3.79124 -0, 0, 3.76591 -0, 0, 3.73025 --0, -0.0208369, 3.73038 --0, -0.0153471, 3.76646 --0, -0.0103731, 3.79228 --0, -0.00546889, 3.80801 --0, -0.000200428, 3.81353 -0, 0.00510946, 3.80875 -0, 0.0100254, 3.79374 -0, 0.0149798, 3.76864 -0, 0.0204176, 3.73332 --0.0207383, 0.0207383, 3.73348 --0.0152751, 0.0152751, 3.76922 --0.0103261, 0.0103261, 3.7948 --0.0054454, 0.0054454, 3.81039 --0.000199622, 0.000199622, 3.81586 -0.00508761, -0.00508761, 3.81111 -0.00998011, -0.00998011, 3.79624 -0.0149097, -0.0149097, 3.77138 -0.020321, -0.020321, 3.73638 --0.0208369, -0, 3.73038 --0.0153471, -0, 3.76646 --0.0103731, -0, 3.79228 --0.00546889, -0, 3.80801 --0.000200428, -0, 3.81353 -0.00510946, 0, 3.80875 -0.0100254, 0, 3.79374 -0.0149798, 0, 3.76864 -0.0204176, 0, 3.73332 --0.0207383, -0.0207383, 3.73348 --0.0152751, -0.0152751, 3.76922 --0.0103261, -0.0103261, 3.7948 --0.0054454, -0.0054454, 3.81039 --0.000199622, -0.000199622, 3.81586 -0.00508761, 0.00508761, 3.81111 -0.00998011, 0.00998011, 3.79624 -0.0149097, 0.0149097, 3.77138 -0.020321, 0.020321, 3.73638 diff --git a/MagneticField/ParametrizedEngine/test/res61.out b/MagneticField/ParametrizedEngine/test/res61.out deleted file mode 100644 index 710f75332ec0..000000000000 --- a/MagneticField/ParametrizedEngine/test/res61.out +++ /dev/null @@ -1,81 +0,0 @@ -0.0207383, 0.0207383, 3.73348 -0.0152751, 0.0152751, 3.76922 -0.0103261, 0.0103261, 3.7948 -0.00544541, 0.00544541, 3.81039 -0.000199624, 0.000199624, 3.81586 --0.00508761, -0.00508761, 3.81111 --0.00998011, -0.00998011, 3.79624 --0.0149097, -0.0149097, 3.77138 --0.020321, -0.020321, 3.73638 -0.0208369, -0, 3.73038 -0.0153471, -0, 3.76646 -0.0103731, -0, 3.79228 -0.0054689, -0, 3.80801 -0.000200429, -0, 3.81353 --0.00510946, 0, 3.80875 --0.0100254, 0, 3.79374 --0.0149798, 0, 3.76864 --0.0204176, 0, 3.73332 -0.0207383, -0.0207383, 3.73348 -0.0152751, -0.0152751, 3.76922 -0.0103261, -0.0103261, 3.7948 -0.00544541, -0.00544541, 3.81039 -0.000199624, -0.000199624, 3.81586 --0.00508761, 0.00508761, 3.81111 --0.00998011, 0.00998011, 3.79624 --0.0149097, 0.0149097, 3.77138 --0.020321, 0.020321, 3.73638 --0, 0.0208369, 3.73038 --0, 0.0153471, 3.76646 --0, 0.0103731, 3.79228 --0, 0.0054689, 3.80801 --0, 0.000200429, 3.81353 -0, -0.00510946, 3.80875 -0, -0.0100254, 3.79374 -0, -0.0149798, 3.76864 -0, -0.0204176, 3.73332 --0, -0, 3.72729 --0, -0, 3.76371 --0, -0, 3.78977 --0, -0, 3.80564 --0, -0, 3.8112 -0, 0, 3.80638 -0, 0, 3.79124 -0, 0, 3.76591 -0, 0, 3.73025 --0, -0.0208369, 3.73038 --0, -0.0153471, 3.76646 --0, -0.0103731, 3.79228 --0, -0.0054689, 3.80801 --0, -0.000200429, 3.81353 -0, 0.00510946, 3.80875 -0, 0.0100254, 3.79374 -0, 0.0149798, 3.76864 -0, 0.0204176, 3.73332 --0.0207383, 0.0207383, 3.73348 --0.0152751, 0.0152751, 3.76922 --0.0103261, 0.0103261, 3.7948 --0.00544541, 0.00544541, 3.81039 --0.000199624, 0.000199624, 3.81586 -0.00508761, -0.00508761, 3.81111 -0.00998011, -0.00998011, 3.79624 -0.0149097, -0.0149097, 3.77138 -0.020321, -0.020321, 3.73638 --0.0208369, -0, 3.73038 --0.0153471, -0, 3.76646 --0.0103731, -0, 3.79228 --0.0054689, -0, 3.80801 --0.000200429, -0, 3.81353 -0.00510946, 0, 3.80875 -0.0100254, 0, 3.79374 -0.0149798, 0, 3.76864 -0.0204176, 0, 3.73332 --0.0207383, -0.0207383, 3.73348 --0.0152751, -0.0152751, 3.76922 --0.0103261, -0.0103261, 3.7948 --0.00544541, -0.00544541, 3.81039 --0.000199624, -0.000199624, 3.81586 -0.00508761, 0.00508761, 3.81111 -0.00998011, 0.00998011, 3.79624 -0.0149097, 0.0149097, 3.77138 -0.020321, 0.020321, 3.73638 diff --git a/PhysicsTools/Heppy/BuildFile.xml b/PhysicsTools/Heppy/BuildFile.xml index 94d4340b0cfa..c69b021e6f24 100644 --- a/PhysicsTools/Heppy/BuildFile.xml +++ b/PhysicsTools/Heppy/BuildFile.xml @@ -11,6 +11,9 @@ + + + diff --git a/PhysicsTools/Heppy/data/pdfQG_AK4chs_antib_13TeV_v1.root b/PhysicsTools/Heppy/data/pdfQG_AK4chs_antib_13TeV_v1.root new file mode 100644 index 000000000000..5d553b96c957 Binary files /dev/null and b/PhysicsTools/Heppy/data/pdfQG_AK4chs_antib_13TeV_v1.root differ diff --git a/PhysicsTools/Heppy/interface/Apc.h b/PhysicsTools/Heppy/interface/Apc.h new file mode 100644 index 000000000000..a9f367bcabcd --- /dev/null +++ b/PhysicsTools/Heppy/interface/Apc.h @@ -0,0 +1,28 @@ +#ifndef PhysicsTools_Heppy_Apc_h +#define PhysicsTools_Heppy_Apc_h + +#include +#include +#include + + +/* Apc + * + * Calculates the Apc event variable for a given input jet collection + * + */ + +namespace heppy { + +struct Apc { + + static double getApcJetMetMin( const std::vector& et, + const std::vector& px, + const std::vector& py, + const double metx, const double mety); + +}; + +}; + +#endif // Apc_h diff --git a/PhysicsTools/Heppy/interface/EGammaMvaEleEstimatorFWLite.h b/PhysicsTools/Heppy/interface/EGammaMvaEleEstimatorFWLite.h index cb84c62f23d0..e2323eda971e 100644 --- a/PhysicsTools/Heppy/interface/EGammaMvaEleEstimatorFWLite.h +++ b/PhysicsTools/Heppy/interface/EGammaMvaEleEstimatorFWLite.h @@ -2,6 +2,7 @@ #define PhysicsTools_Heppy_EGammaMvaEleEstimatorFWLite_h struct EGammaMvaEleEstimator; +struct EGammaMvaEleEstimatorCSA14; namespace reco { struct Vertex; } namespace pat { struct Electron; } #include @@ -18,6 +19,9 @@ class EGammaMvaEleEstimatorFWLite { kTrig = 0, // MVA for triggering electrons kTrigNoIP = 1, // MVA for triggering electrons without IP info kNonTrig = 2, // MVA for non-triggering electrons + kTrigCSA14 = 3, // MVA for non-triggering electrons + kNonTrigCSA14 = 4, // MVA for non-triggering electrons + kNonTrigPhys14 = 5, // MVA for non-triggering electrons }; void initialize( std::string methodName, @@ -32,6 +36,7 @@ class EGammaMvaEleEstimatorFWLite { bool printDebug = false); private: EGammaMvaEleEstimator *estimator_; + EGammaMvaEleEstimatorCSA14 *estimatorCSA14_; }; } #endif diff --git a/PhysicsTools/Heppy/interface/Hemisphere.h b/PhysicsTools/Heppy/interface/Hemisphere.h index 2bd11c2f7034..4f50ecca5953 100644 --- a/PhysicsTools/Heppy/interface/Hemisphere.h +++ b/PhysicsTools/Heppy/interface/Hemisphere.h @@ -72,6 +72,8 @@ class Hemisphere { // RejectISRDRmax() max DeltaR below which objects can be included // (default = 10.) + Hemisphere(){}; + Hemisphere(std::vector Px_vector, std::vector Py_vector, std::vector Pz_vector, std::vector E_vector, int seed_method, int hemisphere_association_method); Hemisphere(std::vector Px_vector, std::vector Py_vector, std::vector Pz_vector, std::vector E_vector); diff --git a/PhysicsTools/Heppy/interface/IsolationComputer.h b/PhysicsTools/Heppy/interface/IsolationComputer.h new file mode 100644 index 000000000000..3d96c8cb44ec --- /dev/null +++ b/PhysicsTools/Heppy/interface/IsolationComputer.h @@ -0,0 +1,64 @@ +#ifndef PhysicsTools_Heppy_IsolationComputer_h +#define PhysicsTools_Heppy_IsolationComputer_h + +#include +#include "DataFormats/PatCandidates/interface/PackedCandidate.h" + +namespace heppy { +class IsolationComputer { + public: + /// Create the calculator; optionally specify a cone for computing deltaBeta weights + IsolationComputer(float weightCone=-1) : weightCone_(weightCone) {} + + /// Self-veto policy + enum SelfVetoPolicy { + selfVetoNone=0, selfVetoAll=1, selfVetoFirst=2 + }; + /// Initialize with the list of packed candidates (note: clears also all vetos) + void setPackedCandidates(const std::vector & all, int fromPV_thresh=1, float dz_thresh=9999., bool also_leptons=false) ; + + + /// veto footprint from this candidate, for the isolation of all candidates and also for calculation of neutral weights (if used) + void addVetos(const reco::Candidate &cand) ; + + /// clear all vetos + void clearVetos() ; + + /// Isolation from charged from the PV + float chargedAbsIso(const reco::Candidate &cand, float dR, float innerR=0, float threshold=0, SelfVetoPolicy selfVeto=selfVetoAll) const ; + + /// Isolation from charged from PU + float puAbsIso(const reco::Candidate &cand, float dR, float innerR=0, float threshold=0, SelfVetoPolicy selfVeto=selfVetoAll) const ; + + /// Isolation from all neutrals (uncorrected) + float neutralAbsIsoRaw(const reco::Candidate &cand, float dR, float innerR=0, float threshold=0, SelfVetoPolicy selfVeto=selfVetoAll) const ; + + /// Isolation from neutral hadrons (uncorrected) + float neutralHadAbsIsoRaw(const reco::Candidate &cand, float dR, float innerR=0, float threshold=0, SelfVetoPolicy selfVeto=selfVetoAll) const ; + + /// Isolation from photons (uncorrected) + float photonAbsIsoRaw(const reco::Candidate &cand, float dR, float innerR=0, float threshold=0, SelfVetoPolicy selfVeto=selfVetoAll) const ; + + /// Isolation from all neutrals (with weights) + float neutralAbsIsoWeighted(const reco::Candidate &cand, float dR, float innerR=0, float threshold=0, SelfVetoPolicy selfVeto=selfVetoAll) const ; + + /// Isolation from neutral hadrons (with weights) + float neutralHadAbsIsoWeighted(const reco::Candidate &cand, float dR, float innerR=0, float threshold=0, SelfVetoPolicy selfVeto=selfVetoAll) const ; + + /// Isolation from photons (with weights) + float photonAbsIsoWeighted(const reco::Candidate &cand, float dR, float innerR=0, float threshold=0, SelfVetoPolicy selfVeto=selfVetoAll) const ; + protected: + const std::vector * allcands_; + float weightCone_; + // collections of objects, sorted in eta + std::vector charged_, neutral_, pileup_; + mutable std::vector weights_; + std::vector vetos_; + + float isoSumRaw(const std::vector & cands, const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto, int pdgId=-1) const ; + float isoSumNeutralsWeighted(const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto, int pdgId=-1) const ; +}; + +} + +#endif diff --git a/PhysicsTools/Heppy/interface/Megajet.h b/PhysicsTools/Heppy/interface/Megajet.h new file mode 100644 index 000000000000..aaae07818004 --- /dev/null +++ b/PhysicsTools/Heppy/interface/Megajet.h @@ -0,0 +1,100 @@ +//------------------------------------------------------- +// Description: Razor Megajet calculator +// Authors: Maurizio Pierini, CERN +// Authors: Christopher Rogan, Javier Duarte, Caltech +// Authors: Emanuele Di Marco, CERN +//------------------------------------------------------- + +/// The Megajet class implements the +/// algorithm to combine jets in hemispheres +/// as defined in CMS SUSY searches + +#ifndef Megajet_h +#define Megajet_h + +#include +#include +#include + +namespace heppy { + +class Megajet { + +public: + + // There are 2 constructors: + // 1. Constructor taking as argument vectors of Px, Py, Pz and E of the objects in the event and the hemisphere + // association method, + // 2. Constructor taking as argument vectors of Px, Py, Pz and E of the objects in the event. + // The hemisphere association method should then be defined by SetMethod(association_method). + // + // Hemisphere association method: + // 1: minimum sum of the invariant masses of the two hemispheres + // 2: minimum difference of HT for the two hemispheres + // 3: minimum m1^2/E1 + m2^2/E2 + // 4: Georgi distance: maximum (E1-Beta*m1^2/E1 + E2-Beta*m1^2/E2) + + Megajet(){}; + + Megajet(std::vector Px_vector, std::vector Py_vector, std::vector Pz_vector, std::vector E_vector, int megajet_association_method); + + Megajet(std::vector Px_vector, std::vector Py_vector, std::vector Pz_vector, std::vector E_vector); + + /// Destructor + ~Megajet(){}; + + // return Nx, Ny, Nz, P, E of the axis of group 1 + std::vector getAxis1(); + // return Nx, Ny, Nz, P, E of the axis of group 2 + std::vector getAxis2(); + + // where Nx, Ny, Nz are the direction cosines e.g. Nx = Px/P, + // P is the momentum, E is the energy + + // set or overwrite the seed and association methods + void SetMethod(int megajet_association_method) { + megajet_meth = megajet_association_method; + status = 0; + } + +private: + + /// Combining the jets in two hemispheres minimizing the + /// sum of the invariant masses of the two hemispheres + void CombineMinMass(); + + /// Combining the jets in two hemispheres minimizing the + /// difference of HT for the two hemispheres + void CombineMinHT(); + + /// Combining the jets in two hemispheres by minimizing m1^2/E1 + m2^2/E2 + void CombineMinEnergyMass(); + + /// Combining the jets in two hemispheres by maximizing (E1-Beta*m1^2/E1 + E2-Beta*m1^2/E2) + void CombineGeorgi(); + + /// Combine the jets in all the possible pairs of hemispheres + void Combine(); + + + std::vector Object_Px; + std::vector Object_Py; + std::vector Object_Pz; + std::vector Object_E; + + std::vector Axis1; + std::vector Axis2; + + + int megajet_meth; + int status; + + std::vector jIN; + std::vector jOUT; + std::vector j1; + std::vector j2; + +}; +} + +#endif diff --git a/PhysicsTools/Heppy/interface/PdfWeightProducerTool.h b/PhysicsTools/Heppy/interface/PdfWeightProducerTool.h new file mode 100644 index 000000000000..4ee75f092f95 --- /dev/null +++ b/PhysicsTools/Heppy/interface/PdfWeightProducerTool.h @@ -0,0 +1,30 @@ +#ifndef PhysicsTools_Heppy_PdfWeightProducerTool_h +#define PhysicsTools_Heppy_PdfWeightProducerTool_h + +#include "TRandom3.h" +#include + +/// TAKEN FROM http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/ElectroWeakAnalysis/Utilities/src/PdfWeightProducer.cc?&view=markup + +#include +#include +#include +#include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" + +namespace heppy { + +class PdfWeightProducerTool { + public: + PdfWeightProducerTool() {} + void addPdfSet(const std::string &name) ; + void beginJob() ; + void processEvent(const GenEventInfoProduct & pdfstuff) ; + const std::vector & getWeights(const std::string &name) const ; + private: + std::vector pdfs_; + std::map > weights_; +}; + +}; + +#endif diff --git a/PhysicsTools/Heppy/interface/ReclusterJets.h b/PhysicsTools/Heppy/interface/ReclusterJets.h index 42fd933f5fc1..ed9d044b5360 100644 --- a/PhysicsTools/Heppy/interface/ReclusterJets.h +++ b/PhysicsTools/Heppy/interface/ReclusterJets.h @@ -29,13 +29,27 @@ class ReclusterJets { /// get grouping (exclusive jets, until n are left) std::vector getGroupingExclusive(int njets); + /// get grouping (exclusive jets, up to cut dcut) std::vector getGroupingExclusive(double dcut); + /// get pruned 4-vector + LorentzVector getPruned(double zcut, double rcutFactor) ; + + /// get pruned 4-vector for a given subject (must be called after getGroupingExclusive) + LorentzVector getPrunedSubjetExclusive(unsigned int isubjet, double zcut, double rcutFactor) ; + + /// get pruned 4-vector for a given subject (must be called after getGroupingInclusive) + LorentzVector getPrunedSubjetInclusive(unsigned int isubjet, double zcut, double rcutFactor) ; + + private: // pack the returns in a fwlite-friendly way std::vector makeP4s(const std::vector &jets) ; + // prune and return in fa fwlite-friendly way + LorentzVector getPruned(const fastjet::PseudoJet & jet, double zcut, double rcutFactor) ; + // used to handle the inputs std::vector fjInputs_; // fastjet inputs diff --git a/PhysicsTools/Heppy/interface/asa047.h b/PhysicsTools/Heppy/interface/asa047.h new file mode 100644 index 000000000000..477057d5c5c5 --- /dev/null +++ b/PhysicsTools/Heppy/interface/asa047.h @@ -0,0 +1,70 @@ +#ifndef __ASA047__ +#define __ASA047__ + +namespace Topness{ class gfuncMET;}; +void nelmin ( Topness::gfuncMET& fn, int n, double start[], double xmin[], + double *ynewlo, double reqmin, double step[], int konvge, int kcount, + int *icount, int *numres, int *ifault ); +/* +void nelmin ( double fn ( double x[] ), //< function to minimize + int n, //< number of variables + double start[], //< start point + double xmin[], //> minimum point + double *ynewlo, //> function value at minimum + double reqmin, //< terminating limit for the variance of function values + double step[], //< size and shape of initial simplex + int konvge, //< the convergence check is carried out every KONVGE iterations + int kcount, //< the maximum number of function evaluations. + int *icount, //> the number of function evaluations used + int *numres, //> the number of restarts + int *ifault //> error indicator: 0, no errors; + // 1, REQMIN, N, or KONVGE has an illegal + // 2, iteration terminated because KCOUNT was exceeded + ); +example: +double rosenbrock ( double x[2] ); +int main(){ + .... + int i; + int icount; + int ifault; + int kcount; + int konvge; + int n; + int numres; + double reqmin; + double *start; + double *step; + double *xmin; + double ynewlo; + start = new double[n]; + step = new double[n]; + xmin = new double[n]; + + cout << "\n"; + cout << "TEST01\n"; + cout << " Apply NELMIN to ROSENBROCK function.\n"; + + start[0] = -1.2; + start[1] = 1.0; + + reqmin = 1.0E-08; + + step[0] = 1.0; + step[1] = 1.0; + + konvge = 10; + kcount = 500; + + ynewlo = rosenbrock ( start ); + + nelmin ( rosenbrock, n, start, xmin, &ynewlo, reqmin, step, + konvge, kcount, &icount, &numres, &ifault ); + + delete [] start; + delete [] step; + delete [] xmin; + +} +*/ +#endif diff --git a/PhysicsTools/Heppy/interface/topness.h b/PhysicsTools/Heppy/interface/topness.h new file mode 100755 index 000000000000..41d77531b4c2 --- /dev/null +++ b/PhysicsTools/Heppy/interface/topness.h @@ -0,0 +1,175 @@ +#ifndef _TOPNESS_H_ +#define _TOPNESS_H_ + +/* + * topness.h + * + * + * created 2/11/13. + * + */ + +#include +#include +#include "TLorentzVector.h" + +#include "asa047.h" + +using namespace std; + +namespace Topness +{ + class Topness + { + public: + Topness(); + double GetTopness( const vector& jets, + const vector& bDiscs, + const TLorentzVector& lep, + const TLorentzVector& MET); + + double Calc( const TLorentzVector&, + const TLorentzVector&, + const TLorentzVector&, + const TLorentzVector&); + + double sigmat; + double sigmaW; + double sigmas; + + double bDisc_LooseWP; + double bDisc_TightWP; + + private: + void Sort( vector& jets); + vector GetCoordinates( const TLorentzVector&); + + double del; // step size in Nelder-Mead method (GeV) + + int lMAX; // lMAX = number of random calls to Nelder-Mead method + }; + + bool ptSort(TLorentzVector p1, TLorentzVector p2); // compares pT of p1 and p2 + bool ptSortPtr( const TLorentzVector* p1, const TLorentzVector* p2); // compares pT of p1 and p2 + + // BEGIN TOPNESS + // + // struct gfuncMET returns topness statistic + // class TopStatMET performs the minimization of topness and calls gfuncMET + + // struct gfunctMET + // initialized by b-jet, l, second jet and MET momenta. Unknowns are 3-vec of neutrino and pZ component of the W. + // using the measured transverse MET to solve for pWx, pWy. On-shell mass-conditions for v and W assumed. + + struct gfuncMET + { + unsigned int n; + double mt,mW,mt2,mW2; + // static double mt,mW,mt2,mW2; + + // minkowski product + inline double Lp(const vector a, const vector b){ + return a[3]*b[3]-a[0]*b[0]-a[1]*b[1]-a[2]*b[2]; + }; + // in place sum + inline void ipS(vector& a, const vector b){ + a[0]+=b[0]; + a[1]+=b[1]; + a[2]+=b[2]; + a[3]+=b[3]; + }; + vector pb2; + vector pb2l; + vector pb1, pb1b2l; + vector pl, pMET; + + + // vector pb1, pb2, pl, pMET; + // vector pb2l,pb1b2l; + double sigmat4, sigmaW4, sigmas4; + double mb12,ml2,mb2l2,mb1b2l2; + double ma,mb,mc,md; + gfuncMET(const vector ppb1, const vector ppb2, const vector ppl, const vector ppMET, double sigmat, double sigmaW, double sigmas) + : pb2 (ppb2), pb2l(pb2), pb1 (ppb1), pb1b2l(pb1), pl (ppl), pMET (ppMET) + { + mt=172; // top quark mass + mW=80.4; // W mass + mt2=mt*mt; + mW2=mW*mW; + + // initialize variables for quicker calculation + sigmat4=pow(sigmat,4)/4; + sigmaW4=pow(sigmaW,4)/4; + sigmas4=pow(sigmas,4); + mb12=Lp(pb1,pb1); + ml2 =Lp(pl,pl); + ipS(pb2l,pl); + mb2l2=Lp(pb2l,pb2l); + ipS(pb1b2l,pb2l); + mb1b2l2=Lp(pb1b2l,pb1b2l); + + ma=(mb12+mW2-mt2)/2; + mb=(mb2l2-mt2)/2; + mc=(ml2-mW2)/2; + md=4*mt2; + + } + + double operator()(double points[]) { // points[0]=pv_x, points[1]=pv_y, points[2]=pv_z, points[3]=pW_z + + // pv_x, pv_y, pv_z + double pvx=points[0]; + double pvy=points[1]; + double pvz=points[2]; + // neutrino energy assuming mass-shell condition + double Ev=sqrt(pow(pvx,2)+pow(pvy,2)+pow(pvz,2)); + + double pvarray[]={pvx,pvy,pvz,Ev}; + vector pv(pvarray,pvarray+4); + + // pW_z + double pWz=points[3]; + // W momenta from neutrino and MET + double pWarray[]={-pvx+pMET[0],-pvy+pMET[1],pWz, + sqrt(pow(-pvx+pMET[0],2)+pow(-pvy+pMET[1],2)+pow(pWz,2)+mW2)}; + + vector pW(pWarray,pWarray+4); + + vector pb1b2lWv(pWarray,pWarray+4); + ipS(pb1b2lWv,pv); + ipS(pb1b2lWv,pb1b2l); + + return pow(Lp(pb1,pW)+ma,2)/sigmat4 + +pow(Lp(pb2l,pv)+mb,2)/sigmat4 + +pow(Lp(pl,pv)+mc,2)/sigmaW4 + +pow(Lp(pb1b2lWv,pb1b2lWv)-md,2)/sigmas4; + } + + }; + //double gfuncMET::mt=172; // top quark mass + //double gfuncMET::mW=80.4; // W mass + //double gfuncMET::mt2=gfuncMET::mt*gfuncMET::mt; + //double gfuncMET::mW2=gfuncMET::mW*gfuncMET::mW; + + + class TopStatMET + { + // perform minimization of the function gfuncMET using Nelder-Mead method + // with lMAX calls of step-size del + + private: + vector pb1,pb2; + vector pl,pMET; + double sigmat,sigmaW,sigmas,del; + int lMAX; + gfuncMET g1,g2; + + public: + TopStatMET(vector,vector,vector,vector,double, double, double, double, int); + //constructor + double TopStatmin(double*); // this member function does all the work + }; + + double sign ( double x); +} +#endif diff --git a/PhysicsTools/Heppy/python/analyzers/core/AutoFillTreeProducer.py b/PhysicsTools/Heppy/python/analyzers/core/AutoFillTreeProducer.py index 799dbe26afed..f35f71e63bc6 100644 --- a/PhysicsTools/Heppy/python/analyzers/core/AutoFillTreeProducer.py +++ b/PhysicsTools/Heppy/python/analyzers/core/AutoFillTreeProducer.py @@ -33,8 +33,6 @@ def __init__(self, cfg_ana, cfg_comp, looperName): def beginLoop(self, setup) : super(AutoFillTreeProducer, self).beginLoop(setup) - ## Declare how we store floats by default - self.tree.setDefaultFloatType("F"); # otherwise it's "D" def declareHandles(self): super(AutoFillTreeProducer, self).declareHandles() @@ -84,7 +82,7 @@ def declareVariables(self,setup): tree = self.tree self.declareCoreVariables(tree, isMC) - if not hasattr(self.cfg_ana,"ignoreAnalyzerBookings") or not self.cfg_ana.ignoreAnalyzerBooking : + if not hasattr(self.cfg_ana,"ignoreAnalyzerBookings") or not self.cfg_ana.ignoreAnalyzerBookings : #import variables declared by the analyzers if hasattr(setup,"globalVariables"): self.globalVariables+=setup.globalVariables @@ -139,6 +137,9 @@ def fillCoreVariables(self, tr, event, isMC): tr.vfill('pdfWeight_%s' % pdf, event.pdfWeights[pdf]) def process(self, event): + if hasattr(self.cfg_ana,"filter") : + if not self.cfg_ana.filter(event) : + return True #do not stop processing, just filter myself self.readCollections( event.input) self.fillTree(event) @@ -169,4 +170,33 @@ def fillTree(self, event, resetFirst=True): c.fillBranchesVector(self.tree, getattr(event, cn), isMC) self.tree.tree.Fill() + + def getPythonWrapper(self): + """ + This function produces a string that contains a Python wrapper for the event. + The wrapper is automatically generated based on the collections and allows the full + event contents to be accessed from subsequent Analyzers using e.g. + + leps = event.selLeptons #is of type selLeptons + pt0 = leps[0].pt + + One just needs to add the EventAnalyzer to the sequence. + """ + + isMC = self.cfg_comp.isMC + + classes = "" + anclass = "" + anclass += "from PhysicsTools.HeppyCore.framework.analyzer import Analyzer\n" + anclass += "class EventAnalyzer(Analyzer):\n" + anclass += " def __init__(self, cfg_ana, cfg_comp, looperName):\n" + anclass += " super(EventAnalyzer, self).__init__(cfg_ana, cfg_comp, looperName)\n" + + anclass += " def process(self, event):\n" + + for cname, coll in self.collections.items(): + classes += coll.get_py_wrapper_class(isMC) + anclass += " event.{0} = {0}.make_array(event)\n".format(coll.name) + + return classes + "\n" + anclass diff --git a/PhysicsTools/Heppy/python/analyzers/core/AutoHandle.py b/PhysicsTools/Heppy/python/analyzers/core/AutoHandle.py index adcfc0de1645..29fd3c83178d 100644 --- a/PhysicsTools/Heppy/python/analyzers/core/AutoHandle.py +++ b/PhysicsTools/Heppy/python/analyzers/core/AutoHandle.py @@ -7,12 +7,13 @@ class AutoHandle( Handle, object ): handles = {} - def __init__(self, label, type, mayFail=False, fallbackLabel=None): + def __init__(self, label, type, mayFail=False, fallbackLabel=None, lazy=True): '''Note: label can be a tuple : (module_label, collection_label, process)''' self.label = label self.fallbackLabel = fallbackLabel self.type = type self.mayFail = mayFail + self.lazy = lazy Handle.__init__(self, self.type) def product(self): if not self.isLoaded : @@ -23,6 +24,7 @@ def product(self): def Load(self, event): #is actually a reset state self.event=event self.isLoaded=False + if self.lazy==False: self.ReallyLoad(self.event) def ReallyLoad(self, event): '''Load self from a given event. diff --git a/PhysicsTools/Heppy/python/analyzers/core/EventSelector.py b/PhysicsTools/Heppy/python/analyzers/core/EventSelector.py index 4c9d49e21011..206b2b45ce38 100644 --- a/PhysicsTools/Heppy/python/analyzers/core/EventSelector.py +++ b/PhysicsTools/Heppy/python/analyzers/core/EventSelector.py @@ -7,14 +7,25 @@ class EventSelector( Analyzer ): Example: eventSelector = cfg.Analyzer( - 'EventSelector', - toSelect = [ - 1239742, - 38001, - 159832 - ] + 'EventSelector', + toSelect = [ + 1239742, + 38001, + 159832 + ] ) + it can also be used with (run,lumi,event) tuples: + + eventSelector = cfg.Analyzer( + 'EventSelector', + toSelect = [ + (1,40,1239742), + (1,38,38001), + ] + ) + + The process function of this analyzer returns False if the event number is not in the toSelect list. In this list, put actual CMS event numbers obtained by doing: @@ -38,7 +49,7 @@ def process(self, event): run = event.input.eventAuxiliary().id().run() lumi = event.input.eventAuxiliary().id().luminosityBlock() eId = event.input.eventAuxiliary().id().event() - if eId in self.cfg_ana.toSelect: + if eId in self.cfg_ana.toSelect or (run, lumi, eId) in self.cfg_ana.toSelect: # raise ValueError('found') print 'Selecting', run, lumi, eId return True diff --git a/PhysicsTools/Heppy/python/analyzers/core/JSONAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/core/JSONAnalyzer.py index db3d9a9980c6..f767f536c400 100644 --- a/PhysicsTools/Heppy/python/analyzers/core/JSONAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/core/JSONAnalyzer.py @@ -1,4 +1,5 @@ import json +import os from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer from FWCore.PythonUtilities.LumiList import LumiList @@ -31,7 +32,7 @@ def __init__(self, cfg_ana, cfg_comp, looperName): if not cfg_comp.isMC: if self.cfg_comp.json is None: raise ValueError('component {cname} is not MC, and contains no JSON file. Either remove the JSONAnalyzer for your path or set the "json" attribute of this component'.format(cname=cfg_comp.name)) - self.lumiList = LumiList(self.cfg_comp.json) + self.lumiList = LumiList(os.path.expandvars(self.cfg_comp.json)) else: self.lumiList = None diff --git a/PhysicsTools/Heppy/python/analyzers/core/PileUpAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/core/PileUpAnalyzer.py index 0e6564e5f249..96d65c0492a4 100644 --- a/PhysicsTools/Heppy/python/analyzers/core/PileUpAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/core/PileUpAnalyzer.py @@ -4,6 +4,8 @@ from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle from PhysicsTools.HeppyCore.statistics.average import Average from PhysicsTools.Heppy.physicsutils.PileUpSummaryInfo import PileUpSummaryInfo +import PhysicsTools.HeppyCore.framework.config as cfg + from ROOT import TFile, TH1F class PileUpAnalyzer( Analyzer ): @@ -57,11 +59,11 @@ def __init__(self, cfg_ana, cfg_comp, looperName): self.cfg_comp.puFileData = None if self.cfg_comp.isMC or self.cfg_comp.isEmbed: - if self.cfg_comp.puFileMC is None and self.cfg_comp.puFileData is None: + if not hasattr(self.cfg_comp,"puFileMC") or (self.cfg_comp.puFileMC is None and self.cfg_comp.puFileData is None): self.enable = False else: - assert( os.path.isfile(self.cfg_comp.puFileMC) ) - assert( os.path.isfile(self.cfg_comp.puFileData) ) + assert( os.path.isfile(os.path.expandvars(self.cfg_comp.puFileMC)) ) + assert( os.path.isfile(os.path.expandvars(self.cfg_comp.puFileData)) ) self.mcfile = TFile( self.cfg_comp.puFileMC ) self.mchist = self.mcfile.Get('pileup') @@ -145,3 +147,12 @@ def write(self, setup): super(PileUpAnalyzer, self).write(setup) if self.cfg_comp.isMC and self.doHists: self.rawmcpileup.write() + + +setattr(PileUpAnalyzer,"defaultConfig", cfg.Analyzer( + class_object = PileUpAnalyzer, + true = True, # use number of true interactions for reweighting + makeHists=False +) +) + diff --git a/PhysicsTools/Heppy/python/analyzers/core/TreeAnalyzerNumpy.py b/PhysicsTools/Heppy/python/analyzers/core/TreeAnalyzerNumpy.py index 427c0f735e5c..c5869d22b306 100644 --- a/PhysicsTools/Heppy/python/analyzers/core/TreeAnalyzerNumpy.py +++ b/PhysicsTools/Heppy/python/analyzers/core/TreeAnalyzerNumpy.py @@ -11,22 +11,26 @@ class TreeAnalyzerNumpy( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName): super(TreeAnalyzerNumpy,self).__init__(cfg_ana, cfg_comp, looperName) - + self.outservicename = getattr(cfg_ana,"outservicename","outputfile") + self.treename = getattr(cfg_ana,"treename","tree") def beginLoop(self, setup) : super(TreeAnalyzerNumpy, self).beginLoop(setup) - print setup.services - if "outputfile" in setup.services: - print "Using outputfile given in setup.outputfile" - self.file = setup.services["outputfile"].file + if self.outservicename in setup.services: + print "Using outputfile given in", self.outservicename + self.file = setup.services[self.outservicename].file else : fileName = '/'.join([self.dirName, 'tree.root']) isCompressed = self.cfg_ana.isCompressed if hasattr(self.cfg_ana,'isCompressed') else 1 print 'Compression', isCompressed self.file = TFile( fileName, 'recreate', '', isCompressed ) - self.tree = Tree('tree', self.name) + self.file.cd() + if self.file.Get(self.treename) : + raise RuntimeError, "You are booking two Trees with the same name in the same file" + self.tree = Tree(self.treename, self.name) + self.tree.setDefaultFloatType(getattr(self.cfg_ana, 'defaultFloatType','D')); # or 'F' self.declareVariables(setup) def declareVariables(self,setup): @@ -35,6 +39,6 @@ def declareVariables(self,setup): def write(self, setup): super(TreeAnalyzerNumpy, self).write(setup) - if "outputfile" not in setup.services: + if self.outservicename not in setup.services: self.file.Write() diff --git a/PhysicsTools/Heppy/python/analyzers/core/TriggerBitAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/core/TriggerBitAnalyzer.py index 5e9195fc5bdc..33778f990ce3 100644 --- a/PhysicsTools/Heppy/python/analyzers/core/TriggerBitAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/core/TriggerBitAnalyzer.py @@ -36,6 +36,8 @@ def beginLoop(self, setup): outname="%s_BIT_%s"%(self.outprefix,TP) if not hasattr(setup ,"globalVariables") : setup.globalVariables = [] + if outname[-1] == '*' : + outname=outname[0:-1] setup.globalVariables.append( NTupleVariable(outname, eval("lambda ev: ev.%s" % outname), help="Trigger bit %s"%TP) ) self.triggerBitCheckersSingleBits.append( (TP, ROOT.heppy.TriggerBitChecker(trigVecBit)) ) @@ -55,6 +57,8 @@ def process(self, event): if self.unrollbits : for TP,TC in self.triggerBitCheckersSingleBits: outname="%s_BIT_%s"%(self.outprefix,TP) + if outname[-1] == '*' : + outname=outname[0:-1] setattr(event,outname, TC.check(event.input.object(), triggerResults)) @@ -86,6 +90,7 @@ def process(self, event): "trkPOG_manystripclus53X" : [ "Flag_trkPOG_manystripclus53X" ], "trkPOG_toomanystripclus53X" : [ "Flag_trkPOG_toomanystripclus53X" ], "trkPOG_logErrorTooManyClusters" : [ "Flag_trkPOG_logErrorTooManyClusters" ], + "METFilters" : [ "Flag_METFilters" ], } ) ) diff --git a/PhysicsTools/Heppy/python/analyzers/core/autovars.py b/PhysicsTools/Heppy/python/analyzers/core/autovars.py index 5ba729e6aef2..9ed14208a46b 100644 --- a/PhysicsTools/Heppy/python/analyzers/core/autovars.py +++ b/PhysicsTools/Heppy/python/analyzers/core/autovars.py @@ -7,6 +7,10 @@ # TODO: more documentation needed here! class NTupleVariable: + """Branch containing an individual variable (either of the event or of an object), created with a name and a function to compute it + - name, type, help, default: obvious + - function: a function that taken an object computes the value to fill (e.g. lambda event : len(event.goodVertices)) + """ def __init__(self, name, function, type=float, help="", default=-99, mcOnly=False, filler=None): self.name = name self.function = function @@ -24,16 +28,43 @@ def makeBranch(self,treeNumpy,isMC): def fillBranch(self,treeNumpy,object,isMC): if self.mcOnly and not isMC: return treeNumpy.fill(self.name, self(object)) + def __repr__(self): + return "" % self.name + class NTupleObjectType: + """Type defining a collection of variables associated to a single object. Contans NTupleVariable and NTupleSubObject""" def __init__(self,name,baseObjectTypes=[],mcOnly=[],variables=[]): self.name = name self.baseObjectTypes = baseObjectTypes self.mcOnly = mcOnly - self.variables = variables + self.variables = [] + self.subObjects = [] + for v in variables: + if issubclass(v.__class__,NTupleSubObject): + self.subObjects.append(v) + else: + self.variables.append(v) + self._subObjectVars = {} def ownVars(self,isMC): """Return only my vars, not including the ones from the bases""" - return [ v for v in self.variables if (isMC or not v.mcOnly) ] + vars = [ v for v in self.variables if (isMC or not v.mcOnly) ] + if self.subObjects: + if isMC not in self._subObjectVars: + subvars = [] + for so in self.subObjects: + if so.mcOnly and not isMC: continue + for subvar in so.objectType.allVars(isMC): + subvars.append(NTupleVariable(so.name+"_"+subvar.name, + #DebugComposer(so,subvar),#lambda object : subvar(so(object)), + lambda object, subvar=subvar, so=so : subvar(so(object)), + # ^-- lambda object : subvar(so(object)) doesn't work due to scoping, see + # http://stackoverflow.com/questions/2295290/what-do-lambda-function-closures-capture-in-python/2295372#2295372 + type = subvar.type, help = subvar.help, default = subvar.default, mcOnly = subvar.mcOnly, + filler = subvar.filler)) + self._subObjectVars[isMC] = subvars + vars += self._subObjectVars[isMC] + return vars def allVars(self,isMC): """Return all vars, including the base ones. Duplicate bases are not added twice""" ret = []; names = {} @@ -60,8 +91,24 @@ def allBases(self): return ret def removeVariable(self,name): self.variables = [ v for v in self.variables if v.name != name] + def __repr__(self): + return "" % self.name + + + + +class NTupleSubObject: + """Type to add a sub-object within an NTupleObjectType, given a name (used as prefix), a function to extract the sub-object and NTupleObjectType to define tye type""" + def __init__(self,name,function,objectType,mcOnly=False): + self.name = name + self.function = function + self.objectType = objectType + self.mcOnly = mcOnly + def __call__(self,object): + return self.function(object) class NTupleObject: + """Type defining a set of branches associated to a single object (i.e. an instance of NTupleObjectType)""" def __init__(self, name, objectType, help="", mcOnly=False): self.name = name self.objectType = objectType @@ -79,16 +126,19 @@ def fillBranches(self,treeNumpy,object,isMC): allvars = self.objectType.allVars(isMC) for v in allvars: treeNumpy.fill("%s_%s" % (self.name, v.name), v(object)) + def __repr__(self): + return "" % self.name class NTupleCollection: + """Type defining a set of branches associated to a list of objects (i.e. an instance of NTupleObjectType)""" def __init__(self, name, objectType, maxlen, help="", mcOnly=False, sortAscendingBy=None, sortDescendingBy=None, filter=None): self.name = name self.objectType = objectType self.maxlen = maxlen self.help = help if objectType.mcOnly and mcOnly == False: - print "collection %s is set to mcOnly since the type %s is mcOnly" % (name, objectType.name) + #print "collection %s is set to mcOnly since the type %s is mcOnly" % (name, objectType.name) mcOnly = True self.mcOnly = mcOnly if sortAscendingBy != None and sortDescendingBy != None: @@ -137,5 +187,35 @@ def fillBranchesVector(self,treeNumpy,collection,isMC): for v in allvars: name="%s_%s" % (self.name, v.name) if v.name != "" else self.name treeNumpy.vfill(name, [ v(collection[i]) for i in xrange(num) ]) + def __repr__(self): + return "" % self.name + + def get_cpp_declaration(self, isMC): + s = [] + for v in self.objectType.allVars(isMC): + s += ["{0} {1}__{2}[{3}];".format(v.type.__name__, self.name, v.name, self.maxlen)] + return "\n".join(s) + + def get_cpp_wrapper_class(self, isMC): + s = "class %s {\n" % self.name + s += "public:\n" + for v in self.objectType.allVars(isMC): + s += " {0} {1};\n".format(v.type.__name__, v.name) + s += "};\n" + return s + + def get_py_wrapper_class(self, isMC): + s = "class %s:\n" % self.name + s += " def __init__(self, tree, n):\n" + for v in self.objectType.allVars(isMC): + if len(v.name)>0: + s += " self.{0} = tree.{1}_{2}[n];\n".format(v.name, self.name, v.name) + else: + s += " self.{0} = tree.{0}[n];\n".format(self.name) + + s += " @staticmethod\n" + s += " def make_array(event):\n" + s += " return [{0}(event.input, i) for i in range(event.input.n{0})]\n".format(self.name) + return s diff --git a/PhysicsTools/Heppy/python/analyzers/eventtopology/AlphaTAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/eventtopology/AlphaTAnalyzer.py new file mode 100644 index 000000000000..e00737a37809 --- /dev/null +++ b/PhysicsTools/Heppy/python/analyzers/eventtopology/AlphaTAnalyzer.py @@ -0,0 +1,71 @@ +import operator +import itertools +import copy +from math import * + +#from ROOT import TLorentzVector, TVectorD + +from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaPhi +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Lepton +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Photon +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Electron +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Muon +# from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Tau +from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Jet + +import ROOT +from ROOT.heppy import AlphaT + + +import os + +class AlphaTAnalyzer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(AlphaTAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(AlphaTAnalyzer, self).declareHandles() + #genJets + self.handles['genJets'] = AutoHandle( 'slimmedGenJets','std::vector') + + def beginLoop(self,setup): + super(AlphaTAnalyzer,self).beginLoop(setup) + self.counters.addCounter('pairs') + count = self.counters.counter('pairs') + count.register('all events') + + + # Calculate alphaT using jet ET + def makeAlphaT(self, jets): + + if len(jets) == 0: + return 0. + + px = ROOT.std.vector('double')() + py = ROOT.std.vector('double')() + et = ROOT.std.vector('double')() + + #Make alphaT from lead 10 jets + for jet in jets[:10]: + px.push_back(jet.px()) + py.push_back(jet.py()) + et.push_back(jet.et()) + + alphaTCalc = AlphaT() + return alphaTCalc.getAlphaT( et, px, py ) + + def process(self, event): + self.readCollections( event.input ) + + event.alphaT = self.makeAlphaT(event.cleanJets) + + #Do the same with gen jets for MC + if self.cfg_comp.isMC: + event.genAlphaT = self.makeAlphaT(event.cleanGenJets) + + return True diff --git a/PhysicsTools/Heppy/python/analyzers/eventtopology/MT2Analyzer.py b/PhysicsTools/Heppy/python/analyzers/eventtopology/MT2Analyzer.py new file mode 100644 index 000000000000..6ec526c6ecdc --- /dev/null +++ b/PhysicsTools/Heppy/python/analyzers/eventtopology/MT2Analyzer.py @@ -0,0 +1,293 @@ +import operator +import itertools +import copy +from math import * + +from ROOT import std +from ROOT import TLorentzVector, TVectorD + +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +import PhysicsTools.HeppyCore.framework.config as cfg + +from PhysicsTools.HeppyCore.utils.deltar import deltaR + +from ROOT.heppy import Hemisphere +from ROOT.heppy import ReclusterJets + +from ROOT.heppy import Davismt2 +davismt2 = Davismt2() + +from ROOT.heppy import mt2w_bisect +mt2wSNT = mt2w_bisect.mt2w() + +import ROOT + +import os + + +class MT2Analyzer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(MT2Analyzer,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(MT2Analyzer, self).declareHandles() + #genJets + self.handles['genJets'] = AutoHandle( 'slimmedGenJets','std::vector') + + def beginLoop(self, setup): + super(MT2Analyzer,self).beginLoop(setup) + self.counters.addCounter('pairs') + count = self.counters.counter('pairs') + count.register('all events') + + def computeMT2(self, visaVec, visbVec, metVec): + + import array + import numpy + + metVector = array.array('d',[0.,metVec.px(), metVec.py()]) + visaVector = array.array('d',[0.,visaVec.px(), visaVec.py()]) + visbVector = array.array('d',[0.,visbVec.px(), visbVec.py()]) + + davismt2.set_momenta(visaVector,visbVector,metVector); + davismt2.set_mn(0); + + return davismt2.get_mt2() + + def getMT2AKT(self, event, TMPobjects40jc, met , postFix): + +#### get hemispheres via AntiKT -1 antikt, 1 kt, 0 CA + if len(TMPobjects40jc)>=2: + + objects = ROOT.std.vector(ROOT.reco.Particle.LorentzVector)() + for jet in TMPobjects40jc: + objects.push_back(jet.p4()) + + hemisphereViaKt = ReclusterJets(objects, 1.,50.0) + groupingViaKt=hemisphereViaKt.getGroupingExclusive(2) + + if len(groupingViaKt)>=2: + setattr(event, "pseudoViaKtJet1"+postFix, ROOT.reco.Particle.LorentzVector(groupingViaKt[0]) ) + setattr(event, "pseudoViaKtJet2"+postFix, ROOT.reco.Particle.LorentzVector(groupingViaKt[1]) ) + return self.computeMT2(getattr(event,'pseudoViaKtJet1'+postFix), getattr(event,'pseudoViaKtJet2'+postFix), met) + + if not self.cfg_ana.doOnlyDefault: + hemisphereViaAKt = ReclusterJets(objects, -1.,50.0) + groupingViaAKt=hemisphereViaAKt.getGroupingExclusive(2) + + if len(groupingViaAKt)>=2: + setattr(event, "pseudoViaAKtJet1"+postFix, ROOT.reco.Particle.LorentzVector(groupingViaAKt[0]) ) + setattr(event, "pseudoViaAKtJet2"+postFix, ROOT.reco.Particle.LorentzVector(groupingViaAKt[1]) ) + setattr(event, "mt2ViaAKt"+postFix, self.computeMT2(getattr(event,'pseudoViaAKtJet1'+postFix), getattr(event,'pseudoViaAKtJet2'+postFix), met) ) + + def getMT2Hemi(self, event, TMPobjects40jc, met, postFix): + + if len(TMPobjects40jc)>=2: + + pxvec = ROOT.std.vector(float)() + pyvec = ROOT.std.vector(float)() + pzvec = ROOT.std.vector(float)() + Evec = ROOT.std.vector(float)() + grouping = ROOT.std.vector(int)() + + for jet in TMPobjects40jc: + pxvec.push_back(jet.px()) + pyvec.push_back(jet.py()) + pzvec.push_back(jet.pz()) + Evec.push_back(jet.energy()) + + hemisphere = Hemisphere(pxvec, pyvec, pzvec, Evec, 2, 3) + grouping=hemisphere.getGrouping() + + pseudoJet1px = 0 + pseudoJet1py = 0 + pseudoJet1pz = 0 + pseudoJet1energy = 0 + multPSJ1 = 0 + + pseudoJet2px = 0 + pseudoJet2py = 0 + pseudoJet2pz = 0 + pseudoJet2energy = 0 + multPSJ2 = 0 + + for index in range(0, len(pxvec)): + if(grouping[index]==1): + pseudoJet1px += pxvec[index] + pseudoJet1py += pyvec[index] + pseudoJet1pz += pzvec[index] + pseudoJet1energy += Evec[index] + multPSJ1 += 1 + if(grouping[index]==2): + pseudoJet2px += pxvec[index] + pseudoJet2py += pyvec[index] + pseudoJet2pz += pzvec[index] + pseudoJet2energy += Evec[index] + multPSJ2 += 1 + + pseudoJet1pt2 = pseudoJet1px*pseudoJet1px + pseudoJet1py*pseudoJet1py + pseudoJet2pt2 = pseudoJet2px*pseudoJet2px + pseudoJet2py*pseudoJet2py + + if pseudoJet1pt2 >= pseudoJet2pt2: + setattr(event, "pseudoJet1"+postFix, ROOT.reco.Particle.LorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy )) + setattr(event, "pseudoJet2"+postFix, ROOT.reco.Particle.LorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy )) + setattr(event, "multPseudoJet1"+postFix, multPSJ1 ) + setattr(event, "multPseudoJet2"+postFix, multPSJ2 ) + else: + setattr(event, "pseudoJet2"+postFix, ROOT.reco.Particle.LorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy )) + setattr(event, "pseudoJet1"+postFix, ROOT.reco.Particle.LorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy )) + setattr(event, "multPseudoJet1"+postFix, multPSJ2 ) + setattr(event, "multPseudoJet2"+postFix, multPSJ1 ) + + return self.computeMT2(getattr(event,'pseudoJet1'+postFix), getattr(event,'pseudoJet2'+postFix), met) + + + def makeMT2(self, event): +# print '==> INSIDE THE PRINT MT2' +# print 'MET=',event.met.pt() + + import array + import numpy + + + objects40jc = [ j for j in event.cleanJets if j.pt() > 40 and abs(j.eta())<2.5 ] + +#### get hemispheres via AntiKT -1 antikt, 1 kt, 0 CA + if len(objects40jc)>=2: + + event.mt2ViaKt_had=self.getMT2AKT(event, objects40jc, event.met, "_had") + +## ===> hadronic MT2 (as used in the SUS-13-019) +#### get hemispheres (seed 2: max inv mass, association method: default 3 = minimal lund distance) + + if len(objects40jc)>=2: + + event.mt2_had = self.getMT2Hemi(event,objects40jc, event.met, "_had") + +#### do same things for GEN + + if self.cfg_comp.isMC: + allGenJets = [ x for x in self.handles['genJets'].product() ] + objects40jc_Gen = [ j for j in allGenJets if j.pt() > 40 and abs(j.eta())<2.5 ] + + if len(objects40jc_Gen)>=2: + event.mt2_gen = self.getMT2Hemi(event,objects40jc_Gen, event.met.genMET(), "_gen") + else: + event.mt2_gen = -999. + + +## ===> full MT2 (jets + leptons) + + objects10lc = [ l for l in event.selectedLeptons if l.pt() > 10 and abs(l.eta())<2.5 ] + if hasattr(event, 'selectedIsoCleanTrack'): + objects10lc = [ l for l in event.selectedLeptons if l.pt() > 10 and abs(l.eta())<2.5 ] + [ t for t in event.selectedIsoCleanTrack ] + + objects40j10lc = objects40jc + objects10lc + + objects40j10lc.sort(key = lambda obj : obj.pt(), reverse = True) + + if len(objects40j10lc)>=2: + + event.mt2 = self.getMT2Hemi(event,objects40j10lc,event.met,"") # no postfit since this is the nominal MT2 + +## ===> full gamma_MT2 + + event.gamma_mt2=-999 + event.pseudoJet1_gamma = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + event.pseudoJet2_gamma = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + + if hasattr(event, 'gamma_met'): + + gamma_objects40jc = [ j for j in event.gamma_cleanJets if j.pt() > 40 and abs(j.eta())<2.5 ] + + gamma_objects40j10lc = gamma_objects40jc + objects10lc + + gamma_objects40j10lc.sort(key = lambda obj : obj.pt(), reverse = True) + +## if len(gamma_objects40j10lc)>=2: + if len(gamma_objects40jc)>=2: + + event.gamma_mt2 = self.getMT2Hemi(event,gamma_objects40jc,event.gamma_met,"_gamma") + + +## ===> zll_MT2 + + event.zll_mt2=-999 + event.pseudoJet1_zll = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + event.pseudoJet2_zll = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + + if hasattr(event, 'zll_met'): + + csLeptons = [ l for l in event.selectedLeptons if l.pt() > 10 and abs(l.eta()) < 2.5 ] + + if len(csLeptons)==2 and len(objects40jc)>=2: + + event.zll_mt2 = self.getMT2Hemi(event,objects40jc,event.zll_met,"_zll") + + +#### do the mt2 with one or two b jets (medium CSV) + if len(event.bjetsMedium)>=2: + + event.mt2bb = self.computeMT2(event.bjetsMedium[0], event.bjetsMedium[1], event.met) +# print 'MT2bb(2b)',event.mt2bb + if len(event.bjetsMedium)==1: + + objects40jcCSV = [ j for j in event.cleanJets if j.pt() > 40 and abs(j.eta())<2.5 and j.p4()!=event.bjetsMedium[0].p4() ] + objects40jcCSV.sort(key = lambda l : l.btag('combinedInclusiveSecondaryVertexV2BJetTags'), reverse = True) + + if len(objects40jcCSV)>0: + event.mt2bb = self.computeMT2(event.bjetsMedium[0], objects40jcCSV[0], event.met) +## print 'MT2bb(1b)',event.mt2bb + +## ===> leptonic MT2 (as used in the SUS-13-025 ) + if not self.cfg_ana.doOnlyDefault: + if len(event.selectedLeptons)>=2: + event.mt2lep = self.computeMT2(event.selectedLeptons[0], event.selectedLeptons[1], event.met) + +### + + def process(self, event): + self.readCollections( event.input ) + + event.mt2_gen=-999 + event.mt2bb=-999 + event.mt2lept=-999 + + event.mt2_had=-999 + event.pseudoJet1_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + event.pseudoJet2_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + event.multPseudoJet1_had=0 + event.multPseudoJet2_had=0 + + event.mt2=-999 + event.pseudoJet1 = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + event.pseudoJet2 = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + + event.mt2ViaKt_had=-999 + event.mt2ViaAKt_had=-999 + event.pseudoViaKtJet1_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + event.pseudoViaKtJet2_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + event.pseudoViaAKtJet1_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + event.pseudoViaAKtJet2_had = ROOT.reco.Particle.LorentzVector( 0, 0, 0, 0 ) + + ### + + self.makeMT2(event) + +# print 'variables computed: MT=',event.mtw,'MT2=',event.mt2,'MT2W=',event.mt2w +# print 'pseudoJet1 px=',event.pseudoJet1.px(),' py=',event.pseudoJet1.py(),' pz=',event.pseudoJet1.pz() +# print 'pseudoJet2 px=',event.pseudoJet2.px(),' py=',event.pseudoJet2.py(),' pz=',event.pseudoJet2.pz() + + return True + + + +setattr(MT2Analyzer,"defaultConfig", cfg.Analyzer( + class_object = MT2Analyzer, + doOnlyDefault = True, + ) +) diff --git a/PhysicsTools/Heppy/python/analyzers/eventtopology/RazorAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/eventtopology/RazorAnalyzer.py new file mode 100644 index 000000000000..09e6c5154540 --- /dev/null +++ b/PhysicsTools/Heppy/python/analyzers/eventtopology/RazorAnalyzer.py @@ -0,0 +1,306 @@ +import operator +import itertools +import copy +from math import * + +from ROOT import std +from ROOT import TLorentzVector, TVector3, TVectorD + +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.HeppyCore.framework.event import Event +from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle + +from PhysicsTools.HeppyCore.utils.deltar import deltaR + +from ROOT.heppy import Megajet +from ROOT.heppy import ReclusterJets + +import ROOT + +import os + +class RazorAnalyzer( Analyzer ): + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(RazorAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + + def declareHandles(self): + super(RazorAnalyzer, self).declareHandles() + #genJets + self.handles['genJets'] = AutoHandle( 'slimmedGenJets','std::vector') + + def beginLoop(self, setup): + super(RazorAnalyzer,self).beginLoop(setup) + self.counters.addCounter('pairs') + count = self.counters.counter('pairs') + count.register('all events') + + def computeMR(self, ja, jb): + A = ja.P(); + B = jb.P(); + az = ja.Pz(); + bz = jb.Pz(); + mr = sqrt((A+B)*(A+B)-(az+bz)*(az+bz)); + return mr + + def computeMTR(self, ja, jb, met): + + mtr = met.Vect().Mag()*(ja.Pt()+jb.Pt()) - met.Vect().Dot(ja.Vect()+jb.Vect()); + mtr = sqrt(mtr/2.); + return mtr; + + def computeR(self, ja, jb, met): + + mr = self.computeMR(ja,jb) + mtr = self.computeMTR(ja,jb,met) + r = 999999. if mr <= 0 else mtr/mr + return r + + + def makeRAZOR(self, event): +# print '==> INSIDE THE PRINT MT2' +# print 'MET=',event.met.pt() + + import array + import numpy + + +## ===> hadronic RAZOR + + (met, metphi) = event.met.pt(), event.met.phi() + metp4 = ROOT.TLorentzVector() + metp4.SetPtEtaPhiM(met,0,metphi,0) + + objects40jc = [ j for j in event.cleanJets if j.pt() > 40 and abs(j.eta())<2.5 ] + +#### get megajets (association method: default 1 = minimum sum of the invariant masses of the two megajets) + + if len(objects40jc)>=2: + + pxvec = ROOT.std.vector(float)() + pyvec = ROOT.std.vector(float)() + pzvec = ROOT.std.vector(float)() + Evec = ROOT.std.vector(float)() + grouping = ROOT.std.vector(int)() + + for jet in objects40jc: + pxvec.push_back(jet.px()) + pyvec.push_back(jet.py()) + pzvec.push_back(jet.pz()) + Evec.push_back(jet.energy()) + + megajet = Megajet(pxvec, pyvec, pzvec, Evec, 1) + + pseudoJet1px = megajet.getAxis1()[0] * megajet.getAxis1()[3] + pseudoJet1py = megajet.getAxis1()[1] * megajet.getAxis1()[3] + pseudoJet1pz = megajet.getAxis1()[2] * megajet.getAxis1()[3] + pseudoJet1energy = megajet.getAxis1()[4] + + pseudoJet2px = megajet.getAxis2()[0] * megajet.getAxis2()[3] + pseudoJet2py = megajet.getAxis2()[1] * megajet.getAxis2()[3] + pseudoJet2pz = megajet.getAxis2()[2] * megajet.getAxis2()[3] + pseudoJet2energy = megajet.getAxis2()[4] + + pseudoJet1pt2 = pseudoJet1px*pseudoJet1px + pseudoJet1py*pseudoJet1py + pseudoJet2pt2 = pseudoJet2px*pseudoJet2px + pseudoJet2py*pseudoJet2py + + if pseudoJet1pt2 >= pseudoJet2pt2: + event.pseudoJet1_had = ROOT.TLorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) + event.pseudoJet2_had = ROOT.TLorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) + else: + event.pseudoJet2_had = ROOT.TLorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) + event.pseudoJet1_had = ROOT.TLorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) + + event.mr_had = self.computeMR(event.pseudoJet1_had, event.pseudoJet2_had) + event.mtr_had = self.computeMTR(event.pseudoJet1_had, event.pseudoJet2_had, metp4) + event.r_had = self.computeR(event.pseudoJet1_had, event.pseudoJet2_had, metp4) + +#### do same things for GEN + + if self.cfg_comp.isMC: + (genmet, genmetphi) = event.met.genMET().pt(), event.met.genMET().phi() + genmetp4 = ROOT.TLorentzVector() + genmetp4.SetPtEtaPhiM(genmet,0,genmetphi,0) + + allGenJets = [ x for x in self.handles['genJets'].product() ] + objects40jc_Gen = [ j for j in allGenJets if j.pt() > 40 and abs(j.eta())<2.5 ] + + if len(objects40jc_Gen)>=2: + + pxvec = ROOT.std.vector(float)() + pyvec = ROOT.std.vector(float)() + pzvec = ROOT.std.vector(float)() + Evec = ROOT.std.vector(float)() + grouping = ROOT.std.vector(int)() + + for jet in objects40jc_Gen: + pxvec.push_back(jet.px()) + pyvec.push_back(jet.py()) + pzvec.push_back(jet.pz()) + Evec.push_back(jet.energy()) + + megajet = Megajet(pxvec, pyvec, pzvec, Evec, 1) + + pseudoJet1px = megajet.getAxis1()[0] * megajet.getAxis1()[3] + pseudoJet1py = megajet.getAxis1()[1] * megajet.getAxis1()[3] + pseudoJet1pz = megajet.getAxis1()[2] * megajet.getAxis1()[3] + pseudoJet1energy = megajet.getAxis1()[4] + + pseudoJet2px = megajet.getAxis2()[0] * megajet.getAxis2()[3] + pseudoJet2py = megajet.getAxis2()[1] * megajet.getAxis2()[3] + pseudoJet2pz = megajet.getAxis2()[2] * megajet.getAxis2()[3] + pseudoJet2energy = megajet.getAxis2()[4] + + pseudoJet1pt2 = pseudoJet1px*pseudoJet1px + pseudoJet1py*pseudoJet1py + pseudoJet2pt2 = pseudoJet2px*pseudoJet2px + pseudoJet2py*pseudoJet2py + + if pseudoJet1pt2 >= pseudoJet2pt2: + pseudoJet1_gen = ROOT.TLorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) + pseudoJet2_gen = ROOT.TLorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) + else: + pseudoJet2_gen = ROOT.TLorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) + pseudoJet1_gen = ROOT.TLorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) + + event.mr_gen = self.computeMR(pseudoJet1_gen, pseudoJet2_gen) + event.mtr_gen = self.computeMTR(pseudoJet1_gen, pseudoJet2_gen, genmetp4) + event.r_gen = self.computeR(pseudoJet1_gen, pseudoJet2_gen, genmetp4) + else: + event.mr_gen = -999 + event.mtr_gen = -999 + event.r_gen = -999 + + +## ===> full RAZOR (jets + leptons) + objects10lc = [ l for l in event.selectedLeptons if l.pt() > 10 and abs(l.eta())<2.5 ] + if hasattr(event, 'selectedIsoCleanTrack'): + objects10lc = [ l for l in event.selectedLeptons if l.pt() > 10 and abs(l.eta())<2.5 ] + [ t for t in event.selectedIsoCleanTrack ] + + objects40j10lc = objects40jc + objects10lc + + objects40j10lc.sort(key = lambda obj : obj.pt(), reverse = True) + + if len(objects40j10lc)>=2: + + pxvec = ROOT.std.vector(float)() + pyvec = ROOT.std.vector(float)() + pzvec = ROOT.std.vector(float)() + Evec = ROOT.std.vector(float)() + grouping = ROOT.std.vector(int)() + + for obj in objects40j10lc: + pxvec.push_back(obj.px()) + pyvec.push_back(obj.py()) + pzvec.push_back(obj.pz()) + Evec.push_back(obj.energy()) + + #for obj in objects_fullmt2: + # print "pt: ", obj.pt(), ", eta: ", obj.eta(), ", phi: ", obj.phi(), ", mass: ", obj.mass() + + #### get megajets (association method: default 1 = minimum sum of the invariant masses of the two megajets) + + megajet = Megajet(pxvec, pyvec, pzvec, Evec, 1) + + pseudoJet1px = megajet.getAxis1()[0] * megajet.getAxis1()[3] + pseudoJet1py = megajet.getAxis1()[1] * megajet.getAxis1()[3] + pseudoJet1pz = megajet.getAxis1()[2] * megajet.getAxis1()[3] + pseudoJet1energy = megajet.getAxis1()[4] + + pseudoJet2px = megajet.getAxis2()[0] * megajet.getAxis2()[3] + pseudoJet2py = megajet.getAxis2()[1] * megajet.getAxis2()[3] + pseudoJet2pz = megajet.getAxis2()[2] * megajet.getAxis2()[3] + pseudoJet2energy = megajet.getAxis2()[4] + + pseudoJet1pt2 = pseudoJet1px*pseudoJet1px + pseudoJet1py*pseudoJet1py + pseudoJet2pt2 = pseudoJet2px*pseudoJet2px + pseudoJet2py*pseudoJet2py + + if pseudoJet1pt2 >= pseudoJet2pt2: + event.pseudoJet1 = ROOT.TLorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) + event.pseudoJet2 = ROOT.TLorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) + else: + event.pseudoJet2 = ROOT.TLorentzVector( pseudoJet1px, pseudoJet1py, pseudoJet1pz, pseudoJet1energy) + event.pseudoJet1 = ROOT.TLorentzVector( pseudoJet2px, pseudoJet2py, pseudoJet2pz, pseudoJet2energy) + + ### + + event.mr = self.computeMR(event.pseudoJet1, event.pseudoJet2) + event.mtr = self.computeMTR(event.pseudoJet1, event.pseudoJet2, metp4) + event.r = self.computeR(event.pseudoJet1, event.pseudoJet2, metp4) + + + +#### do the razor with one or two b jets (medium CSV) + if len(event.bjetsMedium)>=2: + + bJet1 = ROOT.TLorentzVector(event.bjetsMedium[0].px(), event.bjetsMedium[0].py(), event.bjetsMedium[0].pz(), event.bjetsMedium[0].energy()) + bJet2 = ROOT.TLorentzVector(event.bjetsMedium[1].px(), event.bjetsMedium[1].py(), event.bjetsMedium[1].pz(), event.bjetsMedium[1].energy()) + + event.mr_bb = self.computeMR(bJet1, bJet2) + event.mtr_bb = self.computeMTR(bJet1, bJet2, metp4) + event.r_bb = self.computeR(bJet1, bJet2, metp4) + +# print 'MR(2b)',event.mr_bb + if len(event.bjetsMedium)==1: + + objects40jcCSV = [ j for j in event.cleanJets if j.pt() > 40 and abs(j.eta())<2.5 and j.p4()!=event.bjetsMedium[0].p4() ] + objects40jcCSV.sort(key = lambda l : l.btag('combinedInclusiveSecondaryVertexV2BJetTags'), reverse = True) + + if len(objects40jcCSV)>0: + + bJet1 = ROOT.TLorentzVector(event.bjetsMedium[0].px(), event.bjetsMedium[0].py(), event.bjetsMedium[0].pz(), event.bjetsMedium[0].energy()) + bJet2 = ROOT.TLorentzVector(objects40jcCSV[0].px(), objects40jcCSV[0].py(), objects40jcCSV[0].pz(), objects40jcCSV[0].energy()) + + event.mr_bb = self.computeMR(bJet1, bJet2) + event.mtr_bb = self.computeMTR(bJet1, bJet2, metp4) + event.r_bb = self.computeR(bJet1, bJet2, metp4) +## print 'MRbb(1b)',event.mr_bb + +## ===> leptonic MR + if not self.cfg_ana.doOnlyDefault: + if len(event.selectedLeptons)>=2: + + lep1 = ROOT.TLorentzVector(event.selectedLeptons[0].px(), event.selectedLeptons[0].py(), event.selectedLeptons[0].pz(), event.selectedLeptons[0].energy()) + lep2 = ROOT.TLorentzVector(event.selectedLeptons[1].px(), event.selectedLeptons[1].py(), event.selectedLeptons[1].pz(), event.selectedLeptons[1].energy()) + + event.mr_lept = self.computeMR(lep1, lep2) + event.mtr_lept = self.computeMTR(lep1, lep2, metp4) + event.r_lept = self.computeR(lep1, lep2, metp4) + + + +### + + def process(self, event): + self.readCollections( event.input ) + + event.mr_gen=-999 + event.mtr_gen=-999 + event.r_gen=-999 + + event.mr_bb=-999 + event.mtr_bb=-999 + event.r_bb=-999 + + event.mr_lept=-999 + event.mtr_lept=-999 + event.r_lept=-999 + + event.mr_had=-999 + event.mtr_had=-999 + event.r_had=-999 + + event.mr=-999 + event.mtr=-999 + event.r=-999 + + event.pseudoJet1 = ROOT.TLorentzVector( 0, 0, 0, 0 ) + event.pseudoJet2 = ROOT.TLorentzVector( 0, 0, 0, 0 ) + + ### + + self.makeRAZOR(event) + +# print 'variables computed: MR=',event.mr_had,'R=',event.r,'MTR=',event.mtr +# print 'pseudoJet1 px=',event.pseudoJet1.px(),' py=',event.pseudoJet1.py(),' pz=',event.pseudoJet1.pz() +# print 'pseudoJet2 px=',event.pseudoJet2.px(),' py=',event.pseudoJet2.py(),' pz=',event.pseudoJet2.pz() + + return True diff --git a/CMGTools/RootTools/python/analyzers/GenParticleAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/examples/GenParticleAnalyzer.py similarity index 100% rename from CMGTools/RootTools/python/analyzers/GenParticleAnalyzer.py rename to PhysicsTools/Heppy/python/analyzers/examples/GenParticleAnalyzer.py diff --git a/PhysicsTools/Heppy/python/analyzers/examples/TriggerAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/examples/TriggerAnalyzer.py index 885f868e8ce8..7131716a6d05 100644 --- a/PhysicsTools/Heppy/python/analyzers/examples/TriggerAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/examples/TriggerAnalyzer.py @@ -1,8 +1,8 @@ from PhysicsTools.HeppyCore.framework.analyzer import Analyzer -from PhysicsTools.Heppy.analyzers.AutoHandle import AutoHandle +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle from PhysicsTools.HeppyCore.statistics.counter import Counter -from PhysicsTools.HeppyCore.utils.TriggerList import TriggerList -from PhysicsTools.HeppyCore.utils.TriggerMatching import selTriggerObjects +#from PhysicsTools.HeppyCore.utils.TriggerList import TriggerList +from PhysicsTools.Heppy.physicsutils.TriggerMatching import selTriggerObjects from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import TriggerObject diff --git a/CMGTools/RootTools/python/analyzers/VBFSimpleAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/examples/VBFSimpleAnalyzer.py similarity index 86% rename from CMGTools/RootTools/python/analyzers/VBFSimpleAnalyzer.py rename to PhysicsTools/Heppy/python/analyzers/examples/VBFSimpleAnalyzer.py index 9306c0a9580a..cc16cb834221 100644 --- a/CMGTools/RootTools/python/analyzers/VBFSimpleAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/examples/VBFSimpleAnalyzer.py @@ -1,5 +1,4 @@ from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer - from PhysicsTools.Heppy.physicsutils.VBF import VBF class VBFSimpleAnalyzer(Analyzer): @@ -18,7 +17,6 @@ class VBFSimpleAnalyzer(Analyzer): cjvPtCut = 30., ) - """ def __init__(self, cfg_ana, cfg_comp, looperName): @@ -39,22 +37,21 @@ def process(self, event): self.counters.counter('VBF').inc('all events') - if len(event.cleanJets)<2: + if len(event.cleanJets) < 2: return True - event.vbf = VBF( event.cleanJets, event.diLepton, - None, self.cfg_ana.cjvPtCut ) + event.vbf = VBF(event.cleanJets, event.diLepton, None, self.cfg_ana.cjvPtCut) if event.vbf.mjj > self.cfg_ana.Mjj: - self.counters.counter('VBF').inc('M_jj > {cut:3.1f}'.format(cut=self.cfg_ana.Mjj) ) + self.counters.counter('VBF').inc('M_jj > {cut:3.1f}'.format(cut=self.cfg_ana.Mjj)) else: return True if abs(event.vbf.deta) > self.cfg_ana.deltaEta: - self.counters.counter('VBF').inc('delta Eta > {cut:3.1f}'.format(cut=self.cfg_ana.deltaEta) ) + self.counters.counter('VBF').inc('delta Eta > {cut:3.1f}'.format(cut=self.cfg_ana.deltaEta)) else: return True - if len(event.vbf.centralJets)==0: + if len(event.vbf.centralJets) == 0: self.counters.counter('VBF').inc('no central jets') else: return True diff --git a/PhysicsTools/Heppy/python/analyzers/gen/GeneratorAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/gen/GeneratorAnalyzer.py index e38e12ca6d6d..b5c2fef55b77 100644 --- a/PhysicsTools/Heppy/python/analyzers/gen/GeneratorAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/gen/GeneratorAnalyzer.py @@ -32,6 +32,7 @@ class GeneratorAnalyzer( Analyzer ): event.genHiggsBosons = [] event.genVBosons = [] event.gennus = [] # prompt neutrinos + event.gennusFromTop = [] # Neutrinos from t->W decay event.genleps = [] # leptons from direct decays event.gentauleps = [] # leptons from prompt taus event.gentaus = [] # hadronically-decaying taus (if allGenTaus is False) or all taus (if allGenTaus is True) @@ -40,9 +41,13 @@ class GeneratorAnalyzer( Analyzer ): event.genwzquarks = [] # quarks from W,Z decays event.genbquarksFromTop = [] event.genbquarksFromH = [] + event.genlepsFromTop = [] #mu/ele that have a t->W chain as ancestor, also contained in event.genleps event.genwzquarks and event.genbquarks, might have overlaps event.genbquarksFromTop and event.genbquarksFromH are all contained in event.genbquarks + In addition to genParticles, if makeLHEweights is set to True, the list WeightsInfo objects of the LHE branch + is stored in event.LHE_weights + """ def __init__(self, cfg_ana, cfg_comp, looperName ): @@ -52,10 +57,13 @@ def __init__(self, cfg_ana, cfg_comp, looperName ): self.makeAllGenParticles = cfg_ana.makeAllGenParticles self.makeSplittedGenLists = cfg_ana.makeSplittedGenLists self.allGenTaus = cfg_ana.allGenTaus if self.makeSplittedGenLists else False + self.makeLHEweights = cfg_ana.makeLHEweights def declareHandles(self): super(GeneratorAnalyzer, self).declareHandles() self.mchandles['genParticles'] = AutoHandle( 'prunedGenParticles', 'std::vector' ) + if self.makeLHEweights: + self.mchandles['LHEweights'] = AutoHandle( 'source', 'LHEEventProduct', mayFail = True, lazy = False ) def beginLoop(self,setup): super(GeneratorAnalyzer,self).beginLoop(setup) @@ -64,7 +72,9 @@ def makeMCInfo(self, event): verbose = getattr(self.cfg_ana, 'verbose', False) rawGenParticles = self.mchandles['genParticles'].product() good = []; keymap = {}; + allGenParticles = [] for rawIndex,p in enumerate(rawGenParticles): + if self.makeAllGenParticles: allGenParticles.append(p) id = abs(p.pdgId()) status = p.status() # particles must be status > 2, except for prompt leptons, photons, neutralinos @@ -84,7 +94,7 @@ def makeMCInfo(self, event): continue else: # everything else, we want it after radiation, i.e. just before decay - if any((p.daughter(j).pdgId() == p.pdgId() and p.daughter(j).status > 2) for j in xrange(p.numberOfDaughters())): + if any((p.daughter(j).pdgId() == p.pdgId() and p.daughter(j).status() > 2) for j in xrange(p.numberOfDaughters())): #print " fail auto-decay" continue # FIXME find a better criterion to discard there @@ -108,6 +118,9 @@ def makeMCInfo(self, event): if not any(mom.daughter(j2).pdgId() == mom.pdgId() for j2 in xrange(mom.numberOfDaughters())): #print " pass no-self-decay" ok = True + # Account for generator feature with Higgs decaying to itself with same four-vector but no daughters + elif mom.pdgId() == 25 and any(mom.daughter(j2).pdgId() == 25 and mom.daughter(j2).numberOfDaughters()==0 for j2 in range(mom.numberOfDaughters())): + ok = True if abs(mom.pdgId()) == 15: # if we're a tau daughter we're status 2 # if we passed all the previous steps, then we're a prompt lepton @@ -134,7 +147,7 @@ def makeMCInfo(self, event): print "Error keying %d: motherIndex %d, ancestor.pdgId %d, good[gp.motherIndex].pdgId() %d " % (igp, gp.motherIndex, ancestor.pdgId(), good[gp.motherIndex].pdgId()) break ancestor = None if ancestor.numberOfMothers() == 0 else ancestor.motherRef(0) - if abs(gp.pdgId()) not in {1,2,3,4,5,11,12,13,14,15,16,21}: + if abs(gp.pdgId()) not in [1,2,3,4,5,11,12,13,14,15,16,21]: gp.sourceId = gp.pdgId() if gp.motherIndex != -1: ancestor = good[gp.motherIndex] @@ -142,7 +155,7 @@ def makeMCInfo(self, event): gp.sourceId = ancestor.sourceId event.generatorSummary = good # add the ID of the mother to be able to recreate last decay chains - for ip,p in enumerate(event.generatorSummary): + for ip,p in enumerate(good): moms = realGenMothers(p) if len(moms)==0: p.motherId = 0 @@ -164,19 +177,13 @@ def makeMCInfo(self, event): print "\n\n" if self.makeAllGenParticles: - event.genParticles = [] - for rawIndex,p in enumerate(rawGenParticles): - if rawIndex in keymap: - gp = event.generatorSummary[keymap[rawIndex]] - else: - gp = p - gp.rawIndex = rawIndex - gp.genSummaryIndex = -1 - event.genParticles.append(gp) + event.genParticles = allGenParticles + if self.makeSplittedGenLists: event.genHiggsBosons = [] event.genVBosons = [] event.gennus = [] + event.gennusFromTop = [] event.genleps = [] event.gentauleps = [] event.gentaus = [] @@ -185,6 +192,7 @@ def makeMCInfo(self, event): event.genwzquarks = [] event.genbquarksFromTop = [] event.genbquarksFromH = [] + event.genlepsFromTop = [] for p in event.generatorSummary: id = abs(p.pdgId()) if id == 25: @@ -193,11 +201,37 @@ def makeMCInfo(self, event): event.genVBosons.append(p) elif id in {12,14,16}: event.gennus.append(p) + + momids = [(m, abs(m.pdgId())) for m in realGenMothers(p)] + + #have a look at the lepton mothers + for mom, momid in momids: + #lepton from W + if momid == 24: + wmomids = [abs(m.pdgId()) for m in realGenMothers(mom)] + #W from t + if 6 in wmomids: + #save mu,e from t->W->mu/e + event.gennusFromTop.append(p) + elif id in {11,13}: + #taus to separate vector if abs(p.motherId) == 15: event.gentauleps.append(p) + #all muons and electrons else: event.genleps.append(p) + momids = [(m, abs(m.pdgId())) for m in realGenMothers(p)] + + #have a look at the lepton mothers + for mom, momid in momids: + #lepton from W + if momid == 24: + wmomids = [abs(m.pdgId()) for m in realGenMothers(mom)] + #W from t + if 6 in wmomids: + #save mu,e from t->W->mu/e + event.genlepsFromTop.append(p) elif id == 15: if self.allGenTaus or not any([abs(d.pdgId()) in {11,13} for d in realGenDaughters(p)]): event.gentaus.append(p) @@ -211,6 +245,13 @@ def makeMCInfo(self, event): if id <= 5 and any([abs(m.pdgId()) in {23,24} for m in realGenMothers(p)]): event.genwzquarks.append(p) + #Add LHE weight info + event.LHE_weights = [] + if self.makeLHEweights: + if self.mchandles['LHEweights'].isValid(): + for w in self.mchandles['LHEweights'].product().weights(): + event.LHE_weights.append(w) + def process(self, event): self.readCollections( event.input ) @@ -225,16 +266,18 @@ def process(self, event): setattr(GeneratorAnalyzer,"defaultConfig", cfg.Analyzer(GeneratorAnalyzer, # BSM particles that can appear with status <= 2 and should be kept - stableBSMParticleIds = { 1000022 }, + stableBSMParticleIds = [ 1000022 ], # Particles of which we want to save the pre-FSR momentum (a la status 3). # Note that for quarks and gluons the post-FSR doesn't make sense, # so those should always be in the list - savePreFSRParticleIds = { 1,2,3,4,5, 11,12,13,14,15,16, 21 }, + savePreFSRParticleIds = [ 1,2,3,4,5, 11,12,13,14,15,16, 21 ], # Make also the list of all genParticles, for other analyzers to handle makeAllGenParticles = True, # Make also the splitted lists makeSplittedGenLists = True, allGenTaus = False, + # Save LHE weights in LHEEventProduct + makeLHEweights = True, # Print out debug information verbose = False, ) diff --git a/PhysicsTools/Heppy/python/analyzers/gen/LHEAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/gen/LHEAnalyzer.py new file mode 100644 index 000000000000..0b6ea84791e4 --- /dev/null +++ b/PhysicsTools/Heppy/python/analyzers/gen/LHEAnalyzer.py @@ -0,0 +1,88 @@ +from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer +from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle +import PhysicsTools.HeppyCore.framework.config as cfg +from math import * +from DataFormats.FWLite import Events, Handle + +class LHEAnalyzer( Analyzer ): + """ """ + def __init__(self, cfg_ana, cfg_comp, looperName ): + super(LHEAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + self.lheh=Handle('LHEEventProduct') + + def declareHandles(self): + super(LHEAnalyzer, self).declareHandles() +# self.mchandles['lhestuff'] = AutoHandle( 'externalLHEProducer','LHEEventProduct') + + def beginLoop(self, setup): + super(LHEAnalyzer,self).beginLoop(setup) + + def process(self, event): + + # if not MC, nothing to do + if not self.cfg_comp.isMC: + return True + event.lheHT=0 + event.lheNj=0 + event.lheNb=0 + event.lheNc=0 + event.lheNl=0 + event.lheNg=0 + event.lheV_pt = 0 + try: + event.input.getByLabel( 'externalLHEProducer',self.lheh) + except : + return True + if not self.lheh.isValid() : + return True + self.readCollections( event.input ) + hepeup=self.lheh.product().hepeup() + pup=hepeup.PUP + l=None + lBar=None + nu=None + nuBar=None + for i in xrange(0,len(pup)): + id=hepeup.IDUP[i] + status = hepeup.ISTUP[i] + idabs=abs(id) + + if status == 1 and ( ( idabs == 21 ) or (idabs > 0 and idabs < 7) ) : # gluons and quarks + event.lheHT += sqrt( pup[i][0]**2 + pup[i][1]**2 ) # first entry is px, second py + event.lheNj +=1 + if idabs==5: + event.lheNb += 1 + if idabs==4: + event.lheNc += 1 + if idabs in [1,2,3]: + event.lheNl += 1 + if idabs==21: + event.lheNg += 1 + if idabs in [12,14,16] : + if id > 0 : + nu = i + else : + nuBar = i + if idabs in [11,13,15] : + if id > 0 : + l = i + else : + lBar = i + v=None + if l and lBar : #Z to LL + v=(l,lBar) + elif l and nuBar : #W + v=(l,nuBar) + elif lBar and nu : #W + v=(nu,lBar) + elif nu and nuBar : #Z to nn + v=(nu,nuBar) + if v : + event.lheV_pt = sqrt( (pup[v[0]][0]+pup[v[1]][0])**2 + (pup[v[0]][1]+pup[v[1]][1])**2 ) + + return True + +setattr(LHEAnalyzer,"defaultConfig", + cfg.Analyzer(LHEAnalyzer, + ) +) diff --git a/PhysicsTools/Heppy/python/analyzers/gen/PDFWeightsAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/gen/PDFWeightsAnalyzer.py index d2f1ce5576e0..02dcc7bd0393 100644 --- a/PhysicsTools/Heppy/python/analyzers/gen/PDFWeightsAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/gen/PDFWeightsAnalyzer.py @@ -1,13 +1,14 @@ from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle import PhysicsTools.HeppyCore.framework.config as cfg - +from collections import defaultdict class PDFWeightsAnalyzer( Analyzer ): """ """ def __init__(self, cfg_ana, cfg_comp, looperName ): super(PDFWeightsAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) self.doPDFWeights = hasattr(self.cfg_ana, "PDFWeights") and len(self.cfg_ana.PDFWeights) > 0 + self.doPDFVars = hasattr(self.cfg_ana, "doPDFVars") and self.cfg_ana.doPDFVars == True if self.doPDFWeights: self.pdfWeightInit = False #--------------------------------------------- @@ -18,14 +19,14 @@ def __init__(self, cfg_ana, cfg_comp, looperName ): def declareHandles(self): super(PDFWeightsAnalyzer, self).declareHandles() - if self.doPDFWeights: + if self.doPDFVars or self.doPDFWeights: self.mchandles['pdfstuff'] = AutoHandle( 'generator', 'GenEventInfoProduct' ) def beginLoop(self, setup): super(PDFWeightsAnalyzer,self).beginLoop(setup) def initPDFWeights(self): - from ROOT import PdfWeightProducerTool + from ROOT.heppy import PdfWeightProducerTool self.pdfWeightInit = True self.pdfWeightTool = PdfWeightProducerTool() for pdf in self.cfg_ana.PDFWeights: @@ -34,8 +35,8 @@ def initPDFWeights(self): def makePDFWeights(self, event): if not self.pdfWeightInit: self.initPDFWeights() - self.pdfWeightTool.processEvent(self.mchandles['pdfstuff'].product()) - event.pdfWeights = {} + self.pdfWeightTool.processEvent(self.genInfo) + event.pdfWeights = defaultdict(list) for pdf in self.cfg_ana.PDFWeights: ws = self.pdfWeightTool.getWeights(pdf+".LHgrid") event.pdfWeights[pdf] = [w for w in ws] @@ -47,12 +48,22 @@ def process(self, event): if not self.cfg_comp.isMC: return True + if self.doPDFVars or self.doPDFWeights: + self.genInfo = self.mchandles['pdfstuff'].product() if self.doPDFWeights: self.makePDFWeights(event) + if self.doPDFVars: + event.pdf_x1 = self.genInfo.pdf().x.first + event.pdf_x2 = self.genInfo.pdf().x.second + event.pdf_id1 = self.genInfo.pdf().id.first + event.pdf_id2 = self.genInfo.pdf().id.second + event.pdf_scale = self.genInfo.pdf().scalePDF + return True setattr(PDFWeightsAnalyzer,"defaultConfig", cfg.Analyzer(PDFWeightsAnalyzer, - PDFWeights = [] + PDFWeights = [], + doPDFVars = False, ) ) diff --git a/PhysicsTools/Heppy/python/analyzers/objects/IsoTrackAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/objects/IsoTrackAnalyzer.py index 736c2621b531..32c49c0bd082 100755 --- a/PhysicsTools/Heppy/python/analyzers/objects/IsoTrackAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/objects/IsoTrackAnalyzer.py @@ -17,6 +17,11 @@ import PhysicsTools.HeppyCore.framework.config as cfg +from ROOT import heppy + + + + def mtw(x1,x2): import math return math.sqrt(2*x1.pt()*x2.pt()*(1-math.cos(x1.phi()-x2.phi()))) @@ -42,14 +47,15 @@ class IsoTrackAnalyzer( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName ): super(IsoTrackAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) + self.IsoTrackIsolationComputer = heppy.IsolationComputer(self.cfg_ana.isoDR) #---------------------------------------- # DECLARATION OF HANDLES OF LEPTONS STUFF #---------------------------------------- def declareHandles(self): super(IsoTrackAnalyzer, self).declareHandles() - self.handles['cmgCand'] = AutoHandle(self.cfg_ana.candidates,self.cfg_ana.candidatesTypes) self.handles['met'] = AutoHandle( 'slimmedMETs', 'std::vector' ) + self.handles['packedCandidates'] = AutoHandle( 'packedPFCandidates', 'std::vector') def beginLoop(self, setup): super(IsoTrackAnalyzer,self).beginLoop(setup) @@ -70,63 +76,40 @@ def makeIsoTrack(self, event): event.selectedIsoCleanTrack = [] #event.preIsoTrack = [] - pfcands = self.handles['cmgCand'].product() + patcands = self.handles['packedCandidates'].product() - charged = [ p for p in pfcands if ( p.charge() != 0 and abs(p.dz())<=self.cfg_ana.dzMax ) ] + charged = [ p for p in patcands if ( p.charge() != 0 and abs(p.dz())<=self.cfg_ana.dzMax ) ] + + self.IsoTrackIsolationComputer.setPackedCandidates(patcands, -1, 0.1, True) alltrack = map( IsoTrack, charged ) for track in alltrack: - foundNonIsoTrack = False - -## ===> require Track Candidate above some pt and charged if ( (abs(track.pdgId())!=11) and (abs(track.pdgId())!=13) and (track.pt() < self.cfg_ana.ptMin) ): continue if ( track.pt() < self.cfg_ana.ptMinEMU ): continue + foundNonIsoTrack = False ## ===> require is not the leading lepton and opposite to the leading lepton if( (self.cfg_ana.doSecondVeto) and len(event.selectedLeptons)>0) : if( deltaR(event.selectedLeptons[0].eta(), event.selectedLeptons[0].phi(), track.eta(), track.phi()) <0.01) : continue if ( (abs(track.pdgId())!=11) and (abs(track.pdgId())!=13) and (track.charge()*event.selectedLeptons[0].charge()) ): continue + ## ===> Redundant:: require the Track Candidate with a minimum dz - track.associatedVertex = event.goodVertices[0] + track.associatedVertex = event.goodVertices[0] if len(event.goodVertices)>0 else event.vertices[0] ## ===> compute the isolation and find the most isolated track - othertracks = [ p for p in charged if( deltaR(p.eta(), p.phi(), track.eta(), track.phi()) < self.cfg_ana.isoDR and p.pt()>self.cfg_ana.ptPartMin ) ] - #othertracks = alltrack - - isoSum=0 - for part in othertracks: - #### ===> skip pfcands with a pt min (this should be 0) - #if part.pt() skip pfcands outside the cone (this should be 0.3) - #if deltaR(part.eta(), part.phi(), track.eta(), track.phi()) > self.cfg_ana.isoDR : continue - isoSum += part.pt() - ### break the loop to save time - if(isoSum > (self.cfg_ana.maxAbsIso + track.pt())): - foundNonIsoTrack = True - break - - if foundNonIsoTrack: continue - - ## reset - #isoSum=0 - #for part in othertracks : - #### ===> skip pfcands with a pt min (this should be 0) - # if part.pt() skip pfcands outside the cone (this should be 0.3) - # if deltaR(part.eta(), part.phi(), track.eta(), track.phi()) > self.cfg_ana.isoDR : continue - # isoSum += part.pt() + isoSum = self.IsoTrackIsolationComputer.chargedAbsIso(track.physObj, self.cfg_ana.isoDR, 0., self.cfg_ana.ptPartMin) - # ### isoSum = isoSum/track.pt() ## <--- this is for relIso + if(isoSum > (self.cfg_ana.maxAbsIso + track.pt())): continue - ### ===> the sum should not contain the track candidate - track.absIso = isoSum - track.pt() + #if abs(track.pdgId())==211 : + track.absIso = isoSum - track.pt() #### store a preIso track #event.preIsoTrack.append(track) @@ -151,6 +134,84 @@ def makeIsoTrack(self, event): else: event.selectedIsoCleanTrack.append(track) + + +## alltrack = map( IsoTrack, charged ) + +## for track in alltrack: +## +## foundNonIsoTrack = False +## +#### ===> require Track Candidate above some pt and charged +## if ( (abs(track.pdgId())!=11) and (abs(track.pdgId())!=13) and (track.pt() < self.cfg_ana.ptMin) ): continue +## if ( track.pt() < self.cfg_ana.ptMinEMU ): continue +## +## +#### ===> require is not the leading lepton and opposite to the leading lepton +## if( (self.cfg_ana.doSecondVeto) and len(event.selectedLeptons)>0) : +## if( deltaR(event.selectedLeptons[0].eta(), event.selectedLeptons[0].phi(), track.eta(), track.phi()) <0.01) : continue +## if ( (abs(track.pdgId())!=11) and (abs(track.pdgId())!=13) and (track.charge()*event.selectedLeptons[0].charge()) ): continue +## +#### ===> Redundant:: require the Track Candidate with a minimum dz +## track.associatedVertex = event.goodVertices[0] +## +#### ===> compute the isolation and find the most isolated track +## +## othertracks = [ p for p in charged if( deltaR(p.eta(), p.phi(), track.eta(), track.phi()) < self.cfg_ana.isoDR and p.pt()>self.cfg_ana.ptPartMin ) ] +## #othertracks = alltrack +## +## isoSum=0 +## for part in othertracks: +## #### ===> skip pfcands with a pt min (this should be 0) +## #if part.pt() skip pfcands outside the cone (this should be 0.3) +## #if deltaR(part.eta(), part.phi(), track.eta(), track.phi()) > self.cfg_ana.isoDR : continue +## isoSum += part.pt() +## ### break the loop to save time +## if(isoSum > (self.cfg_ana.maxAbsIso + track.pt())): +## foundNonIsoTrack = True +## break +## +## if foundNonIsoTrack: continue +## +## ## reset +## #isoSum=0 +## #for part in othertracks : +## #### ===> skip pfcands with a pt min (this should be 0) +## # if part.pt() skip pfcands outside the cone (this should be 0.3) +## # if deltaR(part.eta(), part.phi(), track.eta(), track.phi()) > self.cfg_ana.isoDR : continue +## # isoSum += part.pt() +## +## # ### isoSum = isoSum/track.pt() ## <--- this is for relIso +## +## ### ===> the sum should not contain the track candidate +## +## track.absIso = isoSum - track.pt() +## +## #### store a preIso track +## #event.preIsoTrack.append(track) +## +### if (isoSum < minIsoSum ) : +## if(track.absIso < min(0.2*track.pt(), self.cfg_ana.maxAbsIso)): +## event.selectedIsoTrack.append(track) +## +## if self.cfg_ana.doPrune: +## myMet = self.handles['met'].product()[0] +## mtwIsoTrack = mtw(track, myMet) +## if mtwIsoTrack < 100: +## if abs(track.pdgId()) == 11 or abs(track.pdgId()) == 13: +## if track.pt()>5 and track.absIso/track.pt()<0.2: +## +## myLeptons = [ l for l in event.selectedLeptons if l.pt() > 10 ] +## nearestSelectedLeptons = makeNearestLeptons(myLeptons,track, event) +## if len(nearestSelectedLeptons) > 0: +## for lep in nearestSelectedLeptons: +## if deltaR(lep.eta(), lep.phi(), track.eta(), track.phi()) > 0.1: +## event.selectedIsoCleanTrack.append(track) +## else: +## event.selectedIsoCleanTrack.append(track) + event.selectedIsoTrack.sort(key = lambda l : l.pt(), reverse = True) event.selectedIsoCleanTrack.sort(key = lambda l : l.pt(), reverse = True) diff --git a/PhysicsTools/Heppy/python/analyzers/objects/JetAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/objects/JetAnalyzer.py index e9e8ce8e5d04..7d3067825d50 100644 --- a/PhysicsTools/Heppy/python/analyzers/objects/JetAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/objects/JetAnalyzer.py @@ -1,4 +1,4 @@ -import math +import math, os from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Jet @@ -20,6 +20,31 @@ def cleanNearestJetOnly(jets,leptons,deltaR): if ibest != -1: good[ibest] = False return [ j for (i,j) in enumerate(jets) if good[i] == True ] +def cleanJetsAndLeptons(jets,leptons,deltaR,arbitration): + dr2 = deltaR**2 + goodjet = [ True for j in jets ] + goodlep = [ True for l in leptons ] + for il, l in enumerate(leptons): + ibest, d2m = -1, dr2 + for i,j in enumerate(jets): + d2i = deltaR2(l.eta(),l.phi(), j.eta(),j.phi()) + if d2i < dr2: + choice = arbitration(j,l) + if choice == j: + # if the two match, and we prefer the jet, then drop the lepton and be done + goodlep[il] = False + break + elif choice == (j,l) or choice == (l,j): + # asked to keep both, so we don't consider this match + continue + if d2i < d2m: + ibest, d2m = i, d2i + # this lepton has been killed by a jet, then we clean the jet that best matches it + if not goodlep[il]: continue + if ibest != -1: goodjet[ibest] = False + return ( [ j for (i ,j) in enumerate(jets) if goodjet[i ] == True ], + [ l for (il,l) in enumerate(leptons) if goodlep[il] == True ] ) + class JetAnalyzer( Analyzer ): """Taken from RootTools.JetAnalyzer, simplified, modified, added corrections """ @@ -35,22 +60,25 @@ def __init__(self, cfg_ana, cfg_comp, looperName): self.doJEC = self.recalibrateJets or (self.shiftJEC != 0) if self.doJEC: if self.cfg_comp.isMC: - self.jetReCalibrator = JetReCalibrator(mcGT,"AK4PFchs", False,cfg_ana.jecPath) + self.jetReCalibrator = JetReCalibrator(mcGT,self.cfg_ana.recalibrationType, False,cfg_ana.jecPath) else: - self.jetReCalibrator = JetReCalibrator(dataGT,"AK4PFchs", True,cfg_ana.jecPath) - self.doPuId = self.cfg_ana.doPuId if hasattr(self.cfg_ana, 'doPuId') else True - self.jetLepDR = self.cfg_ana.jetLepDR if hasattr(self.cfg_ana, 'jetLepDR') else 0.5 - self.lepPtMin = self.cfg_ana.minLepPt if hasattr(self.cfg_ana, 'minLepPt') else -1 - self.jetGammaDR = self.cfg_ana.jetGammaDR if hasattr(self.cfg_ana, 'jetGammaDR') else 0.4 + self.jetReCalibrator = JetReCalibrator(dataGT,self.cfg_ana.recalibrationType, True,cfg_ana.jecPath) + self.doPuId = getattr(self.cfg_ana, 'doPuId', True) + self.jetLepDR = getattr(self.cfg_ana, 'jetLepDR', 0.4) + self.jetLepArbitration = getattr(self.cfg_ana, 'jetLepArbitration', lambda jet,lepton: lepton) + self.lepPtMin = getattr(self.cfg_ana, 'minLepPt', -1) + self.lepSelCut = getattr(self.cfg_ana, 'lepSelCut', lambda lep : True) + self.jetGammaDR = getattr(self.cfg_ana, 'jetGammaDR', 0.4) if(self.cfg_ana.doQG): - self.qglcalc = QGLikelihoodCalculator("/afs/cern.ch/user/t/tomc/public/QG_pdfs_13TeV_2014-10-12/pdfQG_AK4chs_antib_NoQC_13TeV.root") + self.qglcalc = QGLikelihoodCalculator("%s/src/PhysicsTools/Heppy/data/pdfQG_AK4chs_antib_13TeV_v1.root" % os.environ['CMSSW_BASE']) + if not hasattr(self.cfg_ana ,"collectionPostFix"):self.cfg_ana.collectionPostFix="" def declareHandles(self): super(JetAnalyzer, self).declareHandles() self.handles['jets'] = AutoHandle( self.cfg_ana.jetCol, 'std::vector' ) - self.handles['genJet'] = AutoHandle( 'slimmedGenJets', 'vector' ) + self.handles['genJet'] = AutoHandle( self.cfg_ana.genJetCol, 'vector' ) self.shiftJER = self.cfg_ana.shiftJER if hasattr(self.cfg_ana, 'shiftJER') else 0 - self.handles['rho'] = AutoHandle( ('fixedGridRhoFastjetAll','',''), 'double' ) + self.handles['rho'] = AutoHandle( self.cfg_ana.rho, 'double' ) def beginLoop(self, setup): super(JetAnalyzer,self).beginLoop(setup) @@ -58,31 +86,39 @@ def beginLoop(self, setup): def process(self, event): self.readCollections( event.input ) rho = float(self.handles['rho'].product()[0]) - event.rho = rho + self.rho = rho ## Read jets, if necessary recalibrate and shift MET - allJets = map(Jet, self.handles['jets'].product()) - - event.deltaMetFromJEC = [0.,0.] + if self.cfg_ana.copyJetsByValue: + import ROOT + allJets = map(lambda j:Jet(ROOT.pat.Jet(j)), self.handles['jets'].product()) #copy-by-value is safe if JetAnalyzer is ran more than once + else: + allJets = map(Jet, self.handles['jets'].product()) + + self.deltaMetFromJEC = [0.,0.] +# print "before. rho",self.rho,self.cfg_ana.collectionPostFix,'allJets len ',len(allJets),'pt', [j.pt() for j in allJets] if self.doJEC: - #print "\nCalibrating jets %s for lumi %d, event %d" % (self.cfg_ana.jetCol, event.lumi, event.eventId) - self.jetReCalibrator.correctAll(allJets, rho, delta=self.shiftJEC, metShift=event.deltaMetFromJEC) - event.allJetsUsedForMET = allJets +# print "\nCalibrating jets %s for lumi %d, event %d" % (self.cfg_ana.jetCol, event.lumi, event.eventId) + self.jetReCalibrator.correctAll(allJets, rho, delta=self.shiftJEC, metShift=self.deltaMetFromJEC) + self.allJetsUsedForMET = allJets +# print "after. rho",self.rho,self.cfg_ana.collectionPostFix,'allJets len ',len(allJets),'pt', [j.pt() for j in allJets] if self.cfg_comp.isMC: - event.genJets = [ x for x in self.handles['genJet'].product() ] + self.genJets = [ x for x in self.handles['genJet'].product() ] self.matchJets(event, allJets) if getattr(self.cfg_ana, 'smearJets', False): self.smearJets(event, allJets) - - ## Apply jet selection - event.jets = [] - event.jetsFailId = [] - event.jetsAllNoID = [] - event.jetsIdOnly = [] + + ##Sort Jets by pT + allJets.sort(key = lambda j : j.pt(), reverse = True) + ## Apply jet selection + self.jets = [] + self.jetsFailId = [] + self.jetsAllNoID = [] + self.jetsIdOnly = [] for jet in allJets: if self.testJetNoID( jet ): - event.jetsAllNoID.append(jet) + self.jetsAllNoID.append(jet) if self.testJetID (jet ): if(self.cfg_ana.doQG): @@ -90,52 +126,84 @@ def process(self, event): jet.qgl = self.qglcalc.computeQGLikelihood(jet, rho) - event.jets.append(jet) - event.jetsIdOnly.append(jet) + self.jets.append(jet) + self.jetsIdOnly.append(jet) else: - event.jetsFailId.append(jet) + self.jetsFailId.append(jet) elif self.testJetID (jet ): - event.jetsIdOnly.append(jet) + self.jetsIdOnly.append(jet) ## Clean Jets from leptons leptons = [] if hasattr(event, 'selectedLeptons'): - leptons = [ l for l in event.selectedLeptons if l.pt() > self.lepPtMin ] + leptons = [ l for l in event.selectedLeptons if l.pt() > self.lepPtMin and self.lepSelCut(l) ] if self.cfg_ana.cleanJetsFromTaus and hasattr(event, 'selectedTaus'): leptons = leptons[:] + event.selectedTaus if self.cfg_ana.cleanJetsFromIsoTracks and hasattr(event, 'selectedIsoCleanTrack'): leptons = leptons[:] + event.selectedIsoCleanTrack - event.cleanJetsAll = cleanNearestJetOnly(event.jets, leptons, self.jetLepDR) - event.cleanJets = [j for j in event.cleanJetsAll if abs(j.eta()) < self.cfg_ana.jetEtaCentral ] - event.cleanJetsFwd = [j for j in event.cleanJetsAll if abs(j.eta()) >= self.cfg_ana.jetEtaCentral ] + + jetsEtaCut = [j for j in self.jets if abs(j.eta()) < self.cfg_ana.jetEta ] + self.cleanJetsAll, cleanLeptons = cleanJetsAndLeptons(jetsEtaCut, leptons, self.jetLepDR, self.jetLepArbitration) + #self.cleanJetsAll, cleanLeptons = cleanJetsAndLeptons(self.jets, leptons, self.jetLepDR, self.jetLepArbitration) ##from central + self.cleanJets = [j for j in self.cleanJetsAll if abs(j.eta()) < self.cfg_ana.jetEtaCentral ] + self.cleanJetsFwd = [j for j in self.cleanJetsAll if abs(j.eta()) >= self.cfg_ana.jetEtaCentral ] + self.discardedJets = [j for j in self.jets if j not in self.cleanJetsAll] + if hasattr(event, 'selectedLeptons') and self.cfg_ana.cleanSelectedLeptons: + event.discardedLeptons = [ l for l in leptons if l not in cleanLeptons ] + event.selectedLeptons = [ l for l in event.selectedLeptons if l not in event.discardedLeptons ] ## Clean Jets from photons photons = [] if hasattr(event, 'selectedPhotons'): - photons = [ g for g in event.selectedPhotons ] - event.gamma_cleanJetsAll = cleanNearestJetOnly(event.cleanJetsAll, photons, self.jetGammaDR) - event.gamma_cleanJets = [j for j in event.gamma_cleanJetsAll if abs(j.eta()) < self.cfg_ana.jetEtaCentral ] - event.gamma_cleanJetsFwd = [j for j in event.gamma_cleanJetsAll if abs(j.eta()) >= self.cfg_ana.jetEtaCentral ] + if self.cfg_ana.cleanJetsFromFirstPhoton: + photons = event.selectedPhotons[:1] + else: + photons = [ g for g in event.selectedPhotons ] + + self.gamma_cleanJetsAll = cleanNearestJetOnly(self.cleanJetsAll, photons, self.jetGammaDR) + self.gamma_cleanJets = [j for j in self.gamma_cleanJetsAll if abs(j.eta()) < self.cfg_ana.jetEtaCentral ] + self.gamma_cleanJetsFwd = [j for j in self.gamma_cleanJetsAll if abs(j.eta()) >= self.cfg_ana.jetEtaCentral ] ### + if self.cfg_ana.alwaysCleanPhotons: + self.cleanJets = self.gamma_cleanJets + self.cleanJetsAll = self.gamma_cleanJetsAll + self.cleanJetsFwd = self.gamma_cleanJetsFwd ## Associate jets to leptons leptons = event.inclusiveLeptons if hasattr(event, 'inclusiveLeptons') else event.selectedLeptons jlpairs = matchObjectCollection( leptons, allJets, self.jetLepDR**2) + + for jet in allJets: + jet.leptons = [l for l in jlpairs if jlpairs[l] == jet ] + for lep in leptons: jet = jlpairs[lep] if jet is None: lep.jet = lep else: lep.jet = jet + ## Associate jets to taus + taus = getattr(event,'selectedTaus',[]) + jtaupairs = matchObjectCollection( taus, allJets, self.jetLepDR**2) + + for jet in allJets: + jet.taus = [l for l in jtaupairs if jtaupairs[l] == jet ] + for tau in taus: + tau.jet = jtaupairs[tau] + #MC stuff if self.cfg_comp.isMC: - event.deltaMetFromJetSmearing = [0, 0] - for j in event.cleanJetsAll: + self.deltaMetFromJetSmearing = [0, 0] + for j in self.cleanJetsAll: if hasattr(j, 'deltaMetFromJetSmearing'): - event.deltaMetFromJetSmearing[0] += j.deltaMetFromJetSmearing[0] - event.deltaMetFromJetSmearing[1] += j.deltaMetFromJetSmearing[1] - event.cleanGenJets = cleanNearestJetOnly(event.genJets, event.selectedLeptons, 0.5) + self.deltaMetFromJetSmearing[0] += j.deltaMetFromJetSmearing[0] + self.deltaMetFromJetSmearing[1] += j.deltaMetFromJetSmearing[1] + self.cleanGenJets = cleanNearestJetOnly(self.genJets, leptons, self.jetLepDR) + + if self.cfg_ana.cleanGenJetsFromPhoton: + self.cleanGenJets = cleanNearestJetOnly(self.cleanGenJets, photons, self.jetLepDR) + #event.nGenJets25 = 0 #event.nGenJets25Cen = 0 @@ -146,8 +214,29 @@ def process(self, event): # else: event.nGenJets25Fwd += 1 self.jetFlavour(event) - - + + setattr(event,"rho" +self.cfg_ana.collectionPostFix, self.rho ) + setattr(event,"deltaMetFromJEC" +self.cfg_ana.collectionPostFix, self.deltaMetFromJEC ) + setattr(event,"deltaMetFromJetSmearing"+self.cfg_ana.collectionPostFix, self.deltaMetFromJetSmearing) + setattr(event,"allJetsUsedForMET" +self.cfg_ana.collectionPostFix, self.allJetsUsedForMET ) + setattr(event,"genJets" +self.cfg_ana.collectionPostFix, self.genJets ) + setattr(event,"cleanGenJets" +self.cfg_ana.collectionPostFix, self.cleanGenJets ) + setattr(event,"jets" +self.cfg_ana.collectionPostFix, self.jets ) + setattr(event,"jetsFailId" +self.cfg_ana.collectionPostFix, self.jetsFailId ) + setattr(event,"jetsAllNoID" +self.cfg_ana.collectionPostFix, self.jetsAllNoID ) + setattr(event,"jetsIdOnly" +self.cfg_ana.collectionPostFix, self.jetsIdOnly ) + setattr(event,"cleanJetsAll" +self.cfg_ana.collectionPostFix, self.cleanJetsAll ) + setattr(event,"cleanJets" +self.cfg_ana.collectionPostFix, self.cleanJets ) + setattr(event,"cleanJetsFwd" +self.cfg_ana.collectionPostFix, self.cleanJetsFwd ) + setattr(event,"discardedJets" +self.cfg_ana.collectionPostFix, self.discardedJets ) + setattr(event,"gamma_cleanJetsAll" +self.cfg_ana.collectionPostFix, self.gamma_cleanJetsAll ) + setattr(event,"gamma_cleanJets" +self.cfg_ana.collectionPostFix, self.gamma_cleanJets ) + setattr(event,"gamma_cleanJetsFwd" +self.cfg_ana.collectionPostFix, self.gamma_cleanJetsFwd ) + setattr(event,"bqObjects" +self.cfg_ana.collectionPostFix, self.bqObjects ) + setattr(event,"cqObjects" +self.cfg_ana.collectionPostFix, self.cqObjects ) + setattr(event,"partons" +self.cfg_ana.collectionPostFix, self.partons ) + setattr(event,"heaviestQCDFlavour" +self.cfg_ana.collectionPostFix, self.heaviestQCDFlavour ) + return True @@ -155,10 +244,8 @@ def process(self, event): def testJetID(self, jet): jet.puJetIdPassed = jet.puJetId() jet.pfJetIdPassed = jet.jetID('POG_PFID_Loose') - if self.cfg_ana.relaxJetId: - return True - else: - return jet.pfJetIdPassed and (jet.puJetIdPassed or not(self.doPuId)) + return ((jet.pfJetIdPassed or self.cfg_ana.relaxJetId) and + (jet.puJetIdPassed or not self.doPuId)) def testJetNoID( self, jet ): # 2 is loose pile-up jet id @@ -182,33 +269,29 @@ def computeQGvars(self, jet): part = jet.daughter(ii) - usePart = True - if part.charge() == 0 : # neutral particles - if part.pt() > 1.: jet.mult += 1 + if part.pt() < 1.: continue else : # charged particles - jet.mult += 1 - - if part.trackHighPurity()==False: usePart=False - if part.fromPV()<=1: usePart=False + if part.trackHighPurity()==False: continue + if part.fromPV()<=1: continue + jet.mult += 1 - if usePart: - deta = part.eta() - jet.eta() - dphi = deltaPhi(part.phi(), jet.phi()) - partPt = part.pt() - weight = partPt*partPt - sum_weight += weight - sum_pt += partPt - sum_deta += deta*weight - sum_dphi += dphi*weight - sum_deta2 += deta*deta*weight - sum_detadphi += deta*dphi*weight - sum_dphi2 += dphi*dphi*weight + deta = part.eta() - jet.eta() + dphi = deltaPhi(part.phi(), jet.phi()) + partPt = part.pt() + weight = partPt*partPt + sum_weight += weight + sum_pt += partPt + sum_deta += deta*weight + sum_dphi += dphi*weight + sum_deta2 += deta*deta*weight + sum_detadphi += deta*dphi*weight + sum_dphi2 += dphi*dphi*weight @@ -243,31 +326,31 @@ def isFlavour(x,f): - event.bqObjects = [ p for p in event.genParticles if (p.status() == 2 and isFlavour(p,5)) ] - event.cqObjects = [ p for p in event.genParticles if (p.status() == 2 and isFlavour(p,4)) ] + self.bqObjects = [ p for p in event.genParticles if (p.status() == 2 and isFlavour(p,5)) ] + self.cqObjects = [ p for p in event.genParticles if (p.status() == 2 and isFlavour(p,4)) ] - event.partons = [ p for p in event.genParticles if ((p.status() == 23 or p.status() == 3) and abs(p.pdgId())>0 and (abs(p.pdgId()) in [1,2,3,4,5,21]) ) ] - match = matchObjectCollection2(event.cleanJetsAll, - event.partons, + self.partons = [ p for p in event.genParticles if ((p.status() == 23 or p.status() == 3) and abs(p.pdgId())>0 and (abs(p.pdgId()) in [1,2,3,4,5,21]) ) ] + match = matchObjectCollection2(self.cleanJetsAll, + self.partons, deltaRMax = 0.3) - for jet in event.cleanJetsAll: + for jet in self.cleanJetsAll: parton = match[jet] jet.partonId = (parton.pdgId() if parton != None else 0) jet.partonMotherId = (parton.mother(0).pdgId() if parton != None and parton.numberOfMothers()>0 else 0) - for jet in event.jets: - (bmatch, dr) = bestMatch(jet, event.bqObjects) + for jet in self.jets: + (bmatch, dr) = bestMatch(jet, self.bqObjects) if dr < 0.4: jet.mcFlavour = 5 else: - (cmatch, dr) = bestMatch(jet, event.cqObjects) + (cmatch, dr) = bestMatch(jet, self.cqObjects) if dr < 0.4: jet.mcFlavour = 4 else: jet.mcFlavour = 0 - event.heaviestQCDFlavour = 5 if len(event.bqObjects) else (4 if len(event.cqObjects) else 1); + self.heaviestQCDFlavour = 5 if len(self.bqObjects) else (4 if len(self.cqObjects) else 1); def matchJets(self, event, jets): @@ -281,7 +364,7 @@ def matchJets(self, event, jets): jet.mcMatchFlav = (abs(gen.pdgId()) if gen != None else 0) match = matchObjectCollection2(jets, - event.genJets, + self.genJets, deltaRMax = 0.3) for jet in jets: jet.mcJet = match[jet] @@ -314,20 +397,31 @@ def smearJets(self, event, jets): setattr(JetAnalyzer,"defaultConfig", cfg.Analyzer( class_object = JetAnalyzer, jetCol = 'slimmedJets', + copyJetsByValue = False, #Whether or not to copy the input jets or to work with references (should be 'True' if JetAnalyzer is run more than once) + genJetCol = 'slimmedGenJets', + rho = ('fixedGridRhoFastjetAll','',''), jetPt = 25., jetEta = 4.7, jetEtaCentral = 2.4, jetLepDR = 0.4, + jetLepArbitration = (lambda jet,lepton : lepton), # you can decide which to keep in case of overlaps; e.g. if the jet is b-tagged you might want to keep the jet + cleanSelectedLeptons = True, #Whether to clean 'selectedLeptons' after disambiguation. Treat with care (= 'False') if running Jetanalyzer more than once minLepPt = 10, + lepSelCut = lambda lep : True, relaxJetId = False, doPuId = False, # Not commissioned in 7.0.X doQG = False, recalibrateJets = False, + recalibrationType = "AK4PFchs", shiftJEC = 0, # set to +1 or -1 to get +/-1 sigma shifts smearJets = True, shiftJER = 0, # set to +1 or -1 to get +/-1 sigma shifts + cleanJetsFromFirstPhoton = False, cleanJetsFromTaus = False, cleanJetsFromIsoTracks = False, - jecPath = "" + alwaysCleanPhotons = False, + jecPath = "", + cleanGenJetsFromPhoton = False, + collectionPostFix = "" ) ) diff --git a/PhysicsTools/Heppy/python/analyzers/objects/LeptonAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/objects/LeptonAnalyzer.py index 14b2809dd693..b7f5b269461b 100644 --- a/PhysicsTools/Heppy/python/analyzers/objects/LeptonAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/objects/LeptonAnalyzer.py @@ -36,8 +36,36 @@ def __init__(self, cfg_ana, cfg_comp, looperName ): self.electronEnergyCalibrator = EmbeddedElectronCalibrator() # if hasattr(cfg_comp,'efficiency'): # self.efficiency= EfficiencyCorrector(cfg_comp.efficiency) + # Isolation cut + if hasattr(cfg_ana, 'loose_electron_isoCut'): + self.eleIsoCut = cfg_ana.loose_electron_isoCut + else: + self.eleIsoCut = lambda ele : ( + ele.relIso03 <= self.cfg_ana.loose_electron_relIso and + ele.absIso03 < getattr(self.cfg_ana,'loose_electron_absIso',9e99)) + if hasattr(cfg_ana, 'loose_muon_isoCut'): + self.muIsoCut = cfg_ana.loose_muon_isoCut + else: + self.muIsoCut = lambda mu : ( + mu.relIso03 <= self.cfg_ana.loose_muon_relIso and + mu.absIso03 < getattr(self.cfg_ana,'loose_muon_absIso',9e99)) + + self.eleEffectiveArea = getattr(cfg_ana, 'ele_effectiveAreas', "Phys14_25ns_v1") self.muEffectiveArea = getattr(cfg_ana, 'mu_effectiveAreas', "Phys14_25ns_v1") + # MiniIsolation + self.doMiniIsolation = getattr(cfg_ana, 'doMiniIsolation', False) + if self.doMiniIsolation: + self.miniIsolationPUCorr = self.cfg_ana.miniIsolationPUCorr + self.miniIsolationVetoLeptons = self.cfg_ana.miniIsolationVetoLeptons + if self.miniIsolationVetoLeptons not in [ None, 'any', 'inclusive' ]: + raise RuntimeError, "miniIsolationVetoLeptons should be None, or 'any' (all reco leptons), or 'inclusive' (all inclusive leptons)" + if self.miniIsolationPUCorr == "weights": + self.IsolationComputer = heppy.IsolationComputer(0.4) + else: + self.IsolationComputer = heppy.IsolationComputer() + + #---------------------------------------- # DECLARATION OF HANDLES OF LEPTONS STUFF #---------------------------------------- @@ -55,6 +83,8 @@ def declareHandles(self): #rho for electrons self.handles['rhoEle'] = AutoHandle( self.cfg_ana.rhoElectron, 'double') + if self.doMiniIsolation: + self.handles['packedCandidates'] = AutoHandle( self.cfg_ana.packedCandidates, 'std::vector') def beginLoop(self, setup): super(LeptonAnalyzer,self).beginLoop(setup) self.counters.addCounter('events') @@ -76,54 +106,70 @@ def makeLeptons(self, event): event.selectedElectrons = [] event.otherLeptons = [] + if self.doMiniIsolation: + self.IsolationComputer.setPackedCandidates(self.handles['packedCandidates'].product()) + if self.miniIsolationVetoLeptons == "any": + for lep in self.handles['muons'].product(): + self.IsolationComputer.addVeto(lep) + for lep in self.handles['electrons'].product(): + self.IsolationComputer.addVeto(lep) + #muons allmuons = self.makeAllMuons(event) - for mu in allmuons: - # inclusive, very loose, selection - if (mu.track().isNonnull() and mu.muonID(self.cfg_ana.inclusive_muon_id) and - mu.pt()>self.cfg_ana.inclusive_muon_pt and abs(mu.eta()) self.cfg_ana.loose_muon_pt and abs(mu.eta()) < self.cfg_ana.loose_muon_eta and - abs(mu.dxy()) < self.cfg_ana.loose_muon_dxy and abs(mu.dz()) < self.cfg_ana.loose_muon_dz and - mu.relIso03 < self.cfg_ana.loose_muon_relIso and - mu.absIso03 < (self.cfg_ana.loose_muon_absIso if hasattr(self.cfg_ana,'loose_muon_absIso') else 9e99)): - mu.looseIdSusy = True - event.selectedLeptons.append(mu) - event.selectedMuons.append(mu) - else: - mu.looseIdSusy = False - event.otherLeptons.append(mu) - #electrons allelectrons = self.makeAllElectrons(event) - looseMuons = event.selectedLeptons[:] + #make inclusive leptons + inclusiveMuons = [] + inclusiveElectrons = [] + for mu in allmuons: + if (mu.track().isNonnull() and mu.muonID(self.cfg_ana.inclusive_muon_id) and + mu.pt()>self.cfg_ana.inclusive_muon_pt and abs(mu.eta())self.cfg_ana.inclusive_electron_pt and abs(ele.eta())self.cfg_ana.loose_electron_pt and abs(ele.eta()) (self.cfg_ana.min_dr_electron_muon**2)) )): - event.selectedLeptons.append(ele) - event.selectedElectrons.append(ele) - ele.looseIdSusy = True - else: - event.otherLeptons.append(ele) - ele.looseIdSusy = False + if (ele.electronID(self.cfg_ana.inclusive_electron_id) and + ele.pt()>self.cfg_ana.inclusive_electron_pt and abs(ele.eta()) self.cfg_ana.loose_muon_pt and abs(mu.eta()) < self.cfg_ana.loose_muon_eta and + abs(mu.dxy()) < self.cfg_ana.loose_muon_dxy and abs(mu.dz()) < self.cfg_ana.loose_muon_dz and + self.muIsoCut(mu)): + mu.looseIdSusy = True + event.selectedLeptons.append(mu) + event.selectedMuons.append(mu) + else: + mu.looseIdSusy = False + event.otherLeptons.append(mu) + looseMuons = event.selectedLeptons[:] + for ele in inclusiveElectrons: + if (ele.electronID(self.cfg_ana.loose_electron_id) and + ele.pt()>self.cfg_ana.loose_electron_pt and abs(ele.eta()) (self.cfg_ana.min_dr_electron_muon**2)) ) and + self.eleIsoCut(ele) + ): + event.selectedLeptons.append(ele) + event.selectedElectrons.append(ele) + ele.looseIdSusy = True + else: + event.otherLeptons.append(ele) + ele.looseIdSusy = False event.otherLeptons.sort(key = lambda l : l.pt(), reverse = True) event.selectedLeptons.sort(key = lambda l : l.pt(), reverse = True) @@ -190,8 +236,14 @@ def makeAllMuons(self, event): else: raise RuntimeError, "Unsupported value for mu_effectiveAreas: can only use Data2012 (rho: ?) and Phys14_v1 (rho: fixedGridRhoFastjetAll)" # Attach the vertex to them, for dxy/dz calculation for mu in allmuons: - mu.associatedVertex = event.goodVertices[0] + mu.associatedVertex = event.goodVertices[0] if len(event.goodVertices)>0 else event.vertices[0] + mu.setTrackForDxyDz(self.cfg_ana.muon_dxydz_track) + # Set tight id if specified + if hasattr(self.cfg_ana, "mu_tightId"): + for mu in allmuons: + mu.tightIdResult = mu.muonID(self.cfg_ana.mu_tightId) + # Compute relIso in 0.3 and 0.4 cones for mu in allmuons: if self.cfg_ana.mu_isoCorr=="rhoArea" : @@ -204,7 +256,6 @@ def makeAllMuons(self, event): raise RuntimeError, "Unsupported mu_isoCorr name '" + str(self.cfg_ana.mu_isoCorr) + "'! For now only 'rhoArea' and 'deltaBeta' are supported." mu.relIso03 = mu.absIso03/mu.pt() mu.relIso04 = mu.absIso04/mu.pt() - return allmuons def makeAllElectrons(self, event): @@ -265,7 +316,7 @@ def makeAllElectrons(self, event): # Attach the vertex for ele in allelectrons: - ele.associatedVertex = event.goodVertices[0] + ele.associatedVertex = event.goodVertices[0] if len(event.goodVertices)>0 else event.vertices[0] # Compute relIso with R=0.3 and R=0.4 cones for ele in allelectrons: @@ -286,12 +337,57 @@ def makeAllElectrons(self, event): ele.tightIdResult = ele.electronID("POG_MVA_ID_Trig_full5x5") elif self.cfg_ana.ele_tightId=="Cuts_2012" : ele.tightIdResult = -1 + 1*ele.electronID("POG_Cuts_ID_2012_Veto_full5x5") + 1*ele.electronID("POG_Cuts_ID_2012_Loose_full5x5") + 1*ele.electronID("POG_Cuts_ID_2012_Medium_full5x5") + 1*ele.electronID("POG_Cuts_ID_2012_Tight_full5x5") + elif self.cfg_ana.ele_tightId=="Cuts_PHYS14_25ns_v1_ConvVetoDxyDz" : + ele.tightIdResult = -1 + 1*ele.electronID("POG_Cuts_ID_PHYS14_25ns_v1_ConvVetoDxyDz_Veto_full5x5") + 1*ele.electronID("POG_Cuts_ID_PHYS14_25ns_v1_ConvVetoDxyDz_Loose_full5x5") + 1*ele.electronID("POG_Cuts_ID_PHYS14_25ns_v1_ConvVetoDxyDz_Medium_full5x5") + 1*ele.electronID("POG_Cuts_ID_PHYS14_25ns_v1_ConvVetoDxyDz_Tight_full5x5") + else : - raise RuntimeError, "Unsupported ele_tightId name '" + str(self.cfg_ana.ele_tightId) + "'! For now only 'MVA' and 'Cuts_2012' are supported." + try: + ele.tightIdResult = ele.electronID(self.cfg_ana.ele_tightId) + except RuntimeError: + raise RuntimeError, "Unsupported ele_tightId name '" + str(self.cfg_ana.ele_tightId) + "'! For now only 'MVA' and 'Cuts_2012' are supported, in addition to what provided in Electron.py." return allelectrons + def attachMiniIsolation(self, mu): + mu.miniIsoR = 10.0/min(max(mu.pt(), 50),200) + # -- version with increasing cone at low pT, gives slightly better performance for tight cuts and low pt leptons + # mu.miniIsoR = 10.0/min(max(mu.pt(), 50),200) if mu.pt() > 20 else 4.0/min(max(mu.pt(),10),20) + what = "mu" if (abs(mu.pdgId()) == 13) else ("eleB" if mu.isEB() else "eleE") + if what == "mu": + mu.miniAbsIsoCharged = self.IsolationComputer.chargedAbsIso(mu.physObj, mu.miniIsoR, {"mu":0.0001,"eleB":0,"eleE":0.015}[what], 0.0); + else: + mu.miniAbsIsoCharged = self.IsolationComputer.chargedAbsIso(mu.physObj, mu.miniIsoR, {"mu":0.0001,"eleB":0,"eleE":0.015}[what], 0.0,self.IsolationComputer.selfVetoNone); + if self.miniIsolationPUCorr == "weights": + if what == "mu": + mu.miniAbsIsoNeutral = self.IsolationComputer.neutralAbsIsoWeighted(mu.physObj, mu.miniIsoR, 0.01, 0.5); + else: + mu.miniAbsIsoNeutral = ( self.IsolationComputer.photonAbsIsoWeighted( mu.physObj, mu.miniIsoR, 0.08 if what == "eleE" else 0.0, 0.0, self.IsolationComputer.selfVetoNone) + + self.IsolationComputer.neutralHadAbsIsoWeighted(mu.physObj, mu.miniIsoR, 0.0, 0.0, self.IsolationComputer.selfVetoNone) ) + else: + if what == "mu": + mu.miniAbsIsoNeutral = self.IsolationComputer.neutralAbsIsoRaw(mu.physObj, mu.miniIsoR, 0.01, 0.5); + else: + mu.miniAbsIsoPho = self.IsolationComputer.photonAbsIsoRaw( mu.physObj, mu.miniIsoR, 0.08 if what == "eleE" else 0.0, 0.0, self.IsolationComputer.selfVetoNone) + mu.miniAbsIsoNHad = self.IsolationComputer.neutralHadAbsIsoRaw(mu.physObj, mu.miniIsoR, 0.0, 0.0, self.IsolationComputer.selfVetoNone) + mu.miniAbsIsoNeutral = mu.miniAbsIsoPho + mu.miniAbsIsoNHad + # -- version relying on PF candidate vetos; apparently less performant, and the isolation computed at RECO level doesn't have them + #mu.miniAbsIsoPhoSV = self.IsolationComputer.photonAbsIsoRaw( mu.physObj, mu.miniIsoR, 0.0, 0.0) + #mu.miniAbsIsoNHadSV = self.IsolationComputer.neutralHadAbsIsoRaw(mu.physObj, mu.miniIsoR, 0.0, 0.0) + #mu.miniAbsIsoNeutral = mu.miniAbsIsoPhoSV + mu.miniAbsIsoNHadSV + if self.miniIsolationPUCorr == "rhoArea": + mu.miniAbsIsoNeutral = max(0.0, mu.miniAbsIsoNeutral - mu.rho * mu.EffectiveArea03 * (mu.miniIsoR/0.3)**2) + elif self.miniIsolationPUCorr == "deltaBeta": + if what == "mu": + mu.miniAbsIsoPU = self.IsolationComputer.puAbsIso(mu.physObj, mu.miniIsoR, 0.01, 0.5); + else: + mu.miniAbsIsoPU = self.IsolationComputer.puAbsIso(mu.physObj, mu.miniIsoR, 0.015 if what == "eleE" else 0.0, 0.0,self.IsolationComputer.selfVetoNone); + mu.miniAbsIsoNeutral = max(0.0, mu.miniAbsIsoNeutral - 0.5*mu.miniAbsIsoPU) + elif self.miniIsolationPUCorr != 'raw': + raise RuntimeError, "Unsupported miniIsolationCorr name '" + str(self.cfg_ana.miniIsolationCorr) + "'! For now only 'rhoArea', 'deltaBeta', 'raw', 'weights' are supported (and 'weights' is not tested)." + mu.miniAbsIso = mu.miniAbsIsoCharged + mu.miniAbsIsoNeutral + mu.miniRelIso = mu.miniAbsIso/mu.pt() + def matchLeptons(self, event): def plausible(rec,gen): if abs(rec.pdgId()) == 11 and abs(gen.pdgId()) != 11: return False @@ -311,6 +407,7 @@ def plausible(rec,gen): gen = match[lep] lep.mcMatchId = (gen.sourceId if gen != None else 0) lep.mcMatchTau = (gen in event.gentauleps if gen else -99) + lep.mcLep=gen def isFromB(self,particle,bid=5, done={}): for i in xrange( particle.numberOfMothers() ): @@ -376,6 +473,7 @@ def process(self, event): inclusive_muon_eta = 2.4, inclusive_muon_dxy = 0.5, inclusive_muon_dz = 1.0, + muon_dxydz_track = "muonBestTrack", # loose muon selection loose_muon_id = "POG_ID_Loose", loose_muon_pt = 5, @@ -383,6 +481,7 @@ def process(self, event): loose_muon_dxy = 0.05, loose_muon_dz = 0.2, loose_muon_relIso = 0.4, + # loose_muon_isoCut = lambda muon :muon.miniRelIso < 0.2 # inclusive very loose electron selection inclusive_electron_id = "", inclusive_electron_pt = 5, @@ -397,16 +496,23 @@ def process(self, event): loose_electron_dxy = 0.05, loose_electron_dz = 0.2, loose_electron_relIso = 0.4, + # loose_electron_isoCut = lambda electron : electron.miniRelIso < 0.1 loose_electron_lostHits = 1.0, # muon isolation correction method (can be "rhoArea" or "deltaBeta") mu_isoCorr = "rhoArea" , mu_effectiveAreas = "Phys14_25ns_v1", #(can be 'Data2012' or 'Phys14_25ns_v1') + mu_tightId = "POG_ID_Tight" , # electron isolation correction method (can be "rhoArea" or "deltaBeta") ele_isoCorr = "rhoArea" , el_effectiveAreas = "Phys14_25ns_v1" , #(can be 'Data2012' or 'Phys14_25ns_v1') ele_tightId = "Cuts_2012" , # minimum deltaR between a loose electron and a loose muon (on overlaps, discard the electron) min_dr_electron_muon = 0.02, + # Mini-isolation, with pT dependent cone: will fill in the miniRelIso, miniRelIsoCharged, miniRelIsoNeutral variables of the leptons (see https://indico.cern.ch/event/368826/ ) + doMiniIsolation = False, # off by default since it requires access to all PFCandidates + packedCandidates = 'packedPFCandidates', + miniIsolationPUCorr = 'rhoArea', # Allowed options: 'rhoArea' (EAs for 03 cone scaled by R^2), 'deltaBeta', 'raw' (uncorrected), 'weights' (delta beta weights; not validated) + miniIsolationVetoLeptons = None, # use 'inclusive' to veto inclusive leptons and their footprint in all isolation cones # do MC matching do_mc_match = True, # note: it will in any case try it only on MC, not on data match_inclusiveLeptons = False, # match to all inclusive leptons diff --git a/PhysicsTools/Heppy/python/analyzers/objects/METAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/objects/METAnalyzer.py index 795e363649cc..608d36510686 100644 --- a/PhysicsTools/Heppy/python/analyzers/objects/METAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/objects/METAnalyzer.py @@ -12,24 +12,21 @@ import copy from ROOT import TLorentzVector, TVectorD import ROOT - +import math + +from copy import deepcopy + class METAnalyzer( Analyzer ): def __init__(self, cfg_ana, cfg_comp, looperName ): super(METAnalyzer,self).__init__(cfg_ana,cfg_comp,looperName) def declareHandles(self): super(METAnalyzer, self).declareHandles() - self.handles['met'] = AutoHandle( 'slimmedMETs', 'std::vector' ) - self.handles['nopumet'] = AutoHandle( 'slimmedMETs', 'std::vector' ) - self.handles['cmgCand1'] = AutoHandle( self.cfg_ana.candidates, self.cfg_ana.candidatesTypes ) - self.handles['cmgCand2'] = AutoHandle( self.cfg_ana.candidates, self.cfg_ana.candidatesTypes ) - self.handles['cmgCand3'] = AutoHandle( self.cfg_ana.candidates, self.cfg_ana.candidatesTypes ) - self.handles['cmgCand4'] = AutoHandle( self.cfg_ana.candidates, self.cfg_ana.candidatesTypes ) - self.handles['cmgCand5'] = AutoHandle( self.cfg_ana.candidates, self.cfg_ana.candidatesTypes ) - self.handles['cmgCand6'] = AutoHandle( self.cfg_ana.candidates, self.cfg_ana.candidatesTypes ) - self.handles['cmgCand7'] = AutoHandle( self.cfg_ana.candidates, self.cfg_ana.candidatesTypes ) - self.handles['cmgCand8'] = AutoHandle( self.cfg_ana.candidates, self.cfg_ana.candidatesTypes ) + self.handles['met'] = AutoHandle( self.cfg_ana.metCollection, 'std::vector' ) + self.handles['nopumet'] = AutoHandle( self.cfg_ana.noPUMetCollection, 'std::vector' ) + self.handles['cmgCand'] = AutoHandle( self.cfg_ana.candidates, self.cfg_ana.candidatesTypes ) self.handles['vertices'] = AutoHandle( "offlineSlimmedPrimaryVertices", 'std::vector', fallbackLabel="offlinePrimaryVertices" ) + self.mchandles['packedGen'] = AutoHandle( 'packedGenParticles', 'std::vector' ) def beginLoop(self, setup): super(METAnalyzer,self).beginLoop(setup) @@ -37,28 +34,62 @@ def beginLoop(self, setup): count = self.counters.counter('events') count.register('all events') + def applyDeltaMet(self, met, deltaMet): + px,py = self.met.px()+deltaMet[0], self.met.py()+deltaMet[1] + met.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) + def makeTkMETs(self, event): - event.tkMet = 0 charged = [] + chargedchs = [] + chargedPVLoose = [] + chargedPVTight = [] + pfcands = self.handles['cmgCand'].product() for i in xrange(pfcands.size()): ## ===> require the Track Candidate charge and with a minimum dz - if (pfcands.at(i).charge()!=0 and (abs(pfcands.at(i).dz())<=self.cfg_ana.dzMax )): - - charged.append(pfcands.at(i)) - + if (pfcands.at(i).charge()!=0): + + if abs(pfcands.at(i).dz())<=self.cfg_ana.dzMax: + charged.append(pfcands.at(i)) + + if pfcands.at(i).fromPV()>0: + chargedchs.append(pfcands.at(i)) + + if pfcands.at(i).fromPV()>1: + chargedPVLoose.append(pfcands.at(i)) + + if pfcands.at(i).fromPV()>2: + chargedPVTight.append(pfcands.at(i)) + import ROOT - event.tkMet = ROOT.reco.Particle.LorentzVector(-1.*(sum([x.px() for x in charged])) , -1.*(sum([x.py() for x in charged])), 0, 0 ) -## print 'tkmet',event.tkMet.pt(),'tkmetphi',event.tkMet.phi() + setattr(event, "tkMet"+self.cfg_ana.collectionPostFix, \ + ROOT.reco.Particle.LorentzVector(-1.*(sum([x.px() for x in charged])) , -1.*(sum([x.py() for x in charged])), 0, math.hypot((sum([x.px() for x in charged])),(sum([x.py() for x in charged]))) )) + setattr(event, "tkMetPVchs"+self.cfg_ana.collectionPostFix, \ + ROOT.reco.Particle.LorentzVector(-1.*(sum([x.px() for x in chargedchs])) , -1.*(sum([x.py() for x in chargedchs])), 0, math.hypot((sum([x.px() for x in chargedchs])),(sum([x.py() for x in chargedchs]))) )) + setattr(event, "tkMetPVLoose"+self.cfg_ana.collectionPostFix, \ + ROOT.reco.Particle.LorentzVector(-1.*(sum([x.px() for x in chargedPVLoose])) , -1.*(sum([x.py() for x in chargedPVLoose])), 0, math.hypot((sum([x.px() for x in chargedPVLoose])),(sum([x.py() for x in chargedPVLoose]))) )) + setattr(event, "tkMetPVTight"+self.cfg_ana.collectionPostFix, \ + ROOT.reco.Particle.LorentzVector(-1.*(sum([x.px() for x in chargedPVTight])) , -1.*(sum([x.py() for x in chargedPVTight])), 0, math.hypot((sum([x.px() for x in chargedPVTight])),(sum([x.py() for x in chargedPVTight]))) )) +## print 'tkmet',self.tkMet.pt(),'tkmetphi',self.tkMet.phi() + event.tkSumEt = sum([x.pt() for x in charged]) + event.tkPVchsSumEt = sum([x.pt() for x in chargedchs]) + event.tkPVLooseSumEt = sum([x.pt() for x in chargedPVLoose]) + event.tkPVTightSumEt = sum([x.pt() for x in chargedPVTight]) + + + def makeGenTkMet(self, event): + genCharged = [ x for x in self.mchandles['packedGen'].product() if x.charge() != 0 and abs(x.eta()) < 2.4 ] + event.tkGenMet = ROOT.reco.Particle.LorentzVector(-1.*(sum([x.px() for x in genCharged])) , -1.*(sum([x.py() for x in genCharged])), 0, math.hypot((sum([x.px() for x in genCharged])),(sum([x.py() for x in genCharged]))) ) + def makeMETNoMu(self, event): - event.metNoMu = copy.deepcopy(self.handles['met'].product()[0]) - event.metNoMuNoPU = copy.deepcopy(self.handles['nopumet'].product()[0]) + self.metNoMu = copy.deepcopy(self.met) + if self.cfg_ana.doMetNoPU: self.metNoMuNoPU = copy.deepcopy(self.metNoPU) mupx = 0 mupy = 0 @@ -68,59 +99,143 @@ def makeMETNoMu(self, event): mupy += mu.py() #subtract muon momentum and construct met - if hasattr(event, 'deltaMetFromJetSmearing'): - import ROOT - px,py = event.metNoMu.px()+event.deltaMetFromJetSmearing[0]-mupx, event.metNoMu.py()+event.deltaMetFromJetSmearing[1]-mupy - event.metNoMu.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) - px,py = event.metNoMuNoPU.px()+event.deltaMetFromJetSmearing[0]-mupx, event.metNoMuNoPU.py()+event.deltaMetFromJetSmearing[1]-mupy - event.metNoMuNoPU.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, hypot(px,py))) - if hasattr(event, 'deltaMetFromJEC') and event.deltaMetFromJEC[0] != 0 and event.deltaMetFromJEC[1] != 0: - import ROOT - px,py = event.metNoMu.px()+event.deltaMetFromJEC[0]-mupx, event.metNoMu.py()+event.deltaMetFromJEC[1]-mupy - event.met.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) - px,py = event.metNoMuNoPU.px()+event.deltaMetFromJEC[0]-mupx, event.metNoMuNoPU.py()+event.deltaMetFromJEC[1]-mupy - event.metNoMuNoPU.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) + px,py = self.metNoMu.px()+mupx, self.metNoMu.py()+mupy + self.metNoMu.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) + px,py = self.metNoMuNoPU.px()+mupx, self.metNoMuNoPU.py()+mupy + self.metNoMuNoPU.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) + setattr(event, "metNoMu"+self.cfg_ana.collectionPostFix, self.metNoMu) + if self.cfg_ana.doMetNoPU: setattr(event, "metNoMuNoPU"+self.cfg_ana.collectionPostFix, self.metNoMuNoPU) + + + def makeMETNoEle(self, event): + self.metNoEle = copy.deepcopy(self.met) + if self.cfg_ana.doMetNoPU: self.metNoEleNoPU = copy.deepcopy(self.metNoPU) + + elepx = 0 + elepy = 0 + #sum electron momentum + for ele in event.selectedElectrons: + elepx += ele.px() + elepy += ele.py() + + #subtract electron momentum and construct met + px,py = self.metNoEle.px()+elepx, self.metNoEle.py()+elepy + self.metNoEle.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) + + px,py = self.metNoEleNoPU.px()+elepx, self.metNoEleNoPU.py()+elepy + self.metNoEleNoPU.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) + setattr(event, "metNoEle"+self.cfg_ana.collectionPostFix, self.metNoEle) + if self.cfg_ana.doMetNoPU: setattr(event, "metNoEleNoPU"+self.cfg_ana.collectionPostFix, self.metNoEleNoPU) + + def makeMETNoPhoton(self, event): + self.metNoPhoton = copy.deepcopy(self.met) + + phopx = 0 + phopy = 0 + #sum photon momentum + for pho in event.selectedPhotons: + phopx += pho.px() + phopy += pho.py() + + #subtract photon momentum and construct met + px,py = self.metNoPhoton.px()+phopx, self.metNoPhoton.py()+phopy + self.metNoPhoton.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) + setattr(event, "metNoPhoton"+self.cfg_ana.collectionPostFix, self.metNoPhoton) + if self.cfg_ana.doMetNoPU: + self.metNoPhotonNoPU = copy.deepcopy(self.metNoPU) + px,py = self.metNoPhotonNoPU.px()+phopx, self.metNoPhotonNoPU.py()+phopy + self.metNoPhotonNoPU.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) + setattr(event, "metNoPhotonNoPU"+self.cfg_ana.collectionPostFix, self.metNoPhotonNoPU) def makeMETs(self, event): - event.met = self.handles['met'].product()[0] - event.metNoPU = self.handles['nopumet'].product()[0] - if hasattr(event, 'deltaMetFromJetSmearing'): - import ROOT - px,py = event.met.px()+event.deltaMetFromJetSmearing[0], event.met.py()+event.deltaMetFromJetSmearing[1] - event.met.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) - px,py = event.metNoPU.px()+event.deltaMetFromJetSmearing[0], event.metNoPU.py()+event.deltaMetFromJetSmearing[1] - event.metNoPU.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) - if hasattr(event, 'deltaMetFromJEC') and event.deltaMetFromJEC[0] != 0 and event.deltaMetFromJEC[1] != 0: - import ROOT - px,py = event.met.px()+event.deltaMetFromJEC[0], event.met.py()+event.deltaMetFromJEC[1] - event.met.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) - px,py = event.metNoPU.px()+event.deltaMetFromJEC[0], event.metNoPU.py()+event.deltaMetFromJEC[1] - event.metNoPU.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) + import ROOT + if self.cfg_ana.copyMETsByValue: + self.met = ROOT.pat.MET(self.handles['met'].product()[0]) + if self.cfg_ana.doMetNoPU: self.metNoPU = ROOT.pat.MET(self.handles['nopumet'].product()[0]) + else: + self.met = self.handles['met'].product()[0] + if self.cfg_ana.doMetNoPU: self.metNoPU = self.handles['nopumet'].product()[0] + + #Shifted METs + #Uncertainties defined in https://github.com/cms-sw/cmssw/blob/CMSSW_7_2_X/DataFormats/PatCandidates/interface/MET.h#L168 + #event.met_shifted = [] + if not self.cfg_ana.copyMETsByValue: + for i in range(14): + m = deepcopy(self.met) + px = m.shiftedPx(i); + py = m.shiftedPy(i); + m.setP4(ROOT.reco.Particle.LorentzVector(px,py, 0, math.hypot(px,py))) + #event.met_shifted += [m] + setattr(event, "met{0}_shifted_{1}".format(self.cfg_ana.collectionPostFix, i), m) + + self.met_sig = self.met.significance() + self.met_sumet = self.met.sumEt() + + ###https://github.com/cms-sw/cmssw/blob/CMSSW_7_2_X/DataFormats/PatCandidates/interface/MET.h + if not self.cfg_ana.copyMETsByValue: + self.metraw = self.met.shiftedPt(12, 0) + self.metType1chs = self.met.shiftedPt(12, 1) + setattr(event, "metraw"+self.cfg_ana.collectionPostFix, self.metraw) + setattr(event, "metType1chs"+self.cfg_ana.collectionPostFix, self.metType1chs) + + if self.cfg_ana.recalibrate and hasattr(event, 'deltaMetFromJetSmearing'+self.cfg_ana.jetAnalyzerCalibrationPostFix): + deltaMetSmear = getattr(event, 'deltaMetFromJetSmearing'+self.cfg_ana.jetAnalyzerCalibrationPostFix) + self.applyDeltaMet(self.met, deltaMetSmear) + if self.cfg_ana.doMetNoPU: + self.applyDeltaMet(self.metNoPU, deltaMetSmear) + if self.cfg_ana.recalibrate and hasattr(event, 'deltaMetFromJEC'+self.cfg_ana.jetAnalyzerCalibrationPostFix): + deltaMetJEC = getattr(event, 'deltaMetFromJEC'+self.cfg_ana.jetAnalyzerCalibrationPostFix) +# print 'before JEC', self.cfg_ana.collectionPostFix, self.met.px(),self.met.py(), 'deltaMetFromJEC'+self.cfg_ana.jetAnalyzerCalibrationPostFix, deltaMetJEC + self.applyDeltaMet(self.met, deltaMetJEC) + if self.cfg_ana.doMetNoPU: + self.applyDeltaMet(self.metNoPU, deltaMetJEC) +# print 'after JEC', self.cfg_ana.collectionPostFix, self.met.px(),self.met.py(), 'deltaMetFromJEC'+self.cfg_ana.jetAnalyzerCalibrationPostFix, deltaMetJEC + + setattr(event, "met"+self.cfg_ana.collectionPostFix, self.met) + if self.cfg_ana.doMetNoPU: setattr(event, "metNoPU"+self.cfg_ana.collectionPostFix, self.metNoPU) + setattr(event, "met_sig"+self.cfg_ana.collectionPostFix, self.met_sig) + setattr(event, "met_sumet"+self.cfg_ana.collectionPostFix, self.met_sumet) + + if self.cfg_ana.doMetNoMu and hasattr(event, 'selectedMuons'): + self.makeMETNoMu(event) + + if self.cfg_ana.doMetNoEle and hasattr(event, 'selectedElectrons'): + self.makeMETNoEle(event) + if self.cfg_ana.doMetNoPhoton and hasattr(event, 'selectedPhotons'): + self.makeMETNoPhoton(event) def process(self, event): self.readCollections( event.input) self.counters.counter('events').inc('all events') self.makeMETs(event) - event.tkMet = 0 if self.cfg_ana.doTkMet: self.makeTkMETs(event); - if self.cfg_ana.doMetNoMu and hasattr(event, 'selectedMuons'): - self.makeMETNoMu(event) + if self.cfg_comp.isMC and hasattr(event, 'genParticles'): + self.makeGenTkMet(event) return True setattr(METAnalyzer,"defaultConfig", cfg.Analyzer( class_object = METAnalyzer, + metCollection = "slimmedMETs", + noPUMetCollection = "slimmedMETs", + copyMETsByValue = False, + recalibrate = True, + jetAnalyzerCalibrationPostFix = "", doTkMet = False, + doMetNoPU = True, doMetNoMu = False, + doMetNoEle = False, + doMetNoPhoton = False, candidates='packedPFCandidates', candidatesTypes='std::vector', dzMax = 0.1, + collectionPostFix = "", ) ) diff --git a/PhysicsTools/Heppy/python/analyzers/objects/PhotonAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/objects/PhotonAnalyzer.py index 852a7b1052b7..7e6107956f69 100644 --- a/PhysicsTools/Heppy/python/analyzers/objects/PhotonAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/objects/PhotonAnalyzer.py @@ -30,9 +30,13 @@ def declareHandles(self): # DECLARATION OF HANDLES OF PHOTONS STUFF #---------------------------------------- - #photons self.handles['photons'] = AutoHandle( self.cfg_ana.photons,'std::vector') self.mchandles['packedGen'] = AutoHandle( 'packedGenParticles', 'std::vector' ) + self.mchandles['prunedGen'] = AutoHandle( 'prunedGenParticles', 'std::vector' ) + + self.handles['packedCandidates'] = AutoHandle( 'packedPFCandidates', 'std::vector') + self.handles['jets'] = AutoHandle( "slimmedJets", 'std::vector' ) + def beginLoop(self, setup): super(PhotonAnalyzer,self).beginLoop(setup) @@ -71,21 +75,22 @@ def idWP(gamma,X): keepThisPhoton = True - if self.cfg_ana.gammaID=="PhotonCutBasedIDLoose_CSA14" : - keepThisPhoton = gamma.photonIDCSA14("PhotonCutBasedIDLoose_CSA14") - gamma.idCutBased = keepThisPhoton - # we're keeing sigmaietaieta sidebands, but the id is false for them: - - if abs(gamma.eta())< 1.479 and gamma.sigmaIetaIeta()>0.010 : - gamma.idCutBased = False - if abs(gamma.eta())>=1.479 and gamma.sigmaIetaIeta()>0.0321 : - gamma.idCutBased = False + + if self.cfg_ana.gammaID=="PhotonCutBasedIDLoose_CSA14" or self.cfg_ana.gammaID=="PhotonCutBasedIDLoose_PHYS14" : + gamma.idCutBased = gamma.photonIDCSA14(self.cfg_ana.gammaID) + # we're keeing sigmaietaieta sidebands: + keepThisPhoton = gamma.photonIDCSA14(self.cfg_ana.gammaID, True) + + if gamma.hasPixelSeed(): + keepThisPhoton = False + gamma.idCutBased = 0 + else: - keepThisPhoton = gamma.photonID(self.cfg_ana.gammaID) + # Reading from miniAOD directly + #keepThisPhoton = gamma.photonID(self.cfg_ana.gammaID) - if gamma.hasPixelSeed(): - keepThisPhoton = False - gamma.idCutBased = 0 + # implement cut based ID with CMGTools + keepThisPhoton = gamma.passPhotonID(self.cfg_ana.gammaID) if keepThisPhoton: @@ -105,43 +110,150 @@ def matchPhotons(self, event): event.genPhotons = [ x for x in event.genParticles if x.status() == 1 and abs(x.pdgId()) == 22 ] event.genPhotonsWithMom = [ x for x in event.genPhotons if x.numberOfMothers()>0 ] event.genPhotonsWithoutMom = [ x for x in event.genPhotons if x.numberOfMothers()==0 ] - event.genPhotonsMatched = [ x for x in event.genPhotonsWithMom if abs(x.mother(0).pdgId())<23 ] + event.genPhotonsMatched = [ x for x in event.genPhotonsWithMom if abs(x.mother(0).pdgId())<23 or x.mother(0).pdgId()==2212 ] match = matchObjectCollection3(event.allphotons, event.genPhotonsMatched, deltaRMax = 0.1) matchNoMom = matchObjectCollection3(event.allphotons, event.genPhotonsWithoutMom, deltaRMax = 0.1) packedGenParts = [ p for p in self.mchandles['packedGen'].product() if abs(p.eta()) < 3.1 ] + partons = [ p for p in self.mchandles['prunedGen'].product() if (p.status()==23 or p.status()==22) and abs(p.pdgId())<22 ] for gamma in event.allphotons: gen = match[gamma] + gamma.mcGamma = gen if gen and gen.pt()>=0.5*gamma.pt() and gen.pt()<=2.*gamma.pt(): gamma.mcMatchId = 22 - sumPt = 0.; + sumPt03 = 0.; + sumPt04 = 0.; for part in packedGenParts: if abs(part.pdgId())==12: continue # exclude neutrinos if abs(part.pdgId())==14: continue if abs(part.pdgId())==16: continue if abs(part.pdgId())==18: continue - if deltaR(gen.eta(), gen.phi(), part.eta(), part.phi()) > 0.4: continue - sumPt += part.pt() - sumPt -= gen.pt() - if sumPt<0. : sumPt=0. - gamma.genIso = sumPt + deltar = deltaR(gen.eta(), gen.phi(), part.eta(), part.phi()) + if deltar <= 0.3: + sumPt03 += part.pt() + if deltar <= 0.4: + sumPt04 += part.pt() + sumPt03 -= gen.pt() + sumPt04 -= gen.pt() + if sumPt03<0. : sumPt03=0. + if sumPt04<0. : sumPt04=0. + gamma.genIso03 = sumPt03 + gamma.genIso04 = sumPt04 + # match to parton + deltaRmin = 999. + for p in partons: + deltar = deltaR(gen.eta(), gen.phi(), p.eta(), p.phi()) + if deltar < deltaRmin: + deltaRmin = deltar + gamma.drMinParton = deltaRmin else: genNoMom = matchNoMom[gamma] if genNoMom: gamma.mcMatchId = 7 - sumPt = 0.; + sumPt03 = 0.; + sumPt04 = 0.; for part in packedGenParts: if abs(part.pdgId())==12: continue # exclude neutrinos if abs(part.pdgId())==14: continue if abs(part.pdgId())==16: continue if abs(part.pdgId())==18: continue - if deltaR(genNoMom.eta(), genNoMom.phi(), part.eta(), part.phi()) > 0.4: continue - sumPt += part.pt() - sumPt -= genNoMom.pt() - if sumPt<0. : sumPt=0. - gamma.genIso = sumPt + deltar = deltaR(genNoMom.eta(), genNoMom.phi(), part.eta(), part.phi()) + if deltar <= 0.3: + sumPt03 += part.pt() + if deltar <= 0.4: + sumPt04 += part.pt() + sumPt03 -= genNoMom.pt() + sumPt04 -= genNoMom.pt() + if sumPt03<0. : sumPt03=0. + if sumPt04<0. : sumPt04=0. + gamma.genIso03 = sumPt03 + gamma.genIso04 = sumPt04 + # match to parton + deltaRmin = 999. + for p in partons: + deltar = deltaR(genNoMom.eta(), genNoMom.phi(), p.eta(), p.phi()) + if deltar < deltaRmin: + deltaRmin = deltar + gamma.drMinParton = deltaRmin else: gamma.mcMatchId = 0 - gamma.genIso = -1. + gamma.genIso03 = -1. + gamma.genIso04 = -1. + gamma.drMinParton = -1. + + + + + + def checkMatch( self, eta, phi, particles, deltar ): + + for part in particles: + if deltaR(eta, phi, part.eta(), part.phi()) < deltar: + return True + + return False + + + + + + def computeRandomCone( self, event, eta, phi, deltarmax, charged, jets, photons ): + + if self.checkMatch( eta, phi, jets, 2.*deltarmax ): + return -1. + + if self.checkMatch( eta, phi, photons, 2.*deltarmax ): + return -1. + + if self.checkMatch( eta, phi, event.selectedLeptons, deltarmax ): + return -1. + + iso = 0. + + for part in charged: + if deltaR(eta, phi, part.eta(), part.phi()) > deltarmax : continue + #if deltaR(eta, phi, part.eta(), part.phi()) < 0.02: continue + iso += part.pt() + + return iso + + + + + + + def randomCone( self, event ): + + patcands = self.handles['packedCandidates'].product() + jets = self.handles['jets'].product() + + charged = [ p for p in patcands if ( p.charge() != 0 and abs(p.pdgId())>20 and abs(p.dz())<=0.1 and p.fromPV()>1 and p.trackHighPurity() ) ] + photons10 = [ p for p in patcands if ( p.pdgId() == 22 and p.pt()>10. ) ] + jets20 = [ j for j in jets if j.pt() > 20 and abs(j.eta())<2.5 ] + + for gamma in event.allphotons: + + etaPhot = gamma.eta() + phiPhot = gamma.eta() + pi = 3.14159 + phiRC = phiPhot + 0.5*pi + while phiRC>pi: + phiRC -= 2.*pi + + + gamma.chHadIsoRC03 = self.computeRandomCone( event, etaPhot, phiRC, 0.3, charged, jets20, photons10 ) + gamma.chHadIsoRC04 = self.computeRandomCone( event, etaPhot, phiRC, 0.4, charged, jets20, photons10 ) + + + #try other side + phiRC = phiPhot - 0.5*pi + while phiRC<-pi: + phiRC += 2.*pi + + if gamma.chHadIsoRC03<0. : gamma.chHadIsoRC03 = self.computeRandomCone( event, etaPhot, phiRC, 0.3, charged, jets20, photons10 ) + if gamma.chHadIsoRC04<0. : gamma.chHadIsoRC04 = self.computeRandomCone( event, etaPhot, phiRC, 0.4, charged, jets20, photons10 ) + + + def printInfo(self, event): print '----------------' @@ -152,8 +264,8 @@ def printInfo(self, event): print 'gamma candidate phi: ',event.selectedPhotons[0].phi() print 'gamma candidate mass: ',event.selectedPhotons[0].mass() print 'gamma candidate HoE: ',event.selectedPhotons[0].hOVERe() - print 'gamma candidate r9: ',event.selectedPhotons[0].r9() - print 'gamma candidate sigmaIetaIeta: ',event.selectedPhotons[0].sigmaIetaIeta() + print 'gamma candidate r9: ',event.selectedPhotons[0].full5x5_r9() + print 'gamma candidate sigmaIetaIeta: ',event.selectedPhotons[0].full5x5_sigmaIetaIeta() print 'gamma candidate had iso: ',event.selectedPhotons[0].chargedHadronIso() print 'gamma candidate neu iso: ',event.selectedPhotons[0].neutralHadronIso() print 'gamma candidate gamma iso: ',event.selectedPhotons[0].photonIso() @@ -165,12 +277,16 @@ def process(self, event): self.makePhotons(event) # self.printInfo(event) + if self.cfg_ana.do_randomCone: + self.randomCone(event) + if not self.cfg_comp.isMC: return True if self.cfg_ana.do_mc_match and hasattr(event, 'genParticles'): self.matchPhotons(event) + return True @@ -181,5 +297,7 @@ def process(self, event): etaMax = 2.5, gammaID = "PhotonCutBasedIDLoose", do_mc_match = True, + do_randomCone = False, ) ) + diff --git a/PhysicsTools/Heppy/python/analyzers/objects/TauAnalyzer.py b/PhysicsTools/Heppy/python/analyzers/objects/TauAnalyzer.py index f14b7b77b44b..67d60a2c44bf 100644 --- a/PhysicsTools/Heppy/python/analyzers/objects/TauAnalyzer.py +++ b/PhysicsTools/Heppy/python/analyzers/objects/TauAnalyzer.py @@ -1,19 +1,8 @@ - -import operator -import itertools -import copy -import types - -from ROOT import TLorentzVector - from PhysicsTools.Heppy.analyzers.core.Analyzer import Analyzer -from PhysicsTools.HeppyCore.framework.event import Event -from PhysicsTools.HeppyCore.statistics.counter import Counter, Counters from PhysicsTools.Heppy.analyzers.core.AutoHandle import AutoHandle -from PhysicsTools.Heppy.physicsobjects.Lepton import Lepton from PhysicsTools.Heppy.physicsobjects.Tau import Tau -from PhysicsTools.HeppyCore.utils.deltar import deltaR, deltaPhi, bestMatch , matchObjectCollection3 +from PhysicsTools.HeppyCore.utils.deltar import deltaR, matchObjectCollection3 import PhysicsTools.HeppyCore.framework.config as cfg @@ -55,29 +44,47 @@ def makeTaus(self, event): foundTau = False for tau in alltaus: - tau.associatedVertex = event.goodVertices[0] + tau.associatedVertex = event.goodVertices[0] if len(event.goodVertices)>0 else event.vertices[0] tau.lepVeto = False + tau.idDecayMode = tau.tauID("decayModeFinding") + tau.idDecayModeNewDMs = tau.tauID("decayModeFindingNewDMs") + if hasattr(self.cfg_ana, 'decayModeID') and self.cfg_ana.decayModeID and not tau.tauID(self.cfg_ana.decayModeID): + continue + if self.cfg_ana.vetoLeptons: for lep in event.selectedLeptons: if deltaR(lep.eta(), lep.phi(), tau.eta(), tau.phi()) < self.cfg_ana.leptonVetoDR: tau.lepVeto = True if tau.lepVeto: continue if self.cfg_ana.vetoLeptonsPOG: - if not tau.tauID("againstMuonTight"): + if not tau.tauID(self.cfg_ana.tauAntiMuonID): tau.lepVeto = True - if not tau.tauID("againstElectronLoose"): + if not tau.tauID(self.cfg_ana.tauAntiElectronID): tau.lepVeto = True if tau.lepVeto: continue + if tau.pt() < self.cfg_ana.ptMin: continue if abs(tau.eta()) > self.cfg_ana.etaMax: continue -### tau.dxy and tau.dz are zero -### if abs(tau.dxy()) > self.cfg_ana.dxyMax or abs(tau.dz()) > self.cfg_ana.dzMax: continue + if abs(tau.dxy()) > self.cfg_ana.dxyMax or abs(tau.dz()) > self.cfg_ana.dzMax: continue + foundTau = True def id3(tau,X): """Create an integer equal to 1-2-3 for (loose,medium,tight)""" return tau.tauID(X%"Loose") + tau.tauID(X%"Medium") + tau.tauID(X%"Tight") - #tau.idMVA2 = id3(tau, "by%sIsolationMVA2") + def id5(tau,X): + """Create an integer equal to 1-2-3-4-5 for (very loose, + loose, medium, tight, very tight)""" + return id3(tau, X) + tau.tauID(X%"VLoose") + tau.tauID(X%"VTight") + def id6(tau,X): + """Create an integer equal to 1-2-3-4-5-6 for (very loose, + loose, medium, tight, very tight, very very tight)""" + return id5(tau, X) + tau.tauID(X%"VVTight") + + tau.idMVA = id6(tau, "by%sIsolationMVA3oldDMwLT") + tau.idMVANewDM = id6(tau, "by%sIsolationMVA3newDMwLT") tau.idCI3hit = id3(tau, "by%sCombinedIsolationDeltaBetaCorr3Hits") + tau.idAntiMu = tau.tauID("againstMuonLoose") + tau.tauID("againstMuonTight") + tau.idAntiE = id5(tau, "againstElectron%sMVA5") #print "Tau pt %5.1f: idMVA2 %d, idCI3hit %d, %s, %s" % (tau.pt(), tau.idMVA2, tau.idCI3hit, tau.tauID(self.cfg_ana.tauID), tau.tauID(self.cfg_ana.tauLooseID)) if tau.tauID(self.cfg_ana.tauID): event.selectedTaus.append(tau) @@ -100,6 +107,7 @@ def matchTaus(self, event): for lep in event.inclusiveTaus: gen = match[lep] lep.mcMatchId = 1 if gen else 0 + lep.mcTau = gen def process(self, event): self.readCollections( event.input ) @@ -114,17 +122,22 @@ def process(self, event): return True +# Find the definitions of the tau ID strings here: +# http://cmslxr.fnal.gov/lxr/source/PhysicsTools/PatAlgos/python/producersLayer1/tauProducer_cfi.py setattr(TauAnalyzer,"defaultConfig",cfg.Analyzer( class_object=TauAnalyzer, ptMin = 20, etaMax = 9999, - dxyMax = 0.5, - dzMax = 1.0, + dxyMax = 1000., + dzMax = 0.2, vetoLeptons = True, leptonVetoDR = 0.4, - vetoLeptonsPOG = False, + decayModeID = "decayModeFindingNewDMs", # ignored if not set or "" tauID = "byLooseCombinedIsolationDeltaBetaCorr3Hits", + vetoLeptonsPOG = False, # If True, the following two IDs are required + tauAntiMuonID = "againstMuonLoose3", + tauAntiElectronID = "againstElectronLooseMVA5", tauLooseID = "decayModeFinding", ) ) diff --git a/PhysicsTools/Heppy/python/analyzers/objects/autophobj.py b/PhysicsTools/Heppy/python/analyzers/objects/autophobj.py index 2d712ef3013f..e908bcccaa48 100644 --- a/PhysicsTools/Heppy/python/analyzers/objects/autophobj.py +++ b/PhysicsTools/Heppy/python/analyzers/objects/autophobj.py @@ -29,6 +29,11 @@ NTupleVariable("pdgId", lambda x : x.pdgId(), int), ]) +weightsInfoType = NTupleObjectType("WeightsInfo", variables = [ + NTupleVariable("id", lambda x : x.id, int), + NTupleVariable("wgt", lambda x : x.wgt), +]) + ##------------------------------------------ ## LEPTON ##------------------------------------------ @@ -44,7 +49,7 @@ NTupleVariable("dxy", lambda x : x.dxy(), help="d_{xy} with respect to PV, in cm (with sign)"), NTupleVariable("dz", lambda x : x.dz() , help="d_{z} with respect to PV, in cm (with sign)"), NTupleVariable("edxy", lambda x : x.edB(), help="#sigma(d_{xy}) with respect to PV, in cm"), - NTupleVariable("edz", lambda x : x.gsfTrack().dzError() if abs(x.pdgId())==11 else x.innerTrack().dzError() , help="#sigma(d_{z}) with respect to PV, in cm"), + NTupleVariable("edz", lambda x : x.edz(), help="#sigma(d_{z}) with respect to PV, in cm"), NTupleVariable("ip3d", lambda x : x.ip3D() , help="d_{3d} with respect to PV, in cm (absolute value)"), NTupleVariable("sip3d", lambda x : x.sip3D(), help="S_{ip3d} with respect to PV (significance)"), # Conversion rejection @@ -53,12 +58,15 @@ # Isolations with the two radia NTupleVariable("relIso03", lambda x : x.relIso03, help="PF Rel Iso, R=0.3, pile-up corrected"), NTupleVariable("relIso04", lambda x : x.relIso04, help="PF Rel Iso, R=0.4, pile-up corrected"), + NTupleVariable("miniRelIso", lambda x : x.miniRelIso if hasattr(x,'miniRelIso') else -999, help="PF Rel miniRel, pile-up corrected"), # Charge flip rejection criteria NTupleVariable("tightCharge", lambda lepton : ( lepton.isGsfCtfScPixChargeConsistent() + lepton.isGsfScPixChargeConsistent() ) if abs(lepton.pdgId()) == 11 else 2*(lepton.innerTrack().ptError()/lepton.innerTrack().pt() < 0.2), int, help="Tight charge criteria: for electrons, 2 if isGsfCtfScPixChargeConsistent, 1 if only isGsfScPixChargeConsistent, 0 otherwise; for muons, 2 if ptError/pt < 0.20, 0 otherwise "), # MC-match info NTupleVariable("mcMatchId", lambda x : x.mcMatchId, int, mcOnly=True, help="Match to source from hard scatter (pdgId of heaviest particle in chain, 25 for H, 6 for t, 23/24 for W/Z), zero if non-prompt or fake"), NTupleVariable("mcMatchAny", lambda x : x.mcMatchAny, int, mcOnly=True, help="Match to any final state leptons: 0 if unmatched, 1 if light flavour (including prompt), 4 if charm, 5 if bottom"), NTupleVariable("mcMatchTau", lambda x : x.mcMatchTau, int, mcOnly=True, help="True if the leptons comes from a tau"), + NTupleVariable("mcPt", lambda x : x.mcLep.pt() if getattr(x,"mcLep",None) else 0., mcOnly=True, help="p_{T} of associated gen lepton"), + NTupleVariable("mediumMuonId", lambda x : x.muonID("POG_ID_Medium") if abs(x.pdgId())==13 else 1, int, help="Muon POG Medium id"), ]) ### EXTENDED VERSION WITH INDIVIUAL DISCRIMINATING VARIABLES @@ -69,7 +77,6 @@ # Extra muon ID working points NTupleVariable("softMuonId", lambda x : x.muonID("POG_ID_Soft") if abs(x.pdgId())==13 else 1, int, help="Muon POG Soft id"), NTupleVariable("pfMuonId", lambda x : x.muonID("POG_ID_Loose") if abs(x.pdgId())==13 else 1, int, help="Muon POG Loose id"), - NTupleVariable("mediumMuonId", lambda x : x.muonID("POG_ID_Medium") if abs(x.pdgId())==13 else 1, int, help="Muon POG Medium id"), # Extra electron ID working points NTupleVariable("eleCutId2012_full5x5", lambda x : (1*x.electronID("POG_Cuts_ID_2012_full5x5_Veto") + 1*x.electronID("POG_Cuts_ID_2012_full5x5_Loose") + 1*x.electronID("POG_Cuts_ID_2012_full5x5_Medium") + 1*x.electronID("POG_Cuts_ID_2012_full5x5_Tight")) if abs(x.pdgId()) == 11 else -1, int, help="Electron cut-based id (POG 2012, full5x5 shapes): 0=none, 1=veto, 2=loose, 3=medium, 4=tight"), # Extra tracker-related variables @@ -94,6 +101,7 @@ NTupleVariable("dPhiScTrkIn", lambda x : x.deltaPhiSuperClusterTrackAtVtx() if abs(x.pdgId())==11 else 0, help="Electron deltaPhiSuperClusterTrackAtVtx (without absolute value!)"), NTupleVariable("hadronicOverEm", lambda x : x.hadronicOverEm() if abs(x.pdgId())==11 else 0, help="Electron hadronicOverEm"), NTupleVariable("eInvMinusPInv", lambda x : ((1.0/x.ecalEnergy() - x.eSuperClusterOverP()/x.ecalEnergy()) if x.ecalEnergy()>0. else 9e9) if abs(x.pdgId())==11 else 0, help="Electron 1/E - 1/p (without absolute value!)"), + NTupleVariable("etaSc", lambda x : x.superCluster().eta() if abs(x.pdgId())==11 else -100, help="Electron supercluster pseudorapidity"), ]) @@ -103,12 +111,17 @@ tauType = NTupleObjectType("tau", baseObjectTypes = [ particleType ], variables = [ NTupleVariable("charge", lambda x : x.charge(), int), + NTupleVariable("decayMode", lambda x : x.decayMode(), int), + NTupleVariable("idDecayMode", lambda x : x.idDecayMode, int), + NTupleVariable("idDecayModeNewDMs", lambda x : x.idDecayModeNewDMs, int), NTupleVariable("dxy", lambda x : x.dxy(), help="d_{xy} of lead track with respect to PV, in cm (with sign)"), NTupleVariable("dz", lambda x : x.dz() , help="d_{z} of lead track with respect to PV, in cm (with sign)"), - #NTupleVariable("idMVA2", lambda x : x.idMVA2, int, help="1,2,3 if the tau passes the loose, medium, tight WP of the ByIsolationMVA2 discriminator"), + NTupleVariable("idMVA", lambda x : x.idMVA, int, help="1,2,3,4,5,6 if the tau passes the very loose to very very tight WP of the MVA3oldDMwLT discriminator"), + NTupleVariable("idMVANewDM", lambda x : x.idMVANewDM, int, help="1,2,3,4,5,6 if the tau passes the very loose to very very tight WP of the MVA3newDMwLT discriminator"), NTupleVariable("idCI3hit", lambda x : x.idCI3hit, int, help="1,2,3 if the tau passes the loose, medium, tight WP of the ByCombinedIsolationDBSumPtCorr3Hits discriminator"), + NTupleVariable("idAntiMu", lambda x : x.idAntiMu, int, help="1,2 if the tau passes the loose/tight WP of the againstMuon3 discriminator"), + NTupleVariable("idAntiE", lambda x : x.idAntiE, int, help="1,2,3,4,5 if the tau passes the v loose, loose, medium, tight, v tight WP of the againstElectronMVA5 discriminator"), NTupleVariable("isoCI3hit", lambda x : x.tauID("byCombinedIsolationDeltaBetaCorrRaw3Hits"), help="byCombinedIsolationDeltaBetaCorrRaw3Hits raw output discriminator"), - #NTupleVariable("isoMVA2", lambda x : x.tauID("byIsolationMVA2raw"), help="ByIsolationMVA2 raw output discriminator"), # MC-match info NTupleVariable("mcMatchId", lambda x : x.mcMatchId, int, mcOnly=True, help="Match to source from hard scatter (pdgId of heaviest particle in chain, 25 for H, 6 for t, 23/24 for W/Z), zero if non-prompt or fake"), ]) @@ -132,12 +145,17 @@ photonType = NTupleObjectType("gamma", baseObjectTypes = [ particleType ], variables = [ NTupleVariable("idCutBased", lambda x : x.idCutBased, int, help="1,2,3 if the gamma passes the loose, medium, tight WP of PhotonCutBasedID"), NTupleVariable("hOverE", lambda x : x.hOVERe(), float, help="hoverE for photons"), - NTupleVariable("r9", lambda x : x.r9(), float, help="r9 for photons"), - NTupleVariable("sigmaIetaIeta", lambda x : x.sigmaIetaIeta(), float, help="sigmaIetaIeta for photons"), - NTupleVariable("chHadIso", lambda x : x.chargedHadronIso(), float, help="chargedHadronIsolation for photons"), - NTupleVariable("neuHadIso", lambda x : x.neutralHadronIso(), float, help="neutralHadronIsolation for photons"), - NTupleVariable("phIso", lambda x : x.photonIso(), float, help="gammaIsolation for photons"), - NTupleVariable("mcMatchId", lambda x : x.mcMatchId, int, mcOnly=True, help="Match to source from hard scatter (pdgId of heaviest particle in chain, 25 for H, 6 for t, 23/24 for W/Z), zero if non-prompt or fake"), + NTupleVariable("r9", lambda x : x.full5x5_r9(), float, help="r9 for photons"), + NTupleVariable("sigmaIetaIeta", lambda x : x.full5x5_sigmaIetaIeta(), float, help="sigmaIetaIeta for photons"), + #NTupleVariable("chHadIso", lambda x : x.chargedHadronIso(), float, help="chargedHadronIsolation for photons"), + #NTupleVariable("neuHadIso", lambda x : x.neutralHadronIso(), float, help="neutralHadronIsolation for photons"), + #NTupleVariable("phIso", lambda x : x.photonIso(), float, help="gammaIsolation for photons"), + NTupleVariable("chHadIso", lambda x : x.recoChargedHadronIso(), float, help="chargedHadronIsolation for photons (reco::Photon method, deltaR = 0.3)"), + NTupleVariable("chHadIso04", lambda x : x.chargedHadronIso(), float, help="chargedHadronIsolation for photons (PAT method, deltaR = 0.4)"), + NTupleVariable("neuHadIso", lambda x : x.recoNeutralHadronIso(), float, help="neutralHadronIsolation for photons"), + NTupleVariable("phIso", lambda x : x.recoPhotonIso(), float, help="gammaIsolation for photons"), + NTupleVariable("mcMatchId", lambda x : x.mcMatchId if getattr(x,"mcMatchId",None) else 0. , int, mcOnly=True, help="Match to source from hard scatter (pdgId of heaviest particle in chain, 25 for H, 6 for t, 23/24 for W/Z), zero if non-prompt or fake"), + NTupleVariable("mcPt", lambda x : x.mcGamma.pt() if getattr(x,"mcGamma",None) else 0., mcOnly=True, help="p_{T} of associated gen photon"), ]) ##------------------------------------------ @@ -163,6 +181,7 @@ NTupleVariable("mult", lambda x : getattr(x,'mult', 0) , int, mcOnly=False,help="QG input variable: total multiplicity"), NTupleVariable("partonId", lambda x : getattr(x,'partonId', 0), int, mcOnly=True, help="parton flavour (manually matching to status 23 particles)"), NTupleVariable("partonMotherId", lambda x : getattr(x,'partonMotherId', 0), int, mcOnly=True, help="parton flavour (manually matching to status 23 particles)"), + NTupleVariable("nLeptons", lambda x : len(x.leptons) if hasattr(x,'leptons') else 0 , float, mcOnly=False,help="Number of associated leptons"), ]) diff --git a/PhysicsTools/Heppy/python/physicsobjects/Electron.py b/PhysicsTools/Heppy/python/physicsobjects/Electron.py index 0132385f1046..1fc8a0850a64 100644 --- a/PhysicsTools/Heppy/python/physicsobjects/Electron.py +++ b/PhysicsTools/Heppy/python/physicsobjects/Electron.py @@ -1,5 +1,6 @@ from PhysicsTools.Heppy.physicsobjects.Lepton import Lepton -from PhysicsTools.Heppy.physicsutils.ElectronMVAID import ElectronMVAID_Trig, ElectronMVAID_NonTrig, ElectronMVAID_TrigNoIP +from PhysicsTools.Heppy.physicsutils.ElectronMVAID import * +from PhysicsTools.HeppyCore.utils.deltar import deltaR import ROOT class Electron( Lepton ): @@ -18,6 +19,7 @@ def _physObjInit(self): self._mvaNonTrigV0 = {True:None, False:None} self._mvaTrigV0 = {True:None, False:None} self._mvaTrigNoIPV0 = {True:None, False:None} + self._mvaRun2 = {} def electronID( self, id, vertex=None, rho=None ): if id is None or id == "": return True @@ -27,8 +29,12 @@ def electronID( self, id, vertex=None, rho=None ): elif id == "POG_MVA_ID_Trig": return self.mvaIDTight() elif id == "POG_MVA_ID_NonTrig_full5x5": return self.mvaIDLoose(full5x5=True) elif id == "POG_MVA_ID_Trig_full5x5": return self.mvaIDTight(full5x5=True) - elif id.startswith("POG_Cuts_ID_"): - return self.cutBasedId(id.replace("POG_Cuts_ID_","POG_")) + elif id == "POG_MVA_ID_Run2_NonTrig_VLoose": return self.mvaIDRun2("NonTrigPhys14","VLoose") + elif id == "POG_MVA_ID_Run2_NonTrig_Loose": return self.mvaIDRun2("NonTrigPhys14","Loose") + elif id == "POG_MVA_ID_Run2_NonTrig_Tight": return self.mvaIDRun2("NonTrigPhys14","Tight") + elif id == "POG_MVA_ID_Run2_NonTrig_HZZ": return self.mvaIDRun2("NonTrigPhys14","HZZ") + elif id.startswith("POG_Cuts_ID_"): + return self.cutBasedId(id.replace("POG_Cuts_ID_","POG_")) for ID in self.electronIDs(): if ID.first == id: return ID.second @@ -39,7 +45,7 @@ def cutBasedId(self, wp, showerShapes="auto"): showerShapes = "full5x5" wp = wp.replace("_full5x5","") elif showerShapes == "auto": - if "POG_CSA14_25ns_v1" in wp or "POG_CSA14_50ns_v1" in wp: + if "POG_CSA14_25ns_v1" in wp or "POG_CSA14_50ns_v1" in wp or "POG_PHYS14_25ns_v1" in wp or "POG_PHYS14_25ns_v1_ConvVeto" in wp or "POG_PHYS14_25ns_v1_ConvVetoDxyDz" in wp: showerShapes = "full5x5" vars = { 'dEtaIn' : abs(self.physObj.deltaEtaSuperClusterTrackAtVtx()), @@ -48,6 +54,10 @@ def cutBasedId(self, wp, showerShapes="auto"): 'H/E' : self.physObj.hadronicOverEm(), #'1/E-1/p' : abs(1.0/self.physObj.ecalEnergy() - self.physObj.eSuperClusterOverP()/self.physObj.ecalEnergy()), '1/E-1/p' : abs(1.0/self.physObj.ecalEnergy() - self.physObj.eSuperClusterOverP()/self.physObj.ecalEnergy()) if self.physObj.ecalEnergy()>0. else 9e9, + 'conversionVeto' : self.physObj.passConversionVeto(), + 'missingHits' : self.physObj.gsfTrack().hitPattern().numberOfHits(ROOT.reco.HitPattern.MISSING_INNER_HITS), # http://cmslxr.fnal.gov/source/DataFormats/TrackReco/interface/HitPattern.h?v=CMSSW_7_2_3#0153 + 'dxy' : abs(self.dxy()), + 'dz' : abs(self.dz()), } WP = { ## ------- https://twiki.cern.ch/twiki/bin/viewauth/CMS/EgammaCutBasedIdentification?rev=31 @@ -55,23 +65,64 @@ def cutBasedId(self, wp, showerShapes="auto"): 'POG_2012_Loose' : [('dEtaIn', [0.007, 0.009]), ('dPhiIn', [0.15, 0.1 ]), ('sigmaIEtaIEta', [0.01, 0.03]), ('H/E', [0.12, 0.1]), ('1/E-1/p', [0.05, 0.05])], 'POG_2012_Medium' : [('dEtaIn', [0.004, 0.007]), ('dPhiIn', [0.06, 0.03]), ('sigmaIEtaIEta', [0.01, 0.03]), ('H/E', [0.12, 0.1]), ('1/E-1/p', [0.05, 0.05])], 'POG_2012_Tight' : [('dEtaIn', [0.004, 0.005]), ('dPhiIn', [0.03, 0.02]), ('sigmaIEtaIEta', [0.01, 0.03]), ('H/E', [0.12, 0.1]), ('1/E-1/p', [0.05, 0.05])], - ## ------- https://indico.cern.cH/Event/298242/contribution/1/material/slides/5.pdf (slide 5) - 'POG_CSA14_25ns_v1_Veto' : [('dEtaIn', [0.012, 0.015]), ('dPhiIn', [0.8, 0.7 ]), ('sigmaIEtaIEta', [0.01 , 0.033]), ('H/E', [0.15, 9e9 ]), ('1/E-1/p', [9e9, 9e9])], - 'POG_CSA14_25ns_v1_Loose' : [('dEtaIn', [0.012, 0.014]), ('dPhiIn', [0.15, 0.1 ]), ('sigmaIEtaIEta', [0.01 , 0.033]), ('H/E', [0.12, 0.12]), ('1/E-1/p', [0.05, 0.05])], - 'POG_CSA14_25ns_v1_Medium' : [('dEtaIn', [0.009, 0.012]), ('dPhiIn', [0.06, 0.03]), ('sigmaIEtaIEta', [0.01 , 0.031]), ('H/E', [0.12, 0.12]), ('1/E-1/p', [0.05, 0.05])], - 'POG_CSA14_25ns_v1_Tight' : [('dEtaIn', [0.009, 0.010]), ('dPhiIn', [0.03, 0.02]), ('sigmaIEtaIEta', [0.01 , 0.031]), ('H/E', [0.12, 0.12]), ('1/E-1/p', [0.05, 0.05])], - 'POG_CSA14_50ns_v1_Veto' : [('dEtaIn', [0.012, 0.022]), ('dPhiIn', [0.8, 0.7 ]), ('sigmaIEtaIEta', [0.012, 0.033]), ('H/E', [0.15, 9e9 ]), ('1/E-1/p', [9e9, 9e9])], - 'POG_CSA14_50ns_v1_Loose' : [('dEtaIn', [0.012, 0.021]), ('dPhiIn', [0.15, 0.1 ]), ('sigmaIEtaIEta', [0.012, 0.033]), ('H/E', [0.12, 0.12]), ('1/E-1/p', [0.05, 0.05])], - 'POG_CSA14_50ns_v1_Medium' : [('dEtaIn', [0.009, 0.019]), ('dPhiIn', [0.06, 0.03]), ('sigmaIEtaIEta', [0.01 , 0.031]), ('H/E', [0.12, 0.12]), ('1/E-1/p', [0.05, 0.05])], - 'POG_CSA14_50ns_v1_Tight' : [('dEtaIn', [0.009, 0.017]), ('dPhiIn', [0.03, 0.02]), ('sigmaIEtaIEta', [0.01 , 0.031]), ('H/E', [0.12, 0.12]), ('1/E-1/p', [0.05, 0.05])], + # RIC: in the EG POG WPs, isolation is included too. Here only the pure ID part. + # dz and d0 cuts are excluded here as well. + ## ------- https://twiki.cern.ch/twiki/bin/viewauth/CMS/CutBasedElectronIdentificationRun2#Working_points_for_CSA14_samples?rev=13 + 'POG_CSA14_25ns_v1_Veto' : [('dEtaIn', [0.017938, 0.014569]), ('dPhiIn', [0.182958, 0.230914]), ('sigmaIEtaIEta', [0.012708, 0.036384]), ('H/E', [0.335015, 0.200792]), ('1/E-1/p', [0.198287, 0.146856])], + 'POG_CSA14_25ns_v1_Loose' : [('dEtaIn', [0.014928, 0.013045]), ('dPhiIn', [0.141050, 0.149017]), ('sigmaIEtaIEta', [0.011304, 0.035536]), ('H/E', [0.127690, 0.107898]), ('1/E-1/p', [0.097806, 0.102261])], + 'POG_CSA14_25ns_v1_Medium' : [('dEtaIn', [0.013071, 0.010006]), ('dPhiIn', [0.132113, 0.052321]), ('sigmaIEtaIEta', [0.010726, 0.032882]), ('H/E', [0.109761, 0.101755]), ('1/E-1/p', [0.032639, 0.041427])], + 'POG_CSA14_25ns_v1_Tight' : [('dEtaIn', [0.012671, 0.008823]), ('dPhiIn', [0.025218, 0.027286]), ('sigmaIEtaIEta', [0.010061, 0.030222]), ('H/E', [0.065085, 0.090710]), ('1/E-1/p', [0.027873, 0.019404])], + 'POG_CSA14_50ns_v1_Veto' : [('dEtaIn', [0.021, 0.028]), ('dPhiIn', [0.25 , 0.23 ]), ('sigmaIEtaIEta', [0.012, 0.035]), ('H/E', [0.24 , 0.19 ]), ('1/E-1/p', [0.32 , 0.13 ])], + 'POG_CSA14_50ns_v1_Loose' : [('dEtaIn', [0.016, 0.025]), ('dPhiIn', [0.080, 0.097]), ('sigmaIEtaIEta', [0.012, 0.032]), ('H/E', [0.15 , 0.12 ]), ('1/E-1/p', [0.11 , 0.11 ])], + 'POG_CSA14_50ns_v1_Medium' : [('dEtaIn', [0.015, 0.023]), ('dPhiIn', [0.051, 0.056]), ('sigmaIEtaIEta', [0.010, 0.030]), ('H/E', [0.10 , 0.099]), ('1/E-1/p', [0.053, 0.11 ])], + 'POG_CSA14_50ns_v1_Tight' : [('dEtaIn', [0.012, 0.019]), ('dPhiIn', [0.024, 0.043]), ('sigmaIEtaIEta', [0.010, 0.029]), ('H/E', [0.074, 0.080]), ('1/E-1/p', [0.026, 0.076])], + ## ------- https://twiki.cern.ch/twiki/bin/viewauth/CMS/CutBasedElectronIdentificationRun2#Working_points_for_PHYS14_sample?rev=13 + 'POG_PHYS14_25ns_v1_Veto' : [('dEtaIn', [0.016315, 0.010671]), ('dPhiIn', [0.252044, 0.245263]), ('sigmaIEtaIEta', [0.011100 , 0.033987]), ('H/E', [0.345843, 0.134691]), ('1/E-1/p', [0.248070, 0.157160])], + 'POG_PHYS14_25ns_v1_Loose' : [('dEtaIn', [0.012442, 0.010654]), ('dPhiIn', [0.072624, 0.145129]), ('sigmaIEtaIEta', [0.010557 , 0.032602]), ('H/E', [0.121476, 0.131862]), ('1/E-1/p', [0.221803, 0.142283])], + 'POG_PHYS14_25ns_v1_Medium' : [('dEtaIn', [0.007641, 0.009285]), ('dPhiIn', [0.032643, 0.042447]), ('sigmaIEtaIEta', [0.010399 , 0.029524]), ('H/E', [0.060662, 0.104263]), ('1/E-1/p', [0.153897, 0.137468])], + 'POG_PHYS14_25ns_v1_Tight' : [('dEtaIn', [0.006574, 0.005681]), ('dPhiIn', [0.022868, 0.032046]), ('sigmaIEtaIEta', [0.010181 , 0.028766]), ('H/E', [0.037553, 0.081902]), ('1/E-1/p', [0.131191, 0.106055])], } - if wp not in WP: + WP_conversion_veto = { + # missing Hits incremented by 1 because we return False if >=, note the '=' + ## ------- https://twiki.cern.ch/twiki/bin/viewauth/CMS/CutBasedElectronIdentificationRun2#Working_points_for_CSA14_samples?rev=13 + 'POG_CSA14_25ns_v1_ConvVeto_Veto' : WP['POG_CSA14_25ns_v1_Veto' ]+[('conversionVeto', [True, True]), ('missingHits', [3, 4])], + 'POG_CSA14_25ns_v1_ConvVeto_Loose' : WP['POG_CSA14_25ns_v1_Loose' ]+[('conversionVeto', [True, True]), ('missingHits', [2, 2])], + 'POG_CSA14_25ns_v1_ConvVeto_Medium' : WP['POG_CSA14_25ns_v1_Medium']+[('conversionVeto', [True, True]), ('missingHits', [2, 2])], + 'POG_CSA14_25ns_v1_ConvVeto_Tight' : WP['POG_CSA14_25ns_v1_Tight' ]+[('conversionVeto', [True, True]), ('missingHits', [2, 2])], + 'POG_CSA14_50ns_v1_ConvVeto_Veto' : WP['POG_CSA14_50ns_v1_Veto' ]+[('conversionVeto', [True, True]), ('missingHits', [3, 4])], + 'POG_CSA14_50ns_v1_ConvVeto_Loose' : WP['POG_CSA14_50ns_v1_Loose' ]+[('conversionVeto', [True, True]), ('missingHits', [2, 2])], + 'POG_CSA14_50ns_v1_ConvVeto_Medium' : WP['POG_CSA14_50ns_v1_Medium']+[('conversionVeto', [True, True]), ('missingHits', [2, 2])], + 'POG_CSA14_50ns_v1_ConvVeto_Tight' : WP['POG_CSA14_50ns_v1_Tight' ]+[('conversionVeto', [True, True]), ('missingHits', [2, 2])], + ## ------- https://twiki.cern.ch/twiki/bin/viewauth/CMS/CutBasedElectronIdentificationRun2#Working_points_for_PHYS14_sample?rev=13 + 'POG_PHYS14_25ns_v1_ConvVeto_Veto' : WP['POG_PHYS14_25ns_v1_Veto' ]+[('conversionVeto', [True, True]), ('missingHits', [3, 4])], + 'POG_PHYS14_25ns_v1_ConvVeto_Loose' : WP['POG_PHYS14_25ns_v1_Loose' ]+[('conversionVeto', [True, True]), ('missingHits', [2, 2])], + 'POG_PHYS14_25ns_v1_ConvVeto_Medium' : WP['POG_PHYS14_25ns_v1_Medium']+[('conversionVeto', [True, True]), ('missingHits', [2, 2])], + 'POG_PHYS14_25ns_v1_ConvVeto_Tight' : WP['POG_PHYS14_25ns_v1_Tight' ]+[('conversionVeto', [True, True]), ('missingHits', [2, 2])], + } + + WP.update(WP_conversion_veto) + + WP_conversion_veto_DxyDz = { + # missing Hits incremented by 1 because we return False if >=, note the '=' + ## ------- https://twiki.cern.ch/twiki/bin/viewauth/CMS/CutBasedElectronIdentificationRun2#Working_points_for_PHYS14_sample + 'POG_PHYS14_25ns_v1_ConvVetoDxyDz_Veto' : WP['POG_PHYS14_25ns_v1_ConvVeto_Veto' ]+[('dxy',[0.060279, 0.273097]), ('dz',[0.800538, 0.885860])], + 'POG_PHYS14_25ns_v1_ConvVetoDxyDz_Loose' : WP['POG_PHYS14_25ns_v1_ConvVeto_Loose' ]+[('dxy',[0.022664, 0.097358]), ('dz',[0.173670, 0.198444])], + 'POG_PHYS14_25ns_v1_ConvVetoDxyDz_Medium' : WP['POG_PHYS14_25ns_v1_ConvVeto_Medium']+[('dxy',[0.011811, 0.051682]), ('dz',[0.070775, 0.180720])], + 'POG_PHYS14_25ns_v1_ConvVetoDxyDz_Tight' : WP['POG_PHYS14_25ns_v1_ConvVeto_Tight' ]+[('dxy',[0.009924, 0.027261]), ('dz',[0.015310, 0.147154])], + } + + WP.update(WP_conversion_veto_DxyDz) + + if wp not in WP: raise RuntimeError, "Working point '%s' not yet implemented in Electron.py" % wp for (cut_name,(cut_eb,cut_ee)) in WP[wp]: - if vars[cut_name] >= (cut_eb if self.physObj.isEB() else cut_ee): + if cut_name == 'conversionVeto': + if (cut_eb if self.physObj.isEB() else cut_ee) and not vars[cut_name]: + return False + elif vars[cut_name] >= (cut_eb if self.physObj.isEB() else cut_ee): return False return True - + def absEffAreaIso(self,rho,effectiveAreas): '''MIKE, missing doc. Should have the same name as the function in the mother class. @@ -81,31 +132,38 @@ def absEffAreaIso(self,rho,effectiveAreas): def mvaId( self ): return self.mvaNonTrigV0() - + def tightId( self ): return self.tightIdResult - + def mvaNonTrigV0( self, full5x5=False, debug = False ): if self._mvaNonTrigV0[full5x5] == None: if self.associatedVertex == None: raise RuntimeError, "You need to set electron.associatedVertex before calling any MVA" if self.rho == None: raise RuntimeError, "You need to set electron.rho before calling any MVA" self._mvaNonTrigV0[full5x5] = ElectronMVAID_NonTrig(self.physObj, self.associatedVertex, self.rho, full5x5, debug) - return self._mvaNonTrigV0[full5x5] + return self._mvaNonTrigV0[full5x5] def mvaTrigV0( self, full5x5=False, debug = False ): if self._mvaTrigV0[full5x5] == None: if self.associatedVertex == None: raise RuntimeError, "You need to set electron.associatedVertex before calling any MVA" if self.rho == None: raise RuntimeError, "You need to set electron.rho before calling any MVA" self._mvaTrigV0[full5x5] = ElectronMVAID_Trig(self.physObj, self.associatedVertex, self.rho, full5x5, debug) - return self._mvaTrigV0[full5x5] + return self._mvaTrigV0[full5x5] def mvaTrigNoIPV0( self, full5x5=False, debug = False ): if self._mvaTrigNoIPV0[full5x5] == None: if self.associatedVertex == None: raise RuntimeError, "You need to set electron.associatedVertex before calling any MVA" if self.rho == None: raise RuntimeError, "You need to set electron.rho before calling any MVA" self._mvaTrigNoIPV0[full5x5] = ElectronMVAID_TrigNoIP(self.physObj, self.associatedVertex, self.rho, full5x5, debug) - return self._mvaTrigNoIPV0[full5x5] + return self._mvaTrigNoIPV0[full5x5] + def mvaRun2( self, name, debug = False ): + if name not in self._mvaRun2: + if name not in ElectronMVAID_ByName: raise RuntimeError, "Unknown electron run2 mva id %s (known ones are: %s)\n" % (name, ElectronMVAID_ByName.keys()) + if self.associatedVertex == None: raise RuntimeError, "You need to set electron.associatedVertex before calling any MVA" + if self.rho == None: raise RuntimeError, "You need to set electron.rho before calling any MVA" + self._mvaRun2[name] = ElectronMVAID_ByName[name](self.physObj, self.associatedVertex, self.rho, True, debug) + return self._mvaRun2[name] def mvaIDTight(self, full5x5=False): eta = abs(self.superCluster().eta()) @@ -129,40 +187,82 @@ def mvaIDLoose(self, full5x5=False): elif (eta < 1.479): return self.mvaNonTrigV0(full5x5) > -0.65; else : return self.mvaNonTrigV0(full5x5) > +0.60; - def mvaIDZZ(self): - return self.mvaIDLoose() and (self.gsfTrack().trackerExpectedHitsInner().numberOfLostHits()<=1) + def mvaIDRun2(self, name, wp): + eta = abs(self.superCluster().eta()) + if name == "NonTrigPhys14": + if wp=="Loose": + if (eta < 0.8) : return self.mvaRun2(name) > +0.35; + elif (eta < 1.479): return self.mvaRun2(name) > +0.20; + else : return self.mvaRun2(name) > -0.52; + elif wp=="VLoose": + if (eta < 0.8) : return self.mvaRun2(name) > -0.11; + elif (eta < 1.479): return self.mvaRun2(name) > -0.35; + else : return self.mvaRun2(name) > -0.55; + elif wp=="Tight": + if (eta < 0.8) : return self.mvaRun2(name) > 0.73; + elif (eta < 1.479): return self.mvaRun2(name) > 0.57; + else : return self.mvaRun2(name) > 0.05; + elif wp=="HZZ": + if self.pt() <= 10: + if (eta < 0.8) : return self.mvaRun2(name) > -0.202; + elif (eta < 1.479): return self.mvaRun2(name) > -0.444; + else : return self.mvaRun2(name) > +0.264; + else: + if (eta < 0.8) : return self.mvaRun2(name) > -0.110; + elif (eta < 1.479): return self.mvaRun2(name) > -0.284; + else : return self.mvaRun2(name) > -0.212; + else: raise RuntimeError, "Ele MVA ID Working point not found" + else: raise RuntimeError, "Ele MVA ID type not found" + + def chargedHadronIsoR(self,R=0.4): - if R == 0.3: return self.physObj.pfIsolationVariables().sumChargedHadronPt + if R == 0.3: return self.physObj.pfIsolationVariables().sumChargedHadronPt elif R == 0.4: return self.physObj.chargedHadronIso() raise RuntimeError, "Electron chargedHadronIso missing for R=%s" % R def neutralHadronIsoR(self,R=0.4): - if R == 0.3: return self.physObj.pfIsolationVariables().sumNeutralHadronEt + if R == 0.3: return self.physObj.pfIsolationVariables().sumNeutralHadronEt elif R == 0.4: return self.physObj.neutralHadronIso() raise RuntimeError, "Electron neutralHadronIso missing for R=%s" % R def photonIsoR(self,R=0.4): - if R == 0.3: return self.physObj.pfIsolationVariables().sumPhotonEt + if R == 0.3: return self.physObj.pfIsolationVariables().sumPhotonEt elif R == 0.4: return self.physObj.photonIso() raise RuntimeError, "Electron photonIso missing for R=%s" % R - def chargedAllIso(self,R=0.4): - if R == 0.3: return self.physObj.pfIsolationVariables().sumChargedParticlePt + def chargedAllIsoR(self,R=0.4): + if R == 0.3: return self.physObj.pfIsolationVariables().sumChargedParticlePt raise RuntimeError, "Electron chargedAllIso missing for R=%s" % R + def chargedAllIso(self): + raise RuntimeError, "Electron chargedAllIso missing" + def puChargedHadronIsoR(self,R=0.4): - if R == 0.3: return self.physObj.pfIsolationVariables().sumPUPt + if R == 0.3: return self.physObj.pfIsolationVariables().sumPUPt elif R == 0.4: return self.physObj.puChargedHadronIso() raise RuntimeError, "Electron chargedHadronIso missing for R=%s" % R - - - def chargedAllIso(self): - '''This function is used in the isolation, see Lepton class. - Here, we replace the all charged isolation by the all charged isolation with cone veto''' - return self.chargedAllIsoWithConeVeto() + def absIsoWithFSR(self, R=0.4, puCorr="rhoArea", dBetaFactor=0.5): + ''' + Calculate Isolation, subtract FSR, apply specific PU corrections" + ''' + photonIso = self.photonIsoR(R) + if hasattr(self,'fsrPhotons'): + for gamma in self.fsrPhotons: + dr = deltaR(gamma.eta(), gamma.phi(), self.physObj.eta(), self.physObj.phi()) + if (self.isEB() or dr > 0.08) and dr < R: + photonIso = max(photonIso-gamma.pt(),0.0) + if puCorr == "deltaBeta": + offset = dBetaFactor * self.puChargedHadronIsoR(R) + elif puCorr == "rhoArea": + offset = self.rho*getattr(self,"EffectiveArea"+(str(R).replace(".",""))) + elif puCorr in ["none","None",None]: + offset = 0 + else: + raise RuntimeError, "Unsupported PU correction scheme %s" % puCorr + return self.chargedHadronIsoR(R)+max(0.,photonIso+self.neutralHadronIsoR(R)-offset) def dxy(self, vertex=None): @@ -173,8 +273,13 @@ def dxy(self, vertex=None): if vertex is None: vertex = self.associatedVertex return self.gsfTrack().dxy( vertex.position() ) - def p4(self): - return ROOT.reco.Candidate.p4(self.physObj) + + def edxy(self): + '''returns the uncertainty on dxy (from gsf track)''' + return self.gsfTrack().dxyError() + + def p4(self): + return ROOT.reco.Candidate.p4(self.physObj) # def p4(self): # return self.physObj.p4(self.physObj.candidateP4Kind()) # if kind == None else kind) @@ -188,9 +293,14 @@ def dz(self, vertex=None): vertex = self.associatedVertex return self.gsfTrack().dz( vertex.position() ) + def edz(self): + '''returns the uncertainty on dxz (from gsf track)''' + return self.gsfTrack().dzError() + + def lostInner(self) : if hasattr(self.gsfTrack(),"trackerExpectedHitsInner") : return self.gsfTrack().trackerExpectedHitsInner().numberOfLostHits() - else : - return self.gsfTrack().hitPattern().numberOfHits(ROOT.reco.HitPattern.MISSING_INNER_HITS) + else : + return self.gsfTrack().hitPattern().numberOfHits(ROOT.reco.HitPattern.MISSING_INNER_HITS) diff --git a/PhysicsTools/Heppy/python/physicsobjects/HTauTauElectron.py b/PhysicsTools/Heppy/python/physicsobjects/HTauTauElectron.py deleted file mode 100644 index 9bc98a51bfe8..000000000000 --- a/PhysicsTools/Heppy/python/physicsobjects/HTauTauElectron.py +++ /dev/null @@ -1,153 +0,0 @@ -from PhysicsTools.Heppy.physicsobjects.Electron import Electron -from ROOT import gSystem, AutoLibraryLoader -gSystem.Load("libFWCoreFWLite") -AutoLibraryLoader.enable() -gSystem.Load("libDataFormatsRecoCandidate.so") - -from ROOT import reco - -class HTauTauElectron( Electron ): - - def __init__(self, *args, **kwargs): - super(HTauTauElectron, self).__init__(*args, **kwargs) - self.photonIsoCache = None - self.chargedAllIsoCache = None - - # JAN FIXME - replace our old tau-tau-specific vetoes - # I hope they are not needed anymore! - - # def photonIso(self): - # if self.photonIsoCache is None: - # myVetoes = reco.IsoDeposit.Vetos() - # pfGammaIsoType = 6 - # iso = self.sourcePtr().isoDeposit(pfGammaIsoType).depositWithin(0.4,myVetoes,True) - # iso_veto = self.sourcePtr().isoDeposit(pfGammaIsoType).depositWithin(0.08,myVetoes,True) - # iso -= iso_veto - # self.photonIsoCache = iso - # return self.photonIsoCache - - def photonIso(self): - return super(HTauTauElectron, self).photonIso(0.3) - - # JAN FIXME - replace our old tau-tau-specific vetoes - # I hope they are not needed anymore! - # def chargedAllIso(self): - # if self.chargedAllIsoCache is None: - # # chargedAllIsoType = 13 - # # myVetoes = reco.IsoDeposit.Vetos() - # # iso = self.sourcePtr().isoDeposit(chargedAllIsoType).depositWithin(0.4, - # # myVetoes,True) - # # vetoSize = 0.01 - # # if self.sourcePtr().isEE(): - # # vetoSize = 0.015 - # # iso_veto = self.sourcePtr().isoDeposit(chargedAllIsoType).depositWithin(vetoSize, - # # myVetoes,True) - # # iso -= iso_veto - # # self.chargedAllIsoCache = iso - # return self.chargedAllIsoCache - - def chargedAllIso(self): - return self.physObj.pfIsolationVariables().sumChargedParticlePt - - def relaxedIdForEleTau(self): - """Relaxing conversion cuts for sideband studies - """ - eta = abs( self.superCluster().eta() ) - if eta<0.8: lmvaID = 0.925 - elif eta<1.479: lmvaID = 0.975 - else : lmvaID = 0.985 - result = self.mvaNonTrigV0() > lmvaID - return result - - def tightIdForEleTau(self): - """reference numbers from the Htautau twiki - - https://twiki.cern.ch/twiki/bin/view/CMS/HiggsToTauTauWorking2012#2012_Baseline_Selection - """ - - # JAN FIXME - do we need this cut? - # if self.numberOfHits() != 0: return False - if not self.passConversionVeto(): return False - eta = abs( self.superCluster().eta() ) - - # Update Jan: Deleted the old numbers which are for e-mu, the ones below - # are for e-tau starting from pt>20 - if 1: - if eta<0.8: lmvaID = 0.925 - elif eta<1.479: lmvaID = 0.975 - else : lmvaID = 0.985 - result = self.mvaNonTrigV0() > lmvaID - #self.tightIdResult = result - return result - - - def looseIdForTriLeptonVeto(self): - '''To be used in the tri-lepton veto for both the etau and mutau channels. - Agreed at the CMS center with Josh, Andrew, Valentina, Jose on the 22nd of October - ''' - # JAN FIXME - do we need this cut? - # if self.numberOfHits() != 0: return False - if not self.passConversionVeto(): return False - eta = abs( self.superCluster().eta() ) - #Colin no eta cut should be done here. - # if eta > 2.1 : return False - lmvaID = -99999 # identification - if self.pt() < 20 : - if eta<0.8: lmvaID = 0.925 - elif eta<1.479: lmvaID = 0.915 - else : lmvaID = 0.965 - else: - if eta<0.8: lmvaID = 0.905 - elif eta<1.479: lmvaID = 0.955 - else : lmvaID = 0.975 - result = self.mvaNonTrigV0() > lmvaID - return result - - - def tightId( self ): - return self.tightIdForEleTau() - - - def looseIdForEleTau(self): - """Loose electron selection, for the lepton veto, - according to Phil sync prescription for the sync exercise 18/06/12 - """ - #COLIN inner hits and conversion veto not on the twiki - # nInnerHits = self.numberOfHits() - # if nInnerHits != 0 : return False - # if self.passConversionVeto() == False : return False - #COLIN: we might want to keep the vertex constraints separated - #COLIN: in the twiki there is no cut on dxy - # if abs(self.dxy()) >= 0.045 : return False - if abs(self.dz()) >= 0.2 : return False - # Below, part of WP95 without vertex constraints (applied above) - hoe = self.hadronicOverEm() - deta = abs(self.deltaEtaSuperClusterTrackAtVtx()) - dphi = abs(self.deltaPhiSuperClusterTrackAtVtx()) - sihih = self.sigmaIetaIeta() - # print sihih - if self.isEB() : - if sihih >= 0.010 : return False - if dphi >= 0.80 : return False - if deta >= 0.007 : return False - if hoe >= 0.15 : return False - elif self.isEE() : - if sihih >= 0.030 : return False - if dphi >= 0.70 : return False - if deta >= 0.010 : return False - # if hoe >= 0.07 : return False - else : return False #PG is this correct? does this take cracks into consideration? - return True - - def __str__(self): - base = [super(HTauTauElectron, self).__str__()] - spec = [ - 'vertex : dxy = {dxy}, dz = {dz}'.format(dxy=self.dxy(), dz=self.dz()), - # 'mva = {mva}'.format(mva=self.mvaNonTrigV0()), - # 'nmisshits = {nhits}'.format(nhits=self.numberOfHits()), - 'conv veto = {conv}'.format(conv=self.passConversionVeto()), - 'tight ID = {id}'.format(id=self.tightId()), - '3-veto ID = {id}'.format(id=self.looseIdForTriLeptonVeto()), - '2-veto ID = {id}'.format(id=self.looseIdForEleTau()), - ] - return '\n\t'.join( base + spec ) diff --git a/PhysicsTools/Heppy/python/physicsobjects/Jet.py b/PhysicsTools/Heppy/python/physicsobjects/Jet.py index 910b97e96d1e..241f1339723f 100644 --- a/PhysicsTools/Heppy/python/physicsobjects/Jet.py +++ b/PhysicsTools/Heppy/python/physicsobjects/Jet.py @@ -41,16 +41,19 @@ def __init__(self, *args, **kwargs): def _physObjInit(self): self._rawFactorMultiplier = 1.0 + self._leadingTrack = None + self._leadingTrackSearched = False def jetID(self,name=""): if not self.isPFJet(): raise RuntimeError, "jetID implemented only for PF Jets" eta = abs(self.eta()); - chf = self.chargedHadronEnergyFraction(); - nhf = self.neutralHadronEnergyFraction(); - phf = self.neutralEmEnergyFraction(); - muf = self.muonEnergyFraction(); - elf = self.chargedEmEnergyFraction(); + energy = (self.p4()*self.rawFactor()).energy(); + chf = self.chargedHadronEnergy()/energy; + nhf = self.neutralHadronEnergy()/energy; + phf = self.neutralEmEnergy()/energy; + muf = self.muonEnergy()/energy; + elf = self.chargedEmEnergy()/energy; chm = self.chargedHadronMultiplicity(); npr = self.chargedMultiplicity() + self.neutralMultiplicity(); #if npr != self.nConstituents(): @@ -61,9 +64,9 @@ def jetID(self,name=""): elif self.jetID("POG_PFID_Loose") : return 1; else : return 0; - if name == "POG_PFID_Loose": return (npr>1 and phf<0.99 and nhf<0.99) and (eta>2.4 or (elf<0.99 and chf>0 and chm>0)); - if name == "POG_PFID_Medium": return (npr>1 and phf<0.95 and nhf<0.95) and (eta>2.4 or (elf<0.99 and chf>0 and chm>0)); - if name == "POG_PFID_Tight": return (npr>1 and phf<0.90 and nhf<0.90) and (eta>2.4 or (elf<0.99 and chf>0 and chm>0)); + if name == "POG_PFID_Loose": return (npr>1 and phf<0.99 and nhf<0.99 and muf < 0.8) and (eta>2.4 or (elf<0.99 and chf>0 and chm>0)); + if name == "POG_PFID_Medium": return (npr>1 and phf<0.95 and nhf<0.95 and muf < 0.8) and (eta>2.4 or (elf<0.99 and chf>0 and chm>0)); + if name == "POG_PFID_Tight": return (npr>1 and phf<0.90 and nhf<0.90 and muf < 0.8) and (eta>2.4 or (elf<0.90 and chf>0 and chm>0)); if name == "VBFHBB_PFID_Loose": return (npr>1 and phf<0.99 and nhf<0.99); if name == "VBFHBB_PFID_Medium": return (npr>1 and phf<0.99 and nhf<0.99) and ((eta<=2.4 and nhf<0.9 and phf<0.9 and elf<0.99 and muf<0.99 and chf>0 and chm>0) or eta>2.4); if name == "VBFHBB_PFID_Tight": return (npr>1 and phf<0.99 and nhf<0.99) and ((eta<=2.4 and nhf<0.9 and phf<0.9 and elf<0.70 and muf<0.70 and chf>0 and chm>0) or eta>2.4); @@ -100,7 +103,22 @@ def btagWP(self,name): global _btagWPs (disc,val) = _btagWPs[name] return self.bDiscriminator(disc) > val - + + def leadingTrack(self): + if self._leadingTrackSearched : + return self._leadingTrack + self._leadingTrackSearched = True + self._leadingTrack = max( self.daughterPtrVector() , key = lambda x : x.pt() if x.charge()!=0 else 0. ) + if self._leadingTrack.charge()==0: #in case of "all neutral" + self._leadingTrack = None + return self._leadingTrack + + def leadTrackPt(self): + lt=self.leadingTrack() + if lt : + return lt.pt() + else : + return 0. class GenJet( PhysicsObject): pass diff --git a/PhysicsTools/Heppy/python/physicsobjects/Lepton.py b/PhysicsTools/Heppy/python/physicsobjects/Lepton.py index c93789977b2f..7a6c78cee1e9 100644 --- a/PhysicsTools/Heppy/python/physicsobjects/Lepton.py +++ b/PhysicsTools/Heppy/python/physicsobjects/Lepton.py @@ -1,5 +1,6 @@ from PhysicsTools.Heppy.physicsobjects.PhysicsObject import * import ROOT + class Lepton( PhysicsObject): def ip3D(self): '''3D impact parameter value.''' @@ -10,7 +11,7 @@ def sip3D(self): '''3D impact parameter significance.''' return abs(self.dB(self.PV3D) / self.edB(self.PV3D)) - def absIsoFromEA(self,rho,eta,effectiveArea1 = None,effectiveArea2 = None): + def absIsoFromEA(self,area = "04"): ''' Calculate Isolation using the effective area approach. If fsrPhotons is set the list of photons is subtracted from the isolation cone. It works with one or @@ -19,28 +20,13 @@ def absIsoFromEA(self,rho,eta,effectiveArea1 = None,effectiveArea2 = None): photonIso = self.photonIso() if hasattr(self,'fsrPhotons'): for gamma in self.fsrPhotons: - photonIso=photonIso-gamma.pt() - ea1 = rho - ea2 = rho - if effectiveArea1 is not None: - for element in effectiveArea1: - if abs(eta)>= element['etaMin'] and \ - abs(eta)< element['etaMax']: - ea1 = ea1 * element['area'] - break - else: - return self.chargedHadronIso()+max(0.,photonIso+self.neutralHadronIso()-ea1) - if effectiveArea2 is not None: - for element in effectiveArea2: - if abs(eta)>= element['etaMin'] and \ - abs(eta)< element['etaMax']: - ea2 = ea2 * element['area'] - return self.chargedHadronIso()+max(0.,photonIso-ea1)+max(0.,self.neutralHadronIso()-ea2) - else: - return self.chargedHadronIso()+max(0.,photonIso+self.neutralHadronIso()-ea1) + photonIso=max(photonIso-gamma.pt(),0.0) + + offset = self.rho*getattr(self,"EffectiveArea"+area) + return self.chargedHadronIso()+max(0.,photonIso+self.neutralHadronIso()-offset) - def absIso(self,dBetaFactor = 0,allCharged=0): + def absIso(self, dBetaFactor=0, allCharged=0): if dBetaFactor>0 and self.puChargedHadronIso()<0: raise ValueError('If you want to use dbeta corrections, you must make sure that the pu charged hadron iso is available. This should never happen') neutralIso = self.neutralHadronIso()+self.photonIso() @@ -48,26 +34,15 @@ def absIso(self,dBetaFactor = 0,allCharged=0): if hasattr(self,'fsrPhotons'): for gamma in self.fsrPhotons: neutralIso=neutralIso-gamma.pt() - corNeutralIso = neutralIso - dBetaFactor * self.puChargedHadronIso(); - charged = self.chargedHadronIso(); - if allCharged: - charged = self.chargedAllIso(); + corNeutralIso = neutralIso - dBetaFactor * self.puChargedHadronIso() + charged = self.chargedHadronIso() + if allCharged: + charged = self.chargedAllIso() return charged + max(corNeutralIso,0) - def relIso(self,dBetaFactor=0, allCharged=0): - rel = self.absIso(dBetaFactor, allCharged)/self.pt(); - return rel - - - def relIsoAllChargedDB05(self): - '''Used in the H2TauTau analysis: rel iso, dbeta=0.5, using all charged particles.''' - return self.relIso( 0.5, 1 ) - - - def relEffAreaIso(self,rho): - '''MIKE, missing doc''' - return 0 - + def relIso(self,dBetaFactor=0, allCharged=0): + rel = self.absIso(dBetaFactor, allCharged)/self.pt() + return rel def relEffAreaIso(self,rho): '''MIKE, missing doc''' diff --git a/PhysicsTools/Heppy/python/physicsobjects/Muon.py b/PhysicsTools/Heppy/python/physicsobjects/Muon.py index 52c91176c43d..e19fc5d2337d 100644 --- a/PhysicsTools/Heppy/python/physicsobjects/Muon.py +++ b/PhysicsTools/Heppy/python/physicsobjects/Muon.py @@ -1,14 +1,23 @@ from PhysicsTools.Heppy.physicsobjects.Lepton import Lepton +from PhysicsTools.HeppyCore.utils.deltar import deltaR class Muon( Lepton ): + def __init__(self, *args, **kwargs): + super(Muon, self).__init__(*args, **kwargs) + self._trackForDxyDz = "muonBestTrack" + + def setTrackForDxyDz(self,what): + if not hasattr(self,what): + raise RuntimeError, "I don't have a track called "+what + self._trackForDxyDz = what def looseId( self ): '''Loose ID as recommended by mu POG.''' return self.physObj.isLooseMuon() def tightId( self ): - '''Tight ID as recommended by mu POG.''' - return self.muonID("POG_ID_Tight") + '''Tight ID as recommended by mu POG (unless redefined in the lepton analyzer).''' + return getattr(self,"tightIdResult",self.muonID("POG_ID_Tight")) def muonID(self, name, vertex=None): if name == "" or name is None: @@ -31,6 +40,8 @@ def muonID(self, name, vertex=None): if not self.looseId(): return False goodGlb = self.physObj.isGlobalMuon() and self.physObj.globalTrack().normalizedChi2() < 3 and self.physObj.combinedQuality().chi2LocalPosition < 12 and self.physObj.combinedQuality().trkKink < 20; return self.physObj.innerTrack().validFraction() >= 0.8 and self.physObj.segmentCompatibility() >= (0.303 if goodGlb else 0.451) + if name == "POG_Global_OR_TMArbitrated": + return self.physObj.isGlobalMuon() or (self.physObj.isTrackerMuon() and self.physObj.numberOfMatchedStations() > 0) return self.physObj.muonID(name) def mvaId(self): @@ -51,7 +62,11 @@ def dxy(self, vertex=None): ''' if vertex is None: vertex = self.associatedVertex - return self.innerTrack().dxy( vertex.position() ) + return getattr(self,self._trackForDxyDz)().dxy( vertex.position() ) + + def edxy(self): + '''returns the uncertainty on dxy (from gsf track)''' + return getattr(self,self._trackForDxyDz)().dxyError() def dz(self, vertex=None): @@ -61,7 +76,11 @@ def dz(self, vertex=None): ''' if vertex is None: vertex = self.associatedVertex - return self.innerTrack().dz( vertex.position() ) + return getattr(self,self._trackForDxyDz)().dz( vertex.position() ) + + def edz(self): + '''returns the uncertainty on dxz (from gsf track)''' + return getattr(self,self._trackForDxyDz)().dzError() def chargedHadronIsoR(self,R=0.4): if R == 0.3: return self.physObj.pfIsolationR03().sumChargedHadronPt @@ -83,11 +102,31 @@ def chargedAllIsoR(self,R=0.4): elif R == 0.4: return self.physObj.pfIsolationR04().sumChargedParticlePt raise RuntimeError, "Muon chargedAllIso missing for R=%s" % R + def chargedAllIso(self): + return self.chargedAllIsoR() + def puChargedHadronIsoR(self,R=0.4): if R == 0.3: return self.physObj.pfIsolationR03().sumPUPt elif R == 0.4: return self.physObj.pfIsolationR04().sumPUPt raise RuntimeError, "Muon chargedHadronIso missing for R=%s" % R - - + def absIsoWithFSR(self, R=0.4, puCorr="deltaBeta", dBetaFactor=0.5): + ''' + Calculate Isolation, subtract FSR, apply specific PU corrections" + ''' + photonIso = self.photonIsoR(R) + if hasattr(self,'fsrPhotons'): + for gamma in self.fsrPhotons: + dr = deltaR(gamma.eta(), gamma.phi(), self.physObj.eta(), self.physObj.phi()) + if dr > 0.01 and dr < R: + photonIso = max(photonIso-gamma.pt(),0.0) + if puCorr == "deltaBeta": + offset = dBetaFactor * self.puChargedHadronIsoR(R) + elif puCorr == "rhoArea": + offset = self.rho*getattr(self,"EffectiveArea"+(str(R).replace(".",""))) + elif puCorr in ["none","None",None]: + offset = 0 + else: + raise RuntimeError, "Unsupported PU correction scheme %s" % puCorr + return self.chargedHadronIsoR(R)+max(0.,photonIso+self.neutralHadronIsoR(R)-offset) diff --git a/PhysicsTools/Heppy/python/physicsobjects/Photon.py b/PhysicsTools/Heppy/python/physicsobjects/Photon.py index 371b25a05737..2c41b9725d95 100644 --- a/PhysicsTools/Heppy/python/physicsobjects/Photon.py +++ b/PhysicsTools/Heppy/python/physicsobjects/Photon.py @@ -1,19 +1,24 @@ from PhysicsTools.Heppy.physicsobjects.PhysicsObject import * +import ROOT + class Photon(PhysicsObject ): ''' return object from the photon ''' def hOVERe(self): -# return self.physObj.full5x5_hadTowOverEm() - hadTowDepth1O = self.physObj.hadTowDepth1OverEm() * (self.physObj.superCluster().energy()/self.physObj.full5x5_e5x5() if self.physObj.full5x5_e5x5() else 1) - hadTowDepth2O = self.physObj.hadTowDepth2OverEm() * (self.physObj.superCluster().energy()/self.physObj.full5x5_e5x5() if self.physObj.full5x5_e5x5() else 1) - return hadTowDepth1O + hadTowDepth2O + return self.physObj.hadTowOverEm() def r9(self): - return self.physObj.full5x5_r9() + return self.physObj.r9() def sigmaIetaIeta(self): + return self.physObj.sigmaIetaIeta() + + def full5x5_r9(self): + return self.physObj.full5x5_r9() + + def full5x5_sigmaIetaIeta(self): return self.physObj.full5x5_sigmaIetaIeta() def chargedHadronIso(self): @@ -25,15 +30,106 @@ def neutralHadronIso(self): def photonIso(self): return self.physObj.photonIso() - def photonIDCSA14(self, name): + def photonIDCSA14(self, name, sidebands=False): keepThisPhoton = True + sigmaThresh = 999 + hovereThresh = 999 if name == "PhotonCutBasedIDLoose_CSA14": if abs(self.physObj.eta())<1.479 : - if self.physObj.sigmaIetaIeta() > 0.012 : keepThisPhoton = False - if self.hOVERe() > 0.0559 : keepThisPhoton = False + sigmaThresh = 0.010 + hovereThresh = 0.0559 + else : + sigmaThresh = 0.030 + hovereThresh = 0.049 + elif name == "PhotonCutBasedIDLoose_PHYS14": + if abs(self.physObj.eta())<1.479 : + sigmaThresh = 0.0106 + hovereThresh = 0.048 else : - if self.physObj.sigmaIetaIeta() > 0.035 : keepThisPhoton = False - if self.hOVERe() > 0.049 : keepThisPhoton = False + sigmaThresh = 0.0266 + hovereThresh = 0.069 + else : + print "WARNING! Unkown photon ID! Will return true!" + return True + + if sidebands: + if abs(self.physObj.eta())<1.479 : + sigmaThresh = 0.015 + else : + sigmaThresh = 0.035 + + if self.full5x5_sigmaIetaIeta() > sigmaThresh : keepThisPhoton = False + if self.hOVERe() > hovereThresh : keepThisPhoton = False + return keepThisPhoton + + def CutBasedIDWP(self,name): + # recommeneded PHYS14 working points from POG + WPs = { + # https://twiki.cern.ch/twiki/bin/viewauth/CMS/CutBasedPhotonIdentificationRun2#Pointers_for_PHYS14_selection_im + "POG_PHYS14_25ns_Loose": {"conversionVeto": [True,True], "H/E":[0.048,0.069],"sigmaIEtaIEta":[0.0106,0.0266], + "chaHadIso":[2.56,3.12],"neuHadIso":[[3.74,0.0025],[17.11,0.0118]],"phoIso":[[2.68,0.001],[2.70,0.0059]]}, + + "POG_PHYS14_25ns_Medium": {"conversionVeto": [True,True], "H/E":[0.032,0.0166],"sigmaIEtaIEta":[0.0101,0.0264], + "chaHadIso":[1.90,1.95],"neuHadIso":[[2.96,0.0025],[4.42,0.0118]],"phoIso":[[1.39,0.001],[1.89,0.0059]]}, + + "POG_PHYS14_25ns_Tight": {"conversionVeto": [True,True], "H/E":[0.011,0.015],"sigmaIEtaIEta":[0.0099,0.0263], + "chaHadIso":[1.86,1.68],"neuHadIso":[[2.64,0.0025],[4.42,0.0118]],"phoIso":[[1.39,0.001],[1.03,0.0059]]}, + + # https://twiki.cern.ch/twiki/bin/viewauth/CMS/CutBasedPhotonIdentificationRun2#CSA14_selections_for_20_bx_25_sc + "POG_CSA14_25ns_Loose": {"conversionVeto": [True,True], "H/E":[0.553,0.062],"sigmaIEtaIEta":[0.0099,0.0284], + "chaHadIso":[2.49,1.04],"neuHadIso":[[15.43,0.007],[19.71,0.0129]],"phoIso":[[9.42,0.0033],[11.88,0.0108]]}, + + "POG_CSA14_25ns_Medium": {"conversionVeto": [True,True], "H/E":[0.058,0.020],"sigmaIEtaIEta":[0.0099,0.0268], + "chaHadIso":[1.91,0.82],"neuHadIso":[[4.66,0.007],[14.65,0.0129]],"phoIso":[[4.29,0.0033],[4.06,0.0108]]}, + + "POG_CSA14_25ns_Tight": {"conversionVeto": [True,True], "H/E":[0.019,0.016],"sigmaIEtaIEta":[0.0099,0.0263], + "chaHadIso":[1.61,0.69],"neuHadIso":[[3.98,0.007],[4.52,0.0129]],"phoIso":[[3.01,0.0033],[3.61,0.0108]]}, + } + return WPs[name] + + + def etaRegionID(self): + #return 0 if the photon is in barrel and 1 if in endcap + if abs(self.physObj.eta())<1.479 : + idForBarrel = 0 + else: + idForBarrel = 1 + return idForBarrel + + def calScaledIsoValue(self,slope,offset): + return slope*self.pt()+offset + + + def passPhotonID(self,name): + + idForBarrel = self.etaRegionID() + passPhotonID = True + + if self.CutBasedIDWP(name)["conversionVeto"][idForBarrel] and self.physObj.hasPixelSeed(): + passPhotonID = False + + if self.CutBasedIDWP(name)["H/E"][idForBarrel] < self.hOVERe(): + passPhotonID = False + + if self.CutBasedIDWP(name)["sigmaIEtaIEta"][idForBarrel] < self.full5x5_sigmaIetaIeta(): + passPhotonID = False + + if self.CutBasedIDWP(name)["chaHadIso"][idForBarrel] < self.chargedHadronIso(): + passPhotonID = False + + if self.calScaledIsoValue(*self.CutBasedIDWP(name)["neuHadIso"][idForBarrel]) < self.neutralHadronIso(): + passPhotonID = False + + if self.calScaledIsoValue(*self.CutBasedIDWP(name)["phoIso"][idForBarrel]) < self.photonIso(): + passPhotonID = False + + return passPhotonID + + pass + +setattr(ROOT.pat.Photon, "recoPhotonIso", ROOT.reco.Photon.photonIso) +setattr(ROOT.pat.Photon, "recoNeutralHadronIso", ROOT.reco.Photon.neutralHadronIso) +setattr(ROOT.pat.Photon, "recoChargedHadronIso", ROOT.reco.Photon.chargedHadronIso) diff --git a/PhysicsTools/Heppy/python/physicsobjects/Tau.py b/PhysicsTools/Heppy/python/physicsobjects/Tau.py index e20506148b06..917c87360207 100644 --- a/PhysicsTools/Heppy/python/physicsobjects/Tau.py +++ b/PhysicsTools/Heppy/python/physicsobjects/Tau.py @@ -2,46 +2,53 @@ from PhysicsTools.Heppy.physicsutils.TauDecayModes import tauDecayModes import math -cutsElectronMVA3Medium = [0.933,0.921,0.944,0.945,0.918,0.941,0.981,0.943,0.956,0.947,0.951,0.95,0.897,0.958,0.955,0.942] +# Find all tau IDs here: +# https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuidePFTauID#Tau_ID_2014_preparation_for_AN1 +# and the names by which they are accessible with tau.tauId(...) here +# http://cmslxr.fnal.gov/lxr/source/PhysicsTools/PatAlgos/python/producersLayer1/tauProducer_cfi.py -class Tau( Lepton ): +class Tau(Lepton): def __init__(self, tau): self.tau = tau super(Tau, self).__init__(tau) - self.eOverP = None - - # JAN FIXME - check what's available in miniAOD and if we need this at all - def calcEOverP(self): - if self.eOverP is not None: - return self.eOverP - self.leadChargedEnergy = self.tau.leadChargedHadrEcalEnergy() \ - + self.tau.leadChargedHadrHcalEnergy() - # self.leadChargedMomentum = self.tau.leadChargedHadrPt() / math.sin(self.tau.theta()) - self.leadChargedMomentum = self.tau.leadPFChargedHadrCand().energy() - self.eOverP = self.leadChargedEnergy / self.leadChargedMomentum - return self.eOverP - - def relIso(self, dummy1, dummy2): - '''Just making the tau behave as a lepton.''' + + def relIso(self, dBetaFactor=0, allCharged=0): + '''Just making the tau behave as a lepton, with dummy parameters.''' return -1 def mvaId(self): '''For a transparent treatment of electrons, muons and taus. Returns -99''' return -99 - def dxy(self, vertex=None): + def dxy_approx(self, vertex=None): + '''Returns standard dxy for an arbitrary passed vertex''' if vertex is None: vertex = self.associatedVertex - vtx = self.vertex() # FIXME + vtx = self.leadChargedHadrCand().vertex() p4 = self.p4() return ( - (vtx.x()-vertex.position().x()) * p4.y() + (vtx.y()-vertex.position().y()) * p4.x() ) / p4.pt() + def dxy(self, vertex=None): + '''More precise dxy calculation as pre-calculated in the tau object + for the primary vertex it was constructed with. + Returns standard dxy calculation if the passed vertex differs from the + one in the tau object. + ''' + if vertex is None: + vertex = self.associatedVertex + # x/y/z are directly saved in the tau object instead of a reference to + # the PV + if abs(vertex.z() == self.vertex().z()) < 0.0001: + return self.physObj.dxy() + else: + return self.dxy_approx(vertex) + def dz(self, vertex=None): if vertex is None: vertex = self.associatedVertex - vtx = self.vertex() # FIXME + vtx = self.leadChargedHadrCand().vertex() p4 = self.p4() return (vtx.z()-vertex.position().z()) - ((vtx.x()-vertex.position().x())*p4.x()+(vtx.y()-vertex.position().y())*p4.y())/ p4.pt() * p4.z()/ p4.pt() @@ -53,32 +60,17 @@ def zImpact(self, vertex=None): def __str__(self): lep = super(Tau, self).__str__() - return lep - #spec = '\t\tTau: decay = {decMode:<15}, eOverP = {eOverP:4.2f}, isoMVALoose = {isoMVALoose}'.format( - # decMode = tauDecayModes.intToName( self.decayMode() ), - # eOverP = self.calcEOverP(), - # isoMVALoose = self.tauID('byLooseIsoMVA') - # ) - #return '\n'.join([lep, spec]) - - def electronMVA3Medium(self): - '''Custom electron MVA 3 medium WP used for H->tau tau''' - icat = int(round(self.tauID('againstElectronMVA3category'))) - if icat < 0: - return False - elif icat > 15: - return True - - rawMVA = self.tauID('againstElectronMVA3raw') - return rawMVA > cutsElectronMVA3Medium[icat] + spec = '\t\tTau: decay = {decMode:<15}'.format( + decMode = tauDecayModes.intToName(self.decayMode()) + ) + return '\n'.join([lep, spec]) def isTau(leg): '''Duck-typing a tau''' try: - # Taken from BaseTau to work for both PFTaus and PAT Taus - # (can maybe find a less expensive method) - leg.leadTrack() + # Method independently implemented in pat tau and PF tau + leg.leadPFChargedHadrCandsignedSipt() except AttributeError: return False return True diff --git a/PhysicsTools/Heppy/python/physicsutils/DiObject.py b/PhysicsTools/Heppy/python/physicsutils/DiObject.py index 9360d1d96bee..babbfdc68f40 100644 --- a/PhysicsTools/Heppy/python/physicsutils/DiObject.py +++ b/PhysicsTools/Heppy/python/physicsutils/DiObject.py @@ -3,7 +3,7 @@ from PhysicsTools.Heppy.physicsobjects.PhysicsObjects import Muon, Tau, Electron from PhysicsTools.Heppy.physicsobjects.PhysicsObject import PhysicsObject from PhysicsTools.Heppy.physicsobjects.HTauTauElectron import HTauTauElectron -from CMGTools.RootTools.utils.DeltaR import deltaR2 +from PhysicsTools.HeppyCore.utils.deltar import deltaR2 class DiObject( PhysicsObject ): '''Generic di-object class, to handle di-objects from the EDM file diff --git a/PhysicsTools/Heppy/python/physicsutils/ElectronMVAID.py b/PhysicsTools/Heppy/python/physicsutils/ElectronMVAID.py index b655b2a0fc6b..bb39b92113b8 100644 --- a/PhysicsTools/Heppy/python/physicsutils/ElectronMVAID.py +++ b/PhysicsTools/Heppy/python/physicsutils/ElectronMVAID.py @@ -4,13 +4,16 @@ class ElectronMVAID: def __init__(self,name,type,*xmls): self.name = name - self.estimator = ROOT.EGammaMvaEleEstimatorFWLite() # CMGTools one, which is not dummy + self.estimator = ROOT.heppy.EGammaMvaEleEstimatorFWLite() self.sxmls = ROOT.vector(ROOT.string)() for x in xmls: self.sxmls.push_back(x) self.etype = -1 if type == "Trig": self.etype = self.estimator.kTrig; if type == "NonTrig": self.etype = self.estimator.kNonTrig; if type == "TrigNoIP": self.etype = self.estimator.kTrigNoIP; + if type == "TrigCSA14": self.etype = self.estimator.kTrigCSA14; + if type == "NonTrigCSA14": self.etype = self.estimator.kNonTrigCSA14; + if type == "NonTrigPhys14": self.etype = self.estimator.kNonTrigPhys14; if self.etype == -1: raise RuntimeError, "Unknown type %s" % type self._init = False def __call__(self,ele,vtx,rho,full5x5=False,debug=False): @@ -43,3 +46,45 @@ def __call__(self,ele,vtx,rho,full5x5=False,debug=False): "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat5.weights.xml.gz", "EgammaAnalysis/ElectronTools/data/Electrons_BDTG_TrigNoIPV0_2012_Cat6.weights.xml.gz", ) + +ElectronMVAID_TrigCSA14bx50 = ElectronMVAID("BDT", "TrigCSA14", + "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EB_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_50ns_EE_BDT.weights.xml.gz", +) +ElectronMVAID_TrigCSA14bx25 = ElectronMVAID("BDT", "TrigCSA14", + "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EB_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/CSA14/TrigIDMVA_25ns_EE_BDT.weights.xml.gz", +) + +ElectronMVAID_NonTrigCSA14bx25 = ElectronMVAID("BDT", "NonTrigCSA14", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_25ns_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_25ns_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_25ns_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_25ns_BDT.weights.xml.gz", +) +ElectronMVAID_NonTrigCSA14bx50 = ElectronMVAID("BDT", "NonTrigCSA14", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_5_50ns_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_5_50ns_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EB_10_50ns_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/CSA14/EIDmva_EE_10_50ns_BDT.weights.xml.gz", +) + +ElectronMVAID_NonTrigPhys14 = ElectronMVAID("BDT", "NonTrigPhys14", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_5_oldscenario2phys14_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_5_oldscenario2phys14_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_5_oldscenario2phys14_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB1_10_oldscenario2phys14_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EB2_10_oldscenario2phys14_BDT.weights.xml.gz", + "EgammaAnalysis/ElectronTools/data/PHYS14/EIDmva_EE_10_oldscenario2phys14_BDT.weights.xml.gz", +) + +ElectronMVAID_ByName = { + 'Trig':ElectronMVAID_Trig, + 'NonTrig':ElectronMVAID_NonTrig, + 'TrigNoIP':ElectronMVAID_TrigNoIP, + 'TrigCSA14bx50':ElectronMVAID_TrigCSA14bx50, + 'TrigCSA14bx25':ElectronMVAID_TrigCSA14bx25, + 'NonTrigCSA14bx25':ElectronMVAID_NonTrigCSA14bx25, + 'NonTrigCSA14bx50':ElectronMVAID_NonTrigCSA14bx50, + 'NonTrigPhys14':ElectronMVAID_NonTrigPhys14, +} diff --git a/PhysicsTools/Heppy/python/physicsutils/QGLikelihoodCalculator.py b/PhysicsTools/Heppy/python/physicsutils/QGLikelihoodCalculator.py index fbe311297277..3d11392c76df 100644 --- a/PhysicsTools/Heppy/python/physicsutils/QGLikelihoodCalculator.py +++ b/PhysicsTools/Heppy/python/physicsutils/QGLikelihoodCalculator.py @@ -1,4 +1,5 @@ import ROOT +import math @@ -19,8 +20,7 @@ class QGLikelihoodCalculator: def __init__(self, filename) : self.pdfs = {} self.etaBins = [] - self.ptBinsC = [] - self.ptBinsF = [] + self.ptBins = [] self.rhoBins = [] self.varNames = { 0:'mult', 1:'ptD', 2:'axis2' } self.qgNames = { 0:'quark', 1:'gluon' } @@ -34,8 +34,7 @@ def init(self, filename) : if f.IsZombie() : return False try : self.etaBins = f.Get("etaBins") - self.ptBinsC = f.Get("ptBinsC") - self.ptBinsF = f.Get("ptBinsF") + self.ptBins = f.Get("ptBins") self.rhoBins = f.Get("rhoBins") except : return False @@ -60,8 +59,8 @@ def init(self, filename) : def isValidRange( self, pt, rho, eta ) : - if pt < self.ptBinsC[0]: return False - if pt > self.ptBinsC[len(self.ptBinsC)-1]: return False + if pt < self.ptBins[0]: return False + if pt > self.ptBins[len(self.ptBins)-1]: return False if rho < self.rhoBins[0]: return False if rho > self.rhoBins[len(self.rhoBins)-1]: return False if math.fabs(eta) < self.etaBins[0]: return False @@ -75,16 +74,13 @@ def findEntry( self, eta, pt, rho, qgIndex, varIndex ) : etaBin = getBinNumber( self.etaBins, math.fabs(eta)) if etaBin==-1: return None - elif etaBin==0 : - ptBin = getBinNumber( self.ptBinsC, pt ) - else : - ptBin = getBinNumber( self.ptBinsF, pt ) + ptBin = getBinNumber( self.ptBins, pt ) if ptBin==-1 : return None rhoBin = getBinNumber( self.rhoBins, rho ) if rhoBin==-1 : return None - histName = self.varNames[varIndex] + "_" + self.qgNames[qgIndex] + "_eta-" + str(etaBin) + "_pt-" + str(ptBin) + "_rho-" + str(rhoBin) + histName = self.varNames[varIndex] + "_" + self.qgNames[qgIndex] + "_eta" + str(etaBin) + "_pt" + str(ptBin) + "_rho" + str(rhoBin) return self.pdfs[histName] diff --git a/PhysicsTools/Heppy/python/physicsutils/TauDecayModes.py b/PhysicsTools/Heppy/python/physicsutils/TauDecayModes.py index 82cda85e42c9..a97537a00b03 100644 --- a/PhysicsTools/Heppy/python/physicsutils/TauDecayModes.py +++ b/PhysicsTools/Heppy/python/physicsutils/TauDecayModes.py @@ -1,4 +1,3 @@ -print 'importing' class TauDecayModes( object ): @@ -9,6 +8,7 @@ def _decayModes(self): '''Builds the internal dictionaries from the enum defined in http://cmslxr.fnal.gov/lxr/source/DataFormats/TauReco/interface/PFTau.h''' tmp = [ + 'kNull', 'kOneProng0PiZero', 'kOneProng1PiZero', 'kOneProng2PiZero', @@ -26,7 +26,7 @@ def _decayModes(self): 'kThreeProngNPiZero', 'kRareDecayMode' ] - self.decayModes = dict( (index, name) for index,name in enumerate( tmp ) ) + self.decayModes = dict( (index-1, name) for index, name in enumerate( tmp ) ) self.decayModeNames = dict( (value, key) for key, value \ in self.decayModes.iteritems() ) @@ -41,6 +41,99 @@ def nameToInt( self, aName ): def __str__(self): return str( self.decayModes ) + def genDecayModeInt(self, daughters): + dm = self.genDecayMode(daughters) + return self.translateGenModeToInt(dm) + + def genDecayModeFromJetInt(self, c): + dm = self.genDecayModeFromGenJet(c) + return self.translateGenModeToInt(dm) + + def translateGenModeToInt(self, dm): + if dm in self.decayModeNames: + return self.nameToInt(dm) + elif dm == 'electron': + return -11 + elif dm == 'muon': + return -13 + elif dm == 'kOneProngOther': + return 100 # one-prong + 100 + elif dm == 'kThreeProngOther': + return 110 # three-prong + 100 + return -99 + + @staticmethod + def genDecayModeFromGenJet(c): + ''' Returns generated tau decay mode. Needs to be called on genJet + as stored in pat::Tau, if available. + + Translated from PhysicsTools/JetMCUtils/interface/JetMCTag.h, + which is not available in FWlite. + ''' + + daughters = c.daughterPtrVector() + + return TauDecayModes.genDecayMode(daughters) + + @staticmethod + def genDecayMode(daughters): + ''' Returns the generated tau decay mode based on a passed list of all + final daughters before further decay (as contained in miniAOD). + ''' + numElectrons = 0 + numMuons = 0 + numChargedHadrons = 0 + numNeutralHadrons = 0 + numPhotons = 0 + + for daughter in daughters: + pdg_id = abs(daughter.pdgId()) + if pdg_id == 22: + numPhotons += 1 + elif pdg_id == 11: + numElectrons +=1 + elif pdg_id == 13: + numMuons += 1 + else: + if daughter.charge() != 0: + numChargedHadrons += 1 + elif pdg_id not in [12, 14, 16]: + numNeutralHadrons += 1 + + if numElectrons == 1: + return "electron" + if numMuons == 1: + return "muon" + + if numChargedHadrons == 1: + if numNeutralHadrons != 0: + return "kOneProngOther" + if numPhotons == 0: + return "kOneProng0PiZero" + elif numPhotons == 2: + return "kOneProng1PiZero" + elif numPhotons == 4: + return "kOneProng2PiZero" + elif numPhotons == 6: + return "kOneProng3PiZero" + else: + return "kOneProngNPiZero" + elif numChargedHadrons == 3: + if numNeutralHadrons != 0: + return "kThreeProngOther" + if numPhotons == 0: + return "kThreeProng0PiZero" + elif numPhotons == 2: + return "kThreeProng1PiZero" + elif numPhotons == 4: + return "kThreeProng2PiZero" + elif numPhotons == 6: + return "kThreeProng3PiZero" + else: + return "kThreeProngNPiZero" + + return "kRareDecayMode" + tauDecayModes = TauDecayModes() if __name__ == '__main__': diff --git a/CMGTools/RootTools/python/utils/TriggerMatching.py b/PhysicsTools/Heppy/python/physicsutils/TriggerMatching.py similarity index 97% rename from CMGTools/RootTools/python/utils/TriggerMatching.py rename to PhysicsTools/Heppy/python/physicsutils/TriggerMatching.py index edb2a587cf4f..7cc33d343466 100644 --- a/CMGTools/RootTools/python/utils/TriggerMatching.py +++ b/PhysicsTools/Heppy/python/physicsutils/TriggerMatching.py @@ -1,6 +1,6 @@ import fnmatch import math -from CMGTools.RootTools.utils.DeltaR import deltaR2 +from PhysicsTools.HeppyCore.utils.deltar import deltaR2 def triggerMatched( object, triggerObjects, path, filter, dR2Max=0.089999, dRMax=0., pdgIds=None, index=False): diff --git a/PhysicsTools/Heppy/python/physicsutils/VBF.py b/PhysicsTools/Heppy/python/physicsutils/VBF.py index 2dc19e975140..07b4fe4c24aa 100644 --- a/PhysicsTools/Heppy/python/physicsutils/VBF.py +++ b/PhysicsTools/Heppy/python/physicsutils/VBF.py @@ -1,6 +1,6 @@ import math from ROOT import TLorentzVector -from CMGTools.RootTools.utils.DeltaR import deltaPhi, deltaR2 +from PhysicsTools.HeppyCore.utils.deltar import deltaPhi,deltaR2 class VBF( object ): '''Computes and holds VBF quantities''' diff --git a/PhysicsTools/Heppy/python/utils/cmsswPreprocessor.py b/PhysicsTools/Heppy/python/utils/cmsswPreprocessor.py new file mode 100644 index 000000000000..4de2c8f1302b --- /dev/null +++ b/PhysicsTools/Heppy/python/utils/cmsswPreprocessor.py @@ -0,0 +1,46 @@ +import os +import re +import imp +from PhysicsTools.HeppyCore.framework.config import CFG +class CmsswPreprocessor : + def __init__(self,configFile,command="cmsRun") : + self.configFile=configFile + self.command=command + + def run(self,component,wd,firstEvent,nEvents): + print wd,firstEvent,nEvents + if nEvents is None: + nEvents = -1 + cmsswConfig = imp.load_source("cmsRunProcess",os.path.expandvars(self.configFile)) + inputfiles= [] + for fn in component.files : + if not re.match("file:.*",fn) and not re.match("root:.*",fn) : + fn="file:"+fn + inputfiles.append(fn) + cmsswConfig.process.source.fileNames = inputfiles + cmsswConfig.process.maxEvents.input=nEvents + #fixme: implement skipEvent / firstevent + + outfilename=wd+"/cmsswPreProcessing.root" + for outName in cmsswConfig.process.endpath.moduleNames() : + out = getattr(cmsswConfig.process,outName) + out.fileName = outfilename + if not hasattr(component,"options"): + component.options = CFG(name="postCmsrunOptions") + #use original as primary and new as secondary + #component.options.inputFiles= component.files + #component.options.secondaryInputFiles=[outfilename] + + #use new as primary and original as secondary + component.options.secondaryInputFiles= component.files + component.options.inputFiles=[outfilename] + component.files=[outfilename] + + configfile=wd+"/cmsRun_config.py" + f = open(configfile, 'w') + f.write(cmsswConfig.process.dumpPython()) + f.close() + runstring="%s %s >& %s/cmsRun.log" % (self.command,configfile,wd) + print "Running pre-processor: %s " %runstring + os.system(runstring) + return component diff --git a/PhysicsTools/Heppy/python/utils/cmsswRelease.py b/PhysicsTools/Heppy/python/utils/cmsswRelease.py index 4af276809cce..bb70d16e3fea 100644 --- a/PhysicsTools/Heppy/python/utils/cmsswRelease.py +++ b/PhysicsTools/Heppy/python/utils/cmsswRelease.py @@ -2,7 +2,8 @@ import re def cmsswRelease(): -## return os.environ['CMSSW_BASE'].split('/')[-1] + #return os.environ['CMSSW_BASE'].split('/')[-1] + #this also works when the CMSSW directory is renamed return os.environ['CMSSW_VERSION'] def cmsswIs44X(): diff --git a/PhysicsTools/Heppy/python/utils/miniAodFiles.py b/PhysicsTools/Heppy/python/utils/miniAodFiles.py index 3b44d42006f7..0629a493d9a1 100644 --- a/PhysicsTools/Heppy/python/utils/miniAodFiles.py +++ b/PhysicsTools/Heppy/python/utils/miniAodFiles.py @@ -23,6 +23,11 @@ def miniAodFiles(): files = [ '/store/relval/CMSSW_7_3_0_pre1/RelValZMM_13/MINIAODSIM/PU25ns_PRE_LS172_V15-v1/00000/582D0582-355F-E411-9F30-02163E006D72.root' ] + elif (big,medium)==(7,4): + files = [ + '/store/relval/CMSSW_7_4_0_pre2/RelValZMM_13/MINIAODSIM/PU25ns_MCRUN2_73_V7-v1/00000/1ACF00C3-E09A-E411-BB34-0025905AA9F0.root', + '/store/relval/CMSSW_7_4_0_pre2/RelValZMM_13/MINIAODSIM/PU25ns_MCRUN2_73_V7-v1/00000/4E1864C4-E09A-E411-98F8-0025905B861C.root' + ] else: raise ValueError('no mini AOD file defined for release '+cmsswRelease()) eosfiles = [''.join(['root://eoscms//eos/cms', lfn]) for lfn in files] diff --git a/PhysicsTools/Heppy/src/Apc.cc b/PhysicsTools/Heppy/src/Apc.cc new file mode 100644 index 000000000000..5709dd32702e --- /dev/null +++ b/PhysicsTools/Heppy/src/Apc.cc @@ -0,0 +1,68 @@ +#include "PhysicsTools/Heppy/interface/Apc.h" +#include "DataFormats/Math/interface/deltaPhi.h" +#include "DataFormats/Math/interface/deltaR.h" + + +#include +#include +#include +#include +#include + +namespace heppy { + + double Apc::getApcJetMetMin( const std::vector& et, + const std::vector& px, + const std::vector& py, + const double metx, const double mety) { + + if(et.size()==0) return -1.; + + // Momentum sums in transverse plane + const double ht = accumulate( et.begin(), et.end(), 0. ); + + // jets are pt-sorted + double firstjet_phi = atan2(py[0], px[0]); + + double apcjet(0.), apcmet(0.), apcjetmet(0.); + double apcjetmetmin(0.); + + for (size_t i = 0; i < et.size(); i++) { + double jet_phi = atan2(py[i], px[i]); + double met_phi = atan2(mety, metx); + + double dphisignaljet = fabs(deltaPhi(jet_phi,firstjet_phi)); + double dphimet = fabs(deltaPhi(jet_phi, met_phi)); + + apcjet += et[i] * cos(dphisignaljet/2.0); + apcmet += et[i] * sin(dphimet/2.0); + apcjetmet += et[i] * cos(dphisignaljet/2.0) * sin(dphimet/2.0); + } + + + std::vector apcjetvector; + std::vector apcjetmetvector; + for (size_t j = 0; j < et.size(); j++) { + apcjetvector.push_back(0.); + apcjetmetvector.push_back(0.); + double jet_phi_j = atan2(py[j], px[j]); + for (size_t i = 0; i < et.size(); i++) { + double jet_phi_i = atan2(py[i], px[i]); + double dphi_jet = fabs(deltaPhi(jet_phi_i, jet_phi_j)); + double met_phi = atan2(mety, metx); + double dphimet = fabs(deltaPhi(jet_phi_i, met_phi)); + + apcjetvector.back() += et[i] * cos(dphi_jet/2.0); + apcjetmetvector.back() += et[i] * cos(dphi_jet/2.0) * sin(dphimet/2.0); + } + } + if (apcjetvector.size() > 0 && apcjetmetvector.size() > 0) { + apcjetmetmin = *min_element(apcjetmetvector.begin(), apcjetmetvector.end()); + } + + + if (ht != 0) return apcjetmetmin / ht; + else return -1.; + + } +} diff --git a/PhysicsTools/Heppy/src/Davismt2.cc b/PhysicsTools/Heppy/src/Davismt2.cc index 4710a13da741..924ddf30e722 100644 --- a/PhysicsTools/Heppy/src/Davismt2.cc +++ b/PhysicsTools/Heppy/src/Davismt2.cc @@ -42,7 +42,7 @@ namespace heppy { /*The user can change the desired precision below, the larger one of the following two definitions is used. Relative precision less than 0.00001 is not guaranteed to be achievable--use with caution*/ -const float Davismt2::RELATIVE_PRECISION = 0.0001; +const float Davismt2::RELATIVE_PRECISION = 0.00001; const float Davismt2::ABSOLUTE_PRECISION = 0.0; const float Davismt2::ZERO_MASS = 0.0; const float Davismt2::MIN_MASS = 0.1; diff --git a/PhysicsTools/Heppy/src/EGammaMvaEleEstimatorFWLite.cc b/PhysicsTools/Heppy/src/EGammaMvaEleEstimatorFWLite.cc index 1b2d47b48c94..e464f60b8162 100644 --- a/PhysicsTools/Heppy/src/EGammaMvaEleEstimatorFWLite.cc +++ b/PhysicsTools/Heppy/src/EGammaMvaEleEstimatorFWLite.cc @@ -1,18 +1,21 @@ #include "PhysicsTools/Heppy/interface/EGammaMvaEleEstimatorFWLite.h" #include "EgammaAnalysis/ElectronTools/interface/EGammaMvaEleEstimator.h" +#include "EgammaAnalysis/ElectronTools/interface/EGammaMvaEleEstimatorCSA14.h" #include "FWCore/ParameterSet/interface/FileInPath.h" namespace heppy { EGammaMvaEleEstimatorFWLite::EGammaMvaEleEstimatorFWLite() : - estimator_(0) + estimator_(0), + estimatorCSA14_(0) { } EGammaMvaEleEstimatorFWLite::~EGammaMvaEleEstimatorFWLite() { delete estimator_; + delete estimatorCSA14_; } void EGammaMvaEleEstimatorFWLite::initialize( std::string methodName, @@ -20,20 +23,40 @@ void EGammaMvaEleEstimatorFWLite::initialize( std::string methodName, bool useBinnedVersion, std::vector weightsfiles ) { - EGammaMvaEleEstimator::MVAType pogType; - switch(type) { - case EGammaMvaEleEstimatorFWLite::kTrig: pogType = EGammaMvaEleEstimator::kTrig; break; - case EGammaMvaEleEstimatorFWLite::kTrigNoIP: pogType = EGammaMvaEleEstimator::kTrigNoIP; break; - case EGammaMvaEleEstimatorFWLite::kNonTrig: pogType = EGammaMvaEleEstimator::kNonTrig; break; - default: - return; - } - estimator_ = new EGammaMvaEleEstimator(); + delete estimator_; estimator_ = 0; + delete estimatorCSA14_; estimatorCSA14_ = 0; std::vector weightspaths; for (const std::string &s : weightsfiles) { weightspaths.push_back( edm::FileInPath(s).fullPath() ); } - estimator_->initialize(methodName, pogType, useBinnedVersion, weightspaths); + switch(type) { + case EGammaMvaEleEstimatorFWLite::kTrig: + estimator_ = new EGammaMvaEleEstimator(); + estimator_->initialize(methodName, EGammaMvaEleEstimator::kTrig, useBinnedVersion, weightspaths); + break; + case EGammaMvaEleEstimatorFWLite::kTrigNoIP: + estimator_ = new EGammaMvaEleEstimator(); + estimator_->initialize(methodName, EGammaMvaEleEstimator::kTrigNoIP, useBinnedVersion, weightspaths); + break; + case EGammaMvaEleEstimatorFWLite::kNonTrig: + estimator_ = new EGammaMvaEleEstimator(); + estimator_->initialize(methodName, EGammaMvaEleEstimator::kNonTrig, useBinnedVersion, weightspaths); + break; + case EGammaMvaEleEstimatorFWLite::kTrigCSA14: + estimatorCSA14_ = new EGammaMvaEleEstimatorCSA14(); + estimatorCSA14_->initialize(methodName, EGammaMvaEleEstimatorCSA14::kTrig, useBinnedVersion, weightspaths); + break; + case EGammaMvaEleEstimatorFWLite::kNonTrigCSA14: + estimatorCSA14_ = new EGammaMvaEleEstimatorCSA14(); + estimatorCSA14_->initialize(methodName, EGammaMvaEleEstimatorCSA14::kNonTrig, useBinnedVersion, weightspaths); + break; + case EGammaMvaEleEstimatorFWLite::kNonTrigPhys14: + estimatorCSA14_ = new EGammaMvaEleEstimatorCSA14(); + estimatorCSA14_->initialize(methodName, EGammaMvaEleEstimatorCSA14::kNonTrigPhys14, useBinnedVersion, weightspaths); + break; + default: + return; + } } float EGammaMvaEleEstimatorFWLite::mvaValue(const pat::Electron& ele, @@ -42,9 +65,9 @@ float EGammaMvaEleEstimatorFWLite::mvaValue(const pat::Electron& ele, bool full5x5, bool printDebug) { - return -1.; -//FIXME -// return estimator_->mvaValue(ele,vertex,rho,full5x5,printDebug); + if (estimator_) return estimator_->mvaValue(ele,vertex,rho,full5x5,printDebug); + else if (estimatorCSA14_) return estimatorCSA14_->mvaValue(ele,printDebug); + else throw cms::Exception("LogicError", "You must call unitialize before mvaValue\n"); } } diff --git a/PhysicsTools/Heppy/src/IsolationComputer.cc b/PhysicsTools/Heppy/src/IsolationComputer.cc new file mode 100644 index 000000000000..9a99c20a5b9d --- /dev/null +++ b/PhysicsTools/Heppy/src/IsolationComputer.cc @@ -0,0 +1,194 @@ +#include "PhysicsTools/Heppy/interface/IsolationComputer.h" +#include "DataFormats/Math/interface/deltaR.h" + +#include +namespace { + struct ByEta { + bool operator()(const pat::PackedCandidate *c1, const pat::PackedCandidate *c2) const { + return c1->eta() < c2->eta(); + } + bool operator()(float c1eta, const pat::PackedCandidate *c2) const { + return c1eta < c2->eta(); + } + bool operator()(const pat::PackedCandidate *c1, float c2eta) const { + return c1->eta() < c2eta; + } + }; +} +void heppy::IsolationComputer::setPackedCandidates(const std::vector & all, int fromPV_thresh, float dz_thresh, bool also_leptons) +{ + allcands_ = &all; + charged_.clear(); neutral_.clear(); pileup_.clear(); + + for (const pat::PackedCandidate &p : all) { + if (p.charge() == 0) { + neutral_.push_back(&p); + } else { + + if ( (abs(p.pdgId()) == 211 ) || ( also_leptons && ((abs(p.pdgId()) == 11 ) || (abs(p.pdgId()) == 13 )) ) ) { + + if (p.fromPV() > fromPV_thresh && fabs(p.dz()) < dz_thresh ) { + charged_.push_back(&p); + } else { + pileup_.push_back(&p); + } + + } + + } + } + if (weightCone_ > 0) weights_.resize(neutral_.size()); + std::fill(weights_.begin(), weights_.end(), -1.f); + std::sort(charged_.begin(), charged_.end(), ByEta()); + std::sort(neutral_.begin(), neutral_.end(), ByEta()); + std::sort(pileup_.begin(), pileup_.end(), ByEta()); + clearVetos(); +} + +/// veto footprint from this candidate +void heppy::IsolationComputer::addVetos(const reco::Candidate &cand) { + for (unsigned int i = 0, n = cand.numberOfSourceCandidatePtrs(); i < n; ++i) { + const reco::CandidatePtr &cp = cand.sourceCandidatePtr(i); + if (cp.isNonnull() && cp.isAvailable()) vetos_.push_back(&*cp); + } +} + +/// clear all vetos +void heppy::IsolationComputer::clearVetos() { + vetos_.clear(); +} + +/// Isolation from charged from the PV +float heppy::IsolationComputer::chargedAbsIso(const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto) const { + return isoSumRaw(charged_, cand, dR, innerR, threshold, selfVeto); +} + +/// Isolation from charged from PU +float heppy::IsolationComputer::puAbsIso(const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto) const { + return isoSumRaw(pileup_, cand, dR, innerR, threshold, selfVeto); +} + +float heppy::IsolationComputer::neutralAbsIsoRaw(const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto) const { + return isoSumRaw(neutral_, cand, dR, innerR, threshold, selfVeto); +} + +float heppy::IsolationComputer::neutralAbsIsoWeighted(const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto) const { + return isoSumNeutralsWeighted(cand, dR, innerR, threshold, selfVeto); +} + +float heppy::IsolationComputer::neutralHadAbsIsoRaw(const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto) const { + return isoSumRaw(neutral_, cand, dR, innerR, threshold, selfVeto, 130); +} + +float heppy::IsolationComputer::neutralHadAbsIsoWeighted(const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto) const { + return isoSumNeutralsWeighted(cand, dR, innerR, threshold, selfVeto, 130); +} + +float heppy::IsolationComputer::photonAbsIsoRaw(const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto) const { + return isoSumRaw(neutral_, cand, dR, innerR, threshold, selfVeto, 22); +} + +float heppy::IsolationComputer::photonAbsIsoWeighted(const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto) const { + return isoSumNeutralsWeighted(cand, dR, innerR, threshold, selfVeto, 22); +} + +float heppy::IsolationComputer::isoSumRaw(const std::vector & cands, const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto, int pdgId) const +{ + float dR2 = dR*dR, innerR2 = innerR*innerR; + + std::vector vetos(vetos_); + for (unsigned int i = 0, n = cand.numberOfSourceCandidatePtrs(); i < n; ++i) { + if (selfVeto == selfVetoNone) break; + const reco::CandidatePtr &cp = cand.sourceCandidatePtr(i); + if (cp.isNonnull() && cp.isAvailable()) { + vetos.push_back(&*cp); + if (selfVeto == selfVetoFirst) break; + } + } + + typedef std::vector::const_iterator IT; + IT candsbegin = std::lower_bound(cands.begin(), cands.end(), cand.eta() - dR, ByEta()); + IT candsend = std::upper_bound(candsbegin, cands.end(), cand.eta() + dR, ByEta()); + + double isosum = 0; + for (IT icharged = candsbegin; icharged < candsend; ++icharged) { + // pdgId + if (pdgId > 0 && abs((*icharged)->pdgId()) != pdgId) continue; + // threshold + if (threshold > 0 && (*icharged)->pt() < threshold) continue; + // cone + float mydr2 = reco::deltaR2(**icharged, cand); + if (mydr2 >= dR2 || mydr2 < innerR2) continue; + // veto + if (std::find(vetos.begin(), vetos.end(), *icharged) != vetos.end()) { + continue; + } + // add to sum + isosum += (*icharged)->pt(); + } + return isosum; +} + +float heppy::IsolationComputer::isoSumNeutralsWeighted(const reco::Candidate &cand, float dR, float innerR, float threshold, SelfVetoPolicy selfVeto, int pdgId) const +{ + if (weightCone_ <= 0) throw cms::Exception("LogicError", "you must set a valid weight cone to use this method"); + float dR2 = dR*dR, innerR2 = innerR*innerR, weightCone2 = weightCone_*weightCone_; + + std::vector vetos(vetos_); + for (unsigned int i = 0, n = cand.numberOfSourceCandidatePtrs(); i < n; ++i) { + if (selfVeto == selfVetoNone) break; + const reco::CandidatePtr &cp = cand.sourceCandidatePtr(i); + if (cp.isNonnull() && cp.isAvailable()) { + vetos.push_back(&*cp); + if (selfVeto == selfVetoFirst) break; + } + } + + typedef std::vector::const_iterator IT; + IT charged_begin = std::lower_bound(charged_.begin(), charged_.end(), cand.eta() - dR - weightCone_, ByEta()); + IT charged_end = std::upper_bound(charged_begin, charged_.end(), cand.eta() + dR + weightCone_, ByEta()); + IT pileup_begin = std::lower_bound(pileup_.begin(), pileup_.end(), cand.eta() - dR - weightCone_, ByEta()); + IT pileup_end = std::upper_bound(pileup_begin, pileup_.end(), cand.eta() + dR + weightCone_, ByEta()); + IT neutral_begin = std::lower_bound(neutral_.begin(), neutral_.end(), cand.eta() - dR, ByEta()); + IT neutral_end = std::upper_bound(neutral_begin, neutral_.end(), cand.eta() + dR, ByEta()); + + double isosum = 0.0; + for (IT ineutral = neutral_begin; ineutral < neutral_end; ++ineutral) { + // pdgId + if (pdgId > 0 && abs((*ineutral)->pdgId()) != pdgId) continue; + // threshold + if (threshold > 0 && (*ineutral)->pt() < threshold) continue; + // cone + float mydr2 = reco::deltaR2(**ineutral, cand); + if (mydr2 >= dR2 || mydr2 < innerR2) continue; + // veto + if (std::find(vetos.begin(), vetos.end(), *ineutral) != vetos.end()) { + continue; + } + // weight + float &w = weights_[ineutral-neutral_.begin()]; + if (w == -1.f) { + double sumc = 0, sump = 0.0; + for (IT icharged = charged_begin; icharged < charged_end; ++icharged) { + float hisdr2 = std::max(reco::deltaR2(**icharged, **ineutral), 0.01f); + if (hisdr2 > weightCone2) continue; + if (std::find(vetos_.begin(), vetos_.end(), *icharged) != vetos_.end()) { + continue; + } + sumc += std::log( (*icharged)->pt() / std::sqrt(hisdr2) ); + } + for (IT ipileup = pileup_begin; ipileup < pileup_end; ++ipileup) { + float hisdr2 = std::max(reco::deltaR2(**ipileup, **ineutral), 0.01f); + if (hisdr2 > weightCone2) continue; + if (std::find(vetos_.begin(), vetos_.end(), *ipileup) != vetos_.end()) { + continue; + } + sumc += std::log( (*ipileup)->pt() / std::sqrt(hisdr2) ); + } + w = (sump == 0 ? 1 : sumc/(sump+sumc)); + } + // add to sum + isosum += w * (*ineutral)->pt(); + } + return isosum; +} diff --git a/PhysicsTools/Heppy/src/Megajet.cc b/PhysicsTools/Heppy/src/Megajet.cc new file mode 100644 index 000000000000..c4bac1d920f0 --- /dev/null +++ b/PhysicsTools/Heppy/src/Megajet.cc @@ -0,0 +1,225 @@ +#include "PhysicsTools/Heppy/interface/Megajet.h" + +#include +#include +#include + +using namespace std; + +namespace heppy { + +// constructor specifying the association methods +Megajet::Megajet(vector Px_vector, vector Py_vector, vector Pz_vector, + vector E_vector, int megajet_association_method) : + Object_Px(Px_vector), Object_Py(Py_vector), Object_Pz(Pz_vector), Object_E(E_vector), + megajet_meth(megajet_association_method), status(0) { + + if(Object_Px.size() < 2) cout << "Error in Megajet: you should provide at least two jets to form Megajets" << endl; + for(int j=0; j<(int)jIN.size(); ++j) { + jIN.push_back(TLorentzVector(Object_Px[j],Object_Py[j],Object_Pz[j],Object_E[j])); + } +} + +// constructor without specification of the seed and association methods +// in this case, the latter must be given by calling SetMethod before invoking Combine() +Megajet::Megajet(vector Px_vector, vector Py_vector, vector Pz_vector, + vector E_vector) : + Object_Px(Px_vector), Object_Py(Py_vector), Object_Pz(Pz_vector), Object_E(E_vector), + status(0) { + + if(Object_Px.size() < 2) cout << "Error in Megajet: you should provide at least two jets to form Megajets" << endl; + for(int j=0; j<(int)jIN.size(); ++j) { + jIN.push_back(TLorentzVector(Object_Px[j],Object_Py[j],Object_Pz[j],Object_E[j])); + } +} + +vector Megajet::getAxis1(){ + if (status != 1) { + this->Combine(); + if( megajet_meth == 1) this->CombineMinMass(); + else if(megajet_meth == 2) this->CombineMinHT(); + else if(megajet_meth == 3) this->CombineMinEnergyMass(); + else if(megajet_meth == 4) this->CombineGeorgi(); + else this->CombineMinMass(); + } + if(jIN.size() > 1) { + Axis1[0] = jOUT[0].Px() / jOUT[0].P(); + Axis1[1] = jOUT[0].Py() / jOUT[0].P(); + Axis1[2] = jOUT[0].Pz() / jOUT[0].P(); + Axis1[3] = jOUT[0].P(); + Axis1[4] = jOUT[0].E(); + } + return Axis1; +} +vector Megajet::getAxis2(){ + if (status != 1) { + this->Combine(); + if( megajet_meth == 1) this->CombineMinMass(); + else if(megajet_meth == 2) this->CombineMinHT(); + else if(megajet_meth == 3) this->CombineMinEnergyMass(); + else if(megajet_meth == 4) this->CombineGeorgi(); + else this->CombineMinMass(); + } + if(jIN.size() > 1) { + Axis2[0] = jOUT[1].Px() / jOUT[1].P(); + Axis2[1] = jOUT[1].Py() / jOUT[1].P(); + Axis2[2] = jOUT[1].Pz() / jOUT[1].P(); + Axis2[3] = jOUT[1].P(); + Axis2[4] = jOUT[1].E(); + } + return Axis2; +} + +void Megajet::Combine() { + int N_JETS = (int)jIN.size(); + + int N_comb = 1; + for(int i = 0; i < N_JETS; i++){ + N_comb *= 2; + } + + // clear some vectors if method Combine() is called again + if ( !j1.empty() ) { + j1.clear(); + j2.clear(); + Axis1.clear(); + Axis2.clear(); + } + + for(int j = 0; j < 5; ++j){ + Axis1.push_back(0); + Axis2.push_back(0); + } + + int j_count; + for(int i = 1; i < N_comb-1; i++){ + TLorentzVector j_temp1, j_temp2; + int itemp = i; + j_count = N_comb/2; + int count = 0; + while(j_count > 0){ + if(itemp/j_count == 1){ + j_temp1 += jIN[count]; + } else { + j_temp2 += jIN[count]; + } + itemp -= j_count*(itemp/j_count); + j_count /= 2; + count++; + } + + j1.push_back(j_temp1); + j2.push_back(j_temp2); + } +} + +void Megajet::CombineMinMass() { + double M_min = -1; + // default value (in case none is found) + TLorentzVector myJ1 = TLorentzVector(0,0,0,0); + TLorentzVector myJ2 = TLorentzVector(0,0,0,0); + for(int i=0; i<(int)j1.size(); i++) { + double M_temp = j1[i].M2()+j2[i].M2(); + if(M_min < 0 || M_temp < M_min){ + M_min = M_temp; + myJ1 = j1[i]; + myJ2 = j2[i]; + } + } + // myJ1.SetPtEtaPhiM(myJ1.Pt(),myJ1.Eta(),myJ1.Phi(),0.0); + // myJ2.SetPtEtaPhiM(myJ2.Pt(),myJ2.Eta(),myJ2.Phi(),0.0); + + jOUT.clear(); + if(myJ1.Pt() > myJ2.Pt()){ + jOUT.push_back(myJ1); + jOUT.push_back(myJ2); + } else { + jOUT.push_back(myJ2); + jOUT.push_back(myJ1); + } + status=1; +} + +void Megajet::CombineMinEnergyMass() { + double M_min = -1; + // default value (in case none is found) + TLorentzVector myJ1 = TLorentzVector(0,0,0,0); + TLorentzVector myJ2 = TLorentzVector(0,0,0,0); + for(int i=0; i<(int)j1.size(); i++) { + double M_temp = j1[i].M2()/j1[i].E()+j2[i].M2()/j2[i].E(); + if(M_min < 0 || M_temp < M_min){ + M_min = M_temp; + myJ1 = j1[i]; + myJ2 = j2[i]; + } + } + + // myJ1.SetPtEtaPhiM(myJ1.Pt(),myJ1.Eta(),myJ1.Phi(),0.0); + // myJ2.SetPtEtaPhiM(myJ2.Pt(),myJ2.Eta(),myJ2.Phi(),0.0); + + jOUT.clear(); + if(myJ1.Pt() > myJ2.Pt()){ + jOUT.push_back(myJ1); + jOUT.push_back(myJ2); + } else { + jOUT.push_back(myJ2); + jOUT.push_back(myJ1); + } + status=1; +} + +void Megajet::CombineGeorgi(){ + double M_max = -10000; + // default value (in case none is found) + TLorentzVector myJ1 = TLorentzVector(0,0,0,0); + TLorentzVector myJ2 = TLorentzVector(0,0,0,0); + for(int i=0; i<(int)j1.size(); i++) { + int myBeta = 2; + double M_temp = (j1[i].E()-myBeta*j1[i].M2()/j1[i].E())+(j2[i].E()-myBeta*j2[i].M2()/j2[i].E()); + if(M_max < -9999 || M_temp > M_max){ + M_max = M_temp; + myJ1 = j1[i]; + myJ2 = j2[i]; + } + } + + // myJ1.SetPtEtaPhiM(myJ1.Pt(),myJ1.Eta(),myJ1.Phi(),0.0); + // myJ2.SetPtEtaPhiM(myJ2.Pt(),myJ2.Eta(),myJ2.Phi(),0.0); + + jOUT.clear(); + if(myJ1.Pt() > myJ2.Pt()){ + jOUT.push_back(myJ1); + jOUT.push_back(myJ2); + } else { + jOUT.push_back(myJ2); + jOUT.push_back(myJ1); + } + status=1; +} + +void Megajet::CombineMinHT() { + double dHT_min = 999999999999999.0; + // default value (in case none is found) + TLorentzVector myJ1 = TLorentzVector(0,0,0,0); + TLorentzVector myJ2 = TLorentzVector(0,0,0,0); + for(int i=0; i<(int)j1.size(); i++) { + double dHT_temp = fabs(j1[i].E()-j2[i].E()); + if(dHT_temp < dHT_min){ + dHT_min = dHT_temp; + myJ1 = j1[i]; + myJ2 = j2[i]; + } + } + + jOUT.clear(); + if(myJ1.Pt() > myJ2.Pt()){ + jOUT.push_back(myJ1); + jOUT.push_back(myJ2); + } else { + jOUT.push_back(myJ2); + jOUT.push_back(myJ1); + } + status=1; +} + +} diff --git a/PhysicsTools/Heppy/src/PdfWeightProducerTool.cc b/PhysicsTools/Heppy/src/PdfWeightProducerTool.cc new file mode 100644 index 000000000000..5f216234c3d4 --- /dev/null +++ b/PhysicsTools/Heppy/src/PdfWeightProducerTool.cc @@ -0,0 +1,62 @@ +#include "PhysicsTools/Heppy/interface/PdfWeightProducerTool.h" +#include + +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 heppy { + +void PdfWeightProducerTool::addPdfSet(const std::string &name) { + pdfs_.push_back(name); + weights_[name] = std::vector(); +} + +void PdfWeightProducerTool::beginJob() { + for (unsigned int i = 0, n = pdfs_.size(); i < n; ++i) { + LHAPDF::initPDFSet(i+1, pdfs_[i]); + } +} + +void PdfWeightProducerTool::processEvent(const GenEventInfoProduct & pdfstuff) { + 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; + + for (unsigned int i = 0, n = pdfs_.size(); i < n; ++i) { + std::vector & weights = weights_[pdfs_[i]]; + unsigned int nweights = 1; + if (LHAPDF::numberPDF(i+1)>1) nweights += LHAPDF::numberPDF(i+1); + weights.resize(nweights); + + for (unsigned int j = 0; j < nweights; ++j) { + LHAPDF::usePDFMember(i+1,j); + double newpdf1 = LHAPDF::xfx(i+1, x1, Q, id1)/x1; + double newpdf2 = LHAPDF::xfx(i+1, x2, Q, id2)/x2; + weights[j] = newpdf1/pdf1*newpdf2/pdf2; + } + } +} + +const std::vector & PdfWeightProducerTool::getWeights(const std::string &name) const { + std::map >::const_iterator match = weights_.find(name); + assert(match != weights_.end()); + return match->second; +} + + +} diff --git a/PhysicsTools/Heppy/src/ReclusterJets.cc b/PhysicsTools/Heppy/src/ReclusterJets.cc index 0698d6ca8211..9f79e96126ac 100644 --- a/PhysicsTools/Heppy/src/ReclusterJets.cc +++ b/PhysicsTools/Heppy/src/ReclusterJets.cc @@ -1,5 +1,6 @@ #include "PhysicsTools/Heppy/interface/ReclusterJets.h" #include "FWCore/Utilities/interface/Exception.h" +#include "fastjet/tools/Pruner.hh" using namespace std; @@ -68,4 +69,33 @@ std::vector ReclusterJets::getGroupingExclusive(int nje // return return makeP4s(exclusiveJets_); } + +math::XYZTLorentzVector ReclusterJets::getPruned(double zcut, double rcutFactor) { + // cluster everything first + exclusiveJets_ = fastjet::sorted_by_pt(fjClusterSeq_->exclusive_jets(1)); + // get pruned exclusive + return getPrunedSubjetExclusive(0, zcut, rcutFactor); +} + +math::XYZTLorentzVector ReclusterJets::getPrunedSubjetExclusive(unsigned int isubjet, double zcut, double rcutFactor) { + if (isubjet >= exclusiveJets_.size()) { + throw cms::Exception("InvalidArgument", "getPrunedSubjetExclusive called for non-existing exclusive subjet"); + } + return getPruned(exclusiveJets_[isubjet], zcut, rcutFactor); +} +math::XYZTLorentzVector ReclusterJets::getPrunedSubjetInclusive(unsigned int isubjet, double zcut, double rcutFactor) { + if (isubjet >= inclusiveJets_.size()) { + throw cms::Exception("InvalidArgument", "getPrunedSubjetInclusive called for non-existing inclusive subjet"); + } + return getPruned(inclusiveJets_[isubjet], zcut, rcutFactor); +} + +math::XYZTLorentzVector ReclusterJets::getPruned(const fastjet::PseudoJet & jet, double zcut, double rcutFactor) { + // create pruner + fastjet::Pruner pruner(fastjet::cambridge_algorithm, zcut, rcutFactor); + // Prune the jet + fastjet::PseudoJet pruned_jet = pruner(jet); + return LorentzVector( pruned_jet.px(), pruned_jet.py(), pruned_jet.pz(), pruned_jet.e() ); +} + } diff --git a/PhysicsTools/Heppy/src/asa047.cc b/PhysicsTools/Heppy/src/asa047.cc new file mode 100644 index 000000000000..186cbb398d22 --- /dev/null +++ b/PhysicsTools/Heppy/src/asa047.cc @@ -0,0 +1,545 @@ +# include +# include +# include +# include +# include + +using namespace std; + +# include "PhysicsTools/Heppy/interface/asa047.h" +# include "PhysicsTools/Heppy/interface/topness.h" + +using namespace Topness; + +//****************************************************************************80 +void nelmin ( gfuncMET& fn , int n, double start[], double xmin[], + double *ynewlo, double reqmin, double step[], int konvge, int kcount, + int *icount, int *numres, int *ifault ) + +//****************************************************************************80 +// +// Purpose: +// +// NELMIN minimizes a function using the Nelder-Mead algorithm. +// +// Discussion: +// +// This routine seeks the minimum value of a user-specified function. +// +// Simplex function minimisation procedure due to Nelder+Mead(1965), +// as implemented by O'Neill(1971, Appl.Statist. 20, 338-45), with +// subsequent comments by Chambers+Ertel(1974, 23, 250-1), Benyon(1976, +// 25, 97) and Hill(1978, 27, 380-2) +// +// The function to be minimized must be defined by a function of +// the form +// +// function fn ( x, f ) +// double fn +// double x(*) +// +// and the name of this subroutine must be declared EXTERNAL in the +// calling routine and passed as the argument FN. +// +// This routine does not include a termination test using the +// fitting of a quadratic surface. +// +// Licensing: +// +// This code is distributed under the GNU LGPL license. +// +// Modified: +// +// 27 February 2008 +// +// Author: +// +// Original FORTRAN77 version by R ONeill. +// C++ version by John Burkardt. +// +// Reference: +// +// John Nelder, Roger Mead, +// A simplex method for function minimization, +// Computer Journal, +// Volume 7, 1965, pages 308-313. +// +// R ONeill, +// Algorithm AS 47: +// Function Minimization Using a Simplex Procedure, +// Applied Statistics, +// Volume 20, Number 3, 1971, pages 338-345. +// +// Parameters: +// +// Input, double FN ( double x[] ), the name of the routine which evaluates +// the function to be minimized. +// +// Input, int N, the number of variables. +// +// Input/output, double START[N]. On input, a starting point +// for the iteration. On output, this data may have been overwritten. +// +// Output, double XMIN[N], the coordinates of the point which +// is estimated to minimize the function. +// +// Output, double YNEWLO, the minimum value of the function. +// +// Input, double REQMIN, the terminating limit for the variance +// of function values. +// +// Input, double STEP[N], determines the size and shape of the +// initial simplex. The relative magnitudes of its elements should reflect +// the units of the variables. +// +// Input, int KONVGE, the convergence check is carried out +// every KONVGE iterations. +// +// Input, int KCOUNT, the maximum number of function +// evaluations. +// +// Output, int *ICOUNT, the number of function evaluations +// used. +// +// Output, int *NUMRES, the number of restarts. +// +// Output, int *IFAULT, error indicator. +// 0, no errors detected. +// 1, REQMIN, N, or KONVGE has an illegal value. +// 2, iteration terminated because KCOUNT was exceeded without convergence. +// +{ + double ccoeff = 0.5; + double del; + double dn; + double dnn; + double ecoeff = 2.0; + double eps = 0.001; + int i; + int ihi; + int ilo; + int j; + int jcount; + int l; + int nn; + double *p; + double *p2star; + double *pbar; + double *pstar; + double rcoeff = 1.0; + double rq; + double x; + double *y; + double y2star; + double ylo; + double ystar; + double z; +// +// Check the input parameters. +// + if ( reqmin <= 0.0 ) + { + *ifault = 1; + return; + } + + if ( n < 1 ) + { + *ifault = 1; + return; + } + + if ( konvge < 1 ) + { + *ifault = 1; + return; + } + + p = new double[n*(n+1)]; + pstar = new double[n]; + p2star = new double[n]; + pbar = new double[n]; + y = new double[n+1]; + + *icount = 0; + *numres = 0; + + jcount = konvge; + dn = ( double ) ( n ); + nn = n + 1; + dnn = ( double ) ( nn ); + del = 1.0; + rq = reqmin * dn; +// +// Initial or restarted loop. +// + for ( ; ; ) + { + for ( i = 0; i < n; i++ ) + { + p[i+n*n] = start[i]; + } + y[n] = fn ( start ); + *icount = *icount + 1; + + for ( j = 0; j < n; j++ ) + { + x = start[j]; + start[j] = start[j] + step[j] * del; + for ( i = 0; i < n; i++ ) + { + p[i+j*n] = start[i]; + } + y[j] = fn ( start ); + *icount = *icount + 1; + start[j] = x; + } +// +// The simplex construction is complete. +// +// Find highest and lowest Y values. YNEWLO = Y(IHI) indicates +// the vertex of the simplex to be replaced. +// + ylo = y[0]; + ilo = 0; + + for ( i = 1; i < nn; i++ ) + { + if ( y[i] < ylo ) + { + ylo = y[i]; + ilo = i; + } + } +// +// Inner loop. +// + for ( ; ; ) + { + if ( kcount <= *icount ) + { + break; + } + *ynewlo = y[0]; + ihi = 0; + + for ( i = 1; i < nn; i++ ) + { + if ( *ynewlo < y[i] ) + { + *ynewlo = y[i]; + ihi = i; + } + } +// +// Calculate PBAR, the centroid of the simplex vertices +// excepting the vertex with Y value YNEWLO. +// + for ( i = 0; i < n; i++ ) + { + z = 0.0; + for ( j = 0; j < nn; j++ ) + { + z = z + p[i+j*n]; + } + z = z - p[i+ihi*n]; + pbar[i] = z / dn; + } +// +// Reflection through the centroid. +// + for ( i = 0; i < n; i++ ) + { + pstar[i] = pbar[i] + rcoeff * ( pbar[i] - p[i+ihi*n] ); + } + ystar = fn ( pstar ); + *icount = *icount + 1; +// +// Successful reflection, so extension. +// + if ( ystar < ylo ) + { + for ( i = 0; i < n; i++ ) + { + p2star[i] = pbar[i] + ecoeff * ( pstar[i] - pbar[i] ); + } + y2star = fn ( p2star ); + *icount = *icount + 1; +// +// Check extension. +// + if ( ystar < y2star ) + { + for ( i = 0; i < n; i++ ) + { + p[i+ihi*n] = pstar[i]; + } + y[ihi] = ystar; + } +// +// Retain extension or contraction. +// + else + { + for ( i = 0; i < n; i++ ) + { + p[i+ihi*n] = p2star[i]; + } + y[ihi] = y2star; + } + } +// +// No extension. +// + else + { + l = 0; + for ( i = 0; i < nn; i++ ) + { + if ( ystar < y[i] ) + { + l = l + 1; + } + } + + if ( 1 < l ) + { + for ( i = 0; i < n; i++ ) + { + p[i+ihi*n] = pstar[i]; + } + y[ihi] = ystar; + } +// +// Contraction on the Y(IHI) side of the centroid. +// + else if ( l == 0 ) + { + for ( i = 0; i < n; i++ ) + { + p2star[i] = pbar[i] + ccoeff * ( p[i+ihi*n] - pbar[i] ); + } + y2star = fn ( p2star ); + *icount = *icount + 1; +// +// Contract the whole simplex. +// + if ( y[ihi] < y2star ) + { + for ( j = 0; j < nn; j++ ) + { + for ( i = 0; i < n; i++ ) + { + p[i+j*n] = ( p[i+j*n] + p[i+ilo*n] ) * 0.5; + xmin[i] = p[i+j*n]; + } + y[j] = fn ( xmin ); + *icount = *icount + 1; + } + ylo = y[0]; + ilo = 0; + + for ( i = 1; i < nn; i++ ) + { + if ( y[i] < ylo ) + { + ylo = y[i]; + ilo = i; + } + } + continue; + } +// +// Retain contraction. +// + else + { + for ( i = 0; i < n; i++ ) + { + p[i+ihi*n] = p2star[i]; + } + y[ihi] = y2star; + } + } +// +// Contraction on the reflection side of the centroid. +// + else if ( l == 1 ) + { + for ( i = 0; i < n; i++ ) + { + p2star[i] = pbar[i] + ccoeff * ( pstar[i] - pbar[i] ); + } + y2star = fn ( p2star ); + *icount = *icount + 1; +// +// Retain reflection? +// + if ( y2star <= ystar ) + { + for ( i = 0; i < n; i++ ) + { + p[i+ihi*n] = p2star[i]; + } + y[ihi] = y2star; + } + else + { + for ( i = 0; i < n; i++ ) + { + p[i+ihi*n] = pstar[i]; + } + y[ihi] = ystar; + } + } + } +// +// Check if YLO improved. +// + if ( y[ihi] < ylo ) + { + ylo = y[ihi]; + ilo = ihi; + } + jcount = jcount - 1; + + if ( 0 < jcount ) + { + continue; + } +// +// Check to see if minimum reached. +// + if ( *icount <= kcount ) + { + jcount = konvge; + + z = 0.0; + for ( i = 0; i < nn; i++ ) + { + z = z + y[i]; + } + x = z / dnn; + + z = 0.0; + for ( i = 0; i < nn; i++ ) + { + z = z + pow ( y[i] - x, 2 ); + } + + if ( z <= rq ) + { + break; + } + } + } +// +// Factorial tests to check that YNEWLO is a local minimum. +// + for ( i = 0; i < n; i++ ) + { + xmin[i] = p[i+ilo*n]; + } + *ynewlo = y[ilo]; + + if ( kcount < *icount ) + { + *ifault = 2; + break; + } + + *ifault = 0; + + for ( i = 0; i < n; i++ ) + { + del = step[i] * eps; + xmin[i] = xmin[i] + del; + z = fn ( xmin ); + *icount = *icount + 1; + if ( z < *ynewlo ) + { + *ifault = 2; + break; + } + xmin[i] = xmin[i] - del - del; + z = fn ( xmin ); + *icount = *icount + 1; + if ( z < *ynewlo ) + { + *ifault = 2; + break; + } + xmin[i] = xmin[i] + del; + } + + if ( *ifault == 0 ) + { + break; + } +// +// Restart the procedure. +// + for ( i = 0; i < n; i++ ) + { + start[i] = xmin[i]; + } + del = eps; + *numres = *numres + 1; + } + delete [] p; + delete [] pstar; + delete [] p2star; + delete [] pbar; + delete [] y; + + return; +} +//****************************************************************************80 + +void timestamp ( void ) + +//****************************************************************************80 +// +// Purpose: +// +// TIMESTAMP prints the current YMDHMS date as a time stamp. +// +// Example: +// +// 31 May 2001 09:45:54 AM +// +// Licensing: +// +// This code is distributed under the GNU LGPL license. +// +// Modified: +// +// 24 September 2003 +// +// Author: +// +// John Burkardt +// +// Parameters: +// +// None +// +{ +# define TIME_SIZE 40 + + static char time_buffer[TIME_SIZE]; + const struct tm *tm; + size_t len; + time_t now; + + now = time ( NULL ); + tm = localtime ( &now ); + + len = strftime ( time_buffer, TIME_SIZE, "%d %B %Y %I:%M:%S %p", tm ); + + cout << time_buffer << "\n"; + cout << len << "\n"; + + return; +# undef TIME_SIZE +} diff --git a/PhysicsTools/Heppy/src/classes.h b/PhysicsTools/Heppy/src/classes.h index 74194faf749c..e7d0d951301c 100644 --- a/PhysicsTools/Heppy/src/classes.h +++ b/PhysicsTools/Heppy/src/classes.h @@ -10,28 +10,44 @@ #include "PhysicsTools/Heppy/interface/mt2w_bisect.h" #include "PhysicsTools/Heppy/interface/Hemisphere.h" #include "PhysicsTools/Heppy/interface/AlphaT.h" +#include "PhysicsTools/Heppy/interface/Apc.h" +#include "PhysicsTools/Heppy/interface/Megajet.h" #include "PhysicsTools/Heppy/interface/ReclusterJets.h" +#include "PhysicsTools/Heppy/interface/IsolationComputer.h" + #include "EgammaAnalysis/ElectronTools/interface/SimpleElectron.h" #include "EgammaAnalysis/ElectronTools/interface/ElectronEPcombinator.h" //#include "EgammaAnalysis/ElectronTools/interface/ElectronEnergyCalibrator.h" +# include "PhysicsTools/Heppy/interface/asa047.h" +# include "PhysicsTools/Heppy/interface/topness.h" +#include "PhysicsTools/Heppy/interface/PdfWeightProducerTool.h" + #include namespace { namespace { heppy::BTagSF bTagSF_; heppy::RochCor rc_; heppy::RochCor2012 rc2012_; + heppy::PdfWeightProducerTool pdfw_; heppy::FSRWeightAlgo walgo_; heppy::TriggerBitChecker checker; heppy::CMGMuonCleanerBySegmentsAlgo cmgMuonCleanerBySegmentsAlgo; heppy::EGammaMvaEleEstimatorFWLite egMVA; - heppy::Hemisphere hemisphere(std::vector px, std::vector py, std::vector pz, std::vector E, int hemi_seed, int hemi_association); + heppy::Hemisphere hemisphere(std::vector px, + std::vector py, + std::vector pz, + std::vector E, int hemi_seed, + int hemi_association); + heppy::Hemisphere hemisphere_; heppy::Davismt2 mt2; heppy::mt2w_bisect::mt2w mt2wlept; heppy::AlphaT alphaT; + heppy::Apc apc; + heppy::Megajet megajet; heppy::ReclusterJets reclusterJets(std::vector px, std::vector py, std::vector pz, std::vector E, double ktpower, double rparam); // heppy::SimpleElectron fuffaElectron; // ElectronEnergyCalibrator fuffaElectronCalibrator; // heppy::ElectronEPcombinator fuffaElectronCombinator; - + Topness::Topness topness; } } diff --git a/PhysicsTools/Heppy/src/classes_def.xml b/PhysicsTools/Heppy/src/classes_def.xml index 18bbe3b32ada..5c96e87c62ab 100644 --- a/PhysicsTools/Heppy/src/classes_def.xml +++ b/PhysicsTools/Heppy/src/classes_def.xml @@ -3,6 +3,7 @@ + @@ -11,10 +12,14 @@ + + + + diff --git a/PhysicsTools/Heppy/src/mt2w_bisect.cc b/PhysicsTools/Heppy/src/mt2w_bisect.cc index e7e7c95a719e..118a4dbbf388 100644 --- a/PhysicsTools/Heppy/src/mt2w_bisect.cc +++ b/PhysicsTools/Heppy/src/mt2w_bisect.cc @@ -46,7 +46,7 @@ namespace mt2w_bisect /*The user can change the desired precision below, the larger one of the following two definitions is used. Relative precision less than 0.00001 is not guaranteed to be achievable--use with caution*/ - const float mt2w::RELATIVE_PRECISION = 0.0001; + const float mt2w::RELATIVE_PRECISION = 0.00001; const float mt2w::ABSOLUTE_PRECISION = 0.0; const float mt2w::MIN_MASS = 0.1; const float mt2w::ZERO_MASS = 0.0; diff --git a/PhysicsTools/Heppy/src/topness.cc b/PhysicsTools/Heppy/src/topness.cc new file mode 100755 index 000000000000..d755c4a35e79 --- /dev/null +++ b/PhysicsTools/Heppy/src/topness.cc @@ -0,0 +1,435 @@ +/* + * topness.cpp + * + * created on 01/15/13. by Francesco Costanza/ Dirk Kruecker + * DESY + * based on code from M.L.Graesser and J.Shelton + @article{Graesser:2012qy, + author = "Graesser, Michael L. and Shelton, Jessie", + title = "{Hunting Asymmetric Stops}", + journal = "Phys.Rev.Lett.", + volume = "111", + pages = "121802", + doi = "10.1103/PhysRevLett.111.121802", + year = "2013", + eprint = "1212.4495", + archivePrefix = "arXiv", + primaryClass = "hep-ph", + reportNumber = "LA-UR-12-26897", + SLACcitation = "%%CITATION = ARXIV:1212.4495;%%", + } + * + * performs topness analysis on a single event + * using the Nelder-Mead method + * + * + * selection: -presumes event contains + * + * at least two jets passing jet pre-selection requirements + * + * with at least one of these jets b-tagged + * + * one lepton passing event pre-selection + * + * + * + *****compiling ***** + * + * make + * needs ROOT + * + ******************** + * + */ + +#include +#include +#include +#include +#include +#include // needed for exception runtime_error +#include +#include +#include +#include + +using namespace std; + +// following file needed for pseduo-random number generator +#include "TRandom2.h" + +// following file needed for minimization of topness +#include "PhysicsTools/Heppy/interface/asa047.h" + +// TOPNESS header file +#include "PhysicsTools/Heppy/interface/topness.h" + +// Example +int main(int argc, char *argv[]){ + int t0=clock(); + + // initialize test event + TLorentzVector mySamplelep; mySamplelep.SetPxPyPzE(67.2,-45.2,-86.1,120.); + + TLorentzVector mySampleMET; mySampleMET.SetPxPyPzE(-394,127.,0.,0.); + + TLorentzVector mySamplebjet; mySamplebjet.SetPxPyPzE(143.7,-203.1,140.5,350.); + TLorentzVector mySampleqcdjet1; mySampleqcdjet1.SetPxPyPzE(-95,47.,65.,170.); + TLorentzVector mySampleqcdjet2; mySampleqcdjet2.SetPxPyPzE(109.,-58.,85.,200.); + TLorentzVector mySampleqcdjet3; mySampleqcdjet3.SetPxPyPzE(169.,132.,-230.,467.); + + // initialize topness + Topness::Topness top; + + std::vector jets; + std::vector bDiscs; + + jets.push_back(mySampleqcdjet1); bDiscs.push_back(0); + jets.push_back(mySampleqcdjet2); bDiscs.push_back(0); + jets.push_back(mySampleqcdjet3); bDiscs.push_back(0); + jets.push_back(mySamplebjet); bDiscs.push_back(1); + + // get topness + double lnT=log( top.GetTopness( jets, bDiscs, mySamplelep, mySampleMET)); // ln T value of event + + cout << "The topness value on this event is " << lnT << endl; + + int t=clock()-t0; + cout << "It took the program " << t << " clicks, or " << ((float) t)/CLOCKS_PER_SEC << " seconds." << endl; + + return 0; +} + +Topness::Topness::Topness(){ + sigmat=15.; + sigmaW=5.; + sigmas=1000; + + // Default discriminator values (can be modified directly) + + //CSV 8 TeV + // bDisc_TightWP = 0.679; + // bDisc_LooseWP = 0.244; + + //CMVA 13 TeV + // bDisc_TightWP = 0.762; + // bDisc_LooseWP = 0.244; //not known, actually... + + //CSV v2 (CSV-IVF) + bDisc_TightWP = 0.941; + bDisc_LooseWP = 0.423; + //bDisc_MediumWP = 0.814; // isn't used + + del=20.; + lMAX=10; +} + +void Topness::Topness::Sort( vector& jets) +{ + sort( jets.begin(), jets.end(), ptSortPtr); +} + +double Topness::Topness::GetTopness( const vector& jets, + const vector& bDiscs, + const TLorentzVector& lep, + const TLorentzVector& MET) +{ + if ( jets.size() != bDiscs.size()){ + cout<<"Topness: jets.size() != BDiscs.size()"< noBJets; + vector lBJets; + vector tBJets; + + for ( unsigned int ijet = 0; ijet < jets.size(); ijet++){ + if (bDiscs.at(ijet) < bDisc_LooseWP) noBJets.push_back(&jets.at(ijet)); + else if (bDiscs.at(ijet) < bDisc_TightWP) lBJets.push_back(&jets.at(ijet)); + else tBJets.push_back(&jets.at(ijet)); + } + + Sort( noBJets); + Sort( lBJets); + Sort( tBJets); + + int nJets = jets.size(); + int nNoBJets = noBJets.size(); + int nLooseBJets = lBJets.size(); + int nTightBJets = tBJets.size(); + + if ( nJets < 3) + return -1.; + + vector bjet; + vector jet; + + if ( nTightBJets == 0){ + if ( nLooseBJets == 0){ + bjet.push_back(noBJets.at(0)); + jet.push_back(noBJets.at(1)); + + bjet.push_back(noBJets.at(0)); + jet.push_back(noBJets.at(2)); + + bjet.push_back(noBJets.at(1)); + jet.push_back(noBJets.at(2)); + } + else if ( nLooseBJets == 1){ + bjet.push_back(lBJets.at(0)); + jet.push_back(noBJets.at(0)); + + bjet.push_back(lBJets.at(0)); + jet.push_back(noBJets.at(1)); + + bjet.push_back(lBJets.at(0)); + jet.push_back(noBJets.at(1)); + } + else{ + if ( nNoBJets > 0){ + bjet.push_back(lBJets.at(0)); + jet.push_back(lBJets.at(1)); + + bjet.push_back(lBJets.at(0)); + jet.push_back(noBJets.at(0)); + + bjet.push_back(lBJets.at(1)); + jet.push_back(noBJets.at(0)); + } + else{ + bjet.push_back(lBJets.at(0)); + jet.push_back(lBJets.at(1)); + + bjet.push_back(lBJets.at(0)); + jet.push_back(lBJets.at(2)); + + bjet.push_back(lBJets.at(1)); + jet.push_back(lBJets.at(2)); + } + } + } + else if ( nTightBJets == 1){ + if ( nLooseBJets == 0){ + bjet.push_back(tBJets.at(0)); + jet.push_back(noBJets.at(0)); + + bjet.push_back(tBJets.at(0)); + jet.push_back(noBJets.at(1)); + + bjet.push_back(tBJets.at(0)); + jet.push_back(noBJets.at(1)); + } + else { + if ( nNoBJets > 0){ + bjet.push_back(tBJets.at(0)); + jet.push_back(lBJets.at(0)); + + bjet.push_back(tBJets.at(0)); + jet.push_back(noBJets.at(0)); + + bjet.push_back(lBJets.at(0)); + jet.push_back(noBJets.at(0)); + } + else{ + bjet.push_back(tBJets.at(0)); + jet.push_back(lBJets.at(0)); + + bjet.push_back(tBJets.at(0)); + jet.push_back(lBJets.at(1)); + + bjet.push_back(lBJets.at(0)); + jet.push_back(lBJets.at(1)); + } + } + } + else{ + if ( nNoBJets > 0){ + bjet.push_back(tBJets.at(0)); + jet.push_back(tBJets.at(1)); + + bjet.push_back(tBJets.at(0)); + jet.push_back(noBJets.at(0)); + + bjet.push_back(tBJets.at(1)); + jet.push_back(noBJets.at(0)); + } + else if ( nLooseBJets > 0){ + bjet.push_back(tBJets.at(0)); + jet.push_back(tBJets.at(1)); + + bjet.push_back(tBJets.at(0)); + jet.push_back(lBJets.at(0)); + + bjet.push_back(tBJets.at(1)); + jet.push_back(lBJets.at(0)); + } + else{ + bjet.push_back(tBJets.at(0)); + jet.push_back(tBJets.at(1)); + + bjet.push_back(tBJets.at(0)); + jet.push_back(tBJets.at(2)); + + bjet.push_back(tBJets.at(1)); + jet.push_back(tBJets.at(2)); + } + } + + /*if (nTightBJets == 0) + return -1; + + TLorentzVector bjet, jet1, jet2; + + bjet = *tBJets.at(0); + + if ((nTightBJets>1)) { + jet1=*tBJets.at(1); + } else { + jet1=*noBJets.at(0); + if (nJets>1) { + jet2=*noBJets.at(1); + } + } + + double topness_min = this->Calc( bjet, jet1, lep, MET); + + if (jet2.Pt() > 10.) + { + double topness_new = this->Calc( bjet, jet2, lep, MET); + + if (topness_new < topness_min) + topness_min = topness_new; + } + + return topness_min; + */ + + double topness = 9.e99; + double topness_tmp = 9.e99; + for ( unsigned int ijet = 0; ijet < jet.size(); ijet++){ + topness_tmp = this->Calc( *bjet.at(ijet), *jet.at(ijet), lep, MET); + if ( topness_tmp < topness) topness = topness_tmp; + } + + return topness; +} + +double Topness::Topness::Calc( const TLorentzVector& bjet, const TLorentzVector& jet, const TLorentzVector& lep, const TLorentzVector& met){ + double pa[4]; + bjet.GetXYZT(pa); + vector b(pa, pa + 4 ); + jet.GetXYZT(pa); + vector j(pa, pa + 4 ); + lep.GetXYZT(pa); + vector l(pa, pa + 4 ); + met.GetXYZT(pa); + vector m(pa, pa + 4 ); + + TopStatMET topstat( b, j, l, m, sigmat, sigmaW, sigmas, del, lMAX); + + double minpoint[4]; + + return topstat.TopStatmin(minpoint); +}; + +bool Topness::ptSort(TLorentzVector p1, TLorentzVector p2){ + double pT1=p1.Pt(); + double pT2=p2.Pt(); + return (pT1>pT2); +} +bool Topness::ptSortPtr( const TLorentzVector* p1, const TLorentzVector* p2){ + double pT1=p1->Pt(); + double pT2=p2->Pt(); + return (pT1>pT2); +} + +Topness::TopStatMET::TopStatMET(vector ppb1, vector ppb2, vector ppl,vector ppMET, + double sigmatt, double sigmaWW, double sigmass, double delp, int lMAXp) + :pb1(ppb1), pb2(ppb2), pl(ppl), pMET(ppMET), + sigmat(sigmatt), sigmaW(sigmaWW), sigmas(sigmass), del(delp), lMAX(lMAXp), + g1(pb1,pb2,pl,pMET,sigmat,sigmaW,sigmas), + g2(pb2,pb1,pl,pMET,sigmat,sigmaW,sigmas){}; +// note the function gfuncMET is overloaded +// initialize g1 to physically measured momenta pb1, pb2, pl, pMET and to parameters of the statistic +// switch pb1 <-> pb2 to initialize g2 + +// this member function does all the work +// return min value +double Topness::TopStatMET::TopStatmin(double minpoint[]) +{ + + TRandom2 myranTopStatMET(7); + + // tolerance of Nelder-Mead method + double ftol=0.000004; + + // initialize to some large number + double finalmin=10000000000000.; + + // now make lMAX calls to Nelder-Mead + for (int l=0;l0) + return 1.0; + else return -1.0; +}; diff --git a/PhysicsTools/Heppy/test/crab/heppy_config.py b/PhysicsTools/Heppy/test/crab/heppy_config.py new file mode 120000 index 000000000000..b4963862abd4 --- /dev/null +++ b/PhysicsTools/Heppy/test/crab/heppy_config.py @@ -0,0 +1 @@ +../example_autofill.py \ No newline at end of file diff --git a/PhysicsTools/Heppy/test/crab/heppy_crab_config.py b/PhysicsTools/Heppy/test/crab/heppy_crab_config.py new file mode 100644 index 000000000000..311019025221 --- /dev/null +++ b/PhysicsTools/Heppy/test/crab/heppy_crab_config.py @@ -0,0 +1,30 @@ +from WMCore.Configuration import Configuration +config = Configuration() + +config.section_("General") +config.General.requestName = 'CRAB_HEPPY_test_2' +config.General.workArea = 'crab_projects_test_2' + +config.section_("JobType") +config.JobType.pluginName = 'Analysis' +config.JobType.psetName = 'heppy_crab_fake_pset.py' +config.JobType.scriptExe = 'heppy_crab_script.sh' +config.JobType.inputFiles = ['heppy_config.py','heppy_crab_script.py'] +config.JobType.outputFiles = ['tree.root'] + +config.section_("Data") +config.Data.inputDataset = '/WH_HToBB_WToLNu_M-125_13TeV_powheg-herwigpp/Phys14DR-PU40bx25_PHYS14_25_V1-v1/MINIAODSIM' +config.Data.inputDBS = 'global' +config.Data.splitting = 'FileBased' +config.Data.unitsPerJob = 1 +config.Data.outLFN = '/store/user/arizzi/CRABHeppyTest1/' +config.Data.publication = True +config.Data.publishDataName = 'CRAB_HEPPY_Test1' + +config.section_("Site") +config.Site.storageSite = "T2_IT_Rome" + +#if you uncomment this you have to change also +#the heppy_crab_script.py uncommenting the line +# #crabFiles[i]="root://cms-xrd-global.cern.ch/"+crabFiles[i] +#config.Data.ignoreLocality = True diff --git a/PhysicsTools/Heppy/test/crab/heppy_crab_fake_pset.py b/PhysicsTools/Heppy/test/crab/heppy_crab_fake_pset.py new file mode 100644 index 000000000000..c05092ea72e9 --- /dev/null +++ b/PhysicsTools/Heppy/test/crab/heppy_crab_fake_pset.py @@ -0,0 +1,4 @@ +import FWCore.ParameterSet.Config as cms +process = cms.Process('FAKE') +process.source = cms.Source("PoolSource", fileNames = cms.untracked.vstring()) +process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(10)) diff --git a/PhysicsTools/Heppy/test/crab/heppy_crab_script.py b/PhysicsTools/Heppy/test/crab/heppy_crab_script.py new file mode 100755 index 000000000000..1e5ceb9706ea --- /dev/null +++ b/PhysicsTools/Heppy/test/crab/heppy_crab_script.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python +import os +# probably easier to fetch everything without subdirs, but that's up to user preferences +#import PhysicsTools.HeppyCore.framework.config as cfg +#cfg.Analyzer.nosubdir=True + +import PSet +import sys +import re +print "ARGV:",sys.argv +JobNumber=sys.argv[1] +crabFiles=PSet.process.source.fileNames +print crabFiles +firstInput = crabFiles[0] +print "--------------- using edmFileUtil to convert PFN to LFN -------------------------" +for i in xrange(0,len(crabFiles)) : + pfn=os.popen("edmFileUtil -d %s"%(crabFiles[i])).read() + pfn=re.sub("\n","",pfn) + print crabFiles[i],"->",pfn + crabFiles[i]=pfn + #crabFiles[i]="root://cms-xrd-global.cern.ch/"+crabFiles[i] + +import imp +handle = open("heppy_config.py", 'r') +cfo = imp.load_source("heppy_config", "heppy_config.py", handle) +config = cfo.config +handle.close() + +#replace files with crab ones, no splitting beyond what crab give us +config.components[0].files=crabFiles + +#Use a simple self configured looper so that we know where the output goes +from PhysicsTools.HeppyCore.framework.looper import Looper +looper = Looper( 'Output', config, nPrint = 1) +looper.loop() +looper.write() + +#place the file in the main folder +os.rename("Output/tree.root", "tree.root") + +#create bare minimum FJR +fwkreport=''' + + + + + + + + + + + + + + + + + +''' + +f1=open('./FrameworkJobReport.xml', 'w+') +f1.write(fwkreport) diff --git a/PhysicsTools/Heppy/test/crab/heppy_crab_script.sh b/PhysicsTools/Heppy/test/crab/heppy_crab_script.sh new file mode 100644 index 000000000000..877d96e155cf --- /dev/null +++ b/PhysicsTools/Heppy/test/crab/heppy_crab_script.sh @@ -0,0 +1,13 @@ +echo "================== START OF HEPPY CRAB SCRIPT=========================" +echo "Unpacking libs" +rm -rf $CMSSW_BASE/lib/ +rm -rf $CMSSW_BASE/src/ +rm -rf $CMSSW_BASE/module/ +rm -rf $CMSSW_BASE/python/ +mv lib $CMSSW_BASE/lib +mv src $CMSSW_BASE/src +mv module $CMSSW_BASE/module +mv python $CMSSW_BASE/python +echo "Running of Heppy" +python heppy_crab_script.py $1 +echo "============= END OF HEPPY CRAB SCRIPT =========================" diff --git a/PhysicsTools/Heppy/test/example_autofill.py b/PhysicsTools/Heppy/test/example_autofill.py index c496d3fb4ca9..d57abb0fd55b 100644 --- a/PhysicsTools/Heppy/test/example_autofill.py +++ b/PhysicsTools/Heppy/test/example_autofill.py @@ -2,82 +2,126 @@ import ROOT import PhysicsTools.HeppyCore.framework.config as cfg +# The content of the output tree is defined here +# the definitions of the NtupleObjects are located under PhysicsTools/Heppy/pythonanalyzers/objects/autophobj.py + from PhysicsTools.Heppy.analyzers.core.AutoFillTreeProducer import * treeProducer= cfg.Analyzer( class_object=AutoFillTreeProducer, verbose=False, vectorTree = True, + #here the list of simple event variables (floats, int) can be specified + globalVariables = [ + NTupleVariable("rho", lambda ev: ev.rho, float, help="jets rho"), + ], + #here one can specify compound objects + globalObjects = { + "met" : NTupleObject("met", metType, help="PF E_{T}^{miss}, after default type 1 corrections"), + }, collections = { - #copying input collection p4 information - "slimmedMuons" : ( AutoHandle( ("slimmedMuons",), "std::vector" ), - NTupleCollection("mu", particleType, 4, help="patMuons, directly from MINIAOD") ), - "slimmedElectron" : ( AutoHandle( ("slimmedElectrons",), "std::vector" ), - NTupleCollection("ele", particleType, 4, help="patElectron, directly from MINIAOD") ), + #The following would just store the electrons and muons from miniaod without any selection or cleaning + # only the basice particle information is saved + #"slimmedMuons" : ( AutoHandle( ("slimmedMuons",), "std::vector" ), + # NTupleCollection("mu", particleType, 4, help="patMuons, directly from MINIAOD") ), + #"slimmedElectron" : ( AutoHandle( ("slimmedElectrons",), "std::vector" ), + # NTupleCollection("ele", particleType, 4, help="patElectron, directly from MINIAOD") ), #standard dumping of objects "selectedLeptons" : NTupleCollection("leptons", leptonType, 8, help="Leptons after the preselection"), "selectedTaus" : NTupleCollection("TauGood", tauType, 3, help="Taus after the preselection"), - "cleanJets" : NTupleCollection("Jet", jetType, 8, sortDescendingBy = lambda jet : jet.btag('combinedSecondaryVertexBJetTags'), - help="Cental jets after full selection and cleaning, sorted by b-tag"), + "cleanJets" : NTupleCollection("Jet", jetType, 8, help="Cental jets after full selection and cleaning, sorted by b-tag"), #dump of gen objects "gentopquarks" : NTupleCollection("GenTop", genParticleType, 2, help="Generated top quarks from hard scattering"), "genbquarks" : NTupleCollection("GenBQuark", genParticleType, 2, help="Generated bottom quarks from top quark decays"), - "genwzquarks" : NTupleCollection("GenQuark", genParticleWithSourceType, 6, help="Generated quarks from W/Z decays"), - "genleps" : NTupleCollection("GenLep", genParticleWithSourceType, 6, help="Generated leptons from W/Z decays"), - "gentauleps" : NTupleCollection("GenLepFromTau", genParticleWithSourceType, 6, help="Generated leptons from decays of taus from W/Z/h decays"), + "genwzquarks" : NTupleCollection("GenQuark", genParticleType, 6, help="Generated quarks from W/Z decays"), + "genleps" : NTupleCollection("GenLep", genParticleType, 6, help="Generated leptons from W/Z decays"), + "gentauleps" : NTupleCollection("GenLepFromTau", genParticleType, 6, help="Generated leptons from decays of taus from W/Z/h decays"), } ) -# Lepton Analyzer, take its default config +# Import standard analyzers and take their default config from PhysicsTools.Heppy.analyzers.objects.LeptonAnalyzer import LeptonAnalyzer LepAna = LeptonAnalyzer.defaultConfig -#replace one parameter -LepAna.loose_muon_pt = 10 - from PhysicsTools.Heppy.analyzers.objects.VertexAnalyzer import VertexAnalyzer VertexAna = VertexAnalyzer.defaultConfig - from PhysicsTools.Heppy.analyzers.objects.PhotonAnalyzer import PhotonAnalyzer PhoAna = PhotonAnalyzer.defaultConfig - from PhysicsTools.Heppy.analyzers.objects.TauAnalyzer import TauAnalyzer TauAna = TauAnalyzer.defaultConfig - from PhysicsTools.Heppy.analyzers.objects.JetAnalyzer import JetAnalyzer JetAna = JetAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.gen.LHEAnalyzer import LHEAnalyzer +LHEAna = LHEAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.gen.GeneratorAnalyzer import GeneratorAnalyzer +GenAna = GeneratorAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.METAnalyzer import METAnalyzer +METAna = METAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.core.PileUpAnalyzer import PileUpAnalyzer +PUAna = PileUpAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.core.TriggerBitAnalyzer import TriggerBitAnalyzer +FlagsAna = TriggerBitAnalyzer.defaultEventFlagsConfig +# Configure trigger bit analyzer from PhysicsTools.Heppy.analyzers.core.TriggerBitAnalyzer import TriggerBitAnalyzer TrigAna= cfg.Analyzer( verbose=False, class_object=TriggerBitAnalyzer, - triggerBits={'any':'HLT_.*'}, + #grouping several paths into a single flag + # v* can be used to ignore the version of a path + triggerBits={ + 'ELE':["HLT_Ele23_Ele12_CaloId_TrackId_Iso_v*","HLT_Ele32_eta2p1_WP85_Gsf_v*","HLT_Ele32_eta2p1_WP85_Gsf_v*"], + 'MU': ["HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v*","HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v*","HLT_IsoTkMu24_eta2p1_IterTrk02_v*","HLT_IsoTkMu24_IterTrk02_v*"], + }, # processName='HLT', # outprefix='HLT' + #setting 'unrollbits' to true will not only store the OR for each set of trigger bits but also the individual bits + #caveat: this does not unroll the version numbers + unrollbits=True ) -sequence = [VertexAna,LepAna,TauAna,PhoAna,JetAna,TrigAna,treeProducer] +#replace some parameters +LepAna.loose_muon_pt = 10 +sequence = [LHEAna,FlagsAna, GenAna, PUAna,TrigAna,VertexAna,LepAna,TauAna,PhoAna,JetAna,METAna,treeProducer] + +#use tfile service to provide a single TFile to all modules where they +#can write any root object. If the name is 'outputfile' or the one specified in treeProducer +#also the treeProducer uses this file +from PhysicsTools.HeppyCore.framework.services.tfile import TFileService +output_service = cfg.Service( + TFileService, + 'outputfile', + name="outputfile", + fname='tree.root', + option='recreate' + ) + +# the following two lines are just for automatic testing +# they are not needed for running on your own samples from PhysicsTools.Heppy.utils.miniAodFiles import miniAodFiles +testfiles=miniAodFiles() + sample = cfg.Component( - # files = "/scratch/arizzi/heppy/CMSSW_7_2_0_pre8/src/PhysicsTools/Heppy/test/E21AD523-E548-E411-8DF6-00261894388F.root", - files = miniAodFiles(), - name="ATEST", isMC=False,isEmbed=False +#specify the file you want to run on + # files = ["/scratch/arizzi/Hbb/CMSSW_7_2_2_patch2/src/VHbbAnalysis/Heppy/test/ZLL-8A345C56-6665-E411-9C25-1CC1DE04DF20.root"], + files = testfiles, + name="SingleSample", isMC=False,isEmbed=False ) # the following is declared in case this cfg is used in input to the heppy.py script -selectedComponents = [sample] from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +selectedComponents = [sample] config = cfg.Config( components = selectedComponents, sequence = sequence, - services = [], + services = [output_service], events_class = Events) -# and the following runs the process directly +# and the following runs the process directly if running as with python filename.py if __name__ == '__main__': from PhysicsTools.HeppyCore.framework.looper import Looper - looper = Looper( 'Loop', config, nPrint = 5) + looper = Looper( 'Loop', config, nPrint = 5,nEvents=300) looper.loop() looper.write() diff --git a/PhysicsTools/Heppy/test/example_autofill_multipleTrees.py b/PhysicsTools/Heppy/test/example_autofill_multipleTrees.py new file mode 100644 index 000000000000..b9156e159603 --- /dev/null +++ b/PhysicsTools/Heppy/test/example_autofill_multipleTrees.py @@ -0,0 +1,168 @@ +#! /usr/bin/env python +# This example shows how to have multiple Tree either in the same file on in different file. +# In particular here we create a second tree producer containing only information and then, +# cloning it in two copies, we store it both in the same file as the main tree and in separate file + +import ROOT +import PhysicsTools.HeppyCore.framework.config as cfg +# avoid creating subdirs, in case subdirs are wanted the treeProducer should have different names (set name="blabla" in the config) +cfg.Analyzer.nosubdir=True + +# The content of the output tree is defined here +# the definitions of the NtupleObjects are located under PhysicsTools/Heppy/pythonanalyzers/objects/autophobj.py + +from PhysicsTools.Heppy.analyzers.core.AutoFillTreeProducer import * +treeProducer= cfg.Analyzer( + class_object=AutoFillTreeProducer, + verbose=False, + vectorTree = True, + #here the list of simple event variables (floats, int) can be specified + globalVariables = [ + NTupleVariable("rho", lambda ev: ev.rho, float, help="jets rho"), + ], + #here one can specify compound objects + globalObjects = { + "met" : NTupleObject("met", metType, help="PF E_{T}^{miss}, after default type 1 corrections"), + }, + collections = { + #The following would just store the electrons and muons from miniaod without any selection or cleaning + # only the basice particle information is saved + #"slimmedMuons" : ( AutoHandle( ("slimmedMuons",), "std::vector" ), + # NTupleCollection("mu", particleType, 4, help="patMuons, directly from MINIAOD") ), + #"slimmedElectron" : ( AutoHandle( ("slimmedElectrons",), "std::vector" ), + # NTupleCollection("ele", particleType, 4, help="patElectron, directly from MINIAOD") ), + + #standard dumping of objects + "selectedLeptons" : NTupleCollection("leptons", leptonType, 8, help="Leptons after the preselection"), + "selectedTaus" : NTupleCollection("TauGood", tauType, 3, help="Taus after the preselection"), + "cleanJets" : NTupleCollection("Jet", jetType, 8, help="Cental jets after full selection and cleaning, sorted by b-tag"), + #dump of gen objects + "gentopquarks" : NTupleCollection("GenTop", genParticleType, 2, help="Generated top quarks from hard scattering"), + "genbquarks" : NTupleCollection("GenBQuark", genParticleType, 2, help="Generated bottom quarks from top quark decays"), + "genwzquarks" : NTupleCollection("GenQuark", genParticleType, 6, help="Generated quarks from W/Z decays"), + "genleps" : NTupleCollection("GenLep", genParticleType, 6, help="Generated leptons from W/Z decays"), + "gentauleps" : NTupleCollection("GenLepFromTau", genParticleType, 6, help="Generated leptons from decays of taus from W/Z/h decays"), + + } + ) + +#make a light weight dump containing only generator information +treeProducer2= cfg.Analyzer( + treename="genonly", + ignoreAnalyzerBookings=True, #we do not want trigger bits here or any other central booking + class_object=AutoFillTreeProducer, + verbose=False, + vectorTree = True, + collections = { + #dump of gen objects + "gentopquarks" : NTupleCollection("GenTop", genParticleType, 2, help="Generated top quarks from hard scattering"), + "genbquarks" : NTupleCollection("GenBQuark", genParticleType, 2, help="Generated bottom quarks from top quark decays"), + "genwzquarks" : NTupleCollection("GenQuark", genParticleType, 6, help="Generated quarks from W/Z decays"), + "genleps" : NTupleCollection("GenLep", genParticleType, 6, help="Generated leptons from W/Z decays"), + "gentauleps" : NTupleCollection("GenLepFromTau", genParticleType, 6, help="Generated leptons from decays of taus from W/Z/h decays"), + + } + ) + +#create a copy of tree producer with the difference that it stores it in a separate file +from copy import deepcopy +treeProducer3 = deepcopy(treeProducer2) +treeProducer3.filter = lambda ev : len(getattr(ev,"genbquarks",[])) > 0 # select only events with b-quarks +treeProducer3.outservicename="genonlyfile" + + + +# Import standard analyzers and take their default config +from PhysicsTools.Heppy.analyzers.objects.LeptonAnalyzer import LeptonAnalyzer +LepAna = LeptonAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.VertexAnalyzer import VertexAnalyzer +VertexAna = VertexAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.PhotonAnalyzer import PhotonAnalyzer +PhoAna = PhotonAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.TauAnalyzer import TauAnalyzer +TauAna = TauAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.JetAnalyzer import JetAnalyzer +JetAna = JetAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.gen.LHEAnalyzer import LHEAnalyzer +LHEAna = LHEAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.gen.GeneratorAnalyzer import GeneratorAnalyzer +GenAna = GeneratorAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.METAnalyzer import METAnalyzer +METAna = METAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.core.PileUpAnalyzer import PileUpAnalyzer +PUAna = PileUpAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.core.TriggerBitAnalyzer import TriggerBitAnalyzer +FlagsAna = TriggerBitAnalyzer.defaultEventFlagsConfig + +# Configure trigger bit analyzer +from PhysicsTools.Heppy.analyzers.core.TriggerBitAnalyzer import TriggerBitAnalyzer +TrigAna= cfg.Analyzer( + verbose=False, + class_object=TriggerBitAnalyzer, + #grouping several paths into a single flag + # v* can be used to ignore the version of a path + triggerBits={ + 'ELE':["HLT_Ele23_Ele12_CaloId_TrackId_Iso_v*","HLT_Ele32_eta2p1_WP85_Gsf_v*","HLT_Ele32_eta2p1_WP85_Gsf_v*"], + 'MU': ["HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v*","HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v*","HLT_IsoTkMu24_eta2p1_IterTrk02_v*","HLT_IsoTkMu24_IterTrk02_v*"], + }, +# processName='HLT', +# outprefix='HLT' + #setting 'unrollbits' to true will not only store the OR for each set of trigger bits but also the individual bits + #caveat: this does not unroll the version numbers + unrollbits=True + ) + + + +#replace some parameters +LepAna.loose_muon_pt = 10 + +sequence = [LHEAna,FlagsAna, GenAna, PUAna,TrigAna,VertexAna,LepAna,TauAna,PhoAna,JetAna,METAna,treeProducer,treeProducer2,treeProducer3] + +#use tfile service to provide a single TFile to all modules where they +#can write any root object. If the name is 'outputfile' or the one specified in treeProducer +#also the treeProducer uses this file +from PhysicsTools.HeppyCore.framework.services.tfile import TFileService +output_service = cfg.Service( + TFileService, + 'outputfile', + name="outputfile", + fname='tree.root', + option='recreate' + ) +output_service2= cfg.Service( + TFileService, + 'genonlyfile', + name="genonlyfile", + fname='treegen.root', + option='recreate' + ) + + +# the following two lines are just for automatic testing +# they are not needed for running on your own samples +from PhysicsTools.Heppy.utils.miniAodFiles import miniAodFiles +testfiles=miniAodFiles() +print "Running on test file %s" % testfiles + +sample = cfg.MCComponent( +#specify the file you want to run on +# files = ["/scratch/arizzi/Hbb/CMSSW_7_2_2_patch2/src/VHbbAnalysis/Heppy/test/ZLL-8A345C56-6665-E411-9C25-1CC1DE04DF20.root"], + files = testfiles, + name="SingleSample", isMC=True,isEmbed=False + ) + +# the following is declared in case this cfg is used in input to the heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +selectedComponents = [sample] +config = cfg.Config( components = selectedComponents, + sequence = sequence, + services = [output_service,output_service2], + events_class = Events) + +# and the following runs the process directly if running as with python filename.py +if __name__ == '__main__': + from PhysicsTools.HeppyCore.framework.looper import Looper + looper = Looper( 'Loop', config, nPrint = 5,nEvents=300) + looper.loop() + looper.write() diff --git a/PhysicsTools/Heppy/test/example_autofill_wCmsRun.py b/PhysicsTools/Heppy/test/example_autofill_wCmsRun.py new file mode 100644 index 000000000000..1aedd82c678f --- /dev/null +++ b/PhysicsTools/Heppy/test/example_autofill_wCmsRun.py @@ -0,0 +1,135 @@ +#! /usr/bin/env python +import ROOT +import PhysicsTools.HeppyCore.framework.config as cfg + +# The content of the output tree is defined here +# the definitions of the NtupleObjects are located under PhysicsTools/Heppy/pythonanalyzers/objects/autophobj.py + +from PhysicsTools.Heppy.analyzers.core.AutoFillTreeProducer import * +treeProducer= cfg.Analyzer( + class_object=AutoFillTreeProducer, + verbose=False, + vectorTree = True, + #here the list of simple event variables (floats, int) can be specified + globalVariables = [ + NTupleVariable("rho", lambda ev: ev.rho, float, help="jets rho"), + ], + #here one can specify compound objects + globalObjects = { + "met" : NTupleObject("met", metType, help="PF E_{T}^{miss}, after default type 1 corrections"), + }, + collections = { + #The following would just store the electrons and muons from miniaod without any selection or cleaning + # only the basice particle information is saved + #"slimmedMuons" : ( AutoHandle( ("slimmedMuons",), "std::vector" ), + # NTupleCollection("mu", particleType, 4, help="patMuons, directly from MINIAOD") ), + #"slimmedElectron" : ( AutoHandle( ("slimmedElectrons",), "std::vector" ), + # NTupleCollection("ele", particleType, 4, help="patElectron, directly from MINIAOD") ), + + #read product of preprocessor-cmsRun + "jetsAK5" : ( AutoHandle( ("ak5PFJetsCHS",), "std::vector" ), + NTupleCollection("JetAk5", particleType, 8, help="AK5 jets")), + + #standard dumping of objects + "selectedLeptons" : NTupleCollection("leptons", leptonType, 8, help="Leptons after the preselection"), + "selectedTaus" : NTupleCollection("TauGood", tauType, 3, help="Taus after the preselection"), + "cleanJets" : NTupleCollection("Jet", jetType, 8, help="Cental jets after full selection and cleaning, sorted by b-tag"), + #dump of gen objects + "gentopquarks" : NTupleCollection("GenTop", genParticleType, 2, help="Generated top quarks from hard scattering"), + "genbquarks" : NTupleCollection("GenBQuark", genParticleType, 2, help="Generated bottom quarks from top quark decays"), + "genwzquarks" : NTupleCollection("GenQuark", genParticleType, 6, help="Generated quarks from W/Z decays"), + "genleps" : NTupleCollection("GenLep", genParticleType, 6, help="Generated leptons from W/Z decays"), + "gentauleps" : NTupleCollection("GenLepFromTau", genParticleType, 6, help="Generated leptons from decays of taus from W/Z/h decays"), + + } + ) + +# Import standard analyzers and take their default config +from PhysicsTools.Heppy.analyzers.objects.LeptonAnalyzer import LeptonAnalyzer +LepAna = LeptonAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.VertexAnalyzer import VertexAnalyzer +VertexAna = VertexAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.PhotonAnalyzer import PhotonAnalyzer +PhoAna = PhotonAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.TauAnalyzer import TauAnalyzer +TauAna = TauAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.JetAnalyzer import JetAnalyzer +JetAna = JetAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.gen.LHEAnalyzer import LHEAnalyzer +LHEAna = LHEAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.gen.GeneratorAnalyzer import GeneratorAnalyzer +GenAna = GeneratorAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.objects.METAnalyzer import METAnalyzer +METAna = METAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.core.PileUpAnalyzer import PileUpAnalyzer +PUAna = PileUpAnalyzer.defaultConfig +from PhysicsTools.Heppy.analyzers.core.TriggerBitAnalyzer import TriggerBitAnalyzer +FlagsAna = TriggerBitAnalyzer.defaultEventFlagsConfig + +# Configure trigger bit analyzer +from PhysicsTools.Heppy.analyzers.core.TriggerBitAnalyzer import TriggerBitAnalyzer +TrigAna= cfg.Analyzer( + verbose=False, + class_object=TriggerBitAnalyzer, + #grouping several paths into a single flag + # v* can be used to ignore the version of a path + triggerBits={ + 'ELE':["HLT_Ele23_Ele12_CaloId_TrackId_Iso_v*","HLT_Ele32_eta2p1_WP85_Gsf_v*","HLT_Ele32_eta2p1_WP85_Gsf_v*"], + 'MU': ["HLT_Mu17_TrkIsoVVL_TkMu8_TrkIsoVVL_v*","HLT_Mu17_TrkIsoVVL_Mu8_TrkIsoVVL_v*","HLT_IsoTkMu24_eta2p1_IterTrk02_v*","HLT_IsoTkMu24_IterTrk02_v*"], + }, +# processName='HLT', +# outprefix='HLT' + #setting 'unrollbits' to true will not only store the OR for each set of trigger bits but also the individual bits + #caveat: this does not unroll the version numbers + unrollbits=True + ) + + + +#replace some parameters +LepAna.loose_muon_pt = 10 + +sequence = [LHEAna,FlagsAna, GenAna, PUAna,TrigAna,VertexAna,LepAna,TauAna,PhoAna,JetAna,METAna,treeProducer] + +#use tfile service to provide a single TFile to all modules where they +#can write any root object. If the name is 'outputfile' or the one specified in treeProducer +#also the treeProducer uses this file +from PhysicsTools.HeppyCore.framework.services.tfile import TFileService +output_service = cfg.Service( + TFileService, + 'outputfile', + name="outputfile", + fname='tree.root', + option='recreate' + ) + +# the following two lines are just for automatic testing +# they are not needed for running on your own samples +from PhysicsTools.Heppy.utils.miniAodFiles import miniAodFiles +testfiles=miniAodFiles() + +sample = cfg.Component( +#specify the file you want to run on +# files = ["/scratch/arizzi/Hbb/CMSSW_7_2_2_patch2/src/VHbbAnalysis/Heppy/test/ZLL-8A345C56-6665-E411-9C25-1CC1DE04DF20.root"], + files = testfiles, + name="SingleSample", isMC=False,isEmbed=False + ) + +from PhysicsTools.Heppy.utils.cmsswPreprocessor import CmsswPreprocessor +preprocessor = CmsswPreprocessor("makeAK5Jets.py") + +# the following is declared in case this cfg is used in input to the heppy.py script +from PhysicsTools.HeppyCore.framework.eventsfwlite import Events +selectedComponents = [sample] +config = cfg.Config( components = selectedComponents, + sequence = sequence, + services = [output_service], + preprocessor=preprocessor, #this would run cmsRun makeAK5Jets.py before running Heppy + events_class = Events) + +# and the following runs the process directly if running as with python filename.py +if __name__ == '__main__': + from PhysicsTools.HeppyCore.framework.looper import Looper + looper = Looper( 'Loop', config, nPrint = 5,nEvents=300) + looper.loop() + looper.write() diff --git a/PhysicsTools/Heppy/test/makeAK5Jets.py b/PhysicsTools/Heppy/test/makeAK5Jets.py new file mode 100644 index 000000000000..a5e01505c7d5 --- /dev/null +++ b/PhysicsTools/Heppy/test/makeAK5Jets.py @@ -0,0 +1,28 @@ +import FWCore.ParameterSet.Config as cms + + +process = cms.Process("EX") +process.source = cms.Source("PoolSource", + fileNames = cms.untracked.vstring("file:../ZLL-8A345C56-6665-E411-9C25-1CC1DE04DF20.root") +) +process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) + +process.OUT = cms.OutputModule("PoolOutputModule", + fileName = cms.untracked.string('test.root'), + outputCommands = cms.untracked.vstring(['drop *']) +) +process.endpath= cms.EndPath(process.OUT) + +from RecoJets.JetProducers.ak5PFJets_cfi import ak5PFJets + +# Select candidates that would pass CHS requirements +process.chs = cms.EDFilter("CandPtrSelector", src = cms.InputTag("packedPFCandidates"), cut = cms.string("fromPV")) + +#makes chs ak5 jets (instead of ak4 that are default in miniAOD 70X) +process.ak5PFJetsCHS = ak5PFJets.clone(src = 'chs') +process.OUT.outputCommands.append("keep *_ak5PFJetsCHS_*_EX") + +process.options = cms.untracked.PSet( + wantSummary = cms.untracked.bool(True), # while the timing of this is not reliable in unscheduled mode, it still helps understanding what was actually run + allowUnscheduled = cms.untracked.bool(True) +) diff --git a/PhysicsTools/HeppyCore/python/framework/analyzer.py b/PhysicsTools/HeppyCore/python/framework/analyzer.py index 7c10b4689e5f..11ad061d30de 100644 --- a/PhysicsTools/HeppyCore/python/framework/analyzer.py +++ b/PhysicsTools/HeppyCore/python/framework/analyzer.py @@ -41,21 +41,22 @@ def __init__(self, cfg_ana, cfg_comp, looperName ): # this is the main logger corresponding to the looper. # each analyzer could also declare its own logger self.mainLogger = logging.getLogger( looperName ) + # print self.mainLogger.handlers self.beginLoopCalled = False def beginLoop(self, setup): """Automatically called by Looper, for all analyzers.""" self.counters = Counters() self.averages = Averages() - self.mainLogger.warning( 'beginLoop ' + self.cfg_ana.name ) + self.mainLogger.info( 'beginLoop ' + self.cfg_ana.name ) self.beginLoopCalled = True def endLoop(self, setup): """Automatically called by Looper, for all analyzers.""" #print self.cfg_ana - self.mainLogger.warning( '' ) - self.mainLogger.warning( str(self) ) - self.mainLogger.warning( '' ) + self.mainLogger.info( '' ) + self.mainLogger.info( str(self) ) + self.mainLogger.info( '' ) def process(self, event ): """Automatically called by Looper, for all analyzers. diff --git a/PhysicsTools/HeppyCore/python/framework/anapath.py b/PhysicsTools/HeppyCore/python/framework/anapath.py deleted file mode 100644 index 91e8198b0c75..000000000000 --- a/PhysicsTools/HeppyCore/python/framework/anapath.py +++ /dev/null @@ -1,25 +0,0 @@ -import os -import glob - -def anapath(): - analyzer_path = [] - - cmssw_src = '/'.join( [ os.environ['CMSSW_BASE'], 'src' ] ) - pkg_pat = '/'.join([cmssw_src, '*', '*']) - pkg_dirs = glob.glob( pkg_pat ) - packages = [dir for dir in pkg_dirs \ - if os.path.isdir(dir) and \ - not dir.endswith('CVS') ] - for pkg in packages: - ana_dir = '/'.join( [pkg, 'python/analyzers'] ) - # if pkg.endswith('CMGTools/H2TauTau'): - # ana_dir = '/'.join( [pkg, 'python/proto/analyzers'] ) - if os.path.isdir(ana_dir): - analyzer_path.append( ana_dir ) - return analyzer_path - -analyzer_path = anapath() - -if __name__ == '__main__': - print analyzer_path - diff --git a/PhysicsTools/HeppyCore/python/framework/chain_test.py b/PhysicsTools/HeppyCore/python/framework/chain_test.py index 31e7e81b1e65..9ceda3f40124 100644 --- a/PhysicsTools/HeppyCore/python/framework/chain_test.py +++ b/PhysicsTools/HeppyCore/python/framework/chain_test.py @@ -3,39 +3,51 @@ import shutil from PhysicsTools.HeppyCore.framework.chain import Chain +from PhysicsTools.HeppyCore.utils.testtree import create_tree + +testfname = 'test_tree.root' class ChainTestCase(unittest.TestCase): def setUp(self): - self.file = '../../test/test_tree.root' - self.chain = Chain(self.file, 'test_tree') + self.chain = Chain(testfname, 'test_tree') def test_file(self): - self.assertTrue(os.path.isfile(self.file)) + '''Test that the test file exists''' + self.assertTrue(os.path.isfile(testfname)) - def test_guess_name(self): + def test_wrong_filename(self): self.assertRaises(ValueError, - Chain, 'self.file') + Chain, 'non_existing_file.root') + + def test_guess_treename(self): + chain = Chain(testfname) + self.assertEqual(len(self.chain), 100) def test_load_1(self): + '''Test that the chain has the correct number of entries''' self.assertEqual(len(self.chain), 100) def test_load_2(self): - tmpfile = self.file.replace('test_tree', 'test_tree_2_tmp') - shutil.copyfile(self.file, tmpfile) - chain = Chain(self.file.replace('.root', '*.root'), 'test_tree') + '''Test chaining of two files.''' + tmpfile = testfname.replace('test_tree', 'test_tree_2_tmp') + shutil.copyfile(testfname, tmpfile) + chain = Chain(testfname.replace('.root', '*.root'), 'test_tree') self.assertEqual(len(chain), 200) os.remove(tmpfile) def test_iterate(self): + '''Test iteration''' for ev in self.chain: pass self.assertTrue(True) def test_get(self): + '''Test direct event access''' event = self.chain[2] self.assertEqual(event.var1, 2.) if __name__ == '__main__': + create_tree(testfname) unittest.main() diff --git a/PhysicsTools/HeppyCore/python/framework/config.py b/PhysicsTools/HeppyCore/python/framework/config.py index bb2dabc228e9..d06d87f5f2eb 100644 --- a/PhysicsTools/HeppyCore/python/framework/config.py +++ b/PhysicsTools/HeppyCore/python/framework/config.py @@ -182,7 +182,8 @@ def getWeight( self, intLumi = None): class Config( object ): '''Main configuration object, holds a sequence of analyzers, and a list of components.''' - def __init__(self, components, sequence, services, events_class): + def __init__(self, components, sequence, services, events_class,preprocessor=None): + self.preprocessor = preprocessor self.components = components self.sequence = sequence self.services = services @@ -195,35 +196,3 @@ def __str__(self): return '\n'.join([comp, sequence, services]) -if __name__ == '__main__': - - from PhysicsTools.HeppyCore.framework.chain import Chain as Events - from PhysicsTools.HeppyCore.analyzers.Printer import Printer - - class Ana1(object): - pass - ana1 = Analyzer( - Ana1, - toto = '1', - tata = 'a' - ) - ana2 = Analyzer( - Printer, - 'instance1' - ) - sequence = Sequence( [ana1, ana2] ) - - DYJets = MCComponent( - name = 'DYJets', - files ='blah_mc.root', - xSection = 3048., - nGenEvents = 34915945, - triggers = ['HLT_MC'], - vertexWeight = 1., - effCorrFactor = 1 ) - selectedComponents = [DYJets] - sequence = [ana1, ana2] - config = Config( components = selectedComponents, - sequence = sequence, - events_class = Events ) - print config diff --git a/PhysicsTools/HeppyCore/python/framework/config_test.py b/PhysicsTools/HeppyCore/python/framework/config_test.py index b74a53722daf..91e38c908d69 100644 --- a/PhysicsTools/HeppyCore/python/framework/config_test.py +++ b/PhysicsTools/HeppyCore/python/framework/config_test.py @@ -45,6 +45,7 @@ class Ana1(object): from PhysicsTools.HeppyCore.framework.chain import Chain as Events config = Config( components = [comp1], sequence = [ana1], + services = [], events_class = Events ) diff --git a/PhysicsTools/HeppyCore/python/framework/event.py b/PhysicsTools/HeppyCore/python/framework/event.py index bf27268f92b6..2fca9389f2d0 100644 --- a/PhysicsTools/HeppyCore/python/framework/event.py +++ b/PhysicsTools/HeppyCore/python/framework/event.py @@ -1,4 +1,3 @@ -import collections from ROOT import TChain class Event(object): @@ -34,7 +33,7 @@ def __str__(self): if hasattr(value, '__getitem__'): if (len(value)>0 and value[0].__class__ == value.__class__): recursive = True - if isinstance( value, collections.Iterable ) and \ + if hasattr(value, '__contains__') and \ not isinstance(value, (str,unicode)) and \ not isinstance(value, TChain) and \ not recursive : diff --git a/PhysicsTools/HeppyCore/python/framework/eventsalbers.py b/PhysicsTools/HeppyCore/python/framework/eventsalbers.py deleted file mode 100644 index 028a363ad683..000000000000 --- a/PhysicsTools/HeppyCore/python/framework/eventsalbers.py +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright (C) 2014 Colin Bernet -# https://github.com/cbernet/heppy/blob/master/LICENSE - -from eventstore import EventStore as Events diff --git a/PhysicsTools/HeppyCore/python/framework/eventsfwlite.py b/PhysicsTools/HeppyCore/python/framework/eventsfwlite.py index a0c530646fa5..a8dc2b106e27 100644 --- a/PhysicsTools/HeppyCore/python/framework/eventsfwlite.py +++ b/PhysicsTools/HeppyCore/python/framework/eventsfwlite.py @@ -1,8 +1,17 @@ from DataFormats.FWLite import Events as FWLiteEvents class Events(object): - def __init__(self, files, tree_name): - self.events = FWLiteEvents(files) + def __init__(self, files, tree_name, options=None): + if options is not None : + if not hasattr(options,"inputFiles"): + options.inputFiles=files + if not hasattr(options,"maxEvents"): + options.maxEvents = 0 + if not hasattr(options,"secondaryInputFiles"): + options.secondaryInputFiles = [] + self.events = FWLiteEvents(options=options) + else : + self.events = FWLiteEvents(files) def __len__(self): return self.events.size() diff --git a/PhysicsTools/HeppyCore/python/framework/eventstfile.py b/PhysicsTools/HeppyCore/python/framework/eventstfile.py index 038694611746..e577da31e6f0 100644 --- a/PhysicsTools/HeppyCore/python/framework/eventstfile.py +++ b/PhysicsTools/HeppyCore/python/framework/eventstfile.py @@ -6,7 +6,7 @@ class Events(object): '''Event list from a tree in a root file. ''' - def __init__(self, filename, treename): + def __init__(self, filename, treename, options=None): self.file = TFile(filename) if self.file.IsZombie(): raise ValueError('file {fnam} does not exist'.format(fnam=filename)) diff --git a/PhysicsTools/HeppyCore/python/framework/heppy.py b/PhysicsTools/HeppyCore/python/framework/heppy.py index f83483f2d778..7edd93fc44f1 100755 --- a/PhysicsTools/HeppyCore/python/framework/heppy.py +++ b/PhysicsTools/HeppyCore/python/framework/heppy.py @@ -49,12 +49,13 @@ def runLoop( comp, outDir, config, options): config, options.nevents, 0, nPrint = options.nprint, - timeReport = options.timeReport) - print loop + timeReport = options.timeReport, + quiet = options.quiet) + # print loop if options.iEvent is None: loop.loop() loop.write() - print loop + # print loop else: # loop.InitOutput() iEvent = int(options.iEvent) @@ -121,6 +122,11 @@ def split(comps): return splitComps +_heppyGlobalOptions = {} + +def getHeppyOption(name,default=None): + global _heppyGlobalOptions + return _heppyGlobalOptions[name] if name in _heppyGlobalOptions else default def main( options, args ): @@ -140,13 +146,28 @@ def main( options, args ): print 'ERROR: second argument must be an existing file (your input cfg).' sys.exit(3) + if options.verbose: + import logging + logging.basicConfig(level=logging.INFO) + + # Propagate global options to _heppyGlobalOptions within this module + # I have to import it explicitly, 'global' does not work since the + # module is not set when executing the main + from PhysicsTools.HeppyCore.framework.heppy import _heppyGlobalOptions + for opt in options.extraOptions: + if "=" in opt: + (key,val) = opt.split("=",1) + _heppyGlobalOptions[key] = val + else: + _heppyGlobalOptions[opt] = True + file = open( cfgFileName, 'r' ) cfg = imp.load_source( 'PhysicsTools.HeppyCore.__cfg_to_run__', cfgFileName, file) selComps = [comp for comp in cfg.config.components if len(comp.files)>0] selComps = split(selComps) - for comp in selComps: - print comp + # for comp in selComps: + # print comp if len(selComps)>10: print "WARNING: too many threads {tnum}, will just use a maximum of 10.".format(tnum=len(selComps)) if not createOutputDir(outDir, selComps, options.force): @@ -183,6 +204,7 @@ def main( options, args ): parser.add_option("-N", "--nevents", dest="nevents", + type="int", help="number of events to process", default=None) parser.add_option("-p", "--nprint", @@ -208,8 +230,22 @@ def main( options, args ): action='store_true', help="Make a report of the time used by each analyzer", default=False) - - + parser.add_option("-v", "--verbose", + dest="verbose", + action='store_true', + help="increase the verbosity of the output (from 'warning' to 'info' level)", + default=False) + parser.add_option("-q", "--quiet", + dest="quiet", + action='store_true', + help="do not print log messages to screen.", + default=False) + parser.add_option("-o", "--option", + dest="extraOptions", + type="string", + action="append", + default=[], + help="Save one extra option (either a flag, or a key=value pair) that can be then accessed from the job config file") (options,args) = parser.parse_args() diff --git a/PhysicsTools/HeppyCore/python/framework/looper.py b/PhysicsTools/HeppyCore/python/framework/looper.py index 23ca23ecd2f9..9e5022f6de21 100644 --- a/PhysicsTools/HeppyCore/python/framework/looper.py +++ b/PhysicsTools/HeppyCore/python/framework/looper.py @@ -4,10 +4,8 @@ import os import sys import imp -# import copy import logging import pprint -from platform import platform from math import ceil from event import Event import timeit @@ -52,7 +50,10 @@ class Looper(object): def __init__( self, name, config, nEvents=None, - firstEvent=0, nPrint=0, timeReport=False ): + firstEvent=0, + nPrint=0, + timeReport=False, + quiet=False): """Handles the processing of an event sample. An Analyzer is built for each Config.Analyzer present in sequence. The Looper can then be used to process an event, @@ -71,7 +72,9 @@ def __init__( self, name, self.logger = logging.getLogger( self.name ) self.logger.addHandler(logging.FileHandler('/'.join([self.name, 'log.txt']))) - self.logger.addHandler( logging.StreamHandler(sys.stdout) ) + self.logger.propagate = False + if not quiet: + self.logger.addHandler( logging.StreamHandler(sys.stdout) ) self.cfg_comp = config.components[0] self.classes = {} @@ -86,7 +89,13 @@ def __init__( self, name, if len(self.cfg_comp.files)==0: errmsg = 'please provide at least an input file in the files attribute of this component\n' + str(self.cfg_comp) raise ValueError( errmsg ) - self.events = config.events_class(self.cfg_comp.files, tree_name) + if hasattr(config,"preprocessor") and config.preprocessor is not None : + self.cfg_comp = config.preprocessor.run(self.cfg_comp,self.outDir,firstEvent,nEvents) + if hasattr(self.cfg_comp,"options"): + print self.cfg_comp.files,self.cfg_comp.options + self.events = config.events_class(self.cfg_comp.files, tree_name,options=self.cfg_comp.options) + else : + self.events = config.events_class(self.cfg_comp.files, tree_name) if hasattr(self.cfg_comp, 'fineSplit'): fineSplitIndex, fineSplitFactor = self.cfg_comp.fineSplit if fineSplitFactor > 1: @@ -95,7 +104,9 @@ def __init__( self, name, totevents = min(len(self.events),int(nEvents)) if (nEvents and int(nEvents) not in [-1,0]) else len(self.events) self.nEvents = int(ceil(totevents/float(fineSplitFactor))) self.firstEvent = firstEvent + fineSplitIndex * self.nEvents - #print "For component %s will process %d events starting from the %d one" % (self.cfg_comp.name, self.nEvents, self.firstEvent) + if self.firstEvent + self.nEvents >= totevents: + self.nEvents = totevents - self.firstEvent + #print "For component %s will process %d events starting from the %d one, ending at %d excluded" % (self.cfg_comp.name, self.nEvents, self.firstEvent, self.nEvents + self.firstEvent) # self.event is set in self.process self.event = None services = dict() @@ -144,11 +155,11 @@ def loop(self): else: nEvents = int(nEvents) eventSize = nEvents - self.logger.warning( + self.logger.info( 'starting loop at event {firstEvent} '\ 'to process {eventSize} events.'.format(firstEvent=firstEvent, eventSize=eventSize)) - self.logger.warning( str( self.cfg_comp ) ) + self.logger.info( str( self.cfg_comp ) ) for analyzer in self.analyzers: analyzer.beginLoop(self.setup) try: @@ -170,13 +181,32 @@ def loop(self): except UserWarning: print 'Stopped loop following a UserWarning exception' + + info = self.logger.info + info('number of events processed: {nEv}'.format(nEv=iEv+1)) + info('') + info( self.cfg_comp ) + info('') for analyzer in self.analyzers: analyzer.endLoop(self.setup) - warn = self.logger.warning - warn('') - warn( self.cfg_comp ) - warn('') - warn('number of events processed: {nEv}'.format(nEv=iEv+1)) + if self.timeReport: + allev = max([x['events'] for x in self.timeReport]) + warning = self.logger.warning + warning("\n ---- TimeReport (all times in ms; first evt is skipped) ---- ") + warning("%9s %9s %9s %9s %6s %s" % ("processed","all evts","time/proc", " time/all", " [%] ", "analyer")) + warning("%9s %9s %9s %9s %6s %s" % ("---------","--------","---------", "---------", " -----", "-------------")) + sumtime = sum(rep['time'] for rep in self.timeReport) + passev = self.timeReport[-1]['events'] + for ana,rep in zip(self.analyzers,self.timeReport): + timePerProcEv = rep['time']/(rep['events']-1) if rep['events'] > 1 else 0 + timePerAllEv = rep['time']/(allev-1) if allev > 1 else 0 + fracAllEv = rep['time']/sumtime + warning( "%9d %9d %10.2f %10.2f %5.1f%% %s" % ( rep['events'], allev, 1000*timePerProcEv, 1000*timePerAllEv, 100.0*fracAllEv, ana.name)) + totPerProcEv = sumtime/(passev-1) if passev > 1 else 0 + totPerAllEv = sumtime/(allev-1) if allev > 1 else 0 + warning("%9s %9s %9s %9s %s" % ("---------","--------","---------", "---------", "-------------")) + warning("%9d %9d %10.2f %10.2f %5.1f%% %s" % ( passev, allev, 1000*totPerProcEv, 1000*totPerAllEv, 100.0, "TOTAL")) + warning("") def process(self, iEv ): """Run event processing for all analyzers in the sequence. @@ -189,7 +219,7 @@ def process(self, iEv ): self.iEvent = iEv for i,analyzer in enumerate(self.analyzers): if not analyzer.beginLoopCalled: - analyzer.beginLoop() + analyzer.beginLoop(self.setup) start = timeit.default_timer() ret = analyzer.process( self.event ) if self.timeReport: @@ -198,6 +228,8 @@ def process(self, iEv ): self.timeReport[i]['time'] += timeit.default_timer() - start if ret == False: return (False, analyzer.name) + if iEv1 else 0, 1000*rep['time']/(allev-1) if allev > 1 else 0, ana.name) - print "" - pass - if __name__ == '__main__': diff --git a/PhysicsTools/HeppyCore/python/framework/platform.py b/PhysicsTools/HeppyCore/python/framework/platform.py deleted file mode 100644 index 98b604411293..000000000000 --- a/PhysicsTools/HeppyCore/python/framework/platform.py +++ /dev/null @@ -1,21 +0,0 @@ -from ROOT import TFile - -def platform(filename): - '''Detects the platform on which heppy is running, and returns BARE, CMSSW, or FCC. - ''' - rootfile = TFile(filename) - keys = rootfile.GetListOfKeys() - cmssw_keys = ['MetaData', 'ParameterSets', 'Events', 'LuminosityBlocks', 'Runs'] - is_cmssw = True - for key in cmssw_keys: - if key not in keys: - is_cmssw = False - if is_cmssw: - return 'CMSSW' - else: - return 'BARE' - -if __name__ == '__main__': - import sys - fnam = sys.argv[1] - print platform(fnam) diff --git a/PhysicsTools/HeppyCore/python/utils/batchmanager.py b/PhysicsTools/HeppyCore/python/utils/batchmanager.py index 456e8dfc5037..c154b6c00923 100644 --- a/PhysicsTools/HeppyCore/python/utils/batchmanager.py +++ b/PhysicsTools/HeppyCore/python/utils/batchmanager.py @@ -32,7 +32,7 @@ def DefineOptions(self): help="Name of the local output directory for your jobs. This directory will be created automatically.", default=None) self.parser_.add_option("-r", "--remote-copy", dest="remoteCopy", - help="remote output directory for your jobs. Example: /store/cmst3/user/cbern/CMG/HT/Run2011A-PromptReco-v1/AOD/PAT_CMG/RA2. This directory *must* be provided as a logical file name (LFN). When this option is used, all root files produced by a job are copied to the remote directory, and the job index is appended to the root file name. The Logger directory is tarred and compressed into Logger.tgz, and sent to the remote output directory as well. Afterwards, use logger.py to access the information contained in Logger.tgz. For remote copy to PSI specify path like: '/pnfs/psi.ch/...'. Logs will be sent back to the submision directory.", + help="remote output directory for your jobs. Example: /store/cmst3/user/cbern/CMG/HT/Run2011A-PromptReco-v1/AOD/PAT_CMG/RA2. This directory *must* be provided as a logical file name (LFN). When this option is used, all root files produced by a job are copied to the remote directory, and the job index is appended to the root file name. The Logger directory is tarred and compressed into Logger.tgz, and sent to the remote output directory as well. Afterwards, use logger.py to access the information contained in Logger.tgz. For remote copy to PSI specify path like: '/pnfs/psi.ch/...'. Logs will be sent back to the submision directory. NOTE: so far this option has been implemented and validated to work only for a remote copy to PSI", default=None) self.parser_.add_option("-f", "--force", action="store_true", dest="force", default=False, @@ -44,6 +44,9 @@ def DefineOptions(self): self.parser_.add_option("-b", "--batch", dest="batch", help="batch command. default is: 'bsub -q 8nh < batchScript.sh'. You can also use 'nohup < ./batchScript.sh &' to run locally.", default="bsub -q 8nh < ./batchScript.sh") + self.parser_.add_option("-p", "--parametric", action="store_true", + dest="parametric", default=False, + help="submit jobs parametrically, implemented for IC so far") def ParseOptions(self): @@ -58,13 +61,18 @@ def ParseOptions(self): if "psi.ch" in self.remoteOutputDir_: # T3 @ PSI: # overwriting protection to be improved if self.remoteOutputDir_.startswith("/pnfs/psi.ch"): + ld_lib_path = os.environ.get('LD_LIBRARY_PATH') + if ld_lib_path != "None": + os.environ['LD_LIBRARY_PATH'] = "/usr/lib64/:"+ld_lib_path # to solve gfal conflict with CMSSW os.system("gfal-mkdir srm://t3se01.psi.ch/"+self.remoteOutputDir_) - outputDir = self.options_.outputDir + outputDir = self.options_.outputDir.rstrip("/").split("/")[-1] # to for instance direct output to /afs/cern.ch/work/u/user/outputDir if outputDir==None: today = datetime.today() outputDir = 'OutCmsBatch_%s' % today.strftime("%d%h%y_%H%M") self.remoteOutputDir_+="/"+outputDir os.system("gfal-mkdir srm://t3se01.psi.ch/"+self.remoteOutputDir_) + if ld_lib_path != "None": + os.environ['LD_LIBRARY_PATH'] = ld_lib_path # back to original to avoid conflicts else: print "remote directory must start with /pnfs/psi.ch to send to the tier3 at PSI" print self.remoteOutputDir_, "not valid" @@ -169,17 +177,51 @@ def SubmitJobs( self, waitingTimeInSec=0 ): print '*NOT* SUBMITTING JOBS - exit ' return print 'SUBMITTING JOBS ======== ' - for jobDir in self.listOfJobs_: - root = os.getcwd() - # run it - print 'processing ', jobDir - os.chdir( jobDir ) - self.SubmitJob( jobDir ) - # and come back - os.chdir(root) - print 'waiting %s seconds...' % waitingTimeInSec - time.sleep( waitingTimeInSec ) - print 'done.' + + mode = self.RunningMode(self.options_.batch) + + # If at IC write all the job directories to a file then submit a parameteric + # job that depends on the file number. This is required to circumvent the 2000 + # individual job limit at IC + if mode=="IC" and self.options_.parametric: + + jobDirsFile = os.path.join(self.outputDir_,"jobDirectories.txt") + with open(jobDirsFile, 'w') as f: + for jobDir in self.listOfJobs_: + print>>f,jobDir + + readLine = "readarray JOBDIR < "+jobDirsFile+"\n" + + submitScript = os.path.join(self.outputDir_,"parametricSubmit.sh") + with open(submitScript,'w') as batchScript: + batchScript.write("#!/bin/bash\n") + batchScript.write("#$ -e /dev/null -o /dev/null \n") + batchScript.write("cd "+self.outputDir_+"\n") + batchScript.write(readLine) + batchScript.write("cd ${JOBDIR[${SGE_TASK_ID}-1]}\n") + batchScript.write( "./batchScript.sh > BATCH_outputLog.txt 2> BATCH_errorLog.txt" ) + + #Find the queue + splitBatchOptions = self.options_.batch.split() + if '-q' in splitBatchOptions: queue = splitBatchOptions[splitBatchOptions.index('-q')+1] + else: queue = "hepshort.q" + + os.system("qsub -q "+queue+" -t 1-"+str(len(self.listOfJobs_))+" "+submitScript) + + else: + #continue as before, submitting one job per directory + + for jobDir in self.listOfJobs_: + root = os.getcwd() + # run it + print 'processing ', jobDir + os.chdir( jobDir ) + self.SubmitJob( jobDir ) + # and come back + os.chdir(root) + print 'waiting %s seconds...' % waitingTimeInSec + time.sleep( waitingTimeInSec ) + print 'done.' def SubmitJob( self, jobDir ): '''Hook for job submission.''' @@ -231,6 +273,7 @@ def RunningMode(self, batch): "LXPLUS" : batch command is bsub, and logged on lxplus "PSI" : batch command is qsub, and logged to t3uiXX + "IC" : batch command is qsub, and logged to hep.ph.ic.ac.uk "LOCAL" : batch command is nohup. In all other cases, a CmsBatchException is raised ''' @@ -238,26 +281,38 @@ def RunningMode(self, batch): hostName = os.environ['HOSTNAME'] onLxplus = hostName.startswith('lxplus') onPSI = hostName.startswith('t3ui' ) - onPISA = re.match('.*gridui.*',hostName) or re.match('.*faiwn.*',hostName) + onPISA = re.match('.*gridui.*',hostName) or re.match('.*faiwn.*',hostName) + onPADOVA = ( hostName.startswith('t2-ui') and re.match('.*pd.infn.*',hostName) ) or ( hostName.startswith('t2-cld') and re.match('.*lnl.infn.*',hostName) ) + onIC = 'hep.ph.ic.ac.uk' in hostName batchCmd = batch.split()[0] if batchCmd == 'bsub': - if not (onLxplus or onPISA) : + if not (onLxplus or onPISA or onPADOVA) : err = 'Cannot run %s on %s' % (batchCmd, hostName) raise ValueError( err ) elif onPISA : print 'running on LSF pisa : %s from %s' % (batchCmd, hostName) return 'PISA' + elif onPADOVA: + print 'running on LSF padova: %s from %s' % (batchCmd, hostName) + return 'PADOVA' else: print 'running on LSF lxplus: %s from %s' % (batchCmd, hostName) return 'LXPLUS' elif batchCmd == "qsub": - if not onPSI: - err = 'Cannot run %s on %s' % (batchCmd, hostName) - raise ValueError( err ) + #if not onPSI: + # err = 'Cannot run %s on %s' % (batchCmd, hostName) + # raise ValueError( err ) + + if onIC: + print 'running on IC : %s from %s' % (batchCmd, hostName) + return 'IC' + else: - print 'running on SGE : %s from %s' % (batchCmd, hostName) - return 'PSI' + if onPSI: + print 'running on SGE : %s from %s' % (batchCmd, hostName) + return 'PSI' + elif batchCmd == 'nohup' or batchCmd == './batchScript.sh': print 'running locally : %s on %s' % (batchCmd, hostName) return 'LOCAL' diff --git a/PhysicsTools/HeppyCore/python/utils/deltar.py b/PhysicsTools/HeppyCore/python/utils/deltar.py index fe74c547f3bb..1b54b4631486 100644 --- a/PhysicsTools/HeppyCore/python/utils/deltar.py +++ b/PhysicsTools/HeppyCore/python/utils/deltar.py @@ -4,7 +4,10 @@ import math import copy -def deltaR2( e1, p1, e2, p2): +def deltaR2( e1, p1, e2=None, p2=None): + """Take either 4 arguments (eta,phi, eta,phi) or two objects that have 'eta', 'phi' methods)""" + if (e2 == None and p2 == None): + return deltaR2(e1.eta(),e1.phi(), p1.eta(), p1.phi()) de = e1 - e2 dp = deltaPhi(p1, p2) return de*de + dp*dp @@ -49,7 +52,10 @@ def matchObjectCollection3 ( objects, matchCollection, deltaRMax = 0.3, filter = return dict( zip(objects, [None]*len(objects)) ) # build all possible combinations - allPairs = [(deltaR2 (object.eta(), object.phi(), match.eta(), match.phi()), (object, match)) for object in objects for match in matchCollection if filter(object,match) ] + objectCoords = [ (o.eta(),o.phi(),o) for o in objects ] + matchdCoords = [ (o.eta(),o.phi(),o) for o in matchCollection ] + allPairs = [(deltaR2 (oeta, ophi, meta, mphi), (object, match)) for (oeta,ophi,object) in objectCoords for (meta,mphi,match) in matchdCoords if abs(oeta-meta)<=deltaRMax and filter(object,match) ] + #allPairs = [(deltaR2 (object.eta(), object.phi(), match.eta(), match.phi()), (object, match)) for object in objects for match in matchCollection if filter(object,match) ] allPairs.sort () # # to flag already matched objects diff --git a/PhysicsTools/HeppyCore/python/utils/testtree.py b/PhysicsTools/HeppyCore/python/utils/testtree.py new file mode 100644 index 000000000000..2da1221cbd83 --- /dev/null +++ b/PhysicsTools/HeppyCore/python/utils/testtree.py @@ -0,0 +1,14 @@ +from ROOT import TFile +from PhysicsTools.HeppyCore.statistics.tree import Tree + +def create_tree(filename="test_tree.root"): + outfile = TFile(filename, 'recreate') + tree = Tree('test_tree', 'A test tree') + tree.var('var1') + for i in range(100): + tree.fill('var1', i) + tree.tree.Fill() + print 'creating a tree', tree.tree.GetName(),\ + tree.tree.GetEntries(), 'entries in',\ + outfile.GetName() + outfile.Write() diff --git a/PhysicsTools/HeppyCore/scripts/heppy_batch.py b/PhysicsTools/HeppyCore/scripts/heppy_batch.py index 0ae3e18330f1..09ed62f6d986 100755 --- a/PhysicsTools/HeppyCore/scripts/heppy_batch.py +++ b/PhysicsTools/HeppyCore/scripts/heppy_batch.py @@ -11,6 +11,34 @@ from PhysicsTools.HeppyCore.framework.heppy import split +def batchScriptPADOVA( index, jobDir='./'): + '''prepare the LSF version of the batch script, to run on LSF''' + script = """#!/bin/bash +#BSUB -q local +#BSUB -J test +#BSUB -o test.log +cd {jdir} +echo 'PWD:' +pwd +export VO_CMS_SW_DIR=/cvmfs/cms.cern.ch +source $VO_CMS_SW_DIR/cmsset_default.sh +echo 'environment:' +echo +env > local.env +env +# ulimit -v 3000000 # NO +echo 'copying job dir to worker' +eval `scram runtime -sh` +ls +echo 'running' +python $CMSSW_BASE/src/PhysicsTools/HeppyCore/python/framework/looper.py pycfg.py config.pck >& local.output +exit $? +#echo +#echo 'sending the job directory back' +#echo cp -r Loop/* $LS_SUBCWD +""".format(jdir=jobDir) + + return script def batchScriptPISA( index, remoteDir=''): '''prepare the LSF version of the batch script, to run on LSF''' @@ -44,14 +72,47 @@ def batchScriptPISA( index, remoteDir=''): """ return script - -def batchScriptCERN( index, remoteDir=''): +def batchScriptCERN( jobDir, remoteDir=''): '''prepare the LSF version of the batch script, to run on LSF''' + + dirCopy = """echo 'sending the logs back' # will send also root files if copy failed +cp -r Loop/* $LS_SUBCWD +if [ $? -ne 0 ]; then + echo 'ERROR: problem copying job directory back' +else + echo 'job directory copy succeeded' +fi""" + if remoteDir=='': + cpCmd=dirCopy + elif remoteDir.startswith("/pnfs/psi.ch"): + cpCmd="""echo 'sending root files to remote dir' +export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH # Fabio's workaround to fix gfal-tools with CMSSW +for f in Loop/mt2*.root +do + ff=`basename $f | cut -d . -f 1` + #d=`echo $f | cut -d / -f 2` + gfal-mkdir -p {srm} + echo "gfal-copy file://`pwd`/Loop/$ff.root {srm}/${{ff}}_{idx}.root" + gfal-copy file://`pwd`/Loop/$ff.root {srm}/${{ff}}_{idx}.root + if [ $? -ne 0 ]; then + echo "ERROR: remote copy failed for file $ff" + else + echo "remote copy succeeded" + rm Loop/$ff.root + fi +done +#fi +""".format(idx=jobDir[jobDir.find("_Chunk")+6:].strip("/"), srm='srm://t3se01.psi.ch'+remoteDir+jobDir[jobDir.rfind("/"):jobDir.find("_Chunk")]) + dirCopy + else: + print "chosen location not supported yet: ", remoteDir + print 'path must start with "/pnfs/psi.ch"' + sys.exit(1) + script = """#!/bin/bash #BSUB -q 8nm echo 'environment:' echo -env +env | sort # ulimit -v 3000000 # NO echo 'copying job dir to worker' cd $CMSSW_BASE/src @@ -65,9 +126,9 @@ def batchScriptCERN( index, remoteDir=''): echo 'running' python $CMSSW_BASE/src/PhysicsTools/HeppyCore/python/framework/looper.py pycfg.py config.pck echo -echo 'sending the job directory back' -cp -r Loop/* $LS_SUBCWD -""" +{copy} +""".format(copy=cpCmd) + return script @@ -88,7 +149,7 @@ def batchScriptPSI( index, jobDir, remoteDir=''): echo $f ff=`basename $f | cut -d . -f 1` echo $ff -gfal-mkdir {srm} +gfal-mkdir -p {srm} echo "gfal-copy file:///`pwd`/Loop/treeProducerSusyFullHad/$file.root {srm}/${{ff}}_{idx}.root" gfal-copy file:///`pwd`/Loop/treeProducerSusyFullHad/$ff.root {srm}/${{ff}}_{idx}.root done @@ -162,6 +223,25 @@ def batchScriptPSI( index, jobDir, remoteDir=''): return script +def batchScriptIC(jobDir): + '''prepare a IC version of the batch script''' + + + cmssw_release = os.environ['CMSSW_BASE'] + script = """#!/bin/bash +export X509_USER_PROXY=/home/hep/$USER/myproxy +source /vols/cms/grid/setup.sh +cd {jobdir} +cd {cmssw}/src +eval `scramv1 ru -sh` +cd - +echo 'running' +python {cmssw}/src/PhysicsTools/HeppyCore/python/framework/looper.py pycfg.py config.pck +echo +echo 'sending the job directory back' +mv Loop/* ./ && rm -r Loop +""".format(jobdir = jobDir,cmssw = cmssw_release) + return script def batchScriptLocal( remoteDir, index ): '''prepare a local version of the batch script, to run using nohup''' @@ -175,7 +255,6 @@ def batchScriptLocal( remoteDir, index ): return script - class MyBatchManager( BatchManager ): '''Batch manager specific to cmsRun processes.''' @@ -190,13 +269,17 @@ def PrepareJobUser(self, jobDir, value ): storeDir = self.remoteOutputDir_.replace('/castor/cern.ch/cms','') mode = self.RunningMode(options.batch) if mode == 'LXPLUS': - scriptFile.write( batchScriptCERN( storeDir, value) ) # watch out arguments are swapped (although not used) + scriptFile.write( batchScriptCERN( jobDir, storeDir) ) elif mode == 'PSI': scriptFile.write( batchScriptPSI ( value, jobDir, storeDir ) ) # storeDir not implemented at the moment elif mode == 'LOCAL': scriptFile.write( batchScriptLocal( storeDir, value) ) # watch out arguments are swapped (although not used) elif mode == 'PISA' : scriptFile.write( batchScriptPISA( storeDir, value) ) + elif mode == 'PADOVA' : + scriptFile.write( batchScriptPADOVA( value, jobDir) ) + elif mode == 'IC': + scriptFile.write( batchScriptIC(jobDir) ) scriptFile.close() os.system('chmod +x %s' % scriptFileName) diff --git a/PhysicsTools/HeppyCore/test/create_tree.py b/PhysicsTools/HeppyCore/test/create_tree.py index 0dc1f5578de1..12037b41bccc 100644 --- a/PhysicsTools/HeppyCore/test/create_tree.py +++ b/PhysicsTools/HeppyCore/test/create_tree.py @@ -1,18 +1,2 @@ -from ROOT import TFile -from PhysicsTools.HeppyCore.statistics.tree import Tree - -outfile = TFile('test_tree.root', 'recreate') - -tree = Tree('test_tree', 'A test tree') -tree.var('var1') - - -for i in range(100): - tree.fill('var1', i) - tree.tree.Fill() - -print 'creating a tree', tree.tree.GetName(),\ - tree.tree.GetEntries(), 'entries in',\ - outfile.GetName() - -outfile.Write() +from PhysicsTools.HeppyCore.utils.testtree import create_tree +create_tree() diff --git a/PhysicsTools/HeppyCore/test/simple_example_cfg.py b/PhysicsTools/HeppyCore/test/simple_example_cfg.py index 5f273d1085c9..55551c67883a 100644 --- a/PhysicsTools/HeppyCore/test/simple_example_cfg.py +++ b/PhysicsTools/HeppyCore/test/simple_example_cfg.py @@ -1,6 +1,8 @@ import os import PhysicsTools.HeppyCore.framework.config as cfg from PhysicsTools.HeppyCore.framework.chain import Chain as Events +import logging +logging.basicConfig(level=logging.INFO) # input component # several input components can be declared, @@ -56,4 +58,4 @@ services = services, events_class = Events ) -print config +# print config diff --git a/PhysicsTools/PatAlgos/plugins/PATPhotonSlimmer.cc b/PhysicsTools/PatAlgos/plugins/PATPhotonSlimmer.cc index 8d38667f3c2c..c1417942e2ad 100644 --- a/PhysicsTools/PatAlgos/plugins/PATPhotonSlimmer.cc +++ b/PhysicsTools/PatAlgos/plugins/PATPhotonSlimmer.cc @@ -117,17 +117,40 @@ pat::PATPhotonSlimmer::produce(edm::Event & iEvent, const edm::EventSetup & iSet } } if (saveNonZSClusterShapes_(photon)) { - std::vector vCov = lazyToolsNoZS.localCovariances(*( photon.superCluster()->seed())); + std::vector full5x5_locCov = lazyToolsNoZS.localCovariances(*( photon.superCluster()->seed())); + std::vector full5x5_cov = lazyToolsNoZS.covariances(*( photon.superCluster()->seed())); + float r9 = lazyToolsNoZS.e3x3( *( photon.superCluster()->seed())) / photon.superCluster()->rawEnergy() ; - float sigmaIetaIeta = ( !edm::isNotFinite(vCov[0]) ) ? sqrt(vCov[0]) : 0; - float sigmaIetaIphi = vCov[1]; - float sigmaIphiIphi = ( !edm::isNotFinite(vCov[2]) ) ? sqrt(vCov[2]) : 0; + float sigmaIetaIeta = ( !edm::isNotFinite(full5x5_locCov[0]) ) ? sqrt(full5x5_locCov[0]) : 0; + float sigmaIetaIphi = full5x5_locCov[1]; + float sigmaIphiIphi = ( !edm::isNotFinite(full5x5_locCov[2]) ) ? sqrt(full5x5_locCov[2]) : 0; float e15o55 = lazyToolsNoZS.e1x5( *( photon.superCluster()->seed()) ) / lazyToolsNoZS.e5x5( *( photon.superCluster()->seed()) ); photon.addUserFloat("sigmaIetaIeta_NoZS", sigmaIetaIeta); photon.addUserFloat("sigmaIetaIphi_NoZS", sigmaIetaIphi); photon.addUserFloat("sigmaIphiIphi_NoZS", sigmaIphiIphi); photon.addUserFloat("r9_NoZS", r9); photon.addUserFloat("e1x5_over_e5x5_NoZS", e15o55); + + float full5x5_maxXtal = lazyToolsNoZS.eMax( *( photon.superCluster()->seed()) ); + float full5x5_e1x5 = lazyToolsNoZS.e1x5( *( photon.superCluster()->seed()) ); + float full5x5_e2x5 = lazyToolsNoZS.e2x5Max( *( photon.superCluster()->seed()) ); + float full5x5_e3x3 = lazyToolsNoZS.e3x3( *( photon.superCluster()->seed()) ); + float full5x5_e5x5 = lazyToolsNoZS.e5x5( *( photon.superCluster()->seed()) ); + + float full5x5_sigmaEtaEta = sqrt(full5x5_cov[0]); + float full5x5_sigmaIetaIeta = ( !edm::isNotFinite(full5x5_locCov[0]) ) ? sqrt(full5x5_locCov[0]) : 0; + + /// fill full5x5 shower shape block + reco::Photon::ShowerShape full5x5_showerShape; + full5x5_showerShape.e1x5= full5x5_e1x5; + full5x5_showerShape.e2x5= full5x5_e2x5; + full5x5_showerShape.e3x3= full5x5_e3x3; + full5x5_showerShape.e5x5= full5x5_e5x5; + full5x5_showerShape.maxEnergyXtal = full5x5_maxXtal; + full5x5_showerShape.sigmaEtaEta = full5x5_sigmaEtaEta; + full5x5_showerShape.sigmaIetaIeta = full5x5_sigmaIetaIeta; + photon.full5x5_setShowerShapeVariables ( full5x5_showerShape ); + } } diff --git a/PhysicsTools/PatAlgos/python/slimming/slimmedPhotonsFromMiniAOD_cfi.py b/PhysicsTools/PatAlgos/python/slimming/slimmedPhotonsFromMiniAOD_cfi.py new file mode 100644 index 000000000000..e95b7e1fd945 --- /dev/null +++ b/PhysicsTools/PatAlgos/python/slimming/slimmedPhotonsFromMiniAOD_cfi.py @@ -0,0 +1,17 @@ +import FWCore.ParameterSet.Config as cms + +slimmedPhotons = cms.EDProducer("PATPhotonSlimmer", + src = cms.InputTag("slimmedPhotons"), + dropSuperCluster = cms.string("0"), # always keep SC? # ! (r9()>0.8 || chargedHadronIso()<20 || chargedHadronIso()<0.3*pt())"), # you can put a cut to slim selectively, e.g. pt < 10 + dropBasicClusters = cms.string("0"), # you can put a cut to slim selectively, e.g. pt < 10 + dropPreshowerClusters = cms.string("0"), # you can put a cut to slim selectively, e.g. pt < 10 + dropSeedCluster = cms.string("0"), # you can put a cut to slim selectively, e.g. pt < 10 + dropRecHits = cms.string("0"), # you can put a cut to slim selectively, e.g. pt < 10 + linkToPackedPFCandidates = cms.bool(False), + recoToPFMap = cms.InputTag("reducedEgamma","reducedPhotonPfCandMap"), + packedPFCandidates = cms.InputTag("packedPFCandidates"), + #saveNonZSClusterShapes = cms.string("(r9()>0.8 || chargedHadronIso()<20 || chargedHadronIso()<0.3*pt())"), # save additional user floats: (sigmaIetaIeta,sigmaIphiIphi,sigmaIetaIphi,r9,e1x5_over_e5x5)_NoZS + saveNonZSClusterShapes = cms.string("1"), + reducedBarrelRecHitCollection = cms.InputTag("reducedEgamma","reducedEBRecHits"), + reducedEndcapRecHitCollection = cms.InputTag("reducedEgamma","reducedEERecHits"), +) diff --git a/PhysicsTools/PatAlgos/test/miniAOD/patTuple_mini_fixPhotons.py b/PhysicsTools/PatAlgos/test/miniAOD/patTuple_mini_fixPhotons.py new file mode 100644 index 000000000000..458253386e68 --- /dev/null +++ b/PhysicsTools/PatAlgos/test/miniAOD/patTuple_mini_fixPhotons.py @@ -0,0 +1,89 @@ +# Auto generated configuration file +# using: +# Revision: 1.19 +# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v +# with command line options: miniAOD-prod -s PAT --eventcontent MINIAODSIM --runUnscheduled --mc --filein /store/mc/Phys14DR/GJets_HT-100to200_Tune4C_13TeV-madgraph-tauola/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/00000/0A2643A1-2873-E411-BD1F-002590DB928E.root --conditions --conditions PLS170_V7AN1 --no_exec +import FWCore.ParameterSet.Config as cms + +process = cms.Process('REPAT') + +# import of standard configurations +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('SimGeneral.MixingModule.mixNoPU_cfi') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.MagneticField_38T_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') +#process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_condDBv2_cff') + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(1000) +) + +# Input source +process.source = cms.Source("PoolSource", + secondaryFileNames = cms.untracked.vstring(), + fileNames = cms.untracked.vstring('/store/mc/Phys14DR/GJets_HT-100to200_Tune4C_13TeV-madgraph-tauola/MINIAODSIM/PU20bx25_PHYS14_25_V1-v1/00000/0A2643A1-2873-E411-BD1F-002590DB928E.root') +) + +process.options = cms.untracked.PSet( + allowUnscheduled = cms.untracked.bool(True) +) + +# Production Info +process.configurationMetadata = cms.untracked.PSet( + version = cms.untracked.string('$Revision: 1.19 $'), + annotation = cms.untracked.string('miniAOD-prod nevts:1'), + name = cms.untracked.string('Applications') +) + +# Output definition + +process.MINIAODSIMoutput = cms.OutputModule("PoolOutputModule", + compressionLevel = cms.untracked.int32(4), + compressionAlgorithm = cms.untracked.string('LZMA'), + eventAutoFlushCompressedSize = cms.untracked.int32(15728640), + outputCommands = process.MINIAODSIMEventContent.outputCommands, + fileName = cms.untracked.string('miniAOD-prod_PAT.root'), + dataset = cms.untracked.PSet( + filterName = cms.untracked.string(''), + dataTier = cms.untracked.string('') + ), + dropMetaData = cms.untracked.string('ALL'), + fastCloning = cms.untracked.bool(False), + overrideInputFileSplitLevels = cms.untracked.bool(True) +) + +# Additional output definition +process.MINIAODSIMoutput.outputCommands.append("drop *_slimmedPhotons_*_PAT") +process.MINIAODSIMoutput.outputCommands.append("keep *_slimmedPhotons_*_REPAT") + +# Other statements +from Configuration.AlCa.GlobalTag import GlobalTag +process.GlobalTag = GlobalTag(process.GlobalTag, 'PLS170_V7AN2::All', '') + +# Path and EndPath definitions +process.endjob_step = cms.EndPath(process.endOfProcess) +process.MINIAODSIMoutput_step = cms.EndPath(process.MINIAODSIMoutput) + +#do not add changes to your config after this point (unless you know what you are doing) +#from FWCore.ParameterSet.Utilities import convertToUnscheduled +#process=convertToUnscheduled(process) +#process.load('Configuration.StandardSequences.PATMC_cff') + +# reslimming photons +process.load('PhysicsTools.PatAlgos.slimming.slimmedPhotonsFromMiniAOD_cfi') +process.photon_reslimming = cms.Path(process.slimmedPhotons) + +# customisation of the process. + +# Automatic addition of the customisation function from PhysicsTools.PatAlgos.slimming.miniAOD_tools +#from PhysicsTools.PatAlgos.slimming.miniAOD_tools import miniAOD_customizeAllMC + +#call to customisation function miniAOD_customizeAllMC imported from PhysicsTools.PatAlgos.slimming.miniAOD_tools +#process = miniAOD_customizeAllMC(process) + +# End of customisation functions diff --git a/RecoEgamma/ElectronIdentification/plugins/cuts/GsfEleRelatEcalIsoCut.cc b/RecoEgamma/ElectronIdentification/plugins/cuts/GsfEleRelatEcalIsoCut.cc new file mode 100644 index 000000000000..f10bc3644c46 --- /dev/null +++ b/RecoEgamma/ElectronIdentification/plugins/cuts/GsfEleRelatEcalIsoCut.cc @@ -0,0 +1,35 @@ +#include "PhysicsTools/SelectorUtils/interface/CutApplicatorBase.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" + +class GsfEleRelatEcalIsoCut : public CutApplicatorBase { +public: + GsfEleRelatEcalIsoCut(const edm::ParameterSet& c) : + CutApplicatorBase(c), + _relatECALisoCutValueEB(c.getParameter("relatECALisoCutValueEB")), + _relatECALisoCutValueEE(c.getParameter("relatECALisoCutValueEE")), + _barrelCutOff(c.getParameter("barrelCutOff")) { + } + + result_type operator()(const reco::GsfElectronPtr&) const override final; + + CandidateType candidateType() const override final { + return ELECTRON; + } + +private: + const double _relatECALisoCutValueEB,_relatECALisoCutValueEE,_barrelCutOff; +}; + +DEFINE_EDM_PLUGIN(CutApplicatorFactory, + GsfEleRelatEcalIsoCut, + "GsfEleRelatEcalIsoCut"); + +CutApplicatorBase::result_type +GsfEleRelatEcalIsoCut:: +operator()(const reco::GsfElectronPtr& cand) const{ + const float relatECALisoCutValue = + ( std::abs(cand->superCluster()->position().eta()) < _barrelCutOff ? + _relatECALisoCutValueEB : _relatECALisoCutValueEE ); + return (cand->dr03EcalRecHitSumEt()/cand->et()) < relatECALisoCutValue; +} diff --git a/RecoEgamma/ElectronIdentification/plugins/cuts/GsfEleRelatHcalIsoCut.cc b/RecoEgamma/ElectronIdentification/plugins/cuts/GsfEleRelatHcalIsoCut.cc new file mode 100644 index 000000000000..36db9fe8f9ca --- /dev/null +++ b/RecoEgamma/ElectronIdentification/plugins/cuts/GsfEleRelatHcalIsoCut.cc @@ -0,0 +1,35 @@ +#include "PhysicsTools/SelectorUtils/interface/CutApplicatorBase.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" + +class GsfEleRelatHcalIsoCut : public CutApplicatorBase { +public: + GsfEleRelatHcalIsoCut(const edm::ParameterSet& c) : + CutApplicatorBase(c), + _relatHcalisoCutValueEB(c.getParameter("relatHCALisoCutValueEB")), + _relatHcalisoCutValueEE(c.getParameter("relatHCALisoCutValueEE")), + _barrelCutOff(c.getParameter("barrelCutOff")) { + } + + result_type operator()(const reco::GsfElectronPtr&) const override final; + + CandidateType candidateType() const override final { + return ELECTRON; + } + +private: + const double _relatHcalisoCutValueEB,_relatHcalisoCutValueEE,_barrelCutOff; +}; + +DEFINE_EDM_PLUGIN(CutApplicatorFactory, + GsfEleRelatHcalIsoCut, + "GsfEleRelatHcalIsoCut"); + +CutApplicatorBase::result_type +GsfEleRelatHcalIsoCut:: +operator()(const reco::GsfElectronPtr& cand) const{ + const float relatHcalisoCutValue = + ( std::abs(cand->superCluster()->position().eta()) < _barrelCutOff ? + _relatHcalisoCutValueEB : _relatHcalisoCutValueEE ); + return (cand->dr03HcalTowerSumEt()/cand->et()) < relatHcalisoCutValue; +} diff --git a/RecoEgamma/ElectronIdentification/plugins/cuts/GsfEleRelatTkIsoCut.cc b/RecoEgamma/ElectronIdentification/plugins/cuts/GsfEleRelatTkIsoCut.cc new file mode 100644 index 000000000000..9be0f1bb5fd7 --- /dev/null +++ b/RecoEgamma/ElectronIdentification/plugins/cuts/GsfEleRelatTkIsoCut.cc @@ -0,0 +1,35 @@ +#include "PhysicsTools/SelectorUtils/interface/CutApplicatorBase.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectron.h" +#include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" + +class GsfEleRelatTkIsoCut : public CutApplicatorBase { +public: + GsfEleRelatTkIsoCut(const edm::ParameterSet& c) : + CutApplicatorBase(c), + _relatTkisoCutValueEB(c.getParameter("relatTKisoCutValueEB")), + _relatTkisoCutValueEE(c.getParameter("relatTKisoCutValueEE")), + _barrelCutOff(c.getParameter("barrelCutOff")) { + } + + result_type operator()(const reco::GsfElectronPtr&) const override final; + + CandidateType candidateType() const override final { + return ELECTRON; + } + +private: + const double _relatTkisoCutValueEB,_relatTkisoCutValueEE,_barrelCutOff; +}; + +DEFINE_EDM_PLUGIN(CutApplicatorFactory, + GsfEleRelatTkIsoCut, + "GsfEleRelatTkIsoCut"); + +CutApplicatorBase::result_type +GsfEleRelatTkIsoCut:: +operator()(const reco::GsfElectronPtr& cand) const{ + const float relatTkisoCutValue = + ( std::abs(cand->superCluster()->position().eta()) < _barrelCutOff ? + _relatTkisoCutValueEB : _relatTkisoCutValueEE ); + return (cand->dr03TkSumPt()/cand->et()) < relatTkisoCutValue; +} diff --git a/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronTrigID_CSA14_V0_cff.py b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronTrigID_CSA14_V0_cff.py new file mode 100644 index 000000000000..1acd48810013 --- /dev/null +++ b/RecoEgamma/ElectronIdentification/python/Identification/cutBasedElectronTrigID_CSA14_V0_cff.py @@ -0,0 +1,71 @@ +import FWCore.ParameterSet.Config as cms + +from PhysicsTools.SelectorUtils.centralIDRegistry import central_id_registry + +ebCutOff = 1.479 + +cutBasedElectronTrigIDCSA14V0 = cms.PSet( + idName = cms.string("cutBasedElectronTrigID-CSA14-V0"), + cutFlow = cms.VPSet( + cms.PSet( cutName = cms.string("MinPtCut"), + minPt = cms.double(10.0), + needsAdditionalProducts = cms.bool(False), + isIgnored = cms.bool(False) ), + cms.PSet( cutName = cms.string("GsfEleSCEtaMultiRangeCut"), + useAbsEta = cms.bool(True), + allowedEtaRanges = cms.VPSet( + cms.PSet( minEta = cms.double(0.0), + maxEta = cms.double(ebCutOff) ), + cms.PSet( minEta = cms.double(ebCutOff), + maxEta = cms.double(2.5) ) + ), + needsAdditionalProducts = cms.bool(False), + isIgnored = cms.bool(False)), + cms.PSet( cutName = cms.string('GsfEleDEtaInCut'), + dEtaInCutValueEB = cms.double(0.007), + dEtaInCutValueEE = cms.double(0.009), + barrelCutOff = cms.double(ebCutOff), + needsAdditionalProducts = cms.bool(False), + isIgnored = cms.bool(False)), + cms.PSet( cutName = cms.string('GsfEleDPhiInCut'), + dPhiInCutValueEB = cms.double(0.15), + dPhiInCutValueEE = cms.double(0.10), + barrelCutOff = cms.double(ebCutOff), + needsAdditionalProducts = cms.bool(False), + isIgnored = cms.bool(False)), + cms.PSet( cutName = cms.string('GsfEleHadronicOverEMCut'), + hadronicOverEMCutValueEB = cms.double(0.12), + hadronicOverEMCutValueEE = cms.double(0.10), + barrelCutOff = cms.double(ebCutOff), + needsAdditionalProducts = cms.bool(False), + isIgnored = cms.bool(False)), + cms.PSet( cutName = cms.string('GsfEleRelatEcalIsoCut'), + relatECALisoCutValueEB = cms.double(0.2), + relatECALisoCutValueEE = cms.double(0.2), + barrelCutOff = cms.double(ebCutOff), + needsAdditionalProducts = cms.bool(False), + isIgnored = cms.bool(False)), + cms.PSet( cutName = cms.string('GsfEleRelatHcalIsoCut'), + relatHCALisoCutValueEB = cms.double(0.2), + relatHCALisoCutValueEE = cms.double(0.2), + barrelCutOff = cms.double(ebCutOff), + needsAdditionalProducts = cms.bool(False), + isIgnored = cms.bool(False)), + cms.PSet( cutName = cms.string('GsfEleRelatTkIsoCut'), + relatTKisoCutValueEB = cms.double(0.2), + relatTKisoCutValueEE = cms.double(0.2), + barrelCutOff = cms.double(ebCutOff), + needsAdditionalProducts = cms.bool(False), + isIgnored = cms.bool(False)), + cms.PSet( cutName = cms.string('GsfEleFull5x5SigmaIEtaIEtaCut'), + full5x5SigmaIEtaIEtaCutValueEB = cms.double(0.01), + full5x5SigmaIEtaIEtaCutValueEE = cms.double(0.03), + full5x5SigmaIEtaIEtaMap = cms.InputTag('electronIDValueMapProducer:eleFull5x5SigmaIEtaIEta'), + barrelCutOff = cms.double(ebCutOff), + needsAdditionalProducts = cms.bool(True), + isIgnored = cms.bool(False)), + ) +) + +central_id_registry.register(cutBasedElectronTrigIDCSA14V0.idName, + '13a18621e98e770366829759499f949c') diff --git a/RecoEgamma/ElectronIdentification/python/egmGsfElectronIDs_cff.py b/RecoEgamma/ElectronIdentification/python/egmGsfElectronIDs_cff.py index 3f6dc097a251..5ad0eb3d8c7a 100644 --- a/RecoEgamma/ElectronIdentification/python/egmGsfElectronIDs_cff.py +++ b/RecoEgamma/ElectronIdentification/python/egmGsfElectronIDs_cff.py @@ -6,4 +6,13 @@ # else is needed for IDs from RecoEgamma.ElectronIdentification.ElectronIDValueMapProducer_cfi import * +from RecoEgamma.ElectronIdentification.Identification.cutBasedElectronTrigID_CSA14_V0_cff \ +import cutBasedElectronTrigIDCSA14V0 +csa142012likeTrigeringSelectionv0 = central_id_registry.getMD5FromName(cutBasedElectronTrigIDCSA14V0.idName) +egmGsfElectronIDs.physicsObjectIDs.append( + cms.PSet( idDefinition = cutBasedElectronTrigIDCSA14V0, + idMD5 = cms.string(csa142012likeTrigeringSelectionv0) ) + ) + + egmGsfElectronIDSequence = cms.Sequence(electronIDValueMapProducer * egmGsfElectronIDs) diff --git a/RecoJets/JetProducers/interface/PileupJetIdAlgo.h b/RecoJets/JetProducers/interface/PileupJetIdAlgo.h index fc3661a6c02f..f886ce9896ff 100644 --- a/RecoJets/JetProducers/interface/PileupJetIdAlgo.h +++ b/RecoJets/JetProducers/interface/PileupJetIdAlgo.h @@ -37,12 +37,6 @@ class PileupJetIdAlgo { float jec, const reco::Vertex *, const reco::VertexCollection &, bool calculateMva=false); - PileupJetIdentifier computeIdVariables(const pat::Jet * jet, - // const reco::Vertex *, - const edm::Ptr, - const std::map,edm::PtrVector >&, - bool calculateMva); - void set(const PileupJetIdentifier &); PileupJetIdentifier computeMva(); const std::string method() const { return tmvaMethod_; } diff --git a/RecoMET/METPUSubtraction/data/gbrmet_7_2_X_MINIAOD_BX25PU20_Jan2015.root b/RecoMET/METPUSubtraction/data/gbrmet_7_2_X_MINIAOD_BX25PU20_Jan2015.root new file mode 100644 index 000000000000..8681fc0eafca Binary files /dev/null and b/RecoMET/METPUSubtraction/data/gbrmet_7_2_X_MINIAOD_BX25PU20_Jan2015.root differ diff --git a/RecoMET/METPUSubtraction/data/gbrmet_7_2_X_MINIAOD_BX50PU40_Jan2015.root b/RecoMET/METPUSubtraction/data/gbrmet_7_2_X_MINIAOD_BX50PU40_Jan2015.root new file mode 100644 index 000000000000..810587f169a8 Binary files /dev/null and b/RecoMET/METPUSubtraction/data/gbrmet_7_2_X_MINIAOD_BX50PU40_Jan2015.root differ diff --git a/RecoMET/METPUSubtraction/data/gbrphi_7_2_X_MINIAOD_BX25PU20_Jan2015.root b/RecoMET/METPUSubtraction/data/gbrphi_7_2_X_MINIAOD_BX25PU20_Jan2015.root new file mode 100644 index 000000000000..962a3efcb2a9 Binary files /dev/null and b/RecoMET/METPUSubtraction/data/gbrphi_7_2_X_MINIAOD_BX25PU20_Jan2015.root differ diff --git a/RecoMET/METPUSubtraction/data/gbrphi_7_2_X_MINIAOD_BX50PU40_Jan2015.root b/RecoMET/METPUSubtraction/data/gbrphi_7_2_X_MINIAOD_BX50PU40_Jan2015.root new file mode 100644 index 000000000000..e184e635504d Binary files /dev/null and b/RecoMET/METPUSubtraction/data/gbrphi_7_2_X_MINIAOD_BX50PU40_Jan2015.root differ diff --git a/RecoMET/METPUSubtraction/data/gbru1cov_7_2_X_MINIAOD_BX25PU20_Jan2015.root b/RecoMET/METPUSubtraction/data/gbru1cov_7_2_X_MINIAOD_BX25PU20_Jan2015.root new file mode 100644 index 000000000000..dc287f934ddc Binary files /dev/null and b/RecoMET/METPUSubtraction/data/gbru1cov_7_2_X_MINIAOD_BX25PU20_Jan2015.root differ diff --git a/RecoMET/METPUSubtraction/data/gbru1cov_7_2_X_MINIAOD_BX50PU40_Jan2015.root b/RecoMET/METPUSubtraction/data/gbru1cov_7_2_X_MINIAOD_BX50PU40_Jan2015.root new file mode 100644 index 000000000000..bbe07ff87fad Binary files /dev/null and b/RecoMET/METPUSubtraction/data/gbru1cov_7_2_X_MINIAOD_BX50PU40_Jan2015.root differ diff --git a/RecoMET/METPUSubtraction/data/gbru2cov_7_2_X_MINIAOD_BX25PU20_Jan2015.root b/RecoMET/METPUSubtraction/data/gbru2cov_7_2_X_MINIAOD_BX25PU20_Jan2015.root new file mode 100644 index 000000000000..b4903d6a0cb8 Binary files /dev/null and b/RecoMET/METPUSubtraction/data/gbru2cov_7_2_X_MINIAOD_BX25PU20_Jan2015.root differ diff --git a/RecoMET/METPUSubtraction/data/gbru2cov_7_2_X_MINIAOD_BX50PU40_Jan2015.root b/RecoMET/METPUSubtraction/data/gbru2cov_7_2_X_MINIAOD_BX50PU40_Jan2015.root new file mode 100644 index 000000000000..4cb69dea3e06 Binary files /dev/null and b/RecoMET/METPUSubtraction/data/gbru2cov_7_2_X_MINIAOD_BX50PU40_Jan2015.root differ diff --git a/RecoMET/METPUSubtraction/interface/PFMETAlgorithmMVA.h b/RecoMET/METPUSubtraction/interface/PFMETAlgorithmMVA.h index a70bf4e241cb..c0a0017adc3f 100644 --- a/RecoMET/METPUSubtraction/interface/PFMETAlgorithmMVA.h +++ b/RecoMET/METPUSubtraction/interface/PFMETAlgorithmMVA.h @@ -58,21 +58,15 @@ class PFMETAlgorithmMVA void print(std::ostream&) const; protected: + const std::string updateVariableNames(std::string input); + const GBRForest* loadMVAfromFile(const edm::FileInPath& inputFileName, const std::string& mvaName); + const GBRForest* loadMVAfromDB(const edm::EventSetup& es, const std::string& mvaName); - void setInput(double, double, double, - double, double, double, - double, double, double, - double, double, double, - double, double, double, - double, double, double, - double, double, double, - double, double, - double); - - void evaluateU(); - void evaluateDPhi(); - void evaluateCovU1(); - void evaluateCovU2(); + + const Float_t evaluateU(); + const Float_t evaluateDPhi(); + const Float_t evaluateCovU1(); + const Float_t evaluateCovU2(); mvaMEtUtilities utils_; @@ -82,35 +76,13 @@ class PFMETAlgorithmMVA std::string mvaNameCovU2_; int mvaType_; - bool is42_; - bool isOld42_; bool hasPhotons_; double dZcut_; + Float_t* createFloatVector(std::vector variableNames); + const Float_t GetResponse(const GBRForest *Reader, std::vector &variableNames); + void computeMET(); + std::map var_; - Float_t pfSumEt_; - Float_t pfU_; - Float_t pfPhi_; - Float_t tkSumEt_; - Float_t tkU_; - Float_t tkPhi_; - Float_t npuSumEt_; - Float_t npuU_; - Float_t npuPhi_; - Float_t puSumEt_; - Float_t puMEt_; - Float_t puPhi_; - Float_t pucSumEt_; - Float_t pucU_; - Float_t pucPhi_; - Float_t jet1Pt_; - Float_t jet1Eta_; - Float_t jet1Phi_; - Float_t jet2Pt_; - Float_t jet2Eta_; - Float_t jet2Phi_; - Float_t numJetsPtGt30_; - Float_t numJets_; - Float_t numVertices_; Float_t* mvaInputU_; Float_t* mvaInputDPhi_; @@ -122,6 +94,12 @@ class PFMETAlgorithmMVA Float_t mvaOutputCovU1_; Float_t mvaOutputCovU2_; + std::vector varForU_; + std::vector varForDPhi_; + std::vector varForCovU1_; + std::vector varForCovU2_; + + double sumLeptonPx_; double sumLeptonPy_; double chargedSumLeptonPx_; diff --git a/RecoMET/METPUSubtraction/plugins/PFMETProducerMVA.cc b/RecoMET/METPUSubtraction/plugins/PFMETProducerMVA.cc index 8d346dc542d4..0d2b01ef11b4 100644 --- a/RecoMET/METPUSubtraction/plugins/PFMETProducerMVA.cc +++ b/RecoMET/METPUSubtraction/plugins/PFMETProducerMVA.cc @@ -1,5 +1,7 @@ #include "RecoMET/METPUSubtraction/plugins/PFMETProducerMVA.h" +#include "DataFormats/PatCandidates/interface/MET.h" + using namespace reco; const double dR2Min = 0.01*0.01; @@ -15,12 +17,13 @@ PFMETProducerMVA::PFMETProducerMVA(const edm::ParameterSet& cfg) srcJetIds_ = consumes >(cfg.getParameter("srcMVAPileupJetId")); srcPFCandidatesView_ = consumes(cfg.getParameter("srcPFCandidates")); srcVertices_ = consumes(cfg.getParameter("srcVertices")); - vInputTag srcLeptonsTags = cfg.getParameter("srcLeptons"); - for(vInputTag::const_iterator it=srcLeptonsTags.begin();it!=srcLeptonsTags.end();it++) { + srcLeptonsTags_ = cfg.getParameter("srcLeptons"); + for(vInputTag::const_iterator it=srcLeptonsTags_.begin();it!=srcLeptonsTags_.end();it++) { srcLeptons_.push_back( consumes( *it ) ); } minNumLeptons_ = cfg.getParameter("minNumLeptons"); + permuteLeptons_ = cfg.getParameter("permuteLeptons"); srcRho_ = consumes >(cfg.getParameter("srcRho")); globalThreshold_ = cfg.getParameter("globalThreshold"); @@ -32,7 +35,7 @@ PFMETProducerMVA::PFMETProducerMVA(const edm::ParameterSet& cfg) verbosity_ = ( cfg.exists("verbosity") ) ? cfg.getParameter("verbosity") : 0; - produces(); + produces>(); } PFMETProducerMVA::~PFMETProducerMVA(){} @@ -43,19 +46,19 @@ void PFMETProducerMVA::produce(edm::Event& evt, const edm::EventSetup& es) if ( minNumLeptons_ > 0 ) { int numLeptons = 0; for ( std::vector >::const_iterator srcLeptons_i = srcLeptons_.begin(); - srcLeptons_i != srcLeptons_.end(); ++srcLeptons_i ) { + srcLeptons_i != srcLeptons_.end(); ++srcLeptons_i ) { edm::Handle leptons; evt.getByToken(*srcLeptons_i, leptons); numLeptons += leptons->size(); } if ( !(numLeptons >= minNumLeptons_) ) { LogDebug( "produce" ) - << ":" << std::endl - << "Run: " << evt.id().run() << ", LS: " << evt.luminosityBlock() << ", Event: " << evt.id().event() << std::endl - << " numLeptons = " << numLeptons << ", minNumLeptons = " << minNumLeptons_ << " --> skipping !!" << std::endl; + << ":" << std::endl + << "Run: " << evt.id().run() << ", LS: " << evt.luminosityBlock() << ", Event: " << evt.id().event() << std::endl + << " numLeptons = " << numLeptons << ", minNumLeptons = " << minNumLeptons_ << " --> skipping !!" << std::endl; - reco::PFMET pfMEt; - std::auto_ptr pfMEtCollection(new reco::PFMETCollection()); + pat::MET pfMEt; + std::auto_ptr> pfMEtCollection(new std::vector); pfMEtCollection->push_back(pfMEt); evt.put(pfMEtCollection); return; @@ -87,12 +90,6 @@ void PFMETProducerMVA::produce(edm::Event& evt, const edm::EventSetup& es) const reco::Vertex* hardScatterVertex = ( vertices->size() >= 1 ) ? &(vertices->front()) : 0; - // get leptons - // (excluded from sum over PFCandidates when computing hadronic recoil) - int lId = 0; - bool lHasPhotons = false; - std::vector leptonInfo = computeLeptonInfo(srcLeptons_,*pfCandidates_view,hardScatterVertex, lId, lHasPhotons, - evt); // initialize MVA MET algorithm // (this will load the BDTs, stored as GBRForrest objects; @@ -102,6 +99,7 @@ void PFMETProducerMVA::produce(edm::Event& evt, const edm::EventSetup& es) mvaMEtAlgo_isInitialized_ = true; } + // reconstruct "standard" particle-flow missing Et CommonMETData pfMEt_data = metAlgo_.run( (*pfCandidates_view), globalThreshold_); SpecificPFMETData specificPfMET = pfMEtSpecificAlgo_.run( (*pfCandidates_view) ); @@ -109,68 +107,167 @@ void PFMETProducerMVA::produce(edm::Event& evt, const edm::EventSetup& es) const reco::Candidate::Point vtx(0.0, 0.0, 0.0 ); reco::PFMET pfMEt(specificPfMET,pfMEt_data.sumet, p4, vtx); reco::Candidate::LorentzVector pfMEtP4_original = pfMEt.p4(); - - // compute objects specific to MVA based MET reconstruction - std::vector pfCandidateInfo = computePFCandidateInfo(*pfCandidates_view, hardScatterVertex); - std::vector jetInfo = computeJetInfo(*uncorrJets, corrJets, *jetIds, *vertices, hardScatterVertex, *corrector,evt,es,leptonInfo,pfCandidateInfo); - std::vector vertexInfo = computeVertexInfo(*vertices); - // compute MVA based MET and estimate of its uncertainty - mvaMEtAlgo_.setInput(leptonInfo, jetInfo, pfCandidateInfo, vertexInfo); - mvaMEtAlgo_.setHasPhotons(lHasPhotons); - mvaMEtAlgo_.evaluateMVA(); - pfMEt.setP4(mvaMEtAlgo_.getMEt()); - pfMEt.setSignificanceMatrix(mvaMEtAlgo_.getMEtCov()); - - LogDebug("produce") - << "Run: " << evt.id().run() << ", LS: " << evt.luminosityBlock() << ", Event: " << evt.id().event() << std::endl - << " PFMET: Pt = " << pfMEtP4_original.pt() << ", phi = " << pfMEtP4_original.phi() << " " - << "(Px = " << pfMEtP4_original.px() << ", Py = " << pfMEtP4_original.py() << ")" << std::endl - << " MVA MET: Pt = " << pfMEt.pt() << " phi = " << pfMEt.phi() << " (Px = " << pfMEt.px() << ", Py = " << pfMEt.py() << ")" << std::endl - << " Cov:" << std::endl - <<(mvaMEtAlgo_.getMEtCov())(0,0)<<" "<<(mvaMEtAlgo_.getMEtCov())(0,1)< > permutations; + + if (permuteLeptons_) { + permutations = std::move(getPermutations(evt)); + } + else + permutations.push_back(std::vector{0}); + + // add PFMET object to the event - std::auto_ptr pfMEtCollection(new reco::PFMETCollection()); - pfMEtCollection->push_back(pfMEt); + std::auto_ptr> pfMEtCollection(new std::vector()); + + for (const auto& permutation : permutations) { + int lId = 0; + bool lHasPhotons = false; + std::vector leptonInfo; + + std::vector> leptonPtrs; + + if (permuteLeptons_) { + std::vector> perm_leptons; + for (size_t i = 0; i < permutation.size(); ++i) { + size_t pos = permutation[i]; + edm::Handle leptons; + evt.getByToken(srcLeptons_[i], leptons); + perm_leptons.emplace_back(leptons->refAt(pos)); + leptonPtrs.emplace_back(leptons->ptrAt(pos)); + } + leptonInfo = std::move(computeLeptonInfo(perm_leptons, *pfCandidates_view,hardScatterVertex, lId, lHasPhotons)); + } + else { + std::vector leptonInfo = computeLeptonInfo(srcLeptons_, *pfCandidates_view, hardScatterVertex, lId, lHasPhotons, evt); + } + + + // get leptons + // (excluded from sum over PFCandidates when computing hadronic recoil) + + + // compute objects specific to MVA based MET reconstruction + // modified by computeJetInfo, so recomputed for each lepton permutation + std::vector pfCandidateInfo = computePFCandidateInfo(*pfCandidates_view, hardScatterVertex); + + std::vector jetInfo = computeJetInfo(*uncorrJets, corrJets, *jetIds, *vertices, hardScatterVertex, *corrector,evt,es,leptonInfo,pfCandidateInfo); + std::vector vertexInfo = computeVertexInfo(*vertices); + + // compute MVA based MET and estimate of its uncertainty + mvaMEtAlgo_.setInput(leptonInfo, jetInfo, pfCandidateInfo, vertexInfo); + mvaMEtAlgo_.setHasPhotons(lHasPhotons); + mvaMEtAlgo_.evaluateMVA(); + pfMEt.setP4(mvaMEtAlgo_.getMEt()); + pfMEt.setSignificanceMatrix(mvaMEtAlgo_.getMEtCov()); + + LogDebug("produce") + << "Run: " << evt.id().run() << ", LS: " << evt.luminosityBlock() << ", Event: " << evt.id().event() << std::endl + << " PFMET: Pt = " << pfMEtP4_original.pt() << ", phi = " << pfMEtP4_original.phi() << " " + << "(Px = " << pfMEtP4_original.px() << ", Py = " << pfMEtP4_original.py() << ")" << std::endl + << " MVA MET: Pt = " << pfMEt.pt() << " phi = " << pfMEt.phi() << " (Px = " << pfMEt.px() << ", Py = " << pfMEt.py() << ")" << std::endl + << " Cov:" << std::endl + <<(mvaMEtAlgo_.getMEtCov())(0,0)<<" "<<(mvaMEtAlgo_.getMEtCov())(0,1)<emplace_back(std::move(patMet)); + } evt.put(pfMEtCollection); } +// Recursive function that creates all combinations of objects given +std::vector > +PFMETProducerMVA::getPermutations(std::vector lengths, std::vector& current, std::vector >& result) +{ + // size_t length0 = lengths.back(); + // lengths.pop_back(); + size_t length0 = lengths.front(); + lengths.erase(lengths.begin()); + + for (size_t i = 0; i < length0; ++i) { + + // Check whether a previous collection is identical to the current one. + // If yes, make sure to only take each object/object pair once. + bool already_used = false; + for (size_t i_depth = 0; i_depth < current.size(); ++i_depth) { + if (srcLeptonsTags_[current.size()] == srcLeptonsTags_[i_depth] ) { + edm::LogInfo("getPermutations") << "using same collection" << std::endl; + if (i >= current[i_depth]) { + already_used = true; + break; + } + } + } + if (already_used) + continue; + + current.push_back(i); + if (lengths.size() == 0) { // nothing left + result.push_back(current); + } else { + getPermutations(lengths, current, result); + } + current.pop_back(); + } + return result; +} + +std::vector > PFMETProducerMVA::getPermutations(const edm::Event& evt) { + std::vector lengths; + for (auto& v : srcLeptons_) { + edm::Handle leptons; + evt.getByToken(v, leptons); + lengths.push_back(leptons->size()); + } + std::vector current; + std::vector > result; + return std::move(getPermutations(lengths, current, result)); +} + std::vector PFMETProducerMVA::computeLeptonInfo(const std::vector >& srcLeptons_, - const reco::CandidateView& pfCandidates_view, - const reco::Vertex* hardScatterVertex, - int& lId, bool& lHasPhotons, edm::Event& evt ) { + const reco::CandidateView& pfCandidates_view, + const reco::Vertex* hardScatterVertex, + int& lId, bool& lHasPhotons, edm::Event& evt ) { std::vector leptonInfo; for ( std::vector >::const_iterator srcLeptons_i = srcLeptons_.begin(); - srcLeptons_i != srcLeptons_.end(); ++srcLeptons_i ) { + srcLeptons_i != srcLeptons_.end(); ++srcLeptons_i ) { edm::Handle leptons; evt.getByToken(*srcLeptons_i, leptons); for ( reco::CandidateView::const_iterator lepton1 = leptons->begin(); - lepton1 != leptons->end(); ++lepton1 ) { + lepton1 != leptons->end(); ++lepton1 ) { bool pMatch = false; for ( std::vector >::const_iterator srcLeptons_j = srcLeptons_.begin(); - srcLeptons_j != srcLeptons_.end(); ++srcLeptons_j ) { - edm::Handle leptons2; - evt.getByToken(*srcLeptons_j, leptons2); - for ( reco::CandidateView::const_iterator lepton2 = leptons2->begin(); - lepton2 != leptons2->end(); ++lepton2 ) { - if(&(*lepton1) == &(*lepton2)) { continue; } - if(deltaR2(lepton1->p4(),lepton2->p4()) < dR2Max) { pMatch = true; } - if(pMatch && !istau(&(*lepton1)) && istau(&(*lepton2))) { pMatch = false; } - if(pMatch && ( (istau(&(*lepton1)) && istau(&(*lepton2))) || (!istau(&(*lepton1)) && !istau(&(*lepton2)))) - && lepton1->pt() > lepton2->pt()) { pMatch = false; } - if(pMatch && lepton1->pt() == lepton2->pt()) { - pMatch = false; - for(unsigned int i0 = 0; i0 < leptonInfo.size(); i0++) { - if(std::abs(lepton1->pt() - leptonInfo[i0].p4_.pt()) < dPtMatch) { pMatch = true; break; } - } - } - if(pMatch) break; - } - if(pMatch) break; + srcLeptons_j != srcLeptons_.end(); ++srcLeptons_j ) { + edm::Handle leptons2; + evt.getByToken(*srcLeptons_j, leptons2); + for ( reco::CandidateView::const_iterator lepton2 = leptons2->begin(); + lepton2 != leptons2->end(); ++lepton2 ) { + if(&(*lepton1) == &(*lepton2)) { continue; } + if(deltaR2(lepton1->p4(),lepton2->p4()) < dR2Max) { pMatch = true; } + if(pMatch && !istau(&(*lepton1)) && istau(&(*lepton2))) { pMatch = false; } + if(pMatch && ( (istau(&(*lepton1)) && istau(&(*lepton2))) || (!istau(&(*lepton1)) && !istau(&(*lepton2)))) + && lepton1->pt() > lepton2->pt()) { pMatch = false; } + if(pMatch && lepton1->pt() == lepton2->pt()) { + pMatch = false; + for(unsigned int i0 = 0; i0 < leptonInfo.size(); i0++) { + if(std::abs(lepton1->pt() - leptonInfo[i0].p4_.pt()) < dPtMatch) { pMatch = true; break; } + } + } + if(pMatch) break; + } + if(pMatch) break; } if(pMatch) continue; reco::PUSubMETCandInfo pLeptonInfo; @@ -185,22 +282,41 @@ PFMETProducerMVA::computeLeptonInfo(const std::vector +PFMETProducerMVA::computeLeptonInfo(const std::vector>& srcLeptons, + const reco::CandidateView& pfCandidates_view, + const reco::Vertex* hardScatterVertex, + int& lId, bool& lHasPhotons) { + + std::vector leptonInfo; + for ( const auto& cand_ref : srcLeptons ) { + reco::PUSubMETCandInfo pLeptonInfo; + pLeptonInfo.p4_ = cand_ref->p4(); + pLeptonInfo.chargedEnFrac_ = chargedEnFrac(cand_ref.get(), pfCandidates_view, hardScatterVertex); + leptonInfo.push_back(pLeptonInfo); + if(cand_ref->isPhoton()) { lHasPhotons = true; } + lId++; + } + + return leptonInfo; +} + std::vector PFMETProducerMVA::computeJetInfo(const reco::PFJetCollection& uncorrJets, - const edm::Handle& corrJets, - const edm::ValueMap& jetIds, - const reco::VertexCollection& vertices, - const reco::Vertex* hardScatterVertex, - const JetCorrector &iCorrector,edm::Event &iEvent,const edm::EventSetup &iSetup, - std::vector &iLeptons,std::vector &iCands) + const edm::Handle& corrJets, + const edm::ValueMap& jetIds, + const reco::VertexCollection& vertices, + const reco::Vertex* hardScatterVertex, + const JetCorrector &iCorrector,edm::Event &iEvent,const edm::EventSetup &iSetup, + std::vector &iLeptons,std::vector &iCands) { const L1FastjetCorrector* lCorrector = dynamic_cast(&iCorrector); std::vector retVal; for ( reco::PFJetCollection::const_iterator uncorrJet = uncorrJets.begin(); - uncorrJet != uncorrJets.end(); ++uncorrJet ) { + uncorrJet != uncorrJets.end(); ++uncorrJet ) { // for ( reco::PFJetCollection::const_iterator corrJet = corrJets.begin(); - // corrJet != corrJets.end(); ++corrJet ) { + // corrJet != corrJets.end(); ++corrJet ) { for( size_t cjIdx=0;cjIdxsize();cjIdx++) { reco::PFJetRef corrJet( corrJets, cjIdx ); @@ -220,25 +336,25 @@ PFMETProducerMVA::computeJetInfo(const reco::PFJetCollection& uncorrJets, jetInfo.p4_ = corrJet->p4(); double lType1Corr = 0; if(useType1_) { //Compute the type 1 correction ===> This code is crap - double pCorr = lCorrector->correction(*uncorrJet,iEvent,iSetup); - lType1Corr = (corrJet->pt()-pCorr*uncorrJet->pt()); - TLorentzVector pVec; pVec.SetPtEtaPhiM(lType1Corr,0,corrJet->phi(),0); - reco::Candidate::LorentzVector pType1Corr; pType1Corr.SetCoordinates(pVec.Px(),pVec.Py(),pVec.Pz(),pVec.E()); - //Filter to leptons - bool pOnLepton = false; - for(unsigned int i0 = 0; i0 < iLeptons.size(); i0++) { - if(deltaR2(iLeptons[i0].p4_,corrJet->p4()) < dR2Max) {pOnLepton = true; break;} - } - //Add it to PF Collection - if(corrJet->pt() > 10 && !pOnLepton) { - reco::PUSubMETCandInfo pfCandidateInfo; - pfCandidateInfo.p4_ = pType1Corr; - pfCandidateInfo.dZ_ = -999; - iCands.push_back(pfCandidateInfo); - } - //Scale - lType1Corr = (pCorr*uncorrJet->pt()-uncorrJet->pt()); - lType1Corr /=corrJet->pt(); + double pCorr = lCorrector->correction(*uncorrJet,iEvent,iSetup); + lType1Corr = (corrJet->pt()-pCorr*uncorrJet->pt()); + TLorentzVector pVec; pVec.SetPtEtaPhiM(lType1Corr,0,corrJet->phi(),0); + reco::Candidate::LorentzVector pType1Corr; pType1Corr.SetCoordinates(pVec.Px(),pVec.Py(),pVec.Pz(),pVec.E()); + //Filter to leptons + bool pOnLepton = false; + for(unsigned int i0 = 0; i0 < iLeptons.size(); i0++) { + if(deltaR2(iLeptons[i0].p4_,corrJet->p4()) < dR2Max) {pOnLepton = true; break;} + } + //Add it to PF Collection + if(corrJet->pt() > 10 && !pOnLepton) { + reco::PUSubMETCandInfo pfCandidateInfo; + pfCandidateInfo.p4_ = pType1Corr; + pfCandidateInfo.dZ_ = -999; + iCands.push_back(pfCandidateInfo); + } + //Scale + lType1Corr = (pCorr*uncorrJet->pt()-uncorrJet->pt()); + lType1Corr /=corrJet->pt(); } // check that jet Pt used to compute MVA based jet id. is above threshold @@ -254,24 +370,24 @@ PFMETProducerMVA::computeJetInfo(const reco::PFJetCollection& uncorrJets, } std::vector PFMETProducerMVA::computePFCandidateInfo(const reco::CandidateView& pfCandidates, - const reco::Vertex* hardScatterVertex) + const reco::Vertex* hardScatterVertex) { std::vector retVal; for ( reco::CandidateView::const_iterator pfCandidate = pfCandidates.begin(); - pfCandidate != pfCandidates.end(); ++pfCandidate ) { + pfCandidate != pfCandidates.end(); ++pfCandidate ) { double dZ = -999.; // PH: If no vertex is reconstructed in the event // or PFCandidate has no track, set dZ to -999 if ( hardScatterVertex ) { const reco::PFCandidate* pfc = dynamic_cast( &(*pfCandidate) ); if( pfc != nullptr ) { //PF candidate for RECO and PAT levels - if ( pfc->trackRef().isNonnull() ) dZ = std::abs(pfc->trackRef()->dz(hardScatterVertex->position())); - else if ( pfc->gsfTrackRef().isNonnull() ) dZ = std::abs(pfc->gsfTrackRef()->dz(hardScatterVertex->position())); + if ( pfc->trackRef().isNonnull() ) dZ = std::abs(pfc->trackRef()->dz(hardScatterVertex->position())); + else if ( pfc->gsfTrackRef().isNonnull() ) dZ = std::abs(pfc->gsfTrackRef()->dz(hardScatterVertex->position())); } else { //if not, then packedCandidate for miniAOD level - const pat::PackedCandidate* pfc = dynamic_cast( &(*pfCandidate) ); - dZ = std::abs( pfc->dz( hardScatterVertex->position() ) ); - //exact dz=zero corresponds to the -999 case for pfcandidate - if(dZ==0) {dZ=-999;} + const pat::PackedCandidate* pfc = dynamic_cast( &(*pfCandidate) ); + dZ = std::abs( pfc->dz( hardScatterVertex->position() ) ); + //exact dz=zero corresponds to the -999 case for pfcandidate + if(dZ==0) {dZ=-999;} } } reco::PUSubMETCandInfo pfCandidateInfo; @@ -286,7 +402,7 @@ std::vector PFMETProducerMVA::computeVertexInfo(const reco: { std::vector retVal; for ( reco::VertexCollection::const_iterator vertex = vertices.begin(); - vertex != vertices.end(); ++vertex ) { + vertex != vertices.end(); ++vertex ) { if(std::abs(vertex->z()) > 24.) continue; if(vertex->ndof() < 4.) continue; if(vertex->position().Rho() > 2.) continue; @@ -295,7 +411,7 @@ std::vector PFMETProducerMVA::computeVertexInfo(const reco: return retVal; } double PFMETProducerMVA::chargedEnFrac(const reco::Candidate *iCand, - const reco::CandidateView& pfCandidates,const reco::Vertex* hardScatterVertex) { + const reco::CandidateView& pfCandidates,const reco::Vertex* hardScatterVertex) { if(iCand->isMuon()) { return 1; } @@ -317,10 +433,10 @@ double PFMETProducerMVA::chargedEnFrac(const reco::Candidate *iCand, const pat::Tau *lPatPFTau = nullptr; lPatPFTau = dynamic_cast(iCand); if(lPatPFTau != nullptr) { - for (UInt_t i0 = 0; i0 < lPatPFTau->signalPFCands().size(); i0++) { - lPtTot += (lPatPFTau->signalPFCands())[i0]->pt(); - if((lPatPFTau->signalPFCands())[i0]->charge() == 0) continue; - lPtCharged += (lPatPFTau->signalPFCands())[i0]->pt(); + for (UInt_t i0 = 0; i0 < lPatPFTau->signalCands().size(); i0++) { + lPtTot += (lPatPFTau->signalCands())[i0]->pt(); + if((lPatPFTau->signalCands())[i0]->charge() == 0) continue; + lPtCharged += (lPatPFTau->signalCands())[i0]->pt(); } } } @@ -346,25 +462,25 @@ bool PFMETProducerMVA::passPFLooseId(const PFJet *iJet) { } double PFMETProducerMVA::chargedFracInCone(const reco::Candidate *iCand, - const reco::CandidateView& pfCandidates, - const reco::Vertex* hardScatterVertex,double iDRMax) + const reco::CandidateView& pfCandidates, + const reco::Vertex* hardScatterVertex,double iDRMax) { double iDR2Max = iDRMax*iDRMax; reco::Candidate::LorentzVector lVis(0,0,0,0); for ( reco::CandidateView::const_iterator pfCandidate = pfCandidates.begin(); - pfCandidate != pfCandidates.end(); ++pfCandidate ) { + pfCandidate != pfCandidates.end(); ++pfCandidate ) { if(deltaR2(iCand->p4(),pfCandidate->p4()) > iDR2Max) continue; double dZ = -999.; // PH: If no vertex is reconstructed in the event // or PFCandidate has no track, set dZ to -999 if ( hardScatterVertex ) { const reco::PFCandidate* pfc = dynamic_cast( (&(*pfCandidate)) ); if( pfc != nullptr ) { //PF candidate for RECO and PAT levels - if ( pfc->trackRef().isNonnull() ) dZ = std::abs(pfc->trackRef()->dz(hardScatterVertex->position())); - else if ( pfc->gsfTrackRef().isNonnull() ) dZ = std::abs(pfc->gsfTrackRef()->dz(hardScatterVertex->position())); + if ( pfc->trackRef().isNonnull() ) dZ = std::abs(pfc->trackRef()->dz(hardScatterVertex->position())); + else if ( pfc->gsfTrackRef().isNonnull() ) dZ = std::abs(pfc->gsfTrackRef()->dz(hardScatterVertex->position())); } else { //if not, then packedCandidate for miniAOD level - const pat::PackedCandidate* pfc = dynamic_cast( &(*pfCandidate) ); - dZ = std::abs( pfc->dz( hardScatterVertex->position() ) ); + const pat::PackedCandidate* pfc = dynamic_cast( &(*pfCandidate) ); + dZ = std::abs( pfc->dz( hardScatterVertex->position() ) ); } } if(std::abs(dZ) > 0.1) continue; diff --git a/RecoMET/METPUSubtraction/plugins/PFMETProducerMVA.h b/RecoMET/METPUSubtraction/plugins/PFMETProducerMVA.h index c465a6c79413..0e27989f4ce8 100644 --- a/RecoMET/METPUSubtraction/plugins/PFMETProducerMVA.h +++ b/RecoMET/METPUSubtraction/plugins/PFMETProducerMVA.h @@ -78,6 +78,11 @@ namespace reco const reco::Vertex* hardScatterVertex, int& lId, bool& lHasPhotons, edm::Event & iEvent); + std::vector computeLeptonInfo(const std::vector>& srcLeptons_, const reco::CandidateView& pfCandidates_view, + const reco::Vertex* hardScatterVertex, + int& lId, bool& lHasPhotons); + + std::vector computeJetInfo(const reco::PFJetCollection&, const edm::Handle&, const edm::ValueMap&, const reco::VertexCollection&, const reco::Vertex*, const JetCorrector &iCorr, @@ -93,6 +98,10 @@ namespace reco bool istau (const reco::Candidate *iCand); double chargedFracInCone(const reco::Candidate *iCand,const reco::CandidateView& pfCandidates,const reco::Vertex* hardScatterVertex,double iDRMax=0.2); + std::vector > getPermutations(std::vector lengths, std::vector& current, std::vector >& result); + + std::vector > getPermutations(const edm::Event& evt); + // configuration parameter edm::EDGetTokenT srcCorrJets_; edm::EDGetTokenT srcUncorrJets_; @@ -101,12 +110,13 @@ namespace reco edm::EDGetTokenT > srcPFCandidatesView_; edm::EDGetTokenT srcVertices_; typedef std::vector vInputTag; + vInputTag srcLeptonsTags_; std::vector > srcLeptons_; int minNumLeptons_; // CV: option to skip MVA MET computation in case there are less than specified number of leptons in the event + bool permuteLeptons_; // JS: option to calculate MVA MET for each combination of taking one lepton from each of the candidate views given by the input tags; if two input tags are identical, creates only combinations with the index of the former collection larger than the one of the later collection, e.g. (1, 0), (2, 0), but not (0, 0) or (1, 2) edm::EDGetTokenT > srcRho_; std::string correctorLabel_; - bool isOld42_ ; bool useType1_; double globalThreshold_; diff --git a/RecoMET/METPUSubtraction/python/mvaPFMET_cff.py b/RecoMET/METPUSubtraction/python/mvaPFMET_cff.py index 686457533f26..358412ac9d1a 100644 --- a/RecoMET/METPUSubtraction/python/mvaPFMET_cff.py +++ b/RecoMET/METPUSubtraction/python/mvaPFMET_cff.py @@ -68,15 +68,22 @@ srcLeptons = cms.VInputTag(),#"isomuons","isoelectrons","isotaus") # NOTE: you need to set this to collections of electrons, muons and tau-jets # passing the lepton reconstruction & identification criteria applied in your analysis minNumLeptons = cms.int32(0), + permuteLeptons = cms.bool(False), srcRho = cms.InputTag('fixedGridRhoFastjetAll'), globalThreshold = cms.double(-1.),#pfMet.globalThreshold, minCorrJetPt = cms.double(-1.), inputFileNames = cms.PSet( - U = cms.FileInPath('RecoMET/METPUSubtraction/data/gbrmet_53_Sep2013_type1.root'), - DPhi = cms.FileInPath('RecoMET/METPUSubtraction/data/gbrmetphi_53_June2013_type1.root'), - CovU1 = cms.FileInPath('RecoMET/METPUSubtraction/data/gbru1cov_53_Dec2012.root'), - CovU2 = cms.FileInPath('RecoMET/METPUSubtraction/data/gbru2cov_53_Dec2012.root') + U = cms.FileInPath('RecoMET/METPUSubtraction/data/gbrmet_7_2_X_MINIAOD_BX50PU40_Jan2015.root'), + DPhi = cms.FileInPath('RecoMET/METPUSubtraction/data/gbrphi_7_2_X_MINIAOD_BX50PU40_Jan2015.root'), + CovU1 = cms.FileInPath('RecoMET/METPUSubtraction/data/gbru1cov_7_2_X_MINIAOD_BX50PU40_Jan2015.root'), + CovU2 = cms.FileInPath('RecoMET/METPUSubtraction/data/gbru2cov_7_2_X_MINIAOD_BX50PU40_Jan2015.root') ), + inputRecords = cms.PSet( + U = cms.string("RecoilCor"), + DPhi = cms.string("PhiCor"), + CovU1 = cms.string("CovU1"), + CovU2 = cms.string("CovU2") + ), loadMVAfromDB = cms.bool(False), corrector = cms.string("ak4PFL1Fastjet"), diff --git a/RecoMET/METPUSubtraction/src/PFMETAlgorithmMVA.cc b/RecoMET/METPUSubtraction/src/PFMETAlgorithmMVA.cc index 3af01c57e701..04d1cdfa6067 100644 --- a/RecoMET/METPUSubtraction/src/PFMETAlgorithmMVA.cc +++ b/RecoMET/METPUSubtraction/src/PFMETAlgorithmMVA.cc @@ -17,39 +17,77 @@ enum MVAType { kBaseline = 0 }; const double Pi=cos(-1); -namespace +const std::string PFMETAlgorithmMVA::updateVariableNames(std::string input) { - const GBRForest* loadMVAfromFile(const edm::FileInPath& inputFileName, const std::string& mvaName) - { - if ( inputFileName.location()==edm::FileInPath::Unknown ) throw cms::Exception("PFMETAlgorithmMVA::loadMVA") - << " Failed to find File = " << inputFileName << " !!\n"; - TFile* inputFile = new TFile(inputFileName.fullPath().data()); - - //const GBRForest* mva = dynamic_cast(inputFile->Get(mvaName.data())); // CV: dynamic_cast fails for some reason ?! - const GBRForest* mva = (GBRForest*)inputFile->Get(mvaName.data()); - if ( !mva ) - throw cms::Exception("PFMETAlgorithmMVA::loadMVA") - << " Failed to load MVA = " << mvaName.data() << " from file = " << inputFileName.fullPath().data() << " !!\n"; - - delete inputFile; + if(input=="sumet") return "particleFlow_SumET"; + if(input=="npv") return "nPV"; + if(input=="pfu") return "particleFlow_U"; + if(input=="pfuphi") return "particleFlow_UPhi"; + if(input=="tksumet") return "track_SumET"; + if(input=="tku") return "track_U"; + if(input=="tkuphi") return "track_UPhi"; + if(input=="nopusumet") return "noPileUp_SumET"; + if(input=="nopuu") return "noPileUp_U"; + if(input=="nopuuphi") return "noPileUp_UPhi"; + if(input=="pusumet") return "pileUp_SumET"; + if(input=="pumet") return "pileUp_MET"; + if(input=="pumetphi") return "pileUp_METPhi"; + if(input=="pucsumet") return "pileUpCorrected_SumET"; + if(input=="pucu") return "pileUpCorrected_U"; + if(input=="pucuphi") return "pileUpCorrected_UPhi"; + if(input=="jetpt1") return "jet1_pT"; + if(input=="jeteta1") return "jet1_eta"; + if(input=="jetphi1") return "jet1_Phi"; + if(input=="jetpt2") return "jet2_pT"; + if(input=="jeteta2") return "jet2_eta"; + if(input=="jetphi2") return "jet2_Phi"; + if(input=="nalljet") return "nJets"; + if(input=="njet") return "numJetsPtGt30"; + if(input=="uphi_mva") return "PhiCor_UPhi"; + if(input=="uphix_mva") return "PhiCor_UPhi"; + if(input=="ux_mva") return "RecoilCor_U"; + return input; +} - return mva; - } +const GBRForest* PFMETAlgorithmMVA::loadMVAfromFile(const edm::FileInPath& inputFileName, const std::string& mvaName) +{ + if ( inputFileName.location()==edm::FileInPath::Unknown ) throw cms::Exception("PFMETAlgorithmMVA::loadMVA") + << " Failed to find File = " << inputFileName << " !!\n"; + TFile* inputFile = new TFile(inputFileName.fullPath().data()); - const GBRForest* loadMVAfromDB(const edm::EventSetup& es, const std::string& mvaName) + std::vector *lVec = (std::vector*)inputFile->Get("varlist"); + std::vector variableNames; + for(unsigned int i=0; i< lVec->size();++i) { - edm::ESHandle mva; - es.get().get(mvaName, mva); - return mva.product(); + variableNames.push_back(updateVariableNames(lVec->at(i))); } + + if(mvaName.find(mvaNameU_) != std::string::npos) varForU_ = variableNames; + else if(mvaName.find(mvaNameDPhi_) != std::string::npos) varForDPhi_ = variableNames; + else if(mvaName.find(mvaNameCovU1_) != std::string::npos) varForCovU1_ = variableNames; + else if(mvaName.find(mvaNameCovU2_) != std::string::npos) varForCovU2_ = variableNames; + else throw cms::Exception("PFMETAlgorithmMVA::loadMVA") << "MVA MET weight file tree names do not match specified inputs" << std::endl; + + + const GBRForest* mva = (GBRForest*)inputFile->Get(mvaName.data()); + if ( !mva ) + throw cms::Exception("PFMETAlgorithmMVA::loadMVA") + << " Failed to load MVA = " << mvaName.data() << " from file = " << inputFileName.fullPath().data() << " !!\n"; + + delete inputFile; + + return mva; +} + +const GBRForest* PFMETAlgorithmMVA::loadMVAfromDB(const edm::EventSetup& es, const std::string& mvaName) +{ + edm::ESHandle mva; + es.get().get(mvaName, mva); + return mva.product(); } PFMETAlgorithmMVA::PFMETAlgorithmMVA(const edm::ParameterSet& cfg) : utils_(cfg), - mvaInputU_(nullptr), - mvaInputDPhi_(nullptr), - mvaInputCovU1_(nullptr), - mvaInputCovU2_(nullptr), mvaReaderU_(nullptr), mvaReaderDPhi_(nullptr), mvaReaderCovU1_(nullptr), @@ -60,19 +98,10 @@ PFMETAlgorithmMVA::PFMETAlgorithmMVA(const edm::ParameterSet& cfg) loadMVAfromDB_ = cfg.getParameter("loadMVAfromDB"); - mvaInputU_ = new Float_t[25]; - mvaInputDPhi_ = new Float_t[23]; - mvaInputCovU1_ = new Float_t[26]; - mvaInputCovU2_ = new Float_t[26]; } PFMETAlgorithmMVA::~PFMETAlgorithmMVA() { - delete mvaInputU_; - delete mvaInputDPhi_; - delete mvaInputCovU1_; - delete mvaInputCovU2_; - if ( !loadMVAfromDB_ ) { delete mvaReaderU_; delete mvaReaderDPhi_; @@ -81,26 +110,23 @@ PFMETAlgorithmMVA::~PFMETAlgorithmMVA() } } +//------------------------------------------------------------------------------- void PFMETAlgorithmMVA::initialize(const edm::EventSetup& es) { + edm::ParameterSet cfgInputRecords = cfg_.getParameter("inputRecords"); + mvaNameU_ = cfgInputRecords.getParameter("U"); + mvaNameDPhi_ = cfgInputRecords.getParameter("DPhi"); + mvaNameCovU1_ = cfgInputRecords.getParameter("CovU1"); + mvaNameCovU2_ = cfgInputRecords.getParameter("CovU2"); + if ( loadMVAfromDB_ ) { - edm::ParameterSet cfgInputRecords = cfg_.getParameter("inputRecords"); - mvaNameU_ = cfgInputRecords.getParameter("U"); mvaReaderU_ = loadMVAfromDB(es, mvaNameU_); - mvaNameDPhi_ = cfgInputRecords.getParameter("DPhi"); mvaReaderDPhi_ = loadMVAfromDB(es, mvaNameDPhi_); - mvaNameCovU1_ = cfgInputRecords.getParameter("CovU1"); mvaReaderCovU1_ = loadMVAfromDB(es, mvaNameCovU1_); - mvaNameCovU2_ = cfgInputRecords.getParameter("CovU2"); mvaReaderCovU2_ = loadMVAfromDB(es, mvaNameCovU2_); } else { edm::ParameterSet cfgInputFileNames = cfg_.getParameter("inputFileNames"); - mvaNameU_ = "U1Correction"; - mvaNameDPhi_ = "PhiCorrection"; - mvaNameCovU1_ = "CovU1"; - mvaNameCovU2_ = "CovU2"; - edm::FileInPath inputFileNameU = cfgInputFileNames.getParameter("U"); mvaReaderU_ = loadMVAfromFile(inputFileNameU, mvaNameU_); edm::FileInPath inputFileNameDPhi = cfgInputFileNames.getParameter("DPhi"); @@ -139,255 +165,115 @@ void PFMETAlgorithmMVA::setInput(const std::vector& lept reco::Candidate::LorentzVector jet1P4 = utils_.leadJetP4(jets_cleaned); reco::Candidate::LorentzVector jet2P4 = utils_.subleadJetP4(jets_cleaned); - double pfSumEt = pfRecoil_data.sumet; - double pfU = pfRecoil_data.met; - double pfPhi = pfRecoil_data.phi; - double tkSumEt = chHSRecoil_data.sumet; - double tkU = chHSRecoil_data.met; - double tkPhi = chHSRecoil_data.phi; - double npuSumEt = hsRecoil_data.sumet; - double npuU = hsRecoil_data.met; - double npuPhi = hsRecoil_data.phi; - double puSumEt = puRecoil_data.sumet; - double puMEt = puRecoil_data.met; - double puPhi = puRecoil_data.phi; - double pucSumEt = hsMinusNeutralPUMEt_data.sumet; - double pucU = hsMinusNeutralPUMEt_data.met; - double pucPhi = hsMinusNeutralPUMEt_data.phi; - double jet1Pt = jet1P4.pt(); - double jet1Eta = jet1P4.eta(); - double jet1Phi = jet1P4.phi(); - double jet2Pt = jet2P4.pt(); - double jet2Eta = jet2P4.eta(); - double jet2Phi = jet2P4.phi(); - double numJetsPtGt30 = utils_.numJetsAboveThreshold(jets_cleaned, 30.); - double numJets = jets_cleaned.size(); - double numVertices = vertices.size(); - - setInput(pfSumEt, pfU, pfPhi, - tkSumEt, tkU, tkPhi, - npuSumEt, npuU, npuPhi, - puSumEt, puMEt, puPhi, - pucSumEt, pucU, pucPhi, - jet1Pt, jet1Eta, jet1Phi, - jet2Pt, jet2Eta, jet2Phi, - numJetsPtGt30, numJets, - numVertices); + var_["particleFlow_U"] = pfRecoil_data.met; + var_["particleFlow_SumET"] = pfRecoil_data.sumet; + var_["particleFlow_UPhi"] = pfRecoil_data.phi; + + var_["track_SumET"] = chHSRecoil_data.sumet/var_["particleFlow_SumET"]; + var_["track_U"] = chHSRecoil_data.met; + var_["track_UPhi"] = chHSRecoil_data.phi; + + var_["noPileUp_SumET"] = hsRecoil_data.sumet/var_["particleFlow_SumET"]; + var_["noPileUp_U"] = hsRecoil_data.met; + var_["noPileUp_UPhi"] = hsRecoil_data.phi; + + var_["pileUp_SumET"] = puRecoil_data.sumet/var_["particleFlow_SumET"]; + var_["pileUp_MET"] = puRecoil_data.met; + var_["pileUp_METPhi"] = puRecoil_data.phi; + + var_["pileUpCorrected_SumET"] = hsMinusNeutralPUMEt_data.sumet/var_["particleFlow_SumET"]; + var_["pileUpCorrected_U"] = hsMinusNeutralPUMEt_data.met; + var_["pileUpCorrected_UPhi"] = hsMinusNeutralPUMEt_data.phi; + + var_["jet1_pT"] = jet1P4.pt(); + var_["jet1_eta"] = jet1P4.eta(); + var_["jet1_Phi"] = jet1P4.phi(); + var_["jet2_pT"] = jet2P4.pt(); + var_["jet2_eta"] = jet2P4.eta(); + var_["jet2_Phi"] = jet2P4.phi(); + + var_["numJetsPtGt30"] = utils_.numJetsAboveThreshold(jets_cleaned, 30.); + var_["nJets"] = jets_cleaned.size(); + var_["nPV"] = vertices.size(); } -void PFMETAlgorithmMVA::setInput(double pfSumEt, double pfU, double pfPhi, - double tkSumEt, double tkU, double tkPhi, - double npuSumEt, double npuU, double npuPhi, - double puSumEt, double puMEt, double puPhi, - double pucSumEt, double pucU, double pucPhi, - double jet1Pt, double jet1Eta, double jet1Phi, - double jet2Pt, double jet2Eta, double jet2Phi, - double numJetsPtGt30, double numJets, - double numVertices) +//------------------------------------------------------------------------------- +Float_t* PFMETAlgorithmMVA::createFloatVector(std::vector variableNames) { - // protection against "empty events" - if ( pfSumEt < 1. ) pfSumEt = 1.; - - pfSumEt_ = pfSumEt; - pfU_ = pfU; - pfPhi_ = pfPhi; - tkSumEt_ = tkSumEt/pfSumEt_; - tkU_ = tkU; - tkPhi_ = tkPhi; - npuSumEt_ = npuSumEt/pfSumEt_; - npuU_ = npuU; - npuPhi_ = npuPhi; - puSumEt_ = puSumEt/pfSumEt_; - puMEt_ = puMEt; - puPhi_ = puPhi; - pucSumEt_ = pucSumEt/pfSumEt_; - pucU_ = pucU; - pucPhi_ = pucPhi; - jet1Pt_ = jet1Pt; - jet1Eta_ = jet1Eta; - jet1Phi_ = jet1Phi; - jet2Pt_ = jet2Pt; - jet2Eta_ = jet2Eta; - jet2Phi_ = jet2Phi; - numJetsPtGt30_ = numJetsPtGt30; - numJets_ = numJets; - numVertices_ = numVertices; + Float_t* floatVector = new Float_t[variableNames.size()]; + int i = 0; + for(auto variableName: variableNames) + { + floatVector[i++] = var_[variableName]; + } + return floatVector; } -//------------------------------------------------------------------------------- //------------------------------------------------------------------------------- void PFMETAlgorithmMVA::evaluateMVA() { // CV: MVAs needs to be evaluated in order { DPhi, U1, CovU1, CovU2 } // as MVA for U1 (CovU1, CovU2) uses output of DPhi (DPhi and U1) MVA - evaluateDPhi(); - evaluateU(); - evaluateCovU1(); - evaluateCovU2(); + mvaOutputDPhi_ = GetResponse(mvaReaderDPhi_, varForDPhi_); + var_["PhiCor_UPhi"] = var_["particleFlow_UPhi"] + mvaOutputDPhi_; + mvaOutputU_ = GetResponse(mvaReaderU_, varForU_); + var_["RecoilCor_U"] = var_["particleFlow_U"] * mvaOutputU_; + var_["RecoilCor_UPhi"] = var_["PhiCor_UPhi"]; + mvaOutputCovU1_ = GetResponse(mvaReaderCovU1_, varForCovU1_)* mvaOutputU_ * var_["particleFlow_U"]; + mvaOutputCovU2_ = GetResponse(mvaReaderCovU2_, varForCovU2_)* mvaOutputU_ * var_["particleFlow_U"]; + // compute MET(Photon check) if(hasPhotons_) { //Fix events with unphysical properties double sumLeptonPt = std::max(sqrt(sumLeptonPx_*sumLeptonPx_+sumLeptonPy_*sumLeptonPy_),1.); - if(tkU_/sumLeptonPt < 0.1 || npuU_/sumLeptonPt < 0.1 ) mvaOutputU_ = 1.; - if(tkU_/sumLeptonPt < 0.1 || npuU_/sumLeptonPt < 0.1 ) mvaOutputDPhi_ = 0.; + if(var_["track_U"]/sumLeptonPt < 0.1 || var_["noPileUp_U"]/sumLeptonPt < 0.1 ) mvaOutputU_ = 1.; + if(var_["track_U"]/sumLeptonPt < 0.1 || var_["noPileUp_U"]/sumLeptonPt < 0.1 ) mvaOutputDPhi_ = 0.; } - double U = pfU_*mvaOutputU_; - double Phi = pfPhi_ + mvaOutputDPhi_; - if ( U < 0. ) Phi += Pi; - double cosPhi = cos(Phi); - double sinPhi = sin(Phi); - double metPx = U*cosPhi - sumLeptonPx_; - double metPy = U*sinPhi - sumLeptonPy_; - double metPt = sqrt(metPx*metPx + metPy*metPy); - mvaMEt_.SetCoordinates(metPx, metPy, 0., metPt); - - // compute MET uncertainties in dirrections parallel and perpendicular to hadronic recoil - // (neglecting uncertainties on lepton momenta) - mvaMEtCov_(0, 0) = mvaOutputCovU1_*cosPhi*cosPhi + mvaOutputCovU2_*sinPhi*sinPhi; - mvaMEtCov_(0, 1) = -mvaOutputCovU1_*sinPhi*cosPhi + mvaOutputCovU2_*sinPhi*cosPhi; - mvaMEtCov_(1, 0) = mvaMEtCov_(0, 1); - mvaMEtCov_(1, 1) = mvaOutputCovU1_*sinPhi*sinPhi + mvaOutputCovU2_*cosPhi*cosPhi; + computeMET(); } //------------------------------------------------------------------------------- -//------------------------------------------------------------------------------- -void PFMETAlgorithmMVA::evaluateU() -{ - mvaInputU_[0] = pfSumEt_; // PH: helps flattens response vs. Nvtx - mvaInputU_[1] = numVertices_; - mvaInputU_[2] = pfU_; - mvaInputU_[3] = pfPhi_; - mvaInputU_[4] = tkSumEt_; - mvaInputU_[5] = tkU_; - mvaInputU_[6] = tkPhi_; - mvaInputU_[7] = npuSumEt_; - mvaInputU_[8] = npuU_; - mvaInputU_[9] = npuPhi_; - mvaInputU_[10] = puSumEt_; - mvaInputU_[11] = puMEt_; - mvaInputU_[12] = puPhi_; - mvaInputU_[13] = pucSumEt_; - mvaInputU_[14] = pucU_; - mvaInputU_[15] = pucPhi_; - mvaInputU_[16] = jet1Pt_; - mvaInputU_[17] = jet1Eta_; - mvaInputU_[18] = jet1Phi_; - mvaInputU_[19] = jet2Pt_; - mvaInputU_[20] = jet2Eta_; - mvaInputU_[21] = jet2Phi_; - mvaInputU_[22] = numJets_; - mvaInputU_[23] = numJetsPtGt30_; - mvaInputU_[24] = pfPhi_ + mvaOutputDPhi_; - mvaOutputU_ = mvaReaderU_->GetResponse(mvaInputU_); -} - -void PFMETAlgorithmMVA::evaluateDPhi() -{ - mvaInputDPhi_[0] = numVertices_; - mvaInputDPhi_[1] = pfU_; - mvaInputDPhi_[2] = pfPhi_; - mvaInputDPhi_[3] = tkSumEt_; - mvaInputDPhi_[4] = tkU_; - mvaInputDPhi_[5] = tkPhi_; - mvaInputDPhi_[6] = npuSumEt_; - mvaInputDPhi_[7] = npuU_; - mvaInputDPhi_[8] = npuPhi_; - mvaInputDPhi_[9] = puSumEt_; - mvaInputDPhi_[10] = puMEt_; - mvaInputDPhi_[11] = puPhi_; - mvaInputDPhi_[12] = pucSumEt_; - mvaInputDPhi_[13] = pucU_; - mvaInputDPhi_[14] = pucPhi_; - mvaInputDPhi_[15] = jet1Pt_; - mvaInputDPhi_[16] = jet1Eta_; - mvaInputDPhi_[17] = jet1Phi_; - mvaInputDPhi_[18] = jet2Pt_; - mvaInputDPhi_[19] = jet2Eta_; - mvaInputDPhi_[20] = jet2Phi_; - mvaInputDPhi_[21] = numJets_; - mvaInputDPhi_[22] = numJetsPtGt30_; - mvaOutputDPhi_ = mvaReaderDPhi_->GetResponse(mvaInputDPhi_); +void PFMETAlgorithmMVA::computeMET() +{ + double U = var_["RecoilCor_U"]; + double Phi = var_["PhiCor_UPhi"]; + if ( U < 0. ) Phi += Pi; //RF: No sign flip for U necessary in that case? + double cosPhi = cos(Phi); + double sinPhi = sin(Phi); + double metPx = U*cosPhi - sumLeptonPx_; + double metPy = U*sinPhi - sumLeptonPy_; + double metPt = sqrt(metPx*metPx + metPy*metPy); + mvaMEt_.SetCoordinates(metPx, metPy, 0., metPt); + // compute MET uncertainties in dirrections parallel and perpendicular to hadronic recoil + // (neglecting uncertainties on lepton momenta) + mvaMEtCov_(0, 0) = mvaOutputCovU1_*cosPhi*cosPhi + mvaOutputCovU2_*sinPhi*sinPhi; + mvaMEtCov_(0, 1) = -mvaOutputCovU1_*sinPhi*cosPhi + mvaOutputCovU2_*sinPhi*cosPhi; + mvaMEtCov_(1, 0) = mvaMEtCov_(0, 1); + mvaMEtCov_(1, 1) = mvaOutputCovU1_*sinPhi*sinPhi + mvaOutputCovU2_*cosPhi*cosPhi; } -void PFMETAlgorithmMVA::evaluateCovU1() -{ - mvaInputCovU1_[0] = pfSumEt_; // PH: helps flattens response vs. Nvtx - mvaInputCovU1_[1] = numVertices_; - mvaInputCovU1_[2] = pfU_; - mvaInputCovU1_[3] = pfPhi_; - mvaInputCovU1_[4] = tkSumEt_; - mvaInputCovU1_[5] = tkU_; - mvaInputCovU1_[6] = tkPhi_; - mvaInputCovU1_[7] = npuSumEt_; - mvaInputCovU1_[8] = npuU_; - mvaInputCovU1_[9] = npuPhi_; - mvaInputCovU1_[10] = puSumEt_; - mvaInputCovU1_[11] = puMEt_; - mvaInputCovU1_[12] = puPhi_; - mvaInputCovU1_[13] = pucSumEt_; - mvaInputCovU1_[14] = pucU_; - mvaInputCovU1_[15] = pucPhi_; - mvaInputCovU1_[16] = jet1Pt_; - mvaInputCovU1_[17] = jet1Eta_; - mvaInputCovU1_[18] = jet1Phi_; - mvaInputCovU1_[19] = jet2Pt_; - mvaInputCovU1_[20] = jet2Eta_; - mvaInputCovU1_[21] = jet2Phi_; - mvaInputCovU1_[22] = numJets_; - mvaInputCovU1_[23] = numJetsPtGt30_; - mvaInputCovU1_[24] = pfPhi_ + mvaOutputDPhi_; - mvaInputCovU1_[25] = mvaOutputU_*pfU_; - mvaOutputCovU1_ = mvaReaderCovU1_->GetResponse(mvaInputCovU1_)*mvaOutputU_*pfU_; +//------------------------------------------------------------------------------- +const Float_t PFMETAlgorithmMVA::GetResponse(const GBRForest * Reader, std::vector &variableNames ) +{ + Float_t * mvaInputVector = createFloatVector(variableNames); + double result = Reader->GetResponse(mvaInputVector); + delete mvaInputVector; + return result; } -void PFMETAlgorithmMVA::evaluateCovU2() -{ - mvaInputCovU2_[0] = pfSumEt_; // PH: helps flattens response vs. Nvtx - mvaInputCovU2_[1] = numVertices_; - mvaInputCovU2_[2] = pfU_; - mvaInputCovU2_[3] = pfPhi_; - mvaInputCovU2_[4] = tkSumEt_; - mvaInputCovU2_[5] = tkU_; - mvaInputCovU2_[6] = tkPhi_; - mvaInputCovU2_[7] = npuSumEt_; - mvaInputCovU2_[8] = npuU_; - mvaInputCovU2_[9] = npuPhi_; - mvaInputCovU2_[10] = puSumEt_; - mvaInputCovU2_[11] = puMEt_; - mvaInputCovU2_[12] = puPhi_; - mvaInputCovU2_[13] = pucSumEt_; - mvaInputCovU2_[14] = pucU_; - mvaInputCovU2_[15] = pucPhi_; - mvaInputCovU2_[16] = jet1Pt_; - mvaInputCovU2_[17] = jet1Eta_; - mvaInputCovU2_[18] = jet1Phi_; - mvaInputCovU2_[19] = jet2Pt_; - mvaInputCovU2_[20] = jet2Eta_; - mvaInputCovU2_[21] = jet2Phi_; - mvaInputCovU2_[22] = numJets_; - mvaInputCovU2_[23] = numJetsPtGt30_; - mvaInputCovU2_[24] = pfPhi_ + mvaOutputDPhi_; - mvaInputCovU2_[25] = mvaOutputU_*pfU_; - mvaOutputCovU2_ = mvaReaderCovU2_->GetResponse(mvaInputCovU2_)*mvaOutputU_*pfU_; -} +//------------------------------------------------------------------------------- void PFMETAlgorithmMVA::print(std::ostream& stream) const { stream << ":" << std::endl; - stream << " PF: sumEt = " << pfSumEt_ << ", U = " << pfU_ << ", phi = " << pfPhi_ << std::endl; - stream << " TK: sumEt = " << tkSumEt_ << ", U = " << tkU_ << ", phi = " << tkPhi_ << std::endl; - stream << " NPU: sumEt = " << npuSumEt_ << ", U = " << npuU_ << ", phi = " << npuPhi_ << std::endl; - stream << " PU: sumEt = " << puSumEt_ << ", MEt = " << puMEt_ << ", phi = " << puPhi_ << std::endl; - stream << " PUC: sumEt = " << pucSumEt_ << ", U = " << pucU_ << ", phi = " << pucPhi_ << std::endl; - stream << " jet1: Pt = " << jet1Pt_ << ", eta = " << jet1Eta_ << ", phi = " << jet1Phi_ << std::endl; - stream << " jet2: Pt = " << jet2Pt_ << ", eta = " << jet2Eta_ << ", phi = " << jet2Phi_ << std::endl; - stream << " num. jets = " << numJets_ << " (" << numJetsPtGt30_ << " with Pt > 30 GeV)" << std::endl; - stream << " num. vertices = " << numVertices_ << std::endl; - stream << " MVA output: U = " << mvaOutputU_ << ", dPhi = " << mvaOutputDPhi_ << "," - << " covU1 = " << mvaOutputCovU1_ << ", covU2 = " << mvaOutputCovU2_ << std::endl; + for(auto entry: var_) + stream << entry.first << " = " << entry.second << std::endl; + stream << " covU1 = " << mvaOutputCovU1_ << ", covU2 = " << mvaOutputCovU2_ << std::endl; stream << " sum(leptons): Pt = " << sqrt(sumLeptonPx_*sumLeptonPx_ + sumLeptonPy_*sumLeptonPy_) << "," - << " phi = " << atan2(sumLeptonPy_, sumLeptonPx_) << " " - << "(Px = " << sumLeptonPx_ << ", Py = " << sumLeptonPy_ << ")" << std::endl; + << " phi = " << atan2(sumLeptonPy_, sumLeptonPx_) << " " + << "(Px = " << sumLeptonPx_ << ", Py = " << sumLeptonPy_ << ")" ; + stream << " MVA output: U = " << mvaOutputU_ << ", dPhi = " << mvaOutputDPhi_ << "," << " covU1 = " << mvaOutputCovU1_ << ", covU2 = " << mvaOutputCovU2_ << std::endl; + stream << std::endl; } diff --git a/RecoMET/METPUSubtraction/test/mvaMETOnMiniAOD_cfg.py b/RecoMET/METPUSubtraction/test/mvaMETOnMiniAOD_cfg.py index f8e7b9541c77..40b7f0453ccb 100644 --- a/RecoMET/METPUSubtraction/test/mvaMETOnMiniAOD_cfg.py +++ b/RecoMET/METPUSubtraction/test/mvaMETOnMiniAOD_cfg.py @@ -58,6 +58,7 @@ process.load("RecoJets.JetProducers.ak4PFJets_cfi") process.ak4PFJets.src = cms.InputTag("packedPFCandidates") +process.ak4PFJets.doAreaFastjet = cms.bool(True) from JetMETCorrections.Configuration.DefaultJEC_cff import ak4PFJetsL1FastL2L3 diff --git a/TauAnalysis/CandidateTools/BuildFile.xml b/TauAnalysis/CandidateTools/BuildFile.xml deleted file mode 100644 index c68b7d79c34d..000000000000 --- a/TauAnalysis/CandidateTools/BuildFile.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/TauAnalysis/CandidateTools/bin/BuildFile.xml b/TauAnalysis/CandidateTools/bin/BuildFile.xml deleted file mode 100644 index 83c982703f9d..000000000000 --- a/TauAnalysis/CandidateTools/bin/BuildFile.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/TauAnalysis/CandidateTools/bin/nsvfitStandalone.cc b/TauAnalysis/CandidateTools/bin/nsvfitStandalone.cc deleted file mode 100644 index 89b91d631206..000000000000 --- a/TauAnalysis/CandidateTools/bin/nsvfitStandalone.cc +++ /dev/null @@ -1,139 +0,0 @@ -#include "TTree.h" -#include "TFile.h" - -#include "TauAnalysis/CandidateTools/interface/NSVfitStandaloneAlgorithm.h" - -/** - \class nsvfitStandalone nsvfitStandalone.cc "TauAnalysis/CandidateTools/bin/nsvfitStandalone.cc" - \brief Basic example of the use of the standalone version of NSVfit - - This is an example executable to show the use of the standalone version of NSVfit form a flat - n-tuple or single event. -*/ - -void singleEvent() -{ - /* - This is a single event for testing in the integration mode. - */ - // define MET - Vector MET(11.7491, -51.9172, 0.); - // define MET covariance - TMatrixD covMET(2, 2); - /* - covMET[0][0] = 0.; - covMET[1][0] = 0.; - covMET[0][1] = 0.; - covMET[1][1] = 0.; - */ - covMET[0][0] = 787.352; - covMET[1][0] = -178.63; - covMET[0][1] = -178.63; - covMET[1][1] = 179.545; - // define lepton four vectors - NSVfitStandalone::LorentzVector l1( 28.9132, -17.3888, 36.6411, 49.8088); //lepton - NSVfitStandalone::LorentzVector l2(-24.19 , 8.77449, 16.9413, 30.8086); //tau - std::vector measuredTauLeptons; - measuredTauLeptons.push_back(NSVfitStandalone::MeasuredTauLepton(NSVfitStandalone::kHadDecay, l2)); - measuredTauLeptons.push_back(NSVfitStandalone::MeasuredTauLepton(NSVfitStandalone::kLepDecay, l1)); - // define algorithm (set the debug level to 3 for testing) - NSVfitStandaloneAlgorithm algo(measuredTauLeptons, MET, covMET, /*debug=*/0); - algo.addLogM(false); - /* - the following lines show how to use the different methods on a single event - */ - // minuit fit method - //algo.fit(); - // integration by VEGAS (same as function algo.integrate() that has been in use when markov chain integration had not yet been implemented) - //algo.integrateVEGAS(); - // integration by markov chain MC - algo.integrateMarkovChain(); - - double mass = algo.getMass(); // mass uncertainty not implemented yet - if(algo.isValidSolution()){ - std::cout << "found mass = " << mass << std::endl; - } - else{ - std::cout << "sorry -- status of NLL is not valid [" << algo.isValidSolution() << "]" << std::endl; - } - return; -} - -void eventsFromTree(int argc, char* argv[]) -{ - // parse arguments - if ( argc < 3 ) { - std::cout << "Usage : " << argv[0] << " [inputfile.root] [tree_name]" << std::endl; - return; - } - // get intput directory up to one before mass points - TFile* file = new TFile(argv[1]); - // access tree in file - TTree* tree = (TTree*) file->Get(argv[2]); - // input variables - float met, metPhi; - float covMet11, covMet12; - float covMet21, covMet22; - float l1M, l1Px, l1Py, l1Pz; - float l2M, l2Px, l2Py, l2Pz; - float mTrue; - // branch adresses - tree->SetBranchAddress("met" , &met ); - tree->SetBranchAddress("mphi" , &metPhi ); - tree->SetBranchAddress("mcov_11" , &covMet11 ); - tree->SetBranchAddress("mcov_12" , &covMet12 ); - tree->SetBranchAddress("mcov_21" , &covMet21 ); - tree->SetBranchAddress("mcov_22" , &covMet22 ); - tree->SetBranchAddress("l1_M" , &l1M ); - tree->SetBranchAddress("l1_Px" , &l1Px ); - tree->SetBranchAddress("l1_Py" , &l1Py ); - tree->SetBranchAddress("l1_Pz" , &l1Pz ); - tree->SetBranchAddress("l2_M" , &l2M ); - tree->SetBranchAddress("l2_Px" , &l2Px ); - tree->SetBranchAddress("l2_Py" , &l2Py ); - tree->SetBranchAddress("l2_Pz" , &l2Pz ); - tree->SetBranchAddress("m_true" , &mTrue ); - int nevent = tree->GetEntries(); - for(int i=0; iGetEvent(i); - std::cout << "event " << i+1 << std::endl; - // setup MET input vector - NSVfitStandalone::Vector measuredMET(met *TMath::Cos(metPhi), met *TMath::Sin(metPhi), 0); - // setup the MET significance - TMatrixD covMET(2,2); - covMET[0][0] = covMet11; - covMET[0][1] = covMet12; - covMET[1][0] = covMet21; - covMET[1][1] = covMet22; - // setup measure tau lepton vectors - NSVfitStandalone::LorentzVector l1(l1Px, l1Py, l1Pz, TMath::Sqrt(l1M*l1M+l1Px*l1Px+l1Py*l1Py+l1Pz*l1Pz)); - NSVfitStandalone::LorentzVector l2(l2Px, l2Py, l2Pz, TMath::Sqrt(l2M*l2M+l2Px*l2Px+l2Py*l2Py+l2Pz*l2Pz)); - std::vector measuredTauLeptons; - measuredTauLeptons.push_back(NSVfitStandalone::MeasuredTauLepton(std::string(argv[2])==std::string("EMu") ? NSVfitStandalone::kLepDecay : NSVfitStandalone::kLepDecay, l1)); - measuredTauLeptons.push_back(NSVfitStandalone::MeasuredTauLepton(std::string(argv[2])==std::string("EMu") ? NSVfitStandalone::kLepDecay : NSVfitStandalone::kHadDecay, l2)); - // construct the class object from the minimal necesarry information - NSVfitStandaloneAlgorithm algo(measuredTauLeptons, measuredMET, covMET, 1); - // apply customized configurations if wanted (examples are given below) - algo.maxObjFunctionCalls(5000); - //algo.addLogM(false); - //algo.metPower(0.5) - // run the fit - algo.fit(); - // retrieve the results upon success - std::cout << "... m truth : " << mTrue << std::endl; - if(algo.isValidSolution()){ - std::cout << "... m svfit : " << algo.mass() << "+/-" << algo.massUncert() << std::endl; - } - else{ - std::cout << "... m svfit : ---" << std::endl; - } - } - return; -} - -int main(int argc, char* argv[]) -{ - //eventsFromTree(argc, argv); - singleEvent(); - return 0; -} diff --git a/TauAnalysis/CandidateTools/interface/LikelihoodFunctions.h b/TauAnalysis/CandidateTools/interface/LikelihoodFunctions.h deleted file mode 100644 index ed100ae29fbd..000000000000 --- a/TauAnalysis/CandidateTools/interface/LikelihoodFunctions.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef TauAnalysis_CandidateTools_LikelihoodFunctions_h -#define TauAnalysis_CandidateTools_LikelihoodFunctions_h - -#include "TMatrixD.h" - -/** - \class probMET LikelihoodFunctions.h "TauAnalysis/CandidateTools/interface/LikelihoodFunctions.h" - - \brief Likelihood for MET - - Likelihood for MET. Input parameters are: - - pMETX : difference between reconstructed MET and fitted MET in x - pMETY : difference between reconstructed MET and fitted MET in y - covDet : determinant of the covariance matrix of the measured MET - covInv : 2-dim inverted covariance matrix for measured MET (to be - determined from MET significance algorithm) - power : additional power to enhance the nll term -*/ -double probMET(double dMETX, double dMETY, double covDet, const TMatrixD& covInv, double power = 1., bool verbose = false); - -/** - \class probTauToLepPhaseSpace LikelihoodFunctions.h "TauAnalysis/CandidateTools/interface/LikelihoodFunctions.h" - - \brief Likelihood for a three body tau decay into lepton, neutrino, neutrino. - - Likelihood for a three body tau decay into lepton, neutrino, neutrino. Input parameters are: - - \var decayAngle : decay angle in the restframe of the tau lepton decay - \var visMass : measured visible mass - \var nunuMass : fitted neutrino mass - - The parameter tauLeptonMass2 is the mass of the tau lepton squared as defined in svFitAuxFunctions.h -*/ -double probTauToLepPhaseSpace(double decayAngle, double nunuMass, double visMass, double x, bool applySinTheta, bool verbose = false); - -/** - \class probTauToHadPhaseSpace LikelihoodFunctions.h "TauAnalysis/CandidateTools/interface/LikelihoodFunctions.h" - - \brief Likelihood for a two body tau decay into two hadrons - - Likelihood for a two body tau decay into two hadrons. Input parameters is: - - decayAngle : decay angle in the restframe of the tau lepton decay -*/ -double probTauToHadPhaseSpace(double decayAngle, double nunuMass, double visMass, double x, bool applySinTheta, bool verbose = false); - -#endif diff --git a/TauAnalysis/CandidateTools/interface/MarkovChainIntegrator.h b/TauAnalysis/CandidateTools/interface/MarkovChainIntegrator.h deleted file mode 100755 index 95901d9dd7cf..000000000000 --- a/TauAnalysis/CandidateTools/interface/MarkovChainIntegrator.h +++ /dev/null @@ -1,211 +0,0 @@ -#ifndef TauAnalysis_CandidateTools_MarkovChainIntegrator_h -#define TauAnalysis_CandidateTools_MarkovChainIntegrator_h - -/** \class MarkovChainIntegrator - * - * Generic class to perform Markov Chain type integration - * in N-dimensional space. - * - * The code is implemented following the description in: - * [1] "Probabilistic Inference Using Markov Chain Monte Carlo Methods", - * R. Neal, http://www.cs.toronto.edu/pub/radford/review.pdf - * [2] "Bayesian Training of Backpropagation Networks by the Hybrid Monte Carlo Method", - * R. Neal, http://www.cs.toronto.edu/pub/radford/bbp.ps - * - * NOTE: integrand and callBackFunctions passed to MarkovChainIntegrator class - * must not be deleted until all integrations have finished. - * - * \author Christian Veelken, LLR - * - * \version $Revision: 1.8.2.2 $ - * - * $Id: MarkovChainIntegrator.h,v 1.8.2.2 2013/01/12 20:27:59 rwolf Exp $ - * - */ - -#include "FWCore/ParameterSet/interface/ParameterSet.h" - -#include -#include -#include -#include - -#include -#include -#include - -class MarkovChainIntegrator -{ - public: - MarkovChainIntegrator(const edm::ParameterSet&); - ~MarkovChainIntegrator(); - -//--- set initial position of Markov Chain in N-dimensional space to given values, -// in order to start path of chain transitions from non-random point - void initializeStartPosition_and_Momentum(const std::vector&); - -//--- set function to evaluate the probability P(q) -// at every point q in the N-dimensional space in which the integration is performed. -// (eq. (11) in [2]) - void setIntegrand(const ROOT::Math::Functor&); - -//--- set function to evaluate "valid" (physically allowed) start-position - void setStartPosition_and_MomentumFinder(const ROOT::Math::Functor&); - -//--- register "call-back" functions: -// A user may register any number of "call-back" functions, -// which are evaluated in every iteration of the Markov Chain. -// The mechanism allows to compute expectation values -// of any number of observables, according to eq. (12) in [2]. -// The evaluation of "call-back" functions proceeds -// by calling ROOT::Math::Functor::operator(x). -// The argument x is a vector of dimensionality N, -// represent the current position q of the Markov Chain in the -// N-dimensional space in which the integration is performed. - void registerCallBackFunction(const ROOT::Math::Functor&); - -//--- set function to evaluate function values -// in N-dimensional space in which the integration is performed -// (e.g. to monitor variation of resonance mass) - void setF(const ROOT::Math::Functor&, const std::string&); - - void integrate(const std::vector&, const std::vector&, double&, double&, int&, const std::string& = ""); - - void print(std::ostream&) const; - - protected: - - void initializeStartPosition_and_Momentum(); - - void makeStochasticMove(unsigned, bool&, bool&); - void makeDynamicMoves(const std::vector&); - - void sampleSphericallyRandom(); - - void updateX(const std::vector&); - - double evalProb(const std::vector&); - double evalE(const std::vector&); - double evalK(const std::vector&, unsigned, unsigned); - - void updateGradE(std::vector&); - - std::string name_; - - const ROOT::Math::Functor* integrand_; - - const ROOT::Math::Functor* startPosition_and_MomentumFinder_; - - std::vector callBackFunctions_; - - // parameter defining whether to run integration in "Metropolis" or "Hybrid" mode - int moveMode_; - - // parameters defining integration region - // numDimensions: dimensionality of integration region (Hypercube) - // xMin: lower boundaries of integration region - // xMax: upper boundaries of integration region - // initMode: flag indicating how initial position of Markov Chain is chosen (uniform/Gaus distribution) - unsigned numDimensions_; - double* x_; - std::vector xMin_; // index = dimension - std::vector xMax_; // index = dimension - int initMode_; - - // parameters defining number of "stochastic moves" performed per integration - // numIterBurnin: number of "stochastic moves" performed to reach "ergodic" state of Markov Chain - // ("burnin" iterations do not enter the integral computation; - // their purpose is to make the computed integral value ~independent - // of the initial position at which the Markov Chain is started) - // numIterSampling: number of "stochastic moves" used to compute integral - unsigned numIterBurnin_; - unsigned numIterSampling_; - - // maximum number of attempts to find a valid starting-position for the Markov Chain - // (i.e. an initial point of non-zero probability) - unsigned maxCallsStartingPos_; - - // parameters defining "simulated annealing" stage at beginning of integration - // simAnnealingAlpha: number of "stochastic moves" performed at high temperature during "burnin" stage - // T0: initial annealing temperature - // alpha: speed parameter with which temperature decreases (~alpha^iteration) - unsigned numIterSimAnnealingPhase1_; - unsigned numIterSimAnnealingPhase2_; - unsigned numIterSimAnnealingPhase1plus2_; - double T0_; - double sqrtT0_; - double alpha_; - double alpha2_; - - // number of Markov Chains run in parallel - unsigned numChains_; - - // number of iterations per batch - // (used for estimation of uncertainty on computed integral value, - // according to eqs. (6.39) and (6.40) in [1]) - unsigned numBatches_; - - // parameters specific to "dynamic moves" - // dxDerr: step-sizes used for the purpose of computing derrivative of integrand - // L: number of "dynamical moves" performed per "stochastic move" - // epsilon0: average step-size used for "dynamical moves" - // nu: spread of step-sizes used for "dynamical moves" - typedef std::vector vdouble; - vdouble dqDerr_; // index = dimension - unsigned L_; - double epsilon0_; - vdouble epsilon0s_; - bool useVariableEpsilon0_; - double nu_; - - // random number generator - TRandom3 rnd_; - - // internal variables storing current state of Markov Chain - vdouble p_; - vdouble q_; - vdouble gradE_; - double prob_; - - // temporary variables used for computations - vdouble u_; - vdouble pProposal_; - vdouble qProposal_; - - vdouble probSum_; // index = chain*numBatches + batch - vdouble integral_; - - long numMoves_accepted_; - long numMoves_rejected_; - - unsigned numChainsRun_; - - long numIntegrationCalls_; - long numMovesTotal_accepted_; - long numMovesTotal_rejected_; - - void openMonitorFile(const std::string&); - void updateMonitorFile(); - void closeMonitorFile(); - - TFile* monitorFile_; - TTree* monitorTree_; - std::vector branchValues_; - struct monitorElementType - { - monitorElementType(const ROOT::Math::Functor* f, const std::string& branchName) - : f_(f), - branchName_(branchName) - {} - ~monitorElementType() {} - const ROOT::Math::Functor* f_; - std::string branchName_; - Float_t branchValue_; - }; - std::vector extraMonitorBranches_; - - int verbosity_; // flag to enable/disable debug output -}; - -#endif - diff --git a/TauAnalysis/CandidateTools/interface/NSVfitStandaloneAlgorithm.h b/TauAnalysis/CandidateTools/interface/NSVfitStandaloneAlgorithm.h deleted file mode 100644 index 93d19ffc62a2..000000000000 --- a/TauAnalysis/CandidateTools/interface/NSVfitStandaloneAlgorithm.h +++ /dev/null @@ -1,393 +0,0 @@ -#ifndef TauAnalysis_CandidateTools_NSVfitStandaloneAlgorithm_h -#define TauAnalysis_CandidateTools_NSVfitStandaloneAlgorithm_h - -#include "TauAnalysis/CandidateTools/interface/NSVfitStandaloneLikelihood.h" -#include "TauAnalysis/CandidateTools/interface/MarkovChainIntegrator.h" -#include "TauAnalysis/CandidateTools/interface/svFitAuxFunctions.h" - -#include -#include -#include - -using NSVfitStandalone::Vector; -using NSVfitStandalone::LorentzVector; -using NSVfitStandalone::MeasuredTauLepton; - -/** - \class ObjectFunctionAdapter NSVfitStandaloneAlgorithm.h "TauAnalysis/CandidateTools/interface/NSVfitStandaloneAlgorithm.h" - - \brief Function interface to minuit. - - This class is an interface, which is used as global function pointer of the combined likelihood as defined in src/NSVfitStandaloneLikelihood.cc - to VEGAS or minuit. It is a member of the of the NSVfitStandaloneAlgorithm class defined below and is used in NSVfitStandalone::fit(), or - NSVfitStandalone::integrate(), where it is passed on to a ROOT::Math::Functor. The parameters x correspond to the array of fit/integration - paramters as defined in interface/NSVfitStandaloneLikelihood.h of this package. In the fit mode these are made known to minuit in the function - NSVfitStandaloneAlgorithm::setup. In the integration mode the mapping is done internally in the NSVfitStandaloneLikelihood::tansformint. This - has to be in sync. with the definition of the integration boundaries in NSVfitStandaloneAlgorithm::integrate. -*/ - -namespace NSVfitStandalone{ - class ObjectiveFunctionAdapter - { - public: - // for minuit fit - double operator()(const double* x) const // function to be called in "fit" (MINUIT) mode - // NOTE: return value = -log(likelihood) - { - double prob = NSVfitStandaloneLikelihood::gNSVfitStandaloneLikelihood->prob(x); - double nll; - if ( prob > 0. ) nll = -TMath::Log(prob); - else nll = std::numeric_limits::max(); - return nll; - } - // for VEGAS integration - double Eval(const double* x) const // function to be called in "integration" (VEGAS) mode - // NOTE: return value = likelihood, **not** -log(likelihood) - { - double prob = NSVfitStandaloneLikelihood::gNSVfitStandaloneLikelihood->probint(x, mtest, par); - if ( TMath::IsNaN(prob) ) prob = 0.; - return prob; - } - void SetPar(int parr) { par = parr; } - void SetM(double m) { mtest = m; } - private: - int par; //final state type - double mtest; //current mass hypothesis - }; - // for markov chain integration - void map_x(const double*, int, double*); - // class definitions for markov chain integration method - class MCObjectiveFunctionAdapter : public ROOT::Math::Functor - { - public: - void SetNDim(int nDim) { nDim_ = nDim; } - unsigned int NDim() const { return nDim_; } - private: - virtual double DoEval(const double* x) const - { - map_x(x, nDim_, x_mapped_); - double prob = NSVfitStandaloneLikelihood::gNSVfitStandaloneLikelihood->prob(x_mapped_); - if ( TMath::IsNaN(prob) ) prob = 0.; - return prob; - } - mutable double x_mapped_[6]; - int nDim_; - }; - class MCPtEtaPhiMassAdapter : public ROOT::Math::Functor - { - public: - MCPtEtaPhiMassAdapter() - { - histogramPt_ = makeHistogram("NSVfitStandaloneAlgorithm_histogramPt", 1., 1.e+3, 1.025); - histogramPt_density_ = (TH1*)histogramPt_->Clone(Form("%s_density", histogramPt_->GetName())); - histogramEta_ = new TH1D("NSVfitStandaloneAlgorithm_histogramEta", "NSVfitStandaloneAlgorithm_histogramEta", 198, -9.9, +9.9); - histogramEta_density_ = (TH1*)histogramEta_->Clone(Form("%s_density", histogramEta_->GetName())); - histogramPhi_ = new TH1D("NSVfitStandaloneAlgorithm_histogramPhi", "NSVfitStandaloneAlgorithm_histogramPhi", 180, -TMath::Pi(), +TMath::Pi()); - histogramPhi_density_ = (TH1*)histogramPhi_->Clone(Form("%s_density", histogramPhi_->GetName())); - histogramMass_ = makeHistogram("NSVfitStandaloneAlgorithm_histogramMass", 1.e+1, 1.e+4, 1.025); - histogramMass_density_ = (TH1*)histogramMass_->Clone(Form("%s_density", histogramMass_->GetName())); - } - ~MCPtEtaPhiMassAdapter() - { - delete histogramPt_; - delete histogramPt_density_; - delete histogramEta_; - delete histogramEta_density_; - delete histogramPhi_; - delete histogramPhi_density_; - delete histogramMass_; - delete histogramMass_density_; - } - void SetNDim(int nDim) { nDim_ = nDim; } - unsigned int NDim() const { return nDim_; } - void Reset() - { - histogramPt_->Reset(); - histogramEta_->Reset(); - histogramPhi_->Reset(); - histogramMass_->Reset(); - } - double getPt() const { return extractValue(histogramPt_, histogramPt_density_); } - double getPtUncert() const { return extractUncertainty(histogramPt_, histogramPt_density_); } - double getEta() const { return extractValue(histogramEta_, histogramEta_density_); } - double getEtaUncert() const { return extractUncertainty(histogramEta_, histogramEta_density_); } - double getPhi() const { return extractValue(histogramPhi_, histogramPhi_density_); } - double getPhiUncert() const { return extractUncertainty(histogramPhi_, histogramPhi_density_); } - double getMass() const { return extractValue(histogramMass_, histogramMass_density_); } - double getMassUncert() const { return extractUncertainty(histogramMass_, histogramMass_density_); } - private: - TH1* makeHistogram(const std::string& histogramName, double xMin, double xMax, double logBinWidth) - { - int numBins = 1 + TMath::Log(xMax/xMin)/TMath::Log(logBinWidth); - TArrayF binning(numBins + 1); - binning[0] = 0.; - double x = xMin; - for ( int iBin = 1; iBin <= numBins; ++iBin ) { - binning[iBin] = x; - x *= logBinWidth; - } - TH1* histogram = new TH1D(histogramName.data(), histogramName.data(), numBins, binning.GetArray()); - return histogram; - } - virtual double DoEval(const double* x) const - { - map_x(x, nDim_, x_mapped_); - NSVfitStandaloneLikelihood::gNSVfitStandaloneLikelihood->results(fittedTauLeptons_, x_mapped_); - fittedDiTauSystem_ = fittedTauLeptons_[0] + fittedTauLeptons_[1]; - //std::cout << "" << std::endl; - //std::cout << " Pt = " << fittedDiTauSystem_.pt() << "," - // << " eta = " << fittedDiTauSystem_.eta() << "," - // << " phi = " << fittedDiTauSystem_.phi() << "," - // << " mass = " << fittedDiTauSystem_.mass() << std::endl; - histogramPt_->Fill(fittedDiTauSystem_.pt()); - histogramEta_->Fill(fittedDiTauSystem_.eta()); - histogramPhi_->Fill(fittedDiTauSystem_.phi()); - histogramMass_->Fill(fittedDiTauSystem_.mass()); - return 0.; - } - void compHistogramDensity(const TH1* histogram, TH1* histogram_density) const - { - for ( int iBin = 1; iBin <= histogram->GetNbinsX(); ++iBin ) { - double binContent = histogram->GetBinContent(iBin); - double binError = histogram->GetBinError(iBin); - double binWidth = histogram->GetBinWidth(iBin); - //if ( histogram == histogramMass_ ) { - // TAxis* xAxis = histogram->GetXaxis(); - // std::cout << "bin #" << iBin << " (x = " << xAxis->GetBinLowEdge(iBin) << ".." << xAxis->GetBinUpEdge(iBin) << ", width = " << binWidth << "):" - // << " " << binContent << " +/- " << binError << std::endl; - //} - assert(binWidth > 0.); - histogram_density->SetBinContent(iBin, binContent/binWidth); - histogram_density->SetBinError(iBin, binError/binWidth); - } - } - double extractValue(const TH1* histogram, TH1* histogram_density) const - { - double maximum, maximum_interpol, mean, quantile016, quantile050, quantile084; - compHistogramDensity(histogram, histogram_density); - SVfit_namespace::extractHistogramProperties(histogram, histogram_density, maximum, maximum_interpol, mean, quantile016, quantile050, quantile084); - double value = maximum_interpol; - return value; - } - double extractUncertainty(const TH1* histogram, TH1* histogram_density) const - { - double maximum, maximum_interpol, mean, quantile016, quantile050, quantile084; - compHistogramDensity(histogram, histogram_density); - SVfit_namespace::extractHistogramProperties(histogram, histogram_density, maximum, maximum_interpol, mean, quantile016, quantile050, quantile084); - double uncertainty = TMath::Sqrt(0.5*(TMath::Power(quantile084 - maximum_interpol, 2.) + TMath::Power(maximum_interpol - quantile016, 2.))); - return uncertainty; - } - mutable std::vector fittedTauLeptons_; - mutable LorentzVector fittedDiTauSystem_; - mutable TH1* histogramPt_; - mutable TH1* histogramPt_density_; - mutable TH1* histogramEta_; - mutable TH1* histogramEta_density_; - mutable TH1* histogramPhi_; - mutable TH1* histogramPhi_density_; - mutable TH1* histogramMass_; - mutable TH1* histogramMass_density_; - mutable double x_mapped_[6]; - int nDim_; - }; -} - -/** - \class NSVfitStandaloneAlgorithm NSVfitStandaloneAlgorithm.h "TauAnalysis/CandidateTools/interface/NSVfitStandaloneAlgorithm.h" - - \brief Standalone version of the NSVfitAlgorithm. - - This class is a standalone version of the NSVfitAlgorithm to perform the full reconstruction of a di-tau resonance system. The - implementation is supposed to deal with any combination of leptonic or hadronic tau decays. It exploits likelihood functions - as defined in interface/LikelihoodFunctions.h of this package, which are combined into a single likelihood function as defined - interface/NSVfitStandaloneLikelihood.h in this package. The combined likelihood function depends on the following variables: - - \var nunuMass : the invariant mass of the neutrino system for each decay branch (two parameters) - \var decayAngle : the decay angle in the restframe of each decay branch (two parameters) - \var visMass : the mass of the visible component of the di-tau system (two parameters) - - The actual fit parameters are: - - \var nunuMass : the invariant mass of the neutrino system for each decay branch (two parameters) - \var xFrac : the fraction of the visible energy on the energy of the tau lepton in the labframe (two parameters) - \var phi : the azimuthal angle of the tau lepton (two parameters) - - In the fit mode. The azimuthal angle of each tau lepton is not constraint by measurement. It is limited to the physical values - from -Math::Phi to Math::Phi in the likelihood function of the combined likelihood class. The parameter nunuMass is constraint - to the tau lepton mass minus the mass of the visible part of the decay (which is itself constraint to values below the tau - lepton mass) in the setup function of this class. The parameter xFrac is constraint to values between 0. and 1. in the setup - function of this class. The invariant mass of the neutrino system is fixed to be zero for hadronic tau lepton decays as only - one (tau-) neutrino is involved in the decay. The original number of free parameters of 6 is therefore reduced by one for each - hadronic tau decay within the resonance. All information about the negative log likelihood is stored in the NSVfitStandaloneLikelihood - class as defined in the same package. This class interfaces the combined likelihood to the ROOT::Math::Minuit minimization program. - It does setup/initialize the fit parameters as defined in interface/NSVfitStandaloneLikelihood.h in this package, initializes the - minimization procedure, executes the fit algorithm and returns the fit result. The fit result consists of the fully reconstructed - di-tau system, from which also the invariant mass can be derived. - - In the integration mode xFrac for the second leptons is determiend from xFrac of the first lepton for given di-tau mass, thus reducing - the number of parameters to be integrated out wrt. to the fit version by one. The di-tau mass is scanned for the highest likelihood - starting from the visible mass of the two leptons. The return value is just the di-tau mass. - - Common usage is: - - // construct the class object from the minimal necessary information - NSVfitStandaloneAlgorithm algo(measuredTauLeptons, measuredMET, covMET); - // apply customized configurations if wanted (examples are given below) - //algo.maxObjFunctionCalls(10000); // only applies for fit mode - //algo.addLogM(false); // applies for fit and integration mode - //algo.metPower(0.5); // only applies for fit mode - // run the fit in fit mode - algo.fit(); - // retrieve the results upon success - if(algo.isValidSolution()){ - std::cout << algo.mass(); - } - // run the integration in integration mode - algo.integrate(); - std::cout << algo.mass(); - - The following optional parameters can be applied after initialization but before running the fit in fit mode: - - \var metPower : indicating an additional power to enhance the MET likelihood (default is 1.) - \var addLogM : specifying whether to use the LogM penalty term or not (default is true) - \var maxObjFunctionCalls : the maximum of function calls before the minimization procedure is terminated (default is 5000) -*/ -class NSVfitStandaloneAlgorithm -{ - public: - /// constructor from a minimal set of configurables - NSVfitStandaloneAlgorithm(std::vector measuredTauLeptons, Vector measuredMET, const TMatrixD& covMET, unsigned int verbosity = 0); - /// destructor - ~NSVfitStandaloneAlgorithm(); - - /// add an additional logM(tau,tau) term to the nll to suppress tails on M(tau,tau) (default is true) - void addLogM(bool value) { nll_->addLogM(value); } - /// modify the MET term in the nll by an additional power (default is 1.) - void metPower(double value) { nll_->metPower(value); } - /// maximum function calls after which to stop the minimization procedure (default is 5000) - void maxObjFunctionCalls(double value) { maxObjFunctionCalls_ = value; } - - /// fit to be called from outside - void fit(); - /// integration by VEGAS (kept for legacy) - void integrate() { return integrateVEGAS(); } - /// integration by VEGAS to be called from outside - void integrateVEGAS(); - /// integration by Markov Chain MC to be called from outside - void integrateMarkovChain(); - - /// return status of minuit fit - /* - 0: Valid solution - 1: Covariance matrix was made positive definite - 2: Hesse matrix is invalid - 3: Estimated distance to minimum (EDM) is above maximum - 4: Reached maximum number of function calls before reaching convergence - 5: Any other failure - */ - int fitStatus() { return fitStatus_; }; - /// return whether this is a valid solution or not - bool isValidSolution() { return (nllStatus_ == 0 && fitStatus_ <= 0); }; - /// return whether this is a valid solution or not - bool isValidFit() { return fitStatus_ == 0; }; - /// return whether this is a valid solution or not - bool isValidNLL() { return nllStatus_ == 0; }; - /// return mass of the di-tau system - double mass() const { return mass_; }; - /// return uncertainty on the mass of the fitted di-tau system - double massUncert() const { return massUncert_; }; - /// return mass of the di-tau system (kept for legacy) - double getMass() const {return mass();}; - - /// return pt, eta, phi values and their uncertainties - /* - NOTE: these values are computed only in case in the - markov chain integration method. For any other - method 0. will be returned. - */ - /// return pt of the di-tau system - double pt() const { return pt_; } - /// return pt uncertainty of the di-tau system - double ptUncert() const { return ptUncert_; } - /// return eta of the di-tau system - double eta() const { return eta_; } - /// return eta uncertainty of the di-tau system - double etaUncert() const { return etaUncert_; } - /// return phi of the di-tau system - double phi() const { return phi_; } - /// return phi uncertainty of the di-tau system - double phiUncert() const { return phiUncert_; } - /// return 4-vectors of the fitted tau leptons - std::vector fittedTauLeptons() const { return fittedTauLeptons_; } - /// return 4-vectors of measured tau leptons - std::vector measuredTauLeptons() const; - /// return 4-vector of the fitted di-tau system - LorentzVector fittedDiTauSystem() const { return fittedDiTauSystem_; } - /// return 4-vector of the measured di-tau system - LorentzVector measuredDiTauSystem() const { return measuredTauLeptons()[0] + measuredTauLeptons()[1]; } - /// return spacial vector of the fitted MET - Vector fittedMET() const { return (fittedDiTauSystem().Vect() - measuredDiTauSystem().Vect()); } - // return spacial vector of the measured MET - Vector measuredMET() const { return nll_->measuredMET(); } - - private: - /// setup the starting values for the minimization (default values for the fit parameters are taken from src/SVFitParameters.cc in the same package) - void setup(); - - private: - /// return whether this is a valid solution or not - int fitStatus_; - /// return whether this is a valid solution or not - unsigned int nllStatus_; - /// verbosity level - unsigned int verbosity_; - /// stop minimization after a maximal number of function calls - unsigned int maxObjFunctionCalls_; - - /// minuit instance - ROOT::Math::Minimizer* minimizer_; - /// standalone combined likelihood - NSVfitStandalone::NSVfitStandaloneLikelihood* nll_; - /// needed to make the fit function callable from within minuit - NSVfitStandalone::ObjectiveFunctionAdapter standaloneObjectiveFunctionAdapter_; - - double mass_; - /// uncertainty of the fitted di-tau mass - double massUncert_; - /// fit result for each of the decay branches - std::vector fittedTauLeptons_; - /// fitted di-tau system - NSVfitStandalone::LorentzVector fittedDiTauSystem_; - - /// needed for markov chain integration - NSVfitStandalone::MCObjectiveFunctionAdapter* mcObjectiveFunctionAdapter_; - NSVfitStandalone::MCPtEtaPhiMassAdapter* mcPtEtaPhiMassAdapter_; - MarkovChainIntegrator* integrator2_; - int integrator2_nDim_; - bool isInitialized2_; - unsigned maxObjFunctionCalls2_; - /// pt of di-tau system - double pt_; - /// pt uncertainty of di-tau system - double ptUncert_; - /// eta of di-tau system - double eta_; - /// eta uncertainty of di-tau system - double etaUncert_; - /// phi of di-tau system - double phi_; - /// phi uncertainty of di-tau system - double phiUncert_; -}; - -inline -std::vector -NSVfitStandaloneAlgorithm::measuredTauLeptons() const -{ - std::vector measuredTauLeptons; - measuredTauLeptons.push_back(nll_->measuredTauLeptons()[0].p4()); - measuredTauLeptons.push_back(nll_->measuredTauLeptons()[1].p4()); - return measuredTauLeptons; -} - -#endif diff --git a/TauAnalysis/CandidateTools/interface/NSVfitStandaloneLikelihood.h b/TauAnalysis/CandidateTools/interface/NSVfitStandaloneLikelihood.h deleted file mode 100644 index b2991f3c8d88..000000000000 --- a/TauAnalysis/CandidateTools/interface/NSVfitStandaloneLikelihood.h +++ /dev/null @@ -1,215 +0,0 @@ -#ifndef TauAnalysis_CandidateTools_NSVfitStandaloneLikelihood_h -#define TauAnalysis_CandidateTools_NSVfitStandaloneLikelihood_h - -#include - -#include "TMath.h" -#include "TMatrixD.h" -#include "Math/Minimizer.h" - -#include "DataFormats/Math/interface/Vector3D.h" -#include "DataFormats/Math/interface/LorentzVector.h" - - -namespace NSVfitStandalone{ - /** - \typedef NSVfitStandalone::Vector - \brief spacial momentum vector (equivalent to reco::Candidate::Vector) - */ - typedef math::XYZVector Vector; - /** - \typedef NSVfitStandalone::LorentzVector - \brief lorentz vector (equivalent to reco::Candidate::LorentzVector) - */ - typedef math::XYZTLorentzVector LorentzVector; - /** - \enum NSVfitStandalone::kDecayType - \brief enumeration of all tau decay types - */ - enum kDecayType { - kHadDecay, /* < hadronic tau lepton decay */ - kLepDecay /* < leptonic tau lepton decay */ - }; - /** - \enum NSVfitStandalone::kFitParams - \brief enumeration of all parameters used by the NSVfitAlgorithm to reconstruct the di-tau system - */ - enum kFitParams { - kXFrac, /* < relative fraction of the visible energy on the total energy of the tau lepton */ - kMNuNu, /* < invariant mass of the neutrino system */ - kPhi, /* < phi angle of the tau lepton (this is parameter is not constraint by measurement) */ - kMaxFitParams /* < maximum number of fit parameters per resonance decay branch */ - }; - /** - \enum NSVfitStandalone::kNLLParams - \brief enumeration of all parameters used to construct the combined likelihood including the logM term - */ - enum kNLLParams { - kNuNuMass1, /* < mass of the neutrino system for the first decay branch */ - kVisMass1, /* < mass of the visible parts of the first tau decay branch */ - kDecayAngle1, /* < decay angle for the first decay branch (in restframe of the tau lepton decay) */ - kNuNuMass2, /* < mass of the neutrino system for the second decay branch */ - kVisMass2, /* < mass of the visible parts of the second tau decay branch */ - kDecayAngle2, /* < decay angle for the second decay branch (in restframe of the tau lepton decay) */ - kDMETx, /* < difference between the sum of the fitted neutrino px and px of the MET */ - kDMETy, /* < difference between the sum of the fitted neutrino py and py of the MET */ - kMTauTau, /* < invariant mass of the fitted di-tau system (used for the logM penalty term) */ - kMaxNLLParams /* < max number of parameters used for for the combined likelihood */ - }; - /** - \class MeasuredTauLepton NSVfitStandaloneLikelihood.h "TauAnalysis/CandidateTools/interface/NSVfitStandaloneLikelihood.h" - - \brief Helper class to simplify the configuration of the NSVfitStandaloneLikelihood class. - - This is a helper class to facilitate the configuration of the NSVfitStandaloneLikelihood class. It keeps the spacial momentum - energy and information about the type of tau lepton decay. All information is stored in the lab-frame. A few getter functions - facilitate access to the information. - */ - class MeasuredTauLepton - { - public: - /// constructor from the measured quantities per decay branch - MeasuredTauLepton(kDecayType type, LorentzVector p4) : decayType_(type), p4_(p4) {}; - /// default destructor - ~MeasuredTauLepton(){}; - - /// return px of the measured tau lepton in labframe - double px() const { return p4_.px(); }; - /// return py of the measured tau lepton in labframe - double py() const { return p4_.py(); }; - /// return visible mass in labframe - double mass() const { return p4_.mass(); }; - /// return visible energy in labframe - double energy() const { return p4_.energy(); }; - /// return visible momenumt in labframe - double momentum() const { return p4_.P(); }; - /// return decay type of the reconstructed tau lepton - unsigned int decayType() const { return decayType_; }; - /// return the spacial momentum vector in the labframe - Vector p() const { return p4_.Vect(); }; - /// return the lorentz vector in the labframe - LorentzVector p4() const { return p4_; }; - /// return the direction of the visible - Vector direction() const { return p4_.Vect().unit(); }; - - private: - /// decay type - kDecayType decayType_; - /// visible momentum in labframe - LorentzVector p4_; - }; - - /** - \class NSVfitStandaloneLikelihood NSVfitStandaloneLikelihood.h "TauAnalysis/CandidateTools/interface/NSVfitStandaloneLikelihood.h" - - \brief Negative log likelihood for a resonance decay into two tau leptons that may themselves decay hadronically or leptonically - - Negative log likelihood for a resonance decay into two tau leptons that may themselves decay hadronically or leptonically - Depending on the configuration during object creation it will be a combination of MET, TauToHad, TauToLep and additional - penalty terms, e.g. to suppress tails in m(tau,tau) (logM). Configurables during creation time are: - - \var measuredTauLeptons : the vector of the two reconstructed tau leptons - \var measuredMET : the spacial vector of the measured MET - \var covMET : the covariance matrix of the MET (as determined from the MEt significance for instance) - \verbose : indicating the verbosity level - - In fit mode additional optional values may be set before the fit is performed. During construction the class is initialized with - default values as indicated in braces (below): - - \var metPower : indicating an additional power to enhance the MET likelihood (default is 1.) - \var addLogM : specifying whether to use the LogM penalty term or not (default is true) - - A typical way to obtain the covariance matrix of the MET is to follow the MET significance algorithm as provided by RecoMET. - The NSVfitStandaloneLikelihood class is for internal use only. The general use calse is to access it from the class - NSVfitStandaloneAlgorithm as defined in interface/NSVfitStandaloneAlgorithm.h in the same package. The NSVfitLikelihood class - keeps all necessary information to calculate the combined likelihood but does not perform any fit nor integration. It is - interfaced to the ROOT minuit minimization package or to the VEGAS integration packages via the global function pointer - gNSVfitStandaloneLikelihood as defined in src/NSVfitStandaloneLikelihood.cc in the same package. - */ - class NSVfitStandaloneLikelihood { - public: - /// error codes that can be read out by NSVfitAlgorithm - enum ErrorCodes { - None = 0x00000000, - MatrixInversion = 0x00000001, - LeptonNumber = 0x00000010 - }; - /// constructor with a minimla set of configurables - NSVfitStandaloneLikelihood(std::vector measuredTauLeptons, Vector measuredMET, const TMatrixD& covMET, bool verbose); - /// default destructor - ~NSVfitStandaloneLikelihood() {}; - /// static pointer to this (needed for the minuit function calls) - static const NSVfitStandaloneLikelihood* gNSVfitStandaloneLikelihood; - - /// add an additional logM(tau,tau) term to the nll to suppress tails on M(tau,tau) (default is true) - void addLogM(bool value) { addLogM_ = value; } - /// add derrivative of delta-function - /// WARNING: to be used when SVfit is run in "integration" mode only - void addDelta(bool value) { addDelta_ = value; } - /// add sin(theta) term to likelihood for tau lepton decays - void addPhiPenalty(bool value) { addPhiPenalty_ = value; } - /// WARNING: to be used when SVfit is run in "fit" mode only - void addSinTheta(bool value) { addSinTheta_ = value; } - /// add a penalty term in case phi runs outside of interval - /// modify the MET term in the nll by an additional power (default is 1.) - void metPower(double value) { metPower_=value; }; - - /// fit function to be called from outside. Has to be const to be usable by minuit. This function will call the actual - /// functions transform and prob internally - double prob(const double* x) const; - /// same as above but for integration mode. - double probint(const double* x, const double mtt, const int par) const; - /// read out potential likelihood errors - unsigned error() const { return errorCode_; }; - - /// return vector of measured MET - Vector measuredMET() const { return measuredMET_; }; - /// return vector of measured tau leptons - std::vector measuredTauLeptons() const { return measuredTauLeptons_; }; - /// return vector of fitted tau leptons, which will be the actual fit result. This function is a subset of transform. - /// It needs to be factored out though as transform has to be const to be usable by minuit and therefore is not allowed - /// change the class members. - void results(std::vector& fittedTauLeptons, const double* x) const; - - private: - /// transformation from x to xPrime, x are the actual fit parameters, xPrime are the transformed parameters that go into - /// the prob function. Has to be const to be usable by minuit. - const double* transform(double* xPrime, const double* x) const; - /// same as above but for integration mode. This function provides the mapping of integration parameters. - const double* transformint(double* xPrime, const double* x, const double mtt, const int par) const; - /// combined likelihood function. The same function os called for fit and integratino mode. Has to be const to be usable - /// by minuit/VEGAS/MarkovChain. The additional boolean phiPenalty is added to prevent singularities at the +/-pi boundaries - /// of kPhi within the fit parameters (kFitParams). It is only used in fit mode. In integration mode the passed on value - /// is always 0. - double prob(const double* xPrime, double phiPenalty) const; - - private: - /// additional power to enhance MET term in the nll (default is 1.) - double metPower_; - /// add a logM penalty term in the nll - bool addLogM_; - /// delta-function derrivative - bool addDelta_; - /// sin(theta) term in the nll - bool addSinTheta_; - /// add a penalty term in case phi runs outside of interval [-pi,+pi] - bool addPhiPenalty_; - /// verbosity level - bool verbose_; - /// monitor the number of function calls - mutable unsigned int idxObjFunctionCall_; - - /// measured tau leptons - std::vector measuredTauLeptons_; - /// measured MET - Vector measuredMET_; - /// transfer matrix for MET in (inverse covariance matrix) - TMatrixD invCovMET_; - /// determinant of the covariance matrix of MET - double covDet_; - /// error code that can be passed on - unsigned int errorCode_; - }; -} - -#endif diff --git a/TauAnalysis/CandidateTools/interface/generalAuxFunctions.h b/TauAnalysis/CandidateTools/interface/generalAuxFunctions.h deleted file mode 100644 index d157a475fe66..000000000000 --- a/TauAnalysis/CandidateTools/interface/generalAuxFunctions.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef TauAnalysis_DQMTools_generalAuxFunctions_h -#define TauAnalysis_DQMTools_generalAuxFunctions_h - -#include "FWCore/ParameterSet/interface/ParameterSet.h" -#include "FWCore/Utilities/interface/InputTag.h" - -#include -#include - -std::string replace_string(const std::string&, const std::string&, const std::string&, unsigned, unsigned, int&); - -std::string format_vstring(const std::vector&); -std::string format_vdouble(const std::vector&); -std::string format_vfloat(const std::vector&); -std::string format_vint(const std::vector&); -std::string format_vunsigned(const std::vector&); -std::string format_vbool(const std::vector&); -std::string format_vInputTag(const std::vector&); - -template -void readCfgParameter(const edm::ParameterSet& cfgParSet, std::map& def) -{ - std::vector cfgParNames = cfgParSet.getParameterNamesForType(); - for ( std::vector::const_iterator cfgParName = cfgParNames.begin(); - cfgParName != cfgParNames.end(); ++cfgParName ) { - edm::ParameterSet cfgParDef = cfgParSet.getParameter(*cfgParName); - - def.insert(std::pair(*cfgParName, T(*cfgParName, cfgParDef))); - } -} - -template -void copyCfgParameter(const edm::ParameterSet& cfgParSet_source, const std::string& cfgParName_source, - edm::ParameterSet& cfgParSet_target, std::string cfgParName_target = "") -{ - if ( cfgParName_target == "" ) cfgParName_target = cfgParName_source; - const T& cfgParValue = cfgParSet_source.getParameter(cfgParName_source); - cfgParSet_target.addParameter(cfgParName_target, cfgParValue); -} - -#endif diff --git a/TauAnalysis/CandidateTools/interface/svFitAuxFunctions.h b/TauAnalysis/CandidateTools/interface/svFitAuxFunctions.h deleted file mode 100644 index a5854504054d..000000000000 --- a/TauAnalysis/CandidateTools/interface/svFitAuxFunctions.h +++ /dev/null @@ -1,134 +0,0 @@ -#ifndef TauAnalysis_CandidateTools_svFitAuxFunctions_h -#define TauAnalysis_CandidateTools_svFitAuxFunctions_h - -#include "RecoVertex/VertexPrimitives/interface/TransientVertex.h" -#include "DataFormats/GeometryVector/interface/GlobalPoint.h" -#include "DataFormats/GeometryCommonDetAlgo/interface/GlobalError.h" - -#include "DataFormats/PatCandidates/interface/Electron.h" -#include "DataFormats/PatCandidates/interface/Muon.h" -#include "DataFormats/PatCandidates/interface/Tau.h" -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/JetReco/interface/GenJet.h" - -#include - -namespace SVfit_namespace -{ - //----------------------------------------------------------------------------- - // define masses, widths and lifetimes of particles - // relevant for computing values of likelihood functions in SVfit algorithm - // - // NOTE: the values are taken from - // K. Nakamura et al. (Particle Data Group), - // J. Phys. G 37, 075021 (2010) - // - const double electronMass = 0.51100e-3; // GeV - const double electronMass2 = electronMass*electronMass; - const double muonMass = 0.10566; // GeV - const double muonMass2 = muonMass*muonMass; - - const double chargedPionMass = 0.13957; // GeV - const double chargedPionMass2 = chargedPionMass*chargedPionMass; - const double neutralPionMass = 0.13498; // GeV - const double neutralPionMass2 = neutralPionMass*neutralPionMass; - - const double rhoMesonMass = 0.77549; // GeV - const double rhoMesonMass2 = rhoMesonMass*rhoMesonMass; - const double rhoMesonWidth = 0.1491; // GeV - - const double a1MesonMass = 1.230; // GeV - const double a1MesonMass2 = a1MesonMass*a1MesonMass; - const double a1MesonWidth = 0.600; // GeV (upper limit of range quoted for width of a1 meson resonance in PDG summary tables) - - const double tauLeptonMass = 1.77685; // GeV - const double tauLeptonMass2 = tauLeptonMass*tauLeptonMass; - const double tauLeptonMass3 = tauLeptonMass2*tauLeptonMass; - const double tauLeptonMass4 = tauLeptonMass3*tauLeptonMass; - const double cTauLifetime = 8.711e-3; // centimeters - - const double mZ = 91.188; // GeV - const double gammaZ = 2.495; // GeV - - const double alphaZ = 1./128.9; // fine-structure constant @ Z0 mass - - const double sinTheta_weinberg2 = 0.231; - const double sinTheta_weinberg = TMath::Sqrt(sinTheta_weinberg2); - const double cosTheta_weinberg = TMath::Sqrt(1. - sinTheta_weinberg2); - const double qTau = -1.; - //const double vTau = (-1. + 4.*sinTheta_weinberg2)/(4.*sinTheta_weinberg*cosTheta_weinberg); // -0.044 - //const double aTau = -1./(4.*sinTheta_weinberg*cosTheta_weinberg); // -0.593 - const double qUp = +2./3; - //const double vUp = (1. - (8./3)*sinTheta_weinberg2)/(4.*sinTheta_weinberg*cosTheta_weinberg); // 0.227 - //const double aUp = 1./(4.*sinTheta_weinberg*cosTheta_weinberg); // 0.593 - const double qDown = -1./3; - //const double vDown = (-1. + (4./3)*sinTheta_weinberg2)/(4.*sinTheta_weinberg*cosTheta_weinberg); // -0.410 - //const double aDown = -1./(4.*sinTheta_weinberg*cosTheta_weinberg); // -0.593 - //----------------------------------------------------------------------------- - - inline double square(double x) - { - return x*x; - } - - inline double cube(double x) - { - return x*x*x; - } - - inline double fourth(double x) - { - return x*x*x*x; - } - - inline double fifth(double x) - { - return x*x*x*x*x; - } - - /// Boost a lorentz vector given in the laboratory frame into the rest frame of another lorentz vector. - reco::Candidate::LorentzVector boostToCOM(const reco::Candidate::LorentzVector&, const reco::Candidate::LorentzVector&); - - /// Boost a lorentz vector given in the rest frame of another lorentz vector to the laboratory frame. - reco::Candidate::LorentzVector boostToLab(const reco::Candidate::LorentzVector&, const reco::Candidate::LorentzVector&); - - inline double energyFromMomentum(double momentum, double mass) { - return TMath::Sqrt(square(mass) + square(momentum)); - } - - /// Determine Gottfried-Jackson angle from visible energy fraction X - double gjAngleFromX(double, double, double, double, double); - - /// Determine visible tau rest frame energy given visible mass and neutrino mass - double pVisRestFrame(double, double, double); - - /// Convert the Gottfried-Jackson angle into a lab frame opening angle - double gjAngleToLabFrame(double, double, double); - - /// Determine the tau momentum in the lab frame given the rest frame assumptions - double motherMomentumLabFrame(double, double, double, double, double); - - /// Determine the tau direction given our parameterization - reco::Candidate::Vector motherDirection(const reco::Candidate::Vector&, double, double); - - /// Compute the tau four vector given the tau direction and momentum - reco::Candidate::LorentzVector motherP4(const reco::Candidate::Vector&, double, double); - - /// Compute decay angles in rest frame given momentum of tau lepton and visible decay product in lab frame - double gjAngleFromLabMomenta(const reco::Candidate::LorentzVector&, const reco::Candidate::LorentzVector&); - reco::Candidate::Vector normalize(const reco::Candidate::Vector&); - double compScalarProduct(const reco::Candidate::Vector&, const reco::Candidate::Vector&); - reco::Candidate::Vector compCrossProduct(const reco::Candidate::Vector&, const reco::Candidate::Vector&); - double phiLabFromLabMomenta(const reco::Candidate::LorentzVector&, const reco::Candidate::LorentzVector&); - - void printVector(const std::string&, const AlgebraicVector3&); - void printMatrix(const std::string&, const AlgebraicMatrix33&); - - /// Compute logarithm of Gaussian probability density function - double logGaussian(double, double); - - /// Extract maximum, mean and { 0.84, 0.50, 0.16 } quantiles of distribution - void extractHistogramProperties(const TH1*, const TH1*, double&, double&, double&, double&, double&, double&); -} - -#endif diff --git a/TauAnalysis/CandidateTools/src/LikelihoodFunctions.cc b/TauAnalysis/CandidateTools/src/LikelihoodFunctions.cc deleted file mode 100644 index c4de8ef09ff6..000000000000 --- a/TauAnalysis/CandidateTools/src/LikelihoodFunctions.cc +++ /dev/null @@ -1,67 +0,0 @@ -#include - -#include "TMath.h" - -#include "TauAnalysis/CandidateTools/interface/svFitAuxFunctions.h" -#include "TauAnalysis/CandidateTools/interface/LikelihoodFunctions.h" - -using namespace SVfit_namespace; - -double -probMET(double dMETX, double dMETY, double covDet, const TMatrixD& covInv, double power, bool verbose) -{ - double nll = 0.; - if( covDet != 0. ){ - nll = TMath::Log(2*TMath::Pi()) + 0.5*TMath::Log(TMath::Abs(covDet)) - + 0.5*(dMETX*(covInv(0,0)*dMETX + covInv(0,1)*dMETY) + dMETY*(covInv(1,0)*dMETX + covInv(1,1)*dMETY)); - } else { - nll = std::numeric_limits::max(); - } - double prob = TMath::Exp(-power*nll); - if ( verbose ) { - std::cout << " >> [single likelihhod term probMET] prob = " << prob << " (power = " << power << ")" << std::endl; - } - return prob; -} - -double -probTauToLepPhaseSpace(double decayAngle, double nunuMass, double visMass, double x, bool applySinTheta, bool verbose) -{ - double nuMass2 = nunuMass*nunuMass; - // protect against rounding errors that may lead to negative masses - if ( nunuMass < 0. ) nunuMass = 0.; - double prob = 0.; - if ( nunuMass < TMath::Sqrt((1. - x)*tauLeptonMass2) ) { // LB: physical solution - prob = (13./tauLeptonMass4)*(tauLeptonMass2 - nuMass2)*(tauLeptonMass2 + 2.*nuMass2)*nunuMass; - } else { - double nuMass_limit = TMath::Sqrt((1. - x)*tauLeptonMass2); - double nuMass2_limit = nuMass_limit*nuMass_limit; - prob = (13./tauLeptonMass4)*(tauLeptonMass2 - nuMass2_limit)*(tauLeptonMass2 + 2.*nuMass2_limit)*nuMass_limit; - prob /= (1. + 1.e+6*TMath::Power(nunuMass - nuMass_limit, 2)); - } - if ( applySinTheta ) prob *= (0.5*TMath::Sin(decayAngle)); - if ( verbose ) { - std::cout << " >> [single likelihood term probTauToLep] prob = " << prob << std::endl; - } - return prob; -} - -double -probTauToHadPhaseSpace(double decayAngle, double nunuMass, double visMass, double x, bool applySinTheta, bool verbose) -{ - double Pvis_rf = SVfit_namespace::pVisRestFrame(visMass, nunuMass, SVfit_namespace::tauLeptonMass); - double visMass2 = visMass*visMass; - double prob = tauLeptonMass/(2.*Pvis_rf); - if ( x < (visMass2/tauLeptonMass2) ) { - double x_limit = visMass2/tauLeptonMass2; - prob /= (1. + 1.e+6*TMath::Power(x - x_limit, 2)); - } else if ( x > 1. ) { - double visEnFracX_limit = 1.; - prob /= (1. + 1.e+6*TMath::Power(x - visEnFracX_limit, 2)); - } - if ( applySinTheta ) prob *= (0.5*TMath::Sin(decayAngle)); - if ( verbose ) { - std::cout << " >> [single likelihood term probTauToHad] prob = " << prob << std::endl; - } - return prob; -} diff --git a/TauAnalysis/CandidateTools/src/MarkovChainIntegrator.cc b/TauAnalysis/CandidateTools/src/MarkovChainIntegrator.cc deleted file mode 100644 index dccc13fdd1b8..000000000000 --- a/TauAnalysis/CandidateTools/src/MarkovChainIntegrator.cc +++ /dev/null @@ -1,741 +0,0 @@ -#include "TauAnalysis/CandidateTools/interface/MarkovChainIntegrator.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "FWCore/Utilities/interface/Exception.h" - -#include "TauAnalysis/CandidateTools/interface/generalAuxFunctions.h" - -#include - -#include -#include -#include - -enum { kMetropolis, kHybrid }; - -enum { kUniform, kGaus, kNone }; - -double square(double x) -{ - return x*x; -} - -MarkovChainIntegrator::MarkovChainIntegrator(const edm::ParameterSet& cfg) - : name_(""), - integrand_(0), - startPosition_and_MomentumFinder_(0), - x_(0), - numIntegrationCalls_(0), - numMovesTotal_accepted_(0), - numMovesTotal_rejected_(0), - monitorFile_(0), - monitorTree_(0) -{ - //std::cout << ":" << std::endl; - - if ( cfg.exists("name") ) - name_ = cfg.getParameter("name"); - //std::cout << " name = " << name_ << std::endl; - - std::string moveMode_string = cfg.getParameter("mode"); - if ( moveMode_string == "Metropolis" ) moveMode_ = kMetropolis; - else if ( moveMode_string == "Hybrid" ) moveMode_ = kHybrid; - else throw cms::Exception("MarkovChainIntegrator") - << "Invalid Configuration Parameter 'mode' = " << moveMode_string << "," - << " expected to be either \"Metropolis\" or \"Hybrid\" !!\n"; - - std::string initMode_string = cfg.getParameter("initMode"); - if ( initMode_string == "uniform" ) initMode_ = kUniform; - else if ( initMode_string == "Gaus" ) initMode_ = kGaus; - else if ( initMode_string == "none" ) initMode_ = kNone; - else throw cms::Exception("MarkovChainIntegrator") - << "Invalid Configuration Parameter 'initMode' = " << initMode_string << "," - << " expected to be either \"uniform\", \"Gaus\" or \"none\" !!\n"; - -//--- get parameters defining number of "stochastic moves" performed per integration - numIterBurnin_ = cfg.getParameter("numIterBurnin"); - numIterSampling_ = cfg.getParameter("numIterSampling"); - -//--- get parameters defining maximum number of attempts to find a valid starting-position for the Markov Chain - maxCallsStartingPos_ = ( cfg.exists("maxCallsStartingPos") ) ? - cfg.getParameter("maxCallsStartingPos") : 1000000; - -//--- get parameters defining "simulated annealing" stage at beginning of integration - numIterSimAnnealingPhase1_ = cfg.getParameter("numIterSimAnnealingPhase1"); - numIterSimAnnealingPhase2_ = cfg.getParameter("numIterSimAnnealingPhase2"); - numIterSimAnnealingPhase1plus2_ = numIterSimAnnealingPhase1_ + numIterSimAnnealingPhase2_; - if ( numIterSimAnnealingPhase1plus2_ > numIterBurnin_ ) - throw cms::Exception("MarkovChainIntegrator") - << "Invalid Configuration Parameters 'numIterSimAnnealingPhase1' = " << numIterSimAnnealingPhase1_ << "," - << " 'numIterSimAnnealingPhase2' = " << numIterSimAnnealingPhase2_ << "," - << " sim. Annealing and Sampling stages must not overlap !!\n"; - T0_ = cfg.getParameter("T0"); - sqrtT0_ = TMath::Sqrt(T0_); - alpha_ = cfg.getParameter("alpha"); - if ( !(alpha_ > 0. && alpha_ < 1.) ) - throw cms::Exception("MarkovChainIntegrator") - << "Invalid Configuration Parameter 'alpha' = " << alpha_ << "," - << " value within interval ]0..1[ expected !!\n"; - alpha2_ = square(alpha_); - -//--- get parameter specifying how many Markov Chains are run in parallel - numChains_ = cfg.getParameter("numChains"); - if ( numChains_ == 0 ) - throw cms::Exception("MarkovChainIntegrator") - << "Invalid Configuration Parameter 'numChains' = " << numChains_ << "," - << " value greater 0 expected !!\n"; - - numBatches_ = cfg.getParameter("numBatches"); - if ( numBatches_ == 0 ) - throw cms::Exception("MarkovChainIntegrator") - << "Invalid Configuration Parameter 'numBatches' = " << numBatches_ << "," - << " value greater 0 expected !!\n"; - if ( (numIterSampling_ % numBatches_) != 0 ) - throw cms::Exception("MarkovChainIntegrator") - << "Invalid Configuration Parameter 'numBatches' = " << numBatches_ << "," - << " factor of numIterSampling = " << numIterSampling_ << " expected !!\n"; - -//--- get parameters specific to "dynamic moves" - L_ = cfg.getParameter("L"); - if ( cfg.existsAs("epsilon0") ) { - epsilon0_ = cfg.getParameter("epsilon0"); - useVariableEpsilon0_ = false; - } else if ( cfg.existsAs("epsilon0") ) { - epsilon0s_ = cfg.getParameter("epsilon0"); - useVariableEpsilon0_ = true; - } else throw cms::Exception("MarkovChainIntegrator") - << "Configuration Parameter 'epsilon0' undefined !!\n"; - nu_ = cfg.getParameter("nu"); - - verbosity_ = ( cfg.exists("verbosity") ) ? - cfg.getParameter("verbosity") : 0; - //std::cout << " verbosity = " << verbosity_ << std::endl; -} - -MarkovChainIntegrator::~MarkovChainIntegrator() -{ - if ( verbosity_ >= 0 ) { - std::cout << ":" << std::endl; - std::cout << " name = " << name_ << std::endl; - std::cout << " integration calls = " << numIntegrationCalls_ << std::endl; - std::cout << " moves: accepted = " << numMovesTotal_accepted_ << ", rejected = " << numMovesTotal_rejected_ - << " (fraction = " << (double)numMovesTotal_accepted_/(numMovesTotal_accepted_ + numMovesTotal_rejected_)*100. - << "%)" << std::endl; - } - - delete [] x_; - - delete monitorTree_; - delete monitorFile_; -} - -void MarkovChainIntegrator::setIntegrand(const ROOT::Math::Functor& integrand) -{ - integrand_ = &integrand; - numDimensions_ = integrand.NDim(); - - delete [] x_; - x_ = new double[numDimensions_]; - - xMin_.resize(numDimensions_); - xMax_.resize(numDimensions_); - - dqDerr_.resize(numDimensions_); - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - dqDerr_[iDimension] = 1.e-6; - } - - if ( useVariableEpsilon0_ ) { - if ( epsilon0s_.size() != numDimensions_ ) - throw cms::Exception("MarkovChainIntegrator::setIntegrand") - << "Mismatch in dimensionality between integrand = " << numDimensions_ - << " and Configuration Parameter 'epsilon0' = " << epsilon0s_.size() << " !!\n"; - } else { - epsilon0s_.resize(numDimensions_); - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - epsilon0s_[iDimension] = epsilon0_; - } - } - - p_.resize(2*numDimensions_); // first N entries = "significant" components, last N entries = "dummy" components - q_.resize(numDimensions_); // "potential energy" E(q) depends in the first N "significant" components only - gradE_.resize(numDimensions_); - prob_ = 0.; - - u_.resize(2*numDimensions_); // first N entries = "significant" components, last N entries = "dummy" components - pProposal_.resize(numDimensions_); - qProposal_.resize(numDimensions_); - - probSum_.resize(numChains_*numBatches_); - for ( vdouble::iterator probSum_i = probSum_.begin(); - probSum_i != probSum_.end(); ++probSum_i ) { - (*probSum_i) = 0.; - } - integral_.resize(numChains_*numBatches_); -} - -void MarkovChainIntegrator::setStartPosition_and_MomentumFinder(const ROOT::Math::Functor& startPosition_and_MomentumFinder) -{ - startPosition_and_MomentumFinder_ = &startPosition_and_MomentumFinder; -} - -void MarkovChainIntegrator::registerCallBackFunction(const ROOT::Math::Functor& function) -{ - callBackFunctions_.push_back(&function); -} - -void MarkovChainIntegrator::setF(const ROOT::Math::Functor& f, const std::string& branchName) -{ - extraMonitorBranches_.push_back(monitorElementType(&f, branchName)); -} - -void MarkovChainIntegrator::integrate(const std::vector& xMin, const std::vector& xMax, - double& integral, double& integralErr, int& errorFlag, - const std::string& monitorFileName) -{ - if ( verbosity_ >= 2 ) { - std::cout << ":" << std::endl; - std::cout << " name = " << name_ << std::endl; - std::cout << " numDimensions = " << numDimensions_ << std::endl; - } - - if ( monitorFileName != "" ) openMonitorFile(monitorFileName); - - if ( !integrand_ ) - throw cms::Exception("MarkovChainIntegrator::integrate") - << "No integrand function has been set yet !!\n"; - - if ( !(xMin.size() == numDimensions_ && xMax.size() == numDimensions_) ) - throw cms::Exception("MarkovChainIntegrator::integrate") - << "Mismatch in dimensionality between integrand = " << numDimensions_ - << " and integration limits = " << xMin.size() << "/" << xMax.size() << " !!\n"; - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - xMin_[iDimension] = xMin[iDimension]; - xMax_[iDimension] = xMax[iDimension]; - if ( verbosity_ >= 2 ) { - std::cout << "dimension #" << iDimension << ": min = " << xMin_[iDimension] << ", max = " << xMax_[iDimension] << std::endl; - } - } - -//--- CV: set random number generator used to initialize starting-position -// for each integration, in order to make integration results independent of processing history - rnd_.SetSeed(12345); - - numMoves_accepted_ = 0; - numMoves_rejected_ = 0; - - unsigned k = numChains_*numBatches_; - unsigned m = numIterSampling_/numBatches_; - - numChainsRun_ = 0; - - for ( unsigned iChain = 0; iChain < numChains_; ++iChain ) { - bool isValidStartPos = false; - if ( initMode_ == kNone ) { - prob_ = evalProb(q_); - if ( prob_ > 0. ) { - bool isWithinBounds = true; - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - double q_i = q_[iDimension]; - if ( !(q_i > 0. && q_i < 1.) ) isWithinBounds = false; - } - if ( isWithinBounds ) { - isValidStartPos = true; - } else { - edm::LogWarning ("MarkovChainIntegrator::integrate") - << "Requested start-position = " << format_vdouble(q_) << " not within interval ]0..1[ --> searching for valid alternative !!"; - } - } else { - edm::LogWarning ("MarkovChainIntegrator::integrate") - << "Requested start-position = " << format_vdouble(q_) << " returned probability zero --> searching for valid alternative !!"; - } - } - unsigned iTry = 0; - while ( !isValidStartPos && iTry < maxCallsStartingPos_ ) { - initializeStartPosition_and_Momentum(); -//--- CV: check if start-position is within "valid" (physically allowed) region - bool isWithinPhysicalRegion = true; - if ( startPosition_and_MomentumFinder_ ) { - updateX(q_); - isWithinPhysicalRegion = ((*startPosition_and_MomentumFinder_)(x_) > 0.5); - } - if ( isWithinPhysicalRegion ) { - prob_ = evalProb(q_); - if ( prob_ > 0. ) { - isValidStartPos = true; - } else { - if ( iTry > 0 && (iTry % 100000) == 0 ) { - if ( iTry == 100000 ) std::cout << ":" << std::endl; - std::cout << "try #" << iTry << ": did not find valid start-position yet." << std::endl; - //std::cout << "(q = " << format_vdouble(q_) << ", prob = " << prob_ << ")" << std::endl; - } - } - } - ++iTry; - } - if ( !isValidStartPos ) continue; - - for ( unsigned iMove = 0; iMove < numIterBurnin_; ++iMove ) { -//--- propose Markov Chain transition to new, randomly chosen, point - if ( verbosity_ >= 2 ) std::cout << "burn-in move #" << iMove << ":" << std::endl; - bool isAccepted = false; - bool isValid = true; - do { - makeStochasticMove(iMove, isAccepted, isValid); - } while ( !isValid ); - } - - unsigned idxBatch = iChain*numBatches_; - - for ( unsigned iMove = 0; iMove < numIterSampling_; ++iMove ) { -//--- propose Markov Chain transition to new, randomly chosen, point; -// evaluate "call-back" functions at this point - if ( verbosity_ >= 2 ) std::cout << "sampling move #" << iMove << ":" << std::endl; - bool isAccepted = false; - bool isValid = true; - do { - makeStochasticMove(numIterBurnin_ + iMove, isAccepted, isValid); - } while ( !isValid ); - if ( isAccepted ) { - ++numMoves_accepted_; - } else { - ++numMoves_rejected_; - } - - updateX(q_); - for ( std::vector::const_iterator callBackFunction = callBackFunctions_.begin(); - callBackFunction != callBackFunctions_.end(); ++callBackFunction ) { - (**callBackFunction)(x_); - } - - if ( iMove > 0 && (iMove % m) == 0 ) ++idxBatch; - probSum_[idxBatch] += prob_; - - if ( monitorFile_ ) updateMonitorFile(); - } - - ++numChainsRun_; - } - - for ( unsigned idxBatch = 0; idxBatch < probSum_.size(); ++idxBatch ) { - integral_[idxBatch] = probSum_[idxBatch]/m; - //if ( verbosity_ >= 1 ) std::cout << "integral[" << idxBatch << "] = " << integral_[idxBatch] << std::endl; - } - - //if ( verbosity_ >= 1 ) print(std::cout); - -//--- compute integral value and uncertainty -// (eqs. (6.39) and (6.40) in [1]) - integral = 0.; - for ( unsigned i = 0; i < k; ++i ) { - integral += integral_[i]; - } - integral /= k; - - integralErr = 0.; - for ( unsigned i = 0; i < k; ++i ) { - integralErr += square(integral_[i] - integral); - } - if ( k >= 2 ) integralErr /= (k*(k - 1)); - integralErr = TMath::Sqrt(integralErr); - - //if ( verbosity_ >= 1 ) std::cout << "--> returning integral = " << integral << " +/- " << integralErr << std::endl; - - errorFlag = ( numChainsRun_ >= 0.5*numChains_ ) ? - 0 : 1; - - ++numIntegrationCalls_; - numMovesTotal_accepted_ += numMoves_accepted_; - numMovesTotal_rejected_ += numMoves_rejected_; - - if ( monitorFile_ ) closeMonitorFile(); -} - -void MarkovChainIntegrator::print(std::ostream& stream) const -{ - stream << ":" << std::endl; - for ( unsigned iChain = 0; iChain < numChains_; ++iChain ) { - double integral = 0.; - for ( unsigned iBatch = 0; iBatch < numBatches_; ++iBatch ) { - double integral_i = integral_[iChain*numBatches_ + iBatch]; - //std::cout << "batch #" << iBatch << ": integral = " << integral_i << std::endl; - integral += integral_i; - } - integral /= numBatches_; - //std::cout << " = " << integral << std::endl; - - double integralErr = 0.; - for ( unsigned iBatch = 0; iBatch < numBatches_; ++iBatch ) { - double integral_i = integral_[iChain*numBatches_ + iBatch]; - integralErr += square(integral_i - integral); - } - if ( numBatches_ >= 2 ) integralErr /= (numBatches_*(numBatches_ - 1)); - integralErr = TMath::Sqrt(integralErr); - - std::cout << " chain #" << iChain << ": integral = " << integral << " +/- " << integralErr << std::endl; - } - std::cout << "moves: accepted = " << numMoves_accepted_ << ", rejected = " << numMoves_rejected_ - << " (fraction = " << (double)numMoves_accepted_/(numMoves_accepted_ + numMoves_rejected_)*100. - << "%)" << std::endl; -} - -// -//------------------------------------------------------------------------------- -// - -void MarkovChainIntegrator::initializeStartPosition_and_Momentum(const std::vector& q) -{ -//--- set start position of Markov Chain in N-dimensional space to given values - if ( q.size() == numDimensions_ ) { - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - double q_i = q[iDimension]; - if ( q_i > 0. && q_i < 1. ) { - q_[iDimension] = q_i; - } else { - throw cms::Exception("MarkovChainIntegrator") - << "Invalid start-position coordinates = " << format_vdouble(q) << " !!\n"; - } - } - } else { - throw cms::Exception("MarkovChainIntegrator") - << "Mismatch in dimensionality between integrand = " << numDimensions_ - << " and vector of start-position coordinates = " << q.size() << " !!\n"; - } -} - -void MarkovChainIntegrator::initializeStartPosition_and_Momentum() -{ -//--- randomly choose start position of Markov Chain in N-dimensional space - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - bool isInitialized = false; - while ( !isInitialized ) { - double q0 = 0.; - if ( initMode_ == kGaus ) q0 = rnd_.Gaus(0.5, 0.5); - else q0 = rnd_.Uniform(0., 1.); - if ( q0 > 0. && q0 < 1. ) { - q_[iDimension] = q0; - isInitialized = true; - } - } - } - - if ( verbosity_ >= 1 ) { - std::cout << ":" << std::endl; - std::cout << " q = " << format_vdouble(q_) << std::endl; - } -} - -void MarkovChainIntegrator::sampleSphericallyRandom() -{ -//--- compute vector of unit length -// pointing in random direction in N-dimensional space -// -// NOTE: the algorithm implemented in this function -// uses the fact that a N-dimensional Gaussian is spherically symmetric -// (u is uniformly distributed over the surface of an N-dimensional hypersphere) -// - double uMag2 = 0.; - for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { - double u_i = rnd_.Gaus(0., 1.); - u_[iDimension] = u_i; - uMag2 += (u_i*u_i); - } - double uMag = TMath::Sqrt(uMag2); - for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { - u_[iDimension] /= uMag; - } -} - -void MarkovChainIntegrator::makeStochasticMove(unsigned idxMove, bool& isAccepted, bool& isValid) -{ -//--- perform "stochastic" move -// (eq. 24 in [2]) - if ( verbosity_ >= 2 ) { - std::cout << ":" << std::endl; - std::cout << " idx = " << idxMove << std::endl; - std::cout << " q = " << format_vdouble(q_) << std::endl; - std::cout << " prob = " << prob_ << std::endl; - //std::cout << " Ks = " << evalK(p_, 0, numDimensions_) << std::endl; - } - //if ( (idxMove % 1000) == 0 ) std::cout << "computing move #" << idxMove << "..." << std::endl; - -//--- perform random updates of momentum components - if ( idxMove < numIterSimAnnealingPhase1_ ) { - //std::cout << "case 1" << std::endl; - for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { - p_[iDimension] = sqrtT0_*rnd_.Gaus(0., 1.); - } - } else if ( idxMove < numIterSimAnnealingPhase1plus2_ ) { - //std::cout << "case 2" << std::endl; - double pMag2 = 0.; - for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { - double p_i = p_[iDimension]; - pMag2 += p_i*p_i; - } - double pMag = TMath::Sqrt(pMag2); - sampleSphericallyRandom(); - for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { - p_[iDimension] = alpha_*pMag*u_[iDimension] + (1. - alpha2_)*rnd_.Gaus(0., 1.); - } - } else { - //std::cout << "case 3" << std::endl; - for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { - p_[iDimension] = rnd_.Gaus(0., 1.); - } - } - - if ( verbosity_ >= 2 ) { - std::cout << "p(updated) = " << format_vdouble(p_) << std::endl; - //std::cout << " Ks = " << evalK(p_, 0, numDimensions_) << std::endl; - //std::cout << " Kd = " << evalK(p_, numDimensions_, 2*numDimensions_) << std::endl; - } - -//--- choose random step size - double exp_nu_times_C = 0.; - do { - double C = rnd_.BreitWigner(0., 1.); - exp_nu_times_C = TMath::Exp(nu_*C); - } while ( TMath::IsNaN(exp_nu_times_C) || !TMath::Finite(exp_nu_times_C) || exp_nu_times_C > 1.e+6 ); - vdouble epsilon(numDimensions_); - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - epsilon[iDimension] = epsilon0s_[iDimension]*exp_nu_times_C; - } - if ( verbosity_ >= 2 ) std::cout << "epsilon = " << format_vdouble(epsilon) << std::endl; - - if ( moveMode_ == kMetropolis ) { // Metropolis algorithm: move according to eq. (27) in [2] -//--- update position components -// by single step of chosen size in direction of the momentum components - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - qProposal_[iDimension] = q_[iDimension] + epsilon[iDimension]*p_[iDimension]; - } - } else if ( moveMode_ == kHybrid ) { // Hybrid algorithm: move according to eqs. (20)-(23) in [2] -//--- initialize position components - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - qProposal_[iDimension] = q_[iDimension]; - } -//--- evolve momentum and position components -// according to discretized Hamiltonian mechanics - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - pProposal_[iDimension] = p_[iDimension]; - } - makeDynamicMoves(epsilon); - } else assert(0); - - if ( verbosity_ >= 2 ) std::cout << "q(proposed) = " << format_vdouble(qProposal_) << std::endl; - -//--- ensure that proposed new point is within integration region -// (take integration region to be "cyclic") - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - double q_i = qProposal_[iDimension]; - q_i = q_i - TMath::Floor(q_i); - assert(q_i >= 0. && q_i <= 1.); - qProposal_[iDimension] = q_i; - } - -//--- check if proposed move of Markov Chain to new position is accepted or not: -// compute change in phase-space volume for "dummy" momentum components -// (eqs. 25 in [2]) - double probProposal = evalProb(qProposal_); - if ( verbosity_ >= 2 ) std::cout << "prob(proposed) = " << probProposal << std::endl; - - double deltaE = 0.; - if ( probProposal > 0. && prob_ > 0. ) deltaE = -TMath::Log(probProposal/prob_); - else if ( probProposal > 0. ) deltaE = -std::numeric_limits::max(); - else if ( prob_ > 0. ) deltaE = +std::numeric_limits::max(); - else assert(0); - //if ( verbosity_ >= 1 ) std::cout << " deltaE = " << deltaE << std::endl; - - double deltaE_or_H = deltaE; - if ( moveMode_ == kHybrid ) { - double Ks = evalK(p_, 0, numDimensions_); - double KsProposal = evalK(pProposal_, 0, numDimensions_); - deltaE_or_H += (KsProposal - Ks); - //if ( verbosity_ >= 1 ) std::cout << " deltaH = " << deltaE_or_H << std::endl; - } - - double Kd = evalK(p_, numDimensions_, 2*numDimensions_); - //if ( verbosity_ >= 1 ) std::cout << " Kd = " << Kd << std::endl; - double base = 1. - deltaE_or_H/Kd; - double rho = ( base > 0. ) ? - TMath::Power(base, 0.5*numDimensions_ - 1.) : 0.; - if ( verbosity_ >= 2 ) std::cout << " rho = " << rho << std::endl; - - double u = rnd_.Uniform(0., 1.); - if ( verbosity_ >= 2 ) std::cout << "u = " << u << std::endl; - if ( u < rho ) { - if ( verbosity_ >= 2 ) std::cout << "move accepted." << std::endl; - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - q_[iDimension] = qProposal_[iDimension]; - } - if ( moveMode_ == kHybrid ) { - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - p_[iDimension] = pProposal_[iDimension]; - } - } - prob_ = evalProb(q_); - isAccepted = true; - } else { - if ( verbosity_ >= 2 ) std::cout << "move rejected." << std::endl; - isAccepted = false; - } -} - -void MarkovChainIntegrator::makeDynamicMoves(const std::vector& epsilon) -{ -//--- perform "dynamical move" -// (execute series of L "leap-frog" steps, eqs. 20-23 in [2]) - for ( unsigned iLeapFrogStep = 0; iLeapFrogStep < L_; ++iLeapFrogStep ) { - //if ( verbosity_ >= 1 ) std::cout << "leap-frog step #" << iLeapFrogStep << ":" << std::endl; - updateGradE(qProposal_); - //if ( verbosity_ >= 1 ) std::cout << " gradE = " << format_vdouble(gradE_) << std::endl; - double step_p = ( iLeapFrogStep == 0 ) ? - 0.5 : 1.0; - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - pProposal_[iDimension] -= step_p*epsilon[iDimension]*gradE_[iDimension]; - qProposal_[iDimension] += epsilon[iDimension]*pProposal_[iDimension]; - } - //if ( verbosity_ >= 1 ) { - // std::cout << " p(" << (iLeapFrogStep + 0.5) << ") = " << format_vdouble(pProposal_) << std::endl; - // std::cout << " q(" << (iLeapFrogStep + 1) << ") = " << format_vdouble(qProposal_) << std::endl; - // std::cout << "(prob = " << evalProb(qProposal_) << ", E = " << evalE(qProposal_) << "," - // << " Ks = " << evalK(pProposal_, 0, numDimensions_) << "," - // << " E + Ks = " << (evalE(qProposal_) + evalK(pProposal_, 0, numDimensions_)) << ")" << std::endl; - //} - } - updateGradE(qProposal_); - //if ( verbosity_ >= 1 ) std::cout << " gradE = " << format_vdouble(gradE_) << std::endl; - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - pProposal_[iDimension] -= 0.5*epsilon[iDimension]*gradE_[iDimension]; - } - //if ( verbosity_ >= 1 ) { - // std::cout << " p(" << L_ << ") = " << format_vdouble(pProposal_) << std::endl; - // std::cout << "(prob = " << evalProb(qProposal_) << ", E = " << evalE(qProposal_) << "," - // << " Ks = " << evalK(pProposal_, 0, numDimensions_) << "," - // << " E + Ks = " << (evalE(qProposal_) + evalK(pProposal_, 0, numDimensions_)) << ")" << std::endl; - //} -} - -void MarkovChainIntegrator::updateX(const std::vector& q) -{ - //std::cout << ":" << std::endl; - //std::cout << " q = " << format_vdouble(q) << std::endl; - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - double q_i = q[iDimension]; - x_[iDimension] = (1. - q_i)*xMin_[iDimension] + q_i*xMax_[iDimension]; - //std::cout << " x[" << iDimension << "] = " << x_[iDimension] << " "; - //std::cout << "(xMin[" << iDimension << "] = " << xMin_[iDimension] << "," - // << " xMax[" << iDimension << "] = " << xMax_[iDimension] << ")"; - //std::cout << std::endl; - } -} - -double MarkovChainIntegrator::evalProb(const std::vector& q) -{ - updateX(q); - double prob = (*integrand_)(x_); - return prob; -} - -double MarkovChainIntegrator::evalE(const std::vector& q) -{ - double prob = evalProb(q); - double E = -TMath::Log(prob); - return E; -} - -double MarkovChainIntegrator::evalK(const std::vector& p, unsigned idxFirst, unsigned idxLast) -{ -//--- compute "kinetic energy" -// (of either the "significant" or "dummy" momentum components) - assert(idxLast <= p.size()); - double K = 0.; - for ( unsigned iDimension = idxFirst; iDimension < idxLast; ++iDimension ) { - double p_i = p[iDimension]; - K += (p_i*p_i); - } - K *= 0.5; - return K; -} - -void MarkovChainIntegrator::updateGradE(std::vector& q) -{ -//--- numerically compute gradient of "potential energy" E = -log(P(q)) at point q - //if ( verbosity_ >= 1 ) { - // std::cout << ":" << std::endl; - // std::cout << " q(1) = " << format_vdouble(q) << std::endl; - //} - - double prob_q = evalProb(q); - //if ( verbosity_ >= 1 ) std::cout << " prob(q) = " << prob_q << std::endl; - - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - double q_i = q[iDimension]; - double dqDerr_i = dqDerr_[iDimension]; - double dq = ( (q_i + dqDerr_i) < 1. ) ? +dqDerr_i : -dqDerr_i; - double q_plus_dq = q_i + dq; - q[iDimension] = q_plus_dq; - double prob_q_plus_dq = evalProb(q); - double gradE_i = -(prob_q_plus_dq - prob_q)/dq; - if ( prob_q > 0. ) gradE_i /= prob_q; - gradE_[iDimension] = gradE_i; - q[iDimension] = q_i; - } - - //if ( verbosity_ >= 1 ) { - // std::cout << " q(2) = " << format_vdouble(q) << std::endl; - // std::cout << "--> gradE = " << format_vdouble(gradE_) << std::endl; - //} -} - - -// -//------------------------------------------------------------------------------- -// - -void MarkovChainIntegrator::openMonitorFile(const std::string& monitorFileName) -{ - monitorFile_ = new TFile(monitorFileName.data(), "RECREATE"); - - monitorTree_ = new TTree("monitorTree", "Markov Chain transitions"); - - branchValues_.resize(numDimensions_ + 1); - - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - std::string branchName = Form("x%u", iDimension); - std::string branchName_and_option = Form("%s/F", branchName.data()); - monitorTree_->Branch(branchName.data(), &branchValues_[iDimension], branchName_and_option.data()); - } - - for ( std::vector::iterator extraMonitorBranch = extraMonitorBranches_.begin(); - extraMonitorBranch != extraMonitorBranches_.end(); ++extraMonitorBranch ) { - monitorTree_->Branch(extraMonitorBranch->branchName_.data(), &extraMonitorBranch->branchValue_, Form("%s/F", extraMonitorBranch->branchName_.data())); - } -} - -void MarkovChainIntegrator::updateMonitorFile() -{ - for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { - double x_i = x_[iDimension]; - branchValues_[iDimension] = x_i; - } - - for ( std::vector::iterator extraMonitorBranch = extraMonitorBranches_.begin(); - extraMonitorBranch != extraMonitorBranches_.end(); ++extraMonitorBranch ) { - extraMonitorBranch->branchValue_ = (*extraMonitorBranch->f_)(x_); - } - - monitorTree_->Fill(); -} - -void MarkovChainIntegrator::closeMonitorFile() -{ - monitorFile_->cd(); - - monitorTree_->Write(); - - delete monitorTree_; - monitorTree_ = 0; - - delete monitorFile_; - monitorFile_ = 0; -} diff --git a/TauAnalysis/CandidateTools/src/NSVfitStandaloneAlgorithm.cc b/TauAnalysis/CandidateTools/src/NSVfitStandaloneAlgorithm.cc deleted file mode 100644 index 11f343fd6acc..000000000000 --- a/TauAnalysis/CandidateTools/src/NSVfitStandaloneAlgorithm.cc +++ /dev/null @@ -1,415 +0,0 @@ -#include "Math/Factory.h" -#include "Math/Functor.h" -#include "Math/GSLMCIntegrator.h" - -#include "TauAnalysis/CandidateTools/interface/svFitAuxFunctions.h" -#include "TauAnalysis/CandidateTools/interface/NSVfitStandaloneAlgorithm.h" - -namespace NSVfitStandalone -{ - void map_x(const double* x, int nDim, double* x_mapped) - { - if(nDim == 4){ - x_mapped[kXFrac] = x[0]; - x_mapped[kMNuNu] = 0.; - x_mapped[kPhi] = x[1]; - x_mapped[kMaxFitParams + kXFrac] = x[2]; - x_mapped[kMaxFitParams + kMNuNu] = 0.; - x_mapped[kMaxFitParams + kPhi] = x[3]; - } else if(nDim == 5){ - x_mapped[kXFrac] = x[0]; - x_mapped[kMNuNu] = x[1]; - x_mapped[kPhi] = x[2]; - x_mapped[kMaxFitParams + kXFrac] = x[3]; - x_mapped[kMaxFitParams + kMNuNu] = 0.; - x_mapped[kMaxFitParams + kPhi] = x[4]; - } else if(nDim == 6){ - x_mapped[kXFrac] = x[0]; - x_mapped[kMNuNu] = x[1]; - x_mapped[kPhi] = x[2]; - x_mapped[kMaxFitParams + kXFrac] = x[3]; - x_mapped[kMaxFitParams + kMNuNu] = x[4]; - x_mapped[kMaxFitParams + kPhi] = x[5]; - } else assert(0); - //std::cout << ":" << std::endl; - //for ( int i = 0; i < 6; ++i ) { - // std::cout << " x_mapped[" << i << "] = " << x_mapped[i] << std::endl; - //} - } -} - -NSVfitStandaloneAlgorithm::NSVfitStandaloneAlgorithm(std::vector measuredTauLeptons, NSVfitStandalone::Vector measuredMET , const TMatrixD& covMET, unsigned int verbosity) : - fitStatus_(-1), - verbosity_(verbosity), - maxObjFunctionCalls_(5000), - mcObjectiveFunctionAdapter_(0), - mcPtEtaPhiMassAdapter_(0), - integrator2_(0), - integrator2_nDim_(0), - isInitialized2_(false), - maxObjFunctionCalls2_(100000) -{ - // instantiate minuit, the arguments might turn into configurables once - minimizer_ = ROOT::Math::Factory::CreateMinimizer("Minuit2", "Migrad"); - // instantiate the combined likelihood - nll_ = new NSVfitStandalone::NSVfitStandaloneLikelihood(measuredTauLeptons, measuredMET, covMET, (verbosity_ > 2)); - nllStatus_ = nll_->error(); -} - -NSVfitStandaloneAlgorithm::~NSVfitStandaloneAlgorithm() -{ - delete nll_; - delete minimizer_; - delete mcObjectiveFunctionAdapter_; - delete mcPtEtaPhiMassAdapter_; - delete integrator2_; -} - -void -NSVfitStandaloneAlgorithm::setup() -{ - using namespace NSVfitStandalone; - - if(verbosity_>0){ - std::cout << "" << std::endl; - } - for(unsigned int idx=0; idxmeasuredTauLeptons().size(); ++idx){ - if(verbosity_>0){ - std::cout << " --> upper limit of leg1::mNuNu will be set to "; - if(nll_->measuredTauLeptons()[idx].decayType() == kHadDecay){ - std::cout << "0"; - } - else{ - std::cout << (SVfit_namespace::tauLeptonMass - TMath::Min(nll_->measuredTauLeptons()[idx].mass(), 1.5)); - } - std::cout << std::endl; - } - // start values for xFrac - minimizer_->SetLimitedVariable(idx*kMaxFitParams + kXFrac, std::string(TString::Format("leg%d::xFrac", idx + 1)).c_str(), 0.5, 0.1, 0., 1.); - // start values for nunuMass - if(nll_->measuredTauLeptons()[idx].decayType() == kHadDecay){ - minimizer_->SetFixedVariable(idx*kMaxFitParams + kMNuNu, std::string(TString::Format("leg%d::mNuNu", idx + 1)).c_str(), 0.); - } - else{ - minimizer_->SetLimitedVariable(idx*kMaxFitParams + kMNuNu, std::string(TString::Format("leg%d::mNuNu", idx + 1)).c_str(), 0.8, 0.10, 0., SVfit_namespace::tauLeptonMass - TMath::Min(nll_->measuredTauLeptons()[idx].mass(), 1.5)); - } - // start values for phi - minimizer_->SetVariable(idx*kMaxFitParams + kPhi, std::string(TString::Format("leg%d::phi", idx + 1)).c_str(), 0.0, 0.25); - } -} - -void -NSVfitStandaloneAlgorithm::fit() -{ - if(verbosity_>0){ - std::cout << "" << std::endl - << "--> dimension of fit : " << nll_->measuredTauLeptons().size()*NSVfitStandalone::kMaxFitParams << std::endl - << "--> maxObjFunctionCalls : " << maxObjFunctionCalls_ << std::endl; - } - // clear minimizer - minimizer_->Clear(); - // set verbosity level of minimizer - minimizer_->SetPrintLevel(-1); - // setup the function to be called and the dimension of the fit - ROOT::Math::Functor toMinimize(standaloneObjectiveFunctionAdapter_, nll_->measuredTauLeptons().size()*NSVfitStandalone::kMaxFitParams); - minimizer_->SetFunction(toMinimize); - setup(); - minimizer_->SetMaxFunctionCalls(maxObjFunctionCalls_); - // set Minuit strategy = 2, in order to get reliable error estimates: - // http://www-cdf.fnal.gov/physics/statistics/recommendations/minuit.html - minimizer_->SetStrategy(2); - // compute uncertainties for increase of objective function by 0.5 wrt. - // minimum (objective function is log-likelihood function) - minimizer_->SetErrorDef(0.5); - if(verbosity_>0){ - std::cout << "--> starting ROOT::Math::Minimizer::Minimize..." << std::endl; - std::cout << "--> #freeParameters = " << minimizer_->NFree() << "," - << "--> #constrainedParameters = " << (minimizer_->NDim() - minimizer_->NFree()) << std::endl; - } - // do the minimization - nll_->addDelta(false); - nll_->addSinTheta(true); - minimizer_->Minimize(); - if(verbosity_>1){ - minimizer_->PrintResults(); - }; - /* get Minimizer status code, check if solution is valid: - - 0: Valid solution - 1: Covariance matrix was made positive definite - 2: Hesse matrix is invalid - 3: Estimated distance to minimum (EDM) is above maximum - 4: Reached maximum number of function calls before reaching convergence - 5: Any other failure - */ - fitStatus_ = minimizer_->Status(); - if(verbosity_>0){ - std::cout << "--> fitStatus = " << fitStatus_ << std::endl; - } - - // and write out the result - using NSVfitStandalone::kXFrac; - using NSVfitStandalone::kMNuNu; - using NSVfitStandalone::kPhi; - using NSVfitStandalone::kMaxFitParams; - // update di-tau system with final fit results - nll_->results(fittedTauLeptons_, minimizer_->X()); - // determine uncertainty of the fitted di-tau mass - double x1RelErr = minimizer_->Errors()[kXFrac]/minimizer_->X()[kXFrac]; - double x2RelErr = minimizer_->Errors()[kMaxFitParams + kXFrac]/minimizer_->X()[kMaxFitParams + kXFrac]; - // this gives a unified treatment for retrieving the result for integration mode and fit mode - fittedDiTauSystem_ = fittedTauLeptons_[0] + fittedTauLeptons_[1]; - mass_ = fittedDiTauSystem().mass(); - massUncert_ = TMath::Sqrt(0.25*x1RelErr*x1RelErr + 0.25*x2RelErr*x2RelErr)*fittedDiTauSystem().mass(); - if(verbosity_>1){ - std::cout << ">> -------------------------------------------------------------" << std::endl; - std::cout << ">> Resonance Record: " << std::endl; - std::cout << ">> -------------------------------------------------------------" << std::endl; - std::cout << ">> pt (di-tau) = " << fittedDiTauSystem().pt () << std::endl; - std::cout << ">> eta (di-tau) = " << fittedDiTauSystem().eta () << std::endl; - std::cout << ">> phi (di-tau) = " << fittedDiTauSystem().phi () << std::endl; - std::cout << ">> mass(di-tau) = " << fittedDiTauSystem().mass() << std::endl; - std::cout << ">> massUncert = " << massUncert_ << std::endl - << " error[xFrac1] = " << minimizer_->Errors()[kXFrac] << std::endl - << " value[xFrac1] = " << minimizer_->X()[kXFrac] << std::endl - << " error[xFrac2] = " << minimizer_->Errors()[kMaxFitParams+kXFrac] << std::endl - << " value[xFrac2] = " << minimizer_->X()[kMaxFitParams+kXFrac] << std::endl; - for(unsigned int leg=0; leg<2; ++leg){ - std::cout << ">> -------------------------------------------------------------" << std::endl; - std::cout << ">> Leg " << leg+1 << " Record: " << std::endl; - std::cout << ">> -------------------------------------------------------------" << std::endl; - std::cout << ">> pt (meas) = " << nll_->measuredTauLeptons()[leg].p4().pt () << std::endl; - std::cout << ">> eta (meas) = " << nll_->measuredTauLeptons()[leg].p4().eta() << std::endl; - std::cout << ">> phi (meas) = " << nll_->measuredTauLeptons()[leg].p4().phi() << std::endl; - std::cout << ">> pt (fit ) = " << fittedTauLeptons()[leg].pt () << std::endl; - std::cout << ">> eta (fit ) = " << fittedTauLeptons()[leg].eta() << std::endl; - std::cout << ">> phi (fit ) = " << fittedTauLeptons()[leg].phi() << std::endl; - } - } -} - -void -NSVfitStandaloneAlgorithm::integrateVEGAS() -{ - using namespace NSVfitStandalone; - - if(verbosity_>0){ - std::cout << ":" << std::endl; - } - - double pi = 3.14159265; - // number of hadrponic decays - int khad = 0; - for(unsigned int idx=0; idxmeasuredTauLeptons().size(); ++idx){ - if(nll_->measuredTauLeptons()[idx].decayType() == kHadDecay){ - khad++; - } - } - // number of parameters for fit - int par = nll_->measuredTauLeptons().size()*NSVfitStandalone::kMaxFitParams - (khad + 1); - /* -------------------------------------------------------------------------------------- - lower and upper bounds for integration. Boundaries are deefined for each decay channel - separately. The order is: - - - 3dim : fully hadronic {xFrax, phihad1, phihad2} - - 4dim : semi leptonic {xFrac, nunuMass, philep, phihad} - - 5dim : fully leptonic {xFrac, nunuMass1, philep1, nunuMass2, philep2} - - xl* defines the lower integation bound, xu* defines the upper integration bound in - the following definitions. - ATTENTION: order matters here! In the semi-leptonic decay the lepton must go first in - the parametrization, as it is first in the definition of integral boundaries. This is - the reason why the measuredLeptons are eventually re-ordered in the constructor of - this class before passing them on to NSVfitStandaloneLikelihood. - */ - double xl3[3] = { 0.0, -pi, -pi }; - double xu3[3] = { 1.0, pi, pi }; - double xl4[4] = { 0.0, 0.0, -pi, -pi }; - double xu4[4] = { 1.0, SVfit_namespace::tauLeptonMass, pi, pi }; - double xl5[5] = { 0.0, 0.0, -pi, 0.0, -pi }; - double xu5[5] = { 1.0, SVfit_namespace::tauLeptonMass, pi, SVfit_namespace::tauLeptonMass, pi }; - - // integrator instance - //ROOT::Math::IntegratorMultiDim ig2(ROOT::Math::IntegrationMultiDim::kVEGAS, 1.e-12, 1.e-5); - ROOT::Math::GSLMCIntegrator ig2("vegas", 1.e-12, 1.e-5, 2000); - ROOT::Math::Functor toIntegrate(&standaloneObjectiveFunctionAdapter_, &ObjectiveFunctionAdapter::Eval, par); - standaloneObjectiveFunctionAdapter_.SetPar(par); - ig2.SetFunction(toIntegrate); - nll_->addDelta(true); - nll_->addSinTheta(false); - nll_->addPhiPenalty(false); - int count = 0; - double pMax = 0.; - double mtest = measuredDiTauSystem().mass(); - bool skiphighmasstail = false; - for(int i=0; i<100 && (!skiphighmasstail); ++i){ - standaloneObjectiveFunctionAdapter_.SetM(mtest); - double p = -1.; - if(par == 4){ - p = ig2.Integral(xl4, xu4); - } else if(par == 5){ - p = ig2.Integral(xl5, xu5); - } else if(par == 3){ - p = ig2.Integral(xl3, xu3); - } else{ - std::cout << " >> ERROR : the nubmer of measured leptons must be 2" << std::endl; - assert(0); - } - if(verbosity_>1){ - std::cout << "--> scan idx = " << i << " mtest = " << mtest << " p = " << p << " pmax = " << pMax << std::endl; - } - if(p>pMax){ - mass_ = mtest; - pMax = p; - count = 0; - } - else{ - if(p<(1.e-3*pMax)){ - ++count; - if(count>= 5){ - skiphighmasstail=true; - } - } - else { - count=0; - } - } - mtest += TMath::Max(2.5, 0.025*mtest); - } - if ( verbosity_ > 0 ) { - std::cout << "--> mass = " << mass_ << std::endl; - std::cout << "--> pmax = " << pMax << std::endl; - std::cout << "--> count = " << count << std::endl; - } -} - -void -NSVfitStandaloneAlgorithm::integrateMarkovChain() -{ - using namespace NSVfitStandalone; - - if(verbosity_>0){ - std::cout << ":" << std::endl; - } - if(isInitialized2_){ - mcPtEtaPhiMassAdapter_->Reset(); - } - else{ - // initialize - edm::ParameterSet cfg; - cfg.addParameter("mode", "Metropolis"); - cfg.addParameter("initMode", "none"); - cfg.addParameter("numIterBurnin", TMath::Nint(0.10*maxObjFunctionCalls2_)); - cfg.addParameter("numIterSampling", maxObjFunctionCalls2_); - cfg.addParameter("numIterSimAnnealingPhase1", TMath::Nint(0.02*maxObjFunctionCalls2_)); - cfg.addParameter("numIterSimAnnealingPhase2", TMath::Nint(0.06*maxObjFunctionCalls2_)); - cfg.addParameter("T0", 15.); - cfg.addParameter("alpha", 1.0 - 1.e+2/maxObjFunctionCalls2_); - cfg.addParameter("numChains", 1); - cfg.addParameter("numBatches", 1); - cfg.addParameter("L", 1); - cfg.addParameter("epsilon0", 1.e-2); - cfg.addParameter("nu", 0.71); - cfg.addParameter("name", "NSVfitStandaloneAlgorithm"); - cfg.addParameter("verbosity", -1); - //cfg.addParameter("verbosity", 2); - integrator2_ = new MarkovChainIntegrator(cfg); - mcObjectiveFunctionAdapter_ = new MCObjectiveFunctionAdapter(); - integrator2_->setIntegrand(*mcObjectiveFunctionAdapter_); - integrator2_nDim_ = 0; - mcPtEtaPhiMassAdapter_ = new MCPtEtaPhiMassAdapter(); - integrator2_->registerCallBackFunction(*mcPtEtaPhiMassAdapter_); - isInitialized2_= true; - } - - const double pi = 3.14159265; - // number of hadronic decays - int khad = 0; - for(unsigned int idx=0; idxmeasuredTauLeptons().size(); ++idx){ - if(nll_->measuredTauLeptons()[idx].decayType() == kHadDecay){ - ++khad; - } - } - // number of parameters for fit - int nDim = nll_->measuredTauLeptons().size()*NSVfitStandalone::kMaxFitParams - khad; - if(nDim != integrator2_nDim_){ - mcObjectiveFunctionAdapter_->SetNDim(nDim); - integrator2_->setIntegrand(*mcObjectiveFunctionAdapter_); - mcPtEtaPhiMassAdapter_->SetNDim(nDim); - integrator2_nDim_ = nDim; - } - /* -------------------------------------------------------------------------------------- - lower and upper bounds for integration. Boundaries are defined for each decay channel - separately. The order is: - - - 4dim : fully hadronic {xhad1, phihad1, xhad2, phihad2} - - 5dim : semi leptonic {xlep, nunuMass, philep, xhad, phihad} - - 6dim : fully leptonic {xlep1, nunuMass1, philep1, xlep2, nunuMass2, philep2} - - x0* defines the start value for the integration, xl* defines the lower integation bound, - xu* defines the upper integration bound in the following definitions. - ATTENTION: order matters here! In the semi-leptonic decay the lepton must go first in - the parametrization, as it is first in the definition of integral boundaries. This is - the reason why the measuredLeptons are eventually re-ordered in the constructor of - this class before passing them on to NSVfitStandaloneLikelihood. - */ - double x04[4] = { 0.5, 0.0, 0.5, 0.0 }; - double xl4[4] = { 0.0, -pi, 0.0, -pi }; - double xu4[4] = { 1.0, pi, 1.0, pi }; - double x05[5] = { 0.5, 0.8, 0.0, 0.5, 0.0 }; - double xl5[5] = { 0.0, 0.0, -pi, 0.0, -pi }; - double xu5[5] = { 1.0, SVfit_namespace::tauLeptonMass, pi, 1.0, pi }; - xu5[1] = SVfit_namespace::tauLeptonMass - TMath::Min(nll_->measuredTauLeptons()[0].mass(), 1.6); - double x06[6] = { 0.5, 0.8, 0.0, 0.5, 0.8, 0.0 }; - double xl6[6] = { 0.0, 0.0, -pi, 0.0, 0.0, -pi }; - double xu6[6] = { 1.0, SVfit_namespace::tauLeptonMass, pi, 1.0, SVfit_namespace::tauLeptonMass, pi }; - xu6[1] = SVfit_namespace::tauLeptonMass - TMath::Min(nll_->measuredTauLeptons()[0].mass(), 1.6); - xu6[4] = SVfit_namespace::tauLeptonMass - TMath::Min(nll_->measuredTauLeptons()[1].mass(), 1.6); - std::vector x0(nDim); - std::vector xl(nDim); - std::vector xu(nDim); - for(int i = 0; i < nDim; ++i){ - if(nDim == 4){ - x0[i] = x04[i]; - xl[i] = xl4[i]; - xu[i] = xu4[i]; - } else if(nDim == 5){ - x0[i] = x05[i]; - xl[i] = xl5[i]; - xu[i] = xu5[i]; - } else if(nDim == 6){ - x0[i] = x06[i]; - xl[i] = xl6[i]; - xu[i] = xu6[i]; - } else { - std::cout << " >> ERROR : the number of measured leptons must be 2" << std::endl; - assert(0); - } - // transform startPosition into interval ]0..1[ - // expected by MarkovChainIntegrator class - x0[i] = (x0[i] - xl[i])/(xu[i] - xl[i]); - //std::cout << "x0[" << i << "] = " << x0[i] << std::endl; - } - integrator2_->initializeStartPosition_and_Momentum(x0); - nll_->addDelta(false); - nll_->addSinTheta(false); - nll_->addPhiPenalty(false); - double integral = 0.; - double integralErr = 0.; - int errorFlag = 0; - //integrator2_->integrate(xl, xu, integral, integralErr, errorFlag, "/data1/veelken/tmp/svFitStudies/svFitStandalone/debugMarkovChain.root"); - integrator2_->integrate(xl, xu, integral, integralErr, errorFlag); - fitStatus_ = errorFlag; - pt_ = mcPtEtaPhiMassAdapter_->getPt(); - ptUncert_ = mcPtEtaPhiMassAdapter_->getPtUncert(); - eta_ = mcPtEtaPhiMassAdapter_->getEta(); - etaUncert_ = mcPtEtaPhiMassAdapter_->getEtaUncert(); - phi_ = mcPtEtaPhiMassAdapter_->getPhi(); - phiUncert_ = mcPtEtaPhiMassAdapter_->getPhiUncert(); - mass_ = mcPtEtaPhiMassAdapter_->getMass(); - massUncert_ = mcPtEtaPhiMassAdapter_->getMassUncert(); - fittedDiTauSystem_ = math::PtEtaPhiMLorentzVector(pt_, eta_, phi_, mass_); - if(verbosity_ > 0){ - std::cout << "--> Pt = " << pt_ << ", eta = " << eta_ << ", phi = " << phi_ << ", mass = " << mass_ << std::endl; - } -} diff --git a/TauAnalysis/CandidateTools/src/NSVfitStandaloneLikelihood.cc b/TauAnalysis/CandidateTools/src/NSVfitStandaloneLikelihood.cc deleted file mode 100644 index 5b344a2dd04d..000000000000 --- a/TauAnalysis/CandidateTools/src/NSVfitStandaloneLikelihood.cc +++ /dev/null @@ -1,392 +0,0 @@ -#include "TauAnalysis/CandidateTools/interface/svFitAuxFunctions.h" -#include "TauAnalysis/CandidateTools/interface/LikelihoodFunctions.h" -#include "TauAnalysis/CandidateTools/interface/NSVfitStandaloneLikelihood.h" - -using namespace NSVfitStandalone; -using namespace SVfit_namespace; - -/// global function pointer for minuit or VEGAS -const NSVfitStandaloneLikelihood* NSVfitStandaloneLikelihood::gNSVfitStandaloneLikelihood = 0; -/// indicate first iteration for integration or fit cycle for debugging -static bool FIRST = true; - -NSVfitStandaloneLikelihood::NSVfitStandaloneLikelihood(std::vector measuredTauLeptons, Vector measuredMET, const TMatrixD& covMET, bool verbose) : - metPower_(1.0), - addLogM_(false), - addDelta_(true), - addSinTheta_(false), - addPhiPenalty_(true), - verbose_(verbose), - idxObjFunctionCall_(0), - invCovMET_(2,2), - errorCode_(0) -{ - if(verbose_){ - std::cout << "" << std::endl; - } - measuredMET_ = measuredMET; - // for integration mode the order of lepton or tau matters due to the choice of order in which - // way the integration boundaries are defined. In this case the lepton should always go before - // the tau. For tau-tau or lep-lep the order is irrelevant. - if(measuredTauLeptons[0].decayType() == NSVfitStandalone::kHadDecay){ - measuredTauLeptons_.push_back(measuredTauLeptons[1]); - measuredTauLeptons_.push_back(measuredTauLeptons[0]); - } - else{ - measuredTauLeptons_= measuredTauLeptons; - } - if ( measuredTauLeptons_.size() != 2 ){ - std::cout << " >> ERROR : the numer of measured leptons must be 2 but is found to be: " << measuredTauLeptons_.size() << std::endl; - errorCode_ |= LeptonNumber; - } - // determine transfer matrix for MET - invCovMET_= covMET; - covDet_ = invCovMET_.Determinant(); - if(covDet_!=0){ - invCovMET_.Invert(); - } - else{ - std::cout << " >> ERROR: cannot invert MET covariance Matrix (det=0)." << std::endl; - errorCode_ |= MatrixInversion; - } - // set global function pointer to this - gNSVfitStandaloneLikelihood = this; -} - -const double* -NSVfitStandaloneLikelihood::transformint(double* xPrime, const double* x, const double mtest, const int par) const -{ - int ip = 0; - bool skipLOG = false; - LorentzVector fittedDiTauSystem; - double nunuMass, labframeXFrac, labframePhi; - // used for determination of xFrac for second lepton - double vmm = (measuredTauLeptons_[0].p4() + measuredTauLeptons_[1].p4()).mass(); - for(unsigned int idx=0; idx1.); - if(!skipLOG){ - std::cout << "Boundary Check: labframeXFrac[" << measuredTauLeptons_[idx].decayType() << "] -> " << ip << std::endl; - } - } - ++ip; - xPrime[kMaxNLLParams]=labframeXFrac; - } - else { - labframeXFrac = pow(vmm/mtest, 2)/x[0]; - if(labframeXFrac>1.){ - // return 0 pointer will lead to 0 evaluation of prob - return 0; - } - xPrime[kMaxNLLParams+1]=labframeXFrac; - } - if((par == 5 || par == 4)){ - if(measuredTauLeptons_[idx].decayType() == kLepDecay){ - nunuMass=x[ip]; // nunu inv mass (can be const 0 for had tau decays) - if(verbose_ && FIRST && !skipLOG){ - std::cout << "Boundary Check: nunuMass [" << measuredTauLeptons_[idx].decayType() << "] -> " << ip << std::endl; - } - ++ip; - labframePhi=x[ip]; // phi in labframe - if(verbose_ && FIRST && !skipLOG){ - std::cout << "Boundary Check: labframePhi [" << measuredTauLeptons_[idx].decayType() << "] -> " << ip << std::endl; - } - ++ip; - } - else{ - nunuMass=0.; - labframePhi=x[ip]; - if(verbose_ && FIRST && !skipLOG){ - std::cout << "Boundary Check: labframePhi [" << measuredTauLeptons_[idx].decayType() << "] -> " << ip << std::endl; - } - ++ip; - } - } - else{ - nunuMass=0.; - labframePhi=x[ip]; - if(verbose_ && FIRST && !skipLOG){ - std::cout << "Boundary Check: labframePhi [" << measuredTauLeptons_[idx].decayType() << "] -> " << ip << std::endl; - } - ++ip; - } - double labframeVisMom = measuredTauLeptons_[ idx ].momentum(); // visible momentum in lab-frame - double labframeVisEn = measuredTauLeptons_[ idx ].energy(); // visible energy in lab-frame - double visMass = measuredTauLeptons_[ idx ].mass(); // vis mass - // add protection against zero mass for visMass. If visMass is lower than the electron mass, set it - // to the electron mass - if(visMass<5.1e-4){ - visMass=5.1e-4; - } - // momentum of visible decay products in tau lepton restframe - double restframeVisMom = SVfit_namespace::pVisRestFrame(visMass, nunuMass, SVfit_namespace::tauLeptonMass); - // tau lepton decay angle in tau lepton restframe (as function of the energy ratio of visible decay products/tau lepton energy) - double restframeDecayAngle = SVfit_namespace::gjAngleFromX(labframeXFrac, visMass, restframeVisMom, labframeVisEn, SVfit_namespace::tauLeptonMass); - // tau lepton decay angle in labframe - double labframeDecayAngle = SVfit_namespace::gjAngleToLabFrame(restframeVisMom, restframeDecayAngle, labframeVisMom); - // tau lepton momentum in labframe - double labframeTauMom = SVfit_namespace::motherMomentumLabFrame(visMass, restframeVisMom, restframeDecayAngle, labframeVisMom, SVfit_namespace::tauLeptonMass); - Vector labframeTauDir = SVfit_namespace::motherDirection(measuredTauLeptons_[idx].direction(), labframeDecayAngle, labframePhi).unit(); - // tau lepton four vector in labframe - fittedDiTauSystem += SVfit_namespace::motherP4(labframeTauDir, labframeTauMom, SVfit_namespace::tauLeptonMass); - // fill branch-wise nll parameters - xPrime[ idx == 0 ? kNuNuMass1 : kNuNuMass2 ] = nunuMass; - xPrime[ idx == 0 ? kVisMass1 : kVisMass2 ] = visMass; - xPrime[ idx == 0 ? kDecayAngle1 : kDecayAngle2 ] = restframeDecayAngle; - } - /* - I believe that the following line contains a sign bug in the official version of SVfit: - http://cmssw.cvs.cern.ch/cgi-bin/cmssw.cgi/CMSSW/AnalysisDataFormats/TauAnalysis/interface/NSVfitEventHypothesis.h?revision=1.11&view=markup - reco::Candidate::LorentzVector dp4MEt_fitted() const { return (p4MEt_ - dp4_); } // should be + - - Reasoning: - from - reco::Candidate::LorentzVector p4_fitted() const { return (p4_ + dp4_); } - dp4_ should be the neutrino momentum --> the neutrino MET would by -dp4_ --> the residual of the measured MET and the fitted MET shyould be - p4MEt - fittedMEt = p4MEt + dp4_ - */ - // subtract the visible part from it. The remainder is the pure neutrino part. Minus the the remainder is the estimate of the fittedMET - //Vector fittedMET = -(fittedDiTauSystem.Vect() - (measuredTauLeptons_[0].p()+measuredTauLeptons_[1].p())); - Vector fittedMET = fittedDiTauSystem.Vect() - (measuredTauLeptons_[0].p() + measuredTauLeptons_[1].p()); - // fill event-wise nll parameters - xPrime[ kDMETx ] = measuredMET_.x() - fittedMET.x(); - xPrime[ kDMETy ] = measuredMET_.y() - fittedMET.y(); - xPrime[ kMTauTau ] = mtest; - - if(verbose_ && FIRST){ - std::cout << " >> input values for transformed variables: " << std::endl; - std::cout << " MET[x] = " << fittedMET.x() << " (fitted) " << measuredMET_.x() << " (measured) " << std::endl; - std::cout << " MET[y] = " << fittedMET.y() << " (fitted) " << measuredMET_.y() << " (measured) " << std::endl; - std::cout << " fittedDiTauSystem: [" - << " px = " << fittedDiTauSystem.px() - << " py = " << fittedDiTauSystem.py() - << " pz = " << fittedDiTauSystem.pz() - << " En = " << fittedDiTauSystem.energy() - << " ]" << std::endl; - std::cout << " >> nll parameters after transformation: " << std::endl; - std::cout << " x[kNuNuMass1 ] = " << xPrime[kNuNuMass1 ] << std::endl; - std::cout << " x[kVisMass1 ] = " << xPrime[kVisMass1 ] << std::endl; - std::cout << " x[kDecayAngle1] = " << xPrime[kDecayAngle1] << std::endl; - std::cout << " x[kNuNuMass2 ] = " << xPrime[kNuNuMass2 ] << std::endl; - std::cout << " x[kVisMass2 ] = " << xPrime[kVisMass2 ] << std::endl; - std::cout << " x[kDecayAngle2] = " << xPrime[kDecayAngle2] << std::endl; - std::cout << " x[kDMETx ] = " << xPrime[kDMETx ] << std::endl; - std::cout << " x[kDMETy ] = " << xPrime[kDMETy ] << std::endl; - std::cout << " x[kMTauTau ] = " << xPrime[kMTauTau ] << std::endl; - } - return xPrime; -} - -double -NSVfitStandaloneLikelihood::probint(const double* x, const double mtest, const int par) const -{ - // in case of initialization errors don't start to do anything - if(error()){ return 0.;} - double phiPenalty = 0.; - double xPrime[kMaxNLLParams+2]; - const double* xPrime_ptr = transformint(xPrime, x, mtest, par); - if(xPrime_ptr){ - return prob(xPrime_ptr, phiPenalty); - } - else{ - return 0.; - } -} - -const double* -NSVfitStandaloneLikelihood::transform(double* xPrime, const double* x) const -{ - if(verbose_){ - std::cout << "" << std::endl; - } - LorentzVector fittedDiTauSystem; - for(unsigned int idx=0; idx> input values for transformed variables: " << std::endl; - std::cout << " MET[x] = " << fittedMET.x() << " (fitted) " << measuredMET_.x() << " (measured) " << std::endl; - std::cout << " MET[y] = " << fittedMET.y() << " (fitted) " << measuredMET_.y() << " (measured) " << std::endl; - std::cout << " fittedDiTauSystem: [" - << " px = " << fittedDiTauSystem.px() - << " py = " << fittedDiTauSystem.py() - << " pz = " << fittedDiTauSystem.pz() - << " En = " << fittedDiTauSystem.energy() - << " ]" << std::endl; - std::cout << " >> nll parameters after transformation: " << std::endl; - std::cout << " x[kNuNuMass1 ] = " << xPrime[kNuNuMass1 ] << std::endl; - std::cout << " x[kVisMass1 ] = " << xPrime[kVisMass1 ] << std::endl; - std::cout << " x[kDecayAngle1] = " << xPrime[kDecayAngle1] << std::endl; - std::cout << " x[kNuNuMass2 ] = " << xPrime[kNuNuMass2 ] << std::endl; - std::cout << " x[kVisMass2 ] = " << xPrime[kVisMass2 ] << std::endl; - std::cout << " x[kDecayAngle2] = " << xPrime[kDecayAngle2] << std::endl; - std::cout << " x[kDMETx ] = " << xPrime[kDMETx ] << std::endl; - std::cout << " x[kDMETy ] = " << xPrime[kDMETy ] << std::endl; - std::cout << " x[kMTauTau ] = " << xPrime[kMTauTau ] << std::endl; - } - return xPrime; -} - -double -NSVfitStandaloneLikelihood::prob(const double* x) const -{ - // in case of initialization errors don't start to do anything - if(error()){ return 0.;} - if(verbose_){ - std::cout << "" << std::endl; - } - ++idxObjFunctionCall_; - if(verbose_ && FIRST){ - std::cout << " >> ixdObjFunctionCall : " << idxObjFunctionCall_ << std::endl; - std::cout << " >> fit parameters before transformation: " << std::endl; - std::cout << " x[kXFrac1] = " << x[ kXFrac] << std::endl; - std::cout << " x[kMNuNu1] = " << x[ kMNuNu] << std::endl; - std::cout << " x[kPhi1 ] = " << x[ kPhi ] << std::endl; - std::cout << " x[kXFrac2] = " << x[kMaxFitParams + kXFrac] << std::endl; - std::cout << " x[kMNuNu2] = " << x[kMaxFitParams + kMNuNu] << std::endl; - std::cout << " x[kPhi2 ] = " << x[kMaxFitParams + kPhi ] << std::endl; - } - // prevent kPhi in the fit parameters (kFitParams) from trespassing the - // +/-pi boundaries - double phiPenalty=0.; - if(addPhiPenalty_){ - for(unsigned int idx=0; idxTMath::Pi()){ - phiPenalty += (TMath::Abs(x[kPhi]) - TMath::Pi())*(TMath::Abs(x[kPhi]) - TMath::Pi()); - } - } - } - // xPrime are the transformed variables from which to construct the nll - // transform performs the transformation from the fit parameters x to the - // nll parameters xPrime. prob is the actual combined likelihood. The - // phiPenalty prevents the fit to converge to unphysical values beyond - // +/-phi - double xPrime[ kMaxNLLParams + 2 ]; - return prob(transform(xPrime, x), phiPenalty); -} - -double -NSVfitStandaloneLikelihood::prob(const double* xPrime, double phiPenalty) const -{ - if(verbose_&& FIRST){ - std::cout << " ..." << std::endl; - } - // start the combined likelihood construction from MET - double prob = probMET(xPrime[kDMETx], xPrime[kDMETy], covDet_, invCovMET_, metPower_, (verbose_&& FIRST)); - if(verbose_ && FIRST){ - std::cout << "probMET = " << prob << std::endl; - } - // add likelihoods for the decay branches - for(unsigned int idx=0; idx&, const double*)>" << std::endl; - } - for(unsigned int idx=0; idx - -std::string replace_string(const std::string& src, const std::string& keyword, const std::string& parameter, - unsigned minReplacements, unsigned maxReplacements, int& errorFlag) -{ - std::string modSrc = src; -//--- search for first occuremce of keyword in source string - std::string::size_type pos = modSrc.find(keyword); - - unsigned numReplacements = 0; - - while ( pos != std::string::npos ) { - modSrc.replace(pos, keyword.length(), parameter); - ++numReplacements; -//--- do not search keyword within parameter which has been replaced -// (in order to allow keyword to be present in parameter -// and void running into an infinite loop in that case) - pos += parameter.length(); - -//--- search for next occuremce of keyword in source string - pos = modSrc.find(keyword, pos); - } - if ( (numReplacements < minReplacements) || - (numReplacements > maxReplacements) ) { - edm::LogError ("replace_string") << " Failed to replace parameter = " << parameter << " in src = " << src << "," - << " numReplacements = " << numReplacements - << " (min = " << minReplacements << ", max = " << maxReplacements << ") !!"; - errorFlag = 1; - } - return modSrc; -} - -// -//----------------------------------------------------------------------------------------------------------------------- -// - -template -std::string format_vT(const std::vector& vT) -{ - std::ostringstream os; - - os << "{ "; - - unsigned numEntries = vT.size(); - for ( unsigned iEntry = 0; iEntry < numEntries; ++iEntry ) { - os << vT[iEntry]; - if ( iEntry < (numEntries - 1) ) os << ", "; - } - - os << " }"; - - return os.str(); -} - -std::string format_vstring(const std::vector& vs) -{ - return format_vT(vs); -} - -std::string format_vdouble(const std::vector& vd) -{ - return format_vT(vd); -} - -std::string format_vfloat(const std::vector& vf) -{ - return format_vT(vf); -} - -std::string format_vint(const std::vector& vi) -{ - return format_vT(vi); -} - -std::string format_vunsigned(const std::vector& vu) -{ - return format_vT(vu); -} - -std::string format_vbool(const std::vector& vb) -{ - return format_vT(vb); -} - -std::string format_vInputTag(const std::vector& vit) -{ - std::vector vit_string; - for ( std::vector::const_iterator vit_i = vit.begin(); - vit_i != vit.end(); ++vit_i ) { - vit_string.push_back(vit_i->label()); - } - return format_vT(vit_string); -} diff --git a/TauAnalysis/CandidateTools/src/svFitAuxFunctions.cc b/TauAnalysis/CandidateTools/src/svFitAuxFunctions.cc deleted file mode 100644 index 774dbcf824b1..000000000000 --- a/TauAnalysis/CandidateTools/src/svFitAuxFunctions.cc +++ /dev/null @@ -1,277 +0,0 @@ -#include "TauAnalysis/CandidateTools/interface/svFitAuxFunctions.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" - -#include "DataFormats/Candidate/interface/Candidate.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include "DataFormats/Math/interface/Vector3D.h" - -#include -#include - -#include - -namespace SVfit_namespace -{ - // Adapted for our vector types from TVector3 class - reco::Candidate::Vector rotateUz(const math::RThetaPhiVector& toRotate, const reco::Candidate::Vector& newUzVector) - { - // NB: newUzVector must be a unit vector ! - Double_t u1 = newUzVector.X(); - Double_t u2 = newUzVector.Y(); - Double_t u3 = newUzVector.Z(); - Double_t up = u1*u1 + u2*u2; - - Double_t fX = toRotate.X(); - Double_t fY = toRotate.Y(); - Double_t fZ = toRotate.Z(); - - if ( up ) { - up = TMath::Sqrt(up); - Double_t px = fX; - Double_t py = fY; - Double_t pz = fZ; - fX = (u1*u3*px - u2*py + u1*up*pz)/up; - fY = (u2*u3*px + u1*py + u2*up*pz)/up; - fZ = (u3*u3*px - px + u3*up*pz)/up; - } else if ( u3 < 0. ) { - fX = -fX; - fZ = -fZ; - } else {}; // phi = 0, theta = pi - - return reco::Candidate::Vector(fX, fY, fZ); - } - - reco::Candidate::LorentzVector boostToCOM( - const reco::Candidate::LorentzVector& comSystem, - const reco::Candidate::LorentzVector& p4ToBoost) { - reco::Candidate::Vector boost = comSystem.BoostToCM(); - return ROOT::Math::VectorUtil::boost(p4ToBoost, boost); - } - - reco::Candidate::LorentzVector boostToLab( - const reco::Candidate::LorentzVector& rfSystem, - const reco::Candidate::LorentzVector& p4ToBoost) { - reco::Candidate::Vector boost = rfSystem.BoostToCM(); - return ROOT::Math::VectorUtil::boost(p4ToBoost, -boost); - } - - double gjAngleFromX(double x, double visMass, double pVis_rf, double enVis_lab, double motherMass) - { - double enVis_rf = energyFromMomentum(pVis_rf, visMass); - double beta = TMath::Sqrt(1. - square(motherMass*x/enVis_lab)); - double cosGjAngle = (motherMass*x - enVis_rf)/(pVis_rf*beta); - double gjAngle = TMath::ACos(cosGjAngle); - return gjAngle; - } - - double pVisRestFrame(double visMass, double invisMass, double motherMass) - { - double motherMass2 = motherMass*motherMass; - double pVis = TMath::Sqrt((motherMass2 - square(visMass + invisMass)) - *(motherMass2 - square(visMass - invisMass)))/(2.*motherMass); - return pVis; - } - - double gjAngleToLabFrame(double pVisRestFrame, double gjAngle, double pVisLabFrame) - { - // Get the compenent of the rest frame momentum perpindicular to the tau - // boost direction. This quantity is Lorentz invariant. - double pVisRestFramePerp = pVisRestFrame*TMath::Sin(gjAngle); - - // Determine the corresponding opening angle in the LAB frame - double gjAngleLabFrame = TMath::ASin(pVisRestFramePerp/pVisLabFrame); - - return gjAngleLabFrame; - } - - double motherMomentumLabFrame(double visMass, double pVisRestFrame, double gjAngle, double pVisLabFrame, double motherMass) - { - // Determine the corresponding opening angle in the LAB frame - double angleVisLabFrame = gjAngleToLabFrame(pVisRestFrame, gjAngle, pVisLabFrame); - - // Get the visible momentum perpindicular/parallel to the tau boost direction in the LAB - double pVisLabFrame_parallel = pVisLabFrame*TMath::Cos(angleVisLabFrame); - - // Now use the Lorentz equation for pVis along the tau direction to solve for - // the gamma of the tau boost. - double pVisRestFrame_parallel = pVisRestFrame*TMath::Cos(gjAngle); - - double enVisRestFrame = TMath::Sqrt(square(visMass) + square(pVisRestFrame)); - - double gamma = (enVisRestFrame*TMath::Sqrt(square(enVisRestFrame) + square(pVisLabFrame_parallel) - square(pVisRestFrame_parallel)) - - pVisRestFrame_parallel*pVisLabFrame_parallel)/(square(enVisRestFrame) - square(pVisRestFrame_parallel)); - - double pMotherLabFrame = TMath::Sqrt(square(gamma) - 1)*motherMass; - - return pMotherLabFrame; - } - - reco::Candidate::Vector motherDirection(const reco::Candidate::Vector& pVisLabFrame, double angleVisLabFrame, double phiLab) - { - // The direction is defined using polar coordinates in a system where the visible energy - // defines the Z axis. - math::RThetaPhiVector motherDirectionVisibleSystem(1.0, angleVisLabFrame, phiLab); - - // Rotate into the LAB coordinate system - return rotateUz(motherDirectionVisibleSystem, pVisLabFrame.Unit()); - } - - reco::Candidate::LorentzVector motherP4( - const reco::Candidate::Vector& motherDirection, double motherMomentumLabFrame, double motherMass) - { - // NB: tauDirection must be a unit vector ! - reco::Candidate::LorentzVector motherP4LabFrame = - reco::Candidate::LorentzVector( - motherDirection.x()*motherMomentumLabFrame, - motherDirection.y()*motherMomentumLabFrame, - motherDirection.z()*motherMomentumLabFrame, - TMath::Sqrt(motherMomentumLabFrame*motherMomentumLabFrame - + motherMass*motherMass)); - - return motherP4LabFrame; - } - - double gjAngleFromLabMomenta(const reco::Candidate::LorentzVector& motherP4, const reco::Candidate::LorentzVector& visP4) - { - double gjAngle = 0.; - reco::Candidate::LorentzVector visP4_rf = boostToCOM(motherP4, visP4); - if ( (motherP4.pt()*visP4_rf.pt()) > 0. ) { - double scalarProduct = (motherP4.px()*visP4_rf.px() - + motherP4.py()*visP4_rf.py() - + motherP4.pz()*visP4_rf.pz())/(motherP4.P()*visP4_rf.P()); - gjAngle = TMath::ACos(scalarProduct); - } - return gjAngle; - } - - reco::Candidate::Vector normalize(const reco::Candidate::Vector& p) - { - double p_x = p.x(); - double p_y = p.y(); - double p_z = p.z(); - double mag2 = square(p_x) + square(p_y) + square(p_z); - if ( mag2 <= 0. ) return p; - double mag = TMath::Sqrt(mag2); - return reco::Candidate::Vector(p_x/mag, p_y/mag, p_z/mag); - } - - double compScalarProduct(const reco::Candidate::Vector& p1, const reco::Candidate::Vector& p2) - { - return (p1.x()*p2.x() + p1.y()*p2.y() + p1.z()*p2.z()); - } - - reco::Candidate::Vector compCrossProduct(const reco::Candidate::Vector& p1, const reco::Candidate::Vector& p2) - { - double p3_x = p1.y()*p2.z() - p1.z()*p2.y(); - double p3_y = p1.z()*p2.x() - p1.x()*p2.z(); - double p3_z = p1.x()*p2.y() - p1.y()*p2.x(); - return reco::Candidate::Vector(p3_x, p3_y, p3_z); - } - - double phiLabFromLabMomenta(const reco::Candidate::LorentzVector& motherP4, const reco::Candidate::LorentzVector& visP4) - { - reco::Candidate::Vector u_z = normalize(reco::Candidate::Vector(visP4.px(), visP4.py(), visP4.pz())); - reco::Candidate::Vector u_y = normalize(compCrossProduct(reco::Candidate::Vector(0., 0., 1.), u_z)); - reco::Candidate::Vector u_x = compCrossProduct(u_y, u_z); - - reco::Candidate::Vector p3Mother_unit = normalize(reco::Candidate::Vector(motherP4.px(), motherP4.py(), motherP4.pz())); - - double phi_lab = TMath::ATan2(compScalarProduct(p3Mother_unit, u_y), compScalarProduct(p3Mother_unit, u_x)); - return phi_lab; - } - - // - //------------------------------------------------------------------------------- - // - - void printVector(const std::string& label, const AlgebraicVector3& p) - { - reco::Candidate::Vector v(p(0), p(1), p(2)); - std::cout << label << ": x = " << v.x() << ", y = " << v.y() << ", z = " << v.z() << " (eta = " << v.eta() << ", phi = " << v.phi() << ")" << std::endl; - } - - void printMatrix(const std::string& label, const AlgebraicMatrix33& m) - { - std::cout << label << ":" << std::endl; - for ( unsigned iRow = 0; iRow < 3; ++iRow ) { - std::cout << " |"; - for ( unsigned iColumn = 0; iColumn < 3; ++iColumn ) { - std::cout << " " << std::setw(12) << m(iRow, iColumn); - } - std::cout << " |" << std::endl; - } - } - - // - //------------------------------------------------------------------------------- - // - - double logGaussian(double residual, double sigma) - { - if ( sigma > 0. ) { - return -0.5*(TMath::Log(2*TMath::Pi()*square(sigma)) + square(residual/sigma)); - } else { - edm::LogError ("logGaussian") - << " Parameter sigma must not be zero !!"; - return std::numeric_limits::min(); - } - } - - // - //------------------------------------------------------------------------------- - // - - void extractHistogramProperties(const TH1* histogram, const TH1* histogram_density, - double& xMaximum, double& xMaximum_interpol, - double& xMean, - double& xQuantile016, double& xQuantile050, double& xQuantile084) - { -//--- compute median, -1 sigma and +1 sigma limits on reconstructed mass - if ( histogram->Integral() > 0. ) { - Double_t q[3]; - Double_t probSum[3]; - probSum[0] = 0.16; - probSum[1] = 0.50; - probSum[2] = 0.84; - (const_cast(histogram))->GetQuantiles(3, q, probSum); - xQuantile016 = q[0]; - xQuantile050 = q[1]; - xQuantile084 = q[2]; - } else { - xQuantile016 = 0.; - xQuantile050 = 0.; - xQuantile084 = 0.; - } - - xMean = histogram->GetMean(); - - if ( histogram_density->Integral() > 0. ) { - int binMaximum = histogram_density->GetMaximumBin(); - xMaximum = histogram_density->GetBinCenter(binMaximum); - if ( binMaximum > 1 && binMaximum < histogram_density->GetNbinsX() ) { - double yMaximum = histogram_density->GetBinContent(binMaximum); - - int binLeft = binMaximum - 1; - double xLeft = histogram_density->GetBinCenter(binLeft); - double yLeft = histogram_density->GetBinContent(binLeft); - - int binRight = binMaximum + 1; - double xRight = histogram_density->GetBinCenter(binRight); - double yRight = histogram_density->GetBinContent(binRight); - - double xMinus = xLeft - xMaximum; - double yMinus = yLeft - yMaximum; - double xPlus = xRight - xMaximum; - double yPlus = yRight - yMaximum; - - xMaximum_interpol = xMaximum + 0.5*(yPlus*square(xMinus) - yMinus*square(xPlus))/(yPlus*xMinus - yMinus*xPlus); - } else { - xMaximum_interpol = xMaximum; - } - } else { - xMaximum = 0.; - xMaximum_interpol = 0.; - } - } -} diff --git a/TauAnalysis/SVFitStandAlone/src/LikelihoodFunctions.cc b/TauAnalysis/SVFitStandAlone/src/LikelihoodFunctions.cc deleted file mode 100644 index 47a92f0cbec6..000000000000 --- a/TauAnalysis/SVFitStandAlone/src/LikelihoodFunctions.cc +++ /dev/null @@ -1,58 +0,0 @@ -#include - -#include "TauAnalysis/SVFitStandAlone/interface/svFitAuxFunctions.h" -#include "TauAnalysis/SVFitStandAlone/interface/LikelihoodFunctions.h" - - -double -nllMET(double dMETX, double dMETY, double covDet, const TMatrixD& covInv, double power, bool verbose) -{ - double nll = 0.; - if( covDet != 0. ){ - nll = TMath::Log(2*TMath::Pi()) + 0.5*TMath::Log(TMath::Abs(covDet)) + 0.5*(dMETX*(covInv(0,0)*dMETX + covInv(0,1)*dMETY)+dMETY*(covInv(1,0)*dMETX + covInv(1,1)*dMETY)); - } - else{ - nll = std::numeric_limits::max(); - } - if( verbose ){ - std::cout << " >> [single likelihhod term nllMET ] nll = " << nll << " (power = " << power << ")" << std::endl; - } - return power*nll; -} - -double -nllTauToLepPhaseSpace(double decayAngle, double nunuMass, double visMass, bool verbose) -{ - // protect against rounding errors that may lead to negative masses - if( nunuMass < 0. ){ nunuMass = 0.; } - - double prob = 0.5*nunuMass*TMath::Sqrt((SVfit_namespace::tauLeptonMass2 - SVfit_namespace::square(nunuMass + visMass))*(SVfit_namespace::tauLeptonMass2 - SVfit_namespace::square(nunuMass - visMass)))/(2*SVfit_namespace::tauLeptonMass)*TMath::Sin(decayAngle); - double nll = 0.; - if( prob > 0. ){ - nll = -TMath::Log(prob); - } - else{ - nll = std::numeric_limits::max(); - } - if( verbose ){ - std::cout << " >> [single likelihood term nllTauToLep] nll = " << nll << std::endl; - } - return nll; -} - -double -nllTauToHadPhaseSpace(double decayAngle, bool verbose) -{ - double prob = TMath::Sin(decayAngle); - double nll = 0.; - if( prob > 0. ){ - nll = -TMath::Log(prob); - } - else{ - nll = std::numeric_limits::max(); - } - if( verbose ){ - std::cout << " >> [single likelihood term nllTauToHad] nll = " << nll << std::endl; - } - return nll; -} diff --git a/TauAnalysis/SVFitStandAlone/src/svFitAuxFunctions.cc b/TauAnalysis/SVFitStandAlone/src/svFitAuxFunctions.cc deleted file mode 100644 index e5e95db561f8..000000000000 --- a/TauAnalysis/SVFitStandAlone/src/svFitAuxFunctions.cc +++ /dev/null @@ -1,165 +0,0 @@ -#include "TauAnalysis/SVFitStandAlone/interface/svFitAuxFunctions.h" - -#include "FWCore/MessageLogger/interface/MessageLogger.h" -#include "DataFormats/Math/interface/LorentzVector.h" -#include "DataFormats/Math/interface/Vector3D.h" -#include -#include - -namespace SVfit_namespace { - - // Adapted for our vector types from TVector3 class - reco::Candidate::Vector rotateUz(const math::RThetaPhiVector& toRotate, - const reco::Candidate::Vector& newUzVector) - { - //std::cout << ":" << std::endl; - - // NB: newUzVector must be a unit vector ! - Double_t u1 = newUzVector.X(); - Double_t u2 = newUzVector.Y(); - Double_t u3 = newUzVector.Z(); - Double_t up = u1*u1 + u2*u2; - - Double_t fX = toRotate.X(); - Double_t fY = toRotate.Y(); - Double_t fZ = toRotate.Z(); - - if ( up ) { - up = TMath::Sqrt(up); - Double_t px = fX, py = fY, pz = fZ; - fX = (u1*u3*px - u2*py + u1*up*pz)/up; - fY = (u2*u3*px + u1*py + u2*up*pz)/up; - fZ = (u3*u3*px - px + u3*up*pz)/up; - } else if ( u3 < 0. ) { - fX = -fX; - fZ = -fZ; - } else {}; // phi = 0, theta = pi - - //std::cout << " fX = " << fX << ", fY = " << fY << ", fZ = " << fZ << std::endl; - - return reco::Candidate::Vector(fX, fY, fZ); - } - - reco::Candidate::LorentzVector boostToCOM( - const reco::Candidate::LorentzVector& comSystem, - const reco::Candidate::LorentzVector& p4ToBoost) { - reco::Candidate::Vector boost = comSystem.BoostToCM(); - return ROOT::Math::VectorUtil::boost(p4ToBoost, boost); - } - - double gjAngleFromX(double x, double visMass, double pVis_rf, double enVis_lab) { - double enVis_rf = energyFromMomentum(pVis_rf, visMass); - double beta = TMath::Sqrt(1. - square(tauLeptonMass*x/enVis_lab)); - double cosGjAngle = (tauLeptonMass*x - enVis_rf)/(pVis_rf*beta); - double gjAngle = TMath::ACos(cosGjAngle); - return gjAngle; - } - - double pVisRestFrame(double tauVisMass, double tauNuNuMass) - { - //std::cout << ":" << std::endl; - //std::cout << " tauVisMass = " << tauVisMass << std::endl; - //std::cout << " tauNuNuMass = " << tauNuNuMass << std::endl; - - double pVis = TMath::Sqrt((tauLeptonMass2 - square(tauVisMass + tauNuNuMass)) - *(tauLeptonMass2 - square(tauVisMass - tauNuNuMass)))/(2*tauLeptonMass); - //std::cout << "--> pVis = " << pVis << std::endl; - - return pVis; - } - - double gjAngleToLabFrame(double pVisRestFrame, double gjAngle, double pVisLabFrame) - { - //std::cout << ":" << std::endl; - - // Get the compenent of the rest frame momentum perpindicular to the tau - // boost direction. This quantity is Lorentz invariant. - double pVisRestFramePerp = pVisRestFrame*TMath::Sin(gjAngle); - //std::cout << " pVisRestFramePerp = " << pVisRestFramePerp << std::endl; - - // Determine the corresponding opening angle in the LAB frame - double gjAngleLabFrame = TMath::ASin(pVisRestFramePerp/pVisLabFrame); - //std::cout << "--> gjAngleLabFrame = " << gjAngleLabFrame << std::endl; - - return gjAngleLabFrame; - } - - double tauMomentumLabFrame(double tauVisMass, double pVisRestFrame, double gjAngle, double pVisLabFrame) - { - //std::cout << ":" << std::endl; - - // Determine the corresponding opening angle in the LAB frame - double angleVisLabFrame = gjAngleToLabFrame(pVisRestFrame, gjAngle, pVisLabFrame); - //std::cout << " angleVisLabFrame = " << angleVisLabFrame << std::endl; - - // Get the visible momentum perpindicular/parallel to the tau boost direction in the LAB - double pVisLabFramePara = pVisLabFrame*TMath::Cos(angleVisLabFrame); - //std::cout << " pVisLabFramePara = " << pVisLabFramePara << std::endl; - - // Now use the Lorentz equation for pVis along the tau direction to solve for - // the gamma of the tau boost. - double pVisRestFramePara = pVisRestFrame*TMath::Cos(gjAngle); - //std::cout << " pVisRestFramePara = " << pVisRestFramePara << std::endl; - double eVisRestFrame = TMath::Sqrt(square(tauVisMass) + square(pVisRestFrame)); - //std::cout << " eVisRestFrame = " << eVisRestFrame << std::endl; - - double gamma = (eVisRestFrame * TMath::Sqrt(square(eVisRestFrame) + square(pVisLabFramePara) - - square(pVisRestFramePara)) - pVisRestFramePara*pVisLabFramePara)/(square(eVisRestFrame) - square(pVisRestFramePara)); - //std::cout << " gamma = " << gamma << std::endl; - - double pTauLabFrame = TMath::Sqrt(square(gamma) - 1)*tauLeptonMass; - //std::cout << "--> pTauLabFrame = " << pTauLabFrame << std::endl; - - return pTauLabFrame; - } - - reco::Candidate::Vector tauDirection( - const reco::Candidate::Vector& pVisLabFrame, double angleVisLabFrame, - double phiLab) { - // The direction is defined using polar coordinates in a system where the visible energy - // defines the Z axis. - math::RThetaPhiVector tauDirectionVisibleSystem(1.0, angleVisLabFrame, phiLab); - - // Rotate into the LAB coordinate system - return rotateUz(tauDirectionVisibleSystem, pVisLabFrame.Unit()); - } - - reco::Candidate::LorentzVector tauP4( - const reco::Candidate::Vector& tauDirection, double tauMomentumLabFrame) { - //std::cout << ":" << std::endl; - - // NB: tauDirection must be a unit vector ! - //reco::Candidate::Vector tauMomentum = tauDirection*tauMomentumLabFrame; - - reco::Candidate::LorentzVector tauP4LabFrame = - reco::Candidate::LorentzVector( - tauDirection.x()*tauMomentumLabFrame, - tauDirection.y()*tauMomentumLabFrame, - tauDirection.z()*tauMomentumLabFrame, - TMath::Sqrt(tauMomentumLabFrame*tauMomentumLabFrame - + tauLeptonMass*tauLeptonMass)); - - //math::PtEtaPhiMLorentzVector(tauMomentum.rho(), tauMomentum.eta(), tauMomentum.phi(), tauLeptonMass)); - //std::cout << "--> tauMomentum: E = " << tauP4LabFrame.energy() << "," - // << " eta = " << tauP4LabFrame.eta() << ", phi = " << tauP4LabFrame.phi()*180./TMath::Pi() << "," - // << " mass = " << tauP4LabFrame.mass() << std::endl; - - return tauP4LabFrame; - } - -// -//------------------------------------------------------------------------------- -// - - double logGaussian(double residual, double sigma) - { - if ( sigma > 0. ) { - return -0.5*TMath::Log(2*TMath::Pi()*square(sigma)) - 0.5*square(residual/sigma); - } else { - edm::LogError ("logGaussian") - << " Parameter sigma must not be zero !!"; - return std::numeric_limits::min(); - } - } - -} diff --git a/TauAnalysis/SVFitStandAlone/BuildFile.xml b/TauAnalysis/SVFitStandAlone2011/BuildFile.xml similarity index 100% rename from TauAnalysis/SVFitStandAlone/BuildFile.xml rename to TauAnalysis/SVFitStandAlone2011/BuildFile.xml diff --git a/TauAnalysis/SVFitStandAlone/interface/LikelihoodFunctions.h b/TauAnalysis/SVFitStandAlone2011/interface/LikelihoodFunctions.h similarity index 100% rename from TauAnalysis/SVFitStandAlone/interface/LikelihoodFunctions.h rename to TauAnalysis/SVFitStandAlone2011/interface/LikelihoodFunctions.h diff --git a/TauAnalysis/SVFitStandAlone/interface/NSVfitStandaloneAlgorithm2011.h b/TauAnalysis/SVFitStandAlone2011/interface/NSVfitStandaloneAlgorithm2011.h similarity index 99% rename from TauAnalysis/SVFitStandAlone/interface/NSVfitStandaloneAlgorithm2011.h rename to TauAnalysis/SVFitStandAlone2011/interface/NSVfitStandaloneAlgorithm2011.h index eeddaeaa7363..e662d8af1409 100644 --- a/TauAnalysis/SVFitStandAlone/interface/NSVfitStandaloneAlgorithm2011.h +++ b/TauAnalysis/SVFitStandAlone2011/interface/NSVfitStandaloneAlgorithm2011.h @@ -1,7 +1,7 @@ #ifndef TauAnalysis_SVFitStandAlone_NSVfitStandaloneAlgorithm2011_h #define TauAnalysis_SVFitStandAlone_NSVfitStandaloneAlgorithm2011_h -#include "TauAnalysis/SVFitStandAlone/interface/NSVfitStandaloneLikelihood2011.h" +#include "TauAnalysis/SVFitStandAlone2011/interface/NSVfitStandaloneLikelihood2011.h" using NSVfitStandalone2011::Vector; using NSVfitStandalone2011::LorentzVector; diff --git a/TauAnalysis/SVFitStandAlone/interface/NSVfitStandaloneLikelihood2011.h b/TauAnalysis/SVFitStandAlone2011/interface/NSVfitStandaloneLikelihood2011.h similarity index 100% rename from TauAnalysis/SVFitStandAlone/interface/NSVfitStandaloneLikelihood2011.h rename to TauAnalysis/SVFitStandAlone2011/interface/NSVfitStandaloneLikelihood2011.h diff --git a/TauAnalysis/SVFitStandAlone/interface/svFitAuxFunctions.h b/TauAnalysis/SVFitStandAlone2011/interface/svFitAuxFunctions.h similarity index 100% rename from TauAnalysis/SVFitStandAlone/interface/svFitAuxFunctions.h rename to TauAnalysis/SVFitStandAlone2011/interface/svFitAuxFunctions.h diff --git a/TauAnalysis/SVFitStandAlone2011/src/LikelihoodFunctions.cc b/TauAnalysis/SVFitStandAlone2011/src/LikelihoodFunctions.cc new file mode 100644 index 000000000000..eea2ec6955db --- /dev/null +++ b/TauAnalysis/SVFitStandAlone2011/src/LikelihoodFunctions.cc @@ -0,0 +1,58 @@ +#include + +#include "TauAnalysis/SVFitStandAlone2011/interface/svFitAuxFunctions.h" +#include "TauAnalysis/SVFitStandAlone2011/interface/LikelihoodFunctions.h" + + +double +nllMET(double dMETX, double dMETY, double covDet, const TMatrixD& covInv, double power, bool verbose) +{ + double nll = 0.; + if( covDet != 0. ){ + nll = TMath::Log(2*TMath::Pi()) + 0.5*TMath::Log(TMath::Abs(covDet)) + 0.5*(dMETX*(covInv(0,0)*dMETX + covInv(0,1)*dMETY)+dMETY*(covInv(1,0)*dMETX + covInv(1,1)*dMETY)); + } + else{ + nll = std::numeric_limits::max(); + } + if( verbose ){ + std::cout << " >> [single likelihhod term nllMET ] nll = " << nll << " (power = " << power << ")" << std::endl; + } + return power*nll; +} + +double +nllTauToLepPhaseSpace(double decayAngle, double nunuMass, double visMass, bool verbose) +{ + // protect against rounding errors that may lead to negative masses + if( nunuMass < 0. ){ nunuMass = 0.; } + + double prob = 0.5*nunuMass*TMath::Sqrt((SVfit_namespace::tauLeptonMass2 - SVfit_namespace::square(nunuMass + visMass))*(SVfit_namespace::tauLeptonMass2 - SVfit_namespace::square(nunuMass - visMass)))/(2*SVfit_namespace::tauLeptonMass)*TMath::Sin(decayAngle); + double nll = 0.; + if( prob > 0. ){ + nll = -TMath::Log(prob); + } + else{ + nll = std::numeric_limits::max(); + } + if( verbose ){ + std::cout << " >> [single likelihood term nllTauToLep] nll = " << nll << std::endl; + } + return nll; +} + +double +nllTauToHadPhaseSpace(double decayAngle, bool verbose) +{ + double prob = TMath::Sin(decayAngle); + double nll = 0.; + if( prob > 0. ){ + nll = -TMath::Log(prob); + } + else{ + nll = std::numeric_limits::max(); + } + if( verbose ){ + std::cout << " >> [single likelihood term nllTauToHad] nll = " << nll << std::endl; + } + return nll; +} diff --git a/TauAnalysis/SVFitStandAlone/src/NSVfitStandaloneAlgorithm2011.cc b/TauAnalysis/SVFitStandAlone2011/src/NSVfitStandaloneAlgorithm2011.cc similarity index 97% rename from TauAnalysis/SVFitStandAlone/src/NSVfitStandaloneAlgorithm2011.cc rename to TauAnalysis/SVFitStandAlone2011/src/NSVfitStandaloneAlgorithm2011.cc index 5f7f1b381170..cbd8b733075c 100644 --- a/TauAnalysis/SVFitStandAlone/src/NSVfitStandaloneAlgorithm2011.cc +++ b/TauAnalysis/SVFitStandAlone2011/src/NSVfitStandaloneAlgorithm2011.cc @@ -1,5 +1,5 @@ -#include "TauAnalysis/SVFitStandAlone/interface/NSVfitStandaloneAlgorithm2011.h" -#include "TauAnalysis/SVFitStandAlone/interface/svFitAuxFunctions.h" +#include "TauAnalysis/SVFitStandAlone2011/interface/NSVfitStandaloneAlgorithm2011.h" +#include "TauAnalysis/SVFitStandAlone2011/interface/svFitAuxFunctions.h" #include "Math/Factory.h" #include "Math/Functor.h" diff --git a/TauAnalysis/SVFitStandAlone/src/NSVfitStandaloneLikelihood2011.cc b/TauAnalysis/SVFitStandAlone2011/src/NSVfitStandaloneLikelihood2011.cc similarity index 98% rename from TauAnalysis/SVFitStandAlone/src/NSVfitStandaloneLikelihood2011.cc rename to TauAnalysis/SVFitStandAlone2011/src/NSVfitStandaloneLikelihood2011.cc index 7616047674e5..c2122ca3316b 100644 --- a/TauAnalysis/SVFitStandAlone/src/NSVfitStandaloneLikelihood2011.cc +++ b/TauAnalysis/SVFitStandAlone2011/src/NSVfitStandaloneLikelihood2011.cc @@ -1,6 +1,6 @@ -#include "TauAnalysis/SVFitStandAlone/interface/svFitAuxFunctions.h" -#include "TauAnalysis/SVFitStandAlone/interface/LikelihoodFunctions.h" -#include "TauAnalysis/SVFitStandAlone/interface/NSVfitStandaloneLikelihood2011.h" +#include "TauAnalysis/SVFitStandAlone2011/interface/svFitAuxFunctions.h" +#include "TauAnalysis/SVFitStandAlone2011/interface/LikelihoodFunctions.h" +#include "TauAnalysis/SVFitStandAlone2011/interface/NSVfitStandaloneLikelihood2011.h" using namespace NSVfitStandalone2011; diff --git a/TauAnalysis/SVFitStandAlone2011/src/svFitAuxFunctions.cc b/TauAnalysis/SVFitStandAlone2011/src/svFitAuxFunctions.cc new file mode 100644 index 000000000000..83ee3f2e06d5 --- /dev/null +++ b/TauAnalysis/SVFitStandAlone2011/src/svFitAuxFunctions.cc @@ -0,0 +1,165 @@ +#include "TauAnalysis/SVFitStandAlone2011/interface/svFitAuxFunctions.h" + +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "DataFormats/Math/interface/LorentzVector.h" +#include "DataFormats/Math/interface/Vector3D.h" +#include +#include + +namespace SVfit_namespace { + + // Adapted for our vector types from TVector3 class + reco::Candidate::Vector rotateUz(const math::RThetaPhiVector& toRotate, + const reco::Candidate::Vector& newUzVector) + { + //std::cout << ":" << std::endl; + + // NB: newUzVector must be a unit vector ! + Double_t u1 = newUzVector.X(); + Double_t u2 = newUzVector.Y(); + Double_t u3 = newUzVector.Z(); + Double_t up = u1*u1 + u2*u2; + + Double_t fX = toRotate.X(); + Double_t fY = toRotate.Y(); + Double_t fZ = toRotate.Z(); + + if ( up ) { + up = TMath::Sqrt(up); + Double_t px = fX, py = fY, pz = fZ; + fX = (u1*u3*px - u2*py + u1*up*pz)/up; + fY = (u2*u3*px + u1*py + u2*up*pz)/up; + fZ = (u3*u3*px - px + u3*up*pz)/up; + } else if ( u3 < 0. ) { + fX = -fX; + fZ = -fZ; + } else {}; // phi = 0, theta = pi + + //std::cout << " fX = " << fX << ", fY = " << fY << ", fZ = " << fZ << std::endl; + + return reco::Candidate::Vector(fX, fY, fZ); + } + + reco::Candidate::LorentzVector boostToCOM( + const reco::Candidate::LorentzVector& comSystem, + const reco::Candidate::LorentzVector& p4ToBoost) { + reco::Candidate::Vector boost = comSystem.BoostToCM(); + return ROOT::Math::VectorUtil::boost(p4ToBoost, boost); + } + + double gjAngleFromX(double x, double visMass, double pVis_rf, double enVis_lab) { + double enVis_rf = energyFromMomentum(pVis_rf, visMass); + double beta = TMath::Sqrt(1. - square(tauLeptonMass*x/enVis_lab)); + double cosGjAngle = (tauLeptonMass*x - enVis_rf)/(pVis_rf*beta); + double gjAngle = TMath::ACos(cosGjAngle); + return gjAngle; + } + + double pVisRestFrame(double tauVisMass, double tauNuNuMass) + { + //std::cout << ":" << std::endl; + //std::cout << " tauVisMass = " << tauVisMass << std::endl; + //std::cout << " tauNuNuMass = " << tauNuNuMass << std::endl; + + double pVis = TMath::Sqrt((tauLeptonMass2 - square(tauVisMass + tauNuNuMass)) + *(tauLeptonMass2 - square(tauVisMass - tauNuNuMass)))/(2*tauLeptonMass); + //std::cout << "--> pVis = " << pVis << std::endl; + + return pVis; + } + + double gjAngleToLabFrame(double pVisRestFrame, double gjAngle, double pVisLabFrame) + { + //std::cout << ":" << std::endl; + + // Get the compenent of the rest frame momentum perpindicular to the tau + // boost direction. This quantity is Lorentz invariant. + double pVisRestFramePerp = pVisRestFrame*TMath::Sin(gjAngle); + //std::cout << " pVisRestFramePerp = " << pVisRestFramePerp << std::endl; + + // Determine the corresponding opening angle in the LAB frame + double gjAngleLabFrame = TMath::ASin(pVisRestFramePerp/pVisLabFrame); + //std::cout << "--> gjAngleLabFrame = " << gjAngleLabFrame << std::endl; + + return gjAngleLabFrame; + } + + double tauMomentumLabFrame(double tauVisMass, double pVisRestFrame, double gjAngle, double pVisLabFrame) + { + //std::cout << ":" << std::endl; + + // Determine the corresponding opening angle in the LAB frame + double angleVisLabFrame = gjAngleToLabFrame(pVisRestFrame, gjAngle, pVisLabFrame); + //std::cout << " angleVisLabFrame = " << angleVisLabFrame << std::endl; + + // Get the visible momentum perpindicular/parallel to the tau boost direction in the LAB + double pVisLabFramePara = pVisLabFrame*TMath::Cos(angleVisLabFrame); + //std::cout << " pVisLabFramePara = " << pVisLabFramePara << std::endl; + + // Now use the Lorentz equation for pVis along the tau direction to solve for + // the gamma of the tau boost. + double pVisRestFramePara = pVisRestFrame*TMath::Cos(gjAngle); + //std::cout << " pVisRestFramePara = " << pVisRestFramePara << std::endl; + double eVisRestFrame = TMath::Sqrt(square(tauVisMass) + square(pVisRestFrame)); + //std::cout << " eVisRestFrame = " << eVisRestFrame << std::endl; + + double gamma = (eVisRestFrame * TMath::Sqrt(square(eVisRestFrame) + square(pVisLabFramePara) + - square(pVisRestFramePara)) - pVisRestFramePara*pVisLabFramePara)/(square(eVisRestFrame) - square(pVisRestFramePara)); + //std::cout << " gamma = " << gamma << std::endl; + + double pTauLabFrame = TMath::Sqrt(square(gamma) - 1)*tauLeptonMass; + //std::cout << "--> pTauLabFrame = " << pTauLabFrame << std::endl; + + return pTauLabFrame; + } + + reco::Candidate::Vector tauDirection( + const reco::Candidate::Vector& pVisLabFrame, double angleVisLabFrame, + double phiLab) { + // The direction is defined using polar coordinates in a system where the visible energy + // defines the Z axis. + math::RThetaPhiVector tauDirectionVisibleSystem(1.0, angleVisLabFrame, phiLab); + + // Rotate into the LAB coordinate system + return rotateUz(tauDirectionVisibleSystem, pVisLabFrame.Unit()); + } + + reco::Candidate::LorentzVector tauP4( + const reco::Candidate::Vector& tauDirection, double tauMomentumLabFrame) { + //std::cout << ":" << std::endl; + + // NB: tauDirection must be a unit vector ! + //reco::Candidate::Vector tauMomentum = tauDirection*tauMomentumLabFrame; + + reco::Candidate::LorentzVector tauP4LabFrame = + reco::Candidate::LorentzVector( + tauDirection.x()*tauMomentumLabFrame, + tauDirection.y()*tauMomentumLabFrame, + tauDirection.z()*tauMomentumLabFrame, + TMath::Sqrt(tauMomentumLabFrame*tauMomentumLabFrame + + tauLeptonMass*tauLeptonMass)); + + //math::PtEtaPhiMLorentzVector(tauMomentum.rho(), tauMomentum.eta(), tauMomentum.phi(), tauLeptonMass)); + //std::cout << "--> tauMomentum: E = " << tauP4LabFrame.energy() << "," + // << " eta = " << tauP4LabFrame.eta() << ", phi = " << tauP4LabFrame.phi()*180./TMath::Pi() << "," + // << " mass = " << tauP4LabFrame.mass() << std::endl; + + return tauP4LabFrame; + } + +// +//------------------------------------------------------------------------------- +// + + double logGaussian(double residual, double sigma) + { + if ( sigma > 0. ) { + return -0.5*TMath::Log(2*TMath::Pi()*square(sigma)) - 0.5*square(residual/sigma); + } else { + edm::LogError ("logGaussian") + << " Parameter sigma must not be zero !!"; + return std::numeric_limits::min(); + } + } + +} diff --git a/TauAnalysis/SVfitStandalone/BuildFile.xml b/TauAnalysis/SVfitStandalone/BuildFile.xml new file mode 100644 index 000000000000..11fd6e6cb600 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/BuildFile.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/TauAnalysis/SVfitStandalone/README.md b/TauAnalysis/SVfitStandalone/README.md new file mode 100644 index 000000000000..97c33a41fb75 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/README.md @@ -0,0 +1,4 @@ +SVfit_standalone +================ + +SVfit algorithm for tau pair mass reconstruction (stand-alone version) diff --git a/TauAnalysis/SVfitStandalone/bin/BuildFile.xml b/TauAnalysis/SVfitStandalone/bin/BuildFile.xml new file mode 100644 index 000000000000..5b1944789ead --- /dev/null +++ b/TauAnalysis/SVfitStandalone/bin/BuildFile.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/TauAnalysis/SVfitStandalone/bin/testSVfitStandalone.cc b/TauAnalysis/SVfitStandalone/bin/testSVfitStandalone.cc new file mode 100644 index 000000000000..fab5ecfb7423 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/bin/testSVfitStandalone.cc @@ -0,0 +1,161 @@ + +/** + \class testSVfitStandalone testSVfitStandalone.cc "TauAnalysis/SVfitStandalone/bin/testSVfitStandalone.cc" + \brief Basic example of the use of the standalone version of SVfit + + This is an example executable to show the use of the standalone version of SVfit + from a flat n-tuple or single event. +*/ + +#include "FWCore/ParameterSet/interface/FileInPath.h" + +#include "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneAlgorithm.h" + +#include "TFile.h" +#include "TTree.h" +#include "TH1.h" + +void singleEvent() +{ + /* + This is a single event for testing in the integration mode. + */ + // define MET + double measuredMETx = 11.7491; + double measuredMETy = -51.9172; + // define MET covariance + TMatrixD covMET(2, 2); + covMET[0][0] = 787.352; + covMET[1][0] = -178.63; + covMET[0][1] = -178.63; + covMET[1][1] = 179.545; + // define lepton four vectors + std::vector measuredTauLeptons; + measuredTauLeptons.push_back(svFitStandalone::MeasuredTauLepton(svFitStandalone::kTauToElecDecay, 33.7393, 0.9409, -0.541458, 0.51100e-3)); // tau -> electron decay (Pt, eta, phi, mass) + measuredTauLeptons.push_back(svFitStandalone::MeasuredTauLepton(svFitStandalone::kTauToHadDecay, 25.7322, 0.618228, 2.79362, 0.13957, 0)); // tau -> 1prong0pi0 hadronic decay (Pt, eta, phi, mass) + // define algorithm (set the debug level to 3 for testing) + unsigned verbosity = 2; + SVfitStandaloneAlgorithm algo(measuredTauLeptons, measuredMETx, measuredMETy, covMET, verbosity); + algo.addLogM(false); + edm::FileInPath inputFileName_visPtResolution("TauAnalysis/SVfitStandalone/data/svFitVisMassAndPtResolutionPDF.root"); + TH1::AddDirectory(false); + TFile* inputFile_visPtResolution = new TFile(inputFileName_visPtResolution.fullPath().data()); + algo.shiftVisPt(true, inputFile_visPtResolution); + /* + the following lines show how to use the different methods on a single event + */ + // minuit fit method + //algo.fit(); + // integration by VEGAS (same as function algo.integrate() that has been in use when markov chain integration had not yet been implemented) + //algo.integrateVEGAS(); + // integration by markov chain MC + algo.integrateMarkovChain(); + + double mass = algo.getMass(); // return value is in units of GeV + if ( algo.isValidSolution() ) { + std::cout << "found mass = " << mass << " (expected value = 118.64)" << std::endl; + } else { + std::cout << "sorry -- status of NLL is not valid [" << algo.isValidSolution() << "]" << std::endl; + } + + delete inputFile_visPtResolution; +} + +void eventsFromTree(int argc, char* argv[]) +{ + // parse arguments + if ( argc < 3 ) { + std::cout << "Usage : " << argv[0] << " [inputfile.root] [tree_name]" << std::endl; + return; + } + // get intput directory up to one before mass points + TFile* file = new TFile(argv[1]); + // access tree in file + TTree* tree = (TTree*) file->Get(argv[2]); + // input variables + float met, metPhi; + float covMet11, covMet12; + float covMet21, covMet22; + float l1Pt, l1Eta, l1Phi, l1Mass; + float l2Pt, l2Eta, l2Phi, l2Mass; + float mTrue; + // branch adresses + tree->SetBranchAddress("met", &met); + tree->SetBranchAddress("mphi", &metPhi); + tree->SetBranchAddress("mcov_11", &covMet11); + tree->SetBranchAddress("mcov_12", &covMet12); + tree->SetBranchAddress("mcov_21", &covMet21); + tree->SetBranchAddress("mcov_22", &covMet22); + tree->SetBranchAddress("l1_Pt", &l1Pt); + tree->SetBranchAddress("l1_Eta", &l1Eta); + tree->SetBranchAddress("l1_Phi", &l1Phi); + tree->SetBranchAddress("l1_M", &l1Mass); + tree->SetBranchAddress("l2_Pt", &l2Pt); + tree->SetBranchAddress("l2_Eta", &l2Eta); + tree->SetBranchAddress("l2_Phi", &l2Phi); + tree->SetBranchAddress("l2_M", &l2Mass); + tree->SetBranchAddress("m_true", &mTrue); + int nevent = tree->GetEntries(); + for ( int i = 0; i < nevent; ++i ) { + tree->GetEvent(i); + std::cout << "event " << (i + 1) << std::endl; + // setup MET input vector + double measuredMETx = met*TMath::Cos(metPhi); + double measuredMETy = met*TMath::Sin(metPhi); + // setup the MET significance + TMatrixD covMET(2,2); + covMET[0][0] = covMet11; + covMET[0][1] = covMet12; + covMET[1][0] = covMet21; + covMET[1][1] = covMet22; + // setup measure tau lepton vectors + svFitStandalone::kDecayType l1Type, l2Type; + if ( std::string(argv[2]) == "EMu" ) { + l1Type = svFitStandalone::kTauToElecDecay; + l2Type = svFitStandalone::kTauToMuDecay; + } else if ( std::string(argv[2]) == "MuTau" ) { + l1Type = svFitStandalone::kTauToMuDecay; + l2Type = svFitStandalone::kTauToHadDecay; + } else if ( std::string(argv[2]) == "ETau" ) { + l1Type = svFitStandalone::kTauToElecDecay; + l2Type = svFitStandalone::kTauToHadDecay; + } else if ( std::string(argv[2]) == "TauTau" ) { + l1Type = svFitStandalone::kTauToHadDecay; + l2Type = svFitStandalone::kTauToHadDecay; + } else { + std::cerr << "Error: Invalid channel = " << std::string(argv[2]) << " !!" << std::endl; + std::cerr << "(some customization of this code will be needed for your analysis)" << std::endl; + assert(0); + } + std::vector measuredTauLeptons; + measuredTauLeptons.push_back(svFitStandalone::MeasuredTauLepton(l1Type, l1Pt, l1Eta, l1Phi, l1Mass)); + measuredTauLeptons.push_back(svFitStandalone::MeasuredTauLepton(l2Type, l2Pt, l2Eta, l2Phi, l2Mass)); + // construct the class object from the minimal necesarry information + SVfitStandaloneAlgorithm algo(measuredTauLeptons, measuredMETx, measuredMETy, covMET, 1); + // apply customized configurations if wanted (examples are given below) + algo.maxObjFunctionCalls(5000); + //algo.addLogM(false); + //algo.metPower(0.5) + // minuit fit method + //algo.fit(); + // integration by VEGAS (default) + algo.integrateVEGAS(); + // integration by markov chain MC + //algo.integrateMarkovChain(); + // retrieve the results upon success + std::cout << "... m truth : " << mTrue << std::endl; + if ( algo.isValidSolution() ) { + std::cout << "... m svfit : " << algo.mass() << " +/- " << algo.massUncert() << std::endl; // return value is in units of GeV + } else { + std::cout << "... m svfit : ---" << std::endl; + } + } + return; +} + +int main(int argc, char* argv[]) +{ + //eventsFromTree(argc, argv); + singleEvent(); + return 0; +} \ No newline at end of file diff --git a/TauAnalysis/SVfitStandalone/data/svFitGenTauHadMassPDF.root b/TauAnalysis/SVfitStandalone/data/svFitGenTauHadMassPDF.root new file mode 100644 index 000000000000..f66f21fe9cd3 Binary files /dev/null and b/TauAnalysis/SVfitStandalone/data/svFitGenTauHadMassPDF.root differ diff --git a/TauAnalysis/SVfitStandalone/data/svFitGenTauHadMassPDF_new.root b/TauAnalysis/SVfitStandalone/data/svFitGenTauHadMassPDF_new.root new file mode 100644 index 000000000000..cfdaf4972d20 Binary files /dev/null and b/TauAnalysis/SVfitStandalone/data/svFitGenTauHadMassPDF_new.root differ diff --git a/TauAnalysis/SVfitStandalone/data/svFitVisMassAndPtResolutionPDF.root b/TauAnalysis/SVfitStandalone/data/svFitVisMassAndPtResolutionPDF.root new file mode 100644 index 000000000000..a79c480ce84c Binary files /dev/null and b/TauAnalysis/SVfitStandalone/data/svFitVisMassAndPtResolutionPDF.root differ diff --git a/TauAnalysis/SVfitStandalone/interface/LikelihoodFunctions.h b/TauAnalysis/SVfitStandalone/interface/LikelihoodFunctions.h new file mode 100644 index 000000000000..149c9dc74b68 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/interface/LikelihoodFunctions.h @@ -0,0 +1,77 @@ +#ifndef TauAnalysis_SVfitStandalone_LikelihoodFunctions_h +#define TauAnalysis_SVfitStandalone_LikelihoodFunctions_h + +#include "TMatrixD.h" +#include "TH1.h" + +/** + \class probMET LikelihoodFunctions.h "TauAnalysis/SVfitStandalone/interface/LikelihoodFunctions.h" + + \brief Likelihood for MET + + Likelihood for MET. Input parameters are: + + pMETX : difference between reconstructed MET and fitted MET in x + pMETY : difference between reconstructed MET and fitted MET in y + covDet : determinant of the covariance matrix of the measured MET + covInv : 2-dim inverted covariance matrix for measured MET (to be + determined from MET significance algorithm) + power : additional power to enhance the nll term +*/ +double probMET(double dMETX, double dMETY, double covDet, const TMatrixD& covInv, double power = 1., bool verbose = false); + +/** + \class probTauToLepPhaseSpace LikelihoodFunctions.h "TauAnalysis/SVfitStandalone/interface/LikelihoodFunctions.h" + + \brief Matrix Element for leptonic tau decays. Input parameters are: + + \var decayAngle : decay angle in the restframe of the tau lepton decay + \var visMass : measured visible mass + \var nunuMass : fitted neutrino mass + + The parameter tauLeptonMass2 is the mass of the tau lepton squared as defined in svFitStandaloneAuxFunctions.h + + NOTE: The formulas taken from the paper + "Tau polarization and its correlations as a probe of new physics", + B.K. Bullock, K. Hagiwara and A.D. Martin, + Nucl. Phys. B395 (1993) 499. + +*/ +double probTauToLepMatrixElement(double decayAngle, double nunuMass, double visMass, double x, bool applySinTheta, bool verbose = false); + +/** + \class probTauToHadPhaseSpace LikelihoodFunctions.h "TauAnalysis/SVfitStandalone/interface/LikelihoodFunctions.h" + + \brief Likelihood for a two body tau decay into two hadrons + + Likelihood for a two body tau decay into two hadrons. Input parameters is: + + decayAngle : decay angle in the restframe of the tau lepton decay +*/ +double probTauToHadPhaseSpace(double decayAngle, double nunuMass, double visMass, double x, bool applySinTheta, bool verbose = false); + +/** + \class probVisMass LikelihoodFunctions.h "TauAnalysis/SVfitStandalone/interface/LikelihoodFunctions.h" + + \brief Likelihood for producing system of given mass in hadronic tau decay + + Likelihood for hadronic tau decay to produce visible decay products of true mass (visMass) + + lutVisMass : histograms that parametrize the mass distribution of the visible decay products produced in hadronic tau decays on generator level +*/ +double probVisMass(double visMass, const TH1* lutVisMass, bool verbose = false); + +/** + \class probVisMassShift, probVisPtShift LikelihoodFunctions.h "TauAnalysis/SVfitStandalone/interface/LikelihoodFunctions.h" + + \brief Resolution on Pt and mass of hadronic taus + + Likelihood for a hadronic tau of true Pt and mass (visMass, visPt) + to be reconstructed with Pt and mass of (visMass + deltaVisMass, recTauPtDivGenTauPt*visPt) + + lutVisMassRes, lutVisPtRes : histograms that parametrize the Pt and mass resolution for hadronic taus +*/ +double probVisMassShift(double deltaVisMass, const TH1* lutVisMassRes, bool verbose = false); +double probVisPtShift(double recTauPtDivGenTauPt, const TH1* lutVisPtRes, bool verbose = false); + +#endif diff --git a/TauAnalysis/SVfitStandalone/interface/SVfitStandaloneAlgorithm.h b/TauAnalysis/SVfitStandalone/interface/SVfitStandaloneAlgorithm.h new file mode 100644 index 000000000000..6df5c17c7954 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/interface/SVfitStandaloneAlgorithm.h @@ -0,0 +1,449 @@ +#ifndef TauAnalysis_SVfitStandalone_SVfitStandaloneAlgorithm_h +#define TauAnalysis_SVfitStandalone_SVfitStandaloneAlgorithm_h + +#include "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneLikelihood.h" +#include "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneMarkovChainIntegrator.h" +#include "TauAnalysis/SVfitStandalone/interface/svFitStandaloneAuxFunctions.h" + +#include +#include +#include +#include +#include + +using svFitStandalone::Vector; +using svFitStandalone::LorentzVector; +using svFitStandalone::MeasuredTauLepton; + +/** + \class ObjectFunctionAdapter SVfitStandaloneAlgorithm.h "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneAlgorithm.h" + + \brief Function interface to minuit. + + This class is an interface, which is used as global function pointer of the combined likelihood as defined in src/SVfitStandaloneLikelihood.cc + to VEGAS or minuit. It is a member of the of the SVfitStandaloneAlgorithm class defined below and is used in SVfitStandalone::fit(), or + SVfitStandalone::integrate(), where it is passed on to a ROOT::Math::Functor. The parameters x correspond to the array of fit/integration + paramters as defined in interface/SVfitStandaloneLikelihood.h of this package. In the fit mode these are made known to minuit in the function + SVfitStandaloneAlgorithm::setup. In the integration mode the mapping is done internally in the SVfitStandaloneLikelihood::tansformint. This + has to be in sync. with the definition of the integration boundaries in SVfitStandaloneAlgorithm::integrate. +*/ + +namespace svFitStandalone +{ + TH1* makeHistogram(const std::string&, double, double, double); + void compHistogramDensity(const TH1*, TH1*); + double extractValue(const TH1*, TH1*); + double extractUncertainty(const TH1*, TH1*); + double extractLmax(const TH1*, TH1*); + + // for "fit" (MINUIT) mode + class ObjectiveFunctionAdapterMINUIT + { + public: + double operator()(const double* x) const // NOTE: return value = -log(likelihood) + { + double prob = SVfitStandaloneLikelihood::gSVfitStandaloneLikelihood->prob(x); + double nll; + if ( prob > 0. ) nll = -TMath::Log(prob); + else nll = std::numeric_limits::max(); + return nll; + } + }; + // for VEGAS integration + void map_xVEGAS(const double*, bool, bool, bool, bool, bool, double, double, double*); + class ObjectiveFunctionAdapterVEGAS + { + public: + double Eval(const double* x) const // NOTE: return value = likelihood, **not** -log(likelihood) + { + map_xVEGAS(x, l1isLep_, l2isLep_, marginalizeVisMass_, shiftVisMass_, shiftVisPt_, mvis_, mtest_, x_mapped_); + double prob = SVfitStandaloneLikelihood::gSVfitStandaloneLikelihood->prob(x_mapped_, true, mtest_); + if ( TMath::IsNaN(prob) ) prob = 0.; + return prob; + } + void SetL1isLep(bool l1isLep) { l1isLep_ = l1isLep; } + void SetL2isLep(bool l2isLep) { l2isLep_ = l2isLep; } + void SetMarginalizeVisMass(bool marginalizeVisMass) { marginalizeVisMass_ = marginalizeVisMass; } + void SetShiftVisMass(bool shiftVisMass) { shiftVisMass_ = shiftVisMass; } + void SetShiftVisPt(bool shiftVisPt) { shiftVisPt_ = shiftVisPt; } + void SetMvis(double mvis) { mvis_ = mvis; } + void SetMtest(double mtest) { mtest_ = mtest; } + private: + mutable double x_mapped_[10]; + bool l1isLep_; + bool l2isLep_; + bool marginalizeVisMass_; + bool shiftVisMass_; + bool shiftVisPt_; + double mvis_; // mass of visible tau decay products + double mtest_; // current mass hypothesis + }; + // for markov chain integration + void map_xMarkovChain(const double*, bool, bool, bool, bool, bool, double*); + class MCObjectiveFunctionAdapter : public ROOT::Math::Functor + { + public: + void SetL1isLep(bool l1isLep) { l1isLep_ = l1isLep; } + void SetL2isLep(bool l2isLep) { l2isLep_ = l2isLep; } + void SetMarginalizeVisMass(bool marginalizeVisMass) { marginalizeVisMass_ = marginalizeVisMass; } + void SetShiftVisMass(bool shiftVisMass) { shiftVisMass_ = shiftVisMass; } + void SetShiftVisPt(bool shiftVisPt) { shiftVisPt_ = shiftVisPt; } + void SetNDim(int nDim) { nDim_ = nDim; } + unsigned int NDim() const { return nDim_; } + private: + virtual double DoEval(const double* x) const + { + map_xMarkovChain(x, l1isLep_, l2isLep_, marginalizeVisMass_, shiftVisMass_, shiftVisPt_, x_mapped_); + double prob = SVfitStandaloneLikelihood::gSVfitStandaloneLikelihood->prob(x_mapped_); + if ( TMath::IsNaN(prob) ) prob = 0.; + return prob; + } + mutable double x_mapped_[10]; + int nDim_; + bool l1isLep_; + bool l2isLep_; + bool marginalizeVisMass_; + bool shiftVisMass_; + bool shiftVisPt_; + }; + class MCPtEtaPhiMassAdapter : public ROOT::Math::Functor + { + public: + MCPtEtaPhiMassAdapter() + { + histogramPt_ = makeHistogram("SVfitStandaloneAlgorithm_histogramPt", 1., 1.e+3, 1.025); + histogramPt_density_ = (TH1*)histogramPt_->Clone(Form("%s_density", histogramPt_->GetName())); + histogramEta_ = new TH1D("SVfitStandaloneAlgorithm_histogramEta", "SVfitStandaloneAlgorithm_histogramEta", 198, -9.9, +9.9); + histogramEta_density_ = (TH1*)histogramEta_->Clone(Form("%s_density", histogramEta_->GetName())); + histogramPhi_ = new TH1D("SVfitStandaloneAlgorithm_histogramPhi", "SVfitStandaloneAlgorithm_histogramPhi", 180, -TMath::Pi(), +TMath::Pi()); + histogramPhi_density_ = (TH1*)histogramPhi_->Clone(Form("%s_density", histogramPhi_->GetName())); + histogramMass_ = makeHistogram("SVfitStandaloneAlgorithm_histogramMass", 1.e+1, 1.e+4, 1.025); + histogramMass_density_ = (TH1*)histogramMass_->Clone(Form("%s_density", histogramMass_->GetName())); + } + ~MCPtEtaPhiMassAdapter() + { + delete histogramPt_; + delete histogramPt_density_; + delete histogramEta_; + delete histogramEta_density_; + delete histogramPhi_; + delete histogramPhi_density_; + delete histogramMass_; + delete histogramMass_density_; + } + void SetHistogramMass(TH1* histogramMass, TH1* histogramMass_density) + { + // CV: passing null pointers to the SetHistogramMass function + // indicates that the histograms have been deleted by the calling code + if ( histogramMass != 0 ) delete histogramMass_; + histogramMass_ = histogramMass; + if ( histogramMass_density != 0 ) delete histogramMass_density_; + histogramMass_density_ = histogramMass_density; + } + void SetL1isLep(bool l1isLep) { l1isLep_ = l1isLep; } + void SetL2isLep(bool l2isLep) { l2isLep_ = l2isLep; } + void SetMarginalizeVisMass(bool marginalizeVisMass) { marginalizeVisMass_ = marginalizeVisMass; } + void SetShiftVisMass(bool shiftVisMass) { shiftVisMass_ = shiftVisMass; } + void SetShiftVisPt(bool shiftVisPt) { shiftVisPt_ = shiftVisPt; } + void SetNDim(int nDim) { nDim_ = nDim; } + unsigned int NDim() const { return nDim_; } + void Reset() + { + histogramPt_->Reset(); + histogramEta_->Reset(); + histogramPhi_->Reset(); + histogramMass_->Reset(); + } + double getPt() const { return extractValue(histogramPt_, histogramPt_density_); } + double getPtUncert() const { return extractUncertainty(histogramPt_, histogramPt_density_); } + double getPtLmax() const { return extractLmax(histogramPt_, histogramPt_density_); } + double getEta() const { return extractValue(histogramEta_, histogramEta_density_); } + double getEtaUncert() const { return extractUncertainty(histogramEta_, histogramEta_density_); } + double getEtaLmax() const { return extractLmax(histogramEta_, histogramEta_density_); } + double getPhi() const { return extractValue(histogramPhi_, histogramPhi_density_); } + double getPhiUncert() const { return extractUncertainty(histogramPhi_, histogramPhi_density_); } + double getPhiLmax() const { return extractLmax(histogramPhi_, histogramPhi_density_); } + double getMass() const { return extractValue(histogramMass_, histogramMass_density_); } + double getMassUncert() const { return extractUncertainty(histogramMass_, histogramMass_density_); } + double getMassLmax() const { return extractLmax(histogramMass_, histogramMass_density_); } + private: + virtual double DoEval(const double* x) const + { + map_xMarkovChain(x, l1isLep_, l2isLep_, marginalizeVisMass_, shiftVisMass_, shiftVisPt_, x_mapped_); + SVfitStandaloneLikelihood::gSVfitStandaloneLikelihood->results(fittedTauLeptons_, x_mapped_); + fittedDiTauSystem_ = fittedTauLeptons_[0] + fittedTauLeptons_[1]; + //std::cout << "" << std::endl; + //std::cout << " Pt = " << fittedDiTauSystem_.pt() << "," + // << " eta = " << fittedDiTauSystem_.eta() << "," + // << " phi = " << fittedDiTauSystem_.phi() << "," + // << " mass = " << fittedDiTauSystem_.mass() << std::endl; + histogramPt_->Fill(fittedDiTauSystem_.pt()); + histogramEta_->Fill(fittedDiTauSystem_.eta()); + histogramPhi_->Fill(fittedDiTauSystem_.phi()); + histogramMass_->Fill(fittedDiTauSystem_.mass()); + return 0.; + } + protected: + mutable std::vector fittedTauLeptons_; + mutable LorentzVector fittedDiTauSystem_; + mutable TH1* histogramPt_; + mutable TH1* histogramPt_density_; + mutable TH1* histogramEta_; + mutable TH1* histogramEta_density_; + mutable TH1* histogramPhi_; + mutable TH1* histogramPhi_density_; + mutable TH1* histogramMass_; + mutable TH1* histogramMass_density_; + mutable double x_mapped_[10]; + int nDim_; + bool l1isLep_; + bool l2isLep_; + bool marginalizeVisMass_; + bool shiftVisMass_; + bool shiftVisPt_; + }; +} + +/** + \class SVfitStandaloneAlgorithm SVfitStandaloneAlgorithm.h "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneAlgorithm.h" + + \brief Standalone version of the SVfitAlgorithm. + + This class is a standalone version of the SVfitAlgorithm to perform the full reconstruction of a di-tau resonance system. The + implementation is supposed to deal with any combination of leptonic or hadronic tau decays. It exploits likelihood functions + as defined in interface/LikelihoodFunctions.h of this package, which are combined into a single likelihood function as defined + interface/SVfitStandaloneLikelihood.h in this package. The combined likelihood function depends on the following variables: + + \var nunuMass : the invariant mass of the neutrino system for each decay branch (two parameters) + \var decayAngle : the decay angle in the restframe of each decay branch (two parameters) + \var visMass : the mass of the visible component of the di-tau system (two parameters) + + The actual fit parameters are: + + \var nunuMass : the invariant mass of the neutrino system for each decay branch (two parameters) + \var xFrac : the fraction of the visible energy on the energy of the tau lepton in the labframe (two parameters) + \var phi : the azimuthal angle of the tau lepton (two parameters) + + In the fit mode. The azimuthal angle of each tau lepton is not constraint by measurement. It is limited to the physical values + from -Math::Phi to Math::Phi in the likelihood function of the combined likelihood class. The parameter nunuMass is constraint + to the tau lepton mass minus the mass of the visible part of the decay (which is itself constraint to values below the tau + lepton mass) in the setup function of this class. The parameter xFrac is constraint to values between 0. and 1. in the setup + function of this class. The invariant mass of the neutrino system is fixed to be zero for hadronic tau lepton decays as only + one (tau-) neutrino is involved in the decay. The original number of free parameters of 6 is therefore reduced by one for each + hadronic tau decay within the resonance. All information about the negative log likelihood is stored in the SVfitStandaloneLikelihood + class as defined in the same package. This class interfaces the combined likelihood to the ROOT::Math::Minuit minimization program. + It does setup/initialize the fit parameters as defined in interface/SVfitStandaloneLikelihood.h in this package, initializes the + minimization procedure, executes the fit algorithm and returns the fit result. The fit result consists of the fully reconstructed + di-tau system, from which also the invariant mass can be derived. + + In the integration mode xFrac for the second leptons is determiend from xFrac of the first lepton for given di-tau mass, thus reducing + the number of parameters to be integrated out wrt. to the fit version by one. The di-tau mass is scanned for the highest likelihood + starting from the visible mass of the two leptons. The return value is just the di-tau mass. + + Common usage is: + + // construct the class object from the minimal necessary information + SVfitStandaloneAlgorithm algo(measuredTauLeptons, measuredMET, covMET); + // apply customized configurations if wanted (examples are given below) + //algo.maxObjFunctionCalls(10000); // only applies for fit mode + //algo.addLogM(false); // applies for fit and integration mode + //algo.metPower(0.5); // only applies for fit mode + // run the fit in fit mode + algo.fit(); + // retrieve the results upon success + if ( algo.isValidSolution() ) { + std::cout << algo.mass(); + } + // run the integration in integration mode + algo.integrate(); + std::cout << algo.mass(); + + The following optional parameters can be applied after initialization but before running the fit in fit mode: + + \var metPower : indicating an additional power to enhance the MET likelihood (default is 1.) + \var addLogM : specifying whether to use the LogM penalty term or not (default is true) + \var maxObjFunctionCalls : the maximum of function calls before the minimization procedure is terminated (default is 5000) +*/ + +class SVfitStandaloneAlgorithm +{ + public: + /// constructor from a minimal set of configurables + SVfitStandaloneAlgorithm(const std::vector& measuredTauLeptons, double measuredMETx, double measuredMETy, const TMatrixD& covMET, unsigned int verbose = 0); + /// destructor + ~SVfitStandaloneAlgorithm(); + + /// add an additional logM(tau,tau) term to the nll to suppress tails on M(tau,tau) (default is false) + void addLogM(bool value, double power = 1.) { nll_->addLogM(value, power); } + /// modify the MET term in the nll by an additional power (default is 1.) + void metPower(double value) { nll_->metPower(value); } + /// marginalize unknown mass of hadronic tau decay products (ATLAS case) + void marginalizeVisMass(bool value, TFile* inputFile); + void marginalizeVisMass(bool value, const TH1*); + /// take resolution on energy and mass of hadronic tau decays into account + void shiftVisMass(bool value, TFile* inputFile); + void shiftVisPt(bool value, TFile* inputFile); + /// maximum function calls after which to stop the minimization procedure (default is 5000) + void maxObjFunctionCalls(double value) { maxObjFunctionCalls_ = value; } + + /// fit to be called from outside + void fit(); + /// integration by VEGAS (kept for legacy) + void integrate() { return integrateVEGAS(""); } + /// integration by VEGAS to be called from outside + void integrateVEGAS(const std::string& likelihoodFileName = ""); + /// integration by Markov Chain MC to be called from outside + void integrateMarkovChain(); + + /// return status of minuit fit + /* + 0: Valid solution + 1: Covariance matrix was made positive definite + 2: Hesse matrix is invalid + 3: Estimated distance to minimum (EDM) is above maximum + 4: Reached maximum number of function calls before reaching convergence + 5: Any other failure + */ + int fitStatus() { return fitStatus_; } + /// return whether this is a valid solution or not + bool isValidSolution() { return (nllStatus_ == 0 && fitStatus_ <= 0); } + /// return whether this is a valid solution or not + bool isValidFit() { return fitStatus_ == 0; } + /// return whether this is a valid solution or not + bool isValidNLL() { return nllStatus_ == 0; } + /// return mass of the di-tau system + double mass() const { return mass_; } + /// return uncertainty on the mass of the fitted di-tau system + double massUncert() const { return massUncert_; } + + /// return mass of the di-tau system (kept for legacy) + double getMass() const {return mass(); } + + /// return pt, eta, phi values and their uncertainties + /* + NOTE: these values are computed only in case in the + markov chain integration method. For any other + method 0. will be returned. + */ + /// return pt of the di-tau system + double pt() const { return pt_; } + /// return pt uncertainty of the di-tau system + double ptUncert() const { return ptUncert_; } + /// return eta of the di-tau system + double eta() const { return eta_; } + /// return eta uncertainty of the di-tau system + double etaUncert() const { return etaUncert_; } + /// return phi of the di-tau system + double phi() const { return phi_; } + /// return phi uncertainty of the di-tau system + double phiUncert() const { return phiUncert_; } + + /// return maxima of likelihood scan + double massLmax() const { return massLmax_; } + double ptLmax() const { return ptLmax_; } + double etaLmax() const { return etaLmax_; } + double phiLmax() const { return phiLmax_; } + + /// return 4-vectors of the fitted tau leptons + std::vector fittedTauLeptons() const { return fittedTauLeptons_; } + /// return 4-vectors of measured tau leptons + std::vector measuredTauLeptons() const; + /// return 4-vector of the fitted di-tau system + LorentzVector fittedDiTauSystem() const { return fittedDiTauSystem_; } + /// return 4-vector of the measured di-tau system + LorentzVector measuredDiTauSystem() const { return measuredTauLeptons()[0] + measuredTauLeptons()[1]; } + /// return spacial vector of the fitted MET + Vector fittedMET() const { return (fittedDiTauSystem().Vect() - measuredDiTauSystem().Vect()); } + // return spacial vector of the measured MET + Vector measuredMET() const { return nll_->measuredMET(); } + + protected: + /// setup the starting values for the minimization (default values for the fit parameters are taken from src/SVFitParameters.cc in the same package) + void setup(); + + protected: + /// return whether this is a valid solution or not + int fitStatus_; + /// return whether this is a valid solution or not + unsigned int nllStatus_; + /// verbosity level + unsigned int verbose_; + /// stop minimization after a maximal number of function calls + unsigned int maxObjFunctionCalls_; + + /// minuit instance + ROOT::Math::Minimizer* minimizer_; + /// standalone combined likelihood + svFitStandalone::SVfitStandaloneLikelihood* nll_; + /// needed to make the fit function callable from within minuit + svFitStandalone::ObjectiveFunctionAdapterMINUIT standaloneObjectiveFunctionAdapterMINUIT_; + + /// needed for VEGAS integration + svFitStandalone::ObjectiveFunctionAdapterVEGAS* standaloneObjectiveFunctionAdapterVEGAS_; + + /// fitted di-tau mass + double mass_; + /// uncertainty of the fitted di-tau mass + double massUncert_; + /// fit result for each of the decay branches + std::vector fittedTauLeptons_; + /// fitted di-tau system + svFitStandalone::LorentzVector fittedDiTauSystem_; + + /// needed for markov chain integration + svFitStandalone::MCObjectiveFunctionAdapter* mcObjectiveFunctionAdapter_; + svFitStandalone::MCPtEtaPhiMassAdapter* mcPtEtaPhiMassAdapter_; + SVfitStandaloneMarkovChainIntegrator* integrator2_; + int integrator2_nDim_; + bool isInitialized2_; + unsigned maxObjFunctionCalls2_; + /// pt of di-tau system + double pt_; + /// pt uncertainty of di-tau system + double ptUncert_; + /// eta of di-tau system + double eta_; + /// eta uncertainty of di-tau system + double etaUncert_; + /// phi of di-tau system + double phi_; + /// phi uncertainty of di-tau system + double phiUncert_; + + /// maxima of likelihood scan + double massLmax_; + double ptLmax_; + double etaLmax_; + double phiLmax_; + + TBenchmark* clock_; + + /// resolution on Pt and mass of hadronic taus + bool marginalizeVisMass_; + const TH1* lutVisMassAllDMs_; + bool shiftVisMass_; + const TH1* lutVisMassResDM0_; + const TH1* lutVisMassResDM1_; + const TH1* lutVisMassResDM10_; + bool shiftVisPt_; + const TH1* lutVisPtResDM0_; + const TH1* lutVisPtResDM1_; + const TH1* lutVisPtResDM10_; + + bool l1isLep_; + int idxFitParLeg1_; + bool l2isLep_; + int idxFitParLeg2_; +}; + +inline +std::vector +SVfitStandaloneAlgorithm::measuredTauLeptons() const +{ + std::vector measuredTauLeptons; + measuredTauLeptons.push_back(nll_->measuredTauLeptons()[0].p4()); + measuredTauLeptons.push_back(nll_->measuredTauLeptons()[1].p4()); + return measuredTauLeptons; +} + +#endif diff --git a/TauAnalysis/SVfitStandalone/interface/SVfitStandaloneLikelihood.h b/TauAnalysis/SVfitStandalone/interface/SVfitStandaloneLikelihood.h new file mode 100644 index 000000000000..6ead87d7863d --- /dev/null +++ b/TauAnalysis/SVfitStandalone/interface/SVfitStandaloneLikelihood.h @@ -0,0 +1,343 @@ +#ifndef TauAnalysis_SVfitStandalone_SVfitStandaloneLikelihood_h +#define TauAnalysis_SVfitStandalone_SVfitStandaloneLikelihood_h + +#include "TauAnalysis/SVfitStandalone/interface/svFitStandaloneAuxFunctions.h" + +#include "TMath.h" +#include "TMatrixD.h" +#include "Math/Minimizer.h" + +#include + +namespace svFitStandalone +{ + /** + \enum SVfitStandalone::kDecayType + \brief enumeration of all tau decay types + */ + enum kDecayType { + kUndefinedDecayType, + kTauToHadDecay, /* < hadronic tau lepton decay */ + kTauToElecDecay, /* < tau lepton decay to electron */ + kTauToMuDecay, /* < tau lepton decay to muon */ + kPrompt /* < prompt electron or muon not originating from tau decay (for LFV analysis) */ + }; + /** + \enum SVfitStandalone::kFitParams + \brief enumeration of all parameters used by the SVfitAlgorithm to reconstruct the di-tau system + */ + enum kFitParams { + kXFrac, /* < relative fraction of the visible energy on the total energy of the tau lepton */ + kMNuNu, /* < invariant mass of the neutrino system */ + kPhi, /* < phi angle of the tau lepton (this is parameter is not constraint by measurement) */ + kVisMassShifted, /* < mass resolution of the visible parts of the first tau decay branch */ + kRecTauPtDivGenTauPt, /* < Pt resolution of the visible parts of the first tau decay branch */ + kMaxFitParams /* < maximum number of fit parameters per resonance decay branch */ + }; + /** + \enum SVfitStandalone::kNLLParams + \brief enumeration of all parameters used to construct the combined likelihood including the logM term + */ + enum kNLLParams { + kNuNuMass1, /* < mass of the neutrino system for the first decay branch */ + kVisMass1, /* < mass of the visible parts of the first tau decay branch */ + kDecayAngle1, /* < decay angle for the first decay branch (in restframe of the tau lepton decay) */ + kDeltaVisMass1, /* < mass resolution of the visible parts of the first tau decay branch */ + kRecTauPtDivGenTauPt1, /* < Pt resolution of the visible parts of the first tau decay branch */ + kNuNuMass2, /* < mass of the neutrino system for the second decay branch */ + kVisMass2, /* < mass of the visible parts of the second tau decay branch */ + kDecayAngle2, /* < decay angle for the second decay branch (in restframe of the tau lepton decay) */ + kDeltaVisMass2, /* < mass resolution of the visible parts of the first tau decay branch */ + kRecTauPtDivGenTauPt2, /* < Pt resolution of the visible parts of the first tau decay branch */ + kDMETx, /* < difference between the sum of the fitted neutrino px and px of the MET */ + kDMETy, /* < difference between the sum of the fitted neutrino py and py of the MET */ + kMTauTau, /* < invariant mass of the fitted di-tau system (used for the logM penalty term) */ + kMaxNLLParams /* < max number of parameters used for for the combined likelihood */ + }; + /** + \class MeasuredTauLepton SVfitStandaloneLikelihood.h "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneLikelihood.h" + + \brief Helper class to simplify the configuration of the SVfitStandaloneLikelihood class. + + This is a helper class to facilitate the configuration of the SVfitStandaloneLikelihood class. It keeps the spacial momentum + energy and information about the type of tau lepton decay. All information is stored in the lab-frame. A few getter functions + facilitate access to the information. + */ + class MeasuredTauLepton + { + public: + /// default constructor + MeasuredTauLepton() + : type_(kUndefinedDecayType), + pt_(0.), + eta_(0.), + phi_(0.), + mass_(0.), + decayMode_(-1) + { + initialize(); + } + /// constructor from the measured quantities per decay branch + MeasuredTauLepton(kDecayType type, double pt, double eta, double phi, double mass, int decayMode = -1) + : type_(type), + pt_(roundToNdigits(pt)), + eta_(roundToNdigits(eta)), + phi_(roundToNdigits(phi)), + mass_(roundToNdigits(mass)), + decayMode_(decayMode) + { + //std::cout << ": Pt = " << pt_ << ", eta = " << eta_ << ", phi = " << phi_ << ", mass = " << mass_ << std::endl; + double minVisMass = electronMass; + double maxVisMass = tauLeptonMass; + std::string type_string; + if ( type_ == kTauToElecDecay ) { + minVisMass = electronMass; + maxVisMass = minVisMass; + } else if ( type_ == kTauToMuDecay ) { + minVisMass = muonMass; + maxVisMass = minVisMass; + } else if ( type_ == kTauToHadDecay ) { + if ( decayMode_ == -1 ) { + minVisMass = chargedPionMass; + maxVisMass = 1.5; + } else if ( decayMode_ == 0 ) { + minVisMass = chargedPionMass; + maxVisMass = minVisMass; + } else { + minVisMass = 0.3; + maxVisMass = 1.5; + } + } + preciseVisMass_ = mass_; + if ( preciseVisMass_ < (0.9*minVisMass) || preciseVisMass_ > (1.1*maxVisMass) ) { + std::string type_string; + if ( type_ == kTauToElecDecay ) type_string = "tau -> electron decay"; + else if ( type_ == kTauToMuDecay ) type_string = "tau -> muon decay"; + else if ( type_ == kTauToHadDecay ) type_string = "tau -> had decay"; + else if ( type_ == kPrompt ) type_string = "prompt lepton"; + else { + std::cerr << "Error: Invalid type " << type_ << " declared for leg: Pt = " << pt_ << ", eta = " << eta_ << ", phi = " << phi_ << ", mass = " << mass_ << " !!" << std::endl; + assert(0); + } + std::cerr << "Warning: " << type_string << " declared for leg: Pt = " << pt_ << ", eta = " << eta_ << ", phi = " << phi_ << ", mass = " << mass_ << " !!" << std::endl; + std::cerr << " (mass expected in the range = " << minVisMass << ".." << maxVisMass << ")" << std::endl; + } + if ( preciseVisMass_ < minVisMass ) preciseVisMass_ = minVisMass; + if ( preciseVisMass_ > maxVisMass ) preciseVisMass_ = maxVisMass; + initialize(); + } + /// copy constructor + MeasuredTauLepton(const MeasuredTauLepton& measuredTauLepton) + : type_(measuredTauLepton.type()), + pt_(measuredTauLepton.pt()), + eta_(measuredTauLepton.eta()), + phi_(measuredTauLepton.phi()), + mass_(measuredTauLepton.mass()), + decayMode_(measuredTauLepton.decayMode()) + { + preciseVisMass_ = measuredTauLepton.mass(); + initialize(); + } + /// default destructor + ~MeasuredTauLepton() {} + + void initialize() + { + momentum_ = pt_*TMath::CosH(eta_); + energy_ = TMath::Sqrt(momentum_*momentum_ + mass_*mass_); + px_ = pt_*TMath::Cos(phi_); + py_ = pt_*TMath::Sin(phi_); + pz_ = pt_*TMath::SinH(eta_); + p4_ = LorentzVector(px_, py_, pz_, energy_); + p_ = p4_.Vect(); + direction_ = p_.unit(); + } + + /// return pt of the measured tau lepton in labframe + double pt() const { return pt_; } + /// return px of the measured tau lepton in labframe + double px() const { return px_; } + /// return py of the measured tau lepton in labframe + double py() const { return py_; } + /// return visible mass in labframe + double mass() const { return preciseVisMass_; } + /// return visible energy in labframe + double energy() const { return energy_; } + /// return visible momenumt in labframe + double momentum() const { return momentum_; } + /// return pseudo-rapidity of the measured tau lepton in labframe + double eta() const { return eta_; } + /// return azimuthal angle of the measured tau lepton in labframe + double phi() const { return phi_; } + /// return decay type of the tau lepton + int type() const { return type_; } + /// return decay mode of the reconstructed hadronic tau decay + int decayMode() const { return decayMode_; } + /// return the spacial momentum vector in the labframe + Vector p() const { return p_; } + /// return the lorentz vector in the labframe + LorentzVector p4() const { return p4_; } + /// return the direction of the visible + Vector direction() const { return direction_; } + + private: + /// decay type + int type_; + /// visible momentum in labframe + double pt_; + double eta_; + double phi_; + double mass_; + double energy_; + double px_; + double py_; + double pz_; + double momentum_; + LorentzVector p4_; + Vector p_; + Vector direction_; + /// mass of visible tau decay products (recomputed to reduce rounding errors) + double preciseVisMass_; + /// decay mode (hadronic tau decays only) + int decayMode_; + }; + + /** + \class SVfitStandaloneLikelihood SVfitStandaloneLikelihood.h "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneLikelihood.h" + + \brief Negative log likelihood for a resonance decay into two tau leptons that may themselves decay hadronically or leptonically + + Negative log likelihood for a resonance decay into two tau leptons that may themselves decay hadronically or leptonically + Depending on the configuration during object creation it will be a combination of MET, TauToHad, TauToLep and additional + penalty terms, e.g. to suppress tails in m(tau,tau) (logM). Configurables during creation time are: + + \var measuredTauLeptons : the vector of the two reconstructed tau leptons + \var measuredMET : the spacial vector of the measured MET + \var covMET : the covariance matrix of the MET (as determined from the MEt significance for instance) + \verbose : indicating the verbosity level + + In fit mode additional optional values may be set before the fit is performed. During construction the class is initialized with + default values as indicated in braces (below): + + \var metPower : indicating an additional power to enhance the MET likelihood (default is 1.) + \var addLogM : specifying whether to use the LogM penalty term or not (default is true) + + A typical way to obtain the covariance matrix of the MET is to follow the MET significance algorithm as provided by RecoMET. + The SVfitStandaloneLikelihood class is for internal use only. The general use calse is to access it from the class + SVfitStandaloneAlgorithm as defined in interface/SVfitStandaloneAlgorithm.h in the same package. The SVfitLikelihood class + keeps all necessary information to calculate the combined likelihood but does not perform any fit nor integration. It is + interfaced to the ROOT minuit minimization package or to the VEGAS integration packages via the global function pointer + gSVfitStandaloneLikelihood as defined in src/SVfitStandaloneLikelihood.cc in the same package. + */ + + class SVfitStandaloneLikelihood + { + public: + /// error codes that can be read out by SVfitAlgorithm + enum ErrorCodes { + None = 0x00000000, + MatrixInversion = 0x00000001, + LeptonNumber = 0x00000010 + }; + /// constructor with a minimla set of configurables + SVfitStandaloneLikelihood(const std::vector& measuredTauLeptons, const svFitStandalone::Vector& measuredMET, const TMatrixD& covMET, bool verbose); + /// default destructor + ~SVfitStandaloneLikelihood() {} + /// static pointer to this (needed for the minuit function calls) + static const SVfitStandaloneLikelihood* gSVfitStandaloneLikelihood; + + /// add an additional logM(tau,tau) term to the nll to suppress tails on M(tau,tau) (default is false) + void addLogM(bool value, double power = 1.) { addLogM_ = value; powerLogM_ = power; } + /// add derrivative of delta-function + /// WARNING: to be used when SVfit is run in "integration" mode only + void addDelta(bool value) { addDelta_ = value; } + /// add a penalty term in case phi runs outside of interval + /// WARNING: to be used when SVfit is run in "fit" mode only + void addPhiPenalty(bool value) { addPhiPenalty_ = value; } + /// add sin(theta) term to likelihood for tau lepton decays + /// WARNING: to be used when SVfit is run in "fit" mode only + void addSinTheta(bool value) { addSinTheta_ = value; } + /// marginalize unknown mass of hadronic tau decay products (ATLAS case) + void marginalizeVisMass(bool value, const TH1* l1lutVisMass, const TH1* l2lutVisMass); + /// take resolution on energy and mass of hadronic tau decays into account + void shiftVisMass(bool value, const TH1* l1lutVisMassRes, const TH1* l2lutVisMassRes); + void shiftVisPt(bool value, const TH1* l1lutVisPtRes, const TH1* l2lutVisPtRes); + /// add a penalty term in case phi runs outside of interval + /// modify the MET term in the nll by an additional power (default is 1.) + void metPower(double value) { metPower_=value; }; + + /// flag to force prob to be zero in case of unphysical solutions + /// (to be used in integration, but not in fit mode, as MINUIT will get confused otherwise) + void requirePhysicalSolution(bool value) { requirePhysicalSolution_ = value; } + + /// fit function to be called from outside. Has to be const to be usable by minuit. This function will call the actual + /// functions transform and prob internally + double prob(const double* x, bool fixToMtest = false, double mtest = -1.) const; + /// read out potential likelihood errors + unsigned error() const { return errorCode_; } + + /// return vector of measured MET + const svFitStandalone::Vector& measuredMET() const { return measuredMET_; } + /// return vector of measured tau leptons + const std::vector& measuredTauLeptons() const { return measuredTauLeptons_; } + /// return vector of fitted tau leptons, which will be the actual fit result. This function is a subset of transform. + /// It needs to be factored out though as transform has to be const to be usable by minuit and therefore is not allowed + /// change the class members. + void results(std::vector& fittedTauLeptons, const double* x) const; + + protected: + /// transformation from x to xPrime, x are the actual fit parameters, xPrime are the transformed parameters that go into + /// the prob function. Has to be const to be usable by minuit. + const double* transform(double* xPrime, const double* x, bool fixToMtest, double mtest) const; + /// combined likelihood function. The same function os called for fit and integratino mode. Has to be const to be usable + /// by minuit/VEGAS/MarkovChain. The additional boolean phiPenalty is added to prevent singularities at the +/-pi boundaries + /// of kPhi within the fit parameters (kFitParams). It is only used in fit mode. In integration mode the passed on value + /// is always 0. + double prob(const double* xPrime, double phiPenalty) const; + + protected: + /// additional power to enhance MET term in the nll (default is 1.) + double metPower_; + /// add a logM penalty term in the nll + bool addLogM_; + double powerLogM_; + /// delta-function derrivative + bool addDelta_; + /// sin(theta) term in the nll + bool addSinTheta_; + /// add a penalty term in case phi runs outside of interval [-pi,+pi] + bool addPhiPenalty_; + /// verbosity level + bool verbose_; + /// monitor the number of function calls + mutable unsigned int idxObjFunctionCall_; + + /// measured tau leptons + std::vector measuredTauLeptons_; + /// measured MET + svFitStandalone::Vector measuredMET_; + /// transfer matrix for MET in (inverse covariance matrix) + TMatrixD invCovMET_; + /// determinant of the covariance matrix of MET + double covDet_; + /// error code that can be passed on + unsigned int errorCode_; + + /// flag to force prob to be zero in case of unphysical solutions + /// (to be used in integration, but not in fit mode, as MINUIT will get confused otherwise) + bool requirePhysicalSolution_; + + /// resolution on energy and mass of hadronic taus + bool marginalizeVisMass_; + const TH1* l1lutVisMass_; + const TH1* l2lutVisMass_; + bool shiftVisMass_; + const TH1* l1lutVisMassRes_; + const TH1* l2lutVisMassRes_; + bool shiftVisPt_; + const TH1* l1lutVisPtRes_; + const TH1* l2lutVisPtRes_; + }; +} + +#endif diff --git a/TauAnalysis/SVfitStandalone/interface/SVfitStandaloneMarkovChainIntegrator.h b/TauAnalysis/SVfitStandalone/interface/SVfitStandaloneMarkovChainIntegrator.h new file mode 100755 index 000000000000..0be245d67022 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/interface/SVfitStandaloneMarkovChainIntegrator.h @@ -0,0 +1,180 @@ +#ifndef TauAnalysis_SVfitStandalone_SVfitStandaloneMarkovChainIntegrator_h +#define TauAnalysis_SVfitStandalone_SVfitStandaloneMarkovChainIntegrator_h + +/** \class SVfitStandaloneMarkovChainIntegrator + * + * Generic class to perform Markov Chain type integration + * in N-dimensional space. + * + * The code is implemented following the description in: + * [1] "Probabilistic Inference Using Markov Chain Monte Carlo Methods", + * R. Neal, http://www.cs.toronto.edu/pub/radford/review.pdf + * [2] "Bayesian Training of Backpropagation Networks by the Hybrid Monte Carlo Method", + * R. Neal, http://www.cs.toronto.edu/pub/radford/bbp.ps + * + * NOTE: integrand and callBackFunctions passed to MarkovChainIntegrator class + * must not be deleted until all integrations have finished. + * + * \author Christian Veelken, LLR + * + */ + +#include +#include +#include +#include + +#include +#include +#include + +class SVfitStandaloneMarkovChainIntegrator +{ + public: + SVfitStandaloneMarkovChainIntegrator(const std::string&, unsigned, unsigned, unsigned, unsigned, double, double, unsigned, unsigned, double, double, double, int); + ~SVfitStandaloneMarkovChainIntegrator(); + +//--- set initial position of Markov Chain in N-dimensional space to given values, +// in order to start path of chain transitions from non-random point + void initializeStartPosition_and_Momentum(const std::vector&); + +//--- set function to evaluate the probability P(q) +// at every point q in the N-dimensional space in which the integration is performed. +// (eq. (11) in [2]) + void setIntegrand(const ROOT::Math::Functor&); + +//--- set function to evaluate "valid" (physically allowed) start-position + void setStartPosition_and_MomentumFinder(const ROOT::Math::Functor&); + +//--- register "call-back" functions: +// A user may register any number of "call-back" functions, +// which are evaluated in every iteration of the Markov Chain. +// The mechanism allows to compute expectation values +// of any number of observables, according to eq. (12) in [2]. +// The evaluation of "call-back" functions proceeds +// by calling ROOT::Math::Functor::operator(x). +// The argument x is a vector of dimensionality N, +// represent the current position q of the Markov Chain in the +// N-dimensional space in which the integration is performed. + void registerCallBackFunction(const ROOT::Math::Functor&); + + void integrate(const std::vector&, const std::vector&, double&, double&, int&); + + void print(std::ostream&) const; + + protected: + + void initializeStartPosition_and_Momentum(); + + void makeStochasticMove(unsigned, bool&, bool&); + void makeDynamicMoves(const std::vector&); + + void sampleSphericallyRandom(); + + void updateX(const std::vector&); + + double evalProb(const std::vector&); + double evalE(const std::vector&); + double evalK(const std::vector&, unsigned, unsigned); + + void updateGradE(std::vector&); + + std::string name_; + + const ROOT::Math::Functor* integrand_; + + const ROOT::Math::Functor* startPosition_and_MomentumFinder_; + + std::vector callBackFunctions_; + + // parameter defining whether to run integration in "Metropolis" or "Hybrid" mode + int moveMode_; + + // parameters defining integration region + // numDimensions: dimensionality of integration region (Hypercube) + // xMin: lower boundaries of integration region + // xMax: upper boundaries of integration region + // initMode: flag indicating how initial position of Markov Chain is chosen (uniform/Gaus distribution) + unsigned numDimensions_; + double* x_; + std::vector xMin_; // index = dimension + std::vector xMax_; // index = dimension + int initMode_; + + // parameters defining number of "stochastic moves" performed per integration + // numIterBurnin: number of "stochastic moves" performed to reach "ergodic" state of Markov Chain + // ("burnin" iterations do not enter the integral computation; + // their purpose is to make the computed integral value ~independent + // of the initial position at which the Markov Chain is started) + // numIterSampling: number of "stochastic moves" used to compute integral + unsigned numIterBurnin_; + unsigned numIterSampling_; + + // maximum number of attempts to find a valid starting-position for the Markov Chain + // (i.e. an initial point of non-zero probability) + unsigned maxCallsStartingPos_; + + // parameters defining "simulated annealing" stage at beginning of integration + // simAnnealingAlpha: number of "stochastic moves" performed at high temperature during "burnin" stage + // T0: initial annealing temperature + // alpha: speed parameter with which temperature decreases (~alpha^iteration) + unsigned numIterSimAnnealingPhase1_; + unsigned numIterSimAnnealingPhase2_; + unsigned numIterSimAnnealingPhase1plus2_; + double T0_; + double sqrtT0_; + double alpha_; + double alpha2_; + + // number of Markov Chains run in parallel + unsigned numChains_; + + // number of iterations per batch + // (used for estimation of uncertainty on computed integral value, + // according to eqs. (6.39) and (6.40) in [1]) + unsigned numBatches_; + + // parameters specific to "dynamic moves" + // dxDerr: step-sizes used for the purpose of computing derrivative of integrand + // L: number of "dynamical moves" performed per "stochastic move" + // epsilon0: average step-size used for "dynamical moves" + // nu: spread of step-sizes used for "dynamical moves" + typedef std::vector vdouble; + vdouble dqDerr_; // index = dimension + unsigned L_; + double epsilon0_; + vdouble epsilon0s_; + bool useVariableEpsilon0_; + double nu_; + + // random number generator + TRandom3 rnd_; + + // internal variables storing current state of Markov Chain + vdouble p_; + vdouble q_; + vdouble gradE_; + double prob_; + + // temporary variables used for computations + vdouble u_; + vdouble pProposal_; + vdouble qProposal_; + + vdouble probSum_; // index = chain*numBatches + batch + vdouble integral_; + + long numMoves_accepted_; + long numMoves_rejected_; + + unsigned numChainsRun_; + + long numIntegrationCalls_; + long numMovesTotal_accepted_; + long numMovesTotal_rejected_; + + int verbose_; // flag to enable/disable debug output +}; + +#endif + diff --git a/TauAnalysis/SVfitStandalone/interface/svFitStandaloneAuxFunctions.h b/TauAnalysis/SVfitStandalone/interface/svFitStandaloneAuxFunctions.h new file mode 100644 index 000000000000..01b09401ceb8 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/interface/svFitStandaloneAuxFunctions.h @@ -0,0 +1,79 @@ +#ifndef TauAnalysis_SVfitStandAlone_svFitStandAloneAuxFunctions_h +#define TauAnalysis_SVfitStandAlone_svFitStandAloneAuxFunctions_h + +#include +#include "Math/LorentzVector.h" +#include "Math/Vector3D.h" + +namespace svFitStandalone +{ + //----------------------------------------------------------------------------- + // define masses, widths and lifetimes of particles + // relevant for computing values of likelihood functions in SVfit algorithm + // + // NOTE: the values are taken from + // K. Nakamura et al. (Particle Data Group), + // J. Phys. G 37, 075021 (2010) + // + const double electronMass = 0.51100e-3; // GeV + const double electronMass2 = electronMass*electronMass; + const double muonMass = 0.10566; // GeV + const double muonMass2 = muonMass*muonMass; + + const double chargedPionMass = 0.13957; // GeV + const double chargedPionMass2 = chargedPionMass*chargedPionMass; + const double neutralPionMass = 0.13498; // GeV + const double neutralPionMass2 = neutralPionMass*neutralPionMass; + + const double tauLeptonMass = 1.77685; // GeV + const double tauLeptonMass2 = tauLeptonMass*tauLeptonMass; + const double tauLeptonMass3 = tauLeptonMass2*tauLeptonMass; + const double tauLeptonMass4 = tauLeptonMass3*tauLeptonMass; + const double cTauLifetime = 8.711e-3; // centimeters + //----------------------------------------------------------------------------- + + inline double square(double x) + { + return x*x; + } + + inline double cube(double x) + { + return x*x*x; + } + + inline double fourth(double x) + { + return x*x*x*x; + } + + /** + \typedef SVfitStandalone::Vector + \brief spacial momentum vector (equivalent to reco::Candidate::Vector) + */ + typedef ROOT::Math::DisplacementVector3D > Vector; + /** + \typedef SVfitStandalone::LorentzVector + \brief lorentz vector (equivalent to reco::Candidate::LorentzVector) + */ + typedef ROOT::Math::LorentzVector > LorentzVector; + + double roundToNdigits(double, int = 3); + + /// Determine Gottfried-Jackson angle from visible energy fraction X + double gjAngleLabFrameFromX(double, double, double, double, double, double, bool&); + + /// Determine visible tau rest frame energy given visible mass and neutrino mass + double pVisRestFrame(double, double, double); + + /// Determine the tau direction given our parameterization + Vector motherDirection(const Vector&, double, double); + + /// Compute the tau four vector given the tau direction and momentum + LorentzVector motherP4(const Vector&, double, double); + + /// Extract maximum, mean and { 0.84, 0.50, 0.16 } quantiles of distribution + void extractHistogramProperties(const TH1*, const TH1*, double&, double&, double&, double&, double&, double&, double&, double&, int = 0); +} + +#endif diff --git a/TauAnalysis/SVfitStandalone/python/MeasuredTauLepton.py b/TauAnalysis/SVfitStandalone/python/MeasuredTauLepton.py new file mode 100644 index 000000000000..c2eee1ebbf79 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/python/MeasuredTauLepton.py @@ -0,0 +1,19 @@ +from TauAnalysis.SVfitStandalone import loadlibs + +from ROOT import svFitStandalone + +# importing the python binding to the C++ class from ROOT + +class measuredTauLepton( svFitStandalone.MeasuredTauLepton ): + ''' + decayType : { + 0:kUndefinedDecayType, + 1:kTauToHadDecay, + 2:kTauToElecDecay, + 3:kTauToMuDecay, + 4:kPrompt + } + ''' + + def __init__(self, decayType, pt, eta, phi, mass, decayMode=-1): + super(measuredTauLepton, self).__init__(decayType, pt, eta, phi, mass, decayMode) diff --git a/TauAnalysis/SVfitStandalone/python/SVfitStandaloneAlgorithm.py b/TauAnalysis/SVfitStandalone/python/SVfitStandaloneAlgorithm.py new file mode 100644 index 000000000000..283eccd0137d --- /dev/null +++ b/TauAnalysis/SVfitStandalone/python/SVfitStandaloneAlgorithm.py @@ -0,0 +1,14 @@ +from TauAnalysis.SVfitStandalone import loadlibs + +from ROOT import SVfitStandaloneAlgorithm + +# importing the python binding to the C++ class from ROOT + +class SVfitAlgo( SVfitStandaloneAlgorithm ): + '''Just an additional wrapper, not really needed :-) + We just want to illustrate the fact that you could + use such a wrapper to add functions, attributes, etc, + in an improved interface to the original C++ class. + ''' + def __init__ (self, *args) : + super(SVfitAlgo, self).__init__(*args) diff --git a/TauAnalysis/SVfitStandalone/python/loadlibs.py b/TauAnalysis/SVfitStandalone/python/loadlibs.py new file mode 100644 index 000000000000..b15b28f8bbfc --- /dev/null +++ b/TauAnalysis/SVfitStandalone/python/loadlibs.py @@ -0,0 +1,17 @@ +from ROOT import gROOT,gSystem + +def load_libs(): + print 'loading FWLite.' + #load the libaries needed + gSystem.Load("libFWCoreFWLite") + gROOT.ProcessLine('AutoLibraryLoader::enable();') + gSystem.Load("libFWCoreFWLite") + gSystem.Load("libCintex") + gROOT.ProcessLine('ROOT::Cintex::Cintex::Enable();') + + #now the SVfit stuff + gSystem.Load("libTauAnalysisSVfitStandalone") + gSystem.Load("pluginTauAnalysisSVfitStandaloneCapabilities") + +load_libs() + diff --git a/TauAnalysis/SVfitStandalone/src/LikelihoodFunctions.cc b/TauAnalysis/SVfitStandalone/src/LikelihoodFunctions.cc new file mode 100644 index 000000000000..ec65982644da --- /dev/null +++ b/TauAnalysis/SVfitStandalone/src/LikelihoodFunctions.cc @@ -0,0 +1,176 @@ +#include "TauAnalysis/SVfitStandalone/interface/LikelihoodFunctions.h" + +#include "TauAnalysis/SVfitStandalone/interface/svFitStandaloneAuxFunctions.h" + +#include + +#include + +using namespace svFitStandalone; + +double +probMET(double dMETX, double dMETY, double covDet, const TMatrixD& covInv, double power, bool verbose) +{ +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << ":" << std::endl; + std::cout << " dMETX = " << dMETX << std::endl; + std::cout << " dMETY = " << dMETY << std::endl; + std::cout << " covDet = " << covDet << std::endl; + std::cout << " covInv:" << std::endl; + covInv.Print(); + } +#endif + double nll = 0.; + if ( covDet != 0. ) { + nll = TMath::Log(2.*TMath::Pi()) + 0.5*TMath::Log(TMath::Abs(covDet)) + + 0.5*(dMETX*(covInv(0,0)*dMETX + covInv(0,1)*dMETY) + dMETY*(covInv(1,0)*dMETX + covInv(1,1)*dMETY)); + } else { + nll = std::numeric_limits::max(); + } + double prob = TMath::Exp(-power*nll); + if ( verbose ) { + std::cout << "--> prob = " << prob << std::endl; + } + return prob; +} + +double +probTauToLepMatrixElement(double decayAngle, double nunuMass, double visMass, double x, bool applySinTheta, bool verbose) +{ +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << ":" << std::endl; + std::cout << " decayAngle = " << decayAngle << std::endl; + std::cout << " nunuMass = " << nunuMass << std::endl; + std::cout << " visMass = " << visMass << std::endl; + std::cout << " x = " << x << std::endl; + std::cout << " applySinTheta = " << applySinTheta << std::endl; + } +#endif + double nuMass2 = nunuMass*nunuMass; + // protect against rounding errors that may lead to negative masses + if ( nunuMass < 0. ) nunuMass = 0.; + double prob = 0.; + if ( nunuMass < TMath::Sqrt((1. - x)*tauLeptonMass2) ) { // LB: physical solution + prob = (13./tauLeptonMass4)*(tauLeptonMass2 - nuMass2)*(tauLeptonMass2 + 2.*nuMass2)*nunuMass; + } else { + double nunuMass_limit = TMath::Sqrt((1. - x)*tauLeptonMass2); + double nunuMass2_limit = nunuMass_limit*nunuMass_limit; + prob = (13./tauLeptonMass4)*(tauLeptonMass2 - nunuMass2_limit)*(tauLeptonMass2 + 2.*nunuMass2_limit)*nunuMass_limit; + prob /= (1. + 1.e+6*TMath::Power(nunuMass - nunuMass_limit, 2.)); + } + if ( applySinTheta ) prob *= (0.5*TMath::Sin(decayAngle)); +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << "--> prob = " << prob << std::endl; + } +#endif + return prob; +} + +double +probTauToHadPhaseSpace(double decayAngle, double nunuMass, double visMass, double x, bool applySinTheta, bool verbose) +{ +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << ":" << std::endl; + std::cout << " decayAngle = " << decayAngle << std::endl; + std::cout << " nunuMass = " << nunuMass << std::endl; + std::cout << " visMass = " << visMass << std::endl; + std::cout << " x = " << x << std::endl; + std::cout << " applySinTheta = " << applySinTheta << std::endl; + } +#endif + double Pvis_rf = svFitStandalone::pVisRestFrame(visMass, nunuMass, svFitStandalone::tauLeptonMass); + double visMass2 = visMass*visMass; + double prob = tauLeptonMass/(2.*Pvis_rf); + if ( x < (visMass2/tauLeptonMass2) ) { + double x_limit = visMass2/tauLeptonMass2; + prob /= (1. + 1.e+6*TMath::Power(x - x_limit, 2.)); + } else if ( x > 1. ) { + double visEnFracX_limit = 1.; + prob /= (1. + 1.e+6*TMath::Power(x - visEnFracX_limit, 2.)); + } + if ( applySinTheta ) prob *= (0.5*TMath::Sin(decayAngle)); +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << "--> prob = " << prob << std::endl; + } +#endif + return prob; +} + +namespace +{ + double extractProbFromLUT(double x, const TH1* lut) + { + //std::cout << ":" << std::endl; + //std::cout << " lut = " << lut->GetName() << " (type = " << lut->ClassName() << ")" << std::endl; + //std::cout << " x = " << x << std::endl; + int bin = (const_cast(lut))->FindBin(x); + int numBins = lut->GetNbinsX(); + if ( bin < 1 ) bin = 1; + if ( bin > numBins ) bin = numBins; + //std::cout << "bin = " << bin << " (numBins = " << numBins << ")" << std::endl; + return lut->GetBinContent(bin); + } +} + +double +probVisMass(double visMass, const TH1* lutVisMass, bool verbose) +{ +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << ":" << std::endl; + std::cout << " visMass = " << deltaVisMass << std::endl; + } +#endif + double prob = ( lutVisMass ) ? extractProbFromLUT(visMass, lutVisMass) : 1.0; +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << "--> prob = " << prob << std::endl; + } +#endif + return prob; +} + +double +probVisMassShift(double deltaVisMass, const TH1* lutVisMassRes, bool verbose) +{ +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << ":" << std::endl; + std::cout << " deltaVisMass = " << deltaVisMass << std::endl; + } +#endif + double prob = ( lutVisMassRes ) ? extractProbFromLUT(deltaVisMass, lutVisMassRes) : 1.0; +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << "--> prob = " << prob << std::endl; + } +#endif + return prob; +} + +double +probVisPtShift(double recTauPtDivGenTauPt, const TH1* lutVisPtRes, bool verbose) +{ +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << ":" << std::endl; + std::cout << " recTauPtDivGenTauPt = " << recTauPtDivGenTauPt << std::endl; + } +#endif + double prob = ( lutVisPtRes ) ? extractProbFromLUT(recTauPtDivGenTauPt, lutVisPtRes) : 1.0; + // CV: account for Jacobi factor + double genTauPtDivRecTauPt = ( recTauPtDivGenTauPt > 0. ) ? + (1./recTauPtDivGenTauPt) : 1.e+1; + prob *= genTauPtDivRecTauPt; +#ifdef SVFIT_DEBUG + if ( verbose ) { + std::cout << "--> prob = " << prob << std::endl; + } +#endif + return prob; +} diff --git a/TauAnalysis/SVfitStandalone/src/LinkDef.h b/TauAnalysis/SVfitStandalone/src/LinkDef.h new file mode 100644 index 000000000000..a0f96d1c8dcd --- /dev/null +++ b/TauAnalysis/SVfitStandalone/src/LinkDef.h @@ -0,0 +1,9 @@ +#include "../interface/SVfitStandaloneLikelihood.h" +#include "vector" +#ifdef __CINT__ +#pragma link C++ nestedclasses; +#pragma link C++ nestedtypedefs; +#pragma link C++ class svFitStandalone::MeasuredTauLepton+; +#pragma link C++ class svFitStandalone::MeasuredTauLepton::*+; +#pragma link C++ class vector+; +#endif diff --git a/TauAnalysis/SVfitStandalone/src/SVfitStandaloneAlgorithm.cc b/TauAnalysis/SVfitStandalone/src/SVfitStandaloneAlgorithm.cc new file mode 100644 index 000000000000..68024d8e2a34 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/src/SVfitStandaloneAlgorithm.cc @@ -0,0 +1,1041 @@ +#include "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneAlgorithm.h" + +#include "Math/Factory.h" +#include "Math/Functor.h" +#include "Math/GSLMCIntegrator.h" +#include "Math/LorentzVector.h" +#include "Math/PtEtaPhiM4D.h" + +#include + +namespace svFitStandalone +{ + TH1* makeHistogram(const std::string& histogramName, double xMin, double xMax, double logBinWidth) + { + if(xMin <= 0) + xMin = 0.1; + int numBins = 1 + TMath::Log(xMax/xMin)/TMath::Log(logBinWidth); + TArrayF binning(numBins + 1); + binning[0] = 0.; + double x = xMin; + for ( int iBin = 1; iBin <= numBins; ++iBin ) { + binning[iBin] = x; + x *= logBinWidth; + } + TH1* histogram = new TH1D(histogramName.data(), histogramName.data(), numBins, binning.GetArray()); + return histogram; + } + void compHistogramDensity(const TH1* histogram, TH1* histogram_density) + { + for ( int iBin = 1; iBin <= histogram->GetNbinsX(); ++iBin ) { + double binContent = histogram->GetBinContent(iBin); + double binError = histogram->GetBinError(iBin); + double binWidth = histogram->GetBinWidth(iBin); + //if ( histogram == histogramMass_ ) { + // TAxis* xAxis = histogram->GetXaxis(); + // std::cout << "bin #" << iBin << " (x = " << xAxis->GetBinLowEdge(iBin) << ".." << xAxis->GetBinUpEdge(iBin) << ", width = " << binWidth << "):" + // << " " << binContent << " +/- " << binError << std::endl; + //} + assert(binWidth > 0.); + histogram_density->SetBinContent(iBin, binContent/binWidth); + histogram_density->SetBinError(iBin, binError/binWidth); + } + } + double extractValue(const TH1* histogram, TH1* histogram_density) + { + double maximum, maximum_interpol, mean, quantile016, quantile050, quantile084, mean3sigmaWithinMax, mean5sigmaWithinMax; + compHistogramDensity(histogram, histogram_density); + svFitStandalone::extractHistogramProperties(histogram, histogram_density, maximum, maximum_interpol, mean, quantile016, quantile050, quantile084, mean3sigmaWithinMax, mean5sigmaWithinMax); + //double value = maximum_interpol; + double value = maximum; + return value; + } + double extractUncertainty(const TH1* histogram, TH1* histogram_density) + { + double maximum, maximum_interpol, mean, quantile016, quantile050, quantile084, mean3sigmaWithinMax, mean5sigmaWithinMax; + compHistogramDensity(histogram, histogram_density); + svFitStandalone::extractHistogramProperties(histogram, histogram_density, maximum, maximum_interpol, mean, quantile016, quantile050, quantile084, mean3sigmaWithinMax, mean5sigmaWithinMax); + //double uncertainty = TMath::Sqrt(0.5*(TMath::Power(quantile084 - maximum_interpol, 2.) + TMath::Power(maximum_interpol - quantile016, 2.))); + double uncertainty = TMath::Sqrt(0.5*(TMath::Power(quantile084 - maximum, 2.) + TMath::Power(maximum - quantile016, 2.))); + return uncertainty; + } + double extractLmax(const TH1* histogram, TH1* histogram_density) + { + compHistogramDensity(histogram, histogram_density); + double Lmax = histogram_density->GetMaximum(); + return Lmax; + } + + void map_xVEGAS(const double* x, bool l1isLep, bool l2isLep, bool marginalizeVisMass, bool shiftVisMass, bool shiftVisPt, double mvis, double mtest, double* x_mapped) + { + int offset1 = 0; + if ( l1isLep ) { + x_mapped[kXFrac] = x[0]; + x_mapped[kMNuNu] = x[1]; + x_mapped[kPhi] = x[2]; + x_mapped[kVisMassShifted] = 0.; + x_mapped[kRecTauPtDivGenTauPt] = 0.; + offset1 = 3; + } else { + x_mapped[kXFrac] = x[0]; + x_mapped[kMNuNu] = 0.; + x_mapped[kPhi] = x[1]; + offset1 = 2; + if ( marginalizeVisMass || shiftVisMass ) { + x_mapped[kVisMassShifted] = x[offset1]; + ++offset1; + } else { + x_mapped[kVisMassShifted] = 0.; + } + if ( shiftVisPt ) { + x_mapped[kRecTauPtDivGenTauPt] = x[offset1]; + ++offset1; + } else { + x_mapped[kRecTauPtDivGenTauPt] = 0.; + } + } + double x2 = ( x[0] > 0. ) ? TMath::Power(mvis/mtest, 2.)/x[0] : 1.e+3; + int offset2 = 0; + if ( l2isLep ) { + x_mapped[kMaxFitParams + kXFrac] = x2; + x_mapped[kMaxFitParams + kMNuNu] = x[offset1 + 0]; + x_mapped[kMaxFitParams + kPhi] = x[offset1 + 1]; + x_mapped[kMaxFitParams + kVisMassShifted] = 0.; + x_mapped[kMaxFitParams + kRecTauPtDivGenTauPt] = 0.; + offset2 = 2; + } else { + x_mapped[kMaxFitParams + kXFrac] = x2; + x_mapped[kMaxFitParams + kMNuNu] = 0.; + x_mapped[kMaxFitParams + kPhi] = x[offset1 + 0]; + offset2 = 1; + if ( marginalizeVisMass || shiftVisMass ) { + x_mapped[kMaxFitParams + kVisMassShifted] = x[offset1 + offset2]; + ++offset2; + } else { + x_mapped[kMaxFitParams + kVisMassShifted] = 0.; + } + if ( shiftVisPt ) { + x_mapped[kMaxFitParams + kRecTauPtDivGenTauPt] = x[offset1 + offset2]; + ++offset2; + } else { + x_mapped[kMaxFitParams + kRecTauPtDivGenTauPt] = 0.; + } + } + //std::cout << ":" << std::endl; + //for ( int i = 0; i < 10; ++i ) { + // std::cout << " x_mapped[" << i << "] = " << x_mapped[i] << std::endl; + //} + //assert(0); + } + + void map_xMarkovChain(const double* x, bool l1isLep, bool l2isLep, bool marginalizeVisMass, bool shiftVisMass, bool shiftVisPt, double* x_mapped) + { + int offset1 = 0; + if ( l1isLep ) { + x_mapped[kXFrac] = x[0]; + x_mapped[kMNuNu] = x[1]; + x_mapped[kPhi] = x[2]; + x_mapped[kVisMassShifted] = 0.; + x_mapped[kRecTauPtDivGenTauPt] = 0.; + offset1 = 3; + } else { + x_mapped[kXFrac] = x[0]; + x_mapped[kMNuNu] = 0.; + x_mapped[kPhi] = x[1]; + offset1 = 2; + if ( marginalizeVisMass || shiftVisMass ) { + x_mapped[kVisMassShifted] = x[offset1]; + ++offset1; + } else { + x_mapped[kVisMassShifted] = 0.; + } + if ( shiftVisPt ) { + x_mapped[kRecTauPtDivGenTauPt] = x[offset1]; + ++offset1; + } else { + x_mapped[kRecTauPtDivGenTauPt] = 0.; + } + } + int offset2 = 0; + if ( l2isLep ) { + x_mapped[kMaxFitParams + kXFrac] = x[offset1 + 0]; + x_mapped[kMaxFitParams + kMNuNu] = x[offset1 + 1]; + x_mapped[kMaxFitParams + kPhi] = x[offset1 + 2]; + x_mapped[kMaxFitParams + kVisMassShifted] = 0.; + x_mapped[kMaxFitParams + kRecTauPtDivGenTauPt] = 0.; + offset2 = 3; + } else { + x_mapped[kMaxFitParams + kXFrac] = x[offset1 + 0]; + x_mapped[kMaxFitParams + kMNuNu] = 0.; + x_mapped[kMaxFitParams + kPhi] = x[offset1 + 1]; + offset2 = 2; + if ( marginalizeVisMass || shiftVisMass ) { + x_mapped[kMaxFitParams + kVisMassShifted] = x[offset1 + offset2]; + ++offset2; + } else { + x_mapped[kMaxFitParams + kVisMassShifted] = 0.; + } + if ( shiftVisPt ) { + x_mapped[kMaxFitParams + kRecTauPtDivGenTauPt] = x[offset1 + offset2]; + ++offset2; + } else { + x_mapped[kMaxFitParams + kRecTauPtDivGenTauPt] = 0.; + } + } + //std::cout << ":" << std::endl; + //for ( int i = 0; i < 6; ++i ) { + // std::cout << " x_mapped[" << i << "] = " << x_mapped[i] << std::endl; + //} + } +} + +SVfitStandaloneAlgorithm::SVfitStandaloneAlgorithm(const std::vector& measuredTauLeptons, double measuredMETx, double measuredMETy, const TMatrixD& covMET, + unsigned int verbose) + : fitStatus_(-1), + verbose_(verbose), + maxObjFunctionCalls_(10000), + standaloneObjectiveFunctionAdapterVEGAS_(0), + mcObjectiveFunctionAdapter_(0), + mcPtEtaPhiMassAdapter_(0), + integrator2_(0), + integrator2_nDim_(0), + isInitialized2_(false), + maxObjFunctionCalls2_(100000), + marginalizeVisMass_(false), + lutVisMassAllDMs_(0), + shiftVisMass_(false), + lutVisMassResDM0_(0), + lutVisMassResDM1_(0), + lutVisMassResDM10_(0), + shiftVisPt_(false), + lutVisPtResDM0_(0), + lutVisPtResDM1_(0), + lutVisPtResDM10_(0) +{ + // instantiate minuit, the arguments might turn into configurables once + minimizer_ = ROOT::Math::Factory::CreateMinimizer("Minuit2", "Migrad"); + // instantiate the combined likelihood + svFitStandalone::Vector measuredMET_rounded(svFitStandalone::roundToNdigits(measuredMETx), svFitStandalone::roundToNdigits(measuredMETy), 0.); + TMatrixD covMET_rounded(2, 2); + covMET_rounded[0][0] = svFitStandalone::roundToNdigits(covMET[0][0]); + covMET_rounded[1][0] = svFitStandalone::roundToNdigits(covMET[1][0]); + covMET_rounded[0][1] = svFitStandalone::roundToNdigits(covMET[0][1]); + covMET_rounded[1][1] = svFitStandalone::roundToNdigits(covMET[1][1]); + nll_ = new svFitStandalone::SVfitStandaloneLikelihood(measuredTauLeptons, measuredMET_rounded, covMET_rounded, (verbose_ > 2)); + nllStatus_ = nll_->error(); + + standaloneObjectiveFunctionAdapterVEGAS_ = new svFitStandalone::ObjectiveFunctionAdapterVEGAS(); + + clock_ = new TBenchmark(); +} + +SVfitStandaloneAlgorithm::~SVfitStandaloneAlgorithm() +{ + delete nll_; + delete minimizer_; + delete standaloneObjectiveFunctionAdapterVEGAS_; + delete mcObjectiveFunctionAdapter_; + delete mcPtEtaPhiMassAdapter_; + delete integrator2_; + //delete lutVisMassAllDMs_; + //delete lutVisMassResDM0_; + //delete lutVisMassResDM1_; + //delete lutVisMassResDM10_; + //delete lutVisPtResDM0_; + //delete lutVisPtResDM1_; + //delete lutVisPtResDM10_; + + delete clock_; +} + +namespace +{ + TH1* readHistogram(TFile* inputFile, const std::string& histogramName) + { + TH1* histogram = dynamic_cast(inputFile->Get(histogramName.data())); + if ( !histogram ) { + std::cerr << ": Failed to load histogram = " << histogramName << " from file = " << inputFile->GetName() << " !!" << std::endl; + assert(0); + } + return histogram; + } +} + +void +SVfitStandaloneAlgorithm::marginalizeVisMass(bool value, TFile* inputFile) +{ + marginalizeVisMass_ = value; + if ( marginalizeVisMass_ ) { + delete lutVisMassAllDMs_; + TH1* lutVisMassAllDMs_tmp = readHistogram(inputFile, "DQMData/genTauMassAnalyzer/genTauJetMass"); + if ( lutVisMassAllDMs_tmp->GetNbinsX() >= 1000 ) lutVisMassAllDMs_tmp->Rebin(100); + lutVisMassAllDMs_ = lutVisMassAllDMs_tmp; + } +} + +void +SVfitStandaloneAlgorithm::marginalizeVisMass(bool value, const TH1* lut) +{ + marginalizeVisMass_ = value; + if ( marginalizeVisMass_ ) { + lutVisMassAllDMs_ = lut; + } +} + +void +SVfitStandaloneAlgorithm::shiftVisMass(bool value, TFile* inputFile) +{ + shiftVisMass_ = value; + if ( shiftVisMass_ ) { + delete lutVisMassResDM0_; + lutVisMassResDM0_ = readHistogram(inputFile, "recMinusGenTauMass_recDecayModeEq0"); + delete lutVisMassResDM1_; + lutVisMassResDM1_ = readHistogram(inputFile, "recMinusGenTauMass_recDecayModeEq1"); + delete lutVisMassResDM10_; + lutVisMassResDM10_ = readHistogram(inputFile, "recMinusGenTauMass_recDecayModeEq10"); + } +} + +void +SVfitStandaloneAlgorithm::shiftVisPt(bool value, TFile* inputFile) +{ + shiftVisPt_ = value; + if ( shiftVisPt_ ) { + delete lutVisPtResDM0_; + lutVisPtResDM0_ = readHistogram(inputFile, "recTauPtDivGenTauPt_recDecayModeEq0"); + delete lutVisPtResDM1_; + lutVisPtResDM1_ = readHistogram(inputFile, "recTauPtDivGenTauPt_recDecayModeEq1"); + delete lutVisPtResDM10_; + lutVisPtResDM10_ = readHistogram(inputFile, "recTauPtDivGenTauPt_recDecayModeEq10"); + } +} + +void +SVfitStandaloneAlgorithm::setup() +{ + using namespace svFitStandalone; + + //if ( verbose_ >= 1 ) { + // std::cout << ":" << std::endl; + //} + for ( size_t idx = 0; idx < nll_->measuredTauLeptons().size(); ++idx ) { + const MeasuredTauLepton& measuredTauLepton = nll_->measuredTauLeptons()[idx]; + //if ( verbose_ >= 1 ) { + // std::cout << " --> upper limit of leg1::mNuNu will be set to "; + // if ( measuredTauLepton.type() == kTauToHadDecay ) { + // std::cout << "0"; + // } else { + // std::cout << (svFitStandalone::tauLeptonMass - TMath::Min(measuredTauLepton.mass(), 1.5)); + // } + // std::cout << std::endl; + //} + // start values for xFrac + minimizer_->SetLimitedVariable( + idx*kMaxFitParams + kXFrac, + std::string(TString::Format("leg%i::xFrac", (int)idx + 1)).c_str(), + 0.5, 0.1, 0., 1.); + // start values for nunuMass (leptonic tau decays only) + if ( measuredTauLepton.type() == kTauToHadDecay ) { + minimizer_->SetFixedVariable( + idx*kMaxFitParams + kMNuNu, + std::string(TString::Format("leg%i::mNuNu", (int)idx + 1)).c_str(), + 0.); + } else { + minimizer_->SetLimitedVariable( + idx*kMaxFitParams + kMNuNu, + std::string(TString::Format("leg%i::mNuNu", (int)idx + 1)).c_str(), + 0.8, 0.10, 0., svFitStandalone::tauLeptonMass - TMath::Min(measuredTauLepton.mass(), 1.5)); + } + // start values for phi + minimizer_->SetVariable( + idx*kMaxFitParams + kPhi, + std::string(TString::Format("leg%i::phi", (int)idx + 1)).c_str(), + 0.0, 0.25); + // start values for Pt and mass of visible tau decay products (hadronic tau decays only) + if ( measuredTauLepton.type() == kTauToHadDecay && (marginalizeVisMass_ || shiftVisMass_) ) { + minimizer_->SetLimitedVariable( + idx*kMaxFitParams + kVisMassShifted, + std::string(TString::Format("leg%i::mVisShift", (int)idx + 1)).c_str(), + 0.8, 0.10, svFitStandalone::chargedPionMass, svFitStandalone::tauLeptonMass); + } else { + minimizer_->SetFixedVariable( + idx*kMaxFitParams + kVisMassShifted, + std::string(TString::Format("leg%i::mVisShift", (int)idx + 1)).c_str(), + measuredTauLepton.mass()); + } + if ( measuredTauLepton.type() == kTauToHadDecay && shiftVisPt_ ) { + minimizer_->SetLimitedVariable( + idx*kMaxFitParams + kRecTauPtDivGenTauPt, + std::string(TString::Format("leg%i::tauPtDivGenVisPt", (int)idx + 1)).c_str(), + 0., 0.10, -1., +1.5); + } else { + minimizer_->SetFixedVariable( + idx*kMaxFitParams + kRecTauPtDivGenTauPt, + std::string(TString::Format("leg%i::tauPtDivGenVisPt", (int)idx + 1)).c_str(), + 0.); + } + } +} + +void +SVfitStandaloneAlgorithm::fit() +{ + //if ( verbose_ >= 1 ) { + // std::cout << "" << std::endl + // << " dimension of fit : " << nll_->measuredTauLeptons().size()*svFitStandalone::kMaxFitParams << std::endl + // << " maxObjFunctionCalls : " << maxObjFunctionCalls_ << std::endl; + //} + // clear minimizer + minimizer_->Clear(); + // set verbosity level of minimizer + minimizer_->SetPrintLevel(-1); + // setup the function to be called and the dimension of the fit + ROOT::Math::Functor toMinimize(standaloneObjectiveFunctionAdapterMINUIT_, nll_->measuredTauLeptons().size()*svFitStandalone::kMaxFitParams); + minimizer_->SetFunction(toMinimize); + setup(); + minimizer_->SetMaxFunctionCalls(maxObjFunctionCalls_); + // set Minuit strategy = 2, in order to get reliable error estimates: + // http://www-cdf.fnal.gov/physics/statistics/recommendations/minuit.html + minimizer_->SetStrategy(2); + // compute uncertainties for increase of objective function by 0.5 wrt. + // minimum (objective function is log-likelihood function) + minimizer_->SetErrorDef(0.5); + //if ( verbose_ >= 1 ) { + // std::cout << "starting ROOT::Math::Minimizer::Minimize..." << std::endl; + // std::cout << " #freeParameters = " << minimizer_->NFree() << "," + // << " #constrainedParameters = " << (minimizer_->NDim() - minimizer_->NFree()) << std::endl; + //} + // do the minimization + nll_->addDelta(false); + nll_->addSinTheta(true); + nll_->requirePhysicalSolution(false); + minimizer_->Minimize(); + //if ( verbose_ >= 2 ) { + // minimizer_->PrintResults(); + //}; + /* get Minimizer status code, check if solution is valid: + + 0: Valid solution + 1: Covariance matrix was made positive definite + 2: Hesse matrix is invalid + 3: Estimated distance to minimum (EDM) is above maximum + 4: Reached maximum number of function calls before reaching convergence + 5: Any other failure + */ + fitStatus_ = minimizer_->Status(); + //if ( verbose_ >=1 ) { + // std::cout << "--> fitStatus = " << fitStatus_ << std::endl; + //} + + // and write out the result + using svFitStandalone::kXFrac; + using svFitStandalone::kMNuNu; + using svFitStandalone::kPhi; + using svFitStandalone::kMaxFitParams; + // update di-tau system with final fit results + nll_->results(fittedTauLeptons_, minimizer_->X()); + // determine uncertainty of the fitted di-tau mass + double x1RelErr = minimizer_->Errors()[kXFrac]/minimizer_->X()[kXFrac]; + double x2RelErr = minimizer_->Errors()[kMaxFitParams + kXFrac]/minimizer_->X()[kMaxFitParams + kXFrac]; + // this gives a unified treatment for retrieving the result for integration mode and fit mode + fittedDiTauSystem_ = fittedTauLeptons_[0] + fittedTauLeptons_[1]; + mass_ = fittedDiTauSystem().mass(); + massUncert_ = TMath::Sqrt(0.25*x1RelErr*x1RelErr + 0.25*x2RelErr*x2RelErr)*fittedDiTauSystem().mass(); + //if ( verbose_ >= 2 ) { + // std::cout << ">> -------------------------------------------------------------" << std::endl; + // std::cout << ">> Resonance Record: " << std::endl; + // std::cout << ">> -------------------------------------------------------------" << std::endl; + // std::cout << ">> pt (di-tau) = " << fittedDiTauSystem().pt () << std::endl; + // std::cout << ">> eta (di-tau) = " << fittedDiTauSystem().eta () << std::endl; + // std::cout << ">> phi (di-tau) = " << fittedDiTauSystem().phi () << std::endl; + // std::cout << ">> mass(di-tau) = " << fittedDiTauSystem().mass() << std::endl; + // std::cout << ">> massUncert = " << massUncert_ << std::endl + // << " error[xFrac1] = " << minimizer_->Errors()[svFitStandalone::kXFrac] << std::endl + // << " value[xFrac1] = " << minimizer_->X()[svFitStandalone::kXFrac] << std::endl + // << " error[xFrac2] = " << minimizer_->Errors()[svFitStandalone::kMaxFitParams+kXFrac] << std::endl + // << " value[xFrac2] = " << minimizer_->X()[svFitStandalone::kMaxFitParams+kXFrac] << std::endl; + // for ( size_t leg = 0; leg < 2 ; ++leg ) { + // std::cout << ">> -------------------------------------------------------------" << std::endl; + // std::cout << ">> Leg " << leg+1 << " Record: " << std::endl; + // std::cout << ">> -------------------------------------------------------------" << std::endl; + // std::cout << ">> pt (meas) = " << nll_->measuredTauLeptons()[leg].p4().pt () << std::endl; + // std::cout << ">> eta (meas) = " << nll_->measuredTauLeptons()[leg].p4().eta() << std::endl; + // std::cout << ">> phi (meas) = " << nll_->measuredTauLeptons()[leg].p4().phi() << std::endl; + // std::cout << ">> pt (fit ) = " << fittedTauLeptons()[leg].pt () << std::endl; + // std::cout << ">> eta (fit ) = " << fittedTauLeptons()[leg].eta() << std::endl; + // std::cout << ">> phi (fit ) = " << fittedTauLeptons()[leg].phi() << std::endl; + // } + //} +} + +void +SVfitStandaloneAlgorithm::integrateVEGAS(const std::string& likelihoodFileName) +{ + using namespace svFitStandalone; + + if ( verbose_ >= 1 ) { + std::cout << ":" << std::endl; + clock_->Start(""); + } + + // number of parameters for fit + int nDim = 0; + l1isLep_ = false; + l2isLep_ = false; + const TH1* l1lutVisMass = 0; + const TH1* l1lutVisMassRes = 0; + const TH1* l1lutVisPtRes = 0; + const TH1* l2lutVisMass = 0; + const TH1* l2lutVisMassRes = 0; + const TH1* l2lutVisPtRes = 0; + for ( size_t idx = 0; idx < nll_->measuredTauLeptons().size(); ++idx ) { + const MeasuredTauLepton& measuredTauLepton = nll_->measuredTauLeptons()[idx]; + if ( idx == 0 ) { + idxFitParLeg1_ = 0; + if ( measuredTauLepton.type() == kTauToHadDecay ) { + if ( marginalizeVisMass_ ) { + l1lutVisMass = lutVisMassAllDMs_; + } + if ( shiftVisMass_ ) { + if ( measuredTauLepton.decayMode() == 0 ) { + l1lutVisMassRes = lutVisMassResDM0_; + } else if ( measuredTauLepton.decayMode() == 1 || measuredTauLepton.decayMode() == 2 ) { + l1lutVisMassRes = lutVisMassResDM1_; + } else if ( measuredTauLepton.decayMode() == 10 ) { + l1lutVisMassRes = lutVisMassResDM10_; + } else { + std::cerr << "Warning: shiftVisMass is enabled, but leg1 decay mode = " << measuredTauLepton.decayMode() << " is not supported" + << " --> disabling shiftVisMass for this event !!" << std::endl; + } + } + if ( shiftVisPt_ ) { + if ( measuredTauLepton.decayMode() == 0 ) { + l1lutVisPtRes = lutVisPtResDM0_; + } else if ( measuredTauLepton.decayMode() == 1 || measuredTauLepton.decayMode() == 2 ) { + l1lutVisPtRes = lutVisPtResDM1_; + } else if ( measuredTauLepton.decayMode() == 10 ) { + l1lutVisPtRes = lutVisPtResDM10_; + } else { + std::cerr << "Warning: shiftVisPt is enabled, but leg1 decay mode = " << measuredTauLepton.decayMode() << " is not supported" + << " --> disabling shiftVisPt for this event !!" << std::endl; + } + } + nDim += 2; + if ( l1lutVisMass || l1lutVisMassRes ) { + ++nDim; + } + if ( l1lutVisPtRes ) { + ++nDim; + } + } else { + l1isLep_ = true; + nDim += 3; + } + } + if ( idx == 1 ) { + idxFitParLeg2_ = nDim; + if ( measuredTauLepton.type() == kTauToHadDecay ) { + if ( marginalizeVisMass_ ) { + l2lutVisMass = lutVisMassAllDMs_; + } + if ( shiftVisMass_ ) { + if ( measuredTauLepton.decayMode() == 0 ) { + l2lutVisMassRes = lutVisMassResDM0_; + } else if ( measuredTauLepton.decayMode() == 1 || measuredTauLepton.decayMode() == 2 ) { + l2lutVisMassRes = lutVisMassResDM1_; + } else if ( measuredTauLepton.decayMode() == 10 ) { + l2lutVisMassRes = lutVisMassResDM10_; + } else { + std::cerr << "Warning: shiftVisMass is enabled, but leg2 decay mode = " << measuredTauLepton.decayMode() << " is not supported" + << " --> disabling shiftVisMass for this event !!" << std::endl; + } + } + if ( shiftVisPt_ ) { + if ( measuredTauLepton.decayMode() == 0 ) { + l2lutVisPtRes = lutVisPtResDM0_; + } else if ( measuredTauLepton.decayMode() == 1 || measuredTauLepton.decayMode() == 2 ) { + l2lutVisPtRes = lutVisPtResDM1_; + } else if ( measuredTauLepton.decayMode() == 10 ) { + l2lutVisPtRes = lutVisPtResDM10_; + } else { + std::cerr << "Warning: shiftVisPt is enabled, but leg2 decay mode = " << measuredTauLepton.decayMode() << " is not supported" + << " --> disabling shiftVisPt for this event !!" << std::endl; + } + } + nDim += 2; + if ( l2lutVisMass || l2lutVisMassRes ) { + ++nDim; + } + if ( l2lutVisPtRes ) { + ++nDim; + } + } else { + l2isLep_ = true; + nDim += 3; + } + } + } + nDim -= 1; // xFrac for second tau is fixed by delta function for test mass + + /* -------------------------------------------------------------------------------------- + lower and upper bounds for integration. Boundaries are defined for each decay channel + separately. The order is: + + - fully hadronic {xFrac, phihad1, (masshad1, pthad1), phihad2, (masshad2, pthad2)} + - semi leptonic {xFrac, nunuMass, philep, phihad, (masshad, pthad)} + - fully leptonic {xFrac, nunuMass1, philep1, nunuMass2, philep2} + + x0* defines the start value for the integration, xl* defines the lower integation bound, + xh* defines the upper integration bound in the following definitions. + ATTENTION: order matters here! In the semi-leptonic decay the lepton must go first in + the parametrization, as it is first in the definition of integral boundaries. This is + the reason why the measuredLeptons are eventually re-ordered in the constructor of + this class before passing them on to SVfitStandaloneLikelihood. + */ + double* x0 = new double[nDim]; + double* xl = new double[nDim]; + double* xh = new double[nDim]; + if ( l1isLep_ ) { + x0[idxFitParLeg1_ + 0] = 0.5; + xl[idxFitParLeg1_ + 0] = 0.0; + xh[idxFitParLeg1_ + 0] = 1.0; + x0[idxFitParLeg1_ + 1] = 0.8; + xl[idxFitParLeg1_ + 1] = 0.0; + xh[idxFitParLeg1_ + 1] = svFitStandalone::tauLeptonMass; + x0[idxFitParLeg1_ + 2] = 0.0; + xl[idxFitParLeg1_ + 2] = -TMath::Pi(); + xh[idxFitParLeg1_ + 2] = +TMath::Pi(); + } else { + x0[idxFitParLeg1_ + 0] = 0.5; + xl[idxFitParLeg1_ + 0] = 0.0; + xh[idxFitParLeg1_ + 0] = 1.0; + x0[idxFitParLeg1_ + 1] = 0.0; + xl[idxFitParLeg1_ + 1] = -TMath::Pi(); + xh[idxFitParLeg1_ + 1] = +TMath::Pi(); + int offset1 = 2; + if ( marginalizeVisMass_ || shiftVisMass_ ) { + x0[idxFitParLeg1_ + offset1] = nll_->measuredTauLeptons()[0].mass(); + xl[idxFitParLeg1_ + offset1] = svFitStandalone::chargedPionMass; + xh[idxFitParLeg1_ + offset1] = svFitStandalone::tauLeptonMass; + ++offset1; + } + if ( shiftVisPt_ ) { + x0[idxFitParLeg1_ + offset1] = 0.0; + xl[idxFitParLeg1_ + offset1] = -1.0; + xh[idxFitParLeg1_ + offset1] = +1.5; + ++offset1; + } + } + if ( l2isLep_ ) { + x0[idxFitParLeg2_ + 0] = 0.8; + xl[idxFitParLeg2_ + 0] = 0.0; + xh[idxFitParLeg2_ + 0] = svFitStandalone::tauLeptonMass; + x0[idxFitParLeg2_ + 1] = 0.0; + xl[idxFitParLeg2_ + 1] = -TMath::Pi(); + xh[idxFitParLeg2_ + 1] = +TMath::Pi(); + } else { + x0[idxFitParLeg2_ + 0] = 0.0; + xl[idxFitParLeg2_ + 0] = -TMath::Pi(); + xh[idxFitParLeg2_ + 0] = +TMath::Pi(); + int offset2 = 1; + if ( marginalizeVisMass_ || shiftVisMass_ ) { + x0[idxFitParLeg2_ + offset2] = nll_->measuredTauLeptons()[1].mass(); + xl[idxFitParLeg2_ + offset2] = svFitStandalone::chargedPionMass; + xh[idxFitParLeg2_ + offset2] = svFitStandalone::tauLeptonMass; + ++offset2; + } + if ( shiftVisPt_ ) { + x0[idxFitParLeg2_ + offset2] = 0.0; + xl[idxFitParLeg2_ + offset2] = -1.0; + xh[idxFitParLeg2_ + offset2] = +1.5; + ++offset2; + } + } + if ( verbose_ >= 1 ) { + for ( int iDim = 0; iDim < nDim; ++iDim ) { + std::cout << "x0[" << iDim << "] = " << x0[iDim] << " (xl = " << xl[iDim] << ", xh = " << xh[iDim] << ")" << std::endl; + } + } + + TH1* histogramMass = makeHistogram("SVfitStandaloneAlgorithmVEGAS_histogramMass", measuredDiTauSystem().mass()/1.0125, 1.e+4, 1.025); + TH1* histogramMass_density = (TH1*)histogramMass->Clone(Form("%s_density", histogramMass->GetName())); + + std::vector xGraph; + std::vector xErrGraph; + std::vector yGraph; + std::vector yErrGraph; + + // integrator instance + ROOT::Math::GSLMCIntegrator ig2("vegas", 0., 1.e-6, 10000); + //ROOT::Math::GSLMCIntegrator ig2("vegas", 0., 1.e-6, 2000); + ROOT::Math::Functor toIntegrate(standaloneObjectiveFunctionAdapterVEGAS_, &ObjectiveFunctionAdapterVEGAS::Eval, nDim); + standaloneObjectiveFunctionAdapterVEGAS_->SetL1isLep(l1isLep_); + standaloneObjectiveFunctionAdapterVEGAS_->SetL2isLep(l2isLep_); + if ( marginalizeVisMass_ && shiftVisMass_ ) { + std::cerr << "Error: marginalizeVisMass and shiftVisMass flags must not both be enabled !!" << std::endl; + assert(0); + } + standaloneObjectiveFunctionAdapterVEGAS_->SetMarginalizeVisMass(marginalizeVisMass_ && (l1lutVisMass || l2lutVisMass)); + standaloneObjectiveFunctionAdapterVEGAS_->SetShiftVisMass(shiftVisMass_ && (l1lutVisMassRes || l2lutVisMassRes)); + standaloneObjectiveFunctionAdapterVEGAS_->SetShiftVisPt(shiftVisPt_ && (l1lutVisPtRes || l2lutVisPtRes)); + ig2.SetFunction(toIntegrate); + nll_->addDelta(true); + nll_->addSinTheta(false); + nll_->addPhiPenalty(false); + nll_->marginalizeVisMass(marginalizeVisMass_ && (l1lutVisMass || l2lutVisMass), l1lutVisMass, l2lutVisMass); + nll_->shiftVisMass(shiftVisMass_ && (l1lutVisMassRes || l2lutVisMassRes), l1lutVisMassRes, l2lutVisMassRes); + nll_->shiftVisPt(shiftVisPt_ && (l1lutVisPtRes || l2lutVisPtRes), l1lutVisPtRes, l2lutVisPtRes); + nll_->requirePhysicalSolution(true); + int count = 0; + double pMax = 0.; + double mvis = measuredDiTauSystem().mass(); + double mtest = mvis*1.0125; + bool skiphighmasstail = false; + for ( int i = 0; i < 100 && (!skiphighmasstail); ++i ) { + standaloneObjectiveFunctionAdapterVEGAS_->SetMvis(mvis); + standaloneObjectiveFunctionAdapterVEGAS_->SetMtest(mtest); + double p = ig2.Integral(xl, xh); + double pErr = ig2.Error(); + if ( verbose_ >= 2 ) { + std::cout << "--> scan idx = " << i << ": mtest = " << mtest << ", p = " << p << " +/- " << pErr << " (pMax = " << pMax << ")" << std::endl; + } + if ( p > pMax ) { + mass_ = mtest; + pMax = p; + count = 0; + } else { + if ( p < (1.e-3*pMax) ) { + ++count; + if ( count>= 5 ) { + skiphighmasstail = true; + } + } else { + count = 0; + } + } + double mtest_step = 0.025*mtest; + int bin = histogramMass->FindBin(mtest); + histogramMass->SetBinContent(bin, p*mtest_step); + histogramMass->SetBinError(bin, pErr*mtest_step); + xGraph.push_back(mtest); + xErrGraph.push_back(0.5*mtest_step); + yGraph.push_back(p); + yErrGraph.push_back(pErr); + mtest += mtest_step; + } + //mass_ = extractValue(histogramMass, histogramMass_density); + massUncert_ = extractUncertainty(histogramMass, histogramMass_density); + massLmax_ = extractLmax(histogramMass, histogramMass_density); + if ( verbose_ >= 1 ) { + std::cout << "--> mass = " << mass_ << " +/- " << massUncert_ << std::endl; + std::cout << " (pMax = " << pMax << ", count = " << count << ")" << std::endl; + } + delete histogramMass; + delete histogramMass_density; + if ( likelihoodFileName != "" ) { + size_t numPoints = xGraph.size(); + TGraphErrors* likelihoodGraph = new TGraphErrors(numPoints); + likelihoodGraph->SetName("svFitLikelihoodGraph"); + for ( size_t iPoint = 0; iPoint < numPoints; ++iPoint ) { + likelihoodGraph->SetPoint(iPoint, xGraph[iPoint], yGraph[iPoint]); + likelihoodGraph->SetPointError(iPoint, xErrGraph[iPoint], yErrGraph[iPoint]); + } + TFile* likelihoodFile = new TFile(likelihoodFileName.data(), "RECREATE"); + likelihoodGraph->Write(); + delete likelihoodFile; + delete likelihoodGraph; + } + + delete[] x0; + delete[] xl; + delete[] xh; + + if ( verbose_ >= 1 ) { + clock_->Show(""); + } +} + +void +SVfitStandaloneAlgorithm::integrateMarkovChain() +{ + using namespace svFitStandalone; + + if ( verbose_ >= 1 ) { + std::cout << ":" << std::endl; + clock_->Start(""); + } + if ( isInitialized2_ ) { + mcPtEtaPhiMassAdapter_->Reset(); + } else { + // initialize + std::string initMode = "none"; + unsigned numIterBurnin = TMath::Nint(0.10*maxObjFunctionCalls2_); + unsigned numIterSampling = maxObjFunctionCalls2_; + unsigned numIterSimAnnealingPhase1 = TMath::Nint(0.02*maxObjFunctionCalls2_); + unsigned numIterSimAnnealingPhase2 = TMath::Nint(0.06*maxObjFunctionCalls2_); + double T0 = 15.; + double alpha = 1.0 - 1.e+2/maxObjFunctionCalls2_; + unsigned numChains = 7; + unsigned numBatches = 1; + unsigned L = 1; + double epsilon0 = 1.e-2; + double nu = 0.71; + int verbose = -1; + integrator2_ = new SVfitStandaloneMarkovChainIntegrator( + initMode, numIterBurnin, numIterSampling, numIterSimAnnealingPhase1, numIterSimAnnealingPhase2, + T0, alpha, numChains, numBatches, L, epsilon0, nu, + verbose); + mcObjectiveFunctionAdapter_ = new MCObjectiveFunctionAdapter(); + integrator2_->setIntegrand(*mcObjectiveFunctionAdapter_); + integrator2_nDim_ = 0; + mcPtEtaPhiMassAdapter_ = new MCPtEtaPhiMassAdapter(); + integrator2_->registerCallBackFunction(*mcPtEtaPhiMassAdapter_); + isInitialized2_ = true; + } + + // number of parameters for fit + int nDim = 0; + l1isLep_ = false; + l2isLep_ = false; + const TH1* l1lutVisMass = 0; + const TH1* l1lutVisMassRes = 0; + const TH1* l1lutVisPtRes = 0; + const TH1* l2lutVisMass = 0; + const TH1* l2lutVisMassRes = 0; + const TH1* l2lutVisPtRes = 0; + for ( size_t idx = 0; idx < nll_->measuredTauLeptons().size(); ++idx ) { + const MeasuredTauLepton& measuredTauLepton = nll_->measuredTauLeptons()[idx]; + if ( idx == 0 ) { + idxFitParLeg1_ = 0; + if ( measuredTauLepton.type() == kTauToHadDecay ) { + if ( marginalizeVisMass_ ) { + l1lutVisMass = lutVisMassAllDMs_; + } + if ( shiftVisMass_ ) { + if ( measuredTauLepton.decayMode() == 0 ) { + l1lutVisMassRes = lutVisMassResDM0_; + } else if ( measuredTauLepton.decayMode() == 1 || measuredTauLepton.decayMode() == 2 ) { + l1lutVisMassRes = lutVisMassResDM1_; + } else if ( measuredTauLepton.decayMode() == 10 ) { + l1lutVisMassRes = lutVisMassResDM10_; + } else { + std::cerr << "Warning: shiftVisMass is enabled, but leg1 decay mode = " << measuredTauLepton.decayMode() << " is not supported" + << " --> disabling shiftVisMass for this event !!" << std::endl; + } + } + if ( shiftVisPt_ ) { + if ( measuredTauLepton.decayMode() == 0 ) { + l1lutVisPtRes = lutVisPtResDM0_; + } else if ( measuredTauLepton.decayMode() == 1 || measuredTauLepton.decayMode() == 2 ) { + l1lutVisPtRes = lutVisPtResDM1_; + } else if ( measuredTauLepton.decayMode() == 10 ) { + l1lutVisPtRes = lutVisPtResDM10_; + } else { + std::cerr << "Warning: shiftVisPt is enabled, but leg1 decay mode = " << measuredTauLepton.decayMode() << " is not supported" + << " --> disabling shiftVisPt for this event !!" << std::endl; + } + } + nDim += 2; + if ( l1lutVisMass || l1lutVisMassRes ) { + ++nDim; + } + if ( l1lutVisPtRes ) { + ++nDim; + } + } else { + l1isLep_ = true; + nDim += 3; + } + } + if ( idx == 1 ) { + idxFitParLeg2_ = nDim; + if ( measuredTauLepton.type() == kTauToHadDecay ) { + if ( marginalizeVisMass_ ) { + l2lutVisMass = lutVisMassAllDMs_; + } + if ( shiftVisMass_ ) { + if ( measuredTauLepton.decayMode() == 0 ) { + l2lutVisMassRes = lutVisMassResDM0_; + } else if ( measuredTauLepton.decayMode() == 1 || measuredTauLepton.decayMode() == 2 ) { + l2lutVisMassRes = lutVisMassResDM1_; + } else if ( measuredTauLepton.decayMode() == 10 ) { + l2lutVisMassRes = lutVisMassResDM10_; + } else { + std::cerr << "Warning: shiftVisMass is enabled, but leg2 decay mode = " << measuredTauLepton.decayMode() << " is not supported" + << " --> disabling shiftVisMass for this event !!" << std::endl; + } + } + if ( shiftVisPt_ ) { + if ( measuredTauLepton.decayMode() == 0 ) { + l2lutVisPtRes = lutVisPtResDM0_; + } else if ( measuredTauLepton.decayMode() == 1 || measuredTauLepton.decayMode() == 2 ) { + l2lutVisPtRes = lutVisPtResDM1_; + } else if ( measuredTauLepton.decayMode() == 10 ) { + l2lutVisPtRes = lutVisPtResDM10_; + } else { + std::cerr << "Warning: shiftVisPt is enabled, but leg2 decay mode = " << measuredTauLepton.decayMode() << " is not supported" + << " --> disabling shiftVisPt for this event !!" << std::endl; + } + } + nDim += 2; + if ( l2lutVisMass || l2lutVisMassRes ) { + ++nDim; + } + if ( l2lutVisPtRes ) { + ++nDim; + } + } else { + l2isLep_ = true; + nDim += 3; + } + } + } + + if ( nDim != integrator2_nDim_ ) { + mcObjectiveFunctionAdapter_->SetNDim(nDim); + integrator2_->setIntegrand(*mcObjectiveFunctionAdapter_); + mcPtEtaPhiMassAdapter_->SetNDim(nDim); + integrator2_nDim_ = nDim; + } + mcObjectiveFunctionAdapter_->SetL1isLep(l1isLep_); + mcObjectiveFunctionAdapter_->SetL2isLep(l2isLep_); + if ( marginalizeVisMass_ && shiftVisMass_ ) { + std::cerr << "Error: marginalizeVisMass and shiftVisMass flags must not both be enabled !!" << std::endl; + assert(0); + } + mcObjectiveFunctionAdapter_->SetMarginalizeVisMass(marginalizeVisMass_ && (l1lutVisMass || l2lutVisMass)); + mcObjectiveFunctionAdapter_->SetShiftVisMass(shiftVisMass_ && (l1lutVisMassRes || l2lutVisMassRes)); + mcObjectiveFunctionAdapter_->SetShiftVisPt(shiftVisPt_ && (l1lutVisPtRes || l2lutVisPtRes)); + // CV: use same binning for Markov Chain and VEGAS integration. + // The binning relative to the visible mass avoids that SVfit mass is "quantizied" at the same discrete values for all events. + TH1* histogramMass = makeHistogram("SVfitStandaloneAlgorithmMarkovChain_histogramMass", measuredDiTauSystem().mass()/1.0125, 1.e+4, 1.025); + TH1* histogramMass_density = (TH1*)histogramMass->Clone(Form("%s_density", histogramMass->GetName())); + mcPtEtaPhiMassAdapter_->SetHistogramMass(histogramMass, histogramMass_density); + mcPtEtaPhiMassAdapter_->SetL1isLep(l1isLep_); + mcPtEtaPhiMassAdapter_->SetL2isLep(l2isLep_); + mcPtEtaPhiMassAdapter_->SetMarginalizeVisMass(marginalizeVisMass_ && (l1lutVisMass || l2lutVisMass)); + mcPtEtaPhiMassAdapter_->SetShiftVisMass(shiftVisMass_ && (l1lutVisMassRes || l2lutVisMassRes)); + mcPtEtaPhiMassAdapter_->SetShiftVisPt(shiftVisPt_ && (l1lutVisPtRes || l2lutVisPtRes)); + + /* -------------------------------------------------------------------------------------- + lower and upper bounds for integration. Boundaries are defined for each decay channel + separately. The order is: + + - fully hadronic {xhad1, phihad1, (masshad1, pthad1), xhad2, phihad2, (masshad2, pthad2)} + - semi leptonic {xlep, nunuMass, philep, xhad, phihad, (masshad, pthad)} + - fully leptonic {xlep1, nunuMass1, philep1, xlep2, nunuMass2, philep2} + + x0* defines the start value for the integration, xl* defines the lower integation bound, + xh* defines the upper integration bound in the following definitions. + ATTENTION: order matters here! In the semi-leptonic decay the lepton must go first in + the parametrization, as it is first in the definition of integral boundaries. This is + the reason why the measuredLeptons are eventually re-ordered in the constructor of + this class before passing them on to SVfitStandaloneLikelihood. + */ + std::vector x0(nDim); + std::vector xl(nDim); + std::vector xh(nDim); + if ( l1isLep_ ) { + x0[idxFitParLeg1_ + 0] = 0.5; + xl[idxFitParLeg1_ + 0] = 0.0; + xh[idxFitParLeg1_ + 0] = 1.0; + x0[idxFitParLeg1_ + 1] = 0.8; + xl[idxFitParLeg1_ + 1] = 0.0; + xh[idxFitParLeg1_ + 1] = svFitStandalone::tauLeptonMass; + x0[idxFitParLeg1_ + 2] = 0.0; + xl[idxFitParLeg1_ + 2] = -TMath::Pi(); + xh[idxFitParLeg1_ + 2] = +TMath::Pi(); + } else { + x0[idxFitParLeg1_ + 0] = 0.5; + xl[idxFitParLeg1_ + 0] = 0.0; + xh[idxFitParLeg1_ + 0] = 1.0; + x0[idxFitParLeg1_ + 1] = 0.0; + xl[idxFitParLeg1_ + 1] = -TMath::Pi(); + xh[idxFitParLeg1_ + 1] = +TMath::Pi(); + int offset1 = 2; + if ( marginalizeVisMass_ || shiftVisMass_ ) { + x0[idxFitParLeg1_ + offset1] = 0.8; + xl[idxFitParLeg1_ + offset1] = svFitStandalone::chargedPionMass; + xh[idxFitParLeg1_ + offset1] = svFitStandalone::tauLeptonMass; + ++offset1; + } + if ( shiftVisPt_ ) { + x0[idxFitParLeg1_ + offset1] = 0.0; + xl[idxFitParLeg1_ + offset1] = -1.0; + xh[idxFitParLeg1_ + offset1] = +1.5; + ++offset1; + } + } + if ( l2isLep_ ) { + x0[idxFitParLeg2_ + 0] = 0.5; + xl[idxFitParLeg2_ + 0] = 0.0; + xh[idxFitParLeg2_ + 0] = 1.0; + x0[idxFitParLeg2_ + 1] = 0.8; + xl[idxFitParLeg2_ + 1] = 0.0; + xh[idxFitParLeg2_ + 1] = svFitStandalone::tauLeptonMass; + x0[idxFitParLeg2_ + 2] = 0.0; + xl[idxFitParLeg2_ + 2] = -TMath::Pi(); + xh[idxFitParLeg2_ + 2] = +TMath::Pi(); + } else { + x0[idxFitParLeg2_ + 0] = 0.5; + xl[idxFitParLeg2_ + 0] = 0.0; + xh[idxFitParLeg2_ + 0] = 1.0; + x0[idxFitParLeg2_ + 1] = 0.0; + xl[idxFitParLeg2_ + 1] = -TMath::Pi(); + xh[idxFitParLeg2_ + 1] = +TMath::Pi(); + int offset2 = 2; + if ( marginalizeVisMass_ || shiftVisMass_ ) { + x0[idxFitParLeg2_ + offset2] = 0.8; + xl[idxFitParLeg2_ + offset2] = svFitStandalone::chargedPionMass; + xh[idxFitParLeg2_ + offset2] = svFitStandalone::tauLeptonMass; + ++offset2; + } + if ( shiftVisPt_ ) { + x0[idxFitParLeg2_ + offset2] = 0.0; + xl[idxFitParLeg2_ + offset2] = -1.0; + xh[idxFitParLeg2_ + offset2] = +1.5; + ++offset2; + } + } + for ( int i = 0; i < nDim; ++i ) { + // transform startPosition into interval ]0..1[ + // expected by MarkovChainIntegrator class + x0[i] = (x0[i] - xl[i])/(xh[i] - xl[i]); + //std::cout << "x0[" << i << "] = " << x0[i] << std::endl; + } + integrator2_->initializeStartPosition_and_Momentum(x0); + nll_->addDelta(false); + nll_->addSinTheta(false); + nll_->addPhiPenalty(false); + nll_->marginalizeVisMass(marginalizeVisMass_ && (l1lutVisMass || l2lutVisMass), l1lutVisMass, l2lutVisMass); + nll_->shiftVisMass(shiftVisMass_ && (l1lutVisMassRes || l2lutVisMassRes), l1lutVisMassRes, l2lutVisMassRes); + nll_->shiftVisPt(shiftVisPt_ && (l1lutVisPtRes && l2lutVisPtRes), l1lutVisPtRes, l2lutVisPtRes); + nll_->requirePhysicalSolution(true); + double integral = 0.; + double integralErr = 0.; + int errorFlag = 0; + integrator2_->integrate(xl, xh, integral, integralErr, errorFlag); + fitStatus_ = errorFlag; + pt_ = mcPtEtaPhiMassAdapter_->getPt(); + ptUncert_ = mcPtEtaPhiMassAdapter_->getPtUncert(); + ptLmax_ = mcPtEtaPhiMassAdapter_->getPtLmax(); + eta_ = mcPtEtaPhiMassAdapter_->getEta(); + etaUncert_ = mcPtEtaPhiMassAdapter_->getEtaUncert(); + etaLmax_ = mcPtEtaPhiMassAdapter_->getEtaLmax(); + phi_ = mcPtEtaPhiMassAdapter_->getPhi(); + phiUncert_ = mcPtEtaPhiMassAdapter_->getPhiUncert(); + phiLmax_ = mcPtEtaPhiMassAdapter_->getPhiLmax(); + mass_ = mcPtEtaPhiMassAdapter_->getMass(); + massUncert_ = mcPtEtaPhiMassAdapter_->getMassUncert(); + massLmax_ = mcPtEtaPhiMassAdapter_->getMassLmax(); + fittedDiTauSystem_ = ROOT::Math::LorentzVector >(pt_, eta_, phi_, mass_); + + delete histogramMass; + delete histogramMass_density; + mcPtEtaPhiMassAdapter_->SetHistogramMass(0, 0); + + if ( verbose_ >= 1 ) { + std::cout << "--> Pt = " << pt_ << ", eta = " << eta_ << ", phi = " << phi_ << ", mass = " << mass_ << std::endl; + clock_->Show(""); + } +} \ No newline at end of file diff --git a/TauAnalysis/SVfitStandalone/src/SVfitStandaloneLikelihood.cc b/TauAnalysis/SVfitStandalone/src/SVfitStandaloneLikelihood.cc new file mode 100644 index 000000000000..bc204e2dab9d --- /dev/null +++ b/TauAnalysis/SVfitStandalone/src/SVfitStandaloneLikelihood.cc @@ -0,0 +1,377 @@ +#include "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneLikelihood.h" + +#include "TauAnalysis/SVfitStandalone/interface/svFitStandaloneAuxFunctions.h" +#include "TauAnalysis/SVfitStandalone/interface/LikelihoodFunctions.h" + +using namespace svFitStandalone; + +/// global function pointer for minuit or VEGAS +const SVfitStandaloneLikelihood* SVfitStandaloneLikelihood::gSVfitStandaloneLikelihood = 0; +/// indicate first iteration for integration or fit cycle for debugging +static bool FIRST = true; + +SVfitStandaloneLikelihood::SVfitStandaloneLikelihood(const std::vector& measuredTauLeptons, const Vector& measuredMET, const TMatrixD& covMET, bool verbose) + : metPower_(1.0), + addLogM_(false), + powerLogM_(1.), + addDelta_(true), + addSinTheta_(false), + addPhiPenalty_(true), + verbose_(verbose), + idxObjFunctionCall_(0), + invCovMET_(2,2), + errorCode_(0), + requirePhysicalSolution_(false), + marginalizeVisMass_(false), + l1lutVisMass_(0), + l2lutVisMass_(0), + shiftVisMass_(false), + l1lutVisMassRes_(0), + l2lutVisMassRes_(0), + shiftVisPt_(false), + l1lutVisPtRes_(0), + l2lutVisPtRes_(0) +{ + //if ( verbose_ ) { + // std::cout << ":" << std::endl; + //} + measuredMET_ = measuredMET; + // for integration mode the order of lepton or tau matters due to the choice of order in which + // way the integration boundaries are defined. In this case the lepton should always go before + // the tau. For tau-tau or lep-lep the order is irrelevant. + if ( measuredTauLeptons[0].type() == svFitStandalone::kTauToHadDecay ) { + measuredTauLeptons_.push_back(measuredTauLeptons[1]); + measuredTauLeptons_.push_back(measuredTauLeptons[0]); + } else { + measuredTauLeptons_= measuredTauLeptons; + } + if ( measuredTauLeptons_.size() != 2 ) { + std::cout << " >> ERROR : the number of measured leptons must be 2 but is found to be: " << measuredTauLeptons_.size() << std::endl; + errorCode_ |= LeptonNumber; + } + // determine transfer matrix for MET + invCovMET_= covMET; + covDet_ = invCovMET_.Determinant(); + if ( covDet_ != 0 ) { + invCovMET_.Invert(); + } else{ + std::cout << " >> ERROR: cannot invert MET covariance Matrix (det=0)." << std::endl; + errorCode_ |= MatrixInversion; + } + // set global function pointer to this + gSVfitStandaloneLikelihood = this; +} + +void +SVfitStandaloneLikelihood::marginalizeVisMass(bool value, const TH1* l1lutVisMass, const TH1* l2lutVisMass) +{ + marginalizeVisMass_ = value; + if ( marginalizeVisMass_ ) { + l1lutVisMass_ = l1lutVisMass; + l2lutVisMass_ = l2lutVisMass; + } +} + +void +SVfitStandaloneLikelihood::shiftVisMass(bool value, const TH1* l1lutVisMassRes, const TH1* l2lutVisMassRes) +{ + shiftVisMass_ = value; + if ( shiftVisMass_ ) { + l1lutVisMassRes_ = l1lutVisMassRes; + l2lutVisMassRes_ = l2lutVisMassRes; + } +} + +void +SVfitStandaloneLikelihood::shiftVisPt(bool value, const TH1* l1lutVisPtRes, const TH1* l2lutVisPtRes) +{ + shiftVisPt_ = value; + if ( shiftVisPt_ ) { + l1lutVisPtRes_ = l1lutVisPtRes; + l2lutVisPtRes_ = l2lutVisPtRes; + } +} + +const double* +SVfitStandaloneLikelihood::transform(double* xPrime, const double* x, bool fixToMtest, double mtest) const +{ + //if ( verbose_ ) { + // std::cout << ":" << std::endl; + //} + LorentzVector fittedDiTauSystem; + for ( size_t idx = 0; idx < measuredTauLeptons_.size(); ++idx ) { + const MeasuredTauLepton& measuredTauLepton = measuredTauLeptons_[idx]; + + // map to local variables to be more clear on the meaning of the individual parameters. The fit parameters are ayered + // for each tau decay + double nunuMass, labframeXFrac, labframePhi; + double visMass_unshifted = measuredTauLepton.mass(); + double visMass = visMass_unshifted; // visible momentum in lab-frame + double labframeVisMom_unshifted = measuredTauLepton.momentum(); + double labframeVisMom = labframeVisMom_unshifted; // visible momentum in lab-frame + double labframeVisEn = measuredTauLepton.energy(); // visible energy in lab-frame + if ( measuredTauLepton.type() == kTauToElecDecay || measuredTauLepton.type() == kTauToMuDecay ) { + labframeXFrac = x[idx*kMaxFitParams + kXFrac]; + nunuMass = x[idx*kMaxFitParams + kMNuNu]; + labframePhi = x[idx*kMaxFitParams + kPhi]; + } else { + labframeXFrac = x[idx*kMaxFitParams + kXFrac]; + nunuMass = 0.; + labframePhi = x[idx*kMaxFitParams + kPhi]; + if ( marginalizeVisMass_ || shiftVisMass_ ) { + visMass = x[idx*kMaxFitParams + kVisMassShifted]; + } + if ( shiftVisPt_ ) { + double shiftInv = 1. + x[idx*kMaxFitParams + kRecTauPtDivGenTauPt]; + double shift = ( shiftInv > 1.e-1 ) ? + (1./shiftInv) : 1.e+1; + labframeVisMom *= shift; + //visMass *= shift; // CV: take mass and momentum to be correlated + //labframeVisEn = TMath::Sqrt(labframeVisMom*labframeVisMom + visMass*visMass); + labframeVisEn *= shift; + } + } + bool isValidSolution = true; + // add protection against unphysical mass of visible tau decay products + if ( visMass < electronMass || visMass > tauLeptonMass ) { + isValidSolution = false; + } + // add protection against unphysical visible energy fractions + if ( !(labframeXFrac >= 0. && labframeXFrac <= 1.) ) { + isValidSolution = false; + } + // CV: do not spend time on unphysical solutions: returning 0 pointer will lead to 0 evaluation of prob + if ( !isValidSolution ) { + return 0; + } + double gjAngle_lab = gjAngleLabFrameFromX(labframeXFrac, visMass, nunuMass, labframeVisMom, labframeVisEn, tauLeptonMass, isValidSolution); + double enTau_lab = labframeVisEn/labframeXFrac; + if ( (enTau_lab*enTau_lab) < tauLeptonMass2 ) { + enTau_lab = tauLeptonMass; + isValidSolution = false; + } + double pTau_lab = TMath::Sqrt(square(enTau_lab) - tauLeptonMass2); + double gamma = enTau_lab/tauLeptonMass; + double beta = TMath::Sqrt(1. - 1./(gamma*gamma)); + double pVis_parl_rf = -beta*gamma*labframeVisEn + gamma*TMath::Cos(gjAngle_lab)*labframeVisMom; + double pVis_perp = labframeVisMom*TMath::Sin(gjAngle_lab); + double gjAngle_rf = TMath::ATan2(pVis_perp, pVis_parl_rf); + Vector p3Tau_unit = motherDirection(measuredTauLepton.direction(), gjAngle_lab, labframePhi); + LorentzVector p4Tau_lab = motherP4(p3Tau_unit, pTau_lab, enTau_lab); + fittedDiTauSystem += p4Tau_lab; + // fill branch-wise nll parameters + xPrime[ idx == 0 ? kNuNuMass1 : kNuNuMass2 ] = nunuMass; + xPrime[ idx == 0 ? kVisMass1 : kVisMass2 ] = visMass; + xPrime[ idx == 0 ? kDecayAngle1 : kDecayAngle2 ] = gjAngle_rf; + xPrime[ idx == 0 ? kDeltaVisMass1 : kDeltaVisMass2 ] = ( marginalizeVisMass_ ) ? visMass : (visMass_unshifted - visMass); + xPrime[ idx == 0 ? kRecTauPtDivGenTauPt1 : kRecTauPtDivGenTauPt2 ] = ( labframeVisMom > 0. ) ? (labframeVisMom_unshifted/labframeVisMom) : 1.e+3; + xPrime[ idx == 0 ? kMaxNLLParams : (kMaxNLLParams + 1) ] = labframeXFrac; + xPrime[ idx == 0 ? (kMaxNLLParams + 2) : (kMaxNLLParams + 3) ] = isValidSolution; + } + + Vector fittedMET = fittedDiTauSystem.Vect() - (measuredTauLeptons_[0].p()+measuredTauLeptons_[1].p()); + // fill event-wise nll parameters + xPrime[ kDMETx ] = measuredMET_.x() - fittedMET.x(); + xPrime[ kDMETy ] = measuredMET_.y() - fittedMET.y(); + if ( fixToMtest ) xPrime[ kMTauTau ] = mtest; // CV: evaluate delta-function derrivate in case of VEGAS integration for nominal test mass, + else xPrime[ kMTauTau ] = fittedDiTauSystem.mass(); // not for fitted mass, to improve numerical stability of integration (this is what the SVfit plugin version does) + + //if ( verbose_ && FIRST ) { + // std::cout << " >> input values for transformed variables: " << std::endl; + // std::cout << " MET[x] = " << fittedMET.x() << " (fitted) " << measuredMET_.x() << " (measured) " << std::endl; + // std::cout << " MET[y] = " << fittedMET.y() << " (fitted) " << measuredMET_.y() << " (measured) " << std::endl; + // std::cout << " fittedDiTauSystem: [" + // << " px = " << fittedDiTauSystem.px() + // << " py = " << fittedDiTauSystem.py() + // << " pz = " << fittedDiTauSystem.pz() + // << " En = " << fittedDiTauSystem.energy() + // << " ]" << std::endl; + // std::cout << " >> nll parameters after transformation: " << std::endl; + // std::cout << " x[kNuNuMass1 ] = " << xPrime[kNuNuMass1 ] << std::endl; + // std::cout << " x[kVisMass1 ] = " << xPrime[kVisMass1 ] << std::endl; + // std::cout << " x[kDecayAngle1] = " << xPrime[kDecayAngle1] << std::endl; + // std::cout << " x[kNuNuMass2 ] = " << xPrime[kNuNuMass2 ] << std::endl; + // std::cout << " x[kVisMass2 ] = " << xPrime[kVisMass2 ] << std::endl; + // std::cout << " x[kDecayAngle2] = " << xPrime[kDecayAngle2] << std::endl; + // std::cout << " x[kDMETx ] = " << xPrime[kDMETx ] << std::endl; + // std::cout << " x[kDMETy ] = " << xPrime[kDMETy ] << std::endl; + // std::cout << " x[kMTauTau ] = " << xPrime[kMTauTau ] << std::endl; + //} + return xPrime; +} + +double +SVfitStandaloneLikelihood::prob(const double* x, bool fixToMtest, double mtest) const +{ + // in case of initialization errors don't start to do anything + if ( error() ) { + return 0.; + } + //if ( verbose_ ) { + // std::cout << ":" << std::endl; + //} + ++idxObjFunctionCall_; + //if ( verbose_ && FIRST ) { + // std::cout << " >> ixdObjFunctionCall : " << idxObjFunctionCall_ << std::endl; + //} + // prevent kPhi in the fit parameters (kFitParams) from trespassing the + // +/-pi boundaries + double phiPenalty = 0.; + if ( addPhiPenalty_ ) { + for ( size_t idx = 0; idx < measuredTauLeptons_.size(); ++idx ) { + if ( TMath::Abs(idx*kMaxFitParams + x[kPhi]) > TMath::Pi() ) { + phiPenalty += (TMath::Abs(x[kPhi]) - TMath::Pi())*(TMath::Abs(x[kPhi]) - TMath::Pi()); + } + } + } + // xPrime are the transformed variables from which to construct the nll + // transform performs the transformation from the fit parameters x to the + // nll parameters xPrime. prob is the actual combined likelihood. The + // phiPenalty prevents the fit to converge to unphysical values beyond + // +/-pi + double xPrime[kMaxNLLParams + 4]; + const double* xPrime_ptr = transform(xPrime, x, fixToMtest, mtest); + if ( xPrime_ptr ) { + return prob(xPrime_ptr, phiPenalty); + } else { + return 0.; + } +} + +double +SVfitStandaloneLikelihood::prob(const double* xPrime, double phiPenalty) const +{ + //if ( verbose_ && FIRST ) { + // std::cout << ":" << std::endl; + //} + if ( requirePhysicalSolution_ && (xPrime[ kMaxNLLParams + 2 ] < 0.5 || xPrime[ kMaxNLLParams + 3 ] < 0.5) ) return 0.; + // start the combined likelihood construction from MET + double prob = probMET(xPrime[kDMETx], xPrime[kDMETy], covDet_, invCovMET_, metPower_, (verbose_&& FIRST)); + //if ( verbose_ && FIRST ) { + // std::cout << "probMET = " << prob << std::endl; + //} + // add likelihoods for the decay branches + for ( size_t idx = 0; idx < measuredTauLeptons_.size(); ++idx ) { + switch ( measuredTauLeptons_[idx].type() ) { + case kTauToHadDecay : + prob *= probTauToHadPhaseSpace( + xPrime[idx == 0 ? kDecayAngle1 : kDecayAngle2], + xPrime[idx == 0 ? kNuNuMass1 : kNuNuMass2], + xPrime[idx == 0 ? kVisMass1 : kVisMass2], + xPrime[idx == 0 ? kMaxNLLParams : (kMaxNLLParams + 1)], + addSinTheta_, + (verbose_&& FIRST)); + assert(!(marginalizeVisMass_ && shiftVisMass_)); + if ( marginalizeVisMass_ ) { + prob *= probVisMass( + xPrime[idx == 0 ? kDeltaVisMass1 : kDeltaVisMass2], + idx == 0 ? l1lutVisMass_ : l2lutVisMass_, + (verbose_&& FIRST)); + } + if ( shiftVisMass_ ) { + prob *= probVisMassShift( + xPrime[idx == 0 ? kDeltaVisMass1 : kDeltaVisMass2], + idx == 0 ? l1lutVisMassRes_ : l2lutVisMassRes_, + (verbose_&& FIRST)); + } + if ( shiftVisPt_ ) { + prob *= probVisPtShift( + xPrime[idx == 0 ? kRecTauPtDivGenTauPt1 : kRecTauPtDivGenTauPt2], + idx == 0 ? l1lutVisPtRes_ : l2lutVisPtRes_, + (verbose_&& FIRST)); + } + //if ( verbose_ && FIRST ) { + // std::cout << " *probTauToHad = " << prob << std::endl; + //} + break; + case kTauToElecDecay : + case kTauToMuDecay : + prob *= probTauToLepMatrixElement( + xPrime[idx == 0 ? kDecayAngle1 : kDecayAngle2], + xPrime[idx == 0 ? kNuNuMass1 : kNuNuMass2], + xPrime[idx == 0 ? kVisMass1 : kVisMass2], + xPrime[idx == 0 ? kMaxNLLParams : (kMaxNLLParams + 1)], + addSinTheta_, + (verbose_&& FIRST)); + //if ( verbose_ && FIRST ) { + // std::cout << " *probTauToLep = " << prob << std::endl; + //} + break; + default : + break; + } + } + // add additional logM term if configured such + if ( addLogM_ && powerLogM_ > 0. ) { + if ( xPrime[kMTauTau] > 0. ) { + prob *= TMath::Power(1.0/xPrime[kMTauTau], powerLogM_); + } + //if ( verbose_ && FIRST ) { + // std::cout << " *1/mtautau = " << prob << std::endl; + //} + } + if ( addDelta_ ) { + prob *= (2.*xPrime[kMaxNLLParams + 1]/xPrime[kMTauTau]); + //if ( verbose_ && FIRST ) { + // std::cout << " *deltaDeriv. = " << prob << std::endl; + //} + } + // add additional phiPenalty in case kPhi in the fit parameters + // (kFitParams) trespassed the physical boundaries from +/-pi + if ( phiPenalty > 0. ) { + prob *= TMath::Exp(-phiPenalty); + //if ( verbose_ && FIRST ) { + // std::cout << "* phiPenalty = " << prob << std::endl; + //} + } + // set FIRST to false after the first complete evaluation of the likelihood + FIRST = false; + return prob; +} + +void +SVfitStandaloneLikelihood::results(std::vector& fittedTauLeptons, const double* x) const +{ + //if ( verbose_ ) { + // std::cout << "&, const double*)>:" << std::endl; + //} + for ( size_t idx = 0; idx < measuredTauLeptons_.size(); ++idx ) { + const MeasuredTauLepton& measuredTauLepton = measuredTauLeptons_[idx]; + + // map to local variables to be more clear on the meaning of the individual parameters. The fit parameters are ayered + // for each tau decay + double nunuMass = x[ idx*kMaxFitParams + kMNuNu ]; // nunu inv mass (can be const 0 for had tau decays) + double labframeXFrac = x[ idx*kMaxFitParams + kXFrac ]; // visible energy fraction x in labframe + double labframePhi = x[ idx*kMaxFitParams + kPhi ]; // phi in labframe + double visMass = measuredTauLepton.mass(); + double labframeVisMom_unshifted = measuredTauLepton.momentum(); + double labframeVisMom = labframeVisMom_unshifted; // visible momentum in lab-frame + double labframeVisEn = measuredTauLepton.energy(); // visible energy in lab-frame + if ( measuredTauLepton.type() == kTauToHadDecay ) { + if ( marginalizeVisMass_ || shiftVisMass_ ) { + visMass = x[idx*kMaxFitParams + kVisMassShifted]; + } + if ( shiftVisPt_ ) { + double shiftInv = 1. + x[idx*kMaxFitParams + kRecTauPtDivGenTauPt]; + double shift = ( shiftInv > 1.e-1 ) ? + (1./shiftInv) : 1.e+1; + labframeVisMom *= shift; + //visMass *= shift; // CV: take mass and momentum to be correlated + //labframeVisEn = TMath::Sqrt(labframeVisMom*labframeVisMom + visMass*visMass); + labframeVisEn *= shift; + } + } + if ( visMass < 5.1e-4 ) { + visMass = 5.1e-4; + } + bool isValidSolution = true; + double gjAngle_lab = gjAngleLabFrameFromX(labframeXFrac, visMass, nunuMass, labframeVisMom, labframeVisEn, tauLeptonMass, isValidSolution); + double enTau_lab = labframeVisEn/labframeXFrac; + double pTau_lab = TMath::Sqrt(square(enTau_lab) - tauLeptonMass2); + Vector p3Tau_unit = motherDirection(measuredTauLepton.direction(), gjAngle_lab, labframePhi); + LorentzVector p4Tau_lab = motherP4(p3Tau_unit, pTau_lab, enTau_lab); + // tau lepton four vector in labframe + if ( idx < fittedTauLeptons.size() ) fittedTauLeptons[idx] = p4Tau_lab; + else fittedTauLeptons.push_back(p4Tau_lab); + } +} \ No newline at end of file diff --git a/TauAnalysis/SVfitStandalone/src/SVfitStandaloneMarkovChainIntegrator.cc b/TauAnalysis/SVfitStandalone/src/SVfitStandaloneMarkovChainIntegrator.cc new file mode 100644 index 000000000000..4a3d3e9b58ea --- /dev/null +++ b/TauAnalysis/SVfitStandalone/src/SVfitStandaloneMarkovChainIntegrator.cc @@ -0,0 +1,643 @@ +#include "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneMarkovChainIntegrator.h" + +#include + +#include +#include +#include +#include +#include + +enum { kMetropolis }; + +enum { kUniform, kGaus, kNone }; + +namespace +{ + double square(double x) + { + return x*x; + } + + template + std::string format_vT(const std::vector& vT) + { + std::ostringstream os; + + os << "{ "; + + unsigned numEntries = vT.size(); + for ( unsigned iEntry = 0; iEntry < numEntries; ++iEntry ) { + os << vT[iEntry]; + if ( iEntry < (numEntries - 1) ) os << ", "; + } + + os << " }"; + + return os.str(); + } + + std::string format_vdouble(const std::vector& vd) + { + return format_vT(vd); + } +} + +SVfitStandaloneMarkovChainIntegrator::SVfitStandaloneMarkovChainIntegrator(const std::string& initMode, + unsigned numIterBurnin, unsigned numIterSampling, unsigned numIterSimAnnealingPhase1, unsigned numIterSimAnnealingPhase2, + double T0, double alpha, + unsigned numChains, unsigned numBatches, + double L, double epsilon0, double nu, + int verbose) + : name_(""), + integrand_(0), + startPosition_and_MomentumFinder_(0), + x_(0), + useVariableEpsilon0_(false), + numIntegrationCalls_(0), + numMovesTotal_accepted_(0), + numMovesTotal_rejected_(0) +{ + moveMode_ = kMetropolis; + + if ( initMode == "uniform" ) initMode_ = kUniform; + else if ( initMode == "Gaus" ) initMode_ = kGaus; + else if ( initMode == "none" ) initMode_ = kNone; + else { + std::cerr << ":" + << "Invalid Configuration Parameter 'initMode' = " << initMode << "," + << " expected to be either \"uniform\", \"Gaus\" or \"none\" --> ABORTING !!\n"; + assert(0); + } + +//--- get parameters defining number of "stochastic moves" performed per integration + numIterBurnin_ = numIterBurnin; + numIterSampling_ = numIterSampling; + +//--- get parameters defining maximum number of attempts to find a valid starting-position for the Markov Chain + maxCallsStartingPos_ = 1000000; + +//--- get parameters defining "simulated annealing" stage at beginning of integration + numIterSimAnnealingPhase1_ = numIterSimAnnealingPhase1; + numIterSimAnnealingPhase2_ = numIterSimAnnealingPhase2; + numIterSimAnnealingPhase1plus2_ = numIterSimAnnealingPhase1_ + numIterSimAnnealingPhase2_; + if ( numIterSimAnnealingPhase1plus2_ > numIterBurnin_ ) { + std::cerr << ":" + << "Invalid Configuration Parameters 'numIterSimAnnealingPhase1' = " << numIterSimAnnealingPhase1_ << "," + << " 'numIterSimAnnealingPhase2' = " << numIterSimAnnealingPhase2_ << "," + << " sim. Annealing and Sampling stages must not overlap --> ABORTING !!\n"; + assert(0); + } + T0_ = T0; + sqrtT0_ = TMath::Sqrt(T0_); + alpha_ = alpha; + if ( !(alpha_ > 0. && alpha_ < 1.) ) { + std::cerr << ":" + << "Invalid Configuration Parameter 'alpha' = " << alpha_ << "," + << " value within interval ]0..1[ expected --> ABORTING !!\n"; + assert(0); + } + alpha2_ = square(alpha_); + +//--- get parameter specifying how many Markov Chains are run in parallel + numChains_ = numChains; + if ( numChains_ == 0 ) { + std::cerr << ":" + << "Invalid Configuration Parameter 'numChains' = " << numChains_ << "," + << " value greater 0 expected --> ABORTING !!\n"; + assert(0); + } + + numBatches_ = numBatches; + if ( numBatches_ == 0 ) { + std::cerr << ":" + << "Invalid Configuration Parameter 'numBatches' = " << numBatches_ << "," + << " value greater 0 expected --> ABORTING !!\n"; + assert(0); + } + if ( (numIterSampling_ % numBatches_) != 0 ) { + std::cerr << ":" + << "Invalid Configuration Parameter 'numBatches' = " << numBatches_ << "," + << " factor of numIterSampling = " << numIterSampling_ << " expected --> ABORTING !!\n"; + assert(0); + } + +//--- get parameters specific to "dynamic moves" + L_ = L; + epsilon0_ = epsilon0; + nu_ = nu; + + verbose_ = verbose; +} + +SVfitStandaloneMarkovChainIntegrator::~SVfitStandaloneMarkovChainIntegrator() +{ + if ( verbose_ >= 0 ) { + std::cout << ":" << std::endl; + std::cout << " integration calls = " << numIntegrationCalls_ << std::endl; + std::cout << " moves: accepted = " << numMovesTotal_accepted_ << ", rejected = " << numMovesTotal_rejected_ + << " (fraction = " << (double)numMovesTotal_accepted_/(numMovesTotal_accepted_ + numMovesTotal_rejected_)*100. + << "%)" << std::endl; + } + + delete [] x_; +} + +void SVfitStandaloneMarkovChainIntegrator::setIntegrand(const ROOT::Math::Functor& integrand) +{ + integrand_ = &integrand; + numDimensions_ = integrand.NDim(); + + delete [] x_; + x_ = new double[numDimensions_]; + + xMin_.resize(numDimensions_); + xMax_.resize(numDimensions_); + + dqDerr_.resize(numDimensions_); + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + dqDerr_[iDimension] = 1.e-6; + } + + if ( useVariableEpsilon0_ ) { + if ( epsilon0s_.size() != numDimensions_ ) { + std::cerr << ":" + << "Mismatch in dimensionality between integrand = " << numDimensions_ + << " and Configuration Parameter 'epsilon0' = " << epsilon0s_.size() << " --> ABORTING !!\n"; + assert(0); + } + } else { + epsilon0s_.resize(numDimensions_); + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + epsilon0s_[iDimension] = epsilon0_; + } + } + + p_.resize(2*numDimensions_); // first N entries = "significant" components, last N entries = "dummy" components + q_.resize(numDimensions_); // "potential energy" E(q) depends in the first N "significant" components only + gradE_.resize(numDimensions_); + prob_ = 0.; + + u_.resize(2*numDimensions_); // first N entries = "significant" components, last N entries = "dummy" components + pProposal_.resize(numDimensions_); + qProposal_.resize(numDimensions_); + + probSum_.resize(numChains_*numBatches_); + for ( vdouble::iterator probSum_i = probSum_.begin(); + probSum_i != probSum_.end(); ++probSum_i ) { + (*probSum_i) = 0.; + } + integral_.resize(numChains_*numBatches_); +} + +void SVfitStandaloneMarkovChainIntegrator::setStartPosition_and_MomentumFinder(const ROOT::Math::Functor& startPosition_and_MomentumFinder) +{ + startPosition_and_MomentumFinder_ = &startPosition_and_MomentumFinder; +} + +void SVfitStandaloneMarkovChainIntegrator::registerCallBackFunction(const ROOT::Math::Functor& function) +{ + callBackFunctions_.push_back(&function); +} + +void SVfitStandaloneMarkovChainIntegrator::integrate(const std::vector& xMin, const std::vector& xMax, + double& integral, double& integralErr, int& errorFlag) +{ + if ( verbose_ >= 2 ) { + std::cout << ":" << std::endl; + std::cout << " numDimensions = " << numDimensions_ << std::endl; + } + + if ( !integrand_ ) { + std::cerr << ":" + << "No integrand function has been set yet --> ABORTING !!\n"; + assert(0); + } + + if ( !(xMin.size() == numDimensions_ && xMax.size() == numDimensions_) ) { + std::cerr << ":" + << "Mismatch in dimensionality between integrand = " << numDimensions_ + << " and integration limits = " << xMin.size() << "/" << xMax.size() << " --> ABORTING !!\n"; + assert(0); + } + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + xMin_[iDimension] = xMin[iDimension]; + xMax_[iDimension] = xMax[iDimension]; + if ( verbose_ >= 2 ) { + std::cout << "dimension #" << iDimension << ": min = " << xMin_[iDimension] << ", max = " << xMax_[iDimension] << std::endl; + } + } + +//--- CV: set random number generator used to initialize starting-position +// for each integration, in order to make integration results independent of processing history + rnd_.SetSeed(12345); + + numMoves_accepted_ = 0; + numMoves_rejected_ = 0; + + unsigned k = numChains_*numBatches_; + unsigned m = numIterSampling_/numBatches_; + + numChainsRun_ = 0; + + for ( unsigned iChain = 0; iChain < numChains_; ++iChain ) { + bool isValidStartPos = false; + if ( initMode_ == kNone ) { + prob_ = evalProb(q_); + if ( prob_ > 0. ) { + bool isWithinBounds = true; + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + double q_i = q_[iDimension]; + if ( !(q_i > 0. && q_i < 1.) ) isWithinBounds = false; + } + if ( isWithinBounds ) { + isValidStartPos = true; + } else { + if ( verbose_ >= 1 ) { + std::cerr << ":" + << "Warning: Requested start-position = " << format_vdouble(q_) << " not within interval ]0..1[ --> searching for valid alternative !!\n"; + } + } + } else { + if ( verbose_ >= 1 ) { + std::cerr << ":" + << "Warning: Requested start-position = " << format_vdouble(q_) << " returned probability zero --> searching for valid alternative !!"; + } + } + } + unsigned iTry = 0; + while ( !isValidStartPos && iTry < maxCallsStartingPos_ ) { + initializeStartPosition_and_Momentum(); +//--- CV: check if start-position is within "valid" (physically allowed) region + bool isWithinPhysicalRegion = true; + if ( startPosition_and_MomentumFinder_ ) { + updateX(q_); + isWithinPhysicalRegion = ((*startPosition_and_MomentumFinder_)(x_) > 0.5); + } + if ( isWithinPhysicalRegion ) { + prob_ = evalProb(q_); + if ( prob_ > 0. ) { + isValidStartPos = true; + } else { + if ( iTry > 0 && (iTry % 100000) == 0 ) { + if ( iTry == 100000 ) std::cout << ":" << std::endl; + std::cout << "try #" << iTry << ": did not find valid start-position yet." << std::endl; + //std::cout << "(q = " << format_vdouble(q_) << ", prob = " << prob_ << ")" << std::endl; + } + } + } + ++iTry; + } + if ( !isValidStartPos ) continue; + + for ( unsigned iMove = 0; iMove < numIterBurnin_; ++iMove ) { +//--- propose Markov Chain transition to new, randomly chosen, point + + //if ( verbose_ >= 2 ) std::cout << "burn-in move #" << iMove << ":" << std::endl; + + bool isAccepted = false; + bool isValid = true; + do { + makeStochasticMove(iMove, isAccepted, isValid); + } while ( !isValid ); + } + + unsigned idxBatch = iChain*numBatches_; + + for ( unsigned iMove = 0; iMove < numIterSampling_; ++iMove ) { +//--- propose Markov Chain transition to new, randomly chosen, point; +// evaluate "call-back" functions at this point + + //if ( verbose_ >= 2 ) std::cout << "sampling move #" << iMove << ":" << std::endl; + + bool isAccepted = false; + bool isValid = true; + do { + makeStochasticMove(numIterBurnin_ + iMove, isAccepted, isValid); + } while ( !isValid ); + if ( isAccepted ) { + ++numMoves_accepted_; + } else { + ++numMoves_rejected_; + } + + updateX(q_); + for ( std::vector::const_iterator callBackFunction = callBackFunctions_.begin(); + callBackFunction != callBackFunctions_.end(); ++callBackFunction ) { + (**callBackFunction)(x_); + } + + if ( iMove > 0 && (iMove % m) == 0 ) ++idxBatch; + probSum_[idxBatch] += prob_; + } + + ++numChainsRun_; + } + + for ( unsigned idxBatch = 0; idxBatch < probSum_.size(); ++idxBatch ) { + integral_[idxBatch] = probSum_[idxBatch]/m; + } + +//--- compute integral value and uncertainty +// (eqs. (6.39) and (6.40) in [1]) + integral = 0.; + for ( unsigned i = 0; i < k; ++i ) { + integral += integral_[i]; + } + integral /= k; + + integralErr = 0.; + for ( unsigned i = 0; i < k; ++i ) { + integralErr += square(integral_[i] - integral); + } + if ( k >= 2 ) integralErr /= (k*(k - 1)); + integralErr = TMath::Sqrt(integralErr); + + //if ( verbose_ >= 1 ) std::cout << "--> returning integral = " << integral << " +/- " << integralErr << std::endl; + + errorFlag = ( numChainsRun_ >= 0.5*numChains_ ) ? + 0 : 1; + + ++numIntegrationCalls_; + numMovesTotal_accepted_ += numMoves_accepted_; + numMovesTotal_rejected_ += numMoves_rejected_; +} + +void SVfitStandaloneMarkovChainIntegrator::print(std::ostream& stream) const +{ + stream << ":" << std::endl; + for ( unsigned iChain = 0; iChain < numChains_; ++iChain ) { + double integral = 0.; + for ( unsigned iBatch = 0; iBatch < numBatches_; ++iBatch ) { + double integral_i = integral_[iChain*numBatches_ + iBatch]; + integral += integral_i; + } + integral /= numBatches_; + + double integralErr = 0.; + for ( unsigned iBatch = 0; iBatch < numBatches_; ++iBatch ) { + double integral_i = integral_[iChain*numBatches_ + iBatch]; + integralErr += square(integral_i - integral); + } + if ( numBatches_ >= 2 ) integralErr /= (numBatches_*(numBatches_ - 1)); + integralErr = TMath::Sqrt(integralErr); + + std::cout << " chain #" << iChain << ": integral = " << integral << " +/- " << integralErr << std::endl; + } + std::cout << "moves: accepted = " << numMoves_accepted_ << ", rejected = " << numMoves_rejected_ + << " (fraction = " << (double)numMoves_accepted_/(numMoves_accepted_ + numMoves_rejected_)*100. + << "%)" << std::endl; +} + +// +//------------------------------------------------------------------------------- +// + +void SVfitStandaloneMarkovChainIntegrator::initializeStartPosition_and_Momentum(const std::vector& q) +{ +//--- set start position of Markov Chain in N-dimensional space to given values + if ( q.size() == numDimensions_ ) { + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + double q_i = q[iDimension]; + if ( q_i > 0. && q_i < 1. ) { + q_[iDimension] = q_i; + } else { + std::cerr << ":" + << "Invalid start-position coordinates = " << format_vdouble(q) << " --> ABORTING !!\n"; + assert(0); + } + } + } else { + std::cerr << ":" + << "Mismatch in dimensionality between integrand = " << numDimensions_ + << " and vector of start-position coordinates = " << q.size() << " --> ABORTING !!\n"; + assert(0); + } +} + +void SVfitStandaloneMarkovChainIntegrator::initializeStartPosition_and_Momentum() +{ +//--- randomly choose start position of Markov Chain in N-dimensional space + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + bool isInitialized = false; + while ( !isInitialized ) { + double q0 = 0.; + if ( initMode_ == kGaus ) q0 = rnd_.Gaus(0.5, 0.5); + else q0 = rnd_.Uniform(0., 1.); + if ( q0 > 0. && q0 < 1. ) { + q_[iDimension] = q0; + isInitialized = true; + } + } + } + + if ( verbose_ >= 1 ) { + std::cout << ":" << std::endl; + std::cout << " q = " << format_vdouble(q_) << std::endl; + } +} + +void SVfitStandaloneMarkovChainIntegrator::sampleSphericallyRandom() +{ +//--- compute vector of unit length +// pointing in random direction in N-dimensional space +// +// NOTE: the algorithm implemented in this function +// uses the fact that a N-dimensional Gaussian is spherically symmetric +// (u is uniformly distributed over the surface of an N-dimensional hypersphere) +// + double uMag2 = 0.; + for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { + double u_i = rnd_.Gaus(0., 1.); + u_[iDimension] = u_i; + uMag2 += (u_i*u_i); + } + double uMag = TMath::Sqrt(uMag2); + for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { + u_[iDimension] /= uMag; + } +} + +void SVfitStandaloneMarkovChainIntegrator::makeStochasticMove(unsigned idxMove, bool& isAccepted, bool& isValid) +{ +//--- perform "stochastic" move +// (eq. 24 in [2]) + + //if ( verbose_ >= 2 ) { + // std::cout << ":" << std::endl; + // std::cout << " idx = " << idxMove << std::endl; + // std::cout << " q = " << format_vdouble(q_) << std::endl; + // std::cout << " prob = " << prob_ << std::endl; + //} + +//--- perform random updates of momentum components + if ( idxMove < numIterSimAnnealingPhase1_ ) { + for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { + p_[iDimension] = sqrtT0_*rnd_.Gaus(0., 1.); + } + } else if ( idxMove < numIterSimAnnealingPhase1plus2_ ) { + double pMag2 = 0.; + for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { + double p_i = p_[iDimension]; + pMag2 += p_i*p_i; + } + double pMag = TMath::Sqrt(pMag2); + sampleSphericallyRandom(); + for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { + p_[iDimension] = alpha_*pMag*u_[iDimension] + (1. - alpha2_)*rnd_.Gaus(0., 1.); + } + } else { + //std::cout << "case 3" << std::endl; + for ( unsigned iDimension = 0; iDimension < 2*numDimensions_; ++iDimension ) { + p_[iDimension] = rnd_.Gaus(0., 1.); + } + } + + //if ( verbose_ >= 2 ) { + // std::cout << "p(updated) = " << format_vdouble(p_) << std::endl; + //} + +//--- choose random step size + double exp_nu_times_C = 0.; + do { + double C = rnd_.BreitWigner(0., 1.); + exp_nu_times_C = TMath::Exp(nu_*C); + } while ( TMath::IsNaN(exp_nu_times_C) || !TMath::Finite(exp_nu_times_C) || exp_nu_times_C > 1.e+6 ); + vdouble epsilon(numDimensions_); + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + epsilon[iDimension] = epsilon0s_[iDimension]*exp_nu_times_C; + } + + //if ( verbose_ >= 2 ) std::cout << "epsilon = " << format_vdouble(epsilon) << std::endl; + + if ( moveMode_ == kMetropolis ) { // Metropolis algorithm: move according to eq. (27) in [2] +//--- update position components +// by single step of chosen size in direction of the momentum components + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + qProposal_[iDimension] = q_[iDimension] + epsilon[iDimension]*p_[iDimension]; + } + } else assert(0); + + //if ( verbose_ >= 2 ) std::cout << "q(proposed) = " << format_vdouble(qProposal_) << std::endl; + +//--- ensure that proposed new point is within integration region +// (take integration region to be "cyclic") + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + double q_i = qProposal_[iDimension]; + q_i = q_i - TMath::Floor(q_i); + assert(q_i >= 0. && q_i <= 1.); + qProposal_[iDimension] = q_i; + } + +//--- check if proposed move of Markov Chain to new position is accepted or not: +// compute change in phase-space volume for "dummy" momentum components +// (eqs. 25 in [2]) + double probProposal = evalProb(qProposal_); + + //if ( verbose_ >= 2 ) std::cout << "prob(proposed) = " << probProposal << std::endl; + + double deltaE = 0.; + if ( probProposal > 0. && prob_ > 0. ) deltaE = -TMath::Log(probProposal/prob_); + else if ( probProposal > 0. ) deltaE = -std::numeric_limits::max(); + else if ( prob_ > 0. ) deltaE = +std::numeric_limits::max(); + else assert(0); + + double pAccept = 0.; + if ( moveMode_ == kMetropolis ) { // Metropolis algorithm: move according to eq. (13) in [2] + + //if ( verbose_ >= 2 ) std::cout << " deltaE = " << deltaE << std::endl; + + pAccept = TMath::Exp(-deltaE); + } else assert(0); + + //if ( verbose_ >= 2 ) std::cout << "p(accept) = " << pAccept << std::endl; + + double u = rnd_.Uniform(0., 1.); + + //if ( verbose_ >= 2 ) std::cout << "u = " << u << std::endl; + + if ( u < pAccept ) { + //if ( verbose_ >= 2 ) std::cout << "move accepted." << std::endl; + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + q_[iDimension] = qProposal_[iDimension]; + } + prob_ = evalProb(q_); + isAccepted = true; + } else { + //if ( verbose_ >= 2 ) std::cout << "move rejected." << std::endl; + isAccepted = false; + } +} + +void SVfitStandaloneMarkovChainIntegrator::updateX(const std::vector& q) +{ + //std::cout << ":" << std::endl; + //std::cout << " q = " << format_vdouble(q) << std::endl; + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + double q_i = q[iDimension]; + x_[iDimension] = (1. - q_i)*xMin_[iDimension] + q_i*xMax_[iDimension]; + //std::cout << " x[" << iDimension << "] = " << x_[iDimension] << " "; + //std::cout << "(xMin[" << iDimension << "] = " << xMin_[iDimension] << "," + // << " xMax[" << iDimension << "] = " << xMax_[iDimension] << ")"; + //std::cout << std::endl; + } +} + +double SVfitStandaloneMarkovChainIntegrator::evalProb(const std::vector& q) +{ + updateX(q); + double prob = (*integrand_)(x_); + return prob; +} + +double SVfitStandaloneMarkovChainIntegrator::evalE(const std::vector& q) +{ + double prob = evalProb(q); + double E = -TMath::Log(prob); + return E; +} + +double SVfitStandaloneMarkovChainIntegrator::evalK(const std::vector& p, unsigned idxFirst, unsigned idxLast) +{ +//--- compute "kinetic energy" +// (of either the "significant" or "dummy" momentum components) + assert(idxLast <= p.size()); + double K = 0.; + for ( unsigned iDimension = idxFirst; iDimension < idxLast; ++iDimension ) { + double p_i = p[iDimension]; + K += (p_i*p_i); + } + K *= 0.5; + return K; +} + +void SVfitStandaloneMarkovChainIntegrator::updateGradE(std::vector& q) +{ +//--- numerically compute gradient of "potential energy" E = -log(P(q)) at point q + //if ( verbose_ >= 1 ) { + // std::cout << ":" << std::endl; + // std::cout << " q(1) = " << format_vdouble(q) << std::endl; + //} + + double prob_q = evalProb(q); + //if ( verbose_ >= 1 ) std::cout << " prob(q) = " << prob_q << std::endl; + + for ( unsigned iDimension = 0; iDimension < numDimensions_; ++iDimension ) { + double q_i = q[iDimension]; + double dqDerr_i = dqDerr_[iDimension]; + double dq = ( (q_i + dqDerr_i) < 1. ) ? +dqDerr_i : -dqDerr_i; + double q_plus_dq = q_i + dq; + q[iDimension] = q_plus_dq; + double prob_q_plus_dq = evalProb(q); + double gradE_i = -(prob_q_plus_dq - prob_q)/dq; + if ( prob_q > 0. ) gradE_i /= prob_q; + gradE_[iDimension] = gradE_i; + q[iDimension] = q_i; + } + + //if ( verbose_ >= 1 ) { + // std::cout << " q(2) = " << format_vdouble(q) << std::endl; + // std::cout << "--> gradE = " << format_vdouble(gradE_) << std::endl; + //} +} + diff --git a/TauAnalysis/SVfitStandalone/src/classes.h b/TauAnalysis/SVfitStandalone/src/classes.h new file mode 100644 index 000000000000..9794698b3915 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/src/classes.h @@ -0,0 +1,5 @@ +#include "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneAlgorithm.h" +#include "TauAnalysis/SVfitStandalone/interface/SVfitStandaloneLikelihood.h" + +SVfitStandaloneAlgorithm svFitStandaloneAlgorithm_(const std::vector& measuredTauLeptons, double measuredMETx, double measuredMETy, const TMatrixD& covMET, unsigned int verbose = 0); +svFitStandalone::MeasuredTauLepton measuredTauLepton_(svFitStandalone::kDecayType type, double pt, double eta, double phi, double mass, int decayMode = -1); diff --git a/TauAnalysis/SVfitStandalone/src/classes_def.xml b/TauAnalysis/SVfitStandalone/src/classes_def.xml new file mode 100644 index 000000000000..8577527c4a37 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/src/classes_def.xml @@ -0,0 +1,4 @@ + + + + diff --git a/TauAnalysis/SVfitStandalone/src/svFitStandaloneAuxFunctions.cc b/TauAnalysis/SVfitStandalone/src/svFitStandaloneAuxFunctions.cc new file mode 100644 index 000000000000..14eb3359cef4 --- /dev/null +++ b/TauAnalysis/SVfitStandalone/src/svFitStandaloneAuxFunctions.cc @@ -0,0 +1,203 @@ +#include "TauAnalysis/SVfitStandalone/interface/svFitStandaloneAuxFunctions.h" + +#include +#include + +namespace svFitStandalone +{ + //----------------------------------------------------------------------------- + + double roundToNdigits(double x, int n) + { + double tmp = TMath::Power(10., n); + if ( x != 0. ) { + tmp /= TMath::Power(10., TMath::Floor(TMath::Log10(TMath::Abs(x)))); + } + double x_rounded = TMath::Nint(x*tmp)/tmp; + //std::cout << ": x = " << x << ", x_rounded = " << x_rounded << std::endl; + return x_rounded; + } + + // Adapted for our vector types from TVector3 class + Vector rotateUz(const ROOT::Math::DisplacementVector3D >& toRotate, const Vector& newUzVector) + { + // NB: newUzVector must be a unit vector ! + Double_t u1 = newUzVector.X(); + Double_t u2 = newUzVector.Y(); + Double_t u3 = newUzVector.Z(); + Double_t up = u1*u1 + u2*u2; + + Double_t fX = toRotate.X(); + Double_t fY = toRotate.Y(); + Double_t fZ = toRotate.Z(); + + if ( up > 0. ) { + up = TMath::Sqrt(up); + Double_t px = fX; + Double_t py = fY; + Double_t pz = fZ; + fX = (u1*u3*px - u2*py + u1*up*pz)/up; + fY = (u2*u3*px + u1*py + u2*up*pz)/up; + fZ = (u3*u3*px - px + u3*up*pz)/up; + } else if ( u3 < 0. ) { + fX = -fX; + fZ = -fZ; + } else {}; // phi = 0, theta = pi + + return Vector(fX, fY, fZ); + } + + LorentzVector boostToCOM(const LorentzVector& comSystem, const LorentzVector& p4ToBoost) { + Vector boost = comSystem.BoostToCM(); + return ROOT::Math::VectorUtil::boost(p4ToBoost, boost); + } + + LorentzVector boostToLab(const LorentzVector& rfSystem, const LorentzVector& p4ToBoost) { + Vector boost = rfSystem.BoostToCM(); + return ROOT::Math::VectorUtil::boost(p4ToBoost, -boost); + } + + double gjAngleLabFrameFromX(double x, double visMass, double invisMass, double pVis_lab, double enVis_lab, double motherMass, bool& isValidSolution) + { + // CV: the expression for the Gottfried-Jackson angle as function of X = Etau/Evis + // was obtained by solving equation (1) of AN-2010/256: + // http://cms.cern.ch/iCMS/jsp/openfile.jsp?tp=draft&files=AN2010_256_v2.pdf + // for cosThetaGJ + // (generalized to the case of non-zero mass of the neutrino system in leptonic tau decays, using Mathematica) + + double x2 = x*x; + double visMass2 = visMass*visMass; + double invisMass2 = invisMass*invisMass; + double pVis2_lab = pVis_lab*pVis_lab; + double enVis2_lab = enVis_lab*enVis_lab; + double motherMass2 = motherMass*motherMass; + double term1 = enVis2_lab - motherMass2*x2; + double term2 = 2.*TMath::Sqrt(pVis2_lab*enVis2_lab*enVis2_lab*term1); + double term3 = ((visMass2 - invisMass2) + motherMass2)*pVis_lab*x*TMath::Sqrt(term1); + double term4 = 2.*pVis2_lab*term1; + double cosGjAngle_lab1 = (term2 - term3)/term4; + double cosGjAngle_lab2 = -(term2 + term3)/term4; + double gjAngle = 0.; + if ( TMath::Abs(cosGjAngle_lab1) <= 1. && TMath::Abs(cosGjAngle_lab2) > 1. ) { + gjAngle = TMath::ACos(cosGjAngle_lab1); + } else if ( TMath::Abs(cosGjAngle_lab1) > 1. && TMath::Abs(cosGjAngle_lab2) <= 1. ) { + gjAngle = TMath::ACos(cosGjAngle_lab2); + } else if ( TMath::Abs(cosGjAngle_lab1) <= 1. && TMath::Abs(cosGjAngle_lab2) <= 1. ) { + isValidSolution = false; + } else { + isValidSolution = false; + } + + return gjAngle; + } + + double pVisRestFrame(double visMass, double invisMass, double motherMass) + { + double motherMass2 = motherMass*motherMass; + double pVis = TMath::Sqrt((motherMass2 - square(visMass + invisMass)) + *(motherMass2 - square(visMass - invisMass)))/(2.*motherMass); + return pVis; + } + + Vector motherDirection(const Vector& pVisLabFrame, double angleVisLabFrame, double phiLab) + { + // The direction is defined using polar coordinates in a system where the visible energy + // defines the Z axis. + ROOT::Math::DisplacementVector3D > motherDirectionVisibleSystem(1.0, angleVisLabFrame, phiLab); + + // Rotate into the LAB coordinate system + return rotateUz(motherDirectionVisibleSystem, pVisLabFrame.Unit()); + } + + LorentzVector motherP4(const Vector& motherP3_unit, double motherP_lab, double motherEn_lab) + { + LorentzVector motherP4_lab = LorentzVector(motherP_lab*motherP3_unit.x(), motherP_lab*motherP3_unit.y(), motherP_lab*motherP3_unit.z(), motherEn_lab); + return motherP4_lab; + } + + //----------------------------------------------------------------------------- + double getMeanOfBinsAboveThreshold(const TH1* histogram, double threshold, int verbosity) + { + double mean = 0.; + double normalization = 0.; + int numBins = histogram->GetNbinsX(); + for ( int iBin = 1; iBin <= numBins; ++iBin ) { + double binCenter = histogram->GetBinCenter(iBin); + double binContent = histogram->GetBinContent(iBin); + if ( binContent >= threshold ) { + if ( verbosity ) std::cout << " adding binContent = " << binContent << " @ binCenter = " << binCenter << std::endl; + mean += (binCenter*binContent); + normalization += binContent; + } + } + if ( normalization > 0. ) mean /= normalization; + if ( verbosity ) std::cout << "--> mean = " << mean << std::endl; + return mean; + } + + void extractHistogramProperties(const TH1* histogram, const TH1* histogram_density, + double& xMaximum, double& xMaximum_interpol, + double& xMean, + double& xQuantile016, double& xQuantile050, double& xQuantile084, + double& xMean3sigmaWithinMax, double& xMean5sigmaWithinMax, + int verbosity) + { + // compute median, -1 sigma and +1 sigma limits on reconstructed mass + if ( verbosity ) std::cout << ":" << std::endl; + + if ( histogram->Integral() > 0. ) { + Double_t q[3]; + Double_t probSum[3]; + probSum[0] = 0.16; + probSum[1] = 0.50; + probSum[2] = 0.84; + (const_cast(histogram))->GetQuantiles(3, q, probSum); + xQuantile016 = q[0]; + xQuantile050 = q[1]; + xQuantile084 = q[2]; + } else { + xQuantile016 = 0.; + xQuantile050 = 0.; + xQuantile084 = 0.; + } + + xMean = histogram->GetMean(); + + if ( histogram_density->Integral() > 0. ) { + int binMaximum = histogram_density->GetMaximumBin(); + xMaximum = histogram_density->GetBinCenter(binMaximum); + double yMaximum = histogram_density->GetBinContent(binMaximum); + double yMaximumErr = ( histogram->GetBinContent(binMaximum) > 0. ) ? + (yMaximum*histogram->GetBinError(binMaximum)/histogram->GetBinContent(binMaximum)) : 0.; + if ( verbosity ) std::cout << "yMaximum = " << yMaximum << " +/- " << yMaximumErr << " @ xMaximum = " << xMaximum << std::endl; + if ( binMaximum > 1 && binMaximum < histogram_density->GetNbinsX() ) { + int binLeft = binMaximum - 1; + double xLeft = histogram_density->GetBinCenter(binLeft); + double yLeft = histogram_density->GetBinContent(binLeft); + + int binRight = binMaximum + 1; + double xRight = histogram_density->GetBinCenter(binRight); + double yRight = histogram_density->GetBinContent(binRight); + + double xMinus = xLeft - xMaximum; + double yMinus = yLeft - yMaximum; + double xPlus = xRight - xMaximum; + double yPlus = yRight - yMaximum; + + xMaximum_interpol = xMaximum + 0.5*(yPlus*square(xMinus) - yMinus*square(xPlus))/(yPlus*xMinus - yMinus*xPlus); + } else { + xMaximum_interpol = xMaximum; + } + if ( verbosity ) std::cout << "computing xMean3sigmaWithinMax:" << std::endl; + xMean3sigmaWithinMax = getMeanOfBinsAboveThreshold(histogram_density, yMaximum - 3.*yMaximumErr, verbosity); + if ( verbosity ) std::cout << "computing xMean5sigmaWithinMax:" << std::endl; + xMean5sigmaWithinMax = getMeanOfBinsAboveThreshold(histogram_density, yMaximum - 5.*yMaximumErr, verbosity); + } else { + xMaximum = 0.; + xMaximum_interpol = 0.; + xMean3sigmaWithinMax = 0.; + xMean5sigmaWithinMax = 0.; + } + } + //----------------------------------------------------------------------------- +}